Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Velocità di programmazione Chip ATMEGA328P-PU via ISP

Progetti, interfacciamento, discussioni varie su questa piattaforma.

Moderatori: Foto UtenteMassimoB, Foto UtenteWALTERmwp, Foto Utentexyz

0
voti

[1] Velocità di programmazione Chip ATMEGA328P-PU via ISP

Messaggioda Foto UtenteTekonoris » 1 dic 2020, 13:58

Non che sia così importante, ma vorrei sapere a che velocità programmate questo chip.
Normalmente utilizzo la configurazione a 16MHz (ma spesso anche a 8MHz con oscillatore interno) e programmo con i valori preimpostati in ambiente Arduino (19200 bit).
Stò realizzando un circuito abbastanza complesso (per me ovviamente) e mi ritrovo a dover correggere spesso il programma.

Cercando su internet ho trovato che modificando le impostazioni posso programmare l'ATMEGA a 57600 bit.
A parte l'errore nella generazione del clock (a tabella 2,1%) che non dovrebbe creare probblemi (leggevo fino al 2,5%), ci sono altre controindicazioni ?

Non mi spiego, altrimenti, perché di "fabbrica" è impostato a 19200...

Come al solito Grazie 1000
Avatar utente
Foto UtenteTekonoris
98 2 6
Frequentatore
Frequentatore
 
Messaggi: 215
Iscritto il: 19 ott 2018, 10:31

4
voti

[2] Re: Velocità di programmazione Chip ATMEGA328P-PU via ISP

Messaggioda Foto Utentexyz » 1 dic 2020, 20:46

Ci sono 2 gravi errori.

1) L'unità di misura non sono bit ma baud, si riferiscono alla seriale RS232c emulata di solito via USB.

2) Non stai programmando ATmega con ISP ma usi il bootloader di Arduino, il quale è un semplice programma che usa la porta seriale e non un programmatore hardware via bus ISP degli ATmega. La velocità di programmazione la impone il bootloader, di solito è impostata bassa per permettere a tutti di programmarlo.

Se cambi il bootloader compilato con una velocità della seriale maggiore, via ISP (quello vero) puoi programmarlo a una velocità maggiore.
Avatar utente
Foto Utentexyz
6.380 2 4 5
G.Master EY
G.Master EY
 
Messaggi: 1683
Iscritto il: 5 dic 2009, 18:37
Località: Italy Turin

0
voti

[3] Re: Velocità di programmazione Chip ATMEGA328P-PU via ISP

Messaggioda Foto UtenteTekonoris » 1 dic 2020, 23:02

1) verissimo ...
2) verissimo ...
guardando meglio hai ragione su tutto.

Grazie
Avatar utente
Foto UtenteTekonoris
98 2 6
Frequentatore
Frequentatore
 
Messaggi: 215
Iscritto il: 19 ott 2018, 10:31

0
voti

[4] Re: Velocità di programmazione Chip ATMEGA328P-PU via ISP

Messaggioda Foto Utentelucaking » 2 dic 2020, 8:58

Tekonoris ha scritto:guardando meglio hai ragione su tutto.

Eh sì, purtroppo, soprattutto in fatto di micro, Foto Utentexyz ha questo terribile difetto. :mrgreen:
Avatar utente
Foto Utentelucaking
1.208 3 5 8
Expert
Expert
 
Messaggi: 1081
Iscritto il: 29 mag 2015, 14:28

0
voti

[5] Re: Velocità di programmazione Chip ATMEGA328P-PU via ISP

Messaggioda Foto UtenteTekonoris » 2 dic 2020, 10:02

Anche se sono partito con il piede sbagliato, volevo cercare di capire...

Ieri ho modificato il file programmers.txt così:
Codice: Seleziona tutto
MyArdasisp.name=MyArduino as ISP
MyArdasisp.communication=serial
MyArdasisp.protocol=stk500v1
MyArdasisp.speed=115200
MyArdasisp.program.protocol=stk500v1
MyArdasisp.program.speed=115200
MyArdasisp.program.tool=avrdude
MyArdasisp.program.extra_params=-P{serial.port} -b{program.speed}


e all'interno del file ArduinoISP:
Codice: Seleziona tutto
#define BAUDRATE  115200


C'era anche scritto BAUD e SERIAL ovunque ... :(

Se programmo con 19200 ottengo un tempo di circa 53 sec.
Se programmo con 115200 ottengo un tempo di circa 33 sec.
Però il rapporto di velocità è ben diverso... Inoltre considerando che devo scrivere circa 32 kbyte ... perché i tempi non mi quadrano ?
Leggevo che la velocità massima dipende dalla velocità della memoria dove ci salvi i dati... E' solo questo ?
Quindi i tempi della tabella sotto (almeno per l'ATMEGA328) inutilizzabili ?

Eventualmente avete un sito da consigliarmi per approfondire (magari così dico meno caprate)?
Grazie
Allegati
Speed ISP.PNG
Avatar utente
Foto UtenteTekonoris
98 2 6
Frequentatore
Frequentatore
 
Messaggi: 215
Iscritto il: 19 ott 2018, 10:31

2
voti

[6] Re: Velocità di programmazione Chip ATMEGA328P-PU via ISP

Messaggioda Foto Utentexyz » 2 dic 2020, 12:28

Tekonoris ha scritto:Leggevo che la velocità massima dipende dalla velocità della memoria dove ci salvi i dati...

I dati non vengono trasmessi raw in una sola direzione ma si ha un protocollo di scambio con un handshake completo e in secondo luogo i dati vengono scritti dal microcontrollare direttamente e questa operazione non ha un tempo nullo. Quindi anche aumentando la velocità della seriale non hai lo stesso incremento in termini di scrittura nella flash.

Quindi i tempi della tabella sotto (almeno per l'ATMEGA328) inutilizzabili ?

Quella tabella serve a chi programma la seriale, di solito quei valori cono calcolati dal compilatore in base al baud-rate impostato nel codice.

Eventualmente avete un sito da consigliarmi per approfondire (magari così dico meno caprate)?

Leggere il datasheet
Avatar utente
Foto Utentexyz
6.380 2 4 5
G.Master EY
G.Master EY
 
Messaggi: 1683
Iscritto il: 5 dic 2009, 18:37
Località: Italy Turin

0
voti

[7] Re: Velocità di programmazione Chip ATMEGA328P-PU via ISP

Messaggioda Foto UtenteTekonoris » 2 dic 2020, 13:11

xyz ha scritto:Leggere il datasheet

Verrà fatto ! :D

Grazie
Avatar utente
Foto UtenteTekonoris
98 2 6
Frequentatore
Frequentatore
 
Messaggi: 215
Iscritto il: 19 ott 2018, 10:31


Torna a Arduino

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite