Bases de fusible de AVR: ejecuta un avr con un reloj externo (3 / 6 paso)

Paso 3: ¿Cómo programar los fusibles?

Antes de comenzar, tenemos que mirar los bits del fusible del Atmega8 y valor inicial de ellos. Desde im haciendo de este instructable de móvil, hice una tabla que contiene los detalles necesarios. He creado usando google app android de hoja. No pude encontrar una manera de convertir a los cuadros. Así que aquí estoy publicar el enlace.

Bits del fusible del Atmega 8 (el uno im usando en este tutorial)

https://docs.Google.com/Spreadsheets/d/1haE2Sprdsa-NgKYsOQlwI99WHfGqCItJutG4h-MnOus/Edit?USP=docslist_api

Ahora pasemos a los detalles de cómo programar los bits del fusible en su AVR dependiendo del programador particular que utiliza. Al principio debemos consultar el manual del programador de los detalles. Por ejemplo, si está usando un STK600 con AVR Studio, la ventana de STK600 dispone de una ficha con la etiqueta de fusibles, donde establece los bits diferentes y donde se puede programar, verificar o leer los bits del fusible.

(Estoy usando un Atmega 8 para mi ejemplo. Sobre todo utilizar Atmega 8 ya que es barato y contiene memoria suficiente para la mayoría de mis proyectos).

Mayoría de las personas tiene confusión con respecto a este tema. Para decirlo muy simplemente, hay sólo dos tipos de fusibles, fusible de alta (hfuse) y bajo fusible (LFusible), algunos microcontroladores tienen un byte de fusible adicional conocido como fusible extendido (efuse).
Viene la parte más confusa. El estado no programado de un poco de fusible es lógica alta o 1, programación cualquier fusible poco va a cambiar su nivel a lógica bajo o 0.

"Una excepción sólo tener en cuenta es - el fusible bits relacionadas para arrancar cargador no son accesibles desde el software, pero estos se pueden acceder en modo de programación usando /serial paralelo herramienta de programación."

Como se describe en el cuadro anterior, se muestra el fusible junto con su valor y el número de bits. Algunas funciones de los fusibles mencionados son:-
(Yo usé un Atmega 8 hoja de datos para el diagrama que he publicado).

Byte alto de fusible (hfuse)

1) primer bit es BOOTRST que es sin programar por defecto (1). Si este bit está programada (0) luego después de haber encendido o dispositivo restablecerla inicia programa de ejecución de la sección de memoria del gestor de arranque. Simplemente, si se utiliza un Bootloader para flash MCU, este bit debe estar habilitada. Si simplemente cargar el firmware mediante programador ISP, deje este bit sin tocar.

BOOTSZ0 y BOOTSZ1 también son importantes si se utiliza el gestor de arranque. Estos bits permite seleccionar el tamaño de sección cargador de arranque.

2) bit siguiente es EESAVE. Si este fusible está programado (por escrito 0) memoria EEPROM permanece intacta durante el procedimiento de borrar Chip. A veces este fusible puede ser útil. Por ejemplo si guarda algunos datos importantes en la memoria EEPROM como calibración valores y necesita actualizar el programa sin perder datos, luego programe este bit. Pero si desea siempre tener chip limpio después de borrar, y deja sin tocar este bit (valor 1).

3) bit WDTON se utiliza para establecer inicialmente el temporizador de vigilancia. Si usted este programa su temporizador de vigilancia tendrá que estar siempre encendido y mantener reajuste chip periódicamente si ningún cuidado especial. Si no hay necesidad de vigilancia, luego dejarlo unprogammed.

4) SPIEN bit se utiliza para desactivar el modo de programación serie ISP. Realmente no es posible desactivar este bit de modo serial. Tiene que hacerse a través de programación de alto voltaje.

5) situación mismo es poco RSTDSBL. Se utiliza para deshabilitar la funcionalidad de restablecimiento que convierte RESET pin en a I/O. En general no es recomendable. Y no se puede desactivar cuando el dispositivo está programado en modo ISP.

