基于FPGA的高速圖像采集系統設計
在低速的數據采集系統中,往往采用單片機或者DSP進行控制;而對于圖像采集這種高速數據采集的場合,這種方案就不能滿足需要。因此這種方案極大浪費了單片機或DSP的端口資源且靈活性差;若改用串口方式收集數據,則一方面降低了數據采集的速度,另一方面極大地耗費CPU的資源。本系統采用FPGA作為數據采集的主控單元,全部控制邏輯由硬件完成,速度快、成本低、靈活性強。為了增加緩沖功能,系統在FPGA外擴展了256Mb的RAM,不僅增大了緩沖區容量,而且極大地降低了讀寫頻率,有效地減輕了上位機CPU的負擔。在圖像數據接口中,比較常見的是VGA、PCI―Express,而這些接口擴展性差、成本高。本系統采用高速的USB接口作為與上位機通信的端口,速度快、易安裝、靈活性強。
1 系統框圖
系統框圖如圖1所示。FPGA控制單元采用A1tera公司Cyclone II系列的EP2C5F256C6,主要由4個部分組成――主控模塊、CMOS傳感器接口、RAM控制器以及EZ―USB接口控制器。傳感器接口負責完成SCCB時序控制,RAM控制器用于實現RAM讀寫與刷新操作的時序,USB接口模塊完成主控模塊與EZ―USB之間的數據讀寫;而主控模塊負責對從EZ―USB部分接收過來的上位機命令進行解析,解析完命令后產生相應的信號控制各個對應模塊,如CMOS傳感器傳輸的圖像格式、RAM的讀寫方式、突發長度等。
2 OV7620模塊設計
圖像傳感器采用OV7620,接口圖如圖2所示。該傳感器功能強大,提供多種數據格式的輸出,自動消除白噪聲,白平衡、色彩飽和度、色調控制、窗口大小等均可通過內部的SCCB控制線進行設置。OV7620屬于CMOS彩色圖像傳感器。它支持連續和隔行兩種掃描方式,VGA與QVGA兩種圖像格式;最高像素為664×492,幀速率為30fps;數據格式包括YUV、YCrCb、RGB三種。0V7620支持SCCB設置模式和自動加載默認設置模式,其選擇由SCCB控制。本系統只需要支持SCCB模式,因此在設計的時候將SBB接地。上電后FP―GA通過SCCB總線對OV7620進行設置,系統也可接受上位機發過來命令,設置其工作模式。SCCB總線時序類似于I2C總線時序,SIO一O相當于SDA,SIO一1相當于SCL。OV7620工作于從模式,在寫寄存器的過程中先發送OV7620的ID地址,然后發送寫數據的目的寄存器地址,最后發送要寫入的數據。
OV7620功能寄存器的地址為0x00~0x7C,通過設置相應的寄存器,可以使它工作于不同的模式。例如,設置OV7620為連續掃描、RGB原始數據16位輸出方式,需要設置寄存器0x12、Oxl3、Ox20、Ox28分別為OX2D、0x01、Ox02、0x20。另外,圖像輸出的關鍵問題是幀同步,VO7620傳感器中VSYNc、HSYNC、HREF、PCLK分別表示垂直同步、水平同步、參考信號和像素輸出同步,可以通過它們之間的配合使用,定位出每幀輸出圖像的起始位和結束位。
評論