基于圖像處理系統(tǒng)中SDRAM控制器的FPGA實(shí)現(xiàn)
出處:微計(jì)算機(jī)信息 發(fā)布于:2009-08-04 10:00:07
摘要:簡要介紹了SDRAM工作原理并認(rèn)真研究了Altera提供的SDRAM控制器,根據(jù)實(shí)際系統(tǒng)使用需要加以修改簡化,設(shè)計(jì)了對(duì)修改后控制器進(jìn)行操作的狀態(tài)機(jī)。采用全頁突發(fā)讀寫模式,每次讀/寫后自動(dòng)刷新,省掉了傳統(tǒng)設(shè)計(jì)中的刷新計(jì)數(shù)控制邏輯。整個(gè)設(shè)計(jì)采用VHDL實(shí)現(xiàn),已在實(shí)際系統(tǒng)中成功使用。
1、引言
在實(shí)時(shí)視頻圖像處理系統(tǒng)中,由于要對(duì)視頻圖像進(jìn)行實(shí)時(shí)處理,而視頻數(shù)據(jù)流的數(shù)據(jù)量大,實(shí)時(shí)性要求高,所以需要高速大容量的存儲(chǔ)器作為圖像數(shù)據(jù)的緩存。SDRAM(Synchronous Dynamic RAM,同步動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器)相比于SRAM(Static RAM,靜態(tài)隨機(jī)存取存儲(chǔ)器)等存儲(chǔ)器具有容量大、速度快、體積小、價(jià)格低等優(yōu)點(diǎn),因此成為圖像處理系統(tǒng)中常用的數(shù)據(jù)存儲(chǔ)器。但SDRAM的控制邏輯比較復(fù)雜,對(duì)時(shí)序要求也十分嚴(yán)格,所以需要設(shè)計(jì)專門的SDRAM控制器以完成和SDRAM芯片的接口。本文在對(duì)Altera提供的SDRAM控制器IP核適當(dāng)修改的基礎(chǔ)上實(shí)現(xiàn)了對(duì)圖1的圖像處理系統(tǒng)中SDRAM的有效控制。

在以上系統(tǒng)中,Camera Link接口的相機(jī)送出的高速 LVDS視頻信號(hào)經(jīng) Channel Link接收芯片 DS90CR288接收轉(zhuǎn)化為 TTL電平后送給FPGA,再由通過 FPGA實(shí)現(xiàn)的 SDRAM控制器將有效像素?cái)?shù)據(jù)寫入SDRAM。另外,通過 SDRAM將有效像素?cái)?shù)據(jù)讀入 FPGA并實(shí)現(xiàn)對(duì)圖像的處理算法后送視頻編碼芯片 ADV7123進(jìn)行 D/A轉(zhuǎn)換,顯示。
2、SDRAM的工作特性
本系統(tǒng)中用到的是Hynix公司的HY57V283220-7型號(hào)的SDRAM芯片,其容量為128Mbit( 4 Banks x 1M x 32Bit),下面將以它為例簡要介紹SDRAM的主要工作特性。
2.1主要管腳信號(hào)
SDRAM芯片的主要管腳信號(hào)有控制信號(hào),地址信號(hào),數(shù)據(jù)信號(hào),且以上信號(hào)的輸入或輸出均與工作時(shí)鐘同步。
控制信號(hào)主要有:片選信號(hào)(/CS),時(shí)鐘使能信號(hào)(CKE),輸入輸出使能信號(hào)(DQM0~DQM3),讀寫控制命令字(/CAS、/RAS、/WE)。通過/CAS、/RAS、/WE的各種邏輯組合,可產(chǎn)生各種控制命令(見表1)。
地址信號(hào)有:頁地址選擇信號(hào)(BA0、BA1),行、列地址選擇信號(hào)(A0~A12)。通過分時(shí)復(fù)用決定地址是行地址還是列地址。在讀寫操作中,在地址線上依次給出頁地址、行地址、列地址,終確定存儲(chǔ)單元地址。
數(shù)據(jù)信號(hào)(DQ0~DQ31),雙向數(shù)據(jù)信號(hào),且有效與否受輸入輸出使能信號(hào)(DQM0~DQM3)控制。
2.2 主要操作命令
要正確地對(duì)SDRAM進(jìn)行操作,需要輸入多種命令:包括模式寄存器設(shè)置、預(yù)充電、行激活、列讀寫、自動(dòng)刷新、突發(fā)終止、空操作等命令。具體見下表。

