simulink代码生成(六)——多级中断的配置

假如系统中存在多个中断,需要合理的配置中断的优先级与中断向量表;在代码生成中,要与中断向量表对应;中断相关的知识参照博客:

DSP28335学习------中断向量表的初始化_中断向量表什么时候初始化-CSDN博客

F28335中断系统及其应用------------DSP TMS320F28335 学习笔记 (二)_dsp f28335 中断跳出循环后如何回到循环-CSDN博客

1、dsp28335三级中断机制

由于外设中断源有58个,而中断线只有12根,这就需要F28335的外设中断扩展模块PIE来进行分配。DSP的外设中断扩展模块结构图如下图所示,F28335的中断采用的3级中断机制,第一级是CPU中断、第二级为PIE级中断、第三级为外设级中断。至于为什么这么设计:由于DSP内部集成了多种外设,每个外设都会产生一个或者多个外设级中断,但是由于CPU中断线有限无法处理所有的外设级中断,因此只能让出12根中断线交给PIE模块进行管理,将所有的外设中断分为了12组,并通过寄存器进行管理。而要实现一次中断响应,通过对下图分析可知,外设级中断要得到CPU的响应需要同时满足两个条件。:1、得到PIE模块的允许 (由PIE模块的:PIEIER和PIEIFR寄存器控制分配,由PIEACK控制使能),2、得到CPU的允许 (由CPU中断的:IFR和IER寄存器控制分批额,由INTM控制使能)

2、中断向量表

前4:

后4:

3 、Simulink中的配置

模块截图

模块设置;

例如常用的ADC中断的配置;ADC中断的PIE级中断号是1,ADC中断的CPU级中断号也是1;因此都设置为1;

4、Simulink中多级中断的配置

当需要配置多个中断的时候;就需要设置中断向量表,假如我们需要串口接收中断+ADC中断,优先级 ADC > 串口接收中断,配置则如下图所示;

配置如下所示:目前优先级就按照中断向量表来的,CPU的中断优先级是由高到低是INT1~INT12,PIE的中断优先级由高到低是INTx.1~INTx.8

相关推荐
曹勖之1 天前
在MATLAB中使用自定义的ROS2消息
开发语言·matlab·机器人·ros·simulink·ros2
mirandali5 天前
simulink mask、sfunction和tlc的联动、接口
matlab·simulink·tlc
烦恼归林9 天前
多相电机驱动控制学习(1)——基于双dq坐标系的六相/双三相PMSM驱动控制
电力电子·电机控制·永磁同步电机·simulink模型·多相电机驱动
烦恼归林10 天前
电机控制杂谈(26)——电机驱动系统的编码器的测速噪声
电机·电力电子·simulink·电机控制·永磁同步电机
青山如墨雨如画15 天前
【北邮通信系统建模与仿真simulink笔记】(2)2.3搭建仿真模型&&模块操作&&运行仿真
matlab·信息与通信·simulink
烦恼归林18 天前
永磁同步电机高性能控制算法(22)——基于神经网络的转矩脉动抑制算法&为什么低速时的转速波动大?
人工智能·神经网络·电机·电力电子·电机控制·simulink仿真
小森77671 个月前
(九)PMSM驱动控制学习---分流电阻采样及重构
stm32·嵌入式·电机控制·foc·永磁同步电机·pmsm·电流采样
可编程芯片开发1 个月前
基于FPGA的PID控制器verilog实现,包含simulink对比模型
fpga开发·verilog·simulink·pid控制器
Matlab程序猿小助手1 个月前
【MATLAB源码-第277期】基于matlab的AF中继系统仿真,AF和直传误码率对比、不同中继位置误码率对比、信道容量、中继功率分配以及终端概率。
开发语言·网络·算法·matlab·kmeans·simulink
关岭风尘1 个月前
Matlab/Simulink - BLDC直流无刷电机仿真基础教程(六) - 波形解析专题P1
开发语言·matlab·电机控制·simulink仿真·bldc仿真·电机续流·pid调节