中断在TMS320C54x系列DSP中的应用new

中断在TMS320C54x系列DSP中的应用new

ID:41276961

大小:127.50 KB

页数:9页

时间:2019-08-21

中断在TMS320C54x系列DSP中的应用new_第1页
中断在TMS320C54x系列DSP中的应用new_第2页
中断在TMS320C54x系列DSP中的应用new_第3页
中断在TMS320C54x系列DSP中的应用new_第4页
中断在TMS320C54x系列DSP中的应用new_第5页
资源描述:

《中断在TMS320C54x系列DSP中的应用new》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、DSP技术与应用实例结业论文------中断在TMS320C54x系列DSP中的应用班级:电气08-6姓名:王少农学号:20084073619中断在TMS320C54x系列DSP中的应用中断是嵌入式芯片的灵魂,这是因为多数嵌入式系统对实时性都有很高的要求,即对出现事件的响应要极为迅速。中断与软件查询方式相比有着更高的执行效率。在TI公司的TMS320C54x系列(以下简称C54x系列)DSP中,同样也提供了很好的中断机制。而数字信号处理器(DSP)作为一种可编程专用芯片,是数字信号处理理论实用化过

2、程的重要技术工具,在语音处理、图像处理等技术领域得到了广泛的应用。但对于算法设计人员来讲,利用汇编语言或C语言进行DSP功能开发,具有周期长、效率低的缺点,不利于算法验证和产品的快速开发。1.C54x中的中断机制中断机制包括硬件的中断装置和操作系统的中断处理服务程序中断信号实质上是由硬件或者是软件驱动的信号,它能使DSP暂停正在执行的程序并进入中断服务程序(ISR)。在最典型的DSP系统中,如果A/D转换器需要送数据到DSP中,或者D/A转换器需要从DSP中取走数据,都是通过硬件中断向DSP发出请

3、求的。C54x系列DSP支持软件中断和硬件中断。软件中断是由指令(INTR、TRAP、RESET)触发的,硬件中断是由外围器件触发的。硬件中断实际上又分为两类:一类是由DSP的片外外设(如A/D转换器)触发的,另外一类是由DSP的片内外设(如定时器中断)触发的。硬件中断又有优先级的区分,这是为了处理同一时刻有多个硬件中断源触发中断的情况。硬件中断的种类和优先级请参看具体使用的芯片资料。如果按照可屏蔽情况分类,中断又可分为可屏蔽中断(C54x至多支持16个)和不可屏蔽中断。可屏蔽中断受ST1寄存器中

4、的INTM位和IMR寄存器中相应位的影响。当INTM=0时,IMR中某位为1,则开放相应的中断。其实,在C54x中硬件中断并不一定要由外围器件触发,它同样可以由指令INTR、TRAP触发,并且不受INTM的限制。有一点需要引起注意的是:指令RESET复位和硬件RS复位对IPTR和外围电路初始化是不相同的。硬件复位时IPTR总是被置为0x1FF,软件复位时则不会修改当前IPTR的值。C54x的中断处理过程分为三个阶段:  ①中断请求。可以用硬件器件或者软件指令请求中断。如果请求的中断是可屏蔽中断,则

5、IFR寄存器中相应的位被置为1,而不管中断是否会被响应。②中断响应。对于软件中断和不可屏蔽中断,CPU是立即响应的。对于可屏蔽中断,要满足下列条件才能响应:·优先级最高(同时出现多个中断时)  ·INTM位为0  ·IMR中相应位为1CPU在取到软件向量的第一个字后会产生IACK信号,对可屏蔽中断而言,IACK会清除IFR中相应位。③中断处理。保护特定的寄存器,执行中断服务程序,完成后恢复寄存器。保护寄存器的原则是执行中断服务程序后能正确返回并恢复原来运行程序的环境。DSP中提供的中断是以中断向量

6、表(VECT)的形式出现的(见表1)。中断向量表的长度为128个字节,每个中断分配为4个字节,一共有32个中断,具体的中断要看相应的芯片。C54x中断向量表的地址是由PMST寄存器中的IPTR构成高9位地址形成的,所以向量表的地址必须是128的倍数。硬件复位时,IPTR总是默认置为0x1FF,所以中断向量表地址为0xFF80。每个中断向量的地址按如下构成方法形成:PC=(IPTR)<<7+(Vector[n])<<2(Vector[n]为中断向量号,在0~31之间),中断向量号左移两位是因为每个中

7、断向量占用4个字节的缘故。中断向量表总是以汇编的形式出现的。2.扩展地址模式下的中断控制早期的DSP共有192K的空间(程序、数据和I/O空间各为64K),随着DSP处理能力越来越强,192K的空间已经不能满足需要。后来的C54x均提供了扩展地址模式,使程序空间扩展到8M。扩展模式下的中断控制有自己特殊的地方,有必要进行说明。扩展模式下程序空间的寻址是通过寄存器PC和XPC一同进行的。PC构成低16位地址位,XPC构成高7位地址位。所以保存和恢复XPC是用户必须注意的。如果用户使用的是FarCal

8、l指令,则XPC会自动保存和恢复。但在进行中断处理的时候,只有16位的PC寄存器能够自动得到保存(这是由于考虑了非扩展模式下中断的效率问题),所以XPC必须由用户自己来保存,否则在中断返回的时候往往会跳到不同的页面(由返回前后XPC值的不同引起)造成不可预测的后果。程序如表1所示。由于必须在长跳转之前保存XPC的值,没法使用延迟指令(如FBD),所以中断时延会增加两个周期。再来考虑另外一种情况:设程序运行在XPC=2的页面上,如果这个时候有中断发生并得到了CPU的响应,DSP会加载

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

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

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