Estoy tratando de capturar datos de píxeles que van a una pequeña pantalla CRT en blanco y negro. Las señales con las que tengo que trabajar son la señal de datos de píxeles de nivel TTL, HSYNC y VSYNC. Conozco la frecuencia del reloj de píxeles (~16 MHz), pero para mi aplicación, no tengo acceso a la señal del reloj de píxeles.
Quiero muestrear la señal de píxel en el momento apropiado (durante la mitad del período de bit, no durante la transición), así que pensé que necesitaba generar un nuevo reloj de 16 MHz con alguna relación de fase con un borde de la señal HSYNC y utilícelo para muestrear la señal de píxel.
Sé cómo usar un PLL para multiplicar una señal de reloj y mantener una cierta relación de fase entre la entrada y la salida, pero ¿cómo mantengo una relación similar entre un nuevo reloj de 16 MHz y una señal que solo ocasionalmente tiene un borde (HSYNC)? ?
¿O hay una mejor manera de resolver este problema?
Una forma de abordar esto sería usar su PLL (referido a HSYNC) para generar un reloj maestro a 3 o 4 veces el reloj de píxeles, y luego usar un contador Johnson para generar nuevos relojes de píxeles con 3 o 4 valores de fase diferentes. Luego puede seleccionar la fase que tiene el tiempo deseado, ya sea manualmente con un puente o electrónicamente con un multiplexor.
Hay formas de bloquear un PLL directamente a una referencia intermitente (es decir, la señal de video en sí), pero dado que ya conoce la tasa de puntos nominal, esto no debería ser necesario. Sin embargo, podría usar el detector de fase de dicho sistema para ayudarlo a seleccionar automáticamente la mejor fase del contador Johnson para el muestreo.
Esto suena como un proyecto único (la mayoría simplemente desecha la tecnología CRT en blanco y negro).
Incluso con una tecnología tan antigua, era común derivar todos los tiempos de un reloj maestro. Si es así, es probable que HSYNC esté sincronizado con los bordes de los píxeles, lo que facilita considerablemente el diseño de PLL.
¿Un 'alcance activado en HSYNC mientras mira un video TTL le diría si HSYNC está sincronizado con el reloj de píxeles? Si es así, también tendrá una idea de la fluctuación con la que tendrá que lidiar su PLL. Y el HSYNC síncrono facilita considerablemente el diseño de su PLL. Incluso en este escenario fácil, debe lidiar con no tener entrada de PLL durante el retroceso vertical.
Esto es (en principio) bastante fácil. No intenta bloquear su reloj de 16 MHz. En su lugar, construye un divisor que tiene una salida de la misma frecuencia que su sincronización. Por ejemplo, si su período horizontal es 63,5 usec, esto es 1016 ciclos de 16 MHz. Entonces, alimentaría los 16 MHz en una cadena dividida por 1016, luego sincronizaría la salida de la cadena con Hsync.
Esto es, "en principio", bastante sencillo, pero el diablo está en los detalles. Debe saber EXACTAMENTE cómo se relaciona el reloj con la sincronización, o los nuevos 16 MHz no se bloquearán en las posiciones de píxeles. Deberá usar un VCXO para un oscilador, o el gran factor de división producirá una fluctuación de fase en el VCO que puede hacer que el sistema quede inutilizable. Finalmente, deberá determinar experimentalmente el cambio de fase entre los píxeles y los 16 MHz, lo que puede o no causarle problemas.
Tenga en cuenta que no puede hacer esto con un oscilador de 16 MHz de frecuencia fija. La frecuencia del oscilador DEBE ser controlable y preferiblemente debe ser sintonizable en un rango muy pequeño, como 100 ppm. De ahí la necesidad de un VCXO.
chris stratton
chris stratton
marcus muller
Tony Estuardo EE75
Tony Estuardo EE75
marcus muller
marcus muller
usuario3528438
chris stratton