6) CKOPT bit se utiliza para seleccionar opciones del oscilador.

Fusibles baja (LFusible)

Permite mira byte bajo de fusibles.

1) un grupo de cuatro bits similares CKSEL0 a CKSEL3 que se utilizan para seleccionar opciones de sincronización. Por defecto que fusible CKSEL0 a CKSEL3 están establecidas para seleccionar el oscilador interno 8MHz RC. Pero sabemos que AVRs pueden registrados en las más diversas maneras:

* Calibrar el oscilador interno RC (por defecto 8MHz)
* Oscilador RC externo
* Exterior cristal o resonador de cristal de
* Cristal de baja frecuencia externo
* Fuente de la señal de reloj externo

He explicado sobre el SUT (Inicio tiempo) en el siguiente paso.

Escribo sobre cómo calcular estos valores en nuestro propio, más adelante en este instructable.

2) BODEN o marrón un poco de habilitar detección permite marrón a detección. Brown out detección generalmente está desactivado (1). Programación este bit bajo la enanbles de (0) marrón a detección. La razón de esta característica es que cuando la tensión de alimentación es inferior a la tensión requerida por el microcontrolador, empieza a comportarse erráticamente. Se puede iniciar el borrado de su memoria o pueden ejecutar secciones al azar de su flash. Para evitar esto, se ha proporcionado marrón característica de detección. Una vez la fuente de voltaje se hace más bajo que el nivel DBO, el chip se cambiará de forma segura. Cuando la tensión de alimentación otra vez vuelve a la normalidad, el chip comienza de nuevo.

BODLEVEL - con este bit podemos fijar el Brown Out detección nivel. Por ejemplo - si el microcontrolador funciona a 3,3 voltios, podemos fijar el Brown Out detección nivel 2,7 voltios, por lo que si la tensión de alimentación se convierte en inferior a esto entonces el microcontrolador cerrará con seguridad.

Una característica interesante tener en cuenta aquí es, otros Microcontroladores AVR como Atmega 32 tienen algunos fusibles diferentes como en el byte alto fusible tienen OCDEN y JTAGEN y en Atmega 328p allí DWEN etc..

Pido disculpas por las imágenes de baja calidad porque estoy haciendo este instructable desde mi android.

Artículos Relacionados

Programación AVR con Arduino como ISP sin gestor de arranque y cristal externo

Programación AVR con Arduino como ISP sin gestor de arranque y cristal externo

Hola!!. Soy Avra y este es mi primer instructable. Aquí voy a explicar cómo grabar códigos en independiente AVR ICs sin usar cualquier USBASP, cualquier cristal externo y cualquier gestor de arranque. Sólo necesitas una placa de Arduino. Puede ser or
Control Denon AVR con shield Arduino Ethernet

Control Denon AVR con shield Arduino Ethernet

En este proyecto me he construido un panel de control simple para mi Denon AVR (AVR-X4100W).La mayoría de la Denon A receptores son red, para que los puedas controlar dentro de una interfase web o una aplicación. No hay ninguna documentación oficial
Programación de AVR con Arduino, AVRdude y AVR-gcc

Programación de AVR con Arduino, AVRdude y AVR-gcc

AVR es un tipo común, de bajo costo de microcontrolador que puede parecer intimidante trabajar con, pero no se preocupe! Una vez que tengas las herramientas configurar y conocimientos básicos pueden llegar a ser no sólo útil, sino fundamental a las n
Potencia tu Arduino/AVR con una batería de Hand-Cranked

Potencia tu Arduino/AVR con una batería de Hand-Cranked

si alguna vez has querido a tu Arduino o AVR de la energía de una batería de pruebas de desarrollo (las baterías tienen cualidades de entrega de alimentación diferente que, digamos, AC transformado o incluso una fuente regulada de DC) pruebas pero es
Construir un sistema completo de AVR y jugar Mastermind!