注:H表示高電平1,L表示低電平0,X表示電平為任意。
2.3 模式寄存器的設(shè)置
不同于其他的存儲(chǔ)器,在SDRAM芯片內(nèi)部還有一個(gè)邏輯控制單元,并且有一個(gè)模式寄存器為其提供控制參數(shù),每次上電后都要先對(duì)這個(gè)控制邏輯進(jìn)行初始化。初始化過程中關(guān)鍵的階段就是模式寄存器的設(shè)置。通過模式寄存器設(shè)置命令對(duì)模式寄存器進(jìn)行編程,這組信息將會(huì)一直保存在模式寄存器中,直到他再次被編程或器件掉電為止;他規(guī)定了SDRAM的操作模式包括:突發(fā)長度(Burst Length)、突發(fā)類型(Burst Type)、CAS潛伏期(CAS Latency)、運(yùn)行模式(Operate Mode)及寫突發(fā)模式(Write Burst)。具體格式如表2所示。

具體設(shè)置值及其意義請(qǐng)參見有關(guān)資料和所使用SDRAM的芯片資料,這里不再詳述。
3.SDRAM控制器的實(shí)現(xiàn)
3.1 Altera發(fā)布的SDRAM控制器簡介
Altera公司提供了對(duì)SDRAM進(jìn)行控制的控制器,簡化了對(duì)SDRAM的控制。此設(shè)計(jì)的框圖如圖2所示。

從圖2中可以看出,SDRAM控制器由4個(gè)模塊組成:SDRAM控制器模塊,控制接口模塊,命令模塊和數(shù)據(jù)通道模塊。SDRAM控制器模塊是頂層模塊,例化3個(gè)低等級(jí)模塊,將其連成一個(gè)整體??刂平涌谀K從外部接收命令和相關(guān)的存儲(chǔ)地址,同時(shí)對(duì)命令解碼后傳送給命令模塊,命令模塊從控制接口模塊接收命令和地址,生成合適的命令給SDRAM器件,數(shù)據(jù)通路模塊處理讀寫命令時(shí)的數(shù)據(jù)傳輸操作??梢钥闯?,通過使用Altera的控制器,屏蔽了大部分復(fù)雜的時(shí)序,大大簡化了對(duì)SDRAM的控制。詳細(xì)的介紹請(qǐng)參看Altera發(fā)布的有關(guān)文檔。
該控制器屬通用控制器,功能全面,支持突發(fā)長度為1,2,4,8的突發(fā)讀寫模式且讀寫后控制器內(nèi)部自動(dòng)預(yù)充電,內(nèi)部自動(dòng)刷新;也支持全頁突發(fā)讀寫模式但是讀寫后不自動(dòng)預(yù)充電,不支持內(nèi)部自動(dòng)刷新,需要通過CMD[2:0]發(fā)送預(yù)充電命令和刷新命令。由于在本文所涉及的系統(tǒng)中,SDRAM用于圖像的緩存,希望每次讀寫能夠針對(duì)一行進(jìn)行,所以采用全頁突發(fā)模式,根據(jù)需要簡化了控制器的邏輯,節(jié)約了資源。
3.2 本系統(tǒng)對(duì)SDRAM控制的具體實(shí)現(xiàn)
要想實(shí)現(xiàn)對(duì)SDRAM的高速讀寫僅僅有控制器是不夠的??刂破鞯墓δ苁呛喕涌冢⒉恢苯犹峁?duì)SDRAM進(jìn)行讀寫的功能。要真正實(shí)現(xiàn)對(duì)SDRAM的讀寫,關(guān)鍵的技術(shù)在于如何設(shè)計(jì)合理高效的狀態(tài)機(jī)。下文將對(duì)本文所設(shè)計(jì)的狀態(tài)機(jī)做詳細(xì)介紹。
本文的設(shè)計(jì)包括四個(gè)狀態(tài)機(jī)。一個(gè)主狀態(tài)機(jī),一個(gè)初始化狀態(tài)機(jī),一個(gè)讀狀態(tài)機(jī),一個(gè)寫狀態(tài)機(jī)。1)系統(tǒng)上電復(fù)位后首先進(jìn)入初始化狀態(tài)機(jī):先后發(fā)出的命令有 nop1->precharge->precharge_nop->refresh1->refresh1_nop->refreh2->refresh2_nop-> load_mode->load_mode_nop->load_reg2->load_reg2_nop->load_reg1->load_reg1_nop->nop2(注:以上帶有nop的命令均指nop命令,下同),初始化完成后該狀態(tài)機(jī)的狀態(tài)就一直停留在nop2,它是一個(gè)獨(dú)立的狀態(tài)機(jī),不需要特別的控制信號(hào)。2)主狀態(tài)機(jī)用來控制讀寫狀態(tài)機(jī)的轉(zhuǎn)換(如圖3)。其中read和write各代表一個(gè)狀態(tài)機(jī)。寫狀態(tài)機(jī)的工作過程如下:

首先在FPGA里開一個(gè)容量大小為一行的FIFO,當(dāng)FIFO為讀空的時(shí)候相機(jī)輸出的每行有效像素?cái)?shù)據(jù)進(jìn)入FIFO,當(dāng)該行數(shù)據(jù)全部進(jìn)入FIFO且相機(jī)進(jìn)入消隱后,開始執(zhí)行讀狀態(tài)機(jī),讀空FIFO里的數(shù)據(jù)存入SDRAM里指定的位置,且讀空后發(fā)送一個(gè)突發(fā)停止命令,發(fā)送一個(gè)預(yù)充電命令,發(fā)送一個(gè)刷新命令以保持SDRAM的數(shù)據(jù)。需要注意的是,這里的precharge1經(jīng)控制器解碼后給SDRAM的是突發(fā)停止命令,precharge2解碼后得到的才是預(yù)充電命令。該狀態(tài)機(jī)先后發(fā)出的命令有nop1->write->write_nop->precharge1->precharge1_nop->precharge2->precharge2_nop->refresh->refresh_nop->nop2。讀狀態(tài)機(jī)與寫狀態(tài)機(jī)的操作類似,這里不再贅述。
4.結(jié)論
本設(shè)計(jì)針對(duì)系統(tǒng)的具體使用需要對(duì)Altera提供的SDR SDRAM控制器進(jìn)行簡化修改,采用全頁突發(fā)讀寫模式,每次讀寫完后進(jìn)行自動(dòng)刷新,因此不需要設(shè)計(jì)專門的刷新計(jì)數(shù)器來控制刷新命令,進(jìn)一步簡化了設(shè)計(jì),速度上能夠達(dá)到實(shí)際應(yīng)用要求。在StratixII系列FPGA EP2S15F672C5上已經(jīng)成功得以實(shí)現(xiàn),經(jīng)SDRAM的緩存能夠正確顯示從相機(jī)出來的圖像,完成了上述圖像處理板的關(guān)鍵設(shè)計(jì),為整個(gè)項(xiàng)目的順利完成創(chuàng)造了一定的經(jīng)濟(jì)效益。 本文創(chuàng)新點(diǎn):采用全頁突發(fā)讀寫模式,加快了讀寫速度;狀態(tài)轉(zhuǎn)移簡單可行,不需要專門的刷新控制邏輯。
參考文獻(xiàn):
[1]. LVDS datasheet http://www.hbjingang.com/datasheet/LVDS_457917.html.
[2]. DS90CR288 datasheet http://www.hbjingang.com/datasheet/DS90CR288_268041.html.
[3]. TTL datasheet http://www.hbjingang.com/datasheet/TTL_1174409.html.
[4]. ADV7123 datasheet http://www.hbjingang.com/datasheet/ADV7123_125177.html.
[5]. A12 datasheet http://www.hbjingang.com/datasheet/A12_1818348.html.
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫電子市場網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 什么是氫氧燃料電池,氫氧燃料電池的知識(shí)介紹2025/8/29 16:58:56
- SQL核心知識(shí)點(diǎn)總結(jié)2025/8/11 16:51:36
- 等電位端子箱是什么_等電位端子箱的作用2025/8/1 11:36:41
- 基于PID控制和重復(fù)控制的復(fù)合控制策略2025/7/29 16:58:24
- 什么是樹莓派?一文快速了解樹莓派基礎(chǔ)知識(shí)2025/6/18 16:30:52
- 高速PCB信號(hào)完整性(SI)設(shè)計(jì)核心實(shí)操規(guī)范
- 鎖相環(huán)(PLL)中的環(huán)路濾波器:參數(shù)計(jì)算與穩(wěn)定性分析
- MOSFET反向恢復(fù)特性對(duì)系統(tǒng)的影響
- 電源IC在惡劣環(huán)境中的防護(hù)設(shè)計(jì)
- 連接器耐腐蝕性能測(cè)試方法
- PCB電磁兼容(EMC)設(shè)計(jì)與干擾抑制核心實(shí)操規(guī)范
- 用于相位噪聲測(cè)量的低通濾波器設(shè)計(jì)與本振凈化技術(shù)
- MOSFET在高頻開關(guān)中的EMI問題
- 電源IC在便攜式設(shè)備中的設(shè)計(jì)要點(diǎn)
- 連接器結(jié)構(gòu)設(shè)計(jì)常見問題分析









