Ethernetアプリケーションに適したマイクロコントローラーとは何ですか?


47

イーサネットアプリケーションを行うための優れたマイクロコントローラーとは何ですか?または、イーサネットMAC / PHYに接続するために適切なイーサネットライブラリのみが必要ですか?


どのソリューションを使用したか、およびそれを使用した経験を教えてください。
thom_nic

1
現在、PIC18F97J60シリーズとPIC32とENCxxxを使用しています。正常に動作します。最大の落とし穴は、SSLv3.0までしか持っていないことです。FirefoxとChromeはこれを落としました。Microchipは、FTP、TFTP、SNTP、SNMPなど、私が使用する他の多くのプロトコルをサポートしています。
ロバート

聞いて良かった-また、SSLの制限も知っておくと良いのですが、「堅牢な」TLS実装はすべて、一般的にフリーではないようです。共有してくれてありがとう!
thom_nic

回答:


29

イーサネットを内蔵したMicrochipのPIC18はこれに優れており、マグジャック(または磁気を内蔵した他のコネクタ)を追加してTCP / IPスタックをダウンロードするだけです。あなたはすぐに物事をpingするでしょう。さらに、PIC24とPIC32には、提供するSPIイーサネットMAC / PHYパーツ(ENC624J600またはENC628J60)のいずれかで動作するように設計されたTCP / IPスタックもあります。

STは最近、ARM CortexベースのSTM32ラインを強化してオンチップイーサネットを追加しましたが、外部PHYとマグネティックスが必要になります。既にPIC32を見ている場合、これはオプションです。


16
Microchipネットワークスタックで問題が発生したため、PIC Development Toolsリリースのembedinc.com/pic/dload.htmにあるソースコードを使用して、独自に作成し、無料で利用できるようにしました。PIC開発環境の概念(無料)を採用する必要がありますが、とにかくそれは良い考えです。インストール後、SOURCE> PICディレクトリで名前に「net」が含まれるファイルを探します。
オリンラスロップ

20

TCP / IPスタックについては、次の3つのプロジェクトを確認する必要があります。

Contikiは、メモリ効率の高いネットワーク化された組み込みシステムおよびワイヤレスセンサーネットワーク向けの、オープンソースで移植性の高いマルチタスクオペレーティングシステムです。Contikiは、道路トンネルの火災監視、侵入検知、バルト海の水監視、監視ネットワークなど、さまざまなプロジェクトで使用されています。

Contikiは、少量のメモリを備えたマイクロコントローラ用に設計されています。典型的なContiki構成は、2キロバイトのRAMと40キロバイトのROMです。

オープンソースのuIP TCP / IPスタックは、相互運用性とRFC標準への準拠を維持しながら、小型の組み込み8ビットマイクロコントローラへのTCP / IP接続を提供します。


17

通常、イーサネットはマイクロコントローラーに組み込まれていません。最初に、イーサネット信号をマイクロコントローラーで読み取られる信号に変換できるジャックが必要です(これは一般に「マグネティックス」と呼ばれます)。次に、TCP / IPスタックが必要になり、その上にDHCP、DNS、および使用する他のプロトコルが必要になります。したがって、実際に使用するマイクロコントローラーはそれほど重要ではありません。Linuxを実行しているARMのような非常に強力なものを取得する場合、そのための開発は非常に簡単で、Linuxを実行しているデスクトップPCで実行するネットワークアプリケーションを作成するのとほとんど同じです。または、AVRやPICのように強力で安価なものを使用することもできます。

ソフトウェアでTCP / IPスタック全体を実装する場合、イーサネットとTCP / IPは非常に複雑になる可能性があります。一般的な解決策の1つは、WiznetのW5100チップのようなものを使用することです。これは、低レベルのTCP / IPをすべて処理します。イーサネットコネクタと、WIZ812MJモジュールが20ドル前後の非常に安価なものをすべて含む既製のモジュールで購入できます。SPIのみを使用して通信できるため、マイクロコントローラーのI / Oピンをあまり必要としません。

Lantronixは、さらに使いやすいように見えるいくつかのより強力なモジュールも提供しますが、それらはもう少し高価です(モデルによって50〜100ドル)。たとえば、XPortを参照してください。


