Joomla ThemesDeposit PokerNo Deposit Bonus
Home
Menú principal
¿Quien soy?

Mi nombre es Raúl Milla Pérez estudio Ingeniería Técnica de Telecomuni- caciones en la especialidad de Sistemas Electrónicos. Soy el desarrollador de este sitio, si tienes alguna sugerencia o comentario puedes escribirme a mi email.

Twitter
Buenas noches peoples!!!
Hace 22 horas

Alguien conoce una buena guia para el final fantasy XIII?
Hace 23 horas

Empezano el final fantasy de xbox :)
Martes, 09 de Marzo de 2010 20:36

Sigueme en Twitter

¿Quién está en línea?
Tenemos 63 invitados conectado
JoomlaWatch Stats 1.2.9 by Matej Koval
No uses IE

En Internet Explorer 7 y 8 pueden aparecer distintos fallos en la visualización de esta página.

Utilice un navegador seguro y actualizado, que le garantice una visualización sin fallos. Puede emplear navegadores gratuitos:

Descarga Firefox Descarga Safari Descarga Opera Descarga Google Chrome

I - Conceptos básicos de VHDL

En los próximos artículos vamos a introducir formalmente que es el VHDL. Para empezar comentar que VHDL es el acrónimo que representa la combinación de VHSIC y HDL, donde VHSIC es el acrónimo de Very High Speed Integrated Circuit y HDL es a su vez el acrónimo de Hardware Description Language. Por tanto la primera idea que debemos abstraer es que el VHDL no es un lenguaje de programación, es una forma para describir formalmente circuitos electrónicos.

A nosotros en realidad, con el objetivo de configurar las FPGAs, solo nos interesa un pequeño subconjunto del lenguaje VHDL, que es el que los programas de síntesis lógica son capaces de procesar. Digo esto último porque es algo que no llegaba a entender, y es que aunque una sentencia sea sintácticamente correcta en VHDL no quiere decir que el programa de síntesis la interprete como debiera. Así que todos los conceptos que aparezcan en esta web estarán enfocados a descripciones RTL, Register Transfer Level, que es un  subconjunto de VHDL que se usa para definir circuitos puramente digitales.

udisenio

La estructura general de un programa VHDL está formado por módulos o unidades de diseño, cada uno de ellos compuesto por un conjunto de declaraciones e instrucciones que definen, describen, estructuran, analizan y evalúan el comportamiento de un sistema digital. Existem 5 tipos de unidades de diseño:

  • Entity, es la declaración de la entidad, podríamos imaginarla como la carcasa donde se ve el pinouts.
  • Architecture, aquí es donde encontraremos la definición de lo que realiza nuestro circuito.
  • Configuration, donde se definen parejas de entidad y arquitecturas, es decir, para un mismo encapsulado se puede realizar las mismas funciones de distinta forma.
  • Package, es donde se guardan las definiciones de tipos y los objetos que puedan ser utilizados en los diferentes diseños VHDL, serían como los .hpp en C++.
  • Packege body, es donde se encuentran definiciones o declaraciones propias del paquete y solo son accesibles de forma local desde el paquete, es decir, solo podremos usar en un programa externo lo que esté declarado en el. Package y nunca nada que esté dentro del Package body.

En los próximos artículos nos iremos adentrando poco a poco en todo los referente al lenguaje e iremos mostrando algunos ejemplos de uso.

Hasta pronto amigos!

PD: ¿Que os parecería si todas las semanas se coloca algún ejercicio VHDL en el foro? así podríamos participar todos y aprender unos de otros ^^.

Actualizado (Jueves, 19 de Noviembre de 2009 19:33)

 


Video de ArCan funcioando :)

Me gustaría compartir con vosotros este video, donde pruebo el funcionamiento de ArCan. Básicamente el sistema está compuesto por 3 Arduino+ArCan y la única forma de intercomunicación entre ellos es a través de CAN.


