DSP接口效率的分析与提高

发布者:数字奇迹最新更新时间:2012-04-14 来源: dzsc关键字:DSP  接口效率  CAN控制器 手机看文章 扫描二维码
随时随地手机看文章
近几年来,数字信号处理器(DSP)得到了广泛的应用。由于DSP采用程序空间和数据空间分离的哈佛结构,对程序和数据并行操作,使之成倍地提高了处理速度;再加上流水线技术,使得DSP的指令周期多为10ns级。而与之配套的外围器件却没有像DSP那样迅猛地发展。首先,DSP与外围器件之间的速度差异日益显著,大部分外围器件的读写周期在50ns以上?即使是最快的静态RAM,其读写周期亦为8ns左右,也只能与50MHz以下的DSP直接接口;其次,一些领域的器件在设计时并没有考虑与DSP接口,以至于不能直接接入DSP总线,如CAN总线控制器SJA1000采用地址总线与数据总线分时复用的总线接口。这使得DSP与许多外部器件难以接口,特别是在与多个外部器件接口或者与总线不兼容的外部器件接口时,常常会出现因接口处理不当而导致接口效率低下的情况。当DSP对外部器件的操作频率很高时,接口效率的高低将对系统的运行速度产生不可忽略的影响。 
1 多个外设的情况

当DSP与低速器件接口时,可以通过设置DSP片内的等待状态产生控制寄存器(WSGR),在相应的程序空间、数据空间或I/O空间产生1~7个等待周期,以使DSP的访问速度能和低速器件相匹配。当在同一空间内既有低速器件又有高速器件时,通常WSGR的延时值被设置成与速度最慢的器件相一致,以保证DSP对所有的器件都能进行正确的访问。若对高速器件的操作很频繁,则这种对整个空间的延时将极不合理地降低系统速度。例如,有些系统在数据空间同时扩展有RAM和ROM。而ROM的速度一般远远低于RAM,其访问周期一般为100~200ns,即使DSP和RAM的访问速度均可达到25ns,但对整个数据空间进行延时后,DSP也只能以ROM的访问速度(100~200ns)对RAM进行访问。 在这种情况下,首先应考虑使用软件方法提高效率。其方法是在默认的情况下将WSGR设置成与高速器件一致,当要访问低速器件时再修改WSGR的值。DSP常常对外部器件进行连续操作,在这种情况下,软件方法还是比较有效的。但最大问题在于增加了软件负担和不稳定因素。 显然,效率最高的情况是,既不需要修改WSGR,DSP又能以外部器件本身的速度对它们进行访问。事实上,只要能够产生适当的信号控制DSP的READY端,就可以达到这个目的。DSP在开始一个外部总线的操作后,会在每一个CLKOUT信号(DSP的时钟输出)的上升沿时刻对READY端进行查询,若READY为低,则保持总线的状态不变,然后在下一个CLKOUT上升沿时刻再次查询,直至查询到READY为高时结束本次总线访问。 下面的设计实例中介绍的硬件等待电路(见图1)能够实现这个功能。它针对不同的外部器件产生相应的等待信号送到DSP的READY端,实现硬等待。其核心器件采用了广泛应用的通用逻辑阵列(GAL),GAL的引脚定义与图1相对应。使用GAL器件使硬件设计变得简单而灵活,可以完成比较复杂的逻辑关系。

例如,频率为50MHz的DSP在数据空间外扩有RAM和ROM各一片,访问周期分别为70ns和150ns,地址空间分别为0x8000~0x8fff和0x9000~0x9fff。由DSP的主频可知,对RAM和ROM的访问各需插入3个和7个等待周期。下面给出GAL源文件的关键部分(它们使用汇编程序FM的格式编写): Q0:=/Q0*/RD+/Q0*/WR 
Q1:=/Q0*Q1*/RD+Q0*/Q1*/RD+/Q0*Q1*/WR
+Q0*/Q1*/WR
Q2:=/Q1*Q2*/RD+/Q0*Q1*Q2*/RD+Q0*Q1*/Q2*/RD
+/Q1*Q2*/WR+/Q0*Q1*Q2*/WR+Q0*Q1*/Q2*/WR
;构成一个三位的二进制计数器
;Q2为最高位、Q0为最低位
;对读信号或写信号的宽度进行计数
GAL_READY.OE=VCC
/GAL_READY=/DS*A15*/A14*/A13*/A12*/Q1
+/DS*A15*/A14*/A13*/A12*Q1*/Q0
;为RAM的访问插入3个周期
+/DS*A15*/A14*/A13*A12*/Q0
+/DS*A15*/A14*/A13*A12*/Q1
+/DS*A15*/A14*/A13*A12*/Q2
;为ROM的访问插入7个周期

