首 页       用户登录  |  用户注册
设为首页
加入收藏
联系我们
按字母检索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
按声母检索 A B C D E F G H J K L M N O P Q R S T W X Y Z 数字 符号
您的位置: 5VAR论文频道论文中心理工论文电子通信
   TMS320C54x系列DSP中的应用      ★★★ 【字体: 】  
TMS320C54x系列DSP中的应用
收集整理:佚名    来源:本站整理  时间:2009-01-10 22:28:09   点击数:[]    

可见OVLY=1的时候,数据空间的DARAM0~3被映射到程序空间的每一页上。基于这样的特点,可以把中断向量表定位到数据空间的重叠区域DARAM0~3中,置OVLY为1。当有中断发生时,不管程序运行于DSP的哪个程序页面空间,只用PC寻址都能够正确地取到中断向量表,而不会受XPC的影响。中断程序ISR可以放到任何一个程序页面中,但这时跳转到ISR的指令只能用长跳转指令(FB等),跳转之前注意将XPC压入堆栈,程序同表1。示意图如图3所示。

(2.2) 如果片内RAM比较大,分给数据空间的RAM也比较多(如C5416有64K的RAM可以作为数据空间),数据空间可能会有余量。这时可以把中断向量表和ISR都全部放进数据空间的Overlay Memory区域,并把OVLY置1。这样不仅在任何程序页面空间都能够正确地取到中断向量表,同时用短跳转指令(BD等)就可以实现跳转到ISR,不再需要对XPC进行保存和还原。程序请参看表2。

(3.1) 在扩展模式下,虽然程序空间扩为8M,但如果OVLY=1,则程序空间中存在大量的重叠区域,如C5416在OVLY=1的情况下真正可用的程序空间最大为4.03M。有的场合需要的程序空间大于4.03M,就必须使用OVLY=0的情况。这个时候程序空间不存在重叠区域,但可以模拟出来。方法是:把中断向量表拷贝到会发生中断的每一页程序空间,如图4所示。这样,中断的时候就能正确找到中断向量表而实现中断跳转。

比较上面的四种方法,方法(2.1)更为适应普遍的情况。它不限制ISR的地址范围,而中断向量表只占0x80的空间,把它放到数据空间的重叠区域是很容易做到的。笔者正在做的项目正是采用了这种方法。

3 DSP/BIOS下中断的管理

DSP/BIOS是TI近来推出的准实时操作系统,它同样支持扩展地址模式,只是需要将Global Settings中的函数调用模式设置为Far就可以了。需要强调的是:BIOS只支持OVLY=1的扩展模式,而不支持OVLY=0的扩展模式。扩展模式下在BIOS Code中会多出一个段“.bios:.norptb”,这个段会被自动放入Overlay Memory之中。BIOS管理的线程有四种类型:HWI、SWI、TSK以及IDL。上面所提到的所有中断属于优先级最高的HWI线程。每个中断向量都是以HWI模块的Object形式存在,可以用BIOS下的Configuration Tool来配置每个中断向量所触发的函数。在Configuration Tool中,会发现System的MEM模块下有一个名为VECT的Object,它实质上是用来给中断向量表分配存储空间的,用户可以自己配置中断向量表的地址(必须是128的倍数)。地址的分配方法可以参考上面提到的几种应对技巧。下面就BIOS下的中断做出几点说明:

·在Object的属性框中填写中断函数名时,如果中断函数是由C语言编写的,则需要在函数名前加下划线(C语言和汇编语言相互调用的需要)。汇编语言则不需要。

·在编写中断函数的时候不能再用关键字interrupt来说明中断函数,因为BIOS已经自动包括了这个功能。如果再用interrupt,则会造成致命后果。

·如果中断函数是用汇编语言编写的,中断函数应夹在BIOS的API HWI_enter和HWI_exit之间。这样,在中断处理的时候会正确保存和恢复一些需要使用的寄存器,并妥善处理线程间的关系以及中断函数中对BIOS API的调用;如果中断函数是用C语言编写的,则必须使用HWI Dispatcher属性,作用和前面是一样的。

    ·在BIOS中的SWI(软件中断)模块下,用户可以自己添加软件中断对象。但是必须从概念上分清楚,这里添加的软件中断和在前面提到的软件中断(即由INTR、TRAP、RESET触发的中断)是完全不同的概念。这里的软件中断并不属于中断向量表里的中断向量(显然中断的个数也不会存在限制),并且它可以带两个参数(前面的中断函数是不能带参数的)。所以从几个方面看这里的软件中断函数更象是通常意义上的一般函数。

在刚开始使用DSP/BIOS的时候可能会觉得比较麻烦,需要理解的东西也很多。但当你熟悉了以后会发现,它能帮你节省不少时间去处理底层的东西,而使你将更多的精力放在算法的实现上。

本文全面介绍了C54x系列DSP的中断机制,以及中断在使用过程中的一些技巧,阐述了整个中断的响应过程和一些比较容易出错的地方。希望通过共享使大家更快更好地掌握C54x的中断处理。



上一页  [1] [2] 


Tags:


文章转载请注明来源于:5VAR论文频道 http://paper.5var.com。本站内容整理自互联网,如有问题或合作请Email至:support@5var.com
或联系QQ37750965
提供人:佚名
  • 上一篇文章:DNP3.0在基于DSP的FTU中的实现

  • 下一篇文章:基于DSP的上网方案的软硬件设计与实现
  • 返回上一页】【打 印】【关闭窗口
    中查找“TMS320C54x系列DSP中的应用”更多相关内容 5VAR论文频道
    中查找“TMS320C54x系列DSP中的应用”更多相关内容 5VAR论文频道
    最新热点 最新推荐 相关新闻
  • ››嵌入式系统的通信规约管理平台设计...
  • ››一种基于七号信令的局间话单采集系...
  • ››对于变频器的制动技术分析
  • ››电子文件管理元数据宏观结构多维分...
  • ››浅论卫星电视接收机的常见故障的检...
  • ››信息时代网络用户信息检索焦虑的心...
  • ››论GIS在高校房产管理中的实际应用
  • ››关于电力通信发展战略的思考 金李莎...
  • ››2G、3G切换精细化优化分析思路探讨...
  • ››光纤自动化生产的需求与时机
  • ››TMS320C2XX开发设计中应注意的问题...
  • ››TMS320C32DSP的中断编程方法及BOOT...
  • ››TMS320VC5402外部并行引导装载方法...
  • ››TMS320C6701在电离层垂直探测系统中...
  • ››TMS320C6711的FLASH引导装载系统研...
  • ››TMS320C6201在MPEG-4视频解码器中的...
  • ››TMS320C54x和ADSP218x性能比较
  • ››TMS320F206的中断技术及其实现
  • ››TMS320C55x的指令流水线及其效率的...
  • ››TMS320C32扩展异步串口的方法
  •   文章-网友评论:(评论内容只代表网友观点,与本站立场无关!)
    关于本站 - 网站帮助 - 广告合作 - 下载声明 - 网站地图
    Copyright © 2006-2033 5Var.Com. All Rights Reserved .