Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

04/06/2011 #1


Principio de Funcionamiento de Monitores VGA
Bueno, pues estuve leyendo Acerca del funcionamiento de los monitores VGA, y no me queda claro aun...

me gustaria si fuera posible me encamiran un poco....

el conector es este...




Lo que entiendo es que:

A grandes razgo es que se genera un pulso en Hor Sync para empezar a enviar los datos RGB digamos de izq a derecha en forma serial...una vez que se envian todas la lineas horizontales se envia otro pulso en Vert Sync.. para iniciar de nuevo en la esquina superior izquierda...

Mi pregunta es

1.-¿Estoy en lo correcto en el concepto?
2.-¿Conocen como se envia esa trama de datos o la secuencia o cronograma a utilizar??

gracias...
04/06/2011 #2

Avatar de Eduardo

lubeck dijo: Ver Mensaje
1.-¿Estoy en lo correcto en el concepto?
2.-¿Conocen como se envia esa trama de datos o la secuencia o cronograma a utilizar??

gracias...
El concepto es correcto, pero me parece que lo estás pensando como una comunicación digital y no lo es.

Las señales de sincronismo son digitales (niveles TTL), pero las RGB son analógicas con niveles de tensión entre 0V (nivel de negro) y 0.7V (máximo brillo)
No tienen ningún formato, solamente representan la intensidad de cada color en ese instante.

Claro que esto en los TRC, los demás tienen que digitalizar y llenar un buffer .
04/06/2011 #3


pero me parece que lo estás pensando como una comunicación digital y no lo es.
Ok.. Eduardo...(antes que nada gracias por tu interes)

ya encontre el cronograma o trama o secuencia...



Viendo el cronograma entiendo a lo que te refieres o sea que...

si yo quisiera hacer un programa tendra que...

1.- iniciar con estado alto el H. Sync. y V. Sync.
2.- poner en bajo el V.Synk por 64µS y volverlo a alto
2.- esperar 1.02ms

{
3.-Poner H.sync en bajo por 3.77uS y volverlo a alto
4.-Esperar 1.89uS
5.-Enviar RGB Analogo (640 veces)
6.-Esperar 0.94uS
}Repetir esto 480 Veces

7.-esperar 0.35mS

y con eso tengo una desplige de una pantalla a 60Hz

...

bue..
pues hice eso mas o menos eso... y mi monitor ni siquiera prende se queda parpadeando el led del encendido...

se que suena a tonteria pero quizas los tiempos no los estoy respetando pero se deberia ver aunque sea distorsionado no??? (rayas o manchas o lo que sea)

mi pregunta es estoy bien en la secuencia???

Ouch... se me olvidaba el circuito que utilizo es muy simple...

para enviar 1v utilizo un divisor resistivo y al activar los puerto R G B (B.2,B.4,B.6) me arroja .85v ...

Imágenes Adjuntas
Tipo de Archivo: jpg VGA Crono.JPG (24,8 KB (Kilobytes), 96 visitas)
Tipo de Archivo: jpg Dibujo.JPG (76,4 KB (Kilobytes), 91 visitas)
04/06/2011 #4

Avatar de Eduardo

La señal de sincronismo horizontal no se interrumpe durante el retrazado, pensá que la secuencia se diseño para monitores que debían que mantener enganchados dos osciladores internos.

Los monitores sensan las señales de sincronismo para encenderse y para ajustar la resolución según la polaridad que tengan (para 640x480 es negativa, la que estás usando) y son poco tolerantes con las desviaciones de frecuencia.

Si tenés osciloscopio es fácil salir de dudas, pero si no, vas a tener que sacar señales cuadradas de prueba en pines libres y controlar con el frecuencímetro del tester, que para esto la precisión es suficiente.

Fuera de eso... Debería andar!
04/06/2011 #5


Los monitores sensan las señales de sincronismo para encenderse y para ajustar la resolución según la polaridad
eso es lo que me tiene desconcertado... si envio la señal por H. Sync o V.Sync deberia de activarse...
y no lo hace... estoy utilizando un monitor viejito... intentatare con uno mas reciente...

