實(shí)時(shí)視頻采集系統的SDRAM控制器設計
在實(shí)時(shí)視頻采集系統中,為了保證數據的穩定和連續性,通常采用的方法是對存儲器進(jìn)行乒乓操作。一般所指的乒乓操作針對兩片存儲器芯片,如圖3所示,其原理是通過(guò)控制模塊對兩片存儲器分別做讀寫(xiě)操作,寫(xiě)存儲器滿(mǎn)時(shí)控制模塊發(fā)出交換命令,切換兩片存儲器的操作狀態(tài)。本文引用地址:http://dyxdggzs.com/article/163469.htm
該系統采用的是一片SDRAM實(shí)現乒乓操作。設計時(shí)是利用SDRAM的不同BANK間的存取操作來(lái)實(shí)現乒乓操作。由于SDRAM總共有4個(gè)BANK,所以讀取第一幀圖像時(shí)使用SDRAM的1,2 BANK為讀緩存,3,4 BANK為寫(xiě)緩存。第二幀圖像時(shí)SDRAM的3,4 BANK切換為讀緩存,1,2 BANK切換為寫(xiě)緩存。采用一幀圖像讀寫(xiě)完畢作為切換標志反復切換讀寫(xiě)緩存,就充分利用SDRAM的不同BANK來(lái)實(shí)現乒乓操作。另一方面由于SDRAM的數據線(xiàn)和地址線(xiàn)只有1組,所以實(shí)際控制的時(shí)候讀寫(xiě)操作是不能同時(shí)進(jìn)行的。設計中考慮到SDRAM的工作頻率與前端圖像采集的像素頻率以及后端VGA顯示的像素頻率相比要高得多,因此將讀寫(xiě)操作利用時(shí)分的方式分開(kāi)控制。所以在控制器中設計了一個(gè)指令計數器(Countcmd),通過(guò)計數的方式來(lái)切換讀寫(xiě)操作。只要選取適當的SDRAM工作頻率以及指令計數器的規定值就可以完成SDRAM讀寫(xiě)操作的連續切換。實(shí)際設計中采用的SDRAM工作頻率為100 MHz,指令計數器的規定值為240。SDRAM控制器狀態(tài)轉換概圖如圖4所示。
SDRAM控制器的具體狀態(tài)轉換流程如下:首先初始化SDRAM,然后向SDRAM的1,2 BANK寫(xiě)入第一幀圖像,當第一幀圖像寫(xiě)入完畢后進(jìn)入乒乓操作階段。此時(shí)SDRAM的1,2 BANK為讀緩存,3,4 BANK為寫(xiě)緩存。
首先進(jìn)入讀緩存激活行,開(kāi)始讀操作,讀操作開(kāi)始的同時(shí)啟動(dòng)指令計數器。此時(shí)每執行一條指令(包括讀指令,空操作指令,不包括預充電指令和行激活指令),指令計數器自加1,當指令計數器到達規定值時(shí)將指令計數器清0并切換到寫(xiě)狀態(tài)。進(jìn)入寫(xiě)狀態(tài)前先判斷寫(xiě)緩存的行激活標志,如果沒(méi)有激活,先執行行激活,然后開(kāi)始寫(xiě)操作,如果已經(jīng)激活則直接開(kāi)始寫(xiě)操作。寫(xiě)操作開(kāi)始的同時(shí)啟動(dòng)指令計數器。此時(shí)和讀狀態(tài)時(shí)一樣,每執行一條指令,指令計數器自加1,當指令計數器到達規定值時(shí)同樣將指令計數器清0后切換到讀狀態(tài)。如此反復切換操作,直至讀完一幀或者寫(xiě)滿(mǎn)一幀。如果是讀完一幀,則判斷寫(xiě)緩存中一幀寫(xiě)滿(mǎn)沒(méi)有。如果已經(jīng)寫(xiě)滿(mǎn),則進(jìn)入讀寫(xiě)BANK切換狀態(tài)。如果沒(méi)有,則進(jìn)入寫(xiě)狀態(tài)并不再切換讀寫(xiě)狀態(tài),一直保持寫(xiě)狀態(tài)直至寫(xiě)滿(mǎn)一幀為止,然后進(jìn)入讀寫(xiě)BANK切換狀態(tài)。如果是寫(xiě)滿(mǎn)一幀,則同理于讀完一幀的情況,首先判斷讀緩存中讀完一幀沒(méi)有,然后根據判斷結果進(jìn)行操作,最后進(jìn)入讀寫(xiě)BANK切換狀態(tài)。在讀寫(xiě)BANK切換狀態(tài)中,讀緩存切換為3,4 BANK,寫(xiě)緩存切換為1,2 BANK。反復上述操作步驟,就可以完成使用一片SDRAM不同BANK的乒乓操作。整個(gè)SDRAM控制器在A(yíng)ltera的QuartusⅡ7.2環(huán)境下采用Verilog設計完成,然后在ModelSim SE 6.0環(huán)境下仿真通過(guò)。隨后通過(guò)Altera的QuartusⅡ7.2進(jìn)行綜合和布局布線(xiàn),并最終在A(yíng)l-teraCyclone系列FPGA芯片EP1C6Q240C8上完成。所設計的SDRAM控制器在PAL→VGA的實(shí)時(shí)視頻采集系統中調試通過(guò),能夠實(shí)現圖像數據的存儲和讀取,完全滿(mǎn)足系統的要求。
3 結 語(yǔ)
介紹在PAL→VGA的實(shí)時(shí)視頻采集系統中使用SDRAM作為圖像緩存的基本操作,設計一種使用1片SDRAM的不同BANK進(jìn)行乒乓操作的相對容易實(shí)現的SDRAM控制器設計方法。在PAL→VGA的實(shí)時(shí)視頻采集系統中,使用了所設計的SDRAM控制器,并通過(guò)硬件驗證,采集得到的圖像質(zhì)量較好。另外,這里設計的SDRAM控制器稍加改動(dòng)就可以應用到其他實(shí)時(shí)視頻采集系統中去,具有很強的通用性。
pid控制器相關(guān)文章:pid控制器原理
評論