Construir un sistema completo de AVR y jugar Mastermind!

El juego Mastermind ha sido alrededor de mucho tiempo, y recuerdo que conseguir una versión de la placa con las clavijas de colores cuando era un niño. Me encanta este juego, ya que es solucionable simplemente por pura lógica. Un jugador (o un equipo
Todo en un programador AVR

Todo en un programador AVR

Hay mucha información sobre cómo cargar programas para Microcontroladores AVR, pero nunca he podido encontrar un lugar que tiene todo lo que necesito. Este es mi intento de crear un escudo de Arduino para programar ATtiny85, ATtiny84 y quemar el boot
Construir su propio controlador de cámara inalámbrica de múltiples funciones (¡ barato!).

Construir su propio controlador de cámara inalámbrica de múltiples funciones (¡ barato!).

Introduction¿Siempre creyó su propio controlador de cámara de la construcción?Nota importante: Condensadores para la MAX619 son 470n o 0.47u.  El esquema es correcto, pero la lista de componentes era incorrecto - actualizado.Es una entrada en el conc
AVRisp Micro REDisp V1

AVRisp Micro REDisp V1

La REDisp Micro AVRisp es serio pequeño programador ISP (1 pulgada cuadrada) que es reconocido como un USBtinyISP usando los mismos controladores y por lo tanto está listo para usar con los gustos de AVRdude y el IDE de Arduino. Disponibles en mi Tie
Ommatid pantalla esférica: Electrónica, programación e interactividad

Ommatid pantalla esférica: Electrónica, programación e interactividad

Este Instructable habla acerca de la electrónica y la programación de la pantalla esférica Ommatid. Se llama el Ommatid después de Ommatidia, el ojo compuesto de insectos se inspira en. Usted puede leer acerca de la construcción física del globo y co
Centralmente controlada marco de Fotos Digital

Centralmente controlada marco de Fotos Digital

bien, por lo que sé ya hay toneladas de marco de foto digital Instructables por ahí. Por favor, tenga conme como explico por qué éste es diferente.Estas son las características que hacen que mi marco bastante única de otros marcos de DIY que he visto
Cómo hacer un osciloscopio de Arduino de bajo costo 16 MHz usando Excel y la pantalla del ordenador a pantalla

Cómo hacer un osciloscopio de Arduino de bajo costo 16 MHz usando Excel y la pantalla del ordenador a pantalla

A menudo un aficionado de electrónica será diseñar y construir algo sólo para encontrar que no se comportan la manera que él o ella prevista. A veces en estas situaciones el problema está relacionado con una señal eléctrica, sino que la materia se mu
Cómo cambiar el fusible bits de AVR Atmega328p - microcontrolador de 8 bits con Arduino

Cómo cambiar el fusible bits de AVR Atmega328p - microcontrolador de 8 bits con Arduino

En este instructable aprenderás cómo cambiar el fusible bits de Atmega328p microcontrolador. Estoy utilizando Arduino mega como programador programa Atmega328P-PU en protoboard. Se trata de un valor predeterminado 1MHz interno calibrado frecuencia de
Programación de tensión AVR alta (rescate de fusibles)

Programación de tensión AVR alta (rescate de fusibles)

Hace un año me reinicia una de mis antiguas pasiones - electrónica. He estudiado electrónica en la Universidad pero eso sucedió durante la edad media (hace 20 años). Mientras esperaba este salto enorme en esquemas y lo que un aficionado puede hacer h
Un enfoque avanzado de programación de Arduino y AVR

Un enfoque avanzado de programación de Arduino y AVR

Este instructable es obligada lectura para todo aquel que esté familiarizado con núcleo AVR virutas y Arduino.Bien, para ser más específicos, al leer el instructivo, usted será capaz de:1) saber la diferencia correcta entre el AVR y Arduino.2) progra