oscillatore quarzato esterno da 16 MHZ Atmega 328p

Ciao a tutti
Sono in possesso di un bel po' di oscillatori quarzati da 16mhz, al posto del classico quarzo con i due ceramici, ma non riesco a capire come settare i fuse che da pdf bisognerebbe impostare:

External Clock Drive Configuration

EXTERNAL CLOCK SIGNAL----INGRESSO XTAL1

impostare il CKSEL3...0----0000

Come bisogna fare?
In rete si trova di tutto ma ho una confusione totale....

Solitamente in configurazione stand alone si adopera un oscillatore al quarzo e due condensatori da 22uF, in Arduino UNO, per fare un esempio, l'oscillatore al quarzo è sostituito da un risuonatore ceramicato(leggermente diverso dal primo, ti basti sapere che è un po meno preciso), ma sia il funzionamento che il set dei fuse sono i medesimi.
Non si capisce cosa tu intenda con "al posto del classico quarzo". Cerca di spiegarti meglio.

Devo usare questi:

Qui parla di questi oscillatori a 4 pin, spero utile:

"questo è il pinning di quegli oscillatori quarzati o TTL
http://web.mit.edu/6.115/www/datasheets/crystal.jpg
bisogna osservare il puntino e orientarsi di conseguenza.
Uno dei 4 pin non è utilizzato mentre gli altri sono Vcc, Gnd e out per prelevare il segnale.
In genere si alimentano con 5V ma bisogna stare attenti perchè ci sono anche quelli a 3,3V"

Un oscillatore quarzato a 2 pin lo colleghi tal quale un quarzo.
L'unica differenza è che devi scegliere per i fuse il settaggio "external crystal oscillator" mentre per un quarzo devi usare "full swing crystal"

Aiutati qui:
http://www.engbedded.com/fusecalc
a calcolare i fuse

PS:
Un solo pin, XTAL1, si usa nei casi di un segnale di clock.

leo72:
Un oscillatore quarzato a 2 pin lo colleghi tal quale un quarzo.

Non esiste un oscillatore quarzato a due pin, esiste l'oscillatore quarzato con un OUT che può essere sia a livelli TTL che MOS, quello indicato su RS è con uscita TTL compatibile, dei quattro pin solo tre sono connessi, due di alimentazione e uno di uscita del clock a 16 MHz.

L'unica differenza è che devi scegliere per i fuse il settaggio "external crystal oscillator"

"external crystal oscillator" non esiste come opzione, con i fuse CKSEL puoi settare:

Low Power Crystal Oscillator 1111 - 1000
Full Swing Crystal Oscillator 0111 - 0110
Low Frequency Crystal Oscillator 0101 - 0100
Internal 128kHz RC Oscillator 0011
Calibrated Internal RC Oscillator 0010
External Clock 0000
Reserved 0001

Nel caso dell'oscillatore esterno va usata l'opzione External Clock (CKSEL3..0 = 0000) e il segnale (clock) va applicato su Xtal1.

Sull'oscillatore quarzato ti do ragione, mi sono confuso io con un risuonatore che, poi, anche quello avrebbe 3 pin e non 2.
Sulla seconda mi riferivo alle impostazioni di AVR Fuse Calculator che avevo linkato.
Sant'astrobeed che tutto vede e tutto corregge.

Ok, ma in pratica come posso scrivere la modifica per i fuse?

fabiokt88:
Ok, ma in pratica come posso scrivere la modifica per i fuse?

Semplicemente settando i quattro bit di CKSEL a 0, attenzione che una volta settati i fuse in questo modo l'AVR diventa inutilizzabile se non colleghi il clock esterno, non puoi nemmeno cambiare i fuse senza clock esterno.

fabiokt88:
Ok, ma in pratica come posso scrivere la modifica per i fuse?

Con avrdude da riga di comando oppure usando una GUI come avrdudess o altre.

per favore, mi indicate un software che non sia troppo complicato per questa operazione? magari se ci fosse una guida di come bisogna procedere... ve ne sarei grato

Purtroppo per giocare con i fuses ... bisogna conoscere come è fatta la MCU, a cosa servono e esattamente quale funzione ha ogni singolo bit.

Quindi ...
... se vuoi CAPIRE, ti tocca studiare il datasheet del ATmega328P, altrimenti prendi per buoni i valori che ti hanno indicato, scaricati Avrdudess, seleziona il giusto programmatore, la giusta MCU, metti i valori che ti hanno dato e ... incrocia le dita.

Oppure ... spendi 15€ e studiati QUESTO libro :smiley:

Guglielmo

Bene, acquisto il libro, mi studio un pò tutto il discorso e procedo :grinning: