Połączenie Ethernet ze zintegrowanym Microchipem ENC28J60
Zintegrowany ENC28J60 jest administratorem Ethernet z interfejsem dla Autobus SPI. Przeznaczony jest do stosowania w małych systemach, zwykle opartych na mikrokontrolerach.
Su Autobus SPI może pracować z częstotliwością do 20 MHz, a połączenie Ethernet ma maksymalną prędkość 10 Mbit/s (10BASE-T) tryby pomocnicze Dupleks (pełny dupleks) i półdupleks (półdupleks) z automatycznym wykrywaniem i korekcją polaryzacji. Chociaż 10 Mbit/s może wydawać się niską prędkością w porównaniu do sieci GigaBit Ethernet co jest obecnie najbardziej powszechne, ale w zupełności wystarczy, aby zintegrować małe urządzenie mikrosterowane z siecią, na przykład w celu wykonywania funkcji takich jak obiekt IoT (Internet rzeczy, Internet rzeczy)
Działa przy napięciu 3,3 V, chociaż jest tolerancyjny na sygnały 5 V, dzięki czemu bardzo łatwo można go zintegrować z różnymi mikrokontrolerami, a także pracować z nim podczas prototypowania lub testowania.
Wewnętrznie zawiera: bufor konfigurowalny do odbioru/nadawania, a FIFO okólnik do odbioru i bezpośredni dostęp do pamięci (DMA) w celu usprawnienia przepływu danych. Jest w stanie wykonać sprzęt sumy kontrolne i inne typowe operacje komunikacyjne Ethernet więc jego integracja na poziomie oprogramowania w projekcie jest bardzo prosta.
Typowa konfiguracja wymaga, oprócz oscylatora 25 MHz (kryształu z odpowiednimi kondensatorami), złącza i transformatorów Ethernet, które często są hermetyzowane razem z innymi komponentami, takimi jak rezystory lub diody LED, w celu raportowania stanu połączenia i odbioru/odbioru. w bloku zawierającym złącze RJ45.
Jest produkowany tylko dla montaż powierzchniowy (SMT/SMD) w obudowach 28-pinowych SPDIP (DIP o większej gęstości pinów), SSOP, SEC y QFN Dlatego też do przeprowadzenia testów czy prototypów najczęściej pracujemy z modułami takimi jak te na poprzednim obrazku, z których w dodatku poszczególne jednostki są łatwo dostępne w porównaniu do samego modułu integrowanego, który zazwyczaj jest dostępny na rynku w dużych partiach.
|
||||||
Vcap | → | 01 | 28 | ← | vdd | |
Vss | → | 02 | 27 | → | DAJE | |
WYJŚCIE | ← | 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 | ← | Vddpl | |
RESET | → | 10 | 19 | ← | Vddrx | |
Vssrx | → | 11 | 18 | ← | Vsstx | |
TPIN- | → | 12 | 17 | → | TPOUT+ | |
TPIN+ | → | 13 | 16 | → | TPOUT- | |
RBIAS | → | 14 | 15 | ← | Vddtx | |
Oprócz (1) zasilania, po zamontowaniu zintegrowanej jednostki, (2) odsłonięte zostaną połączenia. Ethernet przez koniec złącza RJ45 oraz dla mikrokontrolowanej części zespołu Autobus SPI (MOSI/MISO/SCLK/CS) i (3) zarządzane bezpośrednio przez mikrokontroler lub można podłączyć inną część zespołu elektronicznego INT, które można wykorzystać jako WOL (Wake-On-LAN) lub zdalne budzenie przez sieć (Remote Wake-up), RESET oraz podłączenie do zewnętrznego zegara CLKOUT.
Przykładowo aby wykonać takie połączenia pomiędzy modułem z integrą ENC28J60 i talerz Arduino Należy kierować się wartościami z poniższej tabeli w zależności od rodzaju płyty.
ENC28J60 | Arduino UNO | Arduino MEGA/DUE | Arduino Leonardo |
MISO (SO) | MISO (pin 12) | MISO (pin 50) | MISO (złącze ICSP) |
MOSI (TAK) | MOSI (pin 11) | MOSI (pin 51) | MOSI (złącze ICSP) |
SCK | SCK (pin 13) | SCK (pin 52) | SCK (złącze ICSP) |
RESET | RESET | RESET | RESET |
INT | INT0 (pin 2) | INT4 (pin 2) | INT0 (pin 2) |
SS (CS) | SS (pin 10)* | SS (pin 53)* | pin 10* |
Vdd (3,3 V) | 3V3 | 3V3 | 3V3 |
VSS (GND) | GND | GND | GND |
Ogólnie rzecz biorąc, połączenia są takie, jakich można by się spodziewać na podstawie tego, co zostało powiedziane (i logiki), ale istnieją pewne różnice między płytami. W przypadku Arduino Leonardo, chyba że pin SS został ręcznie przylutowany na płytce (często dodawane są piny 22-CTS i 8-SS) używany jest pin 10, który nie ma takiego przypisania, dlatego należy go uwzględnić w oprogramowaniu sterującym. Z drugiej strony nie jest konieczne używanie „standardowego” pinu do wybierania (aktywowania) urządzenia podrzędnego, ale większość bibliotek Ethernet do zarządzania zintegrowanym oczekuje użycia tego pinu (i do tego celu), więc będą miały modyfikować w przypadku odwrotnym oraz w niektórych przypadkach (niektóre biblioteki), gdy płyta jest używana Leonardo.
Kolejna kwestia, na którą należy zwrócić uwagę, dotyczy również talerza Leonardo i użycie złącza ICSP zamiast odpowiednich (z bocznych bloków) na płycie Arduino UNO
Zamieść komentarz