Autor Tema: Inicio de proyecto: Centralita de autocaravana  (Leído 6961 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Sirkius

  • PIC10
  • *
  • Mensajes: 27
Inicio de proyecto: Centralita de autocaravana
« en: 28 de Julio de 2007, 18:22:58 »
Buenas, pues en este hilo os contaré el proyecto que me llevo entre manos, por si alguien quiere hacerme alguna sugerencia o algo (o en todo caso, iré mostrando mis progresos por si le sirve de algo a alguien).

En principio la idea es controlar el nivel de aguas (en una autocaravana hay limpias, grises y negras) que en el caso de aguas limpias tengo que además poner un sensor de presión (ahora mismo hay 4 "interruptores", para indicar en cuartos). También mostrará el estado de las 2 baterías: tensión (proporcional a la carga, no veais como se descargan en una autocaravana), y consumo (corriente que sale o entra, en el caso de que estén cargandose).

Como el objetivo es mostrarlo todo a la vez, los LCD de texto y gráficos pequeños quedaron descartados (y tampoco es plan de poner 3 o 4 LCD uno al lado del otro). Así que decidí usar un monitor o televisión (sobretodo lo primero), con lo cual descarté cualquier tipo de microcontrolador por velocidad a la hora de entregar los datos de video. La opción escogida es una FPGA (igual a la que tengo en mi Nexys, es decir una Spartan 3 - 1000k puertas), con un monitor de 7/8 pulgadas táctil. Lo de táctil para configurar algunas cosas el nivel del agua para que dé aviso acústico.

Mi mayor quebradero de cabeza (aunque cada vez lo tengo más diseñado), es como realizar la señal de video (es casi como hacer un tarjeta grafica sencilla). La opción escogida por ahora, es una SDRAM rápida (a 200Mhz) con doble buffer, y un generador de VGA sencillo de 640x480x60Hzx16bpp. El controlador de la SDRAM todavía lo tengo que desarrollar (así como un doble puerto), para incluir todo tipo de aceleraciones (acceso en ráfagas y CAS latency máximo, etc.). El generador VGA es muy sencillo. De esta forma, el VGA pide datos a la SDRAM en ráfagas, los almacena en una pequeña memoria serie (dentro de la FPGA), y las muestra continuamente. Por otra parte, el chip tiene que escribir un nuevo marco en los ratos libres, y cuando lo tenga listo conmutar. Posiblemente incorpore tambien una memoria intermedia para la escritura (en espera mientras se lee para mostrar por pantalla)

Todavía tengo que hacer muchos cálculos de velocidad (en función de como me salga el controlador), y no sé el tiempo disponible para realizar las escrituras, pero tendría que ser suficiente para ciertas animaciones (medianamente lentas, con un 1Hz voy sobrado), así como refrescar la información en pantalla.

Por otra parte una vez resuelta la "tarjeta gráfica" tengo que diseñar el interfaz. Para ello me voy a basar en cualquier tipo de interfaz conocido (windows por ejemplo), y teniendo en cuenta que siempre redibujo completamente la pantalla (mucho más sencillo que cambiar partes aisladas, aunque más lento), y no hay cursor. Como pretendo en un futuro (lejano) ampliar las opciones de configuración, sería ideal tener un "motor" que represente todo lo necesario desde una lista de componentes (detallados en posición, tamaño, etc.).

Para hacer este motor, y dado que hacerlo "a pelo" en VHDL sería infernal para mi, el resto del chip va a estar basado en un microcontrolador (Microblaze en principio, pero no sé ni como empezar). De esta forma podré realizar este "motor" en C, que controlo infinitamente más que VHDL, y que va a ser bastante complejo (botones, sliders, labels, buff....).

Por otra parte todos los gráficos (y fuentes) debo obtenerlos de una EEPROM, de la que todavía tengo que pensar el formato (incluir una tabla inicial con offsets, longitudes y tipo de gráfico).

La idea es hacer un sistema altamente configurable, sacrificando algo la velocidad. En todo caso la parte que todavía tengo más verde es la de la interfaz, pero me parece que va a ser la mejor opción si no me quiero volver loco con VHDL...

Un saludo.

PD: por si no se notaba, comentar que es un proyecto a largo plazo, tengo como hasta enero de plazo si quiero presentarlo para una asignatura.

PD2: y ahora que me acuerdo, aprovechando que el monitor es hermoso, también estaría bien poner una cámara de marcha atrás, con algún mensaje superpuesto(distancia al coche de atrás), tipo OSD de los televisores.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re: Inicio de proyecto: Centralita de autocaravana
« Respuesta #1 en: 29 de Julio de 2007, 02:19:05 »
Es ambicioso tu proyecto, y muy interesante.
¿Has pensado en hacerlo con un mini-PC?

Desconectado Sirkius

  • PIC10
  • *
  • Mensajes: 27
Re: Inicio de proyecto: Centralita de autocaravana
« Respuesta #2 en: 29 de Julio de 2007, 03:52:39 »
Es ambicioso tu proyecto, y muy interesante.
¿Has pensado en hacerlo con un mini-PC?

Ciertamente cuando vi todo lo que se me venía por delante pensé en utilizar un PC de estos reducidos (no sabía que se llamaban miniPC). Lo tuve que descartar porque el espacio del que dispongo es algo limitado (excepto para el monitor que va por fuera; quizá con un PC integrado en el monitor¿?), necesito el mínimo consumo, y tambien, porque quiero aprender bastante. Aunque no lo descarto todavía, gracias por la sugerencia. Voy a mirar si veo algo por ahí.


Desconectado Sirkius

  • PIC10
  • *
  • Mensajes: 27
Re: Inicio de proyecto: Centralita de autocaravana
« Respuesta #4 en: 29 de Julio de 2007, 07:55:04 »
Pues lo cierto es que me has convencido a mi, y al dueño de la autocaravana.

Pero en todo caso, voy a seguir haciendolo de esta forma (porque puedo reutilizar el monitor perfectamente), por todo lo que puedo aprender (que estoy terminando la carrera y no sé hacer nada...).

Desconectado Geo

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 922
    • Mexchip
Re: Inicio de proyecto: Centralita de autocaravana
« Respuesta #5 en: 29 de Julio de 2007, 11:46:30 »
De primera vista yo también probaría con una PC pequeña.
La imaginación es el límite.
Visita mi blog, en inglés o en español :).
Mini curso de introducción a VHDL en MEXCHIP :-/

