dsp接口效率的分析与提高

dsp接口效率的分析与提高

ID:22310071

大小:53.00 KB

页数:6页

时间:2018-10-28

dsp接口效率的分析与提高_第1页
dsp接口效率的分析与提高_第2页
dsp接口效率的分析与提高_第3页
dsp接口效率的分析与提高_第4页
dsp接口效率的分析与提高_第5页
资源描述:

《dsp接口效率的分析与提高》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、DSP接口效率的分析与提高

2、第1关键词:DSP接口电路CAN控制器近几年来,数字信号处理器(DSP)得到了广泛的应用。由于DSP采用程序空间和数据空间分离的哈佛结构,对程序和数据并行操作,使之成倍地提高了处理速度;再加上流水线技术,使得DSP的指令周期多为10ns级。而与之配套的外围器件却没有像DSP那样猛地发展。首先,DSP与外围器件之间的速度差异日益显著,大部分外围器件的读写周期在50ns以上,即使是最快的静态RAM,其读写周期亦为8ns左右,也只能与50MHz以下的DSP直接接口;其次,一些领域

3、的器件在设计时并没有考虑与DSP接口,以至于不能直接接入DSP总线,如CAN总线控制器SA1000采用地址总线与数据总线分时复用的总线接口。这使得DSP与许多外部器件难以接口,特别是在与多个外部器件接口或者与总线不兼容的外部器件接口时,常常会出现因接口处理不当而导致接口效率低下的情况。当DSP对外部器件的操作频率很高时,接口效率的高低将对系统的运行速度产生不可忽略的影响。1多个外设的情况当DSP与低速器件接口时,可以通过设置DSP片内的等待状态产生控制寄存器(和ROM。而ROM的速度一般远远低于RAM

4、,其访问周期一般为100~200ns,即使DSP和RAM的访问速度均可达到25ns,但对整个数据空间进行延时后,DSP也只能以ROM的访问速度(100~200ns)对RAM进行访问。在这种情况下,首先应考虑使用软件方法提供效率。其方法是默认的情况下将Hz的DSP在数据空间外扩有RAM和ROM各一片,访问周期分别为70ns和150ns,地址空间分别为0x8000~0x8fff和0x9000~0x9fff。由DSP的主频可知,对RAM和ROM的访问各需插入3个和7个等待周期。下面给出GAL源文件的关键部分

5、(它们使用汇编程序FM的格式编写):Q0:=/Q0*/RD+/Q0*/的访问插入3个周期+/DS*A15*/A14*/A13*A12*/Q0+/DS*A15*/A14*/A13*/Q1+/DS*A15*/A14*/A13*A12*/Q2;为ROM的访问插入7个周期图2是一个与写时序对应的时序图,其中在下三角符号标出的时刻,DSP对READY端进行查询。这种方法能够充分使用硬件的速度,并且对软件是透明的,不会增加编程人员的负担。图3DSP与SJA1000的接口原理图2总线不兼容的情况有一类芯片的总线接口

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

7、件进行园,而是把一次总线操作分解成两步。先把此次操作的目标地址作为数据送到总线上,同时通过硬件产生一个锁存信号将其锁存。然后再进行读写操作,读写操作的目标地址就是上一步被锁存的地址。使用这种办法,硬件和软件都不需要进行复杂的变换。唯一的缺点是指令的效率变低了。由于SJA1000的读写周期一般是DSP的指令周期的几倍,一次访问被分解成两次后多消耗的时间不能忽略。还有一个更重要的影响是,这种转换方法在寻址时无法使用DSP的并行寻址功能,必须使用另外的变量独立运行。在多数的CAN总线应用中,这种处理方法不会

8、对系统的整体性能产生太大的影响。但在有的系统中,这种低效是不可容忍的,如由DSP和SJA1000组成的CAN总线网关,它含有多个SJA1000芯片,并且在SJA1000之间需要经常进行数据块的搬移。对于次数频繁并且寻址有规律的操作,利用DSP的并行寻址功能将极大地提高程序的效率。以下程序段可在两个同网段的SJA1000之间完成一帧消息搬移功能(它在每次操作的同时对下次操作的地址进行并行寻址):Larar0,mlength;取消息的长度Larar1,#SJA1_A;一个SJA1000中接收邮箱的首地址L

9、arar2,#SJA2_S;另一个SJA1000中发送邮箱的首地址Mar*,ar0Mar*-,ar1Loop:;复制一帧消息Lacl*+,ar2Sacl*+,ar0Banzloop,*-,ar1如果按下述方法改写这段程序,不仅对SJA1000的操作时间要增加倍,而且每次操作前都要对地址进行运算,使得完成同样功能的程序运行时间要增加到原来的3~4倍。这时,只有使用纯硬件的解决方法才能获得理想的效果。设计的关键是生成合适的锁存信号ALE,使它能够满足SJA1

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。