新聞中心

EEPW首頁(yè) > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 利用EPLD實(shí)現(xiàn)TMS320C5402與SDRAM接口

利用EPLD實(shí)現(xiàn)TMS320C5402與SDRAM接口

作者: 時(shí)間:2006-05-07 來(lái)源:網(wǎng)絡(luò) 收藏

摘要:介紹了基于電可擦除可編程邏輯器件(EPLD),用VHDL語(yǔ)言設(shè)計(jì)實(shí)現(xiàn)的TMS320C5402與SDRAM的接口電路。

本文引用地址:http://butianyuan.cn/article/226430.htm

關(guān)鍵詞:電可擦除可編程邏輯器件 數(shù)字信號(hào)處理器 同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器 接口電路 VHDL

在多媒體應(yīng)用中,多媒體信息絕大部分是視頻數(shù)據(jù)和音頻數(shù)據(jù),而數(shù)字化的視頻數(shù)據(jù)和音頻數(shù)據(jù)的數(shù)據(jù)量是非常龐大的。為了能夠及時(shí)完整地處理前端采集的數(shù)據(jù),一般系統(tǒng)都采用高速DSP和大容量緩沖存儲(chǔ)器,且緩沖存儲(chǔ)器一般選用同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器(SDRAM)。由于DSP不能直接與SDRAM接口,耐用SDRAM控制時(shí)序比較復(fù)雜,因此本文介紹如何利用電可擦除可編程邏輯器件實(shí)現(xiàn)TMS320C5402與SDRAM的接口。

1 SDRAM結(jié)構(gòu)和命令

SDRAM是一種具有同步接口聽(tīng)高速動(dòng)態(tài)隨機(jī)存儲(chǔ)器,本文選用的是Samsung公司512K×16Bit×2組的KM416S1120D。SDRAM的同步接口和內(nèi)部流水線(xiàn)結(jié)構(gòu)允許存儲(chǔ)外部高速數(shù)據(jù),其內(nèi)部結(jié)構(gòu)框圖如圖1所示。

SDRAM的所有輸入和輸出都與系統(tǒng)時(shí)鐘CLK上升沿同步,并且由輸入信號(hào)RAS、CAS、WE組合產(chǎn)生SDRAM控制命令,其基本的控制命令如表1所示。

在具體操作SDRAM時(shí),首先必須通過(guò)MRS命令設(shè)置模式寄存器,以便確定SDRAM的列地址延遲、突發(fā)類(lèi)型、突發(fā)長(zhǎng)度等工作模式;再通過(guò)ACT命令激活對(duì)應(yīng)地址的組,同時(shí)輸入行地址;然后通過(guò)RD或WR命令輸入列地址,將相應(yīng)數(shù)據(jù)讀出或?qū)懭雽?duì)應(yīng)的地址;操作完成后用PCH命令或BT命令中止讀或?qū)懖僮?。在沒(méi)有操作的時(shí)候,每32ms必須用ARF命令刷新數(shù)據(jù)(2048行),防止數(shù)據(jù)丟失。

2 FLEX10K系列EPLD特點(diǎn)

FLEX10K系列EPLD是工業(yè)界第一個(gè)嵌入式的可編碼邏輯器件,主要由嵌入式陣列塊(EAB)、邏輯陣列塊(LAB)、快速布線(xiàn)通道(FastTrack)和I/O單元組成,具有如睛特點(diǎn):

(1)片上集成了實(shí)現(xiàn)宏函數(shù)的嵌入式陣列和實(shí)現(xiàn)普通函數(shù)的邏輯陣列;

(2)具有10000~250000個(gè)可用門(mén);

(3)支持多電壓I/O接口,遵守PCI總線(xiàn)規(guī)定,內(nèi)帶JTAG邊界掃描測(cè)試電路;

(4)可快速預(yù)測(cè)連線(xiàn)延時(shí)的快速通道連續(xù)式布線(xiàn)結(jié)構(gòu);

(5)多達(dá)6個(gè)全局時(shí)鐘信號(hào)和4個(gè)全局清除信號(hào);

(6)增強(qiáng)功能的I/O引腳,每個(gè)引腳都有一個(gè)獨(dú)立的三態(tài)輸出使能控制,都有漏極開(kāi)路選擇。

3 TMS320C5402和SDRAM接口設(shè)計(jì)

TMS320C5402和SDRAM接口電路方框圖如圖2所示。命令接口主要對(duì)DSP送來(lái)的SDRAM的地址和操作命令進(jìn)行解碼(命令編碼見(jiàn)表1);刷新控制主要對(duì)SDRAM數(shù)據(jù)刷新進(jìn)行計(jì)時(shí),確保32ms刷新2048行數(shù)據(jù);仲裁電路主要對(duì)讀寫(xiě)命令和刷新命令進(jìn)行仲裁,杜組同時(shí)操作,防止數(shù)據(jù)丟失;命令產(chǎn)生器主要用來(lái)產(chǎn)生控制SDRAM的各種時(shí)序,完成SDRAM的讀、寫(xiě)和刷新,同時(shí)控制FIFO的讀、寫(xiě)操作;FIFO是DSP與SDRAM之間的數(shù)據(jù)通道,深度為256,其作用是充分利用SDRAM的突發(fā)讀寫(xiě)功能,提高系統(tǒng)速度,同時(shí)簡(jiǎn)化DSP軟件設(shè)計(jì)。

