Contactos

Descarga el programa desde usb isp. Programadores de microcontroladores AVR. Principales características del programador USBasp

Averigüemos qué es una interfaz ISP y veamos un programador ISP USB económico y conveniente. Veamos los diagramas esquemáticos de los programadores más simples para microcontroladores AVR que utilizan puertos COM y LPT en una computadora. Esta información es suficiente para actualizar la mayoría de los modelos de microcontroladores AVR no solo en Linux, sino también en otros sistemas operativos.

Interfaz de programación en el sistema del ISP

Para escribir un programa en el microcontrolador AVR necesitará un programador.

Programador Es un pequeño circuito electrónico que permite conectar un microcontrolador a uno de los puertos del ordenador (COM, LPT, USB) para su posterior lectura y escritura del firmware (programación).

Existen muchos diseños diferentes de programadores para microcontroladores AVR que se conectan a diferentes puertos de computadora.

La opción más confiable y conveniente es un programador que se conecta a un puerto USB, ya que los puertos COM y LPT ya no están instalados en las computadoras de escritorio y portátiles nuevas.

En los dispositivos terminados, el programador está conectado al microcontrolador a través de una interfaz ISP(En programación del sistema): interfaz de programación en el sistema. La interfaz ISP consta de varios conductores a través de los cuales se reciben una señal de reloj y datos para conectar el programador con el microcontrolador.

Como regla general, la interfaz ISP se coloca en placas con forma de diez o seis pines, a las que se conecta el programador mediante un conector adecuado mediante un cable.

Arroz. 4. Interfaz ISP en la placa.

Propósito de los pines en la interfaz del ISP:

  1. VCC - fuente de alimentación plus, normalmente +5V;
  2. GND - potencia negativa, tierra (Tierra);
  3. MOSI - entrada de datos (Master Out Slave In);
  4. MISO - salida de datos (Master In Slave Out);
  5. SCK - señal de reloj (reloj serie);
  6. RST: para proporcionar una señal de reinicio.

Para la programación en circuito del microcontrolador sólo son suficientes 4 pines, ya que el microcontrolador puede alimentarse desde el propio circuito donde está instalado.

¿Cómo conectar el programador al chip del microcontrolador AVR si no está soldado al circuito? - muy simplemente, utilizando los mismos pines de la interfaz ISP, si es necesario, alimentando el microcontrolador desde la fuente de alimentación.

Programador USB ISP ASP

Para trabajar con chips AVR, compré un programador ISP USB económico por unos 10 dólares. Un dispositivo de este tipo ya está a la venta en muchas tiendas en línea nacionales y extranjeras, por lo que no debería haber problemas con la compra.

Arroz. 5. USB ISP: programador con cable para programación en circuito de microcontroladores AVR de ATMEL.

Este programador es seguro de usar, de tamaño pequeño y compatible con la mayoría de los programas para flashear microcontroladores AVR. USB ISP se ejecuta en los sistemas operativos Linux, Mac OS X y Windows. Para Linux, no necesita instalar ningún controlador; después de conectar el programador al puerto USB, el dispositivo será detectado inmediatamente y estará listo para usar.

A continuación, daré la distribución de pines de los conectores del programador USB ISP; nos será útil más adelante cuando nos conectemos al microcontrolador.

Arroz. 6. Ubicación de los pines en el conector USB ISP (pinout).

Arroz. 7. Ubicación de los contactos en las tomas de los conectores conectados al programador USB ISP.

¿Qué hacer si no puedes comprar un programador ISP USB?- Puede programar microcontroladores utilizando programadores caseros simples que se conectan a un puerto COM o LPT, pero es mejor hacer un ISP USB usted mismo y programar el chip del microcontrolador una vez con un programador casero simple a través de un puerto COM o LPT.

Arroz. 8. Diagrama esquemático de un programador ISP USB ASP casero.

Puede encontrar información detallada sobre la fabricación de USB ASP, así como placas de circuito impreso, controladores y firmware para el microcontrolador en el sitio web oficial: http://www.fischl.de/usbasp/

Además, hay bastantes recursos sobre este programador gratuito en Internet, hay muchos diseños de placas de circuito impreso listos para usar, incluso en el programa SprintLayout, por lo que no nos detendremos en esto en detalle en este artículo.

Programador usando puerto COM

