利用FPGA处理TMS320C54x与SDRAM的接口问题

发布者:淡雅时光最新更新时间:2012-04-25 来源: dzsc关键字:FPGA  TMS320C54x  SDRM 手机看文章 扫描二维码
随时随地手机看文章

在DSP应用系统中,需要大量外扩存储器的情况经常遇到。例如,在数码相机和摄像机中,为了将现场拍摄的诸多图片或图像暂存下来,需要将DSP处理后的数据转移到外存中以备后用。从目前的存储器市场看,SDRAM由于其性能价格比的优势,而被DSP开发者所青睐。DSP与SDRAM直接接口是不可能的。
FPGA(现场可编程门阵列)由于其具有使用灵活、执行速度快、开发工具丰富的特点而越来越多地出现在现场电路设计中。本文用FPGA作为接口芯片,提供控制信号和定时信号,来实现DSP到SDRAM的数据存取。

1 SDRAM介绍

本文采用的SDRAM为TMS626812A,图1为其功能框图。它内部分为两条,每条1M字节,数据宽度为8位,故存储总容量为2M字节。

所有输入和输出操作都是在时钟CLK上升沿的作用下进行的,刷新时钟交替刷新内部的两条RAM。TMS626812A主要有六条控制命令,它们是:条激尖/行地址入口、列地址入口/写操作、列地址入口/读操作、条无效、自动刷新、自动刷新。SDRAM与TMS320C54x接口中用到的命令主要有:MRS、DEAC、ACTV、WRT-P、READ-P和REFR。这里,设计目的就是产生控制信号来满足这些命令的时序要求。关于TMS626812A的具体说明可以查看其数据手册。

2 SDRAM与TMS320C54x之间的通用接口

图2是DSP与SDRAM的通用接口框图,图中DSP I/F代表TMS320C54x端接口单元,SDRAM CNTL代表SDRAM端接口控制单元。SDRAM被设置成一次性读写128个字节,而DSP一次只读写一个字节,因而建立了两个缓冲区B0、B1来缓存和中转数据。B0、B1大小都为128字节,而且映射到DSP中的同一地址空间。

尽管B0、B1对应于同一地址空间,但对两个缓冲区不能在同一时刻进行合法访问。实际上,当B0被DSP访问时,B1就被SDRAM访问,反之也成立。若DSP向B1写数据,SDRAM就从B0读数据;而当SDRAM的数据写到B0中时,DSP就从B1读数据。两者同时从同一缓冲区读或写都将激发错误。上边所述的数据转移方式有两种好处:一是加速了TMS320C54x的访问速度,二是解决了二者之间的时钟不同步问题。

3 FPGA中的硬件设计

TMS320C54x为外部存储器的扩展提供了下列信号:CLK、CS、AO~A15、D0~D15、RW、MATRB、ISTRB、IS,而SDRAM接收下列信号:CLK、CKE、CS、CQM、W、RAS、CAS、A0~A11。由于两端控制信号不同,需要在DSP与SDRAM之间加上控制逻辑,以便将从DSP过来的信号解释成SDRAM能够接收的信号,图3是用FPGA设计的顶层硬件接口图。

图中主要由三个模块:DSP-IQ、DMA-BUF和SD-CMD。其中DSP-IO是DSP端的接口,用来解码TMS320C54x发送的SDRAM地址和命令。DMA-BUF代表缓冲区BO、B1。SD_CMD模块用来产生SDRAM访问所需的各种信号。

DSP_IO模块又包括IO_DMA、DSP_BUF和DSP_READ。IO_DMA产生SDRAM的命令信号,即图3中的DSP_RDY、DSP_SD_RW、DSP_SD_BANK_SW、DSP_SD_ADDR[20..0]、DSP_SD_ADDR_RESET、DSP_SD_START。DSP_BUF产生访问B0、B1的地址、数据和控制信号,图3中指DSP_SD_BUFCLKI、DSP_SD_BUFCLKO、DSP_SD_BUFWE、DSP_SD_BUFADDR[6..0]、DSP_SD_BUFIN[7..0]。DSP-READ子模块用来控制DSP的读写方向。

DMA_BUF分为B0、B1两个缓冲区,用来进行数据传送,每个缓冲区的输入输出信号包括:CLKI、CLKO、WE、ADDR[6-0]、DATA_IN[7-0]、DATA_OUT[7-0]。BANK_SW是一个开关信号,用于DSP和SDRAM对B0、B1的切换访问。
[page]

SD_CMD模块包括刷新、读、写功能。当DSP芯片发出SDRAM读命令时,128字节的数据从SDRAM中读出来并被存储到B0或B1中,当DSP发出写命令之时,128字节的数据传到B0或B1之中并被最终写到SDRAM中。