图2是一个与写时序对应的时序图,其中在下三角符号标出的时刻,DSP对READY端进行查询。



这种方法能够充分使用硬件的速度,并且对软件是透明的,不会增加编程人员的负担。[page]

2 总线不兼容的情况

有一类芯片的总线接口是分时复用的,如CAN总线控制器SJA1000。SJA1000有8位的数据和地址复用的总线,可以和多种MCU直接相连。一次总线操作开始时,总线先传递此次操作访问的地址,在ALE信号将地址锁存后,再进行数据读写。而DSP的数据总线和地址总线被并行地引出,这种并行结构比分时复用的串行结构先进,有着高一倍的带宽。但DSP被设计时并没有考虑过会在芯片外将并行的总线再串行化,也就没有设计相应的辅助信号来完成这种转换。这使得完全使用硬件方法进行串行转换比较困难。 此类问题通常使用软件和硬件配合解决,并不真正地靠硬件进行转换,而是把一次总线操作分解成两步。先把此次操作的目标地址作为数据送到总线上,同时通过硬件产生一个锁存信号将其锁存。然后再进行读写操作,读写操作的目标地址就是上一步被锁存的地址。

使用这种办法,硬件和软件都不需要进行复杂的变换。唯一的缺点是指令的效率变低了。由于SJA1000的读写周期一般是DSP的指令周期的几倍,一次访问被分解成两次后多消耗的时间不能忽略。还有一个更重要的影响是,这种转换方法在寻址时无法使用DSP的并行寻址功能,必须使用另外的变量独立运算。在多数的CAN总线应用中,这种处理方法不会对系统的整体性能产生太大的影响。但在有的系统中,这种低效是不可容忍的,如由DSP和SJA1000组成的CAN总线网关,它含有多个SJA1000芯片,并且在SJA1000之间需要经常进行数据块的搬移。对于次数频繁并且寻址有规律的操作,利用DSP的并行寻址功能将极大地提高程序的效率。以下程序段可在两个不同网段的SJA1000之间完成一帧消息搬移功能(它在每次操作的同时对下次操作的地址进行并行寻址): Lar ar0,mlength ;取消息的长度
Lar ar1,#SJA1_A ;一个SJA1000中接收邮箱的首地址
Lar ar2,#SJA2_S ;另一个SJA1000中发送邮箱的首地址
Mar *,ar0
Mar *-,ar1
Loop:? ;复制一帧消息
Lacl *+,ar2
Sacl *+,ar0
Banz loop?*-,ar1 

如果按上述方法改写这段程序,不仅对SJA1000的操作时间要增加一倍,而且每次操作前都要对地址进行运算,使得完成同样功能的程序运行时间要增加到原来的3~4倍。

这时,只有使用纯硬件的解决方法才能获得理想的效果。设计的关键是生成合适的锁存信号ALE,使它能够满足SJA1000的时序要求。通过研究DSP控制信号的时序可以发现,从地址建立到读写控制信号有效大约要经历二分之一个CPU时钟的时间,而SJA1000的ALE信号要求的最小宽度为8ns,因此对于主频在50MHz(CPU时钟为20ns)以下的DSP,可以利用这二分之一个CPU时钟的时间间隙生成ALE信号。图3给出了含两片SJA1000的接口电路图。除了片选信号外,这两片SJA1000的总线和其它控制信号都连在一起。 假设SJA1000的片选地址为0X8xxx和0X9xxx,各引脚定义与图中对应,则GAL中的逻辑关系如下:


/ADDR_G=DSP_RD*DSP_WR*RD*WR
/DATA_G=/DSP_DS*DSP_A15*/DSP_A14*/DSP_A13*ADDR_G
/WR=/DSP_WR*/ALE
/RD=/DSP_RD*/ALE
ALE=/DSP_DS*DSP_A15*/DSP_A14*/DSP_A13*DSP_RD*DSP_WR
/CS1=/DSP_DS*DSP_A15*/DSP_A14*/DSP_A13*
?/DSP_A12*ADDR_G
/CS2=/DSP_DS*DSP_A15*/DSP_A14*/DSP_A13*
?DSP_A12*ADDR_G

