2016 Microchip Technology Inc. DS00001916A_JP - p. 1
概要
Microchip 社の LAN9252 は、2 個の Ethernet PHY を内蔵する 2/3 ポート EtherCAT
®スレーブ コントローラ (ESC) です。
LAN9252 は主に産業用オートメーション ソリューション向けであり、以下の特長を備えています。
• 高性能 100 Mbps Ethernet トランシーバ内蔵
• 3 個の FMMU、4 個の SyncManager、分散クロックをサポート、4KB の DPRAM
• ほとんどの 8/16/32 ビット組み込みコントローラに接続可能な 8/16 ビットのホストバス インターフェイス
• SPI/SQI スレーブ インターフェイス
• 5 種類のインターフェイス設定をサポート
- デジタル I/O (DIGIO)
- HBI
- GPIO 付き SPI
- MII 付き SPI - 3 ポート (MII アップストリーム ) モード
- MII 付き SPI - 3 ポート (MII ダウンストリーム ) モード
• 柔軟なネットワーク構成を可能にする第 3 のポート
• 総合的な電源管理機能
• 少ピン小型パッケージ
本書では、LAN9252 SDK を Beckhoff 社 EtherCAT
®スレーブ スタックコード (SSC) と統合し、EVB-LAN9252-HBI
評価用ボードで使う方法を説明します。SDK と SSC を統合すると、必要に応じてアプリケーション コードを SDK
に追加して
EtherCAT
®スレーブ機器を設計できます。
アプリケーション コードの書き方は本書では説明しません。LAN9252 SDK を利用するには、まず EtherCAT
®テクノ
ロジ グループ (ETG) に加盟して Beckhoff 社の SSC を入手する必要があります。現在の SDK は Microchip 社 PIC32MX
MCU と一緒に使うように設計されています。しかしその他の SOC もサポートできます。
参考資料
• Microchip 社 LAN9252 データシート
• Microchip 社 EVB-LAN9252-HBI 評価用ボード ユーザガイド
• Microchip 社 PIC32MX データシート
• Microchip 社アプリケーション ノート『Microchip LAN9252 EEPROM Configuration and Programming』(AN1920)
AN1916
Microchip 社 LAN9252 SDK と
Beckhoff 社 EtherCAT
®
SSC の統合
Author:
Kansal Mariam Banu Shaick Ibrahim
Microchip Technology Inc.
注意: この日本語版文書は参考資料としてご利用ください。最新情報は必ずオリジ ナルの英語版をご参照願います。
AN1916
システム要件
ハードウェア要件
• Microchip 社 EVB-LAN9252-HBI 評価用ボード
• Microchip 社 PICkit 3 インサーキット デバッガ / プログラマ
• 2GB 以上の RAM を搭載した Windows ホストマシン
ソフトウェア要件
• Microchip 社 MPLAB IDE v2.20 以降
• Microchip 社 MPLAB XC コンパイラ v1.33 以降
• Beckhoff 社 EtherCAT
®スレーブ スタックコード バージョン 5.10
• Microchip 社 LAN9252 SDK の最新バージョン
用語と略語
表
1:
用語と略語
PIC32 SoC ファームウェアのフレームワーク
用語
定義
ESC
EtherCAT
®スレーブ
コントローラ (EtherCAT
®Slave Controller)
ETG
EtherCAT
®テクノロジ グループ (EtherCAT
®Technology Group)
EVB
エンジニアリング検証用ボード
(Engineering Validation Board)
HBI
ホストバス インターフェイス (Host Bus Interface)
IDE
統合開発環境
(Integrated Development Environment)
SDK
ソフトウェア開発キット
(Software Development Kit)
SPI
シリアル
ペリフェラル インターフェイス (Serial Peripheral Interface)
SSC
スレーブ スタックコード (Slave Stack Code)
2016 Microchip Technology Inc. DS00001916A_JP - p. 3
AN1916
SDK のフォルダ構造
本 セ ク シ ョ ン で は
LAN9252 SDK の概要を説明します。
図
2
に 示 す よ う に、メ イ ン フ ォ ル ダ
(LAN9252-
PIC32_SDK_V0.2) は以下のものを収めています。
• ESI Files: このフォルダは評価用ボードがサポートする各種設定の ESI ファイルを収めています。
• SSC: このフォルダは 2 つの MPLABX プロジェクト フォルダ (SPI 用と HBI 用 ) を収めています。
• Microchip_LAN9252_SSC_Config.xml: スレーブ スタックコード ツールの設定ファイルです。EVB-LAN9252-
HBI 評価用ボードがサポートする各種設定 ESI ファイルを生成するために使います。
ESI Files フォルダ
図
3
に示すように、
ESI Files フォルダは LAN9252 EEPROM のプログラミングと EtherCAT
®マスタツール
(TwinCAT 等 )
による
LAN9252の設定のためのEtherCAT
®スレーブ情報ファイルを収めています。
このフォルダにある各
EtherCAT
®スレーブ情報ファイルの各種設定の詳細は、フォルダ内の
ReadMe.txt ファイルを参照してください。
図
2:
LAN9252-PIC32_SDK_V0.2 フォルダの内容
AN1916
SSC フォルダ
図
4
に示すように、
SSC フォルダは以下のファイル / フォルダを収めています。
• Common: HAL 用の C ソースファイルと Beckhoff 社のスレーブ スタックコード用のプレースホルダを納めてい
ます。
• PIC32: HBI 用に設定した PIC32 プロジェクト フォルダです。
• PIC32-SPI: SPI 用に設定した PIC32 プロジェクト フォルダです。
• ReadMe.txt: MPLABX フォルダのフォルダ構造の情報を記載しています。
EtherCAT
®
アプリケーションの作成
インストール
LAN9252 SDK を使うには、まず Beckhoff 社の EtherCAT
®スレーブ スタックコード (SSC) を入手する必要があります。
LAN9252 SDK サンプル プロジェクトを MPLAB に読み込む際に SSC がないと、ソースファイル不足でコンパイル
エラーとなります。これは、SDK が Beckhoff 社の汎用スレーブスタック ソースファイルを使うためです。このため、
Beckhoff 社の SSC と LAN9252 SDK を統合する事が必須です。
本書の例では以下を使います。
• SSC ( バージョン 5.11)
• 設定ファイルバージョン 1.3.0.0
図
4:
SSC フォルダの内容
2016 Microchip Technology Inc. DS00001916A_JP - p. 5
AN1916
3.
ETG ユーザ名とパスワードを入力してダウンロードを続ける。
4.
図
6
に示すように、ベンダー
ID( 求められた場合 ) を入力し、[Submit Registration] ボタンをクリックする。
図
5:
メンバーエリアへのログイン
AN1916
5.
必要事項を入力し、
[I accept] にチェックを入れて [Register] をクリックする。
6.
登録済みメールアドレスにダウンロード
リンクが届く。リンクをクリックして EtherCAT
®スレーブ
スタック
コードをダウンロードする。
図
7:
スレーブ
スタックコードのダウンロード
図
8:
スレーブ
スタックコードのダウンロード
2016 Microchip Technology Inc. DS00001916A_JP - p. 7
AN1916
7.
ダウンロードしたファイル
(SSC_V5i11.zip) は
図
9
に示すフォルダを収めている。
8.
EtherCAT
®スレーブ
スタックコード ツールをインストールする ( 求められた場合既定値を選択する )。インス
トールが完了したら、
図
10
に示すツールがスタートメニューに表示される事を確認する。
図
9:
スレーブ
スタックコードのフォルダ構造
図
10:
スレーブ
スタックコード ツール
AN1916
SSC ツール
1.
図
11
に示すように、スタートメニューから
SSC ツールを起動する。
2.
SSC ツールを起動後、[OK] をクリックしてスレーブスタック ツールの利用条件に同意する。
3.
メニューバーで
[File]、[New] と順にクリックする。
図
11:
SSC ツール
図
12:
SSC の利用条件
図
13:
SSC ツールのメイン画面
2016 Microchip Technology Inc. DS00001916A_JP - p. 9
AN1916
4.
[Import] をクリックして、SSC ツールの設定ファイル「Microchip_PIC32.xml」をフォルダ
({SDK_INSTALL_PATH}/LAN9252-PIC32_SDK_Vx.x/) からインポートする。
5.
ファイルを選択したら、[Open] をクリックし SSC ツール設定ファイルをインポートする。
図
14:
SSC ツールの新規プロジェクト
図
15:
SSC ツールの新規プロジェクトのインポート
AN1916
6.
インポートが完了したら、
[Custom] にチェックを入れ、ドロップダウン ボックスで適切な設定を選択して [OK]
をクリックする。
7.
ポップアップ ウィンドウの [Yes] をクリックする。
8.
別のポップアップ ウィンドウが表示され、「9252_HW.c」を追加するように促すので、[OK] をクリックする。
Note:
EVB の設定とドロップダウン ボックスで選択した設定は一致している事が必要です。
図
16:
SSC ツールの新規プロジェクトの [Custom] ボタン
図
17:
SSC ツールの外部ファイルの確認
図
18:
SSC ツールの外部ファイルの確認
2016 Microchip Technology Inc. DS00001916A_JP - p. 11
AN1916
9.
上記のポップアップ
ウィンドウで [OK] をクリックした後、ファイル選択ダイアログ ボックスから
「
9252_HW.c」ファイルを選択する。このファイルは「{SDK_INSTALL_PATH}/LAN9252-PIC32_SDK_V0.2/
SSC/Common」に格納されている。
図
19:
SSC ツールの 9252_HW.c ファイルの選択
AN1916
10. 9252_HW.c ファイルを追加すると、
図
20
に示すように
SSC ツールのウィンドウが表示される。
11.
図
20
に示すように、左側のウィンドウにはスレーブ
スタックコードを設定できる複数のカテゴリが表示される。
( 設定情報の詳細はツールバーの [Help] ドロップダウン メニューを参照してください。)
12. ツールバーの [Project] のドロップダウン メニューをクリックし、[Create New Slave Files] を選択する。
図
21
に示すポップアップ ウィンドウが表示される。
2016 Microchip Technology Inc. DS00001916A_JP - p. 13
AN1916
13. [Start] ボタンをクリックして新規プロジェクト ファイル、Src フォルダ、esi ファイル ( スレーブ情報ファイル )
を作成する。
14. 各ファイルが正常に作成されるとポップアップ ウィンドウが表示されるので、[OK] をクリックする。
15. 新規ファイルが作成されたフォルダを参照する。
Src( フォルダ ): Beckhoff 社のスレーブ スタックコードを収めたフォルダ
PIC32 EtherCAT Slave (ESP): SSC ツールのプロジェクト ファイル
PIC32 EtherCAT Slave (XML): EtherCAT
®スレーブ情報ファイル
(EtherCAT マスタツールの入力として使い、
EtherCAT
®スレーブ コントローラを設定する。)
図
21:
SSC ツールの [Create New Slave Files] ウィンドウ
AN1916
16. Srcフォルダ内の全ファイルをフォルダ({SDK_INSTALL_PATH}/LAN9252-PIC32_SDK_Vx.x/SSC/Common)
にコピーする。
17. MPLAB X IDE を起動する ( 未インストールの場合、Microchip.com からダウンロードする )。
18. [File] ドロップダウン メニューをクリックし、[Open Project] を選択する。
図
23:
新規スレーブファイル
2016 Microchip Technology Inc. DS00001916A_JP - p. 15
AN1916
19. PIC32 (HBI 用 ) または PIC32-SPI (SPI 用 ) からプロジェクトを選択する。[Open] をクリックする。
20. プロジェクトを読み込むと、
図
26
に示すように
MPLAB X IDE インターフェイスが表示される。以下の C ソース
ファイルに
HAL ヘッダファイル (9252_HW.h) が含まれている事を確認する。
- 9252_HW.c
- ecatappl.c
- acatslv.h
- main.c
図
25:
MPLAB X IDE の [Open Project] ウィンドウ
AN1916
21.
図
27
に示すように、ドロップダウン
リストから設定を選択する。ドロップダウン リストの内容説明は SDK
フォルダ内の
ReadMe.txt ファイルを参照する。
Note:
選択する設定は、
EVB 設定および
図
16
で選択した設定と一致させる必要があります。
22. [Clean and Build Project] ボタン ( ハンマーとブラシのアイコン ) をクリックし、プロジェクトをビルドする。
プロジェクトのビルドに成功すると、
図
28
に示す「
BUILD SUCCESSFUL」というメッセージが表示される。
図
27:
MPLAB X IDE 設定の選択
2016 Microchip Technology Inc. DS00001916A_JP - p. 17
AN1916
23. PICkit 3 デバッガを EVB-LAN9252-HBI 評価用ボードに接続し、[Make and Program Device] ボタン ( 下向きの
矢印が付いた四角い箱のアイコン
) をクリックする。PIC マイクロコントローラがプログラミングされる。
24. スレーブ コントローラの設定を確認するため、EVB-LAN9252-HBI 評価用ボードと PC を接続する。TwinCAT
マスタツールを使うと、
図
30
に示すようにコントローラが
OP 状態である事が分かる。
図
29:
MPLAB X IDE の [Make and Program Device] ボタン
AN1916
補遺 A:
アプリケーション ノートの改訂履歴
表
A-1:
改訂履歴
リビジョンレベル
/ 日付
セクション
/ 図 / 項目
改訂内容
DS00001916A_JP
(2015 年 4 月 10 日 )
本書は初版です。
2016 Microchip Technology Inc. DS00001916A_JP - p. 19 本書に記載されているデバイス アプリケーション等に関する 情報は、ユーザの便宜のためにのみ提供されているものであ り、更新によって無効とされる事があります。お客様のアプ リケーションが仕様を満たす事を保証する責任は、お客様に あります。Microchip 社は、明示的、暗黙的、書面、口頭、法 定のいずれであるかを問わず、本書に記載されている情報に 関して、状態、品質、性能、商品性、特定目的への適合性を は じ め と す る、い か な る 類 の 表 明 も 保 証 も 行 い ま せ ん。 Microchip 社は、本書の情報およびその使用に起因する一切の 責任を否認します。生命維持装置あるいは生命安全用途に Microchip 社の製品を使用する事は全て購入者のリスクとし、 また購入者はこれによって発生したあらゆる損害、クレーム、 訴訟、費用に関して、Microchip 社は擁護され、免責され、損 害を受けない事に同意するものとします。暗黙的あるいは明 示的を問わず、Microchip 社が知的財産権を保有しているライ センスは一切譲渡されません。 商標
Microchip 社の名称とロゴ、Microchip ロゴ、dsPIC、FlashFlex、 KEELOQ、KEELOQロゴ、MPLAB、PIC、PICmicro、PICSTART、 PIC32ロゴ、rfPIC、SST、SST ロゴ、SuperFlash、UNI/O は、米 国およびその他の国におけるMicrochip Technology Incorporated の登録商標です。
FilterLab、Hampshire、HI-TECH C、Linear Active Thermistor、 MTP、SEEVAL、Embedded Control Solutions Company は、 米国におけるMicrochip Technology Incorporated の登録商標 です。
Silicon Storage Technology は、他の国における Microchip Technology Inc. の登録商標です。
Analog-for-the-Digital Age、Application Maestro、BodyCom、 chipKIT、chipKIT ロゴ、CodeGuard、dsPICDEM、dsPICDEM.net、 dsPICworks、dsSPEAK、ECAN、ECONOMONITOR、 FanSense、HI-TIDE、In-Circuit Serial Programming、ICSP、 Mindi、MiWi、MPASM、MPF、MPLAB Certified ロゴ、MPLIB、 MPLINK、mTouch、Omniscient Code Generation、PICC、 PICC-18、PICDEM、PICDEM.net、PICkit、PICtail、REAL ICE、 rfLAB、Select Mode、SQl、Serial Quad I/O、Total Endurance、 TSHARC、UniWinDriver、WiperLock、ZENA および Z-Scale は、米国およびその他のMicrochip Technology Incorporated の商標です。
SQTP は、米国における Microchip Technology Incorporated のサービスマークです。
GestIC および ULPP は、Microchip Technology Inc. の子会社 であるMicrochip Technology Germany II GmbH & Co. & KG 社 の他の国における登録商標です。
その他本書に記載されている商標は各社に帰属します。 © 2016, Microchip Technology Incorporated, All Rights Reserved. ISBN: 978-1-63277-387-6 Microchip 社製デバイスのコード保護機能に関して以下の点にご注意ください。 • Microchip 社製品は、該当する Microchip 社データシートに記載の仕様を満たしています。 • Microchip 社では、通常の条件ならびに仕様に従って使用した場合、Microchip 社製品のセキュリティ レベルは、現在市場に 流通している同種製品の中でも最も高度であると考えています。 • しかし、コード保護機能を解除するための不正かつ違法な方法が存在する事もまた事実です。弊社の理解では、こうした手法 はMicrochip 社データシートにある動作仕様書以外の方法で Microchip 社製品を使用する事になります。このような行為は知 的所有権の侵害に該当する可能性が非常に高いと言えます。 • Microchip 社は、コードの保全性に懸念を抱いているお客様と連携し、対応策に取り組んでいきます。 • Microchip 社を含む全ての半導体メーカーで、自社のコードのセキュリティを完全に保証できる企業はありません。コード保 護機能とは、Microchip 社が製品を「解読不能」として保証するものではありません。 コード保護機能は常に進歩しています。Microchip 社では、常に製品のコード保護機能の改善に取り組んでいます。Microchip 社の コード保護機能の侵害は、デジタル ミレニアム著作権法に違反します。そのような行為によってソフトウェアまたはその他の著作 物に不正なアクセスを受けた場合、デジタル ミレニアム著作権法の定めるところにより損害賠償訴訟を起こす権利があります。
Microchip社では、ChandlerおよびTempe (アリゾナ州)、Gresham (オレゴン州)の本部、設計部およびウェハー製造工場そしてカリ フォルニア州とインドのデザインセンターがISO/TS-16949:
2009認証を取得しています。Microchip社の品質システムプロセス および手順は、PIC® MCUおよびdsPIC® DSC、KEELOQ®コード
ホッピングデバイス、シリアルEEPROM、マイクロペリフェラル、 不揮発性メモリ、アナログ製品に採用されています。さらに、開発 システムの設計と製造に関するMicrochip社の品質システムはISO