Go Down

Topic: ATmega328PB (Read 102875 times) previous topic - next topic

vbextreme

ho dato uno sguardo velocissimo al datasheet, 20mhz solo a 5v
Infine la nota dolente è che ha comandi Assembly differenti e quindi deve essere supportato dal compilatore.
Devo controllare meglio cosa cambia
Easy framework linguaggio C: https://github.com/vbextreme/EasyFramework
Hack your life: http://vbextreme.netai.net/
Unoffical Telegram group: https://telegram.me/joinchat/ALRu8ACkdTdXyz-2P7v13A

astrobeed

ho dato uno sguardo velocissimo al datasheet, 20mhz solo a 5v
Questo vale per tutti gli AVR, a differenza di Microchip non hanno versioni L che lavorano a piena frequenza anche con tensioni basse.

Quote
Infine la nota dolente è che ha comandi Assembly differenti e quindi deve essere supportato dal compilatore.
Devo controllare meglio cosa cambia
Il core hardware del 328PB è lo stesso del 328P, non mi risulta che cambia qualcosa, avevo già dato un'occhiata al set di istruzioni assembly e non mi pare di aver visto differenze, però qualcosa potrebbe essermi sfuggita.
Settimana prossima avrò in mano 5 328PB, lo ho già inseriti nell'ordine che Lunedì faccio a Digikey, così posso fare qualche test di compilazione e vedere se si riesce a caricare il software tramite avrdude modificando la configurazione, dovrebbe bastare copiare la definizione del 328P modificando la signature.

Scientia potentia est

vbextreme

#122
Jan 29, 2016, 10:08 pm Last Edit: Jan 29, 2016, 10:20 pm by vbextreme
@astro sembra mancare MUL e i due comandi per le somme + sottrazioni a 16bit
Easy framework linguaggio C: https://github.com/vbextreme/EasyFramework
Hack your life: http://vbextreme.netai.net/
Unoffical Telegram group: https://telegram.me/joinchat/ALRu8ACkdTdXyz-2P7v13A

vbextreme

manca la direct CALL e la direct JMP
Easy framework linguaggio C: https://github.com/vbextreme/EasyFramework
Hack your life: http://vbextreme.netai.net/
Unoffical Telegram group: https://telegram.me/joinchat/ALRu8ACkdTdXyz-2P7v13A

astrobeed

@astro sembra mancare MUL e i due comandi per le somme + sottrazioni a 16bit
In effetti sembrano mancanti, però:

Quote
On-chip 2-cycle Multiplier
Questo cozza terribilmente con la mancanza della "mul", ho visto che c'è un discreto numero di errata corrige sia software che hardware, tocca scaricarle tutte e controllarle, potrebbe essere che il datasheet contiene inesattezze, è un micro abbastanza recente, è stato rilasciato verso la fine del 2015.
Apparentemente l'ultima release di avr-gcc lo prevede, è inserito nella lista dei micro supportati.
Scientia potentia est

astrobeed

Questa AN Atmel specifica tutte le differenze tra 328P e 328PB, parla solo dei registri per le periferiche hardware e per la signature, non dice nulla del assembly, per me i due core sono perfettamente identici.

Scientia potentia est

astrobeed

#126
Jan 29, 2016, 10:37 pm Last Edit: Mar 11, 2016, 01:38 pm by astrobeed
Questo chiude ogni discorso sulla totale compatibilità dei due core :)

Code: [Select]

 Code compiled for ATmega328 variants are compatible and can be executed in
 the ATmega328PB device.
Whereas, reverse code compatibility is not guaranteed.


In pratica dice chiaramente che un eseguibile per 328P può girare sul 328PB senza essere ricompilato, mentre il contrario non è detto che funzioni per via delle periferiche aggiuntive presenti sul 328PB e relativi registri che non sono presenti sul 328P.
Scientia potentia est

vbextreme

Mi sa anche a me che è solo un problema di errata corrige del datasheet.
E della alimentazione cosa ne pensi? una scheda con i classici pin da collegare sotto o di lato alla AGF.328PB.R0 ? in questo modo si possono selezionare diverse modalità di alimentazione senza gravare sul costo della scheda in sè che di default sarà alimentata solo da USB, cosi poi uno sceglie se usare l'espansione LIPO, NIMH, 230v o altro....
Easy framework linguaggio C: https://github.com/vbextreme/EasyFramework
Hack your life: http://vbextreme.netai.net/
Unoffical Telegram group: https://telegram.me/joinchat/ALRu8ACkdTdXyz-2P7v13A

astrobeed

Mi sa anche a me che è solo un problema di errata corrige del datasheet.
Lo penso pure io.

