Go Down

Topic: Fuses (Read 2533 times) previous topic - next topic

thexeno

Ciao! Ho un dubbio: quali fuse programmati ha il duemilanove? PErché non ho capito se quando li leggo, F=1111 o il contrario visto che sono in logica negata. Probabilmente devo interpretare F=0000 (programmati), però non so..
Grazie! :D

Testato

arduino 2009 ha questi fuse di default:
low_fuses=0xFF
high_fuses=0xDA
extended_fuses=0x05

tu a quale ti riferisci ?
- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

thexeno

Esattamente a quelli, ma vorrei capire come interpretare la logica per capire ciò che c'è scritto sul datasheet

Michele Menniti


Esattamente a quelli, ma vorrei capire come interpretare la logica per capire ciò che c'è scritto sul datasheet

Beh, se vuoi una spiegazione fatta come si deve puoi andarti a leggere il mio articolo sul numero di Giugno di Elettronica In, l'argomento è trattato e sviscerato completamente, avrai modo di comprendere il significato e l'uso di ogni singolo bit e come impostarli; mi è costato un bel po' di studio, ma alla fine ne è uscito un gran bel lavoro (e non lo dico solo io ;)).

PS: sei nuovo ma non fai male a prendere abitudine del fatto che ogni nuovo Topic andrebbe creato nella specifica sezione hardware o software; qui nella sezione generale andrebbero aperti solo i Topic non inquadrabili nelle altre due; il tuo Topic è hardware o software a tuo piacimento, visto che la questione si può trattare come organizzazione del microcontrollore o come programmazione dei tre byte. ;)
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

I fuse byte come dice il manuale sono da considerare programmati quando il bit è cleared, cioè "impostato" a 0, non programmati se il bit è impostato ad 1.

Fai attenzione con i fuse byte, questi sono programmabili da dentro il codice del micro, occhio che basta cambiare tempo di avvio del quarzo per rendere la board non funzionante e poi ti ci vuole il progetto di Menniti oppure devi fare come ho fatto io, che mi sono scritto codice al volo per sbrikkare il micro.

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

Testato

conermo la bonta' dell'articolo di giugno, il numero di luglio non e' ancora arrivato a casa, quindi credo che tu possa trovare quello di giugno in edicola, sono 6 euro spesi benissimo.

ti ho chiesto a quele ti riferivi visto che facevi l'esempio di soli 4 bit. se intendevi chiedere solo il significato di 0 e 1 e' come gia' detto da mauro, 0=attivo
- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

Corrado N


I fuse byte come dice il manuale sono da considerare programmati quando il bit è cleared, cioè "impostato" a 0, non programmati se il bit è impostato ad 1.

Fai attenzione con i fuse byte, questi sono programmabili da dentro il codice del micro, occhio che basta cambiare tempo di avvio del quarzo per rendere la board non funzionante e poi ti ci vuole il progetto di Menniti oppure devi fare come ho fatto io, che mi sono scritto codice al volo per sbrikkare il micro.

Ciao.


Scusatemi, vado leggermente OT ma la domanda potrebbe interessare anche l'autore del thread: l'articolo in questione parte da zero o presuppone conoscenze "avanzate" di qualche tipo? Eventualmente, quali? (e ovviamente citazioni per colmare eventuali lacune sono ben accette  ;))

Michele Menniti

Diciamo che non vorrei che ora questo didentasse un Topic-Spot pro-Rivista $)
Ma visto che l'argomento è spesso non noto ai più direi che se ne possa parlare....
Sto scrivendo da settembre scorso una serie di articoli pubblicati nella sezione "Didattica", l'accordo prevede che i miei lavori siano sempre realizzati nell'ottica dell'insegnamento, quindi non posso (e nemmeno mi piacerebbe) dare nulla per scontato.
Ho progettato e presentato un Programmatore HV (ma qui non approfondiamo!), nei numeri di aprile e maggio ho presentato il progetto hardware e la realizzazione dello strumento, nel numero di giugno (quello in edicola) ho trattato (in circa 13 pagine) la teoria, con tanto di riferimento ai data-sheet studiati allo scopo, riguardante gli elementi programmabili o visualizzabili tramite lo strumento: fuse bits, Lock bit byte, signature, chip_erase; quindi ho spiegato cos'è la Programmazione HV nelle sue due forme, ed ho spiegato in modo molto esteso, l'organizzazione del firmware che gestisce lo strumento. Sul numero che dovrebbe uscire a breve (quello di luglio/agosto) ci sarà l'ultimo articolo con la spiegazione passo-passo di alcune routine "chiave" del firmware, sempre in rapporto alla teoria affrontata in precedenza ed ai data-sheet delle varie famiglie di micro ATMEL, ho poi spiegato come si usa il programmaFuseCalc per il calcolo dei fuse (e qui chiaramente l'argomento fuse è stato ripreso), infine ho spiegato come si usa il Programmatore, nelle sue due possibili forme: collegato al PC o in stand-alone con keypad esadecimale e display LCD.
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



I fuse byte come dice il manuale sono da considerare programmati quando il bit è cleared, cioè "impostato" a 0, non programmati se il bit è impostato ad 1.

