TODOPIC

Microcontroladores PIC => * PROYECTOS * => Mensaje iniciado por: delmaformacion en 12 de Septiembre de 2012, 18:08:56

Título: vga
Publicado por: delmaformacion en 12 de Septiembre de 2012, 18:08:56
Tomando como referencia la vga con pic16f84 (http://tinyvga.com/pic-vga)  :-/, Me gustaria hacer una vga
con un microcontrolador, con las siguientes caracteristicas minimas:

-640x480 (si tene mas resolución mejor)

-256 colores (si tiene 24 bits color verdadesr mejor)

-Que no sea muy dificil de programar

¿Alguna sugerencia?

Muchas gracias de antemano
Título: Re: vga
Publicado por: Suky en 12 de Septiembre de 2012, 18:22:40
Suerte en el proyecto!  :mrgreen: Estudiaste los tiempos que debes manejar en VGA?  :roll:
Título: Re: vga
Publicado por: gera en 12 de Septiembre de 2012, 19:03:36
Suerte en el proyecto!  :mrgreen: Estudiaste los tiempos que debes manejar en VGA?  :roll:

En la misma pagina sale http://tinyvga.com/vga-timing
Lo que quiere decir el amigo suky, es que necesitas un micro mucho mas potente.
Busca por el foro, hay un proyecto con un pic18f452.
Suerte! ;)
Título: Re: vga
Publicado por: delmaformacion en 16 de Septiembre de 2012, 12:01:22
Suerte en el proyecto!  :mrgreen:

Muchas gracias :)

Estudiaste los tiempos que debes manejar en VGA?  :roll:

Si, los tiempos minimos, sincronismo horizontal, vertical y tiempos de de los bits RGB son los que aparecen en el proyecto, pero voy exactamente ahí.

El pic16f84 puede ir solo a 4 Mhz (usando 4 ciclos por cada instrucción) y puede sacar una resolución de 26 puntos por línea no da para mas (por favor, si me equivoco me corregis)

El pic16F628 puede ir como maximo a 20 Mhz (¿este dato es correcto? ¿alguien le ha hecho overclocking? ¿hasta cuanto?) con lo cual debo de poder multiplicar por 5 los puntos por línea (26*5=130 puntos) pero hasta los 640 puntos que permite el standard nos queda todavia....

Si hacemos una simple regla de tres...

Si a 20 Mhz le corresponden 130 puntos a X le corresponden 640 ... al resolver sale que X vale aproximadamente 98 Mh... vamos a poner 100 ¿hay alguna versíon de pic que funcione a esa velocidad? o ¿que en vez de usar 4 ciclos de reloj use solo uno?

Lo que quiere decir el amigo suky, es que necesitas un micro mucho mas potente.
Busca por el foro, hay un proyecto con un pic18f452.

No he encontrado el proyecto con el pic18f452..¿es capaz de llegar a 100Mhz de velocidad?

Muchas gracias por vuestra atención y respuestas :)

Título: Re: vga
Publicado por: gera en 16 de Septiembre de 2012, 12:48:33
Te pego el hilo donde esta el proyecto con el pic 18f452
http://www.todopic.com.ar/foros/index.php?topic=22424.msg183782#msg183782

Suerte!
Título: Re: vga
Publicado por: Suky en 16 de Septiembre de 2012, 13:20:36
Acá hay otro de un ruso:

http://www.todopic.com.ar/foros/index.php?topic=22424.msg274057#msg274057


Saludos!
Título: Re: vga
Publicado por: delmaformacion en 16 de Septiembre de 2012, 14:45:39
Hola de nuevo!

Acá hay otro de un ruso:

http://www.todopic.com.ar/foros/index.php?topic=22424.msg274057#msg274057


Saludos!

Si pero parece que solo genera texto, me gustaria generar graficos con una resolución minima de 640x480 y 256 colores...

Te pego el hilo donde esta el proyecto con el pic 18f452
http://www.todopic.com.ar/foros/index.php?topic=22424.msg183782#msg183782

Suerte!

Me he leido el hilo, y saco algunas conclusiones interesantes:

...El tema no va por depurar el código, las frías cifras muestran que tenemos 52.6 us para poner pixeles en la pantalla, y a 20 Mhz el pic logra ejecutar 263 instrucciones en ese tiempo, haciendo "magia" y logrando usar dos instrucciones por pixel solo podríamos sacar 130 pixeles....

Estoy completamente de acuerdo para conseguir 640x420 necesitamos un pic mas potente...

Ya se que tanta resolución y tanto color no es tarea sencilla, pero empecemos por lo basico una imagen monocromatica (igual que el circuito del pic16f84) pero que sea capaz de generar todos los pixeles

Puede ser que la solución la este dando Javito:

...16F877A a 40MHz? a lo mucho trabaja a 20Mhz. Mas bien el PIC18F2550 a 40MHz alcanza 10Mbps y a 48MHz alcanza 12Mbps....

Puede ser que la solución un PIC18F2550 a 48MHz, con un alcance de 12Mbps

Ahora viene cuando la mataron...

El Data Sheet esta aquí

http://ww1.microchip.com/downloads/en/DeviceDoc/39632e.pdf

Se puede comprar aquí

http://es.farnell.com/jsp/search/browse.jsp;jsessionid=BTLRBK3GD2ORECQLCIPZLTQ?N=0&Ntk=gensearch&Ntt=PIC18F2550&Ntx=mode+matchallpartial&exposeLevel2Refinement=true&suggestions=false&ref=globalsearch&_requestid=461033

