Go Down

Topic: Tabella MCU ATMEL - CERCASI CORE per Arduino (Read 11200 times) previous topic - next topic

Michele Menniti

Jan 06, 2012, 11:24 pm Last Edit: Jan 10, 2012, 10:30 pm by menniti Reason: 1
Nell'ambito del progetto a cui sto lavorando, ho avuto necessità di tirare fuori una Tabella comparativa di 8 famiglie di microcontrollori ATMEL, con le caratteristiche salienti.
Chiedo a tutti coloro che si sono cimentati fisicamente o anche solo con datasheet di dare una occhiata seria e darmi eventuali indicazioni di errori commessi o suggerimenti di migliorabilità
Vi chiedo anche di indicarmi eventuali sigle di microcontrollori ATMEL che sapete essere totalmente o parzialmente pin-to-pin compatibili con qualcuno di quelli elencati, in modo da poter arricchire la Tabella.
Naturalmente la Tabella è scaricabile, così avrete sempre a portata di mano un utile riepilogo di modelli e caratteristiche .
Ringrazio tutti sin d'ora.

http://www.michelemenniti.it/vhd/Elettronica/Microcontrollori%20ATMEL.jpg
[EDIT: aggiornata al 10/1 ore 22.30]

EDIT 2: Ho variato il titolo in quanto ora il Topic è diventato anche una richiesta di indicazioni per reperire/testare i core per Arduino, relativamente a queste o ad altre mcu compatibili.
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

leo72

Ti parlo per quel che conosco meglio:

AttinyX5: i PWM sono 3+1, nel senso che il micro ha 2 timer per cui le uscite PWM sono 4. Solo che la quarta è l'inverso dell'onda della terza, per cui quelle impostabili singolarmente sono in realtà 3. I canali I/O sono 5+1, perché il pin di reset, se impostato su I/O, ha un'uscita più debole rispetto a quella degli altri pin (tralascio ovviamente la questione dell'impossibilità di riflashare il micro senza erasarlo ad alta tensione, ovviamente).

AttinyX4: stesse considerazioni per il PWM: sono 4. Anche qui stesso discorso per le uscite I/O riguardo al pin di reset.

Atmega644/1284: hanno 3 timer. 2 a 8 bit e 1 a 16 bit.

ratto93

Gli ATmega 1280 e 2560 non sono inclusi nelle comparativa ? :smiley-eek:
Se corri veloce come un fulmine, ti schianterai come un tuono.

Michele Menniti

#3
Jan 07, 2012, 12:59 pm Last Edit: Jan 07, 2012, 01:12 pm by menniti Reason: 1

Ti parlo per quel che conosco meglio:

AttinyX5: i PWM sono 3+1, nel senso che il micro ha 2 timer per cui le uscite PWM sono 4. Solo che la quarta è l'inverso dell'onda della terza, per cui quelle impostabili singolarmente sono in realtà 3. I canali I/O sono 5+1, perché il pin di reset, se impostato su I/O, ha un'uscita più debole rispetto a quella degli altri pin (tralascio ovviamente la questione dell'impossibilità di riflashare il micro senza erasarlo ad alta tensione, ovviamente).
AttinyX4: stesse considerazioni per il PWM: sono 4. Anche qui stesso discorso per le uscite I/O riguardo al pin di reset.

OK, sui pwm ho letto meglio il datasheet, nel riporta due per timer, mi ha ingannato l'impostazione dell'informazione, mi tocca rivederli tutti, ora che ho capito l'inghippo.
I canali comunque sono 6, che sia più debole che significa? è in grado di erogare meno corrente o ha una tensione fuori standard? In entrambi i casi, come ho consigliato a Devon Miles, anche un banale TR risolve, se invece il problema è un altro vorrei capire

Quote

Atmega644/1284: hanno 3 timer. 2 a 8 bit e 1 a 16 bit.