Los dos del panel se encargan del control, el de arriba es el que enciende los leds y el de abajo detecta el estado de los pulsadores y acciona el zumbador. El panel se encuentra conectado al 3º ArCan a través del cable negro(CAN-Bus) y esté a su vez está conectado al PC(Mac).

El software es el encargado de dar las ordenes y chequear el estado de los pulsadores, todo esto se realiza mendiante un protocolo propio muy sencillo, dejo aquí el código fuente por si queréis darle un vistazo.

La aplicación del PC está realizado con LabWindows CVI, más que nada por la facilidad que nos ofrece en este tipo de escenarios.

Un saludo a todos y espero que os guste!

Actualizado (Lunes, 16 de Noviembre de 2009 18:46)

 


Video-Tutorial del Xilinx ISE

He realizado mi primer videotutorial, trata sobre el manejo más básico del software de desarrollo de Xilinx, el ISE. En el se explica como crear un proyecto, simularlo y configurar posteriormente la FPGA.

Los archivos necesarios para seguir el videotutorial los podéis descargar desde aquí.

Y el videotutorial descargalo desde megaupload.

También está subido a Youtube.

Para cualquier duda que os pueda surgir usar los comentarios e intentaremos resolverlas.
Un saludo y espero que os guste.

 

PD: Es el primero que hago en mi vida, así que no seais muy críticos ^^

Actualizado (Sábado, 14 de Noviembre de 2009 17:47)

 


Elige velocidad en ArCan!

Llevo un tiempo queriendo implementar esta mejora, pero entre unas cosas y otras no he podido. Tan solo he añadido la posibilidad de inicializar ArCan eligiendo una de las 3 velocidades que he implementado,, 125Kbps, 250Kbps y 500Kbps, pero os contaré como lo he hecho por si estáis interesado en alguna otra para vuestra aplicación específica.

Lo primero que debéis conocer es que los registros específicos que se encargan de la velocidad son el CNF1,CNF2 y CNF3, el cálculo en sí es algo complejo y tedioso, es por este motivo que existe un pequeño programita, MBTime, que nos dará los valores correctos que debemos configurar en nuestros registros, lo podéis descargar desde http://www.intrepidsupport.com/mbtime.htm.

El MBTime es muy sencillo de usar, tan solo tenemos que poner la frecuencia del oscilador del MCP2515, en nuestro caso 8MHz y la velocidad que queréis en el bus CAN. Cuando le demos a Generate Report, nos da un informe donde al final vienen los valores de los 3 registros ya mencionados.

En la nueva librería, en la línea 134, encontramos la parte del código donde se configuran los registros CNFx, añadir los valores que deseéis respetando la estructura y listo.

Para que estos cambios tengan efecto hay que recompilar la librería, este paso también es sencillo, en el directorio donde tengáis instalado la aplicación de Arduino, en /hardware/libraries/ArCan debéis borrar el archivo “arcan.o”, luego cargáis de nuevo la aplicación de Arduino y podréis verificar que se ha generado otra vez, pero en este caso ya tiene las modificaciones hechas.

Podéis descargar la nueva versión desde el link ArCan_v110

Un saludo ArCanianos!

Actualizado (Viernes, 20 de Noviembre de 2009 07:53)

 


Por fín terminado!!

Me gustaría presentaros mi nuevo laboratorio/despacho/taller donde espero diseñar muchos circuitos, publicar mucha información interesante en la web y destripar todos los cacharros que caigan en mis manos ^^. Os dejo unas fotillos para que vais el centro de operaciones de ArCanPlanet.

Taller

Taller2

Desing_Zone

Y estos son alguno de los componetes y kits que tengo para desarrollo :)

Cacharrillos

 

Un saludo!

Actualizado (Jueves, 12 de Noviembre de 2009 19:14)

 


Últimos Comentarios
Patrocinador
Banner
ArCan Shop
Arduino
Mostrar Pedido
Su cesta está vacía.
Calendario
< Marzo 2010 >
Lu Ma Mi Ju Vi Sa Do
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        
ArCan Planet