基于FPGA的高速圖像采集系統設計

發(fā)布時(shí)間:2010-3-30 11:58    發(fā)布者:李寬
關(guān)鍵詞: FPGA , 采集 , 圖像 , 系統設計
引言

在低速的數據采集系統中,往往采用單片機或者 DSP進(jìn)行控制;而對于圖像采集這種高速數據采集的場(chǎng)合,這種方案就不能滿(mǎn)足需要。因此這種方案極大浪費了單片機或DSP的端口資源且靈活性差;若改用串口方式收集數據,則一方面降低了數據采集的速度,另一方面極大地耗費CPU的資源。本系統采用FPGA作為數據采集的主控單元,全部控制邏輯由硬件完成,速度快、成本低、靈活性強。為了增加緩沖功能,系統在FPGA外擴展了256Mb的RAM,不僅增大了緩沖區容量,而且極大地降低了讀寫(xiě)頻率,有效地減輕了上位機CPU的負擔。在圖像數據接口中,比較常見(jiàn)的是VGA、PCI—Express,而這些接口擴展性差、成本高。本系統采用高速的USB接口作為與上位機通信的端口,速度快、易安裝、靈活性強。

1 系統框圖

系統框圖如圖1所示。FPGA控制單元采用 A1tera公司Cyclone II系列的EP2C5F256C6,主要由4個(gè)部分組成——主控模塊、CMOS傳感器接口、RAM控制器以及EZ—USB接口控制器。傳感器接口負責完成 SCCB時(shí)序控制,RAM控制器用于實(shí)現RAM讀寫(xiě)與刷新操作的時(shí)序,USB接口模塊完成主控模塊與EZ—USB之間的數據讀寫(xiě);而主控模塊負責對從EZ —USB部分接收過(guò)來(lái)的上位機命令進(jìn)行解析,解析完命令后產(chǎn)生相應的信號控制各個(gè)對應模塊,如CMOS傳感器傳輸的圖像格式、RAM的讀寫(xiě)方式、突發(fā)長(cháng)度等。



2 OV7620模塊設計

圖像傳感器采用OV7620,接口圖如圖2所示。該傳感器功能強大,提供多種數據格式的輸出,自動(dòng)消除白噪聲,白平衡、色彩飽和度、色調控制、窗口大小等均可通過(guò)內部的SCCB控制線(xiàn)進(jìn)行設置。OV7620屬于CMOS彩色圖像傳感器。它支持連續和隔行兩種掃描方式,VGA與QVGA兩種圖像格式;最高像素為664×492,幀速率為30fps;數據格式包括YUV、YCrCb、RGB三種。0V7620支持SCCB設置模式和自動(dòng)加載默認設置模式,其選擇由SCCB控制。本系統只需要支持SCCB模式,因此在設計的時(shí)候將SBB接地。上電后FP—GA通過(guò)SCCB總線(xiàn)對OV7620進(jìn)行設置,系統也可接受上位機發(fā)過(guò)來(lái)命令,設置其工作模式。SCCB總線(xiàn)時(shí)序類(lèi)似于I2C總線(xiàn)時(shí)序,SIO一O相當于SDA,SIO一1相當于SCL。OV7620工作于從模式,在寫(xiě)寄存器的過(guò)程中先發(fā)送OV7620的ID地址,然后發(fā)送寫(xiě)數據的目的寄存器地址,最后發(fā)送要寫(xiě)入的數據。



OV7620功能寄存器的地址為0x00~0x7C,通過(guò)設置相應的寄存器,可以使它工作于不同的模式。例如,設置OV7620為連續掃描、RGB原始數據16位輸出方式,需要設置寄存器0x12、Oxl3、Ox20、Ox28分別為OX2D、0x01、Ox02、0x20。另外,圖像輸出的關(guān)鍵問(wèn)題是幀同步,VO7620傳感器中VSYNc、HSYNC、HREF、PCLK分別表示垂直同步、水平同步、參考信號和像素輸出同步,可以通過(guò)它們之間的配合使用,定位出每幀輸出圖像的起始位和結束位。

