Vous êtes sur la page 1sur 17

1

Gua 15 - Uso de AVR-ISP500


Prof. Marco Rivera Abarca
Universidad de Talca, Depto. de Tecnologas Industriales, Curic o, CHILE
E-mail: marcoriv@utalca.cl
1
Jorge Guerrero Rivas,
2
Claudio Uribe Figueroa,
3
Ra ul Mel endez Tobar
Ayudantes del M odulo
1
jguerrero10@alumnos.utalca.cl,
2
cluribe09@alumnos.utalca.cl,
3
rmelendez10@alumnos.utalca.cl
Abstract: En la presente gua se entrega la informaci on necesaria para la utilizaci on del programador AVR-ISP500,
el cual es un programador utilizado para cargar los c odigos en microcontroladores de la familia Atmel. Dentro de esta
gua se dan ejemplos claros de la utilizaci on de este programador, del como conectar hasta el c omo cargar el c odigo
desde el computador al microcontrolador.
I. INTRODUCCI ON
AVR-ISP500 es un programador USB de bajo costo para la familia de microcontroladores AVR. El protocolo implementado
en el programador STK-ISP500 fue denido por Atmel el cual lo hace compatible con una rango de herramientas, entre las
cuales se encuentra AVRStudio y AVRdude. Por lo cual existen dos formas de utilizar el AVR-ISP500, una de ellas es mediante
AVRStudio y la otra por medio de AVRdude.
Figura 1. AVR-ISP500.
II. CARACTERISTICAS
Este programador posee las siguientes caractersticas:
Es compatible con la STK500v2.
Funciona con AVRStudio, WinAVR, AVRdude y muchos otros softwares compatibles con STK500v2.
Posee un puerto USB para ser conectado al computador.
Tiene un LED bi-color para determinar el estado actual de operaci on.
Posee ambos conectores de Atmel, el ICSP10 y ICSP6.
Es alimentado por USB.
Posee una salida de reloj en el ICSP10, en el pin 3 del mismo, este clock sirve para algunos AVRs con el fusible de
clock externo habilitado.
Soporta voltajes de entrada desde 1.8[V] hasta 5.5[V].
Las frecuencias del ISP varan desde 5[kHz] hasta 2[MHz].
III. ADVERTENCIA SOBRE LA ELECTROEST ATICA
El AVR-ISP500 no debe estar bajo potenciales electrost aticos altos. Se deben aplicar las pr acticas generales de trabajo con
aparatos sensibles a la est atica cuando se trabaje con este programador.
2
IV. REQUERIMIENTOS
Cables: un cable USB A-B de un largo no m as de 1.8[m] (menor distancia menor probabilidad a que falle).
Software: Es necesario tener instalado un compilador para poder cargar los c odigos al microcontrolador, para esto se puede
utilizar uno de la siguiente lista:
AVRStudio, de Atmel (es con el que se trabajar a en este curso).
AVRdude, incluido en la distribuci on de WinAVR.
O cualquier otro software el cual soporte el protocolo de la STK500v2.
V. MICROCONTORLADORES SOPORTADOS
La siguiente lista de microntroladores de AVR son soportados para programar:
AVRs cl asicos de 8 bits.
megaAVR
tinyAVR
USB AVR
La siguiente lista son los microcontroladores no soportados:
XMEGA
AVR32
VI. CONECTORES
La lista de conectores que se aprecia en la Tabla I corresponde a los que se aprecian en la Figura 2.
Figura 2. Conector ICSP10, vista de los pines.
Tabla I
ICSP10, PINES
pin Abrev. Descripci on
1 MOSI Serial Output
2 V TAR Target VCC
3 CLKO Clock Output
4 GND Ground
5 TRST Target RESET
6 GND Ground
7 SCK Serial Clock
8 GND Ground
9 MISO Serial Input
10 GND Ground
La lista de conectores que se aprecia en la Tabla II corresponde a los que se aprecian en la Figura 3.
Figura 3. Conector ICSP6, vista de los pines.
3
Tabla II
ICSP6, PINES
pin Abrev. Descripci on
1 MISO Serial Input
2 V TAR Target VCC
3 SCK Serial Clock
4 MOSI Serial Output
5 TRST Target RESET
6 GND Ground
Nota: El programador es alimentado desde el USB.
VII. INSTALACI ON DE DRIVES
El driver para la STK500v2 est a disponible en la p agina web del m odulo, el nombre de dicho archivo es AVR-STK500-
drivers.zip, se solicita instalar el programador con este driver, y tener previamente instalado el AVRStudio que se encuentra
en la p agina web.
Para poder instalar los drivers del programador es necesario tener:
Tener una copia del archivo AVR-STK500-drivers.zip, y descomprimirla en un directorio temporal.
Conectar el programador en un puerto USB.
Seguir los pasos descritos a continuaci on.
1) Una vez que se conecta el programador, este no ser a instalado autom aticamente por el computador.
2) Se comienza abriendo el panel de control, y se debe entrar en el administrador de dispositivos, se desplegar a una vnetana
como la que se aprecia en la Figura 4, aparece un dispositivo que no se reconoce, en este caso en la pesta na otros
dispositivos, el nombre del dispositivo debe ser Olimex AVR-ISP500 (se debe mantener el programador conectado al
computador en todo el proceso).
Figura 4. Panel de control.
4
3) Se debe dar click derecho sobre el dispositivo y seleccionar la opci on actualizar software del controlador..., (Figura 5).
Figura 5. Actualizar controlador.
4) Luego se selecciona la opci on buscar software de controlador en el equipo, (Figura 6).
Figura 6. Buscar manualmente.
5) A continuaci on se da click en examinar y se busca el directorio donde se descomprimi o el archivo AVR-STK500-
drivers.zip, y luego se da un click en siguiente, (Figura 7).
5
Figura 7. Buscar directorio.
6) Al nalizar la instalaci on del driver el dispositivo debera quedar como se aprecia en la Figura 8.
Figura 8. Instlaci on completa.
Nota: se debe tener en cuenta que esta instalaci on de driver se realiz o en un computador con Windows 7 64bits.
Advertencia: el n umero asignado al puerto COM en windows para el programador AVR-ISP500 debe ser el COM4 o
menor. De otra forma AVRStudio no ser a capaz de reconocer el programador.
6
VIII. CAMBIAR N UMERO DEL COM
A continuaci on se dan los pasos a seguir para lograr cambiar el n umero designado al puerto COM.
1) Es necesario ir a panel de control, y abrir el administrador de dispositivos.
2) Abrir la pesta na puertos (COM y LPT), y hacer click derecho sobre Olimex Virtual COM - AVR-ISP500 (COMxx)
que para este caso es COM20 (Figura 9), pero puede ser cualquier COM entre 1 y 255. Luego seleccionar propiedades
(Figura 10).
Figura 9. Cambio de puerto, selecci on de las propiedades.
Figura 10. Cambio de puerto, selecci on de las propiedades.
3) A continuaci on se debe ir a la pesta na conguraci on de puerto y dar click en opciones avanzadas, (Figura 11).
7
Figura 11. Conguraci on de puerto, opciones avanzadas.
4) Se desplegar a la ventana de la Figura 12, y se debe cambiar el n umero del COM de la pesta na N umero de puerto COM,
nada m as se debe modicar y debe quedar con un valor igual o menor de 4, como se aprecia en la Figura 13.
Figura 12. Cambio de puerto COM.
Figura 13. Selecci on del nuevo puerto COM.
5) Se da click en aceptar, si dice que el puerto est a siendo usado, se deja al criterio del usuario continuar de todas formas o
seleccionar otro puerto COM, pero si se sobre escribe uno que este siendo usado se debe tener en cuenta que el dispositivo
que estaba conectado anteriormente a ese puerto COM dejar a de funcionar. Con todo esto se lograr a cambiar el puerto al
que se seleccion o en el paso anterior, quedando como se aprecia en la Figura 14.
8
Figura 14. Puerto COM cambiado.
IX. C OMO USAR AVR-ISP500 CON AVRSTUDIO
Una vez cambiado el n umero del puerto es posible utilizar el software AVRStudio para cargar el programa en el micro, para
corroborar que la comunicaci on entre el computador y el programador es correcta y funciona es necesario:
1) Abrir el software AVRStudio.
2) Presionar el bot on que se aprecia en la Figura 15.
Figura 15. AVRStudio, carga de c odigo.
9
3) Al presionar el bot on anteriormente mencionado se desplegar a la ventana de la Figura 16, en la cual se debe seleccionar
el programador con el cual se cargar a el c odigo y adem as el puerto al que est a conectado (existe la opci on de dejar esta
ultima opci

on en Auto y se reconocer a el puerto autom aticamente). El programador a seleccionar es el AVRISP y el