Fai attenzione con i fuse byte, questi sono programmabili da dentro il codice del micro, occhio che basta cambiare tempo di avvio del quarzo per rendere la board non funzionante e poi ti ci vuole il progetto di Menniti oppure devi fare come ho fatto io, che mi sono scritto codice al volo per sbrikkare il micro.

Ciao.


Io mi riferivo al manuale del microcontroller anche chiamato datasheet e per leggerelo e capirlo è richiesta una conoscenza di base dell'elettronica digitale ed in genere di informatica oltre una discreta conoscenza dell'inglese tecnico.

Per gli articoli di Menniti invece non è richiesta alcuna conoscenza specifica, certo almeno si deve sapere cosa sono byte, bit, ecc.

Ciao.

Scusatemi, vado leggermente OT ma la domanda potrebbe interessare anche l'autore del thread: l'articolo in questione parte da zero o presuppone conoscenze "avanzate" di qualche tipo? Eventualmente, quali? (e ovviamente citazioni per colmare eventuali lacune sono ben accette  ;))
AvrDudeQui front end per avrdude https://gitorious.org/avrdudequi/pages/Home

Michele Menniti


Io mi riferivo al manuale del microcontroller anche chiamato datasheet e per leggerelo e capirlo è richiesta una conoscenza di base dell'elettronica digitale ed in genere di informatica oltre una discreta conoscenza dell'inglese tecnico.

confermo appieno  :smiley-sweat: per me che non ho la conoscenza diretta della lingua è stato drammatico studiare tutti quei data-sheet; diciamo che sono stato aiutato dal fatto che ho un po' di dimestichezza nella materia ed alla fine tutto questo studio mi è servito anche per riuscire a migliorare il mio pessimo rapporto con quella lingua :smiley-sweat:

Quote

Per gli articoli di Menniti invece non è richiesta alcuna conoscenza specifica, certo almeno si deve sapere cosa sono byte, bit, ecc.

questa tua considerazione mi fa molto piacere, anche qui confermo che almeno i principi del sistema binario e della conversione binaria-esadecimale bisogna averli, altrimenti diventa più complicato comprendere certi meccanismi.
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

thexeno

Ok e grazie a tutti per l'aiuto, ma quindi? Se nei fuse c'è una F vuol dire che ho 4 bit programmati a 0 o no?
@MauroTec AND @Testato: solo per essere chiaro e senza prepotenza, mi avete detto cose che ho già scritto nei primi post: so che quando è programmed è 0, forse mi sono spiegato male.

Domanda:
Se leggo F, leggo 4 bit programmati o non programmati? E' l'unica domanda che mi ha fatto aprire questo post.
E scusate ma il forum lo uso per leggere, eventualmente aiutare ed essere aiutato senza dove andare a comprare riviste..almeno per ora. ;)

Per la sezione sbagliata, cercherò di non fare più questo errore.

Michele Menniti


E scusate ma il forum lo uso per leggere, eventualmente aiutare ed essere aiutato senza dove andare a comprare riviste..almeno per ora. ;)

ci mancherebbe, è che avevi dato la sensazione di essere interessato (
Quote
l'articolo in questione parte da zero o presuppone conoscenze "avanzate" di qualche tipo?
) e di essere meno preparato di quanto tu non lo sia in realtà (
Quote
e ovviamente citazioni per colmare eventuali lacune sono ben accette
), qui nessuno vende niente :)

Quote

Per la sezione sbagliata, cercherò di non fare più questo errore.

Grazie, questa è una cosa importante per mantenere il Forum in ordine.
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

Testato


Domanda:
Se leggo F, leggo 4 bit programmati o non programmati?

secndo me sbagli il concetto di programmato o meno, sia zero che uno sono programmazioni.
una F significa che i 4 bit a cui ti riferisci sono settati a 0, il che significhera' qualcosa i base al tipo di micro
- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

thexeno

@TEstato: Sul datasheet dice "programmed 0" o "unprogrammed 1". Ma siccome con arduino è possibilissimo usare un MCU senza leggere il datasheet, la domanda è rivolta a chi lo ha letto. E' brutta come risposta, ma è per essere chiari ed evitare dispersione di informazioni meno utili per chi ha dubbi simili e cerca in questo forum.

Testato

non so quali conoscenze hai dei fuses, ti assicuro che quel "programmed" del datascheed nonn significa cio' che tu intendi.
Se ad esempio parliamo di un fuse che gestisce l'utilizzo del risuonatore inerno o esterno, capirai che sia zero, sia uno sono due settaggi che portano ad un risultato.
Quindi non e' che se metti tutti i fuse a 0 allora questi sono programmati. Semplicemente mettendoli tutti a 0 avrai una certa combinazione delle svariate opzioni possibili.

Per capire di preciso devi andarci di datascheet e guardarti il tuo determinato micro.

Se non ti interessa arrivare a questo livello delle cose, tieniti il tuo arduino cosi' come e', uno dei motivi del suo successo e' proprio la ricerca della semplicita', ed infatti L'Ide arduino non cita minimamente i fuses, ne' tantomento di permette di cambiarli tramite gui
- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

Go Up