Wiznet W5100 vs. Microchip ENCx24J600


8

Apa pro dan kontra menggunakan Wiznet W5100 atau Microchip EncX24J600?

Agak rumit untuk dijelaskan.

Pertanyaan saya adalah tentang kinerja tumpukan Microchip TCP vs Wiznet TCP / IP pada chip. Juga tentang biaya ($$).

Sebagai contoh: Dengan Wiznet, mikrokontroler akan memiliki lebih sedikit pemrosesan, sehingga membebaskan mikrokontroler untuk melakukan tugas-tugas lain. Tapi saya pikir ini akan tergantung pada lapisan mana yang Anda kerjakan.

Dengan Microchip TCP stack mungkin saya memiliki batasan pada periferal yang dapat saya kendalikan. Mungkin saya harus menggunakan mikrokontroler kedua.

Jadi, saya harap saya sudah menjelaskan lebih baik sekarang bagi Anda untuk membantu saya dalam pilihan terbaik.


Saya sedang bersiap-siap untuk mencari solusi untuk melakukan sesuatu seperti ini. Terima kasih telah bertanya.
Kortuk

1
Adakah alasan khusus untuk ENCX24J600? ENC28J60 jauh lebih populer.
Kevin Vermeer

1
@reemrevnivek Saya perlu berkomunikasi dengan kecepatan 100 Mbps.
Daniel Grillo

1
W5100 dihubungkan dengan tautan kecepatan searah, dengan protokol yang sangat tidak efisien (ia mengirimkan alamat 16-bit dengan setiap byte data iirc). Jadi Anda mendapat seperti (tautan SPI) / 3 sebagai kecepatan maksimum setengah dupleks efektif. Lihat juga jawaban lengkap saya di bawah ini
Marco van de Voort

Jawaban:


3

W5100 memiliki inti TCP / IP pada chip. Dengan perangkat Microchip ENC, pengguna harus mengimplementasikan sendiri tumpukan TCP / IP, pada MCU yang terhubung dengannya. Ini cukup mudah dengan PIC yang sesuai, karena tumpukan TCP / IP gratis tersedia dari Microchip.

W5100 memiliki keunggulan yang dapat digunakan dengan hampir semua MCU, tetapi perangkat yang cukup kuat diperlukan untuk menjalankan tumpukan TCP / IP jika chip ENC digunakan.

Tentu saja, opsi lain adalah menggunakan MCU dengan MAC dan PHY bawaan. Microchip membuat beberapa yang bagus, dan ada varian ARM juga.


Itu sejauh pengetahuan saya.
Kortuk

2

Perusahaan tempat saya bekerja menggunakan PIC18F97J60. Ini adalah mikroprosesor 8-bit dengan built-in MAC dan PHY yang sangat mirip dengan ENC24J60. Jika Anda berencana menggunakan mikroprosesor PIC maka Anda dapat menggunakan tumpukan Microchip TCP / IP. Tumpukan ini menyediakan semuanya hingga ke lapisan aplikasi. Jika Anda menggunakan prosesor non-Microchip, saya pikir Anda hanya dapat menggunakan driver ENC24J60. Yang mengatakan sepertinya Wiznet mengintegrasikan lapisan transport ke dalam perangkat keras bukan hanya MAC dan PHY. Namun mereka menyerahkannya kepada pengembang untuk mengimplementasikan lapisan aplikasi seperti Telnet, FTP, dan HTTP.


Satu hal yang perlu diperhatikan, PIC18F97J60 sepertinya hanya dijamin untuk 100 siklus tulis flash, jadi mungkin ada masalah untuk dikembangkan. ww1.microchip.com/downloads/en/DeviceDoc/39762e.pdf (hal 429)
Toby Jaffey

Jumlah minimum siklus tulis adalah 100. Khas adalah 1k. Saya tidak pernah punya masalah.
mjh2007

Angka itu kemungkinan akan berada di seluruh rentang temp, jadi daya tahan pada temps normal tidak akan menjadi masalah.
mikeselectricstuff


1

Saya tahu ini sudah tua, tetapi saya telah melakukan ini dengan dspice tahun lalu, jadi saya akan meringkasnya untuk keuntungan orang lain.

Pertama, saya tidak akan menggunakan W5100, tetapi saudaranya W5500 , yang pada dasarnya adalah revisi, dan menggunakan SPI jauh lebih baik. Saya juga akan mempertimbangkan beralih ke bagian yang memiliki DMA, khususnya jika Anda ingin membuatnya hanya UDP.

Dalam kedua kasus Anda mungkin akan menggunakan tumpukan Microchip MLA TCP / IP, Wiznet menyediakan tambalan untuk ini.

Sayangnya, semua varian Microchip TCP / IP stack tampaknya melakukan pemblokiran komunikasi melalui SPI (tidak ada DMA, tidak ada mode buffer yang ditingkatkan) . Saya mencoba untuk memotongnya menjadi hanya UDP dan memotong seluruh bagian microchip (menggunakan driver yang mendasari wiznet secara langsung dan menulis ulang dalam proses).

Saya juga setuju dengan MJH bahwa DMA yang diaktifkan PIC18F97J60 adalah pilihan yang lebih baik daripada PIC yang lebih murah dengan ENC (kecuali jika Anda angkanya sangat tinggi), tetapi saya agak kecewa bahwa TCP / IP tidak benar-benar memanfaatkan manfaat dari J60, menempel ke penyebut umum terendah.

Keuntungan menggunakan bagian IP daripada bagian ethernet adalah Anda dapat membatasi soket ke port tertentu, dan Anda tidak perlu mentransfer lalu lintas yang tidak terkait melalui tautan SPI Anda. W5500 memiliki 4KB per soket, dan saya menggunakan soket terpisah untuk menerima dan mengirim untuk memaksimalkan pemanfaatan buffer.

Tumpukan UDP saya saat ini hanya bereaksi pada interupsi wiznet, dan tidak mengunduh data payload yang tidak diperlukan. Saya menggunakannya UDP, meskipun berbasis paket (tidak ada aliran), dan menggunakan siaran pada port untuk mengirim (untuk menghindari harus cache data MAC untuk keperluan ARP, meskipun dalam retrospeksi yang mungkin bukan opimization terbaik).

Pada dspice 60MIPS, perjalanan bolak-balik (menerima paket kecil, menjawab dengan paket kecil) memakan waktu sekitar 100-120us, di mana sekitar 10-12us adalah waktu CPU dalam tiga bagian yang berbeda (pra terima (3-5us), pos terima dan kirim (5-7 kita tergantung) dan mengirim kirim (2us) .Setiap 2kb saya harus melakukan pemeliharaan yaitu sekitar 40us waktu dinding dan 5us waktu CPU.

Perintah pendek dilakukan menggunakan buffer yang disempurnakan. Lebih lama dilakukan menggunakan DMA menggunakan (pada dspice, DMA membutuhkan 2 bit waktu antara byte (atau kata-kata dalam mode 16-bit), buffer ditingkatkan tidak).

Suite tidak (belum) terbuka, tetapi jika sb membutuhkan petunjuk, silakan balas dalam komentar. Saya berencana untuk port stack ke pic32 (mk) di tahun mendatang.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.