Adăugarea capabilităţii de reţea pentru aplicaţii embedded

by donpedro

Odată cu creşterea puterii microcontrolerelor pe 8-biţi (MCU), integrarea unui pachet TCP/IP embedded devine posibilă. Pachetele TCP/IP au fost disponibile de la producătorii de MCU şi de la furnizorii de unelte de dezvoltare ai acestora. Aceste pachete au fost dezvoltate special pentru microcontrolerele pe 8 biţi, şi dispun de memorie program şi RAM. Datorită optimizărilor, implementarea de MCU pe 8 biţi este destul de eficientă. Figura 1 prezintă o aplicaţie senzorială foarte simplă, în care un MCU pe 8 biţi şi un convertor A/D pe 12 biţi sunt conectaţi la un controler de interfaţă Ethernet 10Base-T, utilizat pentru afişarea informaţiei de la senzor.

Figura 1 Senzor de temperatură cu activare în reţea

O concepţie greşită este aceea că un dispozitiv 10Base-T, plasat într-o reţea cu dispozitive 100Base-T, va coborî performanţele reţelei la 10 Mbit/s. Majoritatea echipamentelor utilizate astăzi sunt switch-uri şi routere care vor converti fluxul de date de 10 Mbit/s al unui canal într-unul de 100Mbit/s sau mai rapid, eliminând în acest fel încetinirea.

Interfaţa Ethernet
Există numeroase interfeţe Ethernet disponibile. Cea mai mare parte dintre ele sunt direcţionate spre magistrale paralele de mare viteză. Aceste dispozitive sunt împovărătoare pentru un MCU pe 8 biţi, deoarece consumă numeroşi pini de I/O şi forţează aplicaţia să utilizeze dispozitive cu număr crescut de pini şi scade performanţa pachetului TCP/IP, pentru că interfaţa este manipulată manual ca printr-un periferic standard al unui MCU pe 8-biţi.
Dispozitivul de interfaţă Ethernet ENC28J60 de la Microchip Technology este selectat ca exemplu de aplicaţie, datorită capsulei mici QFN cu 28 de pini, memoriei RAM integrate de 8 Kbyte şi interfaţă SPI™.

Selectarea Microcontrolerului
Selectarea microcontrolerului este determinată de cerinţe de memorie şi parametrii de periferie. Un pachet tipic TCP/IP utilizează aproximativ 20 Kbyte de memorie program.
Aceasta înseamnă că va fi utilizat un dispozitiv având în jur de 32 Kbyte, permiţând 12 Kbyte pentru aplicaţie. 12 Kbyte este mai mult decât suficient pentru programul aplicaţiei principale, pentru reţeaua senzorială. Un microcontroler precum Microchip PIC18F2523 dispune de un convertor A/D pe 12 biţi cu 10 canale, comparatoare duale analogice, periferice USART şi PWM, SPI, I2C™.

Memoria contează
Una dintre consideraţiile de care trebuie ţinut cont la crearea unui Web server embedded este locul unde vor fi stocate paginile Web. Proiectele foarte simple cu una sau două pagini pot fi stocate în memoria program internă a microcontrolerului. Cel mai des însă, departamentele de marketing vor dori probabil mai mult. Există câteva opţiuni pentru memorie externă, inclusiv EEPROM serial şi Flash serial. Memoria EEPROM serială poate oferi până la 512 Kbit de spaţiu de stocare, în timp ce dispozitivele de memorie Flash oferă până la 32 Mbit.

Protocoalele

Figura 2 Pachet tipic – protocol TCP/IP

Unul dintre paşii importanţi în proiectarea unei aplicaţii embedded TCP/IP, este selectarea protocoalelor de transfer a informaţiei. TCP oferă un protocol robust de comunicare pentru transferul sigur al datelor. El este de asemenea de 3 ori dimensiunea UDP. Dacă aplicaţia va servi pagini Web, atunci este necesar TCP. Oricum, dacă aplicaţia doar va comunica informaţie către un punct de colectare, se poate adăuga un firmware UDP-ului pentru a-l face mai robust şi totuşi de departe mai mic decât TCP.
Alte protocoale importante mai pot fi DHCP pentru configurarea dinamică a adreselor IP, ARP pentru determinarea adreselor şi IP. ICMP poate fi de asemenea util pentru comanda de identificare ping. Aceasta permite aplicaţiei să răspundă la cerinţe de ecou sau de identificare, lucru care ajută la depanarea conexiunii dispozitivului în reţea. Figura 2 prezintă un pachet tipic de protocol pentru TCP/IP.

Crearea de pagini Web
Partea finală a proiectării este crearea paginilor Web. Programele de creare de pagini Web plasează o mulţime de informaţie în paginile web HTML, informaţie care necesită spaţiu. Este cu adevărat necesară utilizarea memoriei seriale EEPROM? Cea mai bună unealtă poate fi Windows Notepad şi o carte bună de HTML.
Desigur că prezentarea grafică consumă multă memorie, dar oferă avantajul unei interfeţe bogate cu utilizatorul. O soluţie inovativă pentru limitarea memoriei necesare este stocarea părţii grafice pe un server din reţea, şi dispunerea de o pagină web care prezintă o referinţă la aceasta.

Capacitate completă de reţea
Atunci când hardware-ul este complet şi paginile Web sunt create, ele pot fi transferate în memorie, iar senzorul poate fi activat. Dacă utilizează un server Web, se va tipări adresa IP în browser, iar acesta va afişa informaţia de la senzor.

Notă: SPI este marcă înregistrată a Motorola. I2C este marcă înregistrată a Philips. Toate celelalte mărci înregistrate amintite mai sus sunt proprietatea companiilor lor.

de Rodger Richey Applications Manager, Departamentul Advanced Microcontroller Architecture
Microchip Technology Incorporated

S-ar putea să vă placă și

Adaugă un comentariu