3 RAM時(shí)序控制模塊

RAM控制器接口主要用于實(shí)現RAM的基本操作時(shí)序,如充電(刷新)時(shí)序、模式設置時(shí)序、讀寫(xiě)時(shí)序等。讀寫(xiě)命令由主控模塊發(fā)出,由控制器具體執行。系統采用Hy—nix公司的HY57V561620F(L)T(P),可實(shí)現256 Mb的大容量數據存儲。

時(shí)序控制器由一個(gè)有限狀態(tài)機(FSM)實(shí)現,其狀態(tài)轉換圖如圖3所示。加電復位200μs后,對RAM的所有塊進(jìn)行預充電,充電操作的引腳電平如表1所列。充電完成后經(jīng)tRP刷新所有塊,延遲tRFC后進(jìn)入模式設置狀態(tài)。在模式設置狀態(tài)中,需要對RAS延遲、突發(fā)長(cháng)度等進(jìn)行設置,延遲tMRD后進(jìn)入空閑狀態(tài),等待主控單元的讀寫(xiě)命令。在空閑狀態(tài)中,每隔64 ms需要對RAM中所有行刷新。在本設計中定時(shí)刷新模塊設計成一個(gè)計數器,計數脈沖選自控制器本身的時(shí)鐘。由于RAM要求兩次刷新的最大時(shí)間間隔不超過(guò) 64 ms,假設系統的時(shí)鐘頻率為1O0MHz,則時(shí)鐘周期約為0.01μs,并且要在64 ms內要完成全部8 192行的刷新,所以最大計數應該為781次(64 ms/8192/0.01μs)。系統采用700次的計數脈沖產(chǎn)生刷新請求。



RAM控制器的讀寫(xiě)地址與讀寫(xiě)控制信號均由主控單元產(chǎn)生,主控單元結構框圖如圖4所示。PLL用于產(chǎn)生RAM控制器和緩沖區的時(shí)鐘(系統設計為100 MHz);CMD命令解析模塊實(shí)現對上位機發(fā)送過(guò)來(lái)的命令解析并產(chǎn)生相應的控制信號,如CMOS傳感器控制、RAM突發(fā)長(cháng)度控制等。為了降低讀寫(xiě)RAM的頻率,系統設計了一個(gè)8×16位的FIFO。當8個(gè)像素的數據存入FIFO后,FIFO向RAM控制器發(fā)送寫(xiě)請求(W_req);與此同時(shí),寫(xiě)地址發(fā)生器產(chǎn)生寫(xiě)地址,由RAM控制器產(chǎn)生寫(xiě)數據的時(shí)序。讀寫(xiě)地址發(fā)生器是一個(gè)遞增的計數器,每次的讀寫(xiě)地址是上次的地址加BL(突發(fā)長(cháng)度)。由于PCLK的最高頻率可達9.2 MHz(640×480×30),而RAM的時(shí)鐘頻率是100 MHz,每次寫(xiě)入一個(gè)像素的數據需要5個(gè)時(shí)鐘周期(考慮RAS延遲),這樣寫(xiě)操作耗費整個(gè)時(shí)鐘周期的50%;加入FIF0后,讀寫(xiě)的突發(fā)長(cháng)度均是8,可降低耗費的時(shí)鐘周期至10%左右。



4 EZ—USB傳輸控制器

