Pages: 1 [2] 3 4 ... 13   Go Down
Author Topic: sulla programmazione dei chip (tipo topic di menniti)  (Read 8362 times)
0 Members and 1 Guest are viewing this topic.
Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 519
Posts: 12322
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

ma no, avevo capito, lo sai che mi piace scherzare smiley-wink se hai bisogno di chiarimenti scrivi senza pietà smiley
Logged

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

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 325
Posts: 22498
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Uhm... io per il fuse basso non metterei $E0. $E0 parla di "Ext. Clock", ossia di un segnale di clock dato da una fonte esterna, quindi su uno solo dei 2 pin adibiti all'ingresso del segnale. Ci vuole una impostazione che selezioni l'uso di un quarzo o risonatore esterno. Il valore che suggerisco è $FF, ossia la voce "Ext.Crystal/Resonator High Frequ. - Startup time 64CK + 64 ms".
Questo perché 16 MHz li considero "High Freq." per un chip che max lavora a 16 MHz appunto. Inoltre dare un tempo di startup di 64 CK + 64 ms permette al circuito del reset di eseguire correttamente il suo compito. Dare tempi molto brevi può portare a problemi di reset, con il chip che non si avvia correttamente.
Logged


Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 519
Posts: 12322
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Sì, hai perfettamente ragione, non lo avevo proprio visto il gruppo HF smiley-eek-blue, cercavo  la voce "8MHz-" come per il 328P, ma visto che era presente solo come circuito RC e ad un massimo di 12MHz ho ignorato il resto smiley-mr-green
Logged

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

Taranto, Puglia
Offline Offline
God Member
*****
Karma: 1
Posts: 758
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

se hai bisogno di chiarimenti scrivi senza pietà smiley

 smiley-yell non era in dubbio che avrei chiesto qualcosa.

@leo:
se vedi nel ds qui: http://www.atmel.com/images/doc2486.pdf
a pagina 26 tabella 2 c'è nella prima riga "External Crystal/Ceramic Resonator 1111 - 1010"
io quindi ho spuntato tutti i cksel nella configurazione manuale del fuse calculator per interpretare gli 1111.
a meno che ora m isorge un dubbio e quegli 1111 significano tutti i cksel NON spuntati..

ma oltre a quei primi bit del low fuses devo solo spuntare SUT0 no?

io la onfigurazione normale non l'ho provata perchè mi imbroglio con tutte quelle voci del menu a discesa

EDIT: aaaaa ho trovato il problema; nella sezione della configurazione manuale c'è scritto (in piccolo  smiley-mad) Note: means unprogrammed (1); means programmed v (0).
ovvero che lo zero significa checkbox spuntata e non il contrario come io pensavo.
ora non mi resta solo che vedere la tabella del SUT. ora leo mi tornano i conti
« Last Edit: August 14, 2012, 07:37:07 am by igor97 » Logged


0
Offline Offline
Faraday Member
**
Karma: 45
Posts: 5790
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

e si, sto fatto che zero significa 1 e' un'idea eccezionale, credo che derivi dalla reale condizione interna del micro che pero' porta al manicomio.
E' sempre bene dare uno sguardo al dato finale, 1111 sara' tradotto in FF, e quello non mente  smiley
Logged

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

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 325
Posts: 22498
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

I bit non impostati valgono 1, quelli impostati valgono 0. Quindi quando su AVR Fuse Calculator fate un segno di spunto ad una casellina state impostando a 0 quel bit.

Logged


Taranto, Puglia
Offline Offline
God Member
*****
Karma: 1
Posts: 758
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

si l'idea di scambiare la logica non è molto buona...  smiley-confuse

sfogliando il ds o visto che si può usare un circuito RC come stadio oscillatore, ma come li dimensioan la r e il c?
Logged


Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 519
Posts: 12322
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

si l'idea di scambiare la logica non è molto buona...  smiley-confuse

sfogliando il ds o visto che si può usare un circuito RC come stadio oscillatore, ma come li dimensioan la r e il c?
Se vale la solita formula: F=1/(R*C*0,7)
Logged

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

Taranto, Puglia
Offline Offline
God Member
*****
Karma: 1
Posts: 758
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

si l'idea di scambiare la logica non è molto buona...  smiley-confuse

sfogliando il ds o visto che si può usare un circuito RC come stadio oscillatore, ma come li dimensioan la r e il c?
Se vale la solita formula: F=1/(R*C*0,7)

la formula è giusta ma io devo trovare R e C; da quella formula non so ricavare due incognite  smiley-eek

PS: un mio amico mi haregalato le riviste che non so da dove si fa arivare, a partire dal numero 165 a 168..
Logged


Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 519
Posts: 12322
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ma davvero dici che nelle Edicole di Taranto non arriva questa pubblicazione??? Beh, se te le hanno regalate meglio così smiley-money per sapere da dove le fa venire basta chiedere no? o lui non si è ancora accorto di avertele regalate smiley-yell?

Sullo "scambio" della logica non saprei cosa dirvi, non conosco p.es. i PIC, per sapere se funzionano o meno allo stesso modo, indicando cioè 0 come programmato e 1 come non programmato. Alla fine basta farci un po' la mano ed è la stessa cosa smiley-wink

Per la formula devi fissare una delle due incognite e calcolarti l'altra, l'importante è che alla fine ti escano valori reperibili sul mercato. Cioè se ti esce una capacità da 10 Farad probabilmente devi agire in modo differente. Considera che calcolata la resistenza è decisamente conveniente sostituirla con un trimmer + una R fissa.
Io partirei da una capacità qualsiasi, p.es. 1µF e calcolerei la resistenza, visto che esistono trimmeri da 100ohm a 22Mohm, a mia memoria.
Logged

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

Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 325
Posts: 22498
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