对其中一片进行读写操作,则时序关系如图4所示。

其中,twr、tww分别为DSP读、写时的ALE信号宽度,它们都接近1/2个CLKOUT的周期。t为ALE的下降沿到RD、WR有效的时间,它由GAL翻转的延时产生,为10ns以上(注:本图中DSP的时序来自TMS320C24xxA系列,不同系列的DSP产品之间时序可能有细微的差别)。 对于主频高于50MHz的DSP,应当使用有更高工作频率的可编程逻辑器件,并将前面介绍的计数器引入可编程逻辑器件内,来产生满足时序要求的锁存信号。

本文介绍的两种高效率的DSP接口的设计方法,去掉了在DSP访问外设时任何不必要的时间消耗。当然,效率的提高是以增加硬件的复杂度为代价的,在能够满足设计要求的前提下,设计者应该选择简单的设计方案。而对于频繁进行外设访问的高性能系统,本文提供了理想的接口方案。 

关键字:DSP  接口效率  CAN控制器 引用地址:DSP接口效率的分析与提高

上一篇:基于PCI总线的CAN卡的设计与实现
下一篇:基于PCI总线的MPEG-1压缩卡软硬件设计及实现

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

基于DSP嵌入式技术的智能刹车控制系统电路设计
  硬件电路设计上采用DSP芯片和外围电路构成速度捕获电路,电机驱动控制器采用微控制芯片和外围电路构成了电流采样、过流保护、压力调节等电路,利用CPLD实现无刷直流电机的转子位置信号的逻辑换相。赛车刹车控制器是由防滑控制器和电机驱动控制器组成。两个控制器都是以DSP芯片为核心。防滑控制器主要是以滑移率为控制对象,输出给定的刹车压力,以 DSP芯片为CPU,外加赛车和机轮速度信号调理电路等。电机驱动控制器主要是调节刹车压力大小,并且控制电动机电流大小,也是以DSP芯片为CPU,再加外围电路电动机电流反馈调理电路、过流保护电路、刹车压力调理电路、四组三相全桥逆变电路等构成电机驱动控制器。   信号处理电路      赛车防滑控制器主
[嵌入式]
基于DSP的汽车定位防盗系统的设计
概述 随着人们生活水平的提高,汽车已逐步进入家庭,对汽车防盗的要求越来越高。尽管市场上的汽车防盗器正逐步改善,但这些防盗器主要采用呼叫报警、高压电击等, 伴随科学技术的发展,汽车偷盗技术也越来越高,使人防不胜防。汽车防盗无论是对汽车 制造商还是社会保险业都具有极其重要的研究价值,针对目前世界范围内汽车盗窃案的上升趋势,各汽车厂家都在不断地改进防盗技术,尤其是随着微电子技术的进步,汽车防盗技术 已向着自动化、智能化方向发展。 GSM格式是目前手机使用的主要制式,在市场上占有80%以上的份额。把GPS与GSM结合起来, 不仅可以利用GPS技术进行汽车的全球定位,实现良好的导航,而且可以利用GSM网络广泛的覆盖面积和短信功能,使车主
[嵌入式]
深入探讨视频系统设计中的HD技术
  前些年人们所期待的数字视频革命现在正如火如荼的进行。近年来,技术的发展推动了新的视频功能在终端设备的应用范围不断扩展,小到手机和MP3播放器,大到电视墙和广告牌等设备。由于数字视频市场需求旺盛,创新技术层出不穷,系统制造商必须考虑在新产品中采用何种视频格式,其中一大考虑因素就是能否支持高清(HD)技术。HD能大幅改善影像质量,为观众带来前所未有的体验。考虑到市场对更大更好设备的强烈需求,我们也会不假思索的选择HD技术。 HD指什么?   若想给出HD的全面说明,就会发现这个术语实在太难定义。对大多数人和大多数使用情况来说,HD是指高清电视(HDTV),比传统的标清电视(SDTV)屏幕更大,清晰度更高。SDTV的宽高比为1.
