Cosa sono i fusibili Atmel?


21

Cosa sono i fusibili nei microprocessori Atmel e quando devo o devo modificare le impostazioni predefinite?


7
Fai attenzione, è facile disabilitare l'ISP e bloccarti impostando i fusibili sbagliati.
Starblue,

Risposte:


23

Sono essenzialmente parametri di configurazione, o come il BIOS del chip. C'è un fantastico calcolatore di fusibili per gli AVR Atmega qui: http://www.engbedded.com/fusecalc/

Controllano cose come l'oscillatore da utilizzare e la velocità a cui correre (cioè l'oscillatore interno da 8 MHz o un cristallo esterno), il rilevamento del brownout e la dimensione del flash di avvio.


scusatemi, ma mi chiedevo se all'interno di ATmega ci sono micce fisiche o sono come un'emulazione software di una miccia? Oh, e cosa succede se si brucia una miccia? Sto anche pensando allo stesso tipo di miccia?
Jim,

5
no, non sono affatto come quel tipo di miccia. sono fondamentalmente solo alcuni bit di memoria flash o eeprom, separati dagli altri, che vengono utilizzati come parametri di configurazione.
davr

24

Vedo che Blalor ha già un'ottima risposta ai fini delle micce Atmel.

Per rispondere alla domanda successiva di "se sono micce fisiche o sono programmabili da software", la risposta è nessuna delle due. Tutti i moderni microcontrollori Atmel e Microchip memorizzano i "bit dei fusibili" in celle di memoria non volatili, praticamente le stesse delle celle flash SLC.

Quando si utilizza un programmatore di chip per scaricare un nuovo programma nella memoria Flash del programma del microcontrollore, cancella e riprogramma quelle celle di memoria dei bit di fusione.

Tuttavia, il software in esecuzione su un microcontrollore non è in grado di modificare i bit dei fusibili - nemmeno se si utilizza un microcontrollore "autoprogrammante", ovvero un microcontrollore che consente al software di bootloader in esecuzione su di esso di riprogrammare la propria memoria flash del programma .

Alcuni processori Atmel (in particolare quelli a basso consumo) consentono al software in esecuzione su di essi di cambiare la sorgente di clock al volo scrivendo in un registro di configurazione - ma ogni volta che vengono ripristinati (o l'alimentazione scompare e poi ritorna) , tornano a utilizzare la sorgente di clock specificata nei bit dei fusibili. L'unico modo per cambiare quei bit dei fusibili è con un programmatore di chip.

Decenni fa, quei bit di configurazione (e anche la memoria del programma) erano effettivamente archiviati in micce - un mucchio di sottili fili di metallo; quelli appropriati sono stati "soffiati" selettivamente applicando 12 V fino a quando il metallo si è fuso e disconnesso e il bit è diventato non conduttivo. Come probabilmente hai capito, questo rende il microprocessore programmabile una volta (OTP) - l'unico modo per disinnescare una miccia era di buttare via l'intero microprocessore, estrarne uno nuovo e ricominciare tutto da capo.

Chiamiamo ancora quei bit di configurazione "bit di fusione" per motivi storici - proprio come spesso chiamiamo la memoria di programma "ROM" (anche se non è realmente "sola lettura" su un microcontrollore autoprogrammante) e abbiamo "solido "relè statali" che non hanno parti mobili e "compagnie telefoniche" che trascorrono solo una piccola parte del loro tempo a occuparsi del suono, e "computer" che passano la maggior parte del tempo a visualizzare immagini e riprodurre musica piuttosto che, sai, numeri di calcolo.


8

Possono essere un po 'una seccatura se commetti un errore con loro e configuri il tuo chip per l'uso con un oscillatore esterno quando utilizza un oscillatore a cristallo o interno. Scoprirai quindi che non puoi programmare il tuo chip e devi iniettare un segnale di clock nel pin dell'oscillatore per recuperarlo, impostando correttamente il fusibile.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.