次のアプリケーションのためのEthernet対応のMCUの理解と使用
Electronic Products の提供
2014-10-08
MCUは非常に広い範囲のEthernetコネクティビティの選択肢を提供します。 インターネットコネクティビティを要求するほとんどのアプリケーションでは、次のMCUベースの設計がいくつかの種類のネットワーク接続を必要とする可能性の方が高くなります。 次のデザインがEthernetリンクを介してデータを統合し通信する必要のあるセンサ、ネットワーク接続を介して定期的なコード更新を送信する必要があるネットワーク接続された防犯カメラ、または堅牢な産業用Ethernetを使用する必要がある産業用コントローラであるかに係わらず、Ethernet対応MCUの選択は成功する設計に必要な機能を提供する上で重要となります。
ユビキタスなコネクティビティ
Ethernetは、おそらく電信以来、最も成功したユビキタスデータ通信規格です。 これは元の10メガビット/秒の仕様から100ギガビット/秒を超えるまで、何年にもわたって拡張や修正を生き延びてきました。 産業用Ethernetのような強化した信頼性を備えたバージョンが、オーディオやビデオなどのリアルタイムデータを送信するためのより良い同期機能を持つバージョンとともに利用可能となっています。 組み込みシステムがハッカーやウイルスの対象となるに従ってセキュリティを強化したEthernetが急速に成長しています。 それでは、組み込みアプリケーションのために適切なMCUを選択する際に直面する選択肢を理解するのに役立つ、Ethernet対応のMCUのいくつかの例とターゲットアプリケーションを見てみましょう。
安価なEthernetの実装
組み込みシステムにEthernetを追加することは、まだ値段の高いオプションであると考えるかもしれませんが、低コストのMCUでさえもEthernetコネクティビティを利用することができます。 実際には、由緒あるMicrochipのPIC32MX795 MCUがTexas InstrumentsのDP83848 Ethernet PHYと組み合わされることで、主要な部品コストは非常に低くなります(現在のDigiKeyの単価のリンクを使用して)。 PIC32MX795はまた、多くの一般的なEthernet関連の機能を実装するのを簡単にするさまざまな機能を持っています。 特に興味深いのは、DMAコントローラ、割り込みシステム、および低電力モードです。 これらの機能を組み合わせることで、パケットを受信したときに低電力状態からシステムを起動することが可能です(おそらく「マジックパケット」を使用して)。 続いてCPUがデータを処理している間にデータを転送するためにDMAコントローラを使用することができ、必要なCPUの「オンタイム」を最小化します。 これは、意外にも電力効率良く、ネットワーク対応のセンサーや、類似の組込みシステムを実装することを可能にします。
おそらく、MicrochipのPIC32ファミリのEthernetソリューションの最も有用な要素は、組み込み設計のために利用可能な無償ライセンスのスタックです。 MicrochipのEthernetスターターキットボードの隣の図1の右側に示すスタックは、各層がそのすぐ下の1つ以上の層からのサービスにアクセスする複数の層に分割されています。