Desconectado Sirkius

  • PIC10
  • *
  • Mensajes: 27
Re: Inicio de proyecto: Centralita de autocaravana
« Respuesta #6 en: 31 de Julio de 2007, 03:33:42 »
Una vez elegida la memoria: MT48LC16M16A2TG-75IT (prefiero no usar DDR por sencillez), me lei la mitad del datasheet, y extraigo los siguientes resultados numéricos:

Frecuencia: 133 MHz (CAS Latency=3)
tRCD (desde activar fila hasta poder dar instrucción de leer) = 20 ns, que traducido a ciclos de reloj = 3
Tiempo total (ráfagas de 8 ) = 3(tRCD) + 3 (CAS Latency) + 8 = 14 ciclos -> 105.26 ns.

Por otra parte, el generador de QVGA tiene un tiempo de pixel de = 1/(640*480*60) = 54.25 ns.

Como hemos leido 8 pixel (de 16 bits cada uno), el tiempo de forma aprox. para escrituras, entre lecturas, es de 54.25*8 - 105.26 = 328.74 ns, lo cual no está nada mal (aunque voy a estar obligado a usar ráfagas también si quiero algo de eficiencia).

PD: realmente con la poca resolución utilizada, he visto memorias SRAM de 2MB que tienen tiempos de accesos despreciable, y podrían perfectamente usarse con acceso sin ráfagas (que me limita el tamaño mínimo de los "objetos").

PD2: todo esto antes de encontrar una pequeña maravilla: el i.MX21. Tiene controlador de LCD/TFT, descompresión de MPEG4, soporte para tarjetas, controlador de SDRAM, etc., etc. Sobre esto puedo montar uCLinux perfectamente y por encima hasta una pequeña GUI como Qtopia, picoGUI, etc.

En todo caso, como lo que quiero es aprender, voy a ir realizándolo de las dos maneras (y la forma buena: miniPC para el final).
« Última modificación: 31 de Julio de 2007, 06:54:42 por Sirkius »

Desconectado jfmateos2

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3145
Re: Inicio de proyecto: Centralita de autocaravana
« Respuesta #7 en: 31 de Julio de 2007, 06:23:35 »
Hola Sirkius, ánimo con tu proyecto.

Una alternativa a un mini-pc puede ser un nano-itx o pico-itx, con tamaños realmente alucinantes (caben en la palma de la mano), y que ya incluyen la controladora VGA, tarjeta de sonido, ... http://www.via.com.tw/en/products/mainboards/

Desconectado Sirkius

  • PIC10
  • *
  • Mensajes: 27
Re: Inicio de proyecto: Centralita de autocaravana
« Respuesta #8 en: 01 de Agosto de 2007, 16:07:39 »
Ok, los tendré en cuenta.

Respecto al microcontrolador del que hablaba el otro día: el i.MX21, acabo de recibir muestras y no me sirve absolutamente de nada. 289 bolas con una separacion de 0.8 mm entre bolas. Aparte de poder soldarlo (tengo estacion de aire caliente, pero me costaría horrores), es prácticamente obligatorio usar un PCB multicapa (y de 6 no baja), con lo que se me va el precio por las nubes.

Continuo con FPGA.

Desconectado damago

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 320
Re: Inicio de proyecto: Centralita de autocaravana
« Respuesta #9 en: 05 de Agosto de 2007, 19:50:41 »
Hola Sirkius,

respecto al MX21 he visto algunas placas para aprender con este micro:
- la que ofrece la propia casa Freescale: sobre 500€
- http://www.pikron.com/pages/products/cpu_boards/pimx1.html :el año pasado sobre 250€ creo, aunque era un MX1 (no un MX21)
- http://www.virtualcogs.com/ va por modulos. Modulos desde Ethernet, camara,... Hay un kit por 315€, con pantalla tactil de 4.3'' incluida (un especie de consola comandada por un MX21 para trastear)
- http://www.chumby.com/ . Aun no estan a la venta. Sobre los 200€ o menos. Un bicho abierto (hardware y software) para aprender acerca del MX21, ....

Yo creo que cuando salga el chumby este me pillare uno. Si veo algo mas relacionado, ya lo pondre.

Un saludo. Dani.