CY7C68013是Cypress公司的EZ—USB FX2系列芯片,引腳連接圖如圖5所示。該系列芯片集成了USB2.O收發(fā)器、串行接口引擎(SIE)、帶8.5 KB片上RAM的增強型8501、16 KB的RAM、4 KB的FIFO存儲器、I/O口、數據總線(xiàn)、地址總線(xiàn)和通用可編程接口(GPIF);共有3種接口模式——端口模式、從屬FIFO接口模式和GPIF接口模式。在端口模式下,所有I/O引腳都可作為805l的通用I/O口,作為最基本的數據傳輸模式,其數據傳輸主要由固件程序完成,需要CPU的參與,因此數據傳輸速率比較低。在從屬FIFO接口模式下,外部邏輯或外部處理器可以直接與FX2端點(diǎn)FIFO相連。GPIF接口模式使用PORTB和PORTD構成通向4個(gè)FX2端點(diǎn)FIF0(EP2、EP4、EP6和EP8)的16位數據接口。GPIF作為內部的主控制器與FIFO直接相連,并產(chǎn)生用戶(hù)可編程的控制信號與外部接口進(jìn)行通信。后兩種模式數據的傳輸通過(guò)執行USB本身的協(xié)議來(lái)完成,微處理器不參與數據傳輸,從而使數據的傳輸速率大大地提高。



本方案采用從FIFO方式,由FPGA提供讀寫(xiě)時(shí)鐘,EZ—USB的CPU不參與數據傳輸。其中端點(diǎn)FIFO相當于FPGA的外部RAM,數據的讀寫(xiě)分別由讀寫(xiě)控制器完成。如果數據從EZ_USB讀入到FPGA中,首先要檢測CON控制線(xiàn)的狀態(tài),若有數據要讀,分配FIFOADR=00,使FIFO指針指向輸出端點(diǎn),使能SLOE使之數據輸出,然后采樣數據線(xiàn)上的數據,讀得的數據送入命令解析模塊解析;如果是數據從FPGA寫(xiě)入到EZ_USB中,則設置 FIFOADR使之指向輸入端點(diǎn),拉低SLWR,將內部數據總線(xiàn)接到外部數據總線(xiàn)上,這樣就完成了一次數據的寫(xiě)入。

除上述設計外還需要對EZ_USB模塊本身進(jìn)行設置,這部分屬于固件開(kāi)發(fā)部分。Cypress公司為固件開(kāi)發(fā)提供了一個(gè)固件庫和固件框架,都是在集成開(kāi)發(fā)環(huán)境下開(kāi)發(fā)的,固件庫提供了一些常量、數據結構和函數來(lái)簡(jiǎn)化用戶(hù)對芯片的使用。將代碼在Keil C51環(huán)境中進(jìn)行編譯;編譯通過(guò)后,將固件代碼下載到單片機中。這部分主要完成相關(guān)寄存器的設置和波形文件的編寫(xiě)。

結語(yǔ)

通過(guò)以上設計很好地解決了高速數據在采樣、傳輸過(guò)程中的瓶頸,并以很短的時(shí)延真正實(shí)現了高速圖像數據的采集。由于其低成本、易安裝的特性,擁有廣闊的市場(chǎng)前景,可以應用于電話(huà)會(huì )議、遠程醫療和遠程教學(xué)等需要高清圖像傳輸的領(lǐng)域。本設計的創(chuàng )新點(diǎn)在于,它適應了不同的圖像數據的應用需求,實(shí)現了多種速率的讀寫(xiě)模式,可以是實(shí)時(shí)的突發(fā)長(cháng)度讀寫(xiě)和高速的全頁(yè)讀寫(xiě)。

參考文獻

   1. CY7C68013 EZ-USB FX2 USB Microcontroller High-speed USB Peripheral Controller 2008
   2. OV7620 SINGLE-CHIP CMOS VGA COLOR DIGITAL CAMERA 2008
   3. Hynix HY57V561620F(L)T(P)-xI Synchronous DRAM Manual 2008
   4. 韋存剛.金星 基于 FPGA的多路數據采集和控制模塊設計 [期刊論文] -微計算機信息2008(17)
   5. 夏雨聞 Verilog 數字系統設計教程 2003

作者:重慶郵電大學(xué) 王海濱  楊曉非
來(lái)源:?jiǎn)纹瑱C與嵌入式系統應用 2009 (3)
本文地址:http://selenalain.com/thread-9995-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页