4 软件设计

TMS626812A SDRAM有两兆字节的存储容量。所以DSP用两个I/O地址向FPGA传送访问SDRAM的高低地址。此文中,该两个I/O地址对应用图4中的03h(DMA_ADDH)和04h(DMA_ADDL)。另外,还有一个I/O地址(图4中的05h)用来向FPGA传送命令产生SDRAM访问的信号。

DSP向SDRAM写数据时的操作步骤如下:

(1)数据先被写到B0或B1。

(2)SDRAM的访问地址经由DSP的I/O地址DMA_ADDH和DMA_ADDL发送到FPGA中。

(3)DSP向FPGA发出一个命令(I/O地址为DMA_CTL)产生控制信号,使SDRAM从B0或B1中读取数值。

DSP从SDRAM读数据的操作步骤如下:

(1)DSP传送访问SDRAM的地址。

(2)DSP经由FPGA传送一个命令,使得数据从SDRAM中读到FPGA中。

(3)DSP从B0或B1中读得数据。

图4为DSP中与数据传送相关的各类存储器的分配情况。

具体设计时,应参考相关资料进行补充。不同的DSP与不同类型的SDRAM接口时,会有细微的区别,电路设计完毕后要进行认真而多方面的测试。
关键字:FPGA  TMS320C54x  SDRM 引用地址:利用FPGA处理TMS320C54x与SDRAM的接口问题

上一篇:基于USB总线的机器人上下位机通信
下一篇:一种实现载波监听多点接入/冲突检测的多主RS485总线

推荐阅读最新更新时间:2024-05-02 22:01

基于FPGA的DES加密算法的高性能实现
1 引言 随着通信系统和网络的快速发展,要求数据的通信、处理和存储的安全性和可靠性越来越高。开发安全加密机器,要求具备实时加密,可改变密钥,使用多种算法等性能,因此可重用、参数化的加密核成为一种理想的安全加密设计。 目前加密算法有单密钥和公用密钥2种体制。单密钥体制中最著名的是DES加密算法,它是目前应用广泛的分组对称加密算法,广泛应用于卫星通信、网关服务器、视频传输、数字电视接收等方面。文献指出,尽管软件实现的DES加密算法容易改变,但是其数据处理速率低;专用集成电路ASIC可提供高性能算法但灵活性差;而FPGA实现的加密算法具有对同一个FPGA使用不同算法的重新编程可增加其灵活性,使用同一个算法的不同版本和改
[嵌入式]
基于<font color='red'>FPGA</font>的DES加密算法的高性能实现
基于京微雅格低功耗FPGA的8b/10b SERDES的接口设计
串行接口常用于芯片至芯片和电路板至电路板之间的数据传输。随着系统带宽不断增加至多吉比特范围,并行接口已经被高速串行链接,或SERDES (串化器/ 解串器)所取代。起初, SERDES 是独立的ASSP 或ASIC 器件。在过去几年中已经看到有内置SERDES 的FPGA 器件系列,但多见于高端FPGA芯片中,而且价格昂贵。 本方案是以CME最新的低功耗系列FPGA的HR03为平台,实现8/10b的SerDes接口,包括SERDES收发单元,通过完全数字化的方法实现SERDES的CDR(Clock Data Recovery,时钟数据恢复),完成100~200Mhz的板间SERDES单通道通信,该SERDES接口方案具有成本低、
[电源管理]
基于京微雅格低功耗<font color='red'>FPGA</font>的8b/10b SERDES的接口设计
基于FPGA的智能超声波功率源的设计
摘要:本文介绍了一种基于直接数字合成(Direct Digital Synthesis,DDS)技术的超声波功率源的设计。详细介绍了基于现场可编程逻辑门阵列(FPGA)的DDS信号产生电路、功率放大电路以及超声波功率源与换能器的匹配设计,与传统的DDS相比,本系统的功率已经达到工业应用的水平。 关键字:直接数字合成 可编程逻辑门阵列 超声波   近年来,超声波在工业中的应用不断涌现,比如超声波探伤,超声波清洗等等。伴随着超声研究的热门,如何有效的产生符合要求的超声波功率源也变的迫切起来,其性能特点直接影响着超声的研究工作。上述研究需要超声波具有高分辨率、高稳定性、大功率、频率大范围可调等特点,为此,本文提出了一种基于现场可编程
[嵌入式]
基于<font color='red'>FPGA</font>的智能超声波功率源的设计
基于CPLD的汽油机点火参数测量仪的研制
  点火参数是影响汽油机性能的最重要因素之一。汽油机的点火参数主要有:点火提前角、点火能量、点火电压和点电流。通过对这些参数的测量、研究与优化,能提高发动机的性能,降低油耗,减少有害气体的排放量,改善环境空气质量等。就国内外目前的点火参数测量设备来说,普遍存在着体积庞大、价格昂贵、抗干扰能力差等缺点,甚至有些是采用示波器来观察,人机对话界面不够友好。由于火花塞放电时间大约在200~500μs之间,点火电压的上升时间却只有几到十几μs,为了保证测量精度,采样频率要求在10MHz以上,这个速率就是目前最快的单片机也难以胜任。因此如何有效地实现超高速的数据采集便成了解决问题的技术关键。同时,使高速的数据采集器与低速的控制电路实现可靠地信
