基于FPGA的高速圖像采集系統設計
本文引用地址:http://dyxdggzs.com/article/192110.htm
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)完成,微處理器不參與數據傳輸,從而使數據的傳輸速率大大地提高。
評論