Este programador también se llama "programador Gromov", en honor a quien ideó este esquema, el creador del programa Algorithm Builder (un entorno gráfico para programar AVR en Windows utilizando un lenguaje algorítmico): G.L. Gromová.

Este programador le permite programar chips AVR utilizando el puerto COM de la computadora - interfaz RS232. Para ensamblar un programador de este tipo, necesitará un mínimo de piezas: 3 diodos, 7 resistencias, un conector DB-9 o DB-25 (dependiendo del conector acoplado que esté instalado en su computadora) y un conector ISP para conectarse al microcontrolador. (o simplemente unos pocos conductores para chip). Se puede utilizar cualquier diodo de baja potencia en el circuito.

Arroz. 9. Diagrama esquemático del programador del microcontrolador AVR a través de un puerto COM de computadora.

Para completar la información, a continuación proporcionaré la distribución de pines de los puertos RS-232 para las opciones DB-9 y DB-25.

Arroz. 10. RS232 - Puerto COM, disposición de pines DB-9.

Arroz. 11. Puerto COM RS232 DB-25: ubicación de las clavijas en los conectores.

Programador usando puerto LPT

Como sabemos, el puerto LPT de una computadora está diseñado para conectar una impresora local (Local Printer Port), pero sin embargo se usa a menudo para conectar varios dispositivos y productos caseros. En este caso podemos utilizarlo para programar microcontroladores AVR montando un circuito muy sencillo para tal fin, que se muestra a continuación.

Arroz. 12. Diagrama esquemático de un programador para microcontroladores AVR utilizando el puerto LPT de una computadora.

Como ves, el circuito es incluso más sencillo que en la versión con, aquí solo necesitamos 4 resistencias de bajo consumo y un conector (macho, con pines) para conectar al puerto LPT del ordenador.

Arroz. 13. Ubicación de pines para conectores de puerto LPT.

Todas las piezas y conexiones se pueden colocar en la carcasa del conector LPT, y para conectar al microcontrolador se puede sacar un cable con un conector para la interfaz ISP o simplemente los conductores necesarios para conectar al microchip.

Software y notas

Una vez conectado el programador COM o LPT al microcontrolador, no se debe olvidar suministrar energía al propio microchip. Puedes utilizar baterías o una fuente de alimentación con estabilizador como fuente de alimentación para el microcontrolador, esto será lo más seguro tanto para el puerto de la computadora como para el chip. Ya hemos hablado de cómo utilizarlo.

En Linux existe un programa muy potente que puede funcionar con programadores USB ASP, COM y LPT: este programa AVRDUDE, se discutirá en las siguientes secciones.

Para actualizar chips AVR en Windows utilizando datos de programadores COM y LPT, necesita el programa UniProf de Nikolaev, que es un programador universal para AVR (avr.nikolaew.org).

¡ATENCIÓN! Tenga mucho cuidado y cuidado al ensamblar y usar programadores usando el puerto COM o LPT de una computadora, un simple error puede fácilmente prendió fuego a estos puertos. Para el funcionamiento normal de dichos programadores, debe intentar utilizar los conductores más cortos posibles desde el conector hasta el circuito del programador y el microcontrolador. Es recomendable que el microprocesador de la computadora tenga una frecuencia de no más de 1-2 GHz, y como sistema operativo para programar los chips es recomendable utilizar Win2000 o WinXP.

También es importante saber que los adaptadores USB-RS232 (puerto USB-COM) probablemente no funcionarán con el programador de Gromov; solo funcionarán aquellos con chips más nuevos, por lo que es mejor buscar una máquina con un puerto COM nativo.

Conclusión

Los programadores discutidos en el artículo son solo algunas de las soluciones más asequibles y simples de una gran lista de programadores AVR: USBTinyISP, AVR-Doper, AVR vusbtiny, AVRISP-MkII, programadores FTDI y otros.

Ahora, en cualquier caso, puede ensamblar un programador disponible para usted y actualizar al menos un chip, a partir del cual puede ensamblar otro programador más conveniente o algún otro dispositivo.

En el próximo artículo, descubriremos cómo conectar diferentes modelos de microcontroladores AVR al programador y descubriremos dónde obtener información sobre la distribución de pines de los microcontroladores.

