産業向けIoTのためのMCUとEtherCATの推進
Electronic Products の提供
2015-08-26
世界中の工場や処理プラントには何百万もの制御ノードとプロセスノードがあるため、産業制御の自動化はモノのインターネット(IoT)の次なる未開拓分野であり、32ビットMCUは重要な役割を果たすことになります。
産業向けモノのインターネット(IIoT)を作り出すための製造ノードの接続には、主にEthernetが使用されています。 Ethernetテクノロジを採用することにより、製造現場をエンタープライズにシームレスに統合できるため、製造現場は変化するビジネス条件に迅速に対応できるだけではなく、メンテナンスと診断の一本化や、ファクトリオートメーション全般の大幅な改善が可能です。
ただし、標準Ethernetは、最も重要なファクトリオートメーション要件を満たしていません。それには2つの理由があります。
- MACレイヤがリアルタイム低遅延データ転送をサポートしていない。 標準EthernetはIT向けであり、個々のノードがネットワークを制御し、比較的大容量のデータパケットを伝送します。 産業分野でよく見られる制御ネットワークは、比較的小容量の制御またはステータスデータの決定的な転送を必要とします。
- 星型のスイッチベースのトポロジが、製造プラントや処理プラントで見られるネットワークとは非常に異なる。
これらの問題を解決するため、2,600社以上の企業がEtherCAT(Ethernet for Control Automation Technology)を承認しています。EtherCATは、従来のEthernetにリアルタイム機能やその他の機能が加えられたものであり、Ethernetの仕様に完全に準拠すると同時に、Ethernetが非常に効率的なオートメーションネットワークテクノロジとして機能する構成を実装します。 この標準は、標準化団体である国際電気標準会議(IEC)に属するEtherCAT Technology Groupによって管理されています。
EtherCATを導入すると、標準的なPCがEtherCATマスタの役割を果たし、EtherCATスレーブと通信できます。 これらを組み合わせて使用することにより、オートメーションコントローラ、オペレータインターフェース、リモート入力/出力ユニット、センサ、アクチュエータ、ドライブなどの工場ネットワークのすべてのデバイスを接続できます。
産業向けEthernetソリューションを稼働させるには、ハードリアルタイム性能をサポートしている必要があり、これはEtherCATに専用のハードウェアインターフェースが必要であることを意味します。 しかし、市場の他のソリューションとは異なり、EtherCATはスレーブノードでのみハードウェアを必要とします。 マスタには専用のハードウェアが不要で、全体的な性能にソフトウェアスタックの遅延の影響が及ばなくなるため、最適で予測可能なネットワークパフォーマンスが実現します。 スレーブ側にのみハードウェアを設置することで、コストの削減にもつながります。
EtherCATスレーブノードを設計するためのハードウェア戦略は多々あります。 現在では標準として公認されているEtherCATを開発したドイツのBeckhoff Automation社は、その最初のEtherCATスレーブコントローラ(ESC)としてFPGAを使用しました。 それに代わるものにASICがあり、多くのEtherCATデバイスベンダが構成可能なEtherCAT IPコアをAlteraおよびXilinx FPGAに使用しています。
ただし、全体的なシステム計画にMCUが含まれる場合、EtherCATスレーブコントローラインターフェースをサポートするMCUを使用することによって、部品表コストを削減し、設計時間を短縮できます。 これは、ワイヤレス接続が必要である、または理想的とされるIIoTアプリケーションの場合には特に有効です。
Texas InstrumentsのCortex-A8ベースのSitara™ MCUは、EtherCATをオンチップでサポートしています。 Infineon、Renesas、Microchip Technology、Freescale、Atmelなどの他の企業も、オンチップで統合されているEtherCATソリューションや、アプリケーションがワイヤレスリンクを必要とする場合に単純なFPGAまたはASICベースのスレーブコントローラと32ビットMCUおよびRFチップを組み合わせたEtherCATソリューションを提供しています。
EtherCATの基礎
EtherCATは、「オンザフライ」処理と呼ばれる技術を実装します。この技術では、EtherCATネットワークの各ノードがフレームデータの通過中にフレームデータを読み取ります。 フレームはEtherCATマスタで生成され、EtherCATマスタはスレーブにコマンドとデータを送信します。 マスタに送信されたデータは、スレーブによってフレームの通過中にフレームに書き込まれます。 これにより、マスタと個々のスレーブの間におけるサイズの小さいフレームのポイントツーポイント交換が排除され、通信効率が大幅に向上します。
オンザフライ処理を行うには、通過中のフレームへの読み書きを可能にするために、スレーブに2つのEthernetポートが必要です。 したがって、スレーブデバイスはそれに特化したハードウェアを必要とします。 しかし、この構成によって、EtherCATを実行している100Mbit/秒のネットワークで使用できる帯域幅は90%を超えます(マスタが各スレーブノードと個別に通信するネットワークでは5%未満)。
EtherCATは、EtherCATテレグラムをEthernetフレームでカプセル化することによって、標準Ethernetとの互換性を維持しています。 Ethernetフレームは、ヘッダでEtherCATタイプを使用します。また、インターネットプロトコルとの一貫性を確保するために、EthernetフレームにIP/UDPヘッダを含めることができます。 IPヘッダが使用される場合は、すべてのネットワークルータにわたってEtherCATプロトコルを使用することもできます。
EtherCATテレグラムには、EtherCATスレーブにアドレス指定されているEtherCATデータグラムが1つ以上含まれています。 それぞれのEtherCATデータグラムは、ヘッダ、データ、およびワーキングカウンタで構成されるコマンドです。 ヘッダとデータは、スレーブが実行する必要のあるオペレーションを指定するために使用され、ワーキングカウンタは、スレーブがコマンドの処理を完了したことをマスタに通知するためにスレーブによって更新されます。
図1は、EthernetとEtherCATテレグラムおよびデータグラムの関係を示しています。

