购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.3 中断配置

基于定时器中断的执行调度模型不能满足某些实时应用程序对外部事件响应的要求。C28x硬件中断块通过允许异步处理由C280x/C2833x DSP芯片支持库中其他块管理的事件触发的中断来解决这个问题。

当C28x硬件中断块有一个外部中断选择时,该选择启用所选GPIO引脚上的中断。如需配置这些引脚,请参见Model Configuration Parameters→Hardware Implementation→Hardware board settings→Target hardware resources→External Interrupt pane,如图2-2所示。

一个中断由CPU中断号、PIE中断号、任务优先级和抢占标志来描述。CPU和PIE中断号一起唯一地指定了单个外设或外设模块的单个中断。

该模块的输出是一个函数调用。函数调用行的大小等于该模块设置要处理的中断数量。每个中断由模块对话框中显示的4个参数表示,这些参数是由4个长度相等的向量组成的集合。每个中断由每个参数(共4个元素)中的一个元素表示,这个元素位于每个向量中的相同位置。

配置中按竖的4列,代表4个中断。例如[1,1,30,1],可从中断向量表查询,[1,1]是ADDINT1中断;30代表中断优先级,可自定义,数值越低优先级越高;第4列是任务执行是否可被打断,1代表可打断,0代表不可被打断。

图2-2 中断配置

1)CPU interrupt numbers:为希望异步处理的中断输入一个CPU中断编号向量。

2)PIE interrupt numbers:为希望异步处理的中断输入一个PIE中断号向量。

3)Simulink task priorities:为希望异步处理的中断输入任务优先级向量。任务优先级表示与异步中断相关任务的重要性程度。如果一个中断触发了一个高优先级任务,而一个低优先级任务正在运行,那么在高优先级任务正在执行时,低优先级任务的执行将被暂停。最小的值代表最高的优先级。基本速率任务的默认优先级值为40,因此每个异步触发任务的优先级值必须小于40,这些任务才能抢占基本速率任务。

4)Preemption flags:preemptable-1,non-preemptable-0:为希望异步处理的中断输入抢占标志向量。抢占标志决定了一个给定的中断是否可以被抢占。抢占会覆盖优先级,这样一个高优先级的可抢占任务可以被一个低优先级的不可抢占任务抢占。

5)Enable simulation input:如果希望能够在Simulink软件模型的上下文中测试异步中断处理,则勾选此框。

表2-1列出了支持12×8中断的c28x处理器F2833x的PIE和CPU中断号。列标题1~12表示CPU值,行标题1~8表示PIE值。可以根据中断向量表里来配置对应的编号。

表2-1 c28x处理器F2833x的PIE和CPU中断号 +Mzw32+jSOge0/yLUDOSC7LXJEG+Ca5dtPw5pN/+HjcrzNZ5JkvspsBUmjQwPF4D

点击中间区域
呼出菜单
上一章
目录
下一章
×