1
私は聞いたことがないので、「マグネティックス」という用語の評判の良い参考文献を見たいです
アンドリュー

@Andrew私はそれを持っている技術的な辞書を知らない。グーグルでさまざまな参照を見つけます。それは私がそれが言及したのを見ただけです。基本的にそれらのポイントは、イーサネット経由で接続されている他のデバイスから回路を分離することです。MIDIが光学的分離を使用する方法に似ています。
davr

「イーサネットマグネティックス」よりも「イーサネットアイソレータ」の方が50万件以上の結果が得られますが、今の意味を理解しています。
アンドリュー

容量結合に関するこのHack A Dayの投稿では、用語の起源と使用についての議論があります。
アンドリュー

イーサネットトランシーバーのデータシート(MicrochipのLAN8720A)を見ていましたが、そのセクションはさまざまに「Mag」および「Transformer」と呼ばれています。
ダン・エリス

11

ARMは当時のマイクロコントローラーであり、NXPはそれらを幅広く提供しています。このWebページには、この日付(2011-07-13)でここにすべてを記載するには文字通り多すぎるイーサネットコントローラーがリストされています。

17 ARM7デバイス
2 ARM9デバイス
16 Cortex-M3デバイス

編集
私はARMの利点の議論をこの答えに移しました。


アームラインにはどのような利点がありますか。私はより多くの詳細を必要とする他の多くの答えを見ます、重要な部分は、コントローラのラインへの単なるリンク以上のラインの理由を与えることです。このフィードバックをお送りするのは、ユーザーが多すぎるため、可能な限り最高の回答を提供できないからです!
-Kortuk

6
@Kortuk-ああ、それは素晴らしい!彼らに多くの答えが欲しいだけでなく、今では彼らも最高でなければなりません!;-)
stevenvh

6

XMOS XC-2キットには、それを行うための興味深い方法です。PHY以外のすべてはソフトウェアで行われます。ソフトウェアは、7.50ドルのXS1-L1チップで実行する必要があります。


XMOS製品に興味を持っている人。その開発キットを手に入れるのに抵抗するために、私は本当に一生懸命努力しなければなりません。RTOSが利用可能かどうか知っていますか?
デイブ

ハードウェアスレッドのため、RTOSは実際には必要ありません。つまり、1人または2人が1つに取り組んでいます。
レオン・ヘラー

XMOSは、2つのイーサネットジャックを備えたバージョンも作成します。これはビットLEDサインを対象としていますが、なぜ他のことができないのかわかりません。独自のルーターを転がす!xmos.com/products/development-kits/xc-3-led-tile-kit
コナーウルフ

5

Microchipには、組み込みのイーサネット機能を備えたPicマイクロコントローラが多数ありますここにリストがあります。また、イーサネットとその製品の設計ソリューションに関する一連のページもあります。ここには、完全なTCP / IPスタックの詳細(MACおよびPHYが統合されています)も含まれています。

お役に立てれば。


4

多くのTI Luminaryマイクロコントローラー(ARM Cortex-M3)には、イーサネットMACが搭載されています。外部のクリスタルとイーサネットPHY(コネクタ+磁気)が必要です。

GCCおよびopenOCD(JTAGフラッシュ/デバッグ)はそれらを十分にサポートしており、数量的にもかなり安価です。

安価なハードウェア開発キットもあります...

http://uk.farnell.com/luminary-micro/ekt-lm3s811/kit-eval-lm3s811-code-red/dp/1712254


4

Netduino plusは、イーサネットアプリケーションに適した60ドルのマイクロコントローラーです。また、必要に応じてほとんどのArduinoシールドを受け入れることができます。


4

どれだけ簡単に人生をやりたいかに応じて、ケーブルを接続して信号調整を処理するために、MBEDを使用し、マグジャックとイーサネットブレイクアウトボード(sparkfunを参照)を購入することをお勧めします。サポートモデルは、mbed NXP LPC1768です。

スタンディングスタートから約2時間で、mbedがリモートサーバーに(つまり、インターネット経由で)データを送信することに成功しました。


4