Los microcontroladores de ATMEL han ganado gran popularidad. Antes de su uso, su programación se puede realizar directamente en la placa del dispositivo terminado mediante un simple cable ISP conectado al puerto LPT de una computadora personal o un cable un poco más complejo conectado al puerto COM. Pero hoy en día cada vez se fabrican más placas base sin ambos, y en los portátiles LPT hace mucho tiempo que desapareció, sustituido por una interfaz USB. Sin embargo, también existen y están disponibles programadores para esta interfaz.

Para escalar, hay un LED normal de 5 mm cerca.
Este programador USBASP admite los siguientes microcontroladores:

Lista de MK compatibles

ATtiny11, ATtiny12, ATtiny13, ATtiny15, ATtiny22, ATtiny2313, ATtiny24, ATtiny25, ATtiny26, ATtiny261, ATtiny28, ATtiny44, ATtiny45, ATtiny461, ATtiny84, ATtiny85, ATtiny861
AT90S1200, AT90S2313, AT90S2323, AT90S2343, AT90S4414, T90S4433, AT90S4434, AT90S8515, AT90S8535
ATmega8, ATmega48, ATmega88, ATmega16, ATmega161, ATmega162, ATmega163, ATmega164, ATmega165, ATmega168,ATmega169, ATmega32, ATmega323,ATmega324, ATmega325,
ATmega3250, ATmega329, ATmega64, ATmega640, ATmega644, ATmega645, ATmega6450, ATmega649, ATmega6490, ATmega128, ATmega1280, ATmega1281, ATmega2560, ATmega2561, ATmega103, ATmega406, ATmega851 5, ATmega8535
AT90CAN32, AT90CAN64, AT90CAN128
AT90PWM2, AT90PWM2B, AT90PWM3, AT90PWM3B
AT90USB1286, AT90USB1287, AT90USB162, AT90USB646, AT90USB647
AT89S51, AT89S52
AT86RF401




Con el programador se suministra un cable de vuelo de 10 núcleos con conectores.


El programador se alimenta desde el puerto USB de la computadora.


En la placa del programador hay un lugar para desoldar un regulador de voltaje LDO de 3,3 V, pero no está soldado en sí.
El programador cuenta con el apoyo del programa AVRDUDE. El programa en sí es un programa de consola, pero hay un archivo . La utilidad avrdude se puede encontrar en la carpeta /hardware/tools/ en la distribución Arduino IDE o descargarse de Internet.
Antes de comenzar a trabajar con el programador, deberá descargar el controlador desde .
El programador también cuenta con el apoyo del entorno de desarrollo Arduino.


Existe un firmware para el programador llamado , que lo convierte en compatible con STK500 y aceptado por el entorno de desarrollo propietario ATMEL AVR Studio, pero debido a la alta variabilidad del hardware chino, puede usarlo solo bajo su propia responsabilidad y riesgo. Estoy pensando en comprar +32 Agregar a los favoritos Me gustó la reseña +17 +42

Hay muchos circuitos programadores USB para microcontroladores AVR en Internet. Todos ellos se pueden dividir en tres grupos: programadores basados ​​en microcontroladores AVR, en los que la interfaz USB está implementada en software, programadores basados ​​en microcontroladores AVR con soporte de hardware USB y programadores basados ​​en chips FT232, que funcionan en modo BitBang.

Uno de los programadores USB AVR más fáciles de replicar es USBasp. Está ensamblado en un microcontrolador Atmega8 (o Atmega48), requiere un mínimo de componentes externos, tiene varias opciones de diseño de PCB y shells de programación listos para usar, y también puede ejecutarse en Linux y MacOS.

Realmente hay uno ¡PERO! Para revivir este programador, necesita escribir firmware en el microcontrolador, lo que significa que ya debería tener algún tipo de programador AVR en funcionamiento, o al menos poder conseguirlo en alguna parte.

El diagrama del programador USBasp se muestra en la siguiente figura. Tomé como base el diagrama del sitio web del autor http://www.fischl.de/usbasp y lo modifiqué un poco. Se agregaron diodos VD1 - VD3 para reducir el voltaje de suministro y hacer coincidir los niveles lógicos del microcontrolador y el puerto USB sin diodos Zener. Los circuitos conectados al UART fueron desechados, ya que no se utilizaban, y se agregó el puente JP1.

Te contaré sobre el propósito de los LED y los puentes.

