Autor Tema: Video compuesto para TV con pic16f84 (NO se puede en este lenguaje, leer post!!)  (Leído 18710 veces)

0 Usuarios y 5 Visitantes están viendo este tema.

Desconectado elgarbe

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2178
Re: señal video compuesto para TV pal y señal de video vga con pic16f84
« Respuesta #30 en: 10 de Septiembre de 2014, 08:43:14 »
Y no queres arrancar con esta parte solamente:

"One scan-line, making a vertical bar.
The first test I made when I started experimenting with software generated video was to make a white vertical bar on the screen. By creating one scan-line with color information gray-black-white-black-gray, and repeated the scan-line forever, an image could be seen on a TV. The signal contained the horizontal sync-pulse, followed by a delay and then the color information, so the TV could lock to the signal horizontally. (Not vertically because, there was no vertically sync-pulses). I think it looked something like this:"

O sea, no hacer el sincronismo vertical y hacer solamente la señal del horizontal. Si no entiendo mal, uno cuando genera las señal de video lo que tiene que hacer es estar dentro delos tiempos del horizontal y vertical de la norma en la que estamos trabajando. Digo, la velocidad horizontal y vertical ya esta dada por el circuito interno del TV, lo que uno tiene que hacer es generar señales con pulsos de sincronismo con tiempos correctos para que el TV se pueda Enganchar y sincronizar con nuestra señal. Si los pulsos estan con tiempos muy lejos de los adecuados la TV no se puede enganchar y la imagen se mueve. Pero el haz de electrones se esta moviendo constantemente barriendo la pantalla. Entonces si vos haces una señal de barrido horizontal con los tiempos correctos, el TV se va a poder enganchar en horizontal y te va a mostrar lo que dice Rickard.

En tu caso, estas usando 2 salidas del micro para obtener los 3 niveles básicos de tension? necesitas 0V (-0.3V pero evidentemente con 0V funciona) para los pulsos de sincronismo, 0.3V para el color Negro y 0.7V para el color Blanco. Tendrías que medir que a la salida del divisor obtienes esos niveles para cada combinacion de las salidas.
Luego hacer ese programita y ver con el osciloscopio que los tiempos dan bien, pero fijate que dice que el timing es fundamental, asi que vas a tener que subir el micro a la maxima frecuencia y jugar con los Delay para obtener los tiempos justos justos.

Si necesitas ayuda para traducir ese prog ASM a PBP avisanos y lo vemos.

Saludos!
-
Leonardo Garberoglio

Desconectado siniestro

  • PIC10
  • *
  • Mensajes: 44
