Go Down

Topic: programmare il 644 ... ma come???? (Read 25 times) previous topic - next topic

Michele Menniti

no, però ieri sera quando l'ho dovuta spegnere per andare via me la sono abbracciata e sbaciucchiata, prossimo appuntamento d'amore domani pomeriggio  :*
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

superzaffo

Ma.. alla fine, dalle prove fatte, quale è il modo migliore per programmare il 644/1284 via seriale ?
Con tutte ste prove che avete fatto mi sono un po' perso  :D  :*
Naturalmente aspettando Astro...

leo72

Riassumo brevemente, anche alla luce di quanto affermato ultimamente nella sezione internazionale.

Il problema di questi chip sembra che risieda nella vicinanza del pin RX0 al pin XTAL1 del chip. Il pin XTAL1 è quello più importante dei 2 a cui si collega il quarzo. Stranamente, rispetto ad esempio all'Atmega328, la coppia di pin XTAL1/2 è stata invertita, così che XTAL1 sia accanto al pin RX0. Se ci fosse stato il pin XTAL2 ci sarebbero stati meno problemi. Un altro problema deriva dai fuse. Impostando il fuse basso per un clock esterno in realtà si abilita il micro ad attendersi un segnale di clock sul pin XTAL1, con tensioni e corrente interne basse, passibili di interferenze esterne. Usare quindi il valore $FF non è una buona idea. In diversi hanno suggerito l'uso del fuse $F7, che abilita il micro ad usare un cristallo esterno ("full swing"), gestito tramite dei segnali con più corrente in modo che siano un po' più insensibili ai disturbi arrecati dal flusso di dati che può transitare sul pin RX0.
In diversi hanno detto che usando questo valore per il fuse hanno risolto i problemi di programmazione usando l'Optiboot 4.5 modificato da maniacbug. In diversi concordano poi che la breadboard non è la soluzione migliore per eseguire questo genere di test per via della capacità parassita delle sue piste. In diversi hanno poi suggerito di evitare di far passare i segnali sui 2 pin XTAL1 e RX0 molto vicini, su un PCB, e di usare un piano di massa intorno ai pin del cristallo..
Io tutte queste prove non posso farle, non producendomi i PCB in casa.

Questa la teoria... adesso la mia pratica.
Io senza la R sulla linea RX0 non riesco a programmare il chip, anche usando il valore $F7 per il fuse basso. Ed usando il bootloader standard, quello a 57K, perché con l'Optiboot e la sola R non riesco, devo usare l'accoppiata R+C.

Insomma, un gran casino.

superzaffo

Azz.. quindi per fare dei veri test, si dovrebbe fare un pcb specifico prestando molta attenzione a interferenze e spurie varie.
Ma la configurazione (usb-serial converter-R-C) migliore, per te, qualè ?

leo72

Io non ho molta scelta, ho usato solo l'Atmega8U2 della UNO.
Quindi non faccio casistica  :smiley-sweat:

Go Up