図1:PIC32 Ethernetスターターキットボードおよび無償ライセンスのTCP/IPスタック (Microchipの提供)
TCP/IP層の多くは、サービスが要求されたときに動作するだけでなく、タイムアウトまたは新たなパケットの到着のようなイベントが発生した場合にという意味で、「ライブ」です。 これは、OSやRTOSを必要としないかもしれないシンプルな組み込みアプリケーションをサポートするのを容易にします。 MicrochipのTCP/IPスタックの主要な機能のいくつかは、次のとおりです。
- サポートするプロトコル:ARP、IP、ICMP、UDP、TCP、DHCP、SNMP、HTTP、FTP、TFTP
- TCPおよびUDP用のソケットサポート
- セキュアソケットレイヤ(SSL)
- NetBIOSネームサービス
- DNS - ドメインネームシステム
- Ethernetデバイスの検出
産業用Ethernetの実装
より頑丈で堅牢なEthernetの実装が必要な場合、産業用EthernetをサポートしているMCUを使用することを検討することも必要です。 いくつかのMCUは、CPUが他のタスクのために利用できるように、Ethernetインターフェイスだけでなく、管理および制御用の専用ハードウェアを提供します。 AM3352BZCZ60などのTexas InstrumentsのSitaraファミリなどのデバイスは、完全なプログラム可能リアルタイムユニットサブシステムおよび産業用通信サブシステム(PRU-ICSS)を備えています。 この専用ハードウェア要素は、デュアル32ビットRISCコア(プログラム可能リアルタイムユニット、またはPRU)、共有データ、命令メモリ、内蔵周辺モジュール、および割り込みコントローラ(INTC)で構成されます。 PRU(図2)のプログラム可能な性質は、ピン、イベントおよびすべてのオンチップリソースへのアクセスとともに、高速リアルタイム応答、特殊なデータ操作、カスタム周辺機器インタフェースの実装での柔軟性、および他のオンチップ処理エレメントからのタスクのオフロードを提供します。

図2:Texas InstrumentsのSitara MCUはプログラム可能リアルタイムユニットサブシステムと産業用通信サブシステム(PRU-ICSS)を特長とします。 (Texas Instrumentsの提供)
PRUは、インターフェース/OCPマスタポートを介して、すべてのオンチップリソースへのアクセスを持ち、外部ホストプロセッサはインターフェース/OCPスレーブポートを介してPRU-ICSSリソースにアクセスすることができます。 32ビットの相互接続バスは、PRU-ICSS内部のリソースに、様々な内部および外部のマスターを接続します。 INTCは、システム入力イベントとポストイベントをデバイスレベルのホストCPUに引き渡します。
PRUコアは小さな決定論的な命令セットを用いてプログラムされます。 各PRUは互いに独立して、または協調して動作することができ、またデバイスレベルのホストCPUと連携して働くことができます。 プロセッサ間のこの相互作用は、PRUの命令メモリにロードされたファームウェアの性質によって決定されます。 産業用Ethernetペリフェラル(IPE)は、次を含む産業用Ethernet機能を管理し、生成するために使用されます。
- 10のキャプチャと8つの比較イベントを備えた1つの産業用Ethernetタイマ
- 2つの産業用Ethernet同期信号
- 2つの産業用Ethernetの16ビットウォッチドッグタイマ
- 産業用EthernetデジタルIO
エネルギー効率の良いEthernet設計
いくつかのMCUは、最小量の消費電力で、最大のデータおよび処理帯域幅を提供するために、低電力および性能効率の組み合わせを提供します。 FreescaleのKinetis MK60DN512には、Ethernetに特別に合わせた低電力モード機能からのウェイクをサポートするための専用のハードウェアが含まれます。 マジックパケットを受信したときに、Ethernetポートは低電力状態の非同期ウェイクアップソースを提供することができます。 図3に示すように、このソースは、各種の通信ペリフェラル、GPIOピン、および内部タイマを使用する際に、設計がエネルギー効率的であることを可能にします。