表1 SDRAM命令編碼表

命 令 RAS CAS WE 編 碼

空操作(NOP)
激活操作(ACT)
讀操作(RD)
寫(xiě)操作(WR)
突發(fā)中斷(BT)
預(yù)充電(PCH)
自動(dòng)刷新(ARF)
模式寄存器設(shè)置(MRS)

H
L
H
H
H
L
L
L
H
H
L
L
H
H
L
L
H
H
H
L
L
L
H
L
000
001
010
011
100
101
110
111

3.1 命令接口和刷新控制電路設(shè)計(jì)

命令接口電路主要由命令寄存器、命令譯碼器器、SDRAM行列地址鎖存器、模式寄存器組成。其中命令寄存器映射為DSP的I/O空間0001H,SDRAM行和列地址鎖存器分別映射為DSP的I/O空間0002H和0003H,模式寄存器映射為DSP的I/O空間0004H,具體控制命令和I/O地址分配如表2、表3所示。DSP每次進(jìn)行讀、寫(xiě)操作時(shí),首先向其I/O空間0002H和0003H寫(xiě)入SDRAM行和列地址,然后向I/O空間000H寫(xiě)入控制命令,命令譯碼器根據(jù)命令寄存器中命令,譯碼后向仲裁電路發(fā)出讀寫(xiě)請(qǐng)求。

表2 DSP I/O空間映射地址分配表

I/O地址

功 能

0000H
0001H
0002H
0003H
0004H
FIFO地址
命令寄存器
SDRAM行地址寄存器
SDRAM列地址寄存器
SDRAM模式寄存器

表3 SDRAM模式寄存器控制位

0004H位 功 能
[1:0]
[2:3]
[7:4]
[8]
[12:9]
列延盡設(shè)置位
行到列延盡位
刷新延遲設(shè)置位
控制模式位,0為普通而1為整頁(yè)
突發(fā)長(zhǎng)度,有效值為1、2、4、8

刷新控制電路主要由1562計(jì)數(shù)器構(gòu)成。由于TMS320C5402時(shí)鐘頻率為100MHz,SDRAM要求在32ms之內(nèi)刷新2048行數(shù)據(jù),因此該計(jì)數(shù)器計(jì)數(shù)值應(yīng)小于:32ms/2048/0.01μs=1562.5。當(dāng)計(jì)數(shù)器計(jì)滿(mǎn)1562次時(shí),刷新控制電路向仲裁電路發(fā)出刷新要求。

3.2 仲裁電路和命令產(chǎn)生器設(shè)計(jì)

仲裁電路接收命令接口模塊解碼的命令和刷新控制模塊的刷新請(qǐng)求的優(yōu)先級(jí)較高。當(dāng)來(lái)自DSP的命令和來(lái)自刷新控制模塊的刷新請(qǐng)求命令和來(lái)自刷新控制模塊的刷新請(qǐng)求同時(shí)到達(dá)時(shí),則首先執(zhí)行刷新操作,然后執(zhí)行來(lái)自DSP的命令。這樣可以防止SDRAM的數(shù)據(jù)選擇 失。由此可知,仲裁電路實(shí)質(zhì)上是國(guó)個(gè)優(yōu)先級(jí)選擇器。

命令產(chǎn)生器主要產(chǎn)生SDRAM讀、寫(xiě)和刷新的控制時(shí)序(具體時(shí)序可見(jiàn)參考文獻(xiàn)1)以及FIFO的讀寫(xiě)控制信號(hào),用以對(duì)SDRAM進(jìn)行各種操作,其實(shí)質(zhì)上是國(guó)個(gè)Mealy型狀態(tài)機(jī),利用VHDL語(yǔ)言可以很方便地實(shí)現(xiàn),其狀態(tài)轉(zhuǎn)移圖如圖3所示。

3.3 FIFO設(shè)計(jì)

FIFO電路是DSP與SDRAM進(jìn)行數(shù)據(jù)交換的通道,通過(guò)FIFO電路可以很好地實(shí)現(xiàn)DSP對(duì)SDRAM的讀寫(xiě)。FIFO電路被映射為DSP的I/O空間0000H(見(jiàn)表2),DPS對(duì)SDRAM的每次讀或?qū)?,都?duì)DSP的I/O空間0000H操作,簡(jiǎn)化了DSP軟件設(shè)計(jì)。利用FLEX10K系列EPLD內(nèi)部嵌入式陣列塊(ESB)和參數(shù)化模塊(LPM),可以很快地構(gòu)造出256×16的FIFO電路,F(xiàn)IFO的設(shè)計(jì)比較簡(jiǎn)單。VHDL描述具體如下(注意在程序開(kāi)始處添加LPM庫(kù)):

FIFO256:CSFIFO

GENERIC MAP(LPM_WIDTH =16;LPM_NUMWORDS 256);

PORT MAP(data =(LPM_WIDTH-1 DOWNTO 0);

wreq =wr;rreq =rd;

clock =clk50;clockx2 =clk100;

clr =clr;sclr = sclr;

empty =empty;full =full;

q=q(LPM_WIDTH-1 DOWNTO 0));

由于EPLD通用、高速及價(jià)廉的特點(diǎn),因此具有很好的實(shí)際應(yīng)用前景,尤其適用于需要大容量高速緩沖存儲(chǔ)器的多媒體應(yīng)用。



評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