GRABANDO AVRs
Cuando trabajamos con AVRs podemos
encontrar muchas herramientas de software libre (WINAVR por ejemplo). En cuanto
al Hardware también podemos encontrar libremente el grabador para AVRs conocido
como USBasp del cual se pueden encontrar los esquemas fácilmente. En mi caso
compre el grabador ya hecho a un compañero de mi facultad.
Pero con el grabador no es suficiente
adicionalmente se necesita un programa que haga funcionar al grabador (USBasp),
por fortuna de estos hay varios y el que me parece bastante practico es el conocido
Khazama, este programa es libre y se
lo puede descargar de la página del autor.
Instalando Kazama.
Instalamos y aceptamos todo lo que os
pida. Una vez instalado tenemos.
Al ejecutar el programa es mejor ejecutarlo como administrador.
Luego seleccionamos el microcontrolador ATMEGA32.
Instalando controladores para USBasp.
Una vez conectado el grabador (USBasp)
puede que la PC no lo reconozca por falta de los controladores. Buscando en el
administrador de dispositivos tenemos.
Ahora procedemos a instalar los
controladores.
Seleccionamos “buscar software del
controlador en el equipo”.
Seleccionar la ruta donde se instaló khazama para mi caso fue (win10 32
bits)
C:\Program Files\khazama.com\Khazama AVR Programmer\win-driver\libusb_1.2.4.0
Luego aceptar la advertencia de software desconocido.
Ahora tenemos el USBasp listo para trabajar con khazama y grabar AVRs.
Conectando USBasp al AVR.
ATMEGA32 vienen de fábrica configurado para
trabajar con reloj interno de 1M[Hz] por eso el grabador USBasp tiene un pin de
selección de reloj lento (Slow SCK=GND), esto puede ser molesto algún momento
ya que el AVR se graba lento. Para cambiar esta situación se puede elegir un
oscilador interno más rápido (16M[Hz]) o usa un cristal externo.
Importante. Si se hace uso de un cristal externo la siguiente vez que se grabe
el AVR debe hacerse con el mismo cristal conectado.
Pines de conexión de USBasp y AVR.
Trabajando con khazama.
Si se instaló la versión v1.7.0 configuramos la velocidad del reloj ISP a automático.
Si se desea se puede tikear todas las opciones excepto
Write Fuses and Lock esto para no
tener accidentes.
Cuidado si se deshabilita el bit SPIEN
al momento de grabar los fuses tendremos un caos… bueno no, solo perderemos la
capacidad de grabar al AVR, para saber el real efecto de esto se puede buscar
en internet.
Ahora se configurara el AVR para que
trabaje con un cristal externo de 16M[Hz] para obtener la mayor velocidad de
trabajo de la cpu.
Primero leemos la configuración de los fuses presionando el icono de
candado cerrado presionando Read All.
Desplazándonos a la parte interior tenemos los
fuses que configuran la fuente de reloj.
Una vez seleccionado se procede a grabar
los fuses con el boton Write All y
listo, el AVR ahora trabajara con cristal externo (16M[Hz]) la próxima vez que
se desee grabar el AVR el cristal debe estar presente.
A partir de este momento ya podemos cambiar
la velocidad del reloj ISP del grabador USBasp cambiando la posición del clock select, para mi caso el grabador
queda asi.
Después de esto ya no tendremos la necesidad
de manejar los fuses y solo nos dedicaremos a grabar nuestros programas en el
AVR.
Código básico de prueba.
Una
vez creado el proyecto en WINAVR editamos el Makefile y cambiamos el valor de la F_CPU a 16M[Hz].
Una vez compilado solo queda grabar el chip.
No hay comentarios.:
Publicar un comentario