Re: señal video compuesto para TV pal y señal de video vga con pic16f84
« Respuesta #31 en: 10 de Septiembre de 2014, 11:02:33 »
No nos has hecho perder tiempo mi amigo jorgenuviola, en mi caso mas bien he aprovehado mi tiempo en algo productivo porque del fruto de tu trabajo tambien podria beneficiarme yo y muchas otras personas que lean esta informacion.   Aun no leo la pagina completa (mi ingles no es muy bueno, pero en el ingles tecnico me defiendo) pero estoy leyendo y ya vi lo de los 52uS que son de la informacion de video,  los sincronismos si son casi los mismos que hemos calculado aqui.  Yo pienso que en Asembler seria mejor por la cuestion del manejo de tiempos, recuerdo que lei que cada instruccino en PBP se lleva hasta cuatro ciclos de reloj (considereando se se traduce a Asembler y luego a HEX y pierde eficiencia), en Assembler solo necesitas un ciclo o dos por instruccion y se aprovecha mejor el tiempo, sin embargo no entiendo el proceso de programacion en Assembler  :(  seguiré leyendo la pagina y cuando termine emitiré mas opiniones.   Y sobre las pruebas fallidas no importa amigo, una historia que no se si es real o no dice que cuando le preguntaron a Edison si no se habia frustrado porque probo 1,000 tipos de filamento para la bombilla, el respondio: "Yo no falle, en el proceso descubri 999 formas de como no era correcto hacerlo"  cada prueba deja  algo de aprendizaje.  Seguí adelante no te frustres.
Citar
Bueno muchachos malas noticias, vuelvo a cero, estaba leyendo la nota de richard´s y justo explica que muchas tv viejas no tienen impedancia entonces no se logra bajar el voltaje con las resistencias de 1k y 470 ohms...........adivinen.....mi tele no tiene esa impedancia, antes de agregarle una resistencia de 75ohms me busque otra que tengo aca sin usar, moderna y bueno....la verdad es dura....mi programacion de sincronismo no funciona.....
Amigo, hasta donde yo se, desde que aparecio la entrada de video en los TV, siembre a tenido una impedancia de 75ohm, seguiré leyendo el articulo
« Última modificación: 10 de Septiembre de 2014, 11:08:17 por siniestro »
Saber de todo un poco, sin ser experto en nada (una filosofia extraña)

Desconectado jorgenuviola

  • PIC16
  • ***
  • Mensajes: 148
    • rat argentina!!
Re: señal video compuesto para TV pal y señal de video vga con pic16f84
« Respuesta #32 en: 10 de Septiembre de 2014, 13:00:04 »
mil gracias a ambos por la buena onda!!!   si me animo a aprender otro lenguaje, indudablemente al basic le falta potencia.  ELgarbe, me voy a poner a leer a ve si puedo sacar algo concreto en otro lenguaje e intentar primero generar ese pulso solo.
Siniestro, tenes razon que sirve para que otros conozcan los limites del lenguaje.

y aun asi, voy a hacer un ultimo tiro a la canasta con dos pic. Uno para cada señal a ver si logro algo, si funciona va a ser señal de aprender otro lenguaje porque sino desperdicio la potencia del pic.

Gracias a todos.

Desconectado elgarbe

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2178
Re: señal video compuesto para TV pal y señal de video vga con pic16f84
« Respuesta #33 en: 10 de Septiembre de 2014, 13:25:29 »
... ELgarbe, me voy a poner a leer a ve si puedo sacar algo concreto en otro lenguaje e intentar primero generar ese pulso solo...

Si el XC8 de microchip te gusta o interesa, ahí puedo ayudarte bastante con código. Incluso siempre quise tratar de generar color en la señal de video y nunca encontré tiempo para probarlo, por lo que si estas dispuesto podemos trabajar un poco juntos en el tema cuando llegues a la parte de color, mientras tanto todas estas pruebas son muy utiles para afianzar conocimientos!

Lo de los 2 pics no me entusiasma mucho... programando en C y con un micro un poco mas potente (el 877 creo que es el mejor candidato) creo que podrás hacer cosas más que interesante.

Saludos!
-
Leonardo Garberoglio

Desconectado SavageChicken

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 931
Re: señal video compuesto para TV pal y señal de video vga con pic16f84
« Respuesta #34 en: 10 de Septiembre de 2014, 14:18:05 »
Hola muchachos.

Comento algo sobre los tiempos, ya que seguramente algunos de los problemas se encuentran allí.

Voy a poner un ejemplo, insisto es solo un ejemplo, pero puede ayudar a ajustar mejor los tiempos... vemos la siguiente porción de código:

sincro5:                                   ;"inicio de 4 pulsos de 30 us y un pulso de 60 us en logico 1"
low hsync
pauseus 2
high hsync
pauseus 30
low hsync
    <--- hsync puesto en bajo

for D = 0 to 3    <---- Demora extra aproximadamente de 6 a 8 us
pauseus 2    <---- Demora requerida de 2 us
high hsync   <---- hsync puesto en alto
pauseus 30
low hsync
next D


observen que entre la primera parte que marqué en rojo y la segunda que marqué en azul se requieren 2us de demora para volver a poner en alto "hsync", sin embargo el bucle for next mas las comparaciones estan agregando una demora de 8us (trabajando a 4 Mhz) y además se le da una demora de 2 us.... total 10us de demora.

Estas cosas deben tenerlas en cuenta, de no hacerlo no van a dar nunca con los tiempos adecuados.... incluso los pauseus 30, deben achicarlos considerando las demoras de los bucles comparaciones y los gotos...

Les recomiendo averiguar cuantos ciclos demora cada instrucción de basic y luego hacer una suma de estos tiempos (1us por ciclo) y restárselo a los "pause" que estan utilizando.

En assembler uno lo hace así, a los delay se le descuentan los tiempos de ejecución del mismo código, de otra forma los tiempos no dan... En básic que los tiempos son mayores eso es más importante aún...

Salud  8)
No hay preguntas tontas...
Solo hay tontos que no preguntan.

