Antes de usar avr128 para usar el programa de grabación avr_fighter para controlar el puente H y así controlar el motor, todo era normal. Pero ayer me cambié a otro.
Sobre el uso y configuración del fusible AVR
Veo que mucha gente no sabe usar y hacer mal uso del fusible AVR, por eso me gustaría darte una referencia. .
5.1.1 Configurar correctamente la posición de los fusibles del AVR
Configurar la posición de los fusibles del AVR es una tarea relativamente detallada que los usuarios a menudo pasan por alto su importancia o les resulta difícil de dominar. . Los siguientes son algunos puntos clave y asuntos relacionados que se deben tener en cuenta al configurar los bits de fusible del AVR. Para conocer las definiciones y funciones específicas de los bits de fusible ATmega128, consulte los capítulos relevantes de este libro y en el apéndice se proporcionará una tabla resumen completa.
(1) En el manual del dispositivo AVR, el estado del bit del fusible se define como programado y no programado. "No programado" significa que el estado del fusible es "1" (deshabilitado); el estado del fusible es "1" (deshabilitado); "no programado" significa que el estado del fusible es "1" (deshabilitado); "no programado" significa que el estado del fusible es "1" (deshabilitado); "No programado" significa que el estado de la espoleta es "1" (deshabilitado); "Programado" significa que el estado de la espoleta es "0" (permitido). Por lo tanto, el proceso de configuración del bit del fusible es en realidad "configurar el bit del fusible al estado no programado". " '1' o estado programado '0'".
(2) Cuando utilice una herramienta de programación que determine el valor del estado de la posición del fusible seleccionando una marca de verificación, primero lea atentamente el manual de instrucciones del software para determinarlo. si la marca de verificación indica que el estado de la posición del fusible está establecido en "0" o "0"
(3) Cuando utilice el descargador programable de CVAVR, preste especial atención al descargador programable de CVAVR cuando descargue la programación. Cuando se abre inicialmente la interfaz, la mayoría de los bits de fusible se definen como "1", por lo tanto, no utilice la opción "Todos" en el menú programable. La opción "Todos" configurará los bits de fusible del chip con la definición de estado inicial de. los bits de fusible. , pero de hecho, este no suele ser el resultado de configuración que los usuarios desean. Si desea utilizar la opción "todos", primero debe utilizar "leer - bits de fusibles" para leer el estado real de los bits de fusibles en el chip y luego utilizar la opción "todos".
(4) Antes de usar un nuevo chip AVR, primero debe verificar la configuración de sus bits de fusible, luego configurar los bits de fusible de acuerdo con las necesidades reales y registrar el estado de cada bit de fusible para archivarlo.
(5) Después de cifrar el chip AVR, solo se pueden leer los datos en el Flash interno y E2PROM del chip. El estado del bit del fusible aún se puede leer, pero la configuración no se puede modificar. . El comando de borrado de chip es borrar los datos en Flash y E2PROM, y al mismo tiempo configurar el estado de los dos bits de bloqueo en "11", que es el estado desbloqueado. Sin embargo, el comando de borrado de chip no cambia el estado de otros bits de fusible.
(6) Los pasos de operación correctos son: con el chip desbloqueado, descargar el código y los datos de tiempo de ejecución, configurar los bits de fusible relevantes y finalmente configurar el bit de bloqueo del chip. Después de bloquear el chip, si descubre que la configuración del bit del fusible es incorrecta, debe usar el comando de borrado del chip para borrar los datos del chip y desbloquearlo. Luego, vuelva a descargar el código y los datos del tiempo de ejecución, modifique la configuración de los bits de fusible relevantes y finalmente reconfigure los bits de bloqueo del chip.
(7) Cuando se utiliza la descarga y programación en modo serie del ISP, el bit del fusible SPIEN debe configurarse como "0". Cuando el chip sale de fábrica, el estado predeterminado del bit SPIEN es "0", lo que permite descargar datos utilizando el modo serie ISP. La descarga del ISP a través del puerto SPI del AVR sólo es posible cuando este bit está programado en "0". Si este bit está configurado en un "1" no programado, la descarga de datos en serie del ISP se desactiva inmediatamente y los datos solo se pueden descargar a través del modo paralelo o el modo de programación JTAG.
Si este bit está configurado como un "1" no programado, la descarga de datos en serie del ISP se desactiva inmediatamente y el ISP solo se puede encender restableciendo SPIEN a "0" a través del modo paralelo o el modo de programación JTAG. Al diseñar el circuito, preste atención al aislamiento necesario de la interfaz ISP del dispositivo conectado, como el uso de resistencias en serie o la desconexión de puentes.
(8) Cuando el sistema no utiliza la interfaz JTAG para la programación de descarga o la depuración de simulación en línea en tiempo real, pero necesita utilizar los pines de la interfaz JTAG como puertos de E/S, el estado del El bit de fusible JTAGEN debe establecerse en "1". Cuando el chip sale de fábrica, el estado de JTAGEN por defecto es "0", lo que significa que se permite el uso de la interfaz JTAG y los pines externos de JTAG no se pueden usar como puertos de E/S. Cuando el estado de JTAGEN se establece en "1", la interfaz JTAG se desactiva inmediatamente. En este momento, JTAG solo se puede restablecer a "0" y JTAG se puede activar a través del modo paralelo o el modo de programación ISP.
(9) Generalmente, no configure el bit de fusible para definir el pin RESET como E/S (por ejemplo, establezca el estado JTAG en "0"),
(9 ) En general, no configure el bit de fusible para definir el pin RESET como E/S (por ejemplo, establezca el estado del bit de fusible RSTDISBL del ATmega8 en "0"). , porque después de ingresar Antes de programar en modo ISP, el pin RESET debe bajarse para poner el chip en estado de reinicio.
(10) Cuando utilice un chip AVR con un oscilador RC interno, preste especial atención a la configuración del bit fusible CKSEL. En términos generales, cuando el chip sale de fábrica, el estado del bit CKSEL utiliza de forma predeterminada el oscilador RC interno de 1MHz como fuente de reloj del sistema. Si se utiliza un oscilador externo como fuente de reloj para el sistema, no olvide configurar correctamente el bit fusible CKSEL primero; de lo contrario, habrá problemas con la sincronización de todo el sistema. No opere accidentalmente ni configure mal el bit fusible CKSEL para usar un oscilador externo (u otro tipo de oscilador) cuando el diseño no utiliza un oscilador externo (o un oscilador específico de reloj) como fuente de reloj del sistema. Una vez que esto sucede, el chip no puede funcionar usando la programación del ISP (porque el ISP requiere que el reloj del sistema del chip funcione y genere señales de control de sincronización) y el chip aparecerá "roto". En este punto, la única forma de guardar el chip es quitarlo y usar programación paralela, o usar JTAG (si se permite JTAG y la placa de destino tiene una interfaz JTAG). Otro método de rescate es intentar superponer temporalmente un tipo diferente de señal de reloj de oscilación en el pin de cristal del chip. Una vez que el ISP pueda operar el chip, configure inmediatamente el CKSEL para usar el oscilador RC interno de 1MHz como fuente de reloj. el sistema y luego ajuste la señal del reloj de acuerdo con la situación real y reconfigure CKSEL correctamente.
(11) Cuando utilice un chip AVR que admita IAP, si no utiliza la función BOOTLOADER, tenga cuidado de no configurar el bit fusible BOOTRST en "0", de lo contrario el chip se encenderá. El programa no se puede ejecutar desde 0x0000 en Flash cuando la alimentación está apagada. Cuando el chip sale de fábrica, el estado predeterminado del bit BOOTRST es "1". Consulte este capítulo para conocer la configuración de BOOTRST, la programación de BOOTLOADER y las aplicaciones IAP.
Además, el grupo webmaster cuenta con compras grupales de productos, que son económicos y garantizados.