DSP中断概述及中断源
- 格式:doc
- 大小:93.00 KB
- 文档页数:2
F2812的中断采用的是三级中断机制,分别为外设级,PIE级和CPU级。
外设级
PIE级
当外设产生中断事件,相关中断标志位被置位,中断使能位被置位后,外设就会把中断请求发送给PIE控制器。
PIE控制器将PIE外设和外部引脚的中断进行了分组。
8个中断一组,一共十二组,PIE1~PIE12 。
每个组的中断被多路汇集进入了一个CPU中断,如PIE1…….
和外设级相似的是,PIE控制器的每一个组都会有一个中断使能寄存器PIEIERX和中断标志寄存器PIEIFRX。
每个寄存器的低八位对应八个外设中断,高八位保留。
每个外设中断被响应后,一定要对PIEICK的相关位进行手动复位,以使得PIE控制器能够响应同组的其他中断。
语句为
CPU级
当某一外设中断通过PIE发送至CPU时,CPU中断标志寄存器IFR的相应标志位INTX 就会被置位。
//////////////////////////////////////////////////////////////////////////////////////////////////////。
TMS320C6000系列DSP中断简介――涛涛2008-10-28 一中断选择器DSP6000外部有32个中断源,CPU有12个可以使用。
中断选择器可以允许将32个中断源中的12个使用在你的系统中。
中断选择器还允许改变外部输入中断的极性,通过中断选择器可以设置中断的优先级。
下面为DSP中断源列表。
外部专用中断源:INT4-INT7和NMI中断选择器的配置:中断选择器应该在复位后中断使能前对其进行配置。
注:设置中断选择器后,要将中断标志寄存器清零。
中断选择器共有三个寄存器:1.MUXH Interrupt multiplexer high register 中断多路器高寄存器2.MUXL Interrupt multiplexer low register 中断多路器低寄存器3.EXTPOL External interrupt polarity register 外部中断极性寄存器中断多路器高寄存器各位详细定义如上,具体定义了中断10到15的映射关系。
中断多路器低寄存器各位详细定义如上,具体定义了中断4到9的映射关系。
中断极性寄存器用来设置外部中断INT4-INT7触发DSP中断的时钟沿,当相应位设置为“0”时,为上升沿触发;当设为“1”时,为下即沿触发。
二.中断的类型C6000的中断可以分为3类:1.RESET2.非屏蔽中断3.可屏蔽中断RESET是优先级最高的中断,它连接到外部的RESET/管脚,非屏蔽中断NMI为第二优先级的中断,它对应外部的NMI管脚。
INT4-INT15为较低优先级的中断(INT15为最低)。
1.RESET复位是最高优先级的中断,用来将CPU返回到固定的状态复位是一个低有效信号,所有别的中断信号是高有效。
为了使CPU正确的初始化,复位低电平必须保持10个时钟周期。
正在执行的指令停止,寄存器回到默认状态复位的ISFP必须在地址“0”2.NMI非屏蔽中断要使能NMI中断,需将IER中的NMIE位置“1”,跳转的延迟等待会阻止NMI中断的进程。
DSP原理与应用技术中的中断什么是中断中断是指当处理器执行某个任务时,受到一个信号或事件的触发而暂停当前任务,跳转到指定的中断处理程序执行,处理完成后再返回原来的任务。
在DSP(数字信号处理)领域中,中断机制起着重要的作用。
中断可以分为硬件中断和软件中断两种。
硬件中断是由外部设备或芯片发出的中断信号触发,如计时器中断、外部设备输入中断等。
而软件中断是由程序的执行过程中的特殊指令或软件的调用而产生的中断。
DSP中的中断在DSP中,中断主要用于处理实时要求较高的应用,如音频处理、实时图像处理等。
中断的出现可以有效地降低系统的响应时间,提高系统的实时性。
DSP芯片通常提供多个中断向量,每个中断向量对应一个特定的中断源。
中断向量用来指示中断处理程序的入口地址,当中断发生时,处理器会根据中断向量跳转到相应的中断处理程序。
DSP中的中断优先级在DSP中,不同的中断有不同的优先级。
当多个中断同时发生时,处理器会根据中断优先级决定响应哪个中断。
中断优先级通常通过特定的寄存器配置。
处理器会根据中断触发的先后顺序以及中断优先级来决定响应的中断。
DSP中的中断处理过程中断处理过程通常包括以下几个步骤:1.中断触发:当中断源产生中断信号时,处理器会检测中断信号,并做出响应。
2.中断优先级判断:处理器会根据中断优先级判断是否响应当前中断请求。
3.中断向量跳转:如果中断请求被接受,处理器会根据中断向量找到相应的中断处理程序的入口地址,并跳转到该地址处执行中断处理程序。
4.中断处理程序:中断处理程序是中断的实际执行部分,它会处理中断所需的任务,如保存寄存器状态、处理中断源的数据等。
5.中断结束:当中断处理程序执行完成后,处理器会返回到原来的任务继续执行,完成中断的处理过程。
DSP中的中断应用技术中断在DSP应用中有广泛的应用,如音频处理、图像处理、通信等方面。
下面列举几个常见的DSP中的中断应用技术:1.实时音频处理:中断机制可以使得DSP实时响应音频输入信号,实现实时的音频处理,如音效处理、语音识别、语音合成等。
学习一个芯片的功能时,我的建议是先学会如何用C语言点亮一个LED灯,然后就是学习一下使用他的中断,因为在做芯片的时候,各个厂家有自己的一套自己的方法。
所以使用中断的就必须了解很多概念,比如如何打开中断,如何安装自己的中断子服务程序,等等!先介绍一下什么叫中断:你在下象棋,突然电话响了,你回屋接电话,然后回来继续下象棋,这个过程就叫做中断响应过程(中断过程)。
CPU执行正常任务———————下象棋保护现场———————————-你已经想好要―将军‖,先在脑海中记下来。
中断发生———————————-电话响-中断服务程序—————————-接电话恢复现场———————————-回来后恢复刚才想法中断返回———————————-你回来继续下象棋中断屏蔽———————————-Boss 正在训话,要求所有电话关机,你不能接电话了。
非屏蔽中断——————————-你内急,即使是Boss 在训话,你还是得到外面去嘘嘘。
可屏蔽中断——————————-你在―闭关修炼‖,可以不受外界干扰所以我们在使用中断之前先得告诉CPU,我们要使用那个中断,当中断发生的时候,你的执行程序的去向(也就是中断服务子程序),最后在返回我们被中断的函数。
这样就完成了我们的中断历程!看看6713执行中断的流程:一、使能了全局中断和子中断,那么CPU每执行一条指令之前就去查询一下有没有中断被置位,如果有产生的,那么CPU就要跳转!二、软件把CPU内部的寄存器A0~A15,B0~B15,等等这些寄存器的值推入堆栈保存,把当前PC寄存器的值放入IRP寄存器中以备中断返回能找到当前被打断的位置(保存现场,中断函数前面得加interrupt关键字)三、CPU的PC指针读出中断向量表的地址,也就是把(ISTP寄存器的值+子中断向量偏移量)装入PC寄存器,这样就执行跳转。
四、在中断向量表里一般有就用跳转指令,这样就可以跳转到我们用C语言编写的中断服务子程序中。
DSP中断概述及中断源
C28x DSP内核总计有16个中断线,其中包括2个不可屏蔽中断(RESET和NMI)与14个可屏蔽中断。
可屏蔽中断通过相应的中断使能寄存器使能或禁止产生的中断,如图1所示。
图1 281x处理器中断源及其连接关系
在F281O和F2812处理器中,定时器1和定时器2预留给实时操作系统使用,其中断分配给INT14和INT13。
两个不可屏蔽中断RESET和NMI各自占用独立的专用中断,同时NMI中断也可以选择同定时器1复用INT13。
其余12个可屏蔽中断直接连接在外设中断扩展模块,供外部中断和处理器内部的外设单元使用。
图2给出了F281O和F2812处理器的中断源和复用情况。
所有16个中断线都连接到“中断向量表”上,每个中断对应一个JL位的中断人口地址,应用程序利用这些入口地址可以跳转到相应的中断服务程序。
图2 F2810和F2812的中断源和复用情况
欢迎转载,信息来源维库电子市场网()。
DSP中断设置简明教程(精)[DSP+ARM] [转载]DSP中断设置简明教程定时器, 工作, 寄存器, 通用, 程序一、简述本文介绍TMS320C6000系列中断设置的简明方法。
通过示例定时器中断,MCBSP串口接收中断及外部中断这三种中断实现过程,介绍如何实现中断各个寄存器的配置,中断向量表书写以及中断服务函数。
最后提供一个简要的示例程序可供大家下载使用。
此示例在DSK6416的TI官方实验板上通过测试。
由于定时器和串口工作模式较繁,因此对中断无关部分不做介绍。
二、实现DSP中断需要做哪些通用工作设置允许哪些非屏蔽中断设置各个允许的非屏蔽中断的中断来源设置开启总中断设计中断向量表将中断向量表通过cmd文件挂载到指令内存提供中断处理函数如果中断向量表首地址挂载的不是0地址,那么需要设置中断向量表地址寄存器对于不同的中断源,需要做各个自己的工作,比如如果是外部中断,那么需要设置管脚极性,即由高->低产生中断抑或反之。
为了照顾知识较少的读者,下面将从一个新工程出发,引导大家建立一个中断示例程序。
如果您对建立工程很熟悉,可以跳过此步。
三、建立新工程1.点击Project->New,设置Project Name为intexample,Project Type为Executable,Target选择您需要的器件,在此由于本人使用的是DSK6416评估板。
因此选择TMS320C64XX。
2.添加标准库rts6400.lib,以便自动产生c_int00等函数。
右击当前工程,选择“Add Files to Project”,选择库所在路径,一般为CCS 安装自带,可参考本CCS3.1版本的路径地址:CCStudio_v3.1C6000cgtoolslibrts6400.lib如果您使用的是其他器件类型,请在lib文件夹内选择其他器件库。
添加源文件,选择File->New->Source File,保存为main.c到工程路径下。
第5课F2812中断系统的理解作者:顾卫钢接触过单片机的朋友应该都知道中断这个词汇,我想在任何一款事件驱动型的CPU里面都应该会有中断,因为中断就是为响应某种事件而存在的。
写过程序的朋友也应该知道,中断对于我们软件编程的意义,中断的灵活使用不仅可以实现我们想要实现的功能,而且合理的中断安排可以提高事件执行的效率,因此中断在DSP应用中的地位是很重要的。
今天,我们就和大家一起来探讨F2812中的中断系统及其如何正确编写外设的中断程序,以保证中断正确执行。
1.什么是中断?中断(Interrupt)是硬件和软件驱动事件,它使得CPU暂停当前的主程序,并转而去执行一个中断服务程序。
我们以办公时接电话为例来阐述一下中断的概念,通过这个例子大家也可以体会一下CPU执行中断时候的一些流程的原理。
当然,CPU执行中断的时候肯定要比上面的例子复杂的多,但是通过这个简单的生活实例,我想大家应该能比较感性的理解什么是中断,以及中断产生时CPU是如何去执行的一些步骤。
2.2812的中断系统如下面的图1所示,2812的CPU能够支持一个不可屏蔽中断NMI和16个可屏蔽的中断INT1-INT14、RTOSINT和DLOGINT,今天我们主要讨论的是可屏蔽中断中的INT1-INT12,这也是我们平时使用时经常要用到的中断。
2812内部具有很多外设,每个外设又可以产生一个或者多个中断请求,对于2812的CPU而言,它没有足够的能力去同时处理所有外设的中断请求。
这就好比一个公司,每天会有很多员工向老总提交文件,请求老总处理,老总一般事务繁忙,他一个人没有能力同时去处理所有的事情,那怎么办呢?一般老总都会配有秘书,由秘书们将内部员工或者公司外部人员提交的事情进行分类筛选,然后再提交到老总那处理,这样效率就提高上来了,老总也能忙的过来了。
同样的,2812的CPU为了能够及时有效的处理好各个外设的中断请求,特别设计了一个专门处理外设中断的扩展模块(the Peripheral Interrupt Expansion block),叫做外设中断控制器PIE,它能够对各种中断请求源(例如来自于外设或者其他外部引脚的请求)做出判断以及相应的决策。
DSP中断概述及中断源
C28x DSP内核总计有16个中断线,其中包括2个不可屏蔽中断(RESET和NMI)与14个可屏蔽中断。
可屏蔽中断通过相应的中断使能寄存器使能或禁止产生的中断,如图1所示。
图1 281x处理器中断源及其连接关系
在F281O和F2812处理器中,定时器1和定时器2预留给实时操作系统使用,其中断分配给INT14和INT13。
两个不可屏蔽中断RESET和NMI各自占用独立的专用中断,同时NMI中断也可以选择同定时器1复用INT13。
其余12个可屏蔽中断直接连接在外设中断扩展模块,供外部中断和处理器内部的外设单元使用。
图2给出了F281O和F2812处理器的中断源和复用情况。
所有16个中断线都连接到“中断向量表”上,每个中断对应一个JL位的中断人口地址,应用程序利用这些入口地址可以跳转到相应的中断服务程序。
图2 F2810和F2812的中断源和复用情况
欢迎转载,信息来源维库电子市场网()。