Desconectado jorgenuviola

  • PIC16
  • ***
  • Mensajes: 148
    • rat argentina!!
Re: señal video compuesto para TV pal y señal de video vga con pic16f84
« Respuesta #35 en: 10 de Septiembre de 2014, 17:25:14 »
... ELgarbe, me voy a poner a leer a ve si puedo sacar algo concreto en otro lenguaje e intentar primero generar ese pulso solo...

Si el XC8 de microchip te gusta o interesa, ahí puedo ayudarte bastante con código. Incluso siempre quise tratar de generar color en la señal de video y nunca encontré tiempo para probarlo, por lo que si estas dispuesto podemos trabajar un poco juntos en el tema cuando llegues a la parte de color, mientras tanto todas estas pruebas son muy utiles para afianzar conocimientos!

Lo de los 2 pics no me entusiasma mucho... programando en C y con un micro un poco mas potente (el 877 creo que es el mejor candidato) creo que podrás hacer cosas más que interesante.

Saludos!

tendrias algun pdf para principiantes asi lo empiezo a analizar?


Desconectado jorgenuviola

  • PIC16
  • ***
  • Mensajes: 148
    • rat argentina!!
Re: señal video compuesto para TV pal y señal de video vga con pic16f84
« Respuesta #37 en: 10 de Septiembre de 2014, 17:32:18 »
Consulta, voy a hacer varios intentos mas, incluso de poner dos pic, pero el que sigue es escribir un codigo de corrido, sin timer, casi sin goto.  Necesito repasar los tiempos de la tv



5 us front porch y el resto se suma a los 52 de video (estamos hablando de la señal, al ser un codigo de corrido no voy a poner video aca, tendre que hacerlo con otro pic) y despues viene el primer sincro vertical



mi pregunta es ¿el ultimo pulso del vertical par que es de 60 us, es el que desplaza par que la proxima linea sea impar???? porque por ahi estoy errando con el desplazamiento

Desconectado elgarbe

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2178
Re: señal video compuesto para TV pal y señal de video vga con pic16f84
« Respuesta #38 en: 10 de Septiembre de 2014, 19:50:08 »
Dejame insistir en que la primer prueba debería hacerla sin sincronía vertical. Tal como lohace Rickard.

El código de él hace lo siguiente:

Pone la señal de salida en 0V
Delay de 4us (en el texto dice 3useg porque ya tiene algo perdido en las instrucciones previas)
Pone la señal en 0.3V (da por finalizado el pulso de sincro horizontal)
Delay de 8useg (acá deja pasar el tiempo para los TV viejos que necesitan ese retardo para que el haz esté en posicion)
Pone señal en 0.6V (una vez que pasaron los primeros 12 useg ya estamos al comienzo de la imagen, en la pate izquierda de la pantalla. Pone color Gris)
Delay de 4useg (deja el color Gris por 4useg para dibujar una rayita)
Pone la señal en 0.3V (vuelve al color negro)
Delay de 19useg (deja que pasen 19useg y el haz avance por la pantalla en color negro. 19useg es casi el medio de la pantalla)
Pone la señal en 1V (Para pintar en blanco)
Delay de 4useg (dibuja una rayita blanca en la pantalla)
Pone la señal en 0.3V (vuelve al color Negro)
Delay de 19useg (espera a llegar al final de la pantalla 4+19+4+19=46useg)
Pone señal en 0.6V (pinta color Gris)
Delay de 2useg
Delay de 2 ciclos de reloj

En teoriía con eso consigue la señal horizontal de 64useg, aunque a mi no me dan las cuentas.

Lo unico que necesitas para que el TV se sincronice con tu señal es el pulso horizontal. Al vertical, en principio podes dejarlo afuera, total el TV funciona igual, lo unico que no vas a conseguir es sincronizarte verticalmente con el barrido. Pero deberías obtener las 3 barras bien verticales.

Yo haría ese programa en basic y ajustaría los tiempos con el osciloscopio hasta obtener los tiempos correctos y los niveles de tension correctos, sin conectar el TV. Luego, cuando tu señal sea perfecta se la mandas al TV y.... voilá tendrás las barras verticales!

Con la alegría de esa imagen podemos seguir con el vertical.

Saludos y suerte!
-
Leonardo Garberoglio

