YO3BN - Atmega1284-PU Notite Rapide


Acasă Articole Proiecte Produse Favorite Despre

Informații rapide despre Atmega1284-PU

Postat la - 17 decembrie 2017

Aceasta nu este un tutorial despre microcontrolere, ci doar o colecție de notițe, sfaturi și referințe rapide ușor de reținut.


Atmega1284-PU vs Atmega1284P-PU

Sunt aproape același microcontroler, singura diferență notabilă între ele fiind semnătura și caracteristica PicoPower în cazul modelului Atmega1284P-PU.

Folosind avrdude versiunea 5.11.1 va eșua programarea lui Atmega1284-PU din cauza nepotrivirii semnăturii:

-------------------------------------------------------------------------------

$ sudo avrdude -c usbtiny -p m1284p -U flash:w:-U flash:w:a.hex:i

avrdude: Dispozitivul AVR a fost inițializat și este gata să accepte instrucțiuni

Reading | ################################################## | 100% 0.01s

avrdude: Semnătura dispozitivului = 0x1e9706
avrdude: Semnătura așteptată pentru ATMEGA1284P este 1E 97 05
Verifică încă o dată cipul sau folosește opțiunea -F pentru a forța această verificare.

avrdude s-a terminat. Mulțumim.

-------------------------------------------------------------------------------

Dacă se întâmplă acest lucru, trebuie să editezi fișierul /etc/avrdude.conf și să schimbi semnătura dispozitivului din 0x1e 0x97 0x05 în 0x1e 0x97 0x06 în secțiunea ATmega1284P sau, mai elegant, să copiezi întreaga secțiune ATmega1284P și să-i modifici titlul, id-ul, descrierea și semnătura corespunzător.

Noul microcontroler adăugat poate fi verificat prin rularea următoarei comenzi:
$ avrdude -c usbtiny -p list

...
m1284 = ATMEGA1284 [/etc/avrdude.conf:4953]
m1284p = ATMEGA1284P [/etc/avrdude.conf:4760]
...


Atmega1284-PU are JTAG activat implicit

JTAG-ul este activat implicit pe acest dispozitiv, astfel că pini PC5:PC2 sunt trași în sus (high). Pentru a dezactiva JTAG, byte-ul high fuse trebuie modificat de la HFUSE = 0x99 la HFUSE = 0xD9, astfel:

$ sudo avrdude -c usbtiny -p m1284 -U hfuse:r:-:h
$ sudo avrdude -c usbtiny -p m1284 -U hfuse:w:0xD9:m


Oscilator extern cu cristal – mod Full Swing

Implicit, este activată divizarea ceasului cu 8 și oscilatorul intern RC de 8 MHz, valoarea default pentru low fuse este 0x62.

Activarea oscilatorului extern cu cristal în mod Full Swing:
$ sudo avrdude -c usbtiny -p m1284 -U lfuse:w:0x67:m

Dezactivarea divizării ceasului:
$ sudo avrdude -c usbtiny -p m1284 -U lfuse:w:0xE7:m

73 de YO3BN


Acasă Articole Proiecte Produse Favorite Despre