図3:Kinetis MK60 MCUファミリ用の非同期低電力モードウェイクアップソース (Freescaleの提供)
オンチップのEthernet MACブロックには劇的に転送効率を向上させるいくつかの重要な機能が含まれています。 レシーバ経路上の特別な組み込みFIFOは、データ転送効率を向上させるためにロスレスフロー制御を提供します(例えば、自動化された802.3 x31Aポーズフレーム生成および終了)。 オンチップIEEE 1588タイマはまた、産業用Ethernetのような時間に敏感なEthernetの実装に使用することができます。 ハードウェア加速がネットワークコントローラの性能を最適化するために含まれ、IPおよびTCP、UDP、ICMPプロトコルサービスを提供します。 加速ブロックは、一般的にはかなりのCPU処理のオーバーヘッドで実装される重要な機能をハードウェアで実行します。 IPプロトコルの性能最適化機能のいくつかには次が含まれます。
- TCP/IPおよびUDP/IP上、およびICMP/IPプロトコルデータまたはIPヘッダーでのみの動作
- ワイヤスピードの処理が可能
- IPv4およびIPv6サポート
- 他のタイプとプロトコルのフレームの透過的な引き渡し
- VLANタグと制御フィールドの透過的なフォワーディングを備えたIEEE802.1qに従ったVLANのタグ付きフレーム用のサポート
- 受信時の自動IPヘッダおよびペイロード(プロトコル固有)チェックサム計算と検証
- フレーム単位で設定可能な送信時の自動IPヘッダおよびペイロード(プロトコル固有)チェックサム生成および自動挿入
- すべてのIEEE 1588フレームのサポート
Ethernetに接続されたシステムセキュリティ
組込みEthernetアプリケーションは、データ転送と組込みシステム内に留まっているデータの両方のセキュリティについてますます懸念を持つようになってきています。 米国国土安全保障省は、エネルギーグリッド内の接続された組込みシステムに対する潜在的な攻撃、すなわち、「エネルギッシュベア²」などから、組み込みシステムがどれだけ脆弱になっているかを示しています。 攻撃者は、オペレーティングシステムの最も低いレベルでシステムを「ブート」させるコードをインストールすることにより、組込みシステムを「奪取」することさえできます。 いったんブートコードが危険にさらされると、ハッカーは、秘密情報を抽出するために任意の変更を行うことができ、さらに高価な機器を損傷するためか、最悪の場合には、全体の処理複合体を損傷するためにシステムの制御を奪取します。
一部のMCUとMPUには現在、セキュアデータ伝送、さらにはセキュアブートをサポートするための特別なハードウェアが含まれます。 AtmelのSAMA5D33は、セキュアブートメカニズム、暗号化のためのハードウェア加速エンジン(AES、TDES)、およびハッシュ関数(SHA)を備え、耐クローニング(単純にすべてのチップデータを読み出すことにより、MCUをコピーしたり、リバースエンジニアリングすることができないように)、コード保護、および安全な外部データ転送を確保しています。 SAMA5D3はまた、ブリッジング、ルーティング、および集約をサポートする必要がある組み込みシステムを実装するための、2つの独立したEthernetポート(1つは10/100/1000Mbps用の接続と、もう1つは10/100Mbps用の接続が特長)を持ちます。 ブリッジおよびルータは、ネットワークの多くへのアクセスを提供するので、通常、ネットワーク侵入攻撃の重要な標的であり、それに対してセンサやメータは、一般的にシステムのエンドノードであり、システムの残りの部分へのアクセスが制限されています。 従ってセキュアブートはブリッジやルータのための重要な機能です。SAMA5D3ファミリーでこの機能を持つことは大きな利点です。
まとめ
多くのアプリケーションでEthernetコネクティビティは今では要件であり、MCUベンダは、様々なEthernet対応のMCUで対応しています。 アプリケーションが必要とするEthernetコネクティビティのタイプ(産業用Ethernet、追加のセキュリティ、低電力、あるいは低コストのソリューションを備えたEthernet)に基づき、ターゲットMCUを選択する必要があります。 慎重に見回せば、おそらく、お客様のアプリケーション向けに最適化されたMCUを見つけることができるでしょう。
この記事で扱っている部品の詳細については、このページにあるリンクを使用して、DigiKeyウェブサイトの製品情報ページにアクセスしてください。
リファレンス
- MicrochipのEthernet設計例(1/3)
- ロイターの記事:「米国政府は「エネルギッシュベア」の攻撃の後にネットワークをチェックすることを企業に要求」
免責条項:このウェブサイト上で、さまざまな著者および/またはフォーラム参加者によって表明された意見、信念や視点は、DigiKeyの意見、信念および視点またはDigiKeyの公式な方針を必ずしも反映するものではありません。