Esquema de aplicación del sistema de adquisición de imágenes basado en el dispositivo FPGA Chip EP2C5F256C6

introducir

En los sistemas de adquisición de datos de baja velocidad, a menudo se utilizan microcontroladores o DSP para el control, pero para ocasiones de adquisición de datos de alta velocidad, como la adquisición de imágenes, esta solución no puede satisfacer las necesidades. Por lo tanto, esta solución desperdicia en gran medida los recursos del puerto del microcontrolador o DSP y tiene poca flexibilidad; si se utiliza el método del puerto serie para recopilar datos, por un lado, la velocidad de adquisición de datos se reducirá y, por otro lado, los recursos de la CPU se consumirán en gran medida. El sistema adopta FPGA como la unidad de control principal de adquisición de datos, y toda la lógica de control se completa con hardware, que tiene alta velocidad, bajo costo y gran flexibilidad. Para aumentar la función de búfer, el sistema expande la RAM de 256 Mb fuera de la FPGA, lo que no solo aumenta la capacidad del búfer, sino que también reduce en gran medida la frecuencia de lectura y escritura, reduciendo efectivamente la carga en la CPU de la computadora host. Entre las interfaces de datos de imagen, VGA y PCI-Express son las más comunes, estas interfaces tienen poca escalabilidad y alto costo. El sistema adopta una interfaz USB de alta velocidad como interfaz de comunicación con la computadora host, que es rápida, fácil de instalar y flexible.


1 diagrama de bloques del sistema


El diagrama de bloques del sistema se muestra en la Figura 1. La unidad de control FPGA adopta la serie Cyclone II de EP2C5F256C6A1tera, que se compone principalmente de 4 partes: módulo de control principal, interfaz de sensor CMOS, controlador RAM y controlador de interfaz EZ-USB. La interfaz del sensor es responsable de completar el control de sincronización de SCCB, el controlador de RAM se utiliza para implementar la sincronización de las operaciones de lectura, escritura y actualización de RAM, el módulo de interfaz USB completa la lectura y escritura de datos entre el módulo de control principal y el EZ-USB. Y el módulo de control principal es responsable del esclavo EZ-USB.Se analiza el comando de la computadora host recibido por la parte USB, y la señal correspondiente se genera después de analizar el comando para controlar cada módulo correspondiente, como el formato de imagen transmitido por el sensor CMOS, el modo de lectura y escritura de la RAM y la longitud de la ráfaga.


2 diseño de módulo OV7620


El sensor de imagen adopta OV7620 y el diagrama de interfaz se muestra en la Figura 2. El sensor es potente y proporciona una variedad de salida de formato de datos, eliminación automática de ruido blanco, balance de blancos, saturación de color, control de matiz, tamaño de ventana, etc. que se pueden configurar a través de la línea de control SCCB interna. El OV7620 es un sensor de imagen en color CMOS. Admite escaneado continuo y entrelazado, dos formatos de imagen VGA y QVGA; píxeles máximos de 664 × 492, velocidad de fotogramas de 30 fps; los formatos de datos incluyen YUV, YCrCb y RGB. 0V7620 admite el modo de configuración SCCB y el modo de configuración predeterminada de carga automática, la selección está controlada por SCCB. Este sistema solo necesita admitir el modo SCCB, y el SBB está conectado a tierra durante el diseño. Después del encendido, el FP-GA configura el OV7620 a través del bus SCCB, y el sistema también puede aceptar comandos de la computadora host para configurar su modo de trabajo. La sincronización del bus SCCB es similar a la sincronización del bus I2C, SIO-0 es equivalente a SDA y SIO-1 es equivalente a SCL. OV7620 funciona en modo esclavo. En el proceso de escritura del registro, primero envíe la dirección de identificación del OV7620, luego envíe la dirección de registro de destino de los datos escritos y finalmente envíe los datos para escribir.


3 módulo de control de tiempo RAM