HL1 indica que la programación está en progreso. Se enciende mientras se escribe el firmware.

HL2 indica que el programador está en condiciones de funcionar. Se enciende cuando se aplica energía.

JP1 cortocircuita una cadena de diodos, lo que le permite cambiar el voltaje en el conector de programación de 3 a 5 V. Sin embargo, sin diodos Zener, esto no funcionará con todas las computadoras. Muchas computadoras no reconocen USBASP si tiene niveles lógicos de 5 voltios.

JP2 cambia la frecuencia de la señal SCK. Con el puente abierto, la frecuencia SCK será de 375 kHz, con el puente cerrado, 8 kHz. Esto es necesario para programar microcontroladores con velocidades de reloj bajas (menos de 1,5 MHz).

JP3 conecta el pin RESET al conector de programación. Esto es necesario para programar el propio microcontrolador programador.

JP4 se conecta al conector de programación de +5V desde el puerto USB. Esta función puede ser necesaria para alimentar la placa programable desde el programador.

ensamblaje USBASP

Para montar el programador USBASP necesitarás los siguientes componentes:

Hacer un tablero utilizando el método LUT no es particularmente difícil: el tablero es unilateral y las pistas son anchas. Al imprimir, no es necesario reflejar el diseño del tablero.


Después de ensamblar la placa, se debe revisar cuidadosamente para detectar cortocircuitos. Especialmente en las cadenas alimentarias. Si todo está en orden, puede escribir el firmware en el microcontrolador. Se puede encontrar al final del artículo. Esta es la última versión actual, pero por si acaso, consulte el sitio web del autor.

Puedes programar el microcontrolador directamente en la placa. Para hacer esto, es necesario cerrar los puentes JP3 y JP4, conectar USBasp a la computadora para suministrar energía y conectar el programador al conector BH-10. El resto de pasos dependen del programador que estés utilizando.

Una vez programado el microcontrolador, debe configurar los bits del fusible para que sea sincronizado por un cristal externo. Los significados de los bits Fuse son:

atmega8 HFUSE=0xc9 LFUSE=0xef
atmega88 HFUSE=0xdd LFUSE=0xff

Actualicé USBASP con mi programador nativo Atmel. En Atmel Studio, mi ventana con bits Fuse se veía así.

Si actualiza USBasp con un programador en FT232, en SinaProg la imagen de los bits Fuse será así.


No hay diferencia, así que no preguntes qué bits Fuse instalar.

Instalación de controladores para USBasp

Para trabajar con el programador en Windows, necesita instalar controladores. Se pueden descargar desde el sitio web del autor. Para los sistemas operativos Linux y MacOS X, USBasp no requiere controlador.

Conectamos el USBasp ensamblado y programado al ordenador. El sistema operativo nos notificará que se ha encontrado nuevo hardware y nos ofrecerá instalar controladores.


Seleccione la opción: instalar desde una ubicación especificada


Especifique la carpeta en la que se encuentran los controladores del programador.


El sistema se enfriará un poco y luego comenzará el proceso de instalación.


Si todo salió bien, el asistente de hardware completará el trabajo.


Y Windows nos avisará cuando se instale nuevo hardware.


Ahora se puede utilizar el programador.

El procedimiento descrito puede diferir ligeramente según la versión del sistema operativo, pero la esencia es la misma: sacar los controladores de la carpeta.

Shells para trabajar con USBasp

Hay varios programas para trabajar con USBasp: avrdude, eXtremeBurner, Khazama y... algunos otros.

En mi opinión, el programa más fácil de usar para USBaspa es Khazama. Tiene una interfaz de ventana sencilla e intuitiva. El proceso de programación del microcontrolador se realiza en tres pasos.