図1: EtherCATテレグラムのカプセル化 (Texas Instruments提供)
トポロジとクロック
EtherCATは、すべてのトポロジ(線型、星型、木型)、および一般的なフィールドバストポロジに対応しています。 すべてのI/OデバイスにEtherCATインターフェースが組み込まれているため、Ethernet切り替え用のハードウェアは不要です。 100mにわたる銅リンクとそれよりも長い光リンクを使用して、広大な地理的領域に散在している数千ものデバイスにEtherCATを展開できます。 短距離の場合(バックプレーンなど)、EtherCATはE-busと呼ばれる差動信号テクノロジを使用します。
EtherCATは、EtherCATパケットがネットワークを移動している間に各スレーブノードで進入または退出した時間のタイムスタンプをサンプリングすることによって、クロック同期を達成します。 マスタは、スレーブによって提供されたタイムスタンプ情報を使用して、個々のスレーブの伝播遅延を計算します。 各スレーブノードのクロックは、この計算に基づいて調整されます。 クロック間の同期は1μs未満で行われています。 クロックが同期されていると、アプリケーションが必要とする測定を、同期されている時間にリンクすることもできます。 これにより、デバイス間の通信におけるジッタに関連する不確実性が排除されます。
EtherCAT実装戦略
前述のとおり、ハードウェアにEtherCATスレーブを実装する方法はいくつかあります。
シンプルなEtherCATアプリケーションの場合、単一のFPGAまたはASICソリューションを使用してデジタルI/Oを作成できます。 このような実装は、ソフトウェアを必要とせず、機能を完全にハードウェアに実装できるコスト重視の簡素なI/Oノードに適しています。
Ethernetスレーブコントローラチップを使用することもできます。ただし、EtherCAT仕様(オンザフライで読み書きするためのデュアルEthernetポートなど)に準拠するように修正されている必要があります。 追加の処理能力が必要な場合は、アプリケーションレベルの処理に対応するために、MCUをESCに接続できます。 たとえば、このソリューションは、MCUがセンサと対話し、デバイスドライバを実装して、EtherCATプロトコルスタックを実行するセンサアプリケーションに適しています。 これは、ワイヤレス通信が採用されている場合にも使用できます。
Microchip Technologyは、EtherCATスレーブコントローラ(ESC)を供給しているMCU企業の1つです。 LAN9252は、デュアル統合型Ethernet PHY、FMMU、4つの同期マネージャ、分散型クロックサポート、4KBのDPRAMを搭載した2/3ポートESCです。 ホストバスインターフェースを統合することもできるため、ほとんどの8/16/32ビット組み込みコントローラとの接続も可能です。 LAN9252を使用して産業用オートメーションアプリケーションを開発する場合は、MCUとしてMicrochipのPIC32MXファミリを使用することが推奨されます。 PIC32MX795F512LTには必要なペリフェラルが搭載されています。 図2は、1つのスレーブノードの詳細を示す、LAN9252を使用するシステムの簡単なブロック図です。

