sábado, 17 de enero de 2015

SIMULAR ARDUINO CON PROTEUS

Como ya lo había mencionado en una publicación anterior de Geek Electrónica, una parte importante en el proceso de diseño y desarrollo de circuitos electrónicos es la etapa de simulación, con esta etapa podemos verificar que el circuito que se está diseñando funcione correctamente y de no ser así se puede ir depurando el circuito hasta que se logre el resultado deseado y poder llevar el diseño a una etapa física.
Por otra parte una de las tarjetas de desarrollo electrónico más utilizadas en la actualidad es arduino, estas tarjetas han logrado captar la atención de una gran cantidad de personas interesadas en el desarrollo de prototipos electrónicos, dentro de este gran público que ha logrado captar se encuentran desde personas con grandes conocimientos de electrónica hasta aficionados sin mayor conocimiento de electrónica pero que tienen un gran interés por esta.

En esta publicación voy a dar una breve explicación sobre cómo se puede hacer para simular algunas de las tarjetas con las que cuenta arduino dentro del simulador proteus tanto en la versión 7 como en la versión 8.

Archivo .hex de arduino


Al igual que cuando se trabaja con microcontroladores PIC, el compilador de arduino en este caso genera un archivo “.hex” para cada programa que estemos desarrollando, la diferencia es que para el caso de arduino este archivo no queda a simple vista del usuario y por eso lo primero que vamos a ver es donde encontrarlo ya que es necesario para poder llevar a cabo la simulación en proteus.

Para este caso voy a tomar uno de los ejemplos que vienen incluidos dentro del IDE de arduino, luego de tener el programa escrito y dar click en “verificar” el IDE de arduino lo que hace es compilar nuestro programa y en caso que no existan errores crea el archivo “.hex” antes mencionado.




Para encontrar el archivo “.hex” que se requiere para poder hacer la posterior simulación es importante activar en el computador la visualización de archivos ocultos, luego de esto es necesario seguir la siguiente ruta:

C: --> Usuarios --> Su usuario --> AppData

Estando en ese punto, ya en la casilla de búsqueda se puede escribir .hex y con esto el sistema encontrará todos los archivos con terminación .hex que se encuentren dentro de esta carpeta y dentro de los cuales estará el archivo de nuestro programa. En caso de querer hacer la búsqueda mas reducida en lugar de colocar en la casilla de búsqueda tan solo la terminación del archivo (“.hex”), también es posible escribir el nombre completo del programa que se compilo con la terminación del archivo y así solo aparecerá el que se requiere por ejemplo para este caso bastaría con escribir blink.hex.




En cuanto a este archivo .hex que genera el IDE de Arduino, si lo que se quiere es evitar tener que seguir esta ruta mencionada anteriormente que es un poco extensa y difícil de recordar, también es posible cambiar la ubicación de donde será guardado dicho archivo .hex, si te interesa saber como hacerlo puedes leer la publicación respectiva siguiendo el link a continuación:

Cambiar ubicación de archivo .hex de Arduino.


Simulación en Proteus 7


Para poder simular las tarjetas de arduino (MEGA 1280, MEGA 2560 y UNO) primero que todo es necesario descargar unas librerías que contienen los archivos necesarios para estas tarjetas, dicha librería la pueden descargar del siguiente link, el cual quiero aclarar que no es mío sino que lo encontré mientras navegaba por la web.


Luego de haber descargado las librerías es necesario copiar esos dos archivos dentro de la carpeta Library que se encuentra dentro de la carpeta de instalación de proteus. Después de haber hecho esto lo siguiente es volver a abrir proteus y en el buscador de elementos basta con escribir arduino para que ya salgan las tres tarjetas que se pueden simular.


Luego de seleccionar la tarjeta con la que se quiere trabajar y colocarla en el entorno de trabajo de proteus, basta con seleccionar el archivo .hex para poder comenzar con la simulación.



Todo el proceso descrito para la simulación en proteus 7 se puede observar en el siguiente vídeo:




Simulación en Proteus 8.1


La versión 8.1 de proteus ya incluye por defecto la posibilidad de simular tres tarjetas de desarrollo de arduino (168, 328 y MEGA 2560), es por esta razón que para este caso no es necesario descargar las mismas librerías que se descargaron para hacer la simulación en la versión 7.

En este caso lo único que hay que hacer luego de abrir proteus es seguir la siguiente secuencia de pasos:


New Project --> From Development Board --> Seleccionar tarjeta a simular


Esta nueva opción de proteus además de permitir simular las tres tarjetas de arduino ya mencionadas, también permite simular algunas tarjetas de desarrollo que se pueden encontrar en el mercado con microcontroladores PIC.

Luego de haber seleccionado la tarjeta de desarrollo con la que se quiere trabajar y contar con ella en el área de trabajo de proteus, lo siguiente es cargar el archivo .hex de la misma forma que se hizo en proteus 7.


Otra opción interesante que tiene esta versión de proteus, es que al seleccionar la tarjeta arduino también se abre dentro del simulador una nueva pestaña llamada “Source Code” donde se puede escribir y compilar el código del programa que se quiere simular y que también genera el archivo “.hex” necesario para llevar la simulación. En este caso simplemente luego de compilar el programa solo hay que volver a la ventana donde se encuentra el circuito esquemático y ejecutar la simulación ya que cada vez que se compila el código directamente en proteus, el programa por defecto ubica la ruta del archivo .hex.

Todo el proceso descrito para la simulación en proteus 8 se puede observar en el siguiente vídeo:


sábado, 10 de enero de 2015

SIMULAR VHDL CON TINA 8

Cuando se están realizando trabajos con circuitos electrónicos, siempre se desea poder estar seguro que todo el diseño del circuito funciona de una manera adecuada antes de llevar a cabo el montaje físico, es por esta razón que por lo general se realizan simulaciones de los circuitos con software especializado para tal fin como lo pueden ser los tan conocidos proteus o multisim.

Sin embargo cuando se trata de hacer simulaciones de códigos escritos en lenguaje VHDL los dos simuladores mencionados aunque permiten simular elementos como CPLD, GAL o FPGA que son programados en lenguaje VHDL, no brindan la sencillez suficiente para realizar dichas simulaciones, dificultando el proceso a las personas más inexpertas en el campo de la electrónica y el uso de software de simulación.

Pero proteus y multisim no son los únicos simuladores de circuitos electrónicos que existen, en el mercado existe una gran cantidad de software especializado en la simulación, uno de estos programas y el cual facilita el proceso de simulación de código VHDL es TINA 8.

TINA 8 es un simulador de circuitos electrónicos desarrollado por Texas Instruments, en este simulador se puede crear una macro que va a hacer la función de circuito electrónico y a dicha macro se le asocia el código VHDL que se quiere simular, luego de hacer esto ya se puede comprobar el funcionamiento del código facilitando mucho el proceso de simulación de este tipo de códigos y circuitos.

En el siguiente vídeo se puede observar el proceso para llevar a cabo la simulación de un código escrito en VHDL mediante un ejemplo de simulación de un convertidor de BCD a 7 segmentos.