¿Alguien me puede explicar por que el primero vale 103 € y el siguiente solamente 5 €?

Mi ingles no es demasiado bueno y no me he quedado muy bien con la copla...

y con el fin de hacerme una idea comparativa (a nivel de cuantos pixeles se pueden llegar a generar por línea) entre el circuito que he montado (con el pic 16f84) y el que quiero montar:

¿este chip (PIC18F2550) tambien usa cuatro ciclos de reloj como el pic16f84? ¿a cuantos Mbps trabaja el pic16f84?

No me importaria pedir el chip a farnell, pero por lo menos que le vea posibilidades de funcionar :)

Muchas gracias por vuestra atención y vuestra ayuda
Título: Re: vga
Publicado por: QIQE en 16 de Septiembre de 2012, 17:39:47
El primero es un tubo con 27 componentes y el segundo solo es un componente
Título: Re: vga
Publicado por: delmaformacion en 16 de Septiembre de 2012, 17:45:19
El primero es un tubo con 27 componentes y el segundo solo es un componente

Lo siento, pero no se lo que quieres decir. ¿me lo puedes aclarar?
Título: Re: vga
Publicado por: QIQE en 16 de Septiembre de 2012, 18:08:10
El primero es un tubo con 27 componentes y el segundo solo es un componente

Lo siento, pero no se lo que quieres decir. ¿me lo puedes aclarar?

El primero cuesta 103 porque siempre tienes que comprar barras que contienen 27 integrados, es un empaquetado por asi decirlo industrial y en la linea siguiente solo comprarias un circuito integrado
Título: Re: vga
Publicado por: delmaformacion en 17 de Septiembre de 2012, 08:02:29
El primero cuesta 103 porque siempre tienes que comprar barras que contienen 27 integrados, es un empaquetado por asi decirlo industrial y en la linea siguiente solo comprarias un circuito integrado

Muchas gracias por la aclaración :)

He estado mirando algun proyecto mas por internet:

http://webpages.charter.net/greener/electronics/video2/

http://www.pic24.ru/doku.php/en/osa/articles/vga_game

En estos dos casos no se llega al minimo 640x420

Pero en este si, de hecho se supera:

http://www.microvga.com/

La conclusión es que debo usar algo parecido a esto:

http://es.farnell.com/texas-instruments/lm3s1133-iqc50/mcu-32bit-cortexm3-64k-flash-100lqfp/dp/1712256

Los resultados os los ire poniendo aquí (https://sites.google.com/site/bluedragonos1/). Blue Dragon pretende ser un compilador de pascal multiplataforma, para dar paso a un sistema operativo multitarea. Por ultimo quiero diseñar un pequeño hardware para el.

Quiero que la vga sea parte del proyecto hardware
Título: Re: vga
Publicado por: Suky en 17 de Septiembre de 2012, 10:35:23
Pasaste de un 16F84 a un Cortex M3  :mrgreen: Interesante! Y si, necesitas un micro de mucha potencia o un fpga, para algo de 640x420 con 256 colores  :?
Título: Re: vga
Publicado por: delmaformacion en 17 de Septiembre de 2012, 10:59:44
Pasaste de un 16F84 a un Cortex M3  :mrgreen: Interesante! Y si, necesitas un micro de mucha potencia o un fpga, para algo de 640x420 con 256 colores  :?

El cambio no ha sido tan radical, he pasado del 16f84 al 16f628, al pic18f452, al pic18f452 (con este pensaba que se podría hacer pero es evidente que no)

Ha sido un razonamiento progresivo :)

Y por ultimo con un Cortex M3 se puede generar la imagen, aunque es posible que se tenga que usar SRAM para tener todos los colores, pero vamos por partes, primero generamos la imagen y después nos preocupamos de los colores...

Abro un hilo en el subforo ARM para meterme con la programación del micro. Podéis verlo aquí (http://www.todopic.com.ar/foros/index.php?topic=39251.0)
Título: Re: vga
Publicado por: Yoshua en 18 de Septiembre de 2012, 15:15:40
¿ y si usas una memoria de los reproductores de dvd que se pueden programar para que entregue datos segun el reloj?
Título: Re: vga
Publicado por: delmaformacion en 18 de Septiembre de 2012, 17:35:22
¿ y si usas una memoria de los reproductores de dvd que se pueden programar para que entregue datos segun el reloj?

El problema con el reloj es que tiene que ir mas rapido, unos 120Mhz, pero los pics que he estado mirando no soportan esa velocidad, hay que meterese con un  Cortex, que es capaz de trabajar con una velocidad mayor.

De todos modos gracias por tu aportaci´on
Título: Re: vga
Publicado por: sirias52 en 20 de Septiembre de 2012, 02:15:13
Hola delmaformacion, yo también he estado tratando de generar  una imagen a la resolución que mencionas y simplemente porque se me metio la idea a la cabeza de hacer una retratera digital con unas LCD de laptos viejas que tengo. O simplemente crear un circuito con un pic o un AVR con tarjeta SD para que pase la transición de imagenes, por el momento no tengo una camara para mostrarte la idea de lo que quiero hacer, quiero compartirte toda la info que he encontrado.

Saludos amigo.

http://www.lucidscience.com/pro-vga%20video%20generator-1.aspx

http://tinyvga.com/avr-sdram-vga

http://www.romanblack.com/easypic6_proj1.htm

y si estas interesado en crear tu propia interfaz LVDS

http://www.energylabs.com.br/el/documento/Controlando_um_LCD_LVDS_com_FPGA

http://hackaday.com/2011/09/09/putting-laptop-lcds-to-use-with-an-fpga/