Desconectado siniestro

  • PIC10
  • *
  • Mensajes: 44
Re: señal video compuesto para TV pal y señal de video vga con pic16f84
« Respuesta #39 en: 10 de Septiembre de 2014, 21:50:51 »
No se si sea necesario lo de "las lineas pares e impares"  eso solo es una estratégia de las transmiciones de TV para no enviar 60 cuadros por segundo, si no que 30 y mostrar cada imagen en dos partes.  Podrias dibujar de corrido sin ningun problema
Saber de todo un poco, sin ser experto en nada (una filosofia extraña)

Desconectado jorgenuviola

  • PIC16
  • ***
  • Mensajes: 148
    • rat argentina!!
Re: señal video compuesto para TV pal y señal de video vga con pic16f84
« Respuesta #40 en: 10 de Septiembre de 2014, 22:05:49 »
Dejame insistir en que la primer prueba debería hacerla sin sincronía vertical. Tal como lohace Rickard.

El código de él hace lo siguiente:

Pone la señal de salida en 0V
Delay de 4us (en el texto dice 3useg porque ya tiene algo perdido en las instrucciones previas)
Pone la señal en 0.3V (da por finalizado el pulso de sincro horizontal)
Delay de 8useg (acá deja pasar el tiempo para los TV viejos que necesitan ese retardo para que el haz esté en posicion)
Pone señal en 0.6V (una vez que pasaron los primeros 12 useg ya estamos al comienzo de la imagen, en la pate izquierda de la pantalla. Pone color Gris)
Delay de 4useg (deja el color Gris por 4useg para dibujar una rayita)
Pone la señal en 0.3V (vuelve al color negro)
Delay de 19useg (deja que pasen 19useg y el haz avance por la pantalla en color negro. 19useg es casi el medio de la pantalla)
Pone la señal en 1V (Para pintar en blanco)
Delay de 4useg (dibuja una rayita blanca en la pantalla)
Pone la señal en 0.3V (vuelve al color Negro)
Delay de 19useg (espera a llegar al final de la pantalla 4+19+4+19=46useg)
Pone señal en 0.6V (pinta color Gris)
Delay de 2useg
Delay de 2 ciclos de reloj

En teoriía con eso consigue la señal horizontal de 64useg, aunque a mi no me dan las cuentas.

Lo unico que necesitas para que el TV se sincronice con tu señal es el pulso horizontal. Al vertical, en principio podes dejarlo afuera, total el TV funciona igual, lo unico que no vas a conseguir es sincronizarte verticalmente con el barrido. Pero deberías obtener las 3 barras bien verticales.

Yo haría ese programa en basic y ajustaría los tiempos con el osciloscopio hasta obtener los tiempos correctos y los niveles de tension correctos, sin conectar el TV. Luego, cuando tu señal sea perfecta se la mandas al TV y.... voilá tendrás las barras verticales!

Con la alegría de esa imagen podemos seguir con el vertical.

Saludos y suerte!


Lo voy a hacer como me lo pedis, vamos a ver que hace la tv

Desconectado jorgenuviola

  • PIC16
  • ***
  • Mensajes: 148
    • rat argentina!!
Re: señal video compuesto para TV pal y señal de video vga con pic16f84
« Respuesta #41 en: 10 de Septiembre de 2014, 22:12:32 »
No se si sea necesario lo de "las lineas pares e impares"  eso solo es una estratégia de las transmiciones de TV para no enviar 60 cuadros por segundo, si no que 30 y mostrar cada imagen en dos partes.  Podrias dibujar de corrido sin ningun problema

entonces cuando haga el sincro vertical despues de la prueba que me propone el garbe voy a hacer un solo sincro vertical.

Desconectado jorgenuviola

  • PIC16
  • ***
  • Mensajes: 148
    • rat argentina!!
Re: señal video compuesto para TV pal y señal de video vga con pic16f84
« Respuesta #42 en: 10 de Septiembre de 2014, 23:45:42 »
elgarbe, tu experimento resulto positivo!!!! pero en parte. Escribi un codigo simple acorde a todo lo que me solicitaste, SIN VERTICAL la pantalla quedo estable, pero no andan los colores, en el osciloscopio veo la senal para gris y blanco tal cual como lo explica la pagina de richard pero no funciona. Le desconecto el puerto de color y sigue igual no hay cambios, ahora la pantalla quedo estable solo con el horizontal tal cual como lo indicaste y con la forma de 525 lineas. subo foto.




