硬件部分
当系统时钟(SYSCLKOUT)来一个脉冲,PSCH:PSC预定标计数器减1,当PSCH:PSC预定标计数器减到0的时候,预定标计数器产生下溢后向定时器的32位计数器TIMH:TIM借位,即TIMH:TIM计数器减1,同时PSCH:PSC可以重载定时器分频寄存器(TDDRH:TDDR)的值;当计数寄存器TIMH:TIM减到0产生下溢的时候,计数寄存器会重载周期寄存器(PRDH:PRD)的值,同时定时器会产生一个中断信号给CPU。定时器的中断结构如图7.1所示。
图7.1 定时器中断结构
定时器有中断属于PIE中断,中断信号经过PIE后,在进入处理器,定时器0的中断属于PIE第一组中断中的第7个小中断。
模型搭建
“代码生成中断实验模型”,如下图:
图7. 2 中断实验模型
用MATLAB/Simulink R2018b或者更高版本MATLAB/Simulink新建仿真模型。
图7.2中,“1”是中断模块,双击该模块打开参数对话框,根据图7.3中断向量表,CPU中断序列选择3,PIE中断序列选择1,优先级选择30,抢占标志位0;
图7. 3中断表
图7.4中断参数配置
“2”是子系统,框选区域后,光标放在边上三点处,选择创建子系统;
图7. 5创建子系统
“3”是ePWM1模块,在该模块中可以进行PWM1A的配置,双击该模块,打开参数对话框,“General”和 “ePWMA”配置如图7.6所示。
图7. 6 ePWM参数对话框 General与ePWM配置
ePWM1模块的中断设置,勾选使能ePWM中断,中断事件数选择第二个事件。
图7. 7 ePWM参数对话框 Event Trigger选项卡
“4”是GPIO输出模块,通过 “GPIO Group”下拉框选择引脚所在组别,勾选要使用的引脚,按照图7.8所示进行设置,勾选GPIO6、GPIO7。
图7.8 Digital Output参数对话框
此外,模型中的计数器模块、比较器模块的配置如图7.9。
图7.9 计数器与比较器模块设置
下载运行
第一步:DSP板上电
“Build,Deploy&Start”,模型编译下载按钮,点击该按钮,模型会自动编译,在matlab路径下生成目标代码,同时将程序下载至DSP核心板并自动运行;
图7.10 中断实验模型
观察实验结果
实现现象:每隔100ms进入一次中断,LED灯闪烁一次,并清除中断标识位。
以上内容讲解了代码生成中断实验模型搭建的思路。大家点点收藏的同时,麻烦点点赞同哦,谢谢!