0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

利用电可擦除可编程逻辑器件实现DSP与SDRAM接口设计

电子设计 来源:电子技术应用 作者:尹军;梁光明;唐 2020-04-09 08:02 次阅读

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

1 、SDRAM结构和命令

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

利用电可擦除可编程逻辑器件实现DSP与SDRAM接口设计

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软件设计。

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空间0001H写入控制命令,命令译码器根据命令寄存器中命令,译码后向仲裁电路发出读写请求。

刷新控制电路主要由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),DSP对SDRAM的每次读或写,都对DSP的I/O空间0000H操作,简化了DSP软件设计。利用FLEX10K系列EPLD内部嵌入式阵列块(EAB)和参数化模块库(LPM),可以很快地构造出256×16的FIFO电路,FIFO的设计比较简单。VHDL描述具体如下(注意在程序开始处添加LPM库):

FIFO256 CSFIFO

GENERIC MAP LPM_WIDTH <= 16;LPM_NUM-

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

责任编辑:gt


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • SDRAM
    +关注

    关注

    7

    文章

    422

    浏览量

    55161
  • 存储器
    +关注

    关注

    38

    文章

    7455

    浏览量

    163624
  • 可编程逻辑
    +关注

    关注

    7

    文章

    514

    浏览量

    44074
收藏 人收藏

    评论

    相关推荐

    可编程逻辑器件

    可编程逻辑器件到底是干什么用的呢,简单的说,就是通过重新写程序,重新注入到这个器件中达到实现其它的功能。最常见的当属电脑了。电脑本身除了加法,减法和简单的逻辑运算四种。比如要是想
    发表于 04-15 10:02

    求一种可利用复杂可编程逻辑器件设计技术实现的专用键盘接口芯片方案

    本文提出一种利用复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD)设计技术[3]实现专用键盘接口芯片的方案。
    发表于 04-15 06:55

    如何利用EPLD实现TMS320C5402与SDRAM接口

    请问如何利用电擦除可编程逻辑器件实现TMS320C5402与SDRAM
    发表于 04-15 06:24

    可编程逻辑器件是如何发展的?

    可编程逻辑器件是如何发展的?
    发表于 04-29 06:23

    PLD可编程逻辑器件

    PLD可编程逻辑器件 英文全称为:programmable logic device 即 PLD。PLD是做为一种通用集成电路产生的,他的逻辑功能按照用户对器件编程来确定。一般的PLD
    发表于 07-22 09:05

    可编程逻辑器件设计

    可编程逻辑器件设计 (264页,nlc格式)
    发表于 03-25 16:41 66次下载

    可编程逻辑器件基础及应用实验指导书

    可编程逻辑器件基础及应用实验指导书 《可编程逻辑器件基础及应用》是一门侧重掌握可编程逻辑器件的基本结构和原理的课程。重点是使学生掌握基于可编程
    发表于 03-24 14:22 29次下载

    什么是PLD(可编程逻辑器件)

    什么是PLD(可编程逻辑器件) PLD是可编程逻辑器件(Programable Logic Device)的简称,FPGA是现场可编程门阵列(Field Programable Gate Array)
    发表于 06-20 10:32 2.5w次阅读
    什么是PLD(<b class='flag-5'>可编程逻辑器件</b>)

    EDA技术与应用(可编程逻辑器件)

    7.1 可编程逻辑器件的基本原理 7.2 可编程逻辑器件的设计技术 7.3 可编程逻辑器件编程与配置
    发表于 05-23 10:46 142次下载
    EDA技术与应用(<b class='flag-5'>可编程逻辑器件</b>)

    可编程逻辑器件(书皮)

    可编程逻辑器件(书皮)
    发表于 07-10 14:34 0次下载

    可编程逻辑器件EPLD是如何设计的

    可编程逻辑器件(Electrically Programmable Logic Device,EPLD)是指采用电信号的可编程逻辑器件
    发表于 08-22 18:12 1385次阅读

    可编程逻辑器件的结构

    常见的可编程逻辑器件分为FPGA、EPLD(CPLD)。下面简单介绍两类器件的结构和区别。
    的头像 发表于 03-24 14:18 1135次阅读
    <b class='flag-5'>可编程逻辑器件</b>的结构

    可编程逻辑器件测试

    可编程逻辑器件 (Programmable Loeie Device,PLD)是一种用户编程实现某种逻辑功能的逻辑
    发表于 06-06 15:37 664次阅读
    <b class='flag-5'>可编程逻辑器件</b>测试

    什么叫可编程逻辑器件 可编程逻辑器件有哪些特征和优势?

    可编程逻辑器件(Programmable Logic Device,PLD)是一类集成电路器件,可以根据用户的需求进行编程和配置,以实现特定的逻辑
    发表于 09-14 15:25 2691次阅读

    可编程逻辑器件的特征及优势科普

    可编程逻辑器件是一种集成电路,具有可编程功能的特性。它们可以根据用户的需求进行编程,从而实现不同的逻辑功能。
    的头像 发表于 02-26 18:24 1083次阅读