este codigo


define osc 10
symbol HSYNC = porta.0
symbol VIDEO = porta.2
OUTPUT porta.0
output porta.2
low hsync
low video
himpar:
low hsync
low video
pauseus 4
high hsync
pauseus 8
low hsync
high video
pauseus 4
low video
high hsync
pause 19
high video
pause 19
low hsync
pauseus 2
low hsync
low video
goto himpar

siniestro: tenes razon esta tv es moderna dentro de todo, debe de fines de los 90 asi que se ve no requiere un entrelazado.

sigo con las practicas, siguiente prueba es hacer lo mismo pero sin señal de video a ver si cambia la pantalla y luego de eso hacer un solo sincronismo vertical, pero con contador y un comando IF
« Última modificación: 10 de Septiembre de 2014, 23:48:44 por jorgenuviola »

Desconectado Darkman_A

  • PIC18
  • ****
  • Mensajes: 288
Re: señal video compuesto para TV pal y señal de video vga con pic16f84
« Respuesta #43 en: 11 de Septiembre de 2014, 00:01:39 »
elgarbe, tu experimento resulto positivo!!!! pero en parte. Escribi un codigo simple acorde a todo lo que me solicitaste, SIN VERTICAL la pantalla quedo estable, pero no andan los colores, en el osciloscopio veo la senal para gris y blanco tal cual como lo explica la pagina de richard pero no funciona. Le desconecto el puerto de color y sigue igual no hay cambios, ahora la pantalla quedo estable solo con el horizontal tal cual como lo indicaste y con la forma de 525 lineas. subo foto.

este codigo


define osc 10
symbol HSYNC = porta.0
symbol VIDEO = porta.2
OUTPUT porta.0
output porta.2
low hsync
low video
himpar:
low hsync
low video
pauseus 4
high hsync
pauseus 8
low hsync
high video
pauseus 4
low video
high hsync
pause 19
high video
pause 19
low hsync
pauseus 2
low hsync
low video
goto himpar

siniestro: tenes razon esta tv es moderna dentro de todo, debe de fines de los 90 asi que se ve no requiere un entrelazado.

sigo con las practicas, siguiente prueba es hacer lo mismo pero sin señal de video a ver si cambia la pantalla y luego de eso hacer un solo sincronismo vertical, pero con contador y un comando IF

Hola.
¿Tenes el archivo ASM que te genero la compilacion?. ¿y el LST?.... ¿Podes subirlos asi le pego una mirada?.

Saludos.

Desconectado jorgenuviola

  • PIC16
  • ***
  • Mensajes: 148
    • rat argentina!!
Re: señal video compuesto para TV pal y señal de video vga con pic16f84
« Respuesta #44 en: 11 de Septiembre de 2014, 00:58:50 »
Hola darkman si te lo paso el asm. Pero antes quiero decir lo siguiente, es importante en la vida reconocer los errores y en mi caso por ser novato en todo esto HORRORES. Estaba usando una ficha de video compuesto rescatada de una video casetera de 3 conectores uno para masa y otro para la señal, tenia conectado por comodidad un cable a cada uno, medi con el osciloscopio y la señal se veia, ahora no habia medido con el tester, lo pongo en la de sincro genial 0.3V y en la de video 2V!!! epa que paso aca???? voy a la ficha y que descubro, que la ficha era para pin largo y seria una tercera conexion, nunca iba a llegar la informacion de VIDEO!!!!! asi que uni los dos cables del port de video y el port de sinc y listo!!!!! en la otra tv si llegaba porque tenia la ficha larga


el grabe.............el programa FUNCIONO!!!!!


dejo la evidencia!!!!!!!!!!!






ahora hice una prueba con los tiempos de vertical y es un desastre. le agregre la parte del programa anterior y me parece que no funca asi.

¿alguna idea de como hago el vertical? ¿pongo variables a contar?

sigo con esto hasta tarde hasta que algo salga.


MIL GRACIAS A TODOS.

darkman te dejo el asm y lst

http://www.4shared.com/file/wcdASuW_ba/SINV.html
http://www.4shared.com/file/Ud7j6rCtba/sinV.html
« Última modificación: 11 de Septiembre de 2014, 01:13:00 por jorgenuviola »