Realmente me complace anunciar que está en pruebas la segunda SBC de emQbit.
Esta board no hace obsoleta la versión 1, sino que añade funcionalidades para usos más avanzados. El circuito impreso tiene 4 capas. El costo estimado de esta board es 350 USD.
Las características que esta board hereda de la primera versión son:
- Procesador ARM9 de 180 MHz ARM9 processor (Atmel AT91RM9200)
- 2 Mbytes of serial flash
- 32 Mbytes of SDRAM (+40USD for 64MB)
- 1 SD/MMC slot
- USB 2.0 host
- I2C port
- 1 10/100 Intel Ethernet interface
- 1 high speed USB 2.0 interface
- 4 SPI interfaces
- 2 serial (RS232) interfaces
- JTAG support
Esta parte de la nueva board es la que corre GNU/Linux, y sirve para programar/usar/depurar los nuevos juguetes, que son:
- Un PSoC CY8C29566
Este microcontrolador de 8 bits corre a 24MHz y tiene 12 entradas análogas.
El PSoC se suele usar para descargar el procesador de tareas sencillas de monitoreo de variables análogas y control de motores. Carlos lo está usando para controlar los servo-motores de un robot de su tesis. Se programa desde Linux m8cutils, utilidad escrita por Werner Almesberger, creador de LILO.
El FPGA añade mucha flexibilidad a la board, debido a que desde el Linux, uno puede configurar hardware en caliente (sin reiniciar).
Este FPGA tiene 16 multiplicadores de 18-bits y 8MB de SDRAM conectados al FPGA.
Dentro del FPGA hay también 32 KB de RAM de doble puerto (se pueden acceder dos posiciones al tiempo, o se puede leer y escribir al tiempo). Esta memoria se puede acceder a 300MHz.
Como ejemplo, uno puede configurar en el FPGA:
- Un circuito para procesamiento de imágenes.
- Una unidad de Unidad de punto flotante.
- Codecs de vídeo y audio.
- Un generador de movimientos paralelo para Ajedréz.
- Un procesador MicroBlaze.
- Un controlador de vídeo para la AT91. En todo caso, un procesador de 180Mhz es como poco para X-Window. Tocaría usar Qtopia o algo así.
- Más MACs Ethernet (Controlador de acceso al medio). Toca usar PHYs por aparte (soldadas) para tener más tarjetas de red.
- Meter más de 10 puertos seriales :)
- Criptografía por hardware (AES, DES, RSA, SHA1, MD5, etc).
¡Es posible incluso correr uCLinux en el procesador MicroBlaze de 32 bits que uno mete dentro del FPGA! También se puede usar FreeRTOS en el MicroBlaze.
Se suele adicionar un segundo procesador para procesamiento dedicado de voz, vídeo, imágenes, etc. Lo bueno de esto es que se pueden modificar los periféricos del procesador, para conectarlos directamente a otras cosas dentro o fuera del FPGA. Lo malo es que el código del procesador es propietario y viene encriptado, y hay que pagar la licencia para usarlo en un producto. Toca probar otros procesadores con código abierto dentro del FPGA, se encuentran en opencores.
Las cosas no son exclusivas, uno puede meter en el FPGA todo lo que quepa en las 400.000 compuertas (considerando que el "enrutado" de las señales también consume recursos).
Un FPGA da mucha flexibilidad porque es posible extender el hardware sin tener que soldar. Este asunto me recuerda una frase que me gustó mucho de un buen profesor que de Arquitectura de Computadores. El decía:
El que tiene clara la diferencia entre hardware y software no sabe de lo que habla.
Hay muchos cores abiertos para probar.
- Codec de audio estéreo TLV320AIC23B.
- Sampling Rate 96kHz (Max)
- 24 Resolution bits
Este chip tiene 2 conversores análogo/digital y 2 conversores digital/análogo, por lo que se puede conectar un micrófono (monofónico) y una salida estéreo.
- Interfaz para conectar un LCD
Esta interfaz está conectada al FPGA.
Ahora no tendré excusa para no aprender a usar FPGAs :) Aprender a usarlos es una de las metas importantes que tengo este año, espero cumplirla.
Pronto vendrá el anuncio oficial :)
Tengo que mejorar mucho la página de emQbit. Creo que terminaremos usando la wiki de emQbit para todo, incluso para la página principal.
Last update: 2007-04-01 (Rev 10985)