図2: Microchip TechnologyのLAN9252の使用 (Microchip Technology提供)
アプリケーションの開発の最初のステップは、MicrochipのLAN9252ソフトウェア開発キット(SDK)とEtherCATスレーブスタックコード(SSC)の統合です。 MicrochipのEVB-LAN9252-HBI評価ボードでアプリケーションコードを開発するには、どちらも必要です。
SDKは、Microchipのウェブサイトからダウンロードできます。 推奨されるSSCは、EtherCAT仕様を開発したBeckhoff Automationが開発しました。 設計者がBeckhoff SSCを使用するには、EtherCAT Technology Group(ETG)のメンバーである必要があります。 SSCがSDKに統合されると、SDKでアプリケーションコードを開発して、EtherCAT ESCを設計できます。
アプリケーションがIIoTへのワイヤレス接続を必要とする場合、RN171-I/RMなどのMicrochipのRN Wi-Fiモジュールの1つをMCUおよびESCシステムに接続できます。
MCUとESCを組み合わせたアーキテクチャは、FPGAまたはASICの実装よりもコストが高くなりますが、設計者はアプリケーションの要件とコスト目標に適したプロセッサを選択できるという利点があります。
統合ソリューション
EtherCATは、MCUだけではなく、統合CPUを搭載したデバイスにも実装できます。 たとえば、FPGAは統合プロセッサとともに構成でき、ASICはオンチップでEtherCATとプロセッサの両方とともに使用できます。 選択するCPUによっては、コスト目標または動作周波数目標を達成できない場合があります。 一方、MCUの実装には、32ビットCPUを使用してアプリケーションのすべての処理要件を満たすことができるという利点があります。
Texas Instruments Inc.(TI)のSitara AM335x ARM Cortex-A8 MCUの一部にはEtherCATの機能が統合されています。 重要なペリフェラルは、TIのリアルタイムPRUサブシステムです。これは、当初は100Mbit/秒のEthernet MACブロックをPHYチップに接続するために定義されたメディア独立型インターフェース(MII)との超低レベル対話をサポートしています。 図3は、SitaraのEtherCATを簡潔に示すブロック図です。

図3: AM335x ARM MCUに実装されているEtherCATスレーブ (Texas Instruments提供)
MIIとの低レベル対話により、PRUサブシステムはEtherCATをはじめとする通信プロトコルを実行できます。 EtherCAT MACレイヤ全体がファームウェアを介してPRUサブシステムにカプセル化されています。 TIのAM3359BZCZA80は、EtherCATの実装において一般的に使用されているSitara MCUです。
PRUは、EtherCATテレグラムをオンザフライで処理して解析し、アドレスを復号してEtherCATコマンドを実行します。 EtherCATスタック(レイヤ7)と産業アプリケーションが実行されているARMプロセッサで必要な通信には割り込みが使用されています。
また、PRUサブシステムは、フレームを逆方向に転送します。 PRUサブシステムはEtherCATのすべての機能を実装するため、ARMプロセッサを複雑なアプリケーションに使用することも、より速度の遅いプロセッサを分散型I/Oなどのより単純でコストに制約があるアプリケーションに使用することもできます。
AM335x ARM MCUを搭載したEtherCATソリューションを完成させるには、TLK110PTRなどのEthernet PHYデバイスが必要です。 TLK110は、EtherCATの性能にとって重要なMIIインターフェースとPHYインターフェースの間の低レイテンシに対応するように最適化されています。 また、高度なケーブル診断機能が搭載されているため、ケーブルのフォールトをただちに検出できます。 TIは、TMDSICE3359などの評価および開発ボードを提供することによって、EtherCAT開発をサポートしています。
結論
IIoTでは何百万もの産業用ファクトリオートメーションノードがエンタープライズネットワークにリンクされるため、IIoTを展開するには、EtherCATだけではなく、巨大な産業ネットワークの設置基盤と標準Ethernetの間にあるさまざまな不一致を解消するプロトコルが必要です。 2つの最も重要な不一致は、(1)ほとんどの工場ネットワークでハードリアルタイム応答が必要であることと、(2)ファクトリオートメーションのデータペイロードが短いため、標準Ethernetの大きいフレームは産業アプリケーションでは非効率的であることです。 EtherCATのオンザフライ処理スキームは、これらの問題を解決し、スレーブコントローラにおけるプロトコルスタックの遅延を排除します。 EtherCATスレーブハードウェアは、FPGA、ASIC、MCUに組み込まれたEtherCATなど、いくつかの方法で実装できます。 最良の選択は、アプリケーションによって決定されます。
この記事で扱っている部品の詳細については、このページにあるリンクを使用して、DigiKeyウェブサイトの製品ページにアクセスしてください。
免責条項:このウェブサイト上で、さまざまな著者および/またはフォーラム参加者によって表明された意見、信念や視点は、DigiKeyの意見、信念および視点またはDigiKeyの公式な方針を必ずしも反映するものではありません。