Quote
E della alimentazione cosa ne pensi? una scheda con i classici pin da collegare sotto o di lato alla AGF.328PB.R0 ?
La scheda AG328PB che sto progettando, salvo imprevisti la finisco tra oggi e domani, prevede due LDO per l'alimentazione 5V e 3.3V (1A e 350 mA), ovvero si alimenta nel classico modo di Arduino, o da USB oppure dal connettore Vin con predominanza di quest'ultima, la commutazione avviene tramite un piccolo mos senza bisogno di usare opamp, soluzione perfettamente funzionante ampiamente testata su miglia di pezzi venduti della Luigino 328.
Poi vediamo di fare la scheda di alimentazione, da applicare sotto la AG328 e/o collegare tramite cavi, in modo che sia utilizzabile per tutti i modelli di Arduino.
Scientia potentia est

Etemenanki

#129
Jan 30, 2016, 09:43 am Last Edit: Jan 30, 2016, 09:45 am by Etemenanki
... obbligatorio la compatibilità tra 3.3v e 5v su tutti i pin.
ovvio ;)

Quote
Anche l'alimentazione su scheda esterna è bella ma io preferirei qualcosa che non sia da saldare ...
si puo fare l'ennesima shield da impilare, ma poi c'e' il limite della grandezza delle batterie (altrimenti non ti ci stanno i pin ICSP), oppure andrebbe impilata al di sopra di tutte le altre (facendo passare l'alimentazione per tutti i connettori ed impedendo di utilizzare altre shield che richiedono il lato superiore libero) ... io invece pensavo ad una scheda aggiuntiva da mettere sotto, fissata magari con dei distanziali e dei contatti da saldare su appositi pin extra (in fondo sarebbero solo 2, massa e Vin, con il jack di alimentazione sulla scheda della batteria, si possono anche fare con due spezzoni di filo di sezione adeguata, senza andare a cercarsi altri connettori ed aumentare i costi), e tenuta abbastanza alzata da permettere l'impiego di una cella LiPo piu spessa, se uno vuole maggiore autonomia ... oppure solo un convertitore DC-DC che possa accettare in ingresso un range di tensioni piu elevato di quelli standard, tipo da 4 a 25V o simile, restituendo circa 8V sul Vin ... ma quello lo si puo vedere in seguito in base a quello che Astro decide ...


> Astro: a proposito, come va lo schema ?

EDIT: ci siamo sovrapposti :P
"Sopravvivere" e' attualmente l'unico lusso che la maggior parte dei Cittadini italiani,
sia pure a costo di enormi sacrifici, riesce ancora a permettersi.

gpb01

Per chi intanto mette le mani in avrdude.conf, nella sezione del ATmega328 dovrebbe bastare aggiungere una nuova  parent part "m328"

Code: [Select]
part parent "m328"
   id = "m328pb";
   desc = "ATmega328PB";
   signature = 0x1e 0x95 0x16;

   ocdrev              = 1;
;

Guglielmo
Search is Your friend ... or I am Your enemy !

astrobeed

Per chi intanto mette le mani in avrdude.conf, nella sezione del ATmega328 dovrebbe bastare aggiungere una nuova  parent part "m328"
Ottimo, grazie, non appena mi arrivano i 328PB provo subito a programmarli tramite avrdude.
Scientia potentia est

Etemenanki

Io nel frattempo stavo buttando giu uno schema di massima per la scheda alimentazione/lipo ... ci sono alcune possibilita' fra cui scegliere ...

O una scheda che faccia solo da DC-DC converter, ed in questo caso inizialmente avevo preso in considerazione LTC1871 in SEPIC, che permetterebbe di alimentare il tutto da circa 3V fino ad una trentina, ma ho visto il prezzo (intorno ai 5 dollari) , per cui bisogna vedere se ne vale la pena o se cercare qualcosa di piu economico ... oppure un'unita' di alimentazione piu LiPo, la massima tensione si ridurrebbe un po, ed in quel caso userei i classici MCP e TPS, in configurazione un po diversa ... oppure un'ibrido tra le due soluzioni, ma sarebbe tutto da sperimentare ... ovviamente poi il fattore principale sara' probabilmente il costo di realizzazione ...
"Sopravvivere" e' attualmente l'unico lusso che la maggior parte dei Cittadini italiani,
sia pure a costo di enormi sacrifici, riesce ancora a permettersi.

astrobeed

poi il fattore principale sara' probabilmente il costo di realizzazione ...
Purtroppo si perché andiamo andiamo scontrarci con i moduli switching cineseria, però solo step down, che costano attorno ai 3E e forniscono un paio Ampere.
Il vero problema è sempre il costo del montaggio, sulle piccole quantità incide non poco sul prezzo finale.
Scientia potentia est

PaoloP

Per il core si potrebbero fare delle PR su github e farle inserire nel core del 328. Credo bisogna aggiungere solo dei #ifdef per i pin e le periferiche aggiuntive.
Inutile riscrivere un core da capo.

Go Up