TODOPIC
Simuladores, editores de PCB, etc => Simuladores de circuitos => Proteus ISIS => Mensaje iniciado por: PicMinor en 20 de Marzo de 2012, 08:00:23
-
¡ Saludos al Foro !
Dentro de las opciones del Proteus-Isis existe la posibilidad de utilizar un generador de señal que la recibe desde fichero. Concretamente está en GENERATOR -> FILE. Mi pregunta es si alguien ha desarrollado algún fichero que genere una señal de video, aunque sea en blanco y negro pero que lleve los sincronismos horizontal, vertical, etc. Si nadie lo ha hecho pienso que sería interesante que entre todos pudieramos diseñar un generador de TV.
Mediante un PIC he conseguido generar señales de video que funcionan, tanto en la simulación como en la realidad, pero no he conseguido simular las señales "a pelo" mediante los generadores propios del Proteus.
¿Alguien ha hecho algo?
¿Alguien se apunta a hacer algo?
-
Me respondo a mi mismo con un sencillo generador de sincronismo horizontal para el Proteus.
Es un generador del tipo "PATTERN" con un periodo de 64µs y un sincronismo de 4µs. Los niveles son de 0V para el sincronismo y de 5V cuando no lo hay. Algo similiar a lo generado por el LM1881.
El sincronismo vertical (o de cuadro) es bastante más complicado. Por lo que he leído hay que generar (Si no me equivoco), y usando niveles TTL:
Venimos de 5V
[30µs a 0V - 2µs a 5V] - [30µs a 0V - 2µs a 5V] - [30µs a 0V - 2µs a 5V] - [30µs a 0V - 2µs a 5V] - [30µs a 0V - 2µs a 5V]. Esta es la primera parte del sincronismo con los pulsos de ecualización (5 secuencias).
[2µs a 0V - 30µs a 5V] - [2µs a 0V - 30µs a 5V] -[2µs a 0V - 30µs a 5V] - [2µs a 0V - 30µs a 5V]. Esta es la segunda parte del sincronismo (4 secuencias). Dependiendo si el cuadro es par o impar hay que añadir otra secuencia [2µs a 0V - 30µs a 5V].
Si el sincronismo lleva 5+5 secuencias durará 320µs, si lleva 5+4 serán 288µs.
Por si queda más claro pongo una especie de cronograma del sincronismo vertical.
30µs 2µs 30 µs 2µs 30µs 2µs 30µs 2µs 30µs 2µs 2µs 30µs 2µs 30µs 2µs 30µs 2µs 30µs 2µs
...___ __ __ __ __ __ __________ __________ __________ __________ ____ ......
|_________| |_________| |_________| |_________| |_________| |__| |__| |__| |__| |__|
1 2 3 4 5 6 7 8 9
30µs 2µs 30 µs 2µs 30µs 2µs 30µs 2µs 30µs 2µs 2µs 30µs 2µs 30µs 2µs 30µs 2µs 30µs 2µs 30µs 2µs
...___ __ __ __ __ __ __________ __________ __________ __________ __________ ____ ......
|_________| |_________| |_________| |_________| |_________| |__| |__| |__| |__| |__| |__|
1 2 3 4 5 6 7 8 9 10
Creo que lo mejor sería generar un fichero para cargar desde el generador de Proteus, tal y como se hace con los WAV, ya que sólo los sincronismos resultan bastante complejos para hacerlo con métodos "discretos". El hacerlo con un micro sería posible pero para diseñar un generador creo que sería más sencillo escribir un fichero.
Espero que alguien se anime.
¡ Saludos!
-
Estoy intentado crear un script para un generador del tipo HDL pero es realmente diabólico.
No encuentro instrucciones de cómo hacerlo en ningún lado. Cuando intento modificar los ejemplos me da errores que no consigo entender.
¿Alguien sabe cómo puedo hacer algo que funcione?
Me bastaría con un pequeño ejemplo que me generara una señal de +/- 0.3V cada 10 microsegundos. A partir de ese ejemplo creo que podría diseñar un script que generara una señal de video en Blano y Negro.
-
Es un poco descabellado lo siguiente pero tal vez funcione... si tienes armado (físicamente) el generador de video con PIC puedes intentar inyectarlo en la placa de sonido y grabarlo con algún editor de WAV y ver que pasa... seguramente no tendrá velocidad de respuesta para la información de color (tanto los colores como el Burst) pero para una señal blanco y negro seguro que sí. Teniendo en cuenta que el barrido horizontal en PAL-N es 15625 la placa de sonido tiene respuesta de sobra.
-
¡Gracias por la respuesta!
Evidentemente lo que tú comentas es una opción, pero hay que reconocer que no deja de ser una macarrada. Lo ideal sería diseñar un script para el generador Easy HDL, que por lo que he visto permite ser programado de "alguna manera". Lo que más me sorprende es que nadie se haya puesto a ello nunca. Yo lo estoy intentando pero la verdad es que la información sobre los scripts del Proteus son prácticamente nulas.
-
.............
Lo que más me sorprende es que nadie se haya puesto a ello nunca. Yo lo estoy intentando pero la verdad es que la información sobre los scripts del Proteus son prácticamente nulas.
Allí mismo tienes la respuesta de porque nadie se puso con ello :D :D :D
-
En la ayuda en línea de ISIS en el apartado PROTEUS VSM HELP hay un capítulo entero dedicado a explicar con detalle los scripts HDL.
Es verdad que está en inglés.
Me apunto el tema, y trataré de escribir una guía dedicada a los scripts HDL.
Un saludo.
-
Bueno, pues al final hemos cumplido nuestra promesa y hemos publicado la guía dedicada al lenguaje EasyHDL.
Las podéis consultar en el siguiente enlace:
http://proteus.hubor.es/recursos/gu%C3%ADas-al-detalle/157-easyhdl-al-detalle.html (http://proteus.hubor.es/recursos/gu%C3%ADas-al-detalle/157-easyhdl-al-detalle.html)
Espero que os sea de utilidad.
Un saludo.