下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、DSP接口效率的分析与提高 摘要:分析了导致DSP系统接口效率低下的几种情况,重点叙述了相应的提高效率的设计方法,并提供了电路图和源程序。 关键词:DSP 接口电路 CAN控制器近几年来,数字信号处理器(DSP)得到了广泛的应用。由于DSP采用程序空间和数据空间分离的哈佛结构,对程序和数据并行操作,使之成倍地提高了处理速度;再加上流水线技术,使得DSP的指令周期多为10ns级。而与之配套的外围器件却没有像DSP那样猛地发展。首先,DSP与外围器件之间的速度差异日益显著,大部分外围器件的读写周期在50ns以上,即使是最快的静态RAM,其读写周期亦为8
2、ns左右,也只能与50MHz以下的DSP直接接口;其次,一些领域的器件在设计时并没有考虑与DSP接口,以至于不能直接接入DSP总线,如CAN总线控制器SA1000采用地址总线与数据总线分时复用的总线接口。这使得DSP与许多外部器件难以接口,特别是在与多个外部器件接口或者与总线不兼容的外部器件接口时,常常会出现因接口处理不当而导致接口效率低下的情况。当DSP对外部器件的操作频率很高时,接口效率的高低将对系统的运行速度产生不可忽略的影响。1 多个外设的情况当DSP与低速器件接口时,可以通过设置DSP片内的等待状态产生控制寄存器(WSGR),在相应的程序空间、数据空间或I/O空间产生17个等待周期,
3、以使DSP的访问速度能和低速器件相匹配。当在同一空间内既有低速器件又有高速器件时,通常WSGR的延时值被设置成与速度最慢的器件相一致,以保证DSP对所有的器件都能进行正确的访问。若对高速器件的操作很频繁,则这种对整个空间的延时将极不合理地降低系统速度。例如,有些系统在程序空间同时扩展有RAM和ROM。而ROM的速度一般远远低于RAM,其访问周期一般为100200ns,即使DSP和RAM的访问速度均可达到25ns,但对整个数据空间进行延时后,DSP也只能以ROM的访问速度(100200ns)对RAM进行访问。在这种情况下,首先应考虑使用软件方法提供效率。其方法是默认的情况下将WSGR设置成与高速
4、器件一致,当要访问低速器件时再修改WSGR的值。DSP常常对外部件进行连续操作,在这种情况下,软件方法还是比较有效的。但最大问题在于增加了软件负担和不稳定因素。显然,效率最高的情况是,既不需要修改WSGR,DSP又能以外部器件本身的速度对它们进行访问。事实上,只要能够产生适当的信号控制DSP的READY端,就可以达到这个目的。DSP在开始一个外部总线的操作后,会在每一个CLKOUT信号(DSP的时钟输出)的上升沿时刻对READY端进行查询,若READY为低,则保持总线的状态不变,然后在下一个CLKOUT上升沿时刻两次查询,直至查询到READY为高时结束本次总线访问。下面的设计实例中介绍的硬件等
5、待电路(见图1)能够实现这个功能。它针对不同的外部器件产生相应的等待信号送到DSP的READY端,实现硬等待。其核心器件采用了广泛应用的通用逻辑阵列(GAL),GAL的引脚定义与图1相对应。使用GAL器件使硬件设计变得简单而灵活,可以完成比较复杂的逻辑关系。例如,频率为50MHz的DSP在数据空间外扩有RAM和ROM各一片,访问周期分别为70ns和150ns,地址空间分别为0x80000x8fff和0x90000x9fff。由DSP的主频可知,对RAM和ROM的访问各需插入3个和7个等待周期。下面给出GAL源文件的关键部分(它们使用汇编程序FM的格式编写):Q0:=/Q0*/RD+/Q0*/W
6、RQ1:=/Q0*Q1*/RD+Q0*/Q1*/RD+/Q0*Q1*/WR+Q0*/Q1*/WRQ2:=/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*/A0;为RAM的访问插入3个周期+/DS*A15*/A14*/A13*A12*/Q0+/DS*
7、A15*/A14*/A13*/Q1+/DS*A15*/A14*/A13*A12*/Q2;为ROM的访问插入7个周期图2是一个与写时序对应的时序图,其中在下三角符号标出的时刻,DSP对READY端进行查询。这种方法能够充分使用硬件的速度,并且对软件是透明的,不会增加编程人员的负担。图3 DSP与SJA1000的接口原理图2 总线不兼容的情况有一类芯片的总线接口是分时复用的,如CAN总线控制器SJA1000。SJA1000有8位的数据和地址复用的总线,可以和多种MCU直接相连。一次总线操作开始时,总线先传递此次操作访问的地址,在ALE信号将地址锁存后,再进行数据读写。而DSP的数据总线和地址总线被
8、并行地引出,这种并行结构比分时复用的串行结构先进,有着高一倍的带宽。但DSP被设计时并没有考虑过会在芯片外将并行的总线再串行化,也就是没有设计相应的辅助信号来完成这种转换。这使得完全使用硬件方法进行串行转换比较困难。此类问题通常使用软件和硬件配合解决,并不真正地靠硬件进行园,而是把一次总线操作分解成两步。先把此次操作的目标地址作为数据送到总线上,同时通过硬件产生一个锁存信号将其锁存。然后再进行读写操作,读写操作的目标地址就是上一步被锁存的地址。使用这种办法,硬件和软件都不需要进行复杂的变换。唯一的缺点是指令的效率变低了。由于SJA1000的读写周期一般是DSP的指令周期的几倍,一次访问被分解成
9、两次后多消耗的时间不能忽略。还有一个更重要的影响是,这种转换方法在寻址时无法使用DSP的并行寻址功能,必须使用另外的变量独立运行。在多数的CAN总线应用中,这种处理方法不会对系统的整体性能产生太大的影响。但在有的系统中,这种低效是不可容忍的,如由DSP和SJA1000组成的CAN总线网关,它含有多个SJA1000芯片,并且在SJA1000之间需要经常进行数据块的搬移。对于次数频繁并且寻址有规律的操作,利用DSP的并行寻址功能将极大地提高程序的效率。以下程序段可在两个同网段的SJA1000之间完成一帧消息搬移功能(它在每次操作的同时对下次操作的地址进行并行寻址):Lar ar0,mlength
10、;取消息的长度Lar ar1,#SJA1_A ;一个SJA1000中接收邮箱的首地址Lar ar2,#SJA2_S ;另一个SJA1000中发送邮箱的首地址Mar *,ar0Mar *-,ar1Loop: ;复制一帧消息Lacl *+,ar2Sacl *+,ar0Banz loop,*-,ar1如果按下述方法改写这段程序,不仅对SJA1000的操作时间要增加倍,而且每次操作前都要对地址进行运算,使得完成同样功能的程序运行时间要增加到原来的34倍。这时,只有使用纯硬件的解决方法才能获得理想的效果。设计的关键是生成合适的锁存信号ALE,使它能够满足SJA1000的时序要求。通过研究DSP控制信号的
11、时序要吧发现,从地址建立到读写控制信号有效大约要经历二分之一个CPU时钟的时间,而SJA1000的ALE信号要求的最小宽度为8ns,因此对于主频在50MHz(CPU时钟为20ns)以下DSP,可以利用这二分之一个CPU时钟的时间间隔生成ALE信号。图3给出了含两片SJA1000的接口电路图。除了片选信号外,这两片SJA1000的总线和其它控制信号都连在一起。page_break假设SJA1000的片选地址为0X8xxx和0x9xxx,各引脚定义与图中对应,则GAL中的逻辑关系如下:/ADDR_G=DSP_RD*DSP_WR*RD*WR/DATA_G=/DSP_DS*DSP_A15*/DSP_A
12、14*/DSP_A13*ADDR_G/WR=/DSP_WR*/ALE/RD=/DSP_RD*/ALEALE=/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,应当使用有更高工作频率的可编程
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年石狮市琼林中心幼儿园合同教师招聘备考题库及一套完整答案详解
- 2026年自助烧烤场地租赁合同
- 2026年贵族生活方式分享课程合同
- 2025年中国科学院心理研究所认知与发展心理学研究室杜忆研究组招聘备考题库及参考答案详解
- 2025执业药师继续教育试题库(含答案)
- 2025年北京体育大学医院(社区卫生服务中心)合同制人员公开招聘备考题库及参考答案详解1套
- 2025年中国水利水电科学研究院水力学所科研助理招聘备考题库及完整答案详解1套
- 2025年兴业银行总行社会招聘备考题库参考答案详解
- 2025年河南洛阳63880部队社会招聘备考题库及完整答案详解一套
- 中国电建集团贵阳勘测设计研究院有限公司2026届秋季招聘40人备考题库完整参考答案详解
- 2025秋人教版(新教材)初中美术八年级上册知识点及期末测试卷及答案
- DB50∕T 867.76-2025 安全生产技术规范 第76部分:汽车制造企业
- 2026年保安员考试题库500道附完整答案(历年真题)
- 2025至2030中国司法鉴定行业发展研究与产业战略规划分析评估报告
- 膝关节韧带损伤康复课件
- 个人契约协议书范本
- 医药区域经理述职报告
- 养老事业与养老产业协同发展路径探析
- 建筑施工项目职业病危害防治措施方案
- 袖阀注浆管施工方案
- 重症医学科抗生素应用规范
评论
0/150
提交评论