国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

實(shí)時(shí)視頻采集系統(tǒng)的SDRAM控制器設(shè)計(jì)

2010-05-13 09:17張文濤,王瓊?cè)A,李大海,張映權(quán)
現(xiàn)代電子技術(shù) 2009年20期
關(guān)鍵詞:控制器

張文濤,王瓊?cè)A,李大海,張映權(quán)

摘 要:描述了一種在PAL→VGA的實(shí)時(shí)視頻采集系統(tǒng)中圖像數(shù)據(jù)處理的方法。針對(duì)實(shí)時(shí)視頻采集系統(tǒng)一般使用2片SDRAM進(jìn)行乒乓緩存的方式,給出一種使用一片SDRAM的不同BANK進(jìn)行乒乓操作的相對(duì)容易實(shí)現(xiàn)的SDRAM控制器設(shè)計(jì)方法。該方法通過(guò)充分利用SDRAM的切換BANK存取操作并采用指令計(jì)數(shù)的方式進(jìn)行讀寫(xiě)狀態(tài)轉(zhuǎn)換,在PAL→VGA實(shí)時(shí)視頻采集系統(tǒng)中實(shí)現(xiàn)了利用一片SDRAM進(jìn)行圖像緩存。它在實(shí)時(shí)視頻采集系統(tǒng)中圖像數(shù)據(jù)處理方面,具有良好的應(yīng)用價(jià)值。

關(guān)鍵詞:視頻采集;FPGA;SDRAM 控制器;乒乓操作

中圖分類(lèi)號(hào):TN948文獻(xiàn)標(biāo)識(shí)碼:A

文章編號(hào):1004-373X(2009)20-057-03

Design of SDRAM Controller for Real-time Video Acquisition System

ZHANG Wentao,WANG Qionghua,LI Dahai,ZHANG Yingquan

(Key Laboratory of Fundamental Synthetic Vision Graphics and Image for National Defense,School of Electronics and

Information Engineering,Sichuan University,Chengdu,610065,China)

Abstract:In this paper,a method of image data processing for PAL→VGA real-time video acquisition system is des-cribed.According to the former method of real-time video acquisition system usually using two SDRAM for ping pong cache,a design method of one SDRAM controller which uses different BANK of SDRAM for ping pong operation is proposed.By usingthe alternating BANK access operation of SDRAM and using instruction count to convert the read and write state of SDRAM,PAL→VGA real-time video acquisition system uses one SDRAM to realize image cache successfully.The design is well applicable to image data processing for the real-time video acquisition system.

Keywords:video acquisition;FPGA;SDRAM controller;ping pong operation

0 引 言

在PAL→VGA的實(shí)時(shí)視頻采集系統(tǒng)中,由于視頻數(shù)據(jù)流的數(shù)據(jù)量大、實(shí)時(shí)性要求高,需要高速大容量的存儲(chǔ)器作為圖像數(shù)據(jù)的緩存。SDRAM[1]作數(shù)據(jù)緩存不僅具有大容量和高速度的特點(diǎn),而且在價(jià)格和功耗方面也占有很大的優(yōu)勢(shì)。但是SDRAM控制較復(fù)雜,需要處理預(yù)充、刷新、換行等操作,因此有必要設(shè)計(jì)SDRAM控制器[2-10]來(lái)完成和SDRAM的接口。并且為了保證數(shù)據(jù)流的連續(xù)性,實(shí)時(shí)視頻采集系統(tǒng)通常采用通過(guò)對(duì)兩片SDRAM的乒乓操作來(lái)完成圖像數(shù)據(jù)的緩存。針對(duì)SDRAM是高速設(shè)備,工作頻率上限最高可以達(dá)到166 MHz,而該系統(tǒng)中前端圖像采集模塊的像素時(shí)鐘為27 MHz,后端VGA顯示的像素時(shí)鐘為31.5 MHz。在此介紹了一種使用1片SDRAM的不同BANK進(jìn)行乒乓操作[11],且相對(duì)容易實(shí)現(xiàn)的SDRAM控制器設(shè)計(jì)方法。

1 SDRAM 基本操作原理

SDRAM的主要操作包括初始化、讀寫(xiě)訪問(wèn)、刷新、激活、預(yù)充電等。以MICRON公司的MT48LC4M32B2(1M×32 b×4 BANKS)為例,簡(jiǎn)要介紹一下SDRAM的操作。

如圖1所示,SDRAM的初始化操作過(guò)程如下:

(1) 在電源管腳上電(電壓不得超過(guò)標(biāo)稱(chēng)值的0.3 V)并且時(shí)鐘穩(wěn)定后經(jīng)過(guò)200 μs延遲,執(zhí)行一次空操作命令(該命令在延遲周期的后期發(fā)出)且保持時(shí)鐘使能信號(hào)為高;

(2) 對(duì)所有的BANK進(jìn)行預(yù)充電,所有的BANK都進(jìn)入空閑狀態(tài);

(3) 預(yù)充電后執(zhí)行兩個(gè)自動(dòng)刷新命令,等待八個(gè)刷新周期完畢;

(4) 發(fā)出模式設(shè)置命令來(lái)設(shè)置模式寄存器。由于上電后模式寄存器的狀態(tài)是不確定的,所以在進(jìn)行SDRAM操作之前一定要先設(shè)置模式寄存器。模式寄存器設(shè)置值如圖2所示。

圖1 SDRAM的初始化過(guò)程

圖2 模式設(shè)置值

對(duì)SDRAM的讀寫(xiě)訪問(wèn)先要以激活命令選擇具體的BANK和行,地址線BA1/BA0用來(lái)選擇BANK,A0~A11用來(lái)選擇所要訪問(wèn)的行;然后發(fā)出讀或?qū)懨?地址線A0~A7用來(lái)選擇所要訪問(wèn)的起始列。在讀命令發(fā)出后,要等待一個(gè)CAS延遲時(shí)間,有效數(shù)據(jù)才會(huì)出現(xiàn)在數(shù)據(jù)總線上,CAS延遲時(shí)間可以設(shè)置為2或3個(gè)時(shí)鐘。在寫(xiě)命令發(fā)出后,不需要等待CAS延遲時(shí)間有效數(shù)據(jù)會(huì)立即出現(xiàn)在數(shù)據(jù)總線上。對(duì)SDRAM的讀寫(xiě)操作一般以突發(fā)模式進(jìn)行,突發(fā)長(zhǎng)度可以設(shè)置成1,2,4,8以及全頁(yè),常用的長(zhǎng)度為8個(gè)。該系統(tǒng)的CAS延遲時(shí)間設(shè)置為2,突發(fā)長(zhǎng)度為1。

SDRAM的存儲(chǔ)單元可以理解為一個(gè)電容,總是傾向于放電,必須有定時(shí)的刷新周期以避免數(shù)據(jù)丟失。只要保證在64 ms時(shí)間內(nèi)所有有效數(shù)據(jù)行都完成刷新就可以保證數(shù)據(jù)不丟。SDRAM提供兩種類(lèi)型的刷新模式:自動(dòng)刷新和自刷新。在該系統(tǒng)中,前端PAL制式信號(hào)一幀的時(shí)間為40 ms,因此SDRAM的同一地址讀寫(xiě)操作的時(shí)間相隔為40 ms。又由于系統(tǒng)為實(shí)時(shí)視頻采集系統(tǒng),前端采集的視頻數(shù)據(jù)是連續(xù)不斷的,所以該系統(tǒng)不需要進(jìn)行刷新操作即可保證數(shù)據(jù)不丟。

2 SDRAM控制器的設(shè)計(jì)實(shí)現(xiàn)

在實(shí)時(shí)視頻采集系統(tǒng)中,為了保證數(shù)據(jù)的穩(wěn)定和連續(xù)性,通常采用的方法是對(duì)存儲(chǔ)器進(jìn)行乒乓操作。一般所指的乒乓操作針對(duì)兩片存儲(chǔ)器芯片,如圖3所示,其原理是通過(guò)控制模塊對(duì)兩片存儲(chǔ)器分別做讀寫(xiě)操作,寫(xiě)存儲(chǔ)器滿時(shí)控制模塊發(fā)出交換命令,切換兩片存儲(chǔ)器的操作狀態(tài)。

圖3 模式設(shè)置值