La interfaz del controlador de RAM se utiliza principalmente para realizar el tiempo de funcionamiento básico de la RAM, como el tiempo de carga (actualización), el tiempo de configuración del modo, el tiempo de lectura y escritura, etc. Los comandos de lectura y escritura son emitidos por el módulo de control principal y ejecutados por el módulo de control principal. controlador. El sistema adopta HY57V561620F(L)T(P) de Hynix, que puede realizar un almacenamiento de datos de gran capacidad de 256Mb.


El controlador secuencial se implementa mediante una máquina de estados finitos (FSM), y su diagrama de transición de estados se muestra en la Figura 3. 200 μs después del reinicio de encendido, todos los bloques de RAM se precargan. El nivel de pin de la operación de carga se muestra en la Tabla 1. Una vez que se completa la carga, todos los bloques se actualizan a través de tRP y se ingresa al estado de configuración de modo después de un retraso de tRFC. . En el estado de configuración de modo, es necesario configurar el retraso de RAS, la longitud de la ráfaga, etc., ingresar al estado inactivo después de un retraso de tMRD y esperar los comandos de lectura y escritura de la unidad de control principal. En estado inactivo, todas las filas de la RAM deben actualizarse cada 64 ms. En este diseño, el módulo de actualización de tiempo está diseñado como un contador y el pulso de conteo se selecciona desde el reloj del propio controlador. Dado que la RAM requiere un intervalo de tiempo máximo entre actualizaciones de no más de 64 ms, suponiendo una frecuencia de reloj del sistema de 100 MHz, un período de reloj de aproximadamente 0,01 μs y las 8 192 filas deben actualizarse en 64 ms, el conteo máximo debe ser 781 veces (64 ms/8192/0,01 μs). El sistema utiliza 700 pulsos de conteo para generar solicitudes de actualización.


4 EZ: controlador de transferencia USB


CY7C68013 es el chip de la serie EZ-USB FX2 de Cypress Company, y el diagrama de conexión de pines se muestra en la Figura 5. Esta serie de chips integra transceptor USB2.O, motor de interfaz en serie (SIE), 8,5 KB de RAM 8501 mejorada en chip, 16 KB de RAM, 4 KB de memoria FIFO, puertos de E/S, bus de datos, bus de direcciones y programación de uso general Interfaz (GPIF); Hay 3 modos de interfaz: modo de puerto, modo de interfaz esclavo FIFO y modo de interfaz GPIF. En el modo de puerto, todos los pines de E/S se pueden utilizar como puertos de E/S de propósito general 805l. Como el método de transmisión de datos más básico, la transmisión de datos se completa principalmente con el programa de firmware y requiere la participación de la CPU, por lo que la tasa de transmisión de datos es relativamente baja. En el modo de interfaz FIFO esclava, la lógica externa o un procesador externo se pueden conectar directamente a la FIFO del terminal FX2. El modo de interfaz GPIF utiliza PORTB y PORTD para formar una interfaz de datos de 16 bits para los cuatro puntos finales FX2 FIF0 (EP2, EP4, EP6 y EP8). El GPIF está conectado directamente al FIFO como un controlador principal interno y genera señales de control programables por el usuario para comunicarse con la interfaz externa. La transmisión de datos de los dos últimos modos se completa mediante la ejecución del protocolo USB por sí mismo, y el microprocesador no participa en la transmisión de datos, lo que mejora en gran medida la tasa de transmisión de datos.


En conclusión


A través del diseño anterior, el cuello de botella del muestreo y la transmisión de datos de alta velocidad se resuelve bien, y la recopilación de datos de imágenes de alta velocidad se realiza realmente con un breve retraso. Debido a su bajo costo y fácil instalación, tiene amplias perspectivas de mercado y se puede utilizar en campos como la teleconferencia, la telemedicina y la educación a distancia que requieren transmisión de imágenes de alta definición. La innovación de este diseño es adaptarse a los requisitos de aplicación de diferentes datos de imagen y realizar una variedad de modos de lectura y escritura de velocidad, que pueden ser lectura y escritura de longitud de ráfaga en tiempo real y lectura y escritura de página completa de alta velocidad.