新闻中心

EEPW首页 > EDA/PCB > 设计应用 > 利用EPLD实现TMS320C5402与SDRAM接口

利用EPLD实现TMS320C5402与SDRAM接口

作者: 时间:2006-05-07 来源:网络 收藏

摘要:介绍了基于电可擦除可编程逻辑器件(EPLD),用VHDL语言设计实现的TMS320C5402与SDRAM的接口电路。

本文引用地址:https://www.eepw.com.cn/article/226430.htm

关键词:电可擦除可编程逻辑器件 数字信号处理器 同步动态随机存储器 接口电路 VHDL

在多媒体应用中,多媒体信息绝大部分是视频数据和音频数据,而数字化的视频数据和音频数据的数据量是非常庞大的。为了能够及时完整地处理前端采集的数据,一般系统都采用高速DSP和大容量缓冲存储器,且缓冲存储器一般选用同步动态随机存储器(SDRAM)。由于DSP不能直接与SDRAM接口,耐用SDRAM控制时序比较复杂,因此本文介绍如何利用电可擦除可编程逻辑器件实现TMS320C5402与SDRAM的接口。

1 SDRAM结构和命令

SDRAM是一种具有同步接口听高速动态随机存储器,本文选用的是Samsung公司512K×16Bit×2组的KM416S1120D。SDRAM的同步接口和内部流水线结构允许存储外部高速数据,其内部结构框图如图1所示。

SDRAM的所有输入和输出都与系统时钟CLK上升沿同步,并且由输入信号RAS、CAS、WE组合产生SDRAM控制命令,其基本的控制命令如表1所示。

在具体操作SDRAM时,首先必须通过MRS命令设置模式寄存器,以便确定SDRAM的列地址延迟、突发类型、突发长度等工作模式;再通过ACT命令激活对应地址的组,同时输入行地址;然后通过RD或WR命令输入列地址,将相应数据读出或写入对应的地址;操作完成后用PCH命令或BT命令中止读或写操作。在没有操作的时候,每32ms必须用ARF命令刷新数据(2048行),防止数据丢失。

2 FLEX10K系列EPLD特点

FLEX10K系列EPLD是工业界第一个嵌入式的可编码逻辑器件,主要由嵌入式阵列块(EAB)、逻辑阵列块(LAB)、快速布线通道(FastTrack)和I/O单元组成,具有如睛特点:

(1)片上集成了实现宏函数的嵌入式阵列和实现普通函数的逻辑阵列;

(2)具有10000~250000个可用门;

(3)支持多电压I/O接口,遵守PCI总线规定,内带JTAG边界扫描测试电路;

(4)可快速预测连线延时的快速通道连续式布线结构;

(5)多达6个全局时钟信号和4个全局清除信号;

(6)增强功能的I/O引脚,每个引脚都有一个独立的三态输出使能控制,都有漏极开路选择。

3 TMS320C5402和SDRAM接口设计

TMS320C5402和SDRAM接口电路方框图如图2所示。命令接口主要对DSP送来的SDRAM的地址和操作命令进行解码(命令编码见表1);刷新控制主要对SDRAM数据刷新进行计时,确保32ms刷新2048行数据;仲裁电路主要对读写命令和刷新命令进行仲裁,杜组同时操作,防止数据丢失;命令产生器主要用来产生控制SDRAM的各种时序,完成SDRAM的读、写和刷新,同时控制FIFO的读、写操作;FIFO是DSP与SDRAM之间的数据通道,深度为256,其作用是充分利用SDRAM的突发读写功能,提高系统速度,同时简化DSP软件设计。

表1 SDRAM命令编码表

命 令 RAS CAS WE 编 码

空操作(NOP)
激活操作(ACT)
读操作(RD)
写操作(WR)
突发中断(BT)
预充电(PCH)
自动刷新(ARF)
模式寄存器设置(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 命令接口和刷新控制电路设计

命令接口电路主要由命令寄存器、命令译码器器、SDRAM行列地址锁存器、模式寄存器组成。其中命令寄存器映射为DSP的I/O空间0001H,SDRAM行和列地址锁存器分别映射为DSP的I/O空间0002H和0003H,模式寄存器映射为DSP的I/O空间0004H,具体控制命令和I/O地址分配如表2、表3所示。DSP每次进行读、写操作时,首先向其I/O空间0002H和0003H写入SDRAM行和列地址,然后向I/O空间000H写入控制命令,命令译码器根据命令寄存器中命令,译码后向仲裁电路发出读写请求。

表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]
列延尽设置位
行到列延尽位
刷新延迟设置位
控制模式位,0为普通而1为整页
突发长度,有效值为1、2、4、8

刷新控制电路主要由1562计数器构成。由于TMS320C5402时钟频率为100MHz,SDRAM要求在32ms之内刷新2048行数据,因此该计数器计数值应小于:32ms/2048/0.01μs=1562.5。当计数器计满1562次时,刷新控制电路向仲裁电路发出刷新要求。

3.2 仲裁电路和命令产生器设计

仲裁电路接收命令接口模块解码的命令和刷新控制模块的刷新请求的优先级较高。当来自DSP的命令和来自刷新控制模块的刷新请求命令和来自刷新控制模块的刷新请求同时到达时,则首先执行刷新操作,然后执行来自DSP的命令。这样可以防止SDRAM的数据选择 失。由此可知,仲裁电路实质上是国个优先级选择器。

命令产生器主要产生SDRAM读、写和刷新的控制时序(具体时序可见参考文献1)以及FIFO的读写控制信号,用以对SDRAM进行各种操作,其实质上是国个Mealy型状态机,利用VHDL语言可以很方便地实现,其状态转移图如图3所示。

3.3 FIFO设计

FIFO电路是DSP与SDRAM进行数据交换的通道,通过FIFO电路可以很好地实现DSP对SDRAM的读写。FIFO电路被映射为DSP的I/O空间0000H(见表2),DPS对SDRAM的每次读或写,都对DSP的I/O空间0000H操作,简化了DSP软件设计。利用FLEX10K系列EPLD内部嵌入式阵列块(ESB)和参数化模块(LPM),可以很快地构造出256×16的FIFO电路,FIFO的设计比较简单。VHDL描述具体如下(注意在程序开始处添加LPM库):

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通用、高速及价廉的特点,因此具有很好的实际应用前景,尤其适用于需要大容量高速缓冲存储器的多媒体应用。



评论


相关推荐

技术专区

关闭