si l'idea di scambiare la logica non è molto buona...  smiley-confuse
Non so di che tipo sia la memoria dei Fuse, ma è certo che sia non volatile, tipo Flash o Eeprom. Entrambe queste memorie non volatili sono basate su una tecnologia che permette di memorizzare il bit dato aprendo o chiudendo il gate di uno speciale Mosfet. Il gate aperto viene letto come valore 1, mentre il gate chiuso equivale al valore 0. Per "scrivere" il valore 0 si deve "pompare" (tramite effetto tunnel o effetto di campo) una carica nel gate, quindi chiuderlo è un processo più complesso che aprirlo. Io penso che sia questo il motivo per cui anche i Fuse lavorano con questa logica inversa.
Logged


Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 519
Posts: 12322
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

la memoria che ospita i fuse e lock bits è di tipo flash, come quella della signature. Quest'ultma è protetta ma alcuni tipi di eventi riescono a cancallarla, da lì il noto problema di perdita della signature, cosa nota a mio avvisto alla ATMEL, diversamente non mi spiego perché i tool di programmazione prevedano la possibilità di bypassarne la lettura, al momento dell'inizio della programmazione.
Logged

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

Taranto, Puglia
Offline Offline
God Member
*****
Karma: 1
Posts: 758
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Ma davvero dici che nelle Edicole di Taranto non arriva questa pubblicazione??? Beh, se te le hanno regalate meglio così smiley-money per sapere da dove le fa venire basta chiedere no? o lui non si è ancora accorto di avertele regalate smiley-yell?

Sullo "scambio" della logica non saprei cosa dirvi, non conosco p.es. i PIC, per sapere se funzionano o meno allo stesso modo, indicando cioè 0 come programmato e 1 come non programmato. Alla fine basta farci un po' la mano ed è la stessa cosa smiley-wink

Per la formula devi fissare una delle due incognite e calcolarti l'altra, l'importante è che alla fine ti escano valori reperibili sul mercato. Cioè se ti esce una capacità da 10 Farad probabilmente devi agire in modo differente. Considera che calcolata la resistenza è decisamente conveniente sostituirla con un trimmer + una R fissa.
Io partirei da una capacità qualsiasi, p.es. 1µF e calcolerei la resistenza, visto che esistono trimmeri da 100ohm a 22Mohm, a mia memoria.

proverò allora cosi, ah mi ha detto che li prende in un edicola  smiley-eek dovrei aggiornarmi allora  smiley-sweat

Non so di che tipo sia la memoria dei Fuse, ma è certo che sia non volatile, tipo Flash o Eeprom. Entrambe queste memorie non volatili sono basate su una tecnologia che permette di memorizzare il bit dato aprendo o chiudendo il gate di uno speciale Mosfet. Il gate aperto viene letto come valore 1, mentre il gate chiuso equivale al valore 0. Per "scrivere" il valore 0 si deve "pompare" (tramite effetto tunnel o effetto di campo) una carica nel gate, quindi chiuderlo è un processo più complesso che aprirlo. Io penso che sia questo il motivo per cui anche i Fuse lavorano con questa logica inversa.
forse ora ho piu chiaro il discorso smiley-wink

la memoria che ospita i fuse e lock bits è di tipo flash, come quella della signature. Quest'ultma è protetta ma alcuni tipi di eventi riescono a cancallarla, da lì il noto problema di perdita della signature, cosa nota a mio avvisto alla ATMEL, diversamente non mi spiego perché i tool di programmazione prevedano la possibilità di bypassarne la lettura, al momento dell'inizio della programmazione.
ah...i misteri della vita son questi
Logged


Global Moderator
Italy
Offline Offline
Brattain Member
*****
Karma: 325
Posts: 22498
Logic is my way
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

la memoria che ospita i fuse e lock bits è di tipo flash, come quella della signature. Quest'ultma è protetta ma alcuni tipi di eventi riescono a cancallarla, da lì il noto problema di perdita della signature, cosa nota a mio avvisto alla ATMEL, diversamente non mi spiego perché i tool di programmazione prevedano la possibilità di bypassarne la lettura, al momento dell'inizio della programmazione.
Se è una semplice memoria Flash, perché Atmel dice che un chip che ha perso la signature non si può "rifirmare"? Non basterebbe uno strumento come un programmatore per riscrivere la firma?

Se questo impedimento è dato dal fatto che un malintenzionato potrebbe "firmare" dei chip di un tipo come altri tipi di microcontrollore (es. firmare come 328P dei più vecchi 328) perché allora non inserire questa firma in una memoria non riscrivibile tipo PROM? Non capisco. E' solo una questione di costo? E' per una semplificazione progettuale (usano un banco di Flash dove ci infilano tutti i dati invece di usare un banco di Flash ed un banco di PROM)?
Logged


Lamezia Terme
Offline Offline
Shannon Member
****
Karma: 519
Posts: 12322
Le domande di chi vuol imparare rappresentano la sua sete di sapere
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

perché è un'area protetta, te l'ho detto, è protetta in fase di costruzione, altrimenti la si potrebbe cambiare a piacimento. Trattandosi di un elemento che deve identificare un tipo di micro non avrebbe alcun senso poterla cambiare (=riscrivere). Poi figurati se possiamo aprire una questione su cosa potrebbero/dovrebbero fare, questa è e buonanotte smiley
Logged

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

Pages: 1 [2] 3 4 ... 13   Go Up
Jump to: