25 votos

¿Qué son los fusibles Atmel?

¿Qué son los fusibles en los microprocesadores Atmel y cuándo debo o necesito cambiar la configuración por defecto?

7 votos

Ten cuidado, es fácil desactivar el ISP y quedarte fuera de servicio colocando los fusibles incorrectos.

31voto

Jeremy Ruten Puntos 59989

Veo que blalor ya tiene una excelente respuesta para el propósito de los fusibles Atmel.

Para responder a la siguiente pregunta: "¿son fusibles físicos o son programables por software?", la respuesta es ninguna de las dos cosas. Todos los microcontroladores modernos de Atmel y Microchip almacenan los "bits fusibles" en células de memoria no volátil, físicamente iguales a las células flash SLC.

Cuando se utiliza un programador de chips para descargar un nuevo programa en la memoria Flash del microcontrolador, también se borran y reprograman esas celdas de memoria de bits fusibles.

Sin embargo, el software que se ejecuta en un microcontrolador no puede cambiar los bits del fusible, ni siquiera si se utiliza un microcontrolador "autoprogramable", es decir, un microcontrolador que permite que el software de arranque que se ejecuta en él reprograme su propia memoria flash de programa.

Algunos procesadores Atmel (especialmente los de bajo consumo) permiten que el software que se ejecuta en ellos cambie la fuente de reloj sobre la marcha escribiendo en algún registro de configuración -- pero siempre que se reinician (o se va la corriente y luego vuelve), vuelven a usar la fuente de reloj especificada en los bits fusibles. La única manera de cambiar esos bits fusibles es con un programador de chips.

Hace décadas, esos bits de configuración (y también la memoria de programa) se almacenaban en realidad en fusibles: un montón de finos hilos de metal; los apropiados se "fundían" selectivamente aplicando 12 V hasta que el metal se fundía y desconectaba y el bit se volvía no conductor. Como ya habrás deducido, eso hacía que el microprocesador fuera programable una sola vez (OTP): la única forma de deshacer un fusible era tirar todo el microprocesador, sacar uno nuevo y empezar de nuevo.

Seguimos llamando a esos bits de configuración "bits fusibles" por razones históricas, al igual que solemos llamar "ROM" a la memoria de programa (aunque en realidad no es de "sólo lectura" en un microcontrolador autoprogramable), y tenemos "relés de estado sólido" que no tienen partes móviles, y "compañías telefónicas" que pasan sólo una pequeña fracción de su tiempo ocupándose realmente del sonido, y "ordenadores" que pasan la mayor parte de su tiempo mostrando imágenes y reproduciendo música en lugar de, ya sabes, computando números.

24voto

Yaakov Ellis Puntos 15470

Son esencialmente parámetros de configuración, o como la BIOS del chip. Hay una fantástica calculadora de fusibles para Atmega AVRs aquí: http://www.engbedded.com/fusecalc/

Controlan cosas como qué oscilador utilizar y a qué velocidad funcionar (es decir, el oscilador interno de 8MHz o un cristal externo), la detección de caídas de tensión y el tamaño de la flash de arranque.

1 votos

Siento entrometerme, pero me preguntaba si hay fusibles físicos dentro del ATmega o son como una emulación por software de un fusible. Ah, ¿y qué pasa si se funde un fusible? ¿Estoy pensando en el mismo tipo de fusible?

5 votos

No, no son para nada ese tipo de fusibles. básicamente son unos bits de memoria flash o eeprom, separados del resto, que se utilizan como parámetros de configuración.

8voto

Mark Biek Puntos 41769

Pueden ser un poco molestos si te equivocas con ellos y configuras tu chip para usarlo con un oscilador externo cuando usa un cristal o un oscilador interno. Entonces te encuentras con que no puedes programar tu chip, y necesitas inyectar una señal de reloj en el pin del oscilador para recuperarlo, configurando el fusible correctamente.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X