それはあなたがそれで何をしたいかに依存します。注目すべき主なことは、RAMの量(個々のメッセージサイズを制限できる)と、Webページを提供する場合に使用可能なストレージの量です。Arduino Duemilanova http://www.arduino.cc/を使用します -ATMega328マイクロコントローラー、2KバイトRAM。大容量のストレージが必要な場合は、SDカードを接続できます。イーサネットシールドは、最大4つの同時セッションをサポートします。複雑なページを提供できるとは思わないが、パチュベ、ツイッターなどにうまくアップロードできる

より強力なソリューションについては、Marvell Plugをご覧ください


3

マイクロチップはこの組み合わせに対してTCP / IPスタックを提供し、これを実装するためにgoogleを通じて十分な情報があるはずなので、ENC28J60とpic 18マイクロコントローラーのいずれかを使用することをお勧めします。


3

良い解決策についてはtuxgraphicsをチェックしてください


4
Microchip MAC / PHYでAVR microを使用していますか?次は何ですか?一緒に住んでいる猫と犬?:)
ロバート

私はこれらのいずれかを持っています-それはうまく機能します。すべての表面実装部品が事前にはんだ付けされたキットとして提供されます。uIPソースとイーサネットドライバーが付属しています。
トビージャフィー

3

ENC28J60およびATMEL Cipsを使用する多くのプロジェクトがあります。それらのほとんどは十分に文書化されており、CまたはBASCOMを使用しています。最初から完全なキットを購入することもできます。私は自分でそのようなキットを所有しており、フォーラムからプログラミングについて多くを学びました。


3

なのでは、オープンソースおよび出荷のみ£22 / $ 40です。pachube経由で家庭用エネルギー/環境モニタリング用に2つ購入しました。

サイトから30秒のピッチ:

Nanodeは、組み込みのWeb接続を備えたオープンソースのArduinoのようなボードです。さまざまな無線、有線、およびイーサネットインターフェイスに接続します。Webベースのセンサーおよび制御システムを開発できます。6つのアナログセンサーラインと6つのデジタルI / OラインにWebアクセスできます。自分で簡単にビルドできるキットです。Nanodeは、ハッキングを念頭に置いて設計されました。


3

picdem.net 2開発カードを使用してマイクロチップスタックを試しましたが、まったく満足していませんでした。最適化も文書化もされていません。

現在、市場で最も優れたソリューションは、多くの時間を節約し、より効率的なイーサネットベースのTCP / IPハードウェアチップを搭載したWiznetです。

このリンクは利用可能なすべてのソリューションを提供し、それらを比較します:

http://retired.beyondlogic.org/etherip/ip.htm


なんて素晴らしい概要だ。
アモス

1
また、Microchipネットワークスタックで悪い経験もしたので、自分で書きました。[url] embedinc.com/pic/dload.htm[/url]のPIC開発ツールリリースに含まれています。PIC 18で動作し、外部ENC28J60または内部MAC / PHYを駆動でき、十分にコメントされており、簡単に構成でき、フットプリントが小さいように設計されています。
オリンラスロップ

3

私はここでパーティーに遅れましたが、TI Stellaris EK-LM3S6965をお勧めします。これは、PHYを含むイーサネットコントローラーが組み込まれたARM Cortex M3パーツです。プロトタイプの作成には、イーサネットジャック、小型OLEDディスプレイ(デバッグおよびベアボーンUIに最適)、SDカードスロット、スピーカー、ボタン、LED、マイクロの周辺機器に配線するためのブレークアウトを備えた評価キットを使用しました。アプリケーションについて説明していませんでした(つまり、何万もの何かや1回限りの趣味のプロジェクトを作成しようとしています)が、価格は妥当です(開発ボードで70ドル、チップだけで少量で12-15ドル)独自のファームウェアを実行する場合、またはFreeRTOSを実行できる場合は、開発ライブラリのOKセットが付属します(FreeRTOS(ボードリビジョンとFreeRTOSディストリビューションのものとの間にマイナーなハードウェアリビジョンが必要なため、移植が少し必要です)およびeLua)。TCP / IPにはuIPまたはlwIPを使用できます。