該系統(tǒng)采用的是一片SDRAM實(shí)現(xiàn)乒乓操作。設(shè)計(jì)時(shí)是利用SDRAM的不同BANK間的存取操作來(lái)實(shí)現(xiàn)乒乓操作。由于SDRAM總共有4個(gè)BANK,所以讀取第一幀圖像時(shí)使用SDRAM的1,2 BANK為讀緩存,3,4 BANK為寫(xiě)緩存。第二幀圖像時(shí)SDRAM的3,4 BANK切換為讀緩存,1,2 BANK切換為寫(xiě)緩存。采用一幀圖像讀寫(xiě)完畢作為切換標(biāo)志反復(fù)切換讀寫(xiě)緩存,就充分利用SDRAM的不同BANK來(lái)實(shí)現(xiàn)乒乓操作。另一方面由于SDRAM的數(shù)據(jù)線和地址線只有1組,所以實(shí)際控制的時(shí)候讀寫(xiě)操作是不能同時(shí)進(jìn)行的。設(shè)計(jì)中考慮到SDRAM的工作頻率與前端圖像采集的像素頻率以及后端VGA顯示的像素頻率相比要高得多,因此將讀寫(xiě)操作利用時(shí)分的方式分開(kāi)控制。

所以在控制器中設(shè)計(jì)了一個(gè)指令計(jì)數(shù)器(Countcmd),通過(guò)計(jì)數(shù)的方式來(lái)切換讀寫(xiě)操作。只要選取適當(dāng)?shù)腟DRAM工作頻率以及指令計(jì)數(shù)器的規(guī)定值就可以完成SDRAM讀寫(xiě)操作的連續(xù)切換。實(shí)際設(shè)計(jì)中采用的SDRAM工作頻率為100 MHz,指令計(jì)數(shù)器的規(guī)定值為240。SDRAM控制器狀態(tài)轉(zhuǎn)換概圖如圖4所示。

圖4 SDRAM控制器狀態(tài)轉(zhuǎn)換概圖

SDRAM控制器的具體狀態(tài)轉(zhuǎn)換流程如下:首先初始化SDRAM,然后向SDRAM的1,2 BANK寫(xiě)入第一幀圖像,當(dāng)?shù)谝粠瑘D像寫(xiě)入完畢后進(jìn)入乒乓操作階段。此時(shí)SDRAM的1,2 BANK為讀緩存,3,4 BANK為寫(xiě)緩存。

首先進(jìn)入讀緩存激活行,開(kāi)始讀操作,讀操作開(kāi)始的同時(shí)啟動(dòng)指令計(jì)數(shù)器。此時(shí)每執(zhí)行一條指令(包括讀指令,空操作指令,不包括預(yù)充電指令和行激活指令),指令計(jì)數(shù)器自加1,當(dāng)指令計(jì)數(shù)器到達(dá)規(guī)定值時(shí)將指令計(jì)數(shù)器清0并切換到寫(xiě)狀態(tài)。進(jìn)入寫(xiě)狀態(tài)前先判斷寫(xiě)緩存的行激活標(biāo)志,如果沒(méi)有激活,先執(zhí)行行激活,然后開(kāi)始寫(xiě)操作,如果已經(jīng)激活則直接開(kāi)始寫(xiě)操作。寫(xiě)操作開(kāi)始的同時(shí)啟動(dòng)指令計(jì)數(shù)器。此時(shí)和讀狀態(tài)時(shí)一樣,每執(zhí)行一條指令,指令計(jì)數(shù)器自加1,當(dāng)指令計(jì)數(shù)器到達(dá)規(guī)定值時(shí)同樣將指令計(jì)數(shù)器清0后切換到讀狀態(tài)。如此反復(fù)切換操作,直至讀完一幀或者寫(xiě)滿一幀。如果是讀完一幀,則判斷寫(xiě)緩存中一幀寫(xiě)滿沒(méi)有。如果已經(jīng)寫(xiě)滿,則進(jìn)入讀寫(xiě)B(tài)ANK切換狀態(tài)。如果沒(méi)有,則進(jìn)入寫(xiě)狀態(tài)并不再切換讀寫(xiě)狀態(tài),一直保持寫(xiě)狀態(tài)直至寫(xiě)滿一幀為止,然后進(jìn)入讀寫(xiě)B(tài)ANK切換狀態(tài)。如果是寫(xiě)滿一幀,則同理于讀完一幀的情況,首先判斷讀緩存中讀完一幀沒(méi)有,然后根據(jù)判斷結(jié)果進(jìn)行操作,最后進(jìn)入讀寫(xiě)B(tài)ANK切換狀態(tài)。在讀寫(xiě)B(tài)ANK切換狀態(tài)中,讀緩存切換為3,4 BANK,寫(xiě)緩存切換為1,2 BANK。反復(fù)上述操作步驟,就可以完成使用一片SDRAM不同BANK的乒乓操作。