[家用电子]
用TMS320 DSP和FPGA实现电能质量监测
内容摘要:提出用TMS320LF2407和FPGA实现电能监测的一种方案,阐述各模块的设计和实现方法,本方案中,FPGA用于采样16路交流信号并进行64次谐波分析;DSP和于电力参数的计算。为了提高其通用性,还用FPGA设计了与外界通信的并口、串口模块,并实现了同TMS320LF2407的并行和串行通信。 script language=javascript src="/a_dir_d/ads_250x250.js" /script   随着人们对电能质量要求的日益提高,如何保证电能质量就成为一个热门话题。电能质量监测的一项主要内容是谐波检测,即对多路模拟信号进行采集并进行谐波分析。本系统对16路50Hz模块信号
[嵌入式]
用TMS320 <font color='red'>DSP</font>和FPGA实现电能质量监测
电子工程师:未来数字设计将成主流
  不断竞争、融合的FPGA、DSP及ASIC是什么样的状况?且让我们听听工程师的意见: 电子工程世界: 能否结合您的设计经验,讲解一下FPGA、DSP和ASIC各自的特点和区别? 西安方诚科技有限责任公司硬件工程师王伙荣: FPGA的特点:它是可编程门列阵列,用户可对FPGA内部的逻辑模块和I/O模块重新配置,以实现用户的逻辑。设计的灵活性很高。对FPGA内部逻辑设计与软件编程有着本质的区别,程序由综合器综合成电路,而不是由处理器一条一条执行。目前,FPGA的设计范围局限于数字设计。   DSP的特点:DSP是一个处理器,有其自己的指令系统。计算机的算法可以很方便的移植到DSP上。   ASIC的特点:功耗
[焦点新闻]
使用TI 的低功耗C5x DSP的指纹识别方框图和解决方案
方案框图 设计说明 指纹识别用于各种应用,包括电子门禁系统、智能卡、车辆点火开关控制系统、带指纹控制存取功能的 USB 记忆棒及许多其它应用。指纹扫描仪中的数字信号处理元件可执行滤波、转换、特征提取、匹配运算及其它算法等复杂的 DSP 功能。 指纹传感器可以运用电容、光学、压力或热感技术来获取手指特征的图像。最常用的指纹传感器解决方案首先使用激光或 LED 灯照亮指纹,然后使用 CCD 或价格较为低廉的 CMOS 传感器进行图像采集。指纹传感器通常为自包含模块,其包括可将模拟信息转换成数字化数据流的模数转换器。分辨率、动态范围和像素密度均是决定图像质量并影响传感器精确度的因素。 一旦采集到图像,数字信息将被传输到数字信号处
[嵌入式]
使用TI 的低功耗C5x <font color='red'>DSP</font>的指纹识别方框图和解决方案
基于DSP的PWM型开关电源的设计
摘要:介绍了基于DSP的PWM型开关电源的原理及设计方法,以DSP芯片TMS320LF2407产生SPWM为例阐述了开关电源中PWM波形的实现方法。仿具结果表明,基于DSP的开关电源具有稳定快、失真小、负载对系统影响小的特点。 关键词:数字信号处理 脉宽调制 正弦脉宽调 目前,开关电源以具有小型、轻量和高效的特点而被广泛应用于以电子计算机为主异的各种终端设备和通信设备中,是当今电子信息产业飞速发展不可缺少的一种电源方式。与之相应,在微电子技术发展的带动下,DSP芯片的发展日新月异,功能日益强大,性价比不断上升,开发手段不断改进,其处理速度比CPU快10~15倍,因此基于DSP芯片的开关电源可以说是天作之保,拥有着广阔的前景,可
[应用]
基于神经网络和DSP的锡炉温度控制系统的研究与应用
现代电子元件装配要求锡炉焊接温度更加稳定,对锡炉高温控制的难度也就增强。随着预测神经网络的应用研究不断深入,由于其运算数据量大、收敛比较慢的特点,使其应用受到了硬件上的限制,实际应用并不多。但DSP高速数字信号处理速度越来越快,在线实时控制能力越来越强,在结合神经网络的应用方面效果显著。本文采用神经网络的预测能力对温度参数进行学习和调整,同时结合数字信号处理(DSP)模块进行控制和运算,实现高速运算处理控制,最终实现了锡炉温度控制系统在线实时补偿加热控制。 1 神经网络控制结构 神经网络对事件预测是一种很好的数据处理技术,在学习过程中发现规则,通过预测和DSP运算处理控制相结合来学习及调节控制函数的参数。基于神经网络和DSP的
[工业控制]
基于神经网络和<font color='red'>DSP</font>的锡炉温度控制系统的研究与应用
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

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

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