Qui ti chiedo di approfondire. Sul datasheet dice:
Quote
Two 8-bit Timer/Counters with Separate Prescalers and Compare Modes
– One/two 16-bit Timer/Counter with Separate Prescaler, Compare Mode, and Capture Mode


Nei paragrafi 15-16-17 parla di Timer/counter 0, 1, 2 e 3, dov'è l'inghippo?

@ ratto93: io sto lavorando sul mio progetto ed ho considerato solo le famiglie di MCU che ho "studiato" e, soprattutto, che posso usare con il mio strumento; i tipi che mi riferisci purtroppo sono in package TQFP o CBGA, mentre io ho previsto solo i PDIP, mi spiace.
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

Michele Menniti

OK, ora è chiara la situazione del pin RESET, quindi è preferibile considerare nella tabbela di avere un pin I/O in meno, sia per tinyx4 che per tinyx5. Comunque mi sembra un problema comune a tutti i mcu, infatti ATMEL conta sempre il reset come pin I/O, a livello datasheet, quindi devo rivedere tutta questa parte.

Invece vorrei chiarimenti certi su 644/1284, a me continua a sembrare che i timer siano 4, approfondimenti?
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

MauroTec

Quote
Invece vorrei chiarimenti certi su 644/1284, a me continua a sembrare che i timer siano 4, approfondimenti?


In effetti ci sono 4 contatori TCNTn, da 0 a 3 per 1284P. Poi però guardando il 644 in un'altro documento io 4 non c'è.

Ci sto capendo poco, vediamo innanzitutto di guardare tutti lo stesso documento.

qui dice che sono 4: m1284P_D1109.pdf, 8059D-AVR-11/09.

Ciao.
AvrDudeQui front end per avrdude https://gitorious.org/avrdudequi/pages/Home

leo72

Il doc che stavo guardando io per il 644 era questo:
http://www.atmel.com/dyn/resources/prod_documents/doc2593.pdf
Qui dava 2 timer ad 8 bit ed 1 timer a 16 bit.

Poi mi sono accorto che era per il "644" mentre ora siamo al "644PA", che è questo qua:
http://www.atmel.com/dyn/resources/prod_documents/doc8272.pdf
Che tra l'altro adesso è comune con quello del "1284P". Ma anche qui io leggo che sono 2x8 e 1x16.
Mike, tu che d.s. leggi? Non è che per caso hai aperto quello del 640/1280/2560, cioè il chip dell'Arduino MEGA che, effettivamente, ha dei timer in più?
http://www.atmel.com/dyn/resources/prod_documents/doc2549.pdf

MauroTec

#7
Jan 07, 2012, 06:39 pm Last Edit: Jan 07, 2012, 06:58 pm by MauroTec Reason: 1
Quote
Che tra l'altro adesso è comune con quello del "1284P". Ma anche qui io leggo che sono 2x8 e 1x16.

Questo è il più recente che ho io sul disco in locale ed è lo stesso documento che descrivi tu 8272A-AVR-01/10.

01/2010, dovrebbe essere questo che fa fede, poi se ne hai uno datato 2011 me lo devo scaricare.

Volevo fare notare come i pin 16 e 17 sono entrambe RDX1/INT0 e TXD1/INT1, quindi non è possibile usare la seriale contemporaneamente con i vettori di interrupt INT0 e INT1.

Ciao.
AvrDudeQui front end per avrdude https://gitorious.org/avrdudequi/pages/Home

leo72


Quote
Che tra l'altro adesso è comune con quello del "1284P". Ma anche qui io leggo che sono 2x8 e 1x16.

Questo è il più recente che ho io sul disco in locale ed è lo stesso documento che descrivi tu 8272A-AVR-01/10.

01/2010, dovrebbe essere questo che fa fede, poi se ne hai uno datato 2011 me lo devo scaricare.

Non so la data di questo che ho citato: però l'ho scaricato direttamente dal sito qualche ora fa, per cui è senz'altro il più aggiornato.

Quote