n umero del COM es el con el que se dej o el programador anteriormente.
Figura 16. Selecci on de programador y de COM.
4) Si se logra la comunicaci on se desplegar a la ventana que aparece en la Figura 17, en donde se aprecian algunos datos
del programador, como son el rmware, y en qu e puerto se encuentra, adem as que se detecta como si fuera una STK500
(una placa de desarrollo mas antigua, que tambi en se encuentra en el laboratorio).
Figura 17. Selecci on de programador y de COM.
5) No es necesario cambiar ni modicar nada de esta ventana ni de sus pesta nas, ya que solo se est a comprobando la
comunicaci on entre el PC y el programador. Con esto ya es posible cerrar estas pesta nas u crear un nuevo proyecto en
AVRStudio.
10
X. CREANDO UN NUEVO PROYECTO EN AVRSTUDIO
Para crear un nuevo proyecto en AVRStudio solo basta con presionar Project y luego New Porject Se desplegar a una
ventana como la que aparece en la Figura 18, donde se debe seleccionar el nombre de un proyecto, la ubicaci on y el tipo de
proyecto, se recomienda utilizar el AVR GCC, al tener todo seleccionado se da un click en el bot on Next.
Figura 18. Nombre del proyecto y ubicaci on.
En la ventana siguiente se solicita seleccionar la plataforma de debug y el dispositivo a programar, para este caso se utiliza
el AVR Simulator, y el dispositivo es el ATmega168, (Figura 19).
Figura 19. Plataforma de debug y dispositivo.
Al tener todo seleccionado se de al bot on de Finish y se desplegar a una ventana como la que se aprecia en la Figura 20.
11
Figura 20. Nuevo proyecto creado.
Una vez que se ha creado el nuevo proyecto, en el directorio seleccionado se crear a una carpeta con el nombre del proyecto
y 3 archivos estar an dentro, de los m as importantes uno es el .aps, el cual abre todo el proyecto, y el otro es el .c que
contiene el c odigo main del proyecto, si se necesitan agregar bibliotecas al proyecto es posible que se copien dentro de esta
carpeta (esta es una opci on, pero no es la unica).
Ya con todo esto listo se escribe el c odigo a cargar en el microcontrolador.
XI. CONEXI ON MICROCONTROLADOR PROGRAMADOR
Para realizar la conexi on es necesario utilizar uno de los dos conectores que tienen el programador (ICSP10 y ICSP6), para
este caso se utiliz o el conector ICSP6, la distribuci on de sus pines en forma fsica es algo complicada, para que esto se entienda
mejor es necesario tomar la Figura 4 (para este caso), y decir que esta imagen es la que corresponde a los conectores macho
que salen desde el programador, se debe tener en cuenta que el cable que se conecta al programador es hembra/hembra, ya
con esto claro es necesario hacer el experimento pr actico y medir continuidad entre una punta de este cable y la otra, as ser a
determinada la posici on de cada pin, una vez realizado esto anotar qu e pin corresponde a cu al, ya que esto servir a mucho a
la hora de conectar el programador con el microcontrolador.
Figura 21. Distribuci on de los pines del ICSP6.
12
Los nombres de cada pin del conector ICSP6 se pueden apreciar en la Tabla I. Los nombres de los pines del microcontrolador
se encuentran en su datasheet, para este caso se utiliz o el microcontrolador ATmega168, la distribuci on y nombre de sus pines
se pueden apreciar en la Figura 22. Para el caso de la Figura 21 la distribuci on de los pines seg un los cables de colores
conectados es la siguiente:
Cable Rojo - VTG
Cable Azul - MOSI
Cable Verde - GND
Cable Blanco - MISO
Cable Naranjo - SCK
Cable Amarillo - RES
Figura 22. ATmega168 distribuci on de pines.
La conexi on a realizar es simple, solo se deben hacer coincidir los nombres de los pines entre el programador y el
microcontrolador, y las tierras se deben conectar entre si junto con los VCC (en este caso AVCC Y VCC se conectan, si
no se realiza esto el microcontrolador no se programar a), la conexi on se puede apreciar en la Figura 23. Ya con esto se logra
la conexi on entre el programador y el microcontrolador.
Figura 23. Conexi on entre programador y microcontrolador.
13
XII. CARGAR C ODIGO AL MICROCONTROLADOR
Una vez conectado el microcontrolador al computador se procede a cargar el c odigo en el mismo, para ello es necesario
terminar de escribir el c odigo y compilar el mismo, una vez que se tiene el c odigo sin errores en la carpeta donde est a el
proyecto se crear a una subcarpeta llamada default en la cual se crear an varios archivos con el mismo nombre pero distintas
extensiones, solo si se ha realizado la compilaci on correcta se crear a el archivo necesario para cargarlo en el microcontrolador,
este archivo tiene el mismo nombre que el proyecto pero su extenci on es .hex, este archivo tambi en es usado para ser cargado
en las simulaciones de ISI Proteus.
Con todo esto claro se procede a cargar el c odigo, para ello es necesario:
1) En la ventana de AVRStudio se debe presionar el bot on que aparece se nalado en la Figura 24.
Figura 24. Selecci on del programador.
2) Como ya se explic o anteriormente, se debe seleccionar el programador y el COM, para este caso es el programador
AVR-ISP y el COM es el 4, a veces pasa que esto no lo solicita al encontrar ya un programador, y se salta esta etapa,
por lo que pasa directamente a lo que se aprecia en la Figura 25.
Figura 25. Vericaci on de estado del microcontrolador.
3) En esta ventana se tienen que vericar 2 cosas, la primera es que la frecuencia que aparece en la pesta na main debe ser
un cuarto de la frecuencia usada en la tarjeta, si es superior entonces no ser a posible programar el microcontrolador, si est a
14
correcta se podr a seguir sin problemas, para este caso se utiliz o una frecuencia de 57,6[kHz], siendo usada una frecuencia
de CPU de 8[MHz], lo que es muy por debajo de un cuarto de la frecuencia usada, pero para el caso del ATmega168 esta
frecuencia est a bien. Si se desea cambiar la frecuencia se debe presionar el bot on settings que aparece en la Figura 26,
una vez presionado aparecer a una ventana como la de la Figura 27, de donde se puede leer la frecuencia actual y escribir
una frecuencia nueva, se debe tener en cuenta que AVRStudio es el que determina las opciones de frecuencia, una vez
seleccionada la frecuencia deseada se presiona write.
Figura 26. Cambio de frecuencia del modo ISP.
Figura 27. Cambio de frecuencia del modo ISP.
4) Lo que adem as es necesario revisar antes de programar, son los fuses, una vez se presione la pesta na de fuses pueden
pasar dos cosas:
La primera opci on es que no ocurra alg un evento (ya que se setear an algunas opciones autom aticamente), en este
caso ya es posible programar el microcontrolador.
La segunda opci on es que aparezca una ventana emergente de alerta, para este caso es necesario revisar bien la
frecuencia seteada, ver si est a bien conectado el programador con el microcontrolador, si los cables tienen continuidad
entre sus puntas y si le lleva voltaje al micro. Una vez chequeado esto se debe volver a ver si los fuses se setean o
no. Si ya se soluciona el problema entonces se puede programar el microcontrolador (en caso de que no se pueda se
debe vericar bien).
5) Si es el caso que los fuses son correctos se debera ver una ventana seteada como la de la Figura 28, se debe tener en
cuenta que para cada conguraci on este seteo es diferente, igual que para cada microcontrolador.
15
Figura 28. Revisi on de los fuses.
6) Con todo esto correcto se procede a seleccionar el .hex del directorio donde est a el proyecto, para esto se debe ir a la
pesta na program y presionar el bot on que aparece destacado en la Figura 29, se busca el archivo en la carpeta default
dentro de la carpeta del proyecto y se selecciona y se da a aceptar, ya con eso se da un click al bot on program, como
se aprecia en la Figura 30.
Figura 29. B usqueda del .hex.
16
Figura 30. Cargando c odigo a un microcontrolador.
7) Ya en esta etapa debera aparecer debajo de la ventana un mensaje de que est a todo OK, si no es de esta forma,
seguramente falt o revisar bien un paso anterior, la frecuencia puede estar mal y esto acarrea que los fuses no se setean.
Figura 31. C odigo cargado con exito.
Nota: se debe tener en cuenta que al cargar un c odigo al microcontrolador este debe estar solo conectado al programador,
nada m as debe estar conectado a ning un pin del microcontrolador.
XIII. CONEXI ONES DEL CIRCUITO
Es necesario vericar el funcionamiento de lo programado, que para este caso fue un Hola Mundo, que consiste simplemente
en encender y apagar un diodo LED en un intervalo de tiempo. Para esto es necesario realizar una conexi on simple, desde el
pin seleccionado como salida digital del microcontrolador.
Desde la salida seleccionada se conecta una resistencia de 330[] y en serie a esta resistencia se conecta un diodo LED,
esto se puede apreciar de forma fsica como se ve en la Figura 32.
17
Figura 32. Conexi on el ectrica.
Se debe tener en concideraci on que con el programador no se puede alimentar el circuito, por lo que es necesario conectar
el microcontrolador junto con todo el circuito a una fuente de voltaje de 5[V] DC.
Ya con esto probado y funcionando se tiene un microcontrolador AVR programado con el AVR-ISP500.

Vous aimerez peut-être aussi