Wiznet W5100対Microchip ENCx24J600


8

Wiznet W5100またはMicrochip EncX24J600を使用する長所と短所は何ですか?

説明するのは少し複雑です。

私の質問は、チップ上のマイクロチップTCPスタックとWiznet TCP / IPコアのパフォーマンスについてです。費用($$)についても。

例:Wiznetを使用すると、マイクロコントローラーの処理が少なくなり、マイクロコントローラーが他のタスクを実行できるようになります。しかし、これはあなたが作業しているレイヤーに依存すると思います。

Microchip TCPスタックでは、制御できる周辺機器に制限があるかもしれません。たぶん、2番目のマイクロコントローラーを使用する必要があります。

だから、私はあなたが最良の選択で私を助けるためにあなたのために今よりよく説明したことを望みます。


私はこのようなことをするための解決策を研究する準備ができていました。尋ねていただきありがとうございます。
Kortuk、

1
ENCX24J600の特別な理由はありますか?ENC28J60ははるかに人気があります。
ケビンフェルメール

1
@reemrevnivek 100 Mbpsで通信する必要があります。
Daniel Grillo

1
W5100は、非常に非効率的なプロトコルで、単方向速度リンクにリンクされています(すべてのデータバイトiircで16ビットアドレスを送信します)。したがって、有効な半二重最大速度として(SPIリンク)/ 3のようになります。以下の私の完全な回答も参照してください
マルコファン

回答:


3

W5100のチップにはTCP / IPコアが搭載されています。Microchip ENCデバイスを使用する場合、ユーザーは、それに接続されているMCUにTCP / IPスタック自体を実装する必要があります。Microchipから無料のTCP / IPスタックを入手できるため、これは適切なPICを使用すると非常に簡単です。

W5100には、事実上すべてのMCUで使用できるという利点がありますが、ENCチップを使用する場合、TCP / IPスタックを実行するにはかなり強力なデバイスが必要です。

もちろん、もう1つのオプションは、組み込みのMACおよびPHYを備えたMCUを使用することです。マイクロチップは素晴らしいものをいくつか作り、それらを備えたARMバリアントもあります。


それが私の知識の範囲です。
Kortuk

2

私が働いている会社はPIC18F97J60を使用しています。これは、ENC24J60によく似たMACおよびPHYを内蔵した8ビットマイクロプロセッサです。PICマイクロプロセッサの使用を計画している場合は、Microchip TCP / IPスタックを使用できます。このスタックは、アプリケーション層までのすべてを提供します。Microchip以外のプロセッサを使用している場合は、ENC24J60ドライバしか使用できないと思います。つまり、Wiznetはトランスポート層をMACとPHYだけでなくハードウェアに統合しているように見えます。ただし、Telnet、FTP、HTTPなどのアプリケーション層の実装は開発者に任されています。


注意すべき点の1つは、PIC18F97J60は100回のフラッシュ書き込みサイクルに対してのみ保証されているように見えるため、開発の問題になる可能性があります。ww1.microchip.com/downloads/en/DeviceDoc/39762e.pdf(429ページ)
Toby Jaffey

書き込みサイクルの最小数は100です。標準は1kです。問題は一度もありません。
mjh2007

その数値は全温度範囲にわたる可能性が高いため、通常の温度での耐久性が問題になることはほとんどありません。
mikeselectricstuff 2010


1

古いことは知っていますが、昨年dspを使用してこれを実行したことがあるので、他の人の利益のために要約します。

最初に、私はW5100を使用しませんが、その兄弟であるW5500は基本的にリビジョンであり、SPIをはるかによく利用しています。特にUDPのみにしたい場合は、DMAのあるパーツに切り替えることも検討します。

どちらの場合も、おそらくMicrochip MLA TCP / IPスタックを使用します。Wiznetは、このためのパッチを提供しています。

残念ながら、すべてのMicrochip TCP / IPスタックバリアントは、SPIを介した通信をブロックしているようです(DMAなし、拡張バッファーモードなし)。私はそれをUDPのみに削減しようとし、マイクロチップ部分全体をクリップしました(wiznetの基になるドライバーを直接使用し、その過程でそれを書き直しました)。

MJHにも同意します。DMAが有効なPIC18F97J60は、ENCを備えた安価なPICよりも優れた選択肢です(数値が実際に高い場合を除く)。しかし、TCP / IPがJ60の利点を実際に利用していないことには、少しがっかりしました。最小公分母に。

イーサネット部分の代わりにIP部分を使用する利点は、ソケットを特定のポートに制限できることであり、SPIリンクを介して無関係なトラフィックを転送する必要がありません。W5500のソケットごとに4KBがあり、バッファの使用率を最大にするために、受信と送信に別々のソケットを使用しています。

現在のUDPスタックはwiznet割り込みにのみ反応し、必要のないペイロードデータをダウンロードしません。私はそれをUDP、パケットベース(ストリームなし)で使用し、送信にはポートでブロードキャストを使用します(ARPの目的でMACデータをキャッシュする必要を回避するためですが、振り返ってみると、最適な最適化ではない可能性があります)。

60MIPS dspiceでは、往復(小さなパケットを受信し、小さなパケットで応答する)に約100〜120usかかります。そのうち約10〜12usは、3つの異なるチャンク(受信前(3〜5us)、受信後および送信前)のCPU時間です。 (5-7 usに依存します)とpost send(2us)。2kbごとに、約40usのウォールタイムと5usのCPU時間であるメンテナンスを行う必要があります。

短いコマンドは、拡張バッファを使用して行われます。DMAを使用してより長く実行されます(dspiceでは、DMAはバイト間で2ビットの時間を必要とします(または16ビットモードのワードが必要ですが、拡張バッファーは必要ありません)。

スイートは(まだ)開いていませんが、sbにポインターが必要な場合はコメントで返信してください。来年にはスタックをpic32(mk)に移植する予定です。

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