Volevo fare notare come i pin 16 e 17 sono entrambe RDX1/INT0 e TXD1/INT1, quindi non è possibile usare la seriale contemporaneamente con i vettori di interrupt INT0 e INT1.

Ciao.

Questo vale per la seconda seriale, difatti i pin sono indicati con RXD1 e TXD1. Ricordati che il 644/1284 ha 2 seriali HW, la prima (USART0) è mappata sui pin 14 e 15.

MauroTec

Quote
Non so la data di questo che ho citato: però l'ho scaricato direttamente dal sito qualche ora fa, per cui è senz'altro il più aggiornato.


In ogni pagina in basso a destra c'è scritto il numero di documento e la data.

Esatto è la seconda seriale che ha in comune gli interrupt INT0, INT1, il fatto è che il core crea delle istanze predefinite di tutte le seriali, così facendo non so cosa succede, insomma nel core se ne deve tenere conto.
Mi è saltata alla vista perchè la lib che uso io non è compatibile con 644/1284 e quindi sto provvedendo per introdurre supporto.

Ciao.

AvrDudeQui front end per avrdude https://gitorious.org/avrdudequi/pages/Home


Testato

- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

Michele Menniti

Ragazzi, il nome del doc non lo so più perché io li scarico rinominandoli. I riferimenti del file sono:
8272C–AVR–06/11
e parla di atmega 164-324-644-1284, ora va a vedere dove l'ho trovato, comunque è di giugno 2011; provo a rivedere sul sito ATMEL e vediamo che ne esce.
L'ho trovato, e proprio nella sezione documenti del 1284, sito ATMEL, ed è il più aggiornato. Leo, dove l'hai trovato il tuo, a questo punto?

@ Testato: a quale ti riferisci? mi sa che stiamo piombando nel casino  :smiley-eek-blue:
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

leo72


Ragazzi, il nome del doc non lo so più perché io li scarico rinominandoli. I riferimenti del file sono:
8272C-AVR-06/11
e parla di atmega 164-324-644-1284, ora va a vedere dove l'ho trovato, comunque è di giugno 2011; provo a rivedere sul sito ATMEL e vediamo che ne esce.
L'ho trovato, e proprio nella sezione documenti del 1284, sito ATMEL, ed è il più aggiornato. Leo, dove l'hai trovato il tuo, a questo punto?

@ Testato: a quale ti riferisci? mi sa che stiamo piombando nel casino  :smiley-eek-blue:

Michele, se guardi il link che ho postato io è lo stesso del documento da 500 e più pagine che si scarica dalla pagina che hai linkato tu. Ma se apri quel documento si legge solo 2 timer da 8 bit e 1 da 16 bit. I timer che citi tu li ha il 640/1280/2560, che è il chip della MEGA.
http://www.atmel.com/dyn/resources/prod_documents/doc2549.pdf
2x8 bit
4x16 bit

Mi sa che hai fatto confusione la prima volta che lo hai cercato  XD

Michele Menniti

Bah, non ne usciamo più se mi tratti da visionario  :smiley-eek:
Pagina 1 del documento che in QUELLA PAGINA è chiamato:
ATmega164A/PA/324A/PA/644A/PA/1284/P
(584 pages, revision C, updated 6/11)

Quote
Two 8-bit Timer/Counters with Separate Prescalers and Compare Modes
- One/two 16-bit Timer/Counter with Separate Prescaler, Compare Mode, and Capture Mode


Ti ho detto pure che è di giugno 2011, vuoi che ti posto la foto della pagina?
Sulla sinistra se guardi l'indice e legge le sezioni 15-16-17 vedrai i nomi dei 4 Timeri di cui parlo, quindi se non mi trovate un documento che dice altro sono a posto così.
Puoi provare a leggere tu la prima pagina e quelle sezioni per vedere se dallo stesso link si scaricano cose diverse in base alla localizzazione geografica di chi fa il download :D Chissà che cavolo scaricherà Mauro, se si ci mette :smiley-eek-blue:
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

Go Up