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