AVR / ArduinoやPICなどの人気のホビーリスト製品と比較して、Cortex M3は32ビットパーツであり、50MHzで動作します。6965は多くのI / O機能を備えています。非常に小さくて安価なものから抜け出すことができる多くの機能。ただし、開発側ではかなり生であり、Cを知っている必要があります(eLuaを実行しない限り)。私は貿易でソフトウェア開発者であり、MacでARM開発を行っているので、怖い/不便なツールチェーンのセットアップを恐れず、デバッグにMake + arm-eabi-gcc + OpenOCDを使用しましたが、Windowsの場合はおそらくCode Composer Studioバンドルがいいでしょう。TIのCode Composer IDEを楽しいMSP430実験プロジェクトに使用しましたが、OSX / ARMセットアップよりも簡単で、ワークフローも簡単でした。

完全な開示、私は実際にイーサネットコントローラーを使用するこのチップの周りにPCBを設計していませんが、イーサネットを使用せず、それで良い経験をしたボードを作成し、使用してイーサネット対応プロジェクトを構築しました評価ボード。

評価ボード/ツールのバンドルはこちらからご覧ください

2013年9月更新

これらの部品は、新しい設計には推奨されないようです。明らかな代替品はないようです。

2013年11月更新

現在、TM4C129XNCZADがあります。これは、上記のパーツの名目上の代替品です。ピンとの互換性はありませんが、オンボードのMAC + PHYを備えています


2

この質問が100%ではないかもしれませんが、プロダクションの実行がかなり小さいプロジェクトでは、ラズベリーパイのような事前に構築されたボードを埋め込む人がいます。これには多くの利点があります。

  1. 価格は、イーサネットを備えたハイエンドCPUの1つ以上であり(少なくとも少量の場合)、設計/テスト/立ち上げの問題の負荷をすべてスキップします。
  2. ラズベリーPIはすでにCE / EMCでテストされているため、不確実性の負荷を完全に排除します(そうでなければ、イーサネットと高速クロックが多数のEMC問題を引き起こす可能性があります)。それでも最終製品をテストする必要がありますが、少なくとも実際には障害を引き起こしてはならない領域全体があります。
  3. Linuxなどを使用すると、より多くのうなりと適切なサーバーグレードのTCP / IPスタックが得られます。これらの「1つのアクティブな接続のみ許可」タイプのものはありません。

私が言うように、それはすべての人のためではありませんが、いくつかのプロジェクトにとってはぴっ​​たりです。

使用される正確なボードに関して、いくつかのオプションがあります。

  1. ラズベリーPI
  2. ビーグルボーンブラック -オンボードフラッシュを搭載
  3. 拡張ボードを備えたSTM32F4DISCOVERY

2

Wiznet W5500組み込みMAC + PHYコントローラを備えたほぼすべての MCUを使用できます。これはSPIによって駆動されます。利点は、ネットワークスタック、Tx / Rxバッファが組み込まれていること、MCUピンが最小限で済み、プログラミングが簡素化されていることです。

私はちょうど別の興味深いオプションを発見した- AX88796Cを ASIXから、それはまた、両方持っているMAC + PHY、10 \ 100Mbpsイーサネットは、および40MHzのSPIインタフェースオプションまで、そのための素敵なフィット感になります任意の MCUベースのARMを。

更新: Netduino 3はすでにこのチップを使用しています。興味深い詳細を次に示します。

http://forums.netduino.com/index.php?/topic/12117-deep-dive-on-asix-ax88796c-netduino-3-ethernets-fancy-new-networking-chip/


1

ファームウェアの使用経験がある場合は、STM32F4DIS-EXTボードとともにSTM32F4Discoveryボードをお勧めします。最近、これを使用してデバイスの構成Webページを作成しましたが、これはかなり簡単でした。オンラインで利用可能なlwIPサンプルプロジェクトがあり、「makefsdata」をグーグルで検索すると、独自のHTMLファイルに必要なファイルを生成する方法に関する多くの情報が見つかります。さらに情報が必要な場合は私にメッセージを送ってください。


1

その目的のために、(25 EUR)Openpicus FlyportProイーサネットモジュールが好きです。磁気を備えたイーサネットジャックを追加し、TCP / IPスタックを使用してファームウェアを作成するだけです。TLS実装もあります:

http://blog.openpicus.com/2014/12/idepro-2-9-0-bye-ssl-welcome-tls.html

「クラシックな」Flyportイーサネットを使用してプロジェクトを行いましたが、これまでのところ非常に安定しています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.