Programarea automată a microcontrolerelor avr

În acest capitol vom analiza o caracteristică interesantă a AVR, cum ar fi auto-programarea (disponibilă în multe modele ATtiny și în toate modelele ATmega). Esența este capacitatea de a modifica conținutul memoriei FLASH direct din programul de utilizator. Microcontrolerele Atmel au fost printre primele din lume în care a apărut această inovație. Secțiunea prezintă un exemplu de bootloader folosind interfața hardware USART și un program de control la nivel înalt în Delphi.







Domeniul de aplicare

Care sunt beneficiile auto-programării? La inceput, se pare ca o astfel de oportunitate ofera AVR aceleasi avantaje, de exemplu, orice procesor cu arhitectura Princeton. Aceasta, în primul rând, abilitatea de a modifica algoritmi proprii și, în al doilea rând, capacitatea de a depana aplicația fără a recurge la hardware suplimentar. Dar, în practică, resursele unui microcontroler pe 8 biți nu sunt suficiente pentru a construi sisteme inteligente "de auto-învățare". În ceea ce privește depanarea, chiar structura memoriei FLASH contrazice aici toate avantajele auto-programării (nu există posibilitatea de a plasa codurile de program în memoria SRAM rapidă în AVR). În plus, pentru a rescrie în mișcare, secțiunea codului de lucru, care a fost făcută anterior doar cu ajutorul programatorilor, este o afacere destul de riscantă. Orice inexactitate va duce imediat la eșec. Și chiar prezența nodului hardware responsabil cu schimbarea firmware-ului, poate reduce fiabilitatea dispozitivului. Dacă programul de aplicație poate schimba memoria FLASH, atunci acest lucru se poate întâmpla involuntar ca urmare a unor erori.







Cu toate acestea, în timp, sa dovedit că totul nu este atât de rău. Auto-programarea vă permite să utilizați cu succes memoria FLASH ca alternativă la EEPROM. Capacitatea de lucru a FLASH, produsă de tehnologia modernă, este de 10000 cicluri de ștergere / scriere. Acest indicator, deși cu un ordin de mărime mai mic decât cel al EEPROM, este încă foarte ridicat. Din acest motiv, memoria FLASH poate stoca tabele, liste, factori de corecție, precum și orice alte informații care necesită actualizări periodice și nu prea frecvente.

Dar, probabil, cel mai important avantaj al auto-programării este capacitatea de a crea aproape orice interfață, pentru a actualiza software-ul. Cele mai practice sunt computerul COM și USB. Acestea din urmă pot fi implementate într-o formă simplificată într-un mod programatic. Procesul de programare din partea AVR trebuie să fie controlat de un program de încărcare specială. Multe microcontrolere moderne (precum și noile modele AVR) vin cu un bootloader inițial "cablat" în fabrică, ceea ce face posibilă utilizarea programatorilor foarte simpli, pierzând doar un pic în viteza de programare.







Trimiteți-le prietenilor: