Koneksi Ethernet dengan Microchip ENC28J60 terintegrasi
Yang terintegrasi ENC28J60 adalah pengontrol Ethernet dengan antarmuka untuk bus SPI. Ini dirancang untuk digunakan dengan sistem kecil, biasanya berbasis mikrokontroler.
Su bus SPI dapat beroperasi hingga 20 MHz dan koneksi Ethernet memiliki kecepatan maksimum 10 Mbit/s (10BASE-T) mode pendukung Dupleks (Dupleks Penuh) dan Semi-dupleks (Setengah Dupleks) dengan deteksi dan koreksi polaritas otomatis. Meskipun 10 Mbit/s mungkin tampak seperti kecepatan rendah dibandingkan dengan jaringan GigaBit Ethernet yang paling umum saat ini, namun lebih dari cukup untuk mengintegrasikan perangkat kecil yang dikontrol mikro ke dalam jaringan, misalnya, untuk menjalankan fungsi seperti objek IoT (Internet Segala, Internet Segala)
Ini beroperasi pada 3,3 V meskipun toleran terhadap sinyal 5 V, membuatnya sangat mudah untuk diintegrasikan dengan mikrokontroler yang berbeda serta bekerja dengannya selama pembuatan prototipe atau pengujian.
Secara internal meliputi a penyangga dapat dikonfigurasi untuk penerimaan/transmisi, a FIFO melingkar untuk penerimaan dan akses memori langsung (DMA) untuk memperlancar pergerakan data. Ia mampu melakukan perangkat keras checksum dan operasi komunikasi umum lainnya Ethernet jadi integrasinya pada tingkat perangkat lunak dalam sebuah proyek sangat sederhana.
Konfigurasi tipikal memerlukan, selain osilator 25 MHz (kristal dengan kapasitor yang sesuai), konektor dan transformator Ethernet, yang sering dikemas bersama dengan komponen lain seperti resistor atau LED untuk melaporkan tautan dan status penerimaan/penerimaan. dalam blok yang berisi konektor RJ45.
Itu hanya diproduksi untuk pemasangan permukaan (SMT/SMD) dalam paket 28-pin SPDIP (DIP dengan kepadatan pin lebih tinggi), SSOP, DETIK y QFN Oleh karena itu, untuk melakukan pengujian atau prototipe, kami biasanya bekerja dengan modul seperti pada gambar sebelumnya, yang juga unit individualnya mudah didapat, dibandingkan dengan modul terintegrasi itu sendiri, yang biasanya tersedia di pasaran dalam jumlah besar.
|
||||||
Vkap | → | 01 | 28 | ← | benar | |
Vs | → | 02 | 27 | → | LPEL | |
KETERANGAN | ← | 03 | 26 | → | LEDB | |
INT | ← | 04 | 25 | ← | Vddosc | |
NC | ← | 05 | 24 | → | OSC2 | |
SO | ← | 06 | 23 | ← | OSC1 | |
SI | → | 07 | 22 | ← | Vssosc | |
SCK | → | 08 | 21 | ← | Vsspll | |
CS | → | 09 | 20 | ← | Vddpll | |
RESET | → | 10 | 19 | ← | Vddrx | |
Vssrx | → | 11 | 18 | ← | Vsstx | |
TPIN- | → | 12 | 17 | → | TPOUT+ | |
TPIN+ | → | 13 | 16 | → | TPOUT- | |
RBIAS | → | 14 | 15 | ← | Vddtx | |
Selain (1) catu daya, setelah unit terintegrasi dipasang, (2) sambungan akan terbuka. Ethernet melalui ujung konektor RJ45 dan untuk bagian mikrokontrol dari rakitan tersebut bus SPI (MOSI/MISO/SCLK/CS) dan (3) dikelola langsung oleh mikrokontroler atau bagian lain dari rakitan elektronik dapat dihubungkan INT, yang dapat digunakan sebagai WOL (Wake-On-LAN) atau bangun jarak jauh melalui jaringan (Remote Wake-up), RESET dan koneksi ke jam eksternal CLKOUT.
Sebagai contoh, untuk membuat koneksi antara suatu modul dengan yang terintegrasi ENC28J60 dan piring Arduino Nilai-nilai dalam tabel berikut harus diikuti tergantung pada jenis pelat.
ENC28J60 | Arduino UNO | Arduino MEGA / AKIBAT | arduino leonardo |
MISO (JADI) | MISO (pin 12) | MISO (pin 50) | MISO (konektor ICSP) |
MOSI (YA) | MOSI (pin 11) | MOSI (pin 51) | MOSI (konektor ICSP) |
SCK | SCK (pin 13) | SCK (pin 52) | SCK (konektor ICSP) |
RESET | RESET | RESET | RESET |
INT | INT0 (pin 2) | INT4 (pin 2) | INT0 (pin 2) |
SS (CS) | SS (pin 10)* | SS (pin 53)* | sematkan 10* |
Vdd (3,3V) | 3V3 | 3V3 | 3V3 |
Vss (GND) | GND | GND | GND |
Secara umum, koneksi adalah koneksi yang diharapkan berdasarkan apa yang telah dikatakan (dan logika) tetapi ada beberapa perbedaan di antara dewan. Dalam kasus arduino leonardo, kecuali pin SS telah disolder secara manual pada papan (biasanya menambahkan pin 22-CTS dan 8-SS) pin 10 digunakan, yang tidak memiliki tugas ini, sehingga perlu dipertimbangkan dalam perangkat lunak kontrol. Di sisi lain, tidak penting menggunakan pin "standar" untuk memilih (mengaktifkan) perangkat budak tetapi sebagian besar perpustakaan Ethernet untuk mengelola perangkat terintegrasi berharap untuk menggunakan pin itu (dan untuk tujuan itu) sehingga mereka akan memilikinya. untuk dimodifikasi jika terjadi sebaliknya dan dalam beberapa kasus (beberapa perpustakaan) ketika papan digunakan Leonardo.
Pertimbangan lain yang harus diperhatikan juga sesuai dengan pelatnya Leonardo dan penggunaan konektor ICSP bukannya yang sesuai (dari blok samping) di piring Arduino UNO
Posting