El programador se basa en un controlador de Objective Development y es totalmente compatible en comandos con el programador AVR910 original de ATMEL. Descripción del dispositivo. El fusible protege las líneas de alimentación del puerto USB de cortocircuitos accidentales en los circuitos de alimentación del programador. Los diodos VD1, VD2 son de silicio rectificador y están diseñados para reducir la fuente de alimentación del microcontrolador a 3,6 V. Según la documentación, el controlador puede funcionar con esta tensión de alimentación hasta una frecuencia de poco más de 14 MHz. LED VL1 (" R.D."), VL2 (" WR") señalan las acciones actuales del programador e indican los modos de lectura y escritura. LED VL3 (" PWR”) indica que se está suministrando energía al .

Puente J1 - ( Modificar) se utiliza para la programación inicial del programador MK de control. Cuando está cerrado, se conecta un programador externo al conector ISP y el programa de control se carga en el MK. Después de programar el programador MK de control, se debe abrir este puente y cerrar el puente J2 - NORMal.

Puente J3 SCK BAJO reduce la frecuencia de reloj del puerto SPI del programador MK a ~20 kHz. Cuando el jumper está abierto, la frecuencia SPI es normal, cuando está cerrado, se reduce. Puede cambiar el puente sobre la marcha, ya que el programa de control del programador MK verifica el estado de la línea PB0 cada vez que se accede al puerto SPI. No se recomienda cambiar el puente mientras se está ejecutando la escritura/lectura de un microcontrolador programable, ya que esto probablemente provocará una distorsión de los datos que se escriben/leen. Se introduce el puente J3 para permitir la programación de microcontroladores AVR sincronizados desde un oscilador interno de 128 kHz.

Las resistencias R10 - R14 están diseñadas para coincidir con los niveles de señal del microcontrolador programador y los circuitos externos (microcontrolador programable u otro programador). La frecuencia de reloj del puerto SPI del programador MK con el puente J3 abierto es 187,5 kHz. Esto permite programar los controladores con velocidades de reloj que van desde aproximadamente 570 kHz para ATtiny/ATmega, 750 kHz para el 90S y 7,5 MHz para el 89S. Los controladores se programan de 10 a 30 segundos (usando la utilidad AVRProg v.1.4 del paquete AVR Studio) junto con la verificación dependiendo de la cantidad de memoria FLASH y la frecuencia del reloj.

Se envía una onda cuadrada con una frecuencia de 1 MHz a la salida LED del conector ISP para "revivir" los MK que tenían bits de fusibles programados erróneamente responsables de la sincronización. La señal se genera constantemente y no depende del modo de funcionamiento del programador. El programador fue probado con los programas AVRProg v.1.4 (incluido en el paquete AVRStudio), ChipBlasterAVR v.1.07 Evaluación, CodeVisionAVR, AVROSP (ATMEL AVR Open Source Programmer). Para el funcionamiento normal del controlador en el circuito, es necesario que los bits estén programados (establecidos en “0”) ESPIEN, COMPRAR, SUT0 Y BODEN. Normalmente, los microcontroladores vienen de fábrica, p. nuevo, ya he programado bit ESPIEN. Los bits restantes deben estar sin programar (establecidos en "1").

Instrucciones de instalación y funcionamiento. Flashea el controlador. Conecta el programador recién horneado al ordenador vía USB. El sistema operativo encontrará un nuevo dispositivo, el programador USB AVR910, cuando se le solicite que busque automáticamente el controlador, lo rechace y especifique la ruta al archivo inf, según el sistema operativo instalado en su computadora.

El foro contiene todos los archivos, así como la placa de circuito impreso de nuestro programador avr. Aquí les mostraré la tecnología para ensamblar el programador USB AVR y empaquetarlo en un estuche. Primero, descargue el archivo y haga una placa de circuito impreso.

Luego soldamos todos los detalles en él. No pude encontrar un cuarzo pequeño, así que soldé uno grande, pero con patas largas, para poder doblarlo más tarde y no interferir con la instalación de la placa en la caja. A continuación seleccionamos un estuche adecuado, yo ya lo tenía preparado.

Ajustamos el tablero a la carcasa, tomamos todas las medidas, perforamos agujeros y aquí tienes el dispositivo terminado, con un tablero universal.

Si no hay un equipo de medición especial, se puede comprobar mediante un LED. El LED está conectado con el ánodo al pin del LED y el cátodo a cualquier pin GND del conector ISP. Cuando se aplica energía, el LED debe brillar a máxima intensidad. Cuando cierras las patas del oscilador de cuarzo con unas pinzas, el LED debería brillar a “máxima temperatura” o no debería brillar.

Sin errores, no es necesario configurar el programador ensamblado con un microcontrolador correctamente programado. Pero si la entrada RESET de un MK programable está conectada a la tensión de alimentación mediante una resistencia, entonces el valor de la resistencia no debe ser inferior a 10 kOhm; esto se debe a la tensión de alimentación reducida del controlador de control en el circuito del programador y a la introducción de resistencias limitadoras en el bus del conector ISP.

Discuta el artículo PROGRAMADOR USB AVR

Con el desarrollo de la tecnología informática, cada vez hay menos ordenadores equipados con puertos COM y LPT. Esto, a su vez, causa dificultades, en particular para los radioaficionados, asociadas con el emparejamiento de herramientas de programación de microcontroladores con una computadora personal.

Este artículo describe un programador USB para microcontroladores AVR, que puede ensamblar usted mismo. Está construido sobre un microcontrolador Atmega8 y es capaz de funcionar desde el conector USB de una computadora. Este programador es compatible con STK500 v2.

Descripción del programador USB

El programador USB está construido sobre una placa hecha de fibra de vidrio de una cara. Hay 2 puentes en la placa: uno está ubicado debajo del conector SPI y el segundo puente está ubicado cerca del mismo conector.

Una vez selladas todas las piezas, debe actualizar el microcontrolador Atmega8 con el firmware que se encuentra al final del artículo. Los fusibles que deben configurarse al programar el microcontrolador Atmega8 deberían verse así:

  • SU1 = 0
  • BOTASZ1 = 0
  • BOTASZ0 = 0
  • COMPRAR = 0
  • ESPIEN = 0

Hay que recordar que en algunos programas la configuración de los fusibles se configura en sentido contrario a este. Por ejemplo, en el programa CodeVisionAVR debe marcar las casillas junto a los fusibles mencionados anteriormente, y en el programa PonyProg viceversa.

Programación de Atmega8 a través del puerto LPT de una computadora

La forma más rápida y económica de programar Atmega8 es utilizar un programador LPT para AVR. A continuación se muestra un diagrama similar.

El microcontrolador funciona mediante un simple regulador de voltaje 78L05. Puede utilizar el programa UniProf como shell de programación.

Cuando enciende el programa por primera vez y cuando el controlador no está conectado, al presionar el botón "LPTpins", debe configurar los pines del puerto LPT de la siguiente manera:

Cuando se inicia UniProf, determina automáticamente el tipo de microcontrolador. Cargamos el firmware Atmega8_USB_prog.hex en la memoria de UniProf y rechazamos la conexión del archivo EEPROM.

Configuramos los fusibles de la siguiente manera (para el programa UniProF) presionando el botón “FUSIBLE”:

Para recordar la configuración, presione los tres botones "Escribir". Luego, al hacer clic en "Borrar", primero borramos la memoria del microcontrolador que se está actualizando. Después de esto, haga clic en "Prog" y espere a que se complete el firmware.

Configurar un programador USB

Después de actualizar nuestro microcontrolador, debe instalarse en la placa del programador USB. A continuación, conectamos el programador al puerto USB del ordenador, pero aún no le suministramos energía.

Configuración del puerto:

Configuración de terminales:

Configuración ASCII:

Ahora, una vez completados todos los procedimientos, suministramos energía al programador USB. El LED HL1 debería parpadear 6 veces y luego permanecer encendido.

Para verificar la conexión entre el programador USB y la computadora, presione la tecla "Enter" 2 veces en el programa HyperTerminal. Si todo está bien deberíamos ver la siguiente imagen:

Si este no es el caso, revise nuevamente la instalación, especialmente la línea TxD.

A continuación entramos en la versión 2.10 del programador, ya que sin ella el programador no funcionará con programas de “nivel superior”. Para hacer esto, ingrese “2” y presione “Enter”, ingrese “a” (inglés) y presione “Enter”.

El programador USB es capaz de reconocer la conexión de un microcontrolador programable. Esto se hace monitoreando el "pull-up" de la señal de reinicio a la fuente de energía. Este modo se activa y desactiva de la siguiente manera:

  • “0”, “Entrar”: el modo está deshabilitado.
  • “1”, “Entrar”: el modo está habilitado.

Cambio de velocidad de programación (1MHz):

  • “0”, “Entrar” – velocidad máxima.
  • “1”, “Enter” – velocidad reducida.

Esto completa el trabajo preparatorio, ahora puede intentar actualizar algún microcontrolador.

(descargas: 1.203)



¿Te gustó el artículo? Compártelo