Si tenés osciloscopio es fácil salir de dudas, pero si no, vas a tener que sacar señales cuadradas de prueba en pines libres y controlar con el frecuencímetro del tester, que para esto la precisión es suficiente.
Ok... pruebo las señales... a ver que me dice el oscilos...
04/06/2011 #6

Avatar de pandacba

Exacto solo los monitores a partir de cierta época se encienden frente a la presencia de sincronismo los primeros no tenian esa caracteristica
Otro detalle los primeros monitores derivados básicamente de lo que es un TV tenian barrido entrelazado, posteriormente eso se abandono y ahora son no entrelazados todos

Aqui te dejo algo que te sera de gran utilidad lubeck http://iie.fing.edu.uy/ense/asign/ds...ctos/2004/vga/
04/06/2011 #7


Aqui te dejo algo que te sera de gran utilidad lubeck
Gacias Panda...


Aparte....

Estaba un momento en el limbo cosmico... y me quede pensando sobre esta parte...



Si yo tengo que mandar 640 puntos (pulsos) en 25.17uS y si mis matematicas no me fallan...eso es 25.17/640=.039uS lo que a su vez significa 1/.039uS=25MHz

si pienso utilizar un uC con un osicilador de 20MHz, quiere decir que ni en sueños se podria...

y si mando digamos 480 seria 25.17/480=.05 lo que significa 1/0.052=19MHz.. estoy en lo correcto????
Imágenes Adjuntas
Tipo de Archivo: jpg RGB.JPG (8,1 KB (Kilobytes), 73 visitas)
04/06/2011 #8

Avatar de pandacba

Asi es por esa razón basicamente los monitores trabajan alrededor de los 32Khz, incluso las fuentes trabajan por encima de ese valor de alli que una resolución tan baja en vga sea mucho mejor que la de un TV
04/06/2011 #9

Avatar de Eduardo

lubeck dijo: Ver Mensaje
...Si yo tengo que mandar 640 puntos (pulsos) en 25.17uS y si mis matematicas no me fallan...eso es 25.17/640=.039uS lo que a su vez significa 1/.039uS=25MHz
si pienso utilizar un uC con un osicilador de 20MHz, quiere decir que ni en sueños se podria...
y si mando digamos 480 seria 25.17/480=.05 lo que significa 1/0.052=19MHz.. estoy en lo correcto????
Estás en lo correcto. 640x480 parece poco comparado con las resoluciones actuales, pero para un microcontrolador sin nada de hardware que lo ayude es muy ambicioso.

Pero total... Cual es el problema? Es la velocidad del micro la que decide cuantos puntos se van a meter en una línea horizontal, no al revés.
O sea, si el tiempo mínimo entre pixels fuera de 0.1uS entrarían 25.17/0.1 ~ 252 pixels.

Si no es importante el tema del color podés agregar un registro de desplazamiento y aumentás x8 la resolución.

Si a eso lo combinás con un color distinto cada 8 pixels tenés una Sinclair Spectrum
06/06/2011 #10
Moderador

Avatar de Chico3001

lubeck dijo: Ver Mensaje
si pienso utilizar un uC con un osicilador de 20MHz, quiere decir que ni en sueños se podria...
Efectivamente .... pero ahora recuerda que el ATARI 2600 funcionaba con un procesador 6057 de 4MHz

Recuerda que nosotros somos lentos y tardamos muchos segundos en poder analizar una pantalla completa... por lo que el microcontrolador tiene mas que tiempo de sobra para poder ejecutar sus calculos y guardarlos en una memoria... posteriormente un contador de 25MHz recorre esa memoria extrayendo la informacion y mandandola en alta velocidad al monitor...

Bienvenido al mundo de los graficos...
06/06/2011 #11


Bienvenido al mundo de los graficos...
Gracias Chico... le estoy haciendo el intento, parece no estar tan dificil...

por ahora estoy construyendo un frecuenciometro de 50MHz para ver eso de los tiempos del cronograma... y no estar adivinando... en cuanto este le continuo

porque estaba viendo que.... probablemente sea mas conveniente utilizar un monitor VGA que un GLCD... en caso de que se obtenga una resolucion mas o menos descente... creo yo, que de perdida una 320x200... bueee.. pero primero que logre que se vea algo
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.