微波EDA网,见证研发工程师的成长!
首页 > 应用设计 > 消费类电子 > 基于XRD4460的CCD视频信号处理电路的设计

基于XRD4460的CCD视频信号处理电路的设计

时间:04-15 来源:微计算机信息 /张贵祥 魏仲慧 何昕 点击:

比较式A/D转换器,由于利用对分搜索的原理,转换速率高达16MHz,这样的转换速度和转换精度适合于大多数应用场合。

  (6) 串行接口:XRD4460的串行接口包括了一个10bit的移位寄存器和多个并行寄存器,通过LOAD、SDI、SCLK三个信号来控制内部寄存器的写入,实现对XRD4460工作参数的编程控制。

3 CCD视频信号处理电路的硬件设计

  CCD视频信号处理电路以专用CCD视频信号处理芯片XRD4460为核心部件,完成CCD视频信号的放大、噪声处理以及数字化,并使用CPLD(可编程逻辑器件)技术完成整个电路的逻辑控制,配以先进先出(FIFO)存储器作为数据高速缓冲器,用于存储AD转换后的数据,并采用具有微控制器的USB接口芯片,从而通过USB接口将CCD数据输入计算机。CCD视频信号处理电路设计如图2所示。大致可分为三个部分。

  3.1 XRD4460视频信号处理电路

  XRD4460专用CCD视频信号处理芯片的工作时序需要根据具体的CCD芯片来确定。图2中,SHD、SHP、RST、CLAMP信号必须依据CCD输出信号的时序来设计。其时序关系如图3所示。CCD输出信号经过CCD信号处理器XRD4460处理, 即进行双相关采样(CDS)去噪处理后,再经增益放大以及偏置调整,然后经过A/D转换得到10位数字数据。这些数据在CPLD逻辑控制电路的控制下存人异步FIFO存储器SN74V293中。而SDI、SCLK、LOAD是XRD4460的串口控制信号。通过串行接口,可以方便进行编程控制XRD4460的增益与偏置的调整,从而改善输出图像的质量。

  
3.2 FIFO与USB接口电路

  高速A/D变换的数据不能直接通过USB送入主机,需要通过FIFO来缓冲数据。电路采用TI公司SN74V293芯片。它的容量为65536×18或131072×9,最快读写周期为6ns,可以满足100MHz采样数据的存储。设置SN74V293的输入、输出宽度为18位时,则其可存储64K×10位的数据。FIFO写时钟W和复位信号/RS的时序关系如图4所示。USB接口电路采用Cypress公司推出的EZ-USB芯片CY7C68013A,该芯片把USB2.0收发器、串行接收引擎SIE(Serial Interface Engine)、带16K的增强8051内核、4KB FIFO存储器以及通用可编程接口GPIF(General Programmable Interface)集成一体,将其作为USB外部设备的主控芯片,而无需外加微控制器(MCU)便可实现USB芯片通信初始化以及与主机的通信连接。 当FIFO中存入数据时,USB接口电路根据其标志信号(满信号/半满信号)读取数据并发送给主机。

  
图4 FIFO写控制时序

  3.3 CPLD逻辑控制电路

  逻辑控制电路由CPLD采用VHDL硬件描述语言编程实现,完成整个电路的逻辑控制,主要包括三部分的功能。第一部分的功能是为XRD4460提供工作时序(如图3)。第二部分功能是向FIFO提供写时钟W和复位信号/RS,控制数据的顺利写入。第三部分功能负责XRD4460的串口设置。在CPLD中设计一个串行口和一个寄存器,其中串行口用来将寄存器中的数据发送给XRD4460进行功能设置;而寄存器用来存储主机发送过来数据。主机通过CY7C68013A中的EP2端点发送数据。

 4 CCD视频信号处理电路的软件设计

  USB应用系统软件设计分为三部分:USB外设端的固件(Firmware)、主机操作系统上的客户驱动程序以及主机应用软件。主机应用软件通过客户驱动程序与系统USBI(USB Device Interface)进行通信,由系统产生USB数据的传送动作;固件则响应各种来自系统的USB标准请求,完成各种数据的交换工作和事件处理[4]。

  4.1 USB接口编程

  固件程序是USB芯片内微处理器的控制程序,可采用汇编语言或单片机C语言设计。当系统上电时,固件程序通过USB电缆下载到CY7C68013A的内部RAM 中。

  固件程序主要是实现USB通信。当主机与芯片进行USB通信时,会产生外部中断0,通过中断矢量寄存器来判断。Setup_packed_Int、Input_endpoint0_Int、Output_endpoint0_Int这三个中断主要用于与主机建立连接、进行控制传输或中断传输;Input_endpoint1_Int、Output_endpoint1_Int这两个中断主要在批量传输时使用。在固件中分别执行不同的中断程序来实现USB的数据传输。所有的中断处理程序采用C语言进行编写。

  4.2 主机软件设计

  首先开发CY7C68013A在主机中的驱动程序。用WinDK3.0开发了Win2000下的驱动程序,实现了控制传输、中断传输和批传输的标准接口函数。

  在应用程序开发中,采用VC++编制应用程序。把USB设备当成文件来操作,利用CreateFile得到USB句柄,用DeviceIoControl来进行控制传输,用ReadFile、WriteFile进行批量传输。主要实现两个功能:一是完成采集的图像的显示;二是设置CCD视频信号处理芯片,包括PGA增益、ADC偏置等工作参数的设置。

  5 结束语

本文介绍了一种采用专用CC

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top