整個(gè)SDRAM控制器在Altera的Quartus Ⅱ 7.2環(huán)境下采用Verilog設(shè)計(jì)完成,然后在ModelSim SE 6.0環(huán)境下仿真通過(guò)。隨后通過(guò)Altera的Quartus Ⅱ 7.2進(jìn)行綜合和布局布線,并最終在Altera Cyclone系列FPGA芯片EP1C6Q240C8上完成。所設(shè)計(jì)的SDRAM控制器在PAL→VGA的實(shí)時(shí)視頻采集系統(tǒng)中調(diào)試通過(guò),能夠?qū)崿F(xiàn)圖像數(shù)據(jù)的存儲(chǔ)和讀取,完全滿足系統(tǒng)的要求。

3 結(jié) 語(yǔ)

介紹在PAL→VGA的實(shí)時(shí)視頻采集系統(tǒng)中使用SDRAM作為圖像緩存的基本操作,設(shè)計(jì)一種使用1片SDRAM的不同BANK進(jìn)行乒乓操作的相對(duì)容易實(shí)現(xiàn)的SDRAM控制器設(shè)計(jì)方法。在PAL→VGA的實(shí)時(shí)視頻采集系統(tǒng)中,使用了所設(shè)計(jì)的SDRAM控制器,并通過(guò)硬件驗(yàn)證,采集得到的圖像質(zhì)量較好。另外,這里設(shè)計(jì)的SDRAM控制器稍加改動(dòng)就可以應(yīng)用到其他實(shí)時(shí)視頻采集系統(tǒng)中去,具有很強(qiáng)的通用性。

參考文獻(xiàn)

[1]Micron Technology Inc.MT48LC4M32B2.1 Meg×32 b×4 Banks Synchronous Dram Datasheet[Z].2002.

[2]林志煌,解梅.一種簡(jiǎn)易SDRAM控制器的設(shè)計(jì)方法[J].現(xiàn)代電子技術(shù),2008,31(16):81-91.

[3]武玉華,梁晨,李莉,等.SDRAM在頭盔顯示器系統(tǒng)中的應(yīng)用研究[J].現(xiàn)代電子技術(shù),2008,31(13):182-185.

[4]周昆正.基于FPGA的SDRAM控制器設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2003,26(13):63-65.

[5]王騫,丁鐵夫.高速圖像存儲(chǔ)系統(tǒng)中SDRAM控制器的實(shí)現(xiàn)[J].液晶與顯示,2006,21(1):48-51.

[6]宋一鳴,謝煜,李春茂.基于FPGA的SDRAM控制器設(shè)計(jì)[J].計(jì)算機(jī)應(yīng)用,2003,29(9):10-13.

[7]張林,何春.高速SDRAM控制器設(shè)計(jì)的FPGA實(shí)現(xiàn)[J].電子科技大學(xué)學(xué)報(bào),2008,37(Z1):109-112.

[8]段曉晨,何小剛,程永強(qiáng).實(shí)時(shí)視頻SDRAM控制器的FPGA設(shè)計(jì)與實(shí)現(xiàn)[J].太原理工大學(xué)學(xué)報(bào),2006,37(Z1):5-8.

[9]李衛(wèi),王杉,魏急波.SDRAM控制器的FPGA設(shè)計(jì)與實(shí)現(xiàn)[J].電子工程師,2004,30(10): 29-32.

[10]周望瑋,史小軍,朱為,等.基于FPGA的SDRAM讀寫(xiě)雙口控制器設(shè)計(jì)[J].電子器件,2006,29(2):581-584.

[11]方勇,呂國(guó)強(qiáng),彭良清,等.3D顯示器視頻轉(zhuǎn)換系統(tǒng)設(shè)計(jì)及其FPGA實(shí)現(xiàn)[J].液晶與顯示,2007,22(1):94-98.

[12]周秀娟.高速大容量數(shù)據(jù)存儲(chǔ)系統(tǒng)的研究[D].上海:上海交通大學(xué),2008.

[13]劉勛. 基于FPGA的對(duì)象存儲(chǔ)控制器SATA接口及關(guān)鍵技術(shù)研究[D].武漢:華中科技大學(xué),2007.

猜你喜歡
控制器
工商業(yè)IC卡控制器改造為物聯(lián)網(wǎng)控制器實(shí)踐
基于DSP的復(fù)合跟蹤控制器的設(shè)計(jì)
模糊PID控制器設(shè)計(jì)及MATLAB仿真
MOXA RTU控制器ioPAC 5542系列
紅獅控制 PID控制器PXU系列
4V三輸出同步降壓型控制器