基于FPGA的高速圖像采集系統設計
本文引用地址:http://www.104case.com/article/192110.htm
3 RAM時序控制模塊
RAM控制器接口主要用于實現RAM的基本操作時序,如充電(刷新)時序、模式設置時序、讀寫時序等。讀寫命令由主控模塊發出,由控制器具體執行。系統采用Hy―nix公司的HY57V561620F(L)T(P),可實現256 Mb的大容量數據存儲。
時序控制器由一個有限狀態機(FSM)實現,其狀態轉換圖如圖3所示。加電復位200μs后,對RAM的所有塊進行預充電,充電操作的引腳電平如表1所列。充電完成后經tRP刷新所有塊,延遲tRFC后進入模式設置狀態。在模式設置狀態中,需要對RAS延遲、突發長度等進行設置,延遲tMRD后進入空閑狀態,等待主控單元的讀寫命令。在空閑狀態中,每隔64 ms需要對RAM中所有行刷新。在本設計中定時刷新模塊設計成一個計數器,計數脈沖選自控制器本身的時鐘。由于RAM要求兩次刷新的最大時間間隔不超過64 ms,假設系統的時鐘頻率為1O0MHz,則時鐘周期約為0.01μs,并且要在64 ms內要完成全部8 192行的刷新,所以最大計數應該為781次(64 ms/8192/0.01μs)。系統采用700次的計數脈沖產生刷新請求。
RAM控制器的讀寫地址與讀寫控制信號均由主控單元產生,主控單元結構框圖如圖4所示。PLL用于產生RAM控制器和緩沖區的時鐘(系統設計為100 MHz);CMD命令解析模塊實現對上位機發送過來的命令解析并產生相應的控制信號,如CMOS傳感器控制、RAM突發長度控制等。為了降低讀寫RAM的頻率,系統設計了一個8×16位的FIFO。當8個像素的數據存入FIFO后,FIFO向RAM控制器發送寫請求(W_req);與此同時,寫地址發生器產生寫地址,由RAM控制器產生寫數據的時序。讀寫地址發生器是一個遞增的計數器,每次的讀寫地址是上次的地址加BL(突發長度)。由于PCLK的最高頻率可達9.2 MHz(640×480×30),而RAM的時鐘頻率是100 MHz,每次寫入一個像素的數據需要5個時鐘周期(考慮RAS延遲),這樣寫操作耗費整個時鐘周期的50%;加入FIF0后,讀寫的突發長度均是8,可降低耗費的時鐘周期至10%左右。
4 EZ―USB傳輸控制器
CY7C68013是Cypress公司的EZ―USB FX2系列芯片,引腳連接圖如圖5所示。該系列芯片集成了USB2.O收發器、串行接口引擎(SIE)、帶8.5 KB片上RAM的增強型8501、16 KB的RAM、4 KB的FIFO存儲器、I/O口、數據總線、地址總線和通用可編程接口(GPIF);共有3種接口模式――端口模式、從屬FIFO接口模式和GPIF接口模式。在端口模式下,所有I/O引腳都可作為805l的通用I/O口,作為最基本的數據傳輸模式,其數據傳輸主要由固件程序完成,需要CPU的參與,因此數據傳輸速率比較低。在從屬FIFO接口模式下,外部邏輯或外部處理器可以直接與FX2端點FIFO相連。GPIF接口模式使用PORTB和PORTD構成通向4個FX2端點FIF0(EP2、EP4、EP6和EP8)的16位數據接口。GPIF作為內部的主控制器與FIFO直接相連,并產生用戶可編程的控制信號與外部接口進行通信。后兩種模式數據的傳輸通過執行USB本身的協議來完成,微處理器不參與數據傳輸,從而使數據的傳輸速率大大地提高。
評論