[嵌入式]
基于CPLD的汽油机点火参数测量仪的研制
莱迪思发运首批低成本、低功耗LatticeECP4 FPGA样片
    21ic讯 莱迪思半导体公司日前宣布已经开始发运其下一代LatticeECP4™FPGA系列的密度最大的器件至部分客户。新的LatticeECP4 FPGA系列提供了多种200K LUT以下的低成本,低功耗的中档器件,具有高性能的创新,如低成本封装的6G SERDES,功能强大的DSP块和内置的基于硬IP的通信模块。LatticeECP4-190是这个系列中最高密度的器件,拥有183K  LUT,480个双数据速率DSP乘法器(18×18),5.8 Mbits存储器和12个6 Gbps SERDES通道,使得它非常适合各种成本和功耗敏感的无线、有线、视频和计算应用。莱迪思已发布了三个倒装芯片封装的LatticeECP4-1
[嵌入式]
基于FPGA电火花加工脉冲电源的设计与研究
引 言       数控电火花(electrical discharge machining,EDM)机床是一种实现工件精密加工的特种加工工具。早期的电火花成型加工机床的脉冲电源电路是用分立元件组成,或者是用单片机来实现。分立元件电路设计复杂,电路调试困难,基于单片机或者是32位的嵌入式CPU的脉冲电源性能有了很大的提高,也具有了很高的智能性,但对于不同的处理器,其移植性不太好,而且如果硬件电路一旦完成就不能进行更改与升级。而采用现场可编程门阵列FPGA在很好的继承单片机或者是嵌入式CPU设计的电源的优点的同时,还拥有一些新的特点。本文提出的方案采用的是Altera公司的cylone II芯片,将Altera提供的NIOS II
[电源管理]
赛灵思FPGA:面向动态应用的灵活操作系统
利用赛灵思 FPGA 的动态重配置功能,同构多线程执行模型可同时兼得软件灵活性和硬件性能。 一台在未知的土地上行进的自动机器人;一部能够根据信号强度改变解压缩格式的视频解码器;一套宽带电子对抗系统;一种用于机动车辆的自适应图像跟踪算法……这些都属于大量涌现的随环境瞬变做出快速响应的新兴嵌入式或者关键任务应用。在过去,静态决策最坏情况分配曾为严格的实时约束提供了解决方案,而现在灵活性也成为一项要求。法国某研究项目建议使用的解决方案是一种分布在 FPGA 资源上,对软硬件线程进行管理的操作系统。 我们的目标是设计一种支持新的系统分区类型的架构,让软/硬件组件遵循同一执行模型。这就要求高度灵活的可扩展操作系统。 近年来,特别是在嵌入式
[嵌入式]
赛灵思<font color='red'>FPGA</font>:面向动态应用的灵活操作系统
中科亿海微完成3亿元B轮融资,加速打造FPGA高端芯片
近日,中科亿海微电子科技(苏州)有限公司(以下简称:中科亿海微)如期完成总规模3亿元的B轮融资,本轮融资由苏州吴中区甪盛投资领投,山东同科晟华基金、诸瑞资本、恒邦资本、中赢资产跟投。本轮募集资金将主要用于公司14nm工艺亿门级高端FPGA芯片设计项目、特种集成电路产品测试线建设项目,。 据悉,中科亿海微成立于2017年,是中国科学院空天信息创新研究院所属高新技术企业,由中国科学院“可编程芯片与系统研究室”整体转制成立。公司坚持全正向设计技术路线,研制具有高可靠性的嵌入式可编程电路IP核、可编程逻辑芯片和EDA软件,实现可编程逻辑芯片软硬件的全面自主可控。 中科亿海微目前已形成龙珠、神针、神盾三大产品家族产品,同时为面向大数据、云
[手机便携]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved