实验 6 DSP 的定时器、外中断
一.实验目的
1.通过实验熟悉 F28335A 的定时器;
2.掌握 F28335A 定时器的控制方法;
3.掌握 F28335A 的中断结构和对中断的处理流程;
4.学会 C 语言中断程序设计,以及运用中断程序控制程序流程。
二.实验设备
电脑一台、实验箱一套。
三.实验原理
1.通用定时器介绍及其控制方法
TMS320F28335A 内部有三个 32 位通用定时器(TIMER0/1/2),定时器 1 和 2
被保留给实时操作系统(DSPBIOS)用,只有定时器 0 可以提供给用户使用。
2.中断响应过程
a.接受中断请求。必须由软件中断(从程序代码)或硬件中断(从一个引
脚或一个基于芯片的设备)提出请求去暂停当前主程序的执行。
b.响应中断。必须能够响应中断请求。如果中断是可屏蔽的,则必须满足
一定的条件,按照一定的顺序去执行。而对于非可屏蔽中断和软件中断,会立即
作出响应。
c.准备执行中断服务程序并保存寄存器的值。
d.执行中断服务子程序。调用相应得中断服务程序 ISR,进入预先规定的
向量地址,并且执行已写好的 ISR。
3.中断类别
可屏蔽中断:这些中断可以用软件加以屏蔽或解除屏蔽。
不可屏蔽中断:这些中断不能够被屏蔽,将立即响应该类中断并转入相应的
子程序去执行。所有软件调用的中断都属于该类中断。
4.中断的优先级
如果多个中断被同时激发,将按照他们的中断优先级来提供服务。中断优先
级是芯片内部已定义好的,不可修改。
5.实验程序流程图
6.实验程序分析
本实验设计的程序是在上实验 3.1 基础上修改得来,由于实验 3.1 控制指示
灯闪烁的延时控制是用循环计算方法得到的,延时不精确也不均匀,采用中断方
式可以实现指示灯的定时闪烁,时间更加准确。
四.实验步骤
1.实验准备
准备进行硬件仿真:
⑴按照第三部分第一章二 ICETEK-DSP 教学实验箱的硬件连连接实验箱。
⑵ 检 查 ICETEK-xds100v2+ 仿 真 器 的 黑 色 JTAG 插 头 是 否 正 确 连 接 到
ICETEK-F28335-A 板的 J1 插头上。
⑶检查其他连线是否符合实验要求。
⑷打开实验箱上电源开关(位于实验箱底板左上角),注意开关边上红色指示
灯点亮。ICETEK-F28335-A 板上指示灯 D1 点亮。如果打开了 ICETEK-CTR 的电源
开关,ICETEK-CTR 板上指示灯 L1、L2 和 L3 点亮。如果打开了信号源电源开关,
相应开关边的指示灯点亮。
⑸用实验箱附带的 miniUSB 信号线连接 ICETEK-XDS100v2+仿真器和 PC 机后
面的 USB 插座,注意 ICETEK-XDS100v2+仿真器上指示灯 Power 和 Run 灯点亮。
⑹打开设备管理器,确保仿真器被正确驱动起来
2.启动 CodeComposerStudio53.导入工程文件
工程文件目录为:C:\ICETEK\F28335A-V5.0\Lab303-Timer
在项目浏览器中,双击 timer.c,激活 timer.c 文件,浏览该文件的内容,
理解各语句作用。
3.点击按钮,CCS 会自动编译、连接和下载程序
4.点击菜单 Run->Resume,运行程序,或者直接点击按钮,观察结果。
5.改变“CpuTimer0Regs.PRD.all =0xffff;”函数里的值;重复步骤 5,6
观察实验现象。
6.退出 CCS
五.实验结果
指示灯 D2 在定时器的定时中断中按照设计定时闪烁,并且 D5-D2 完成了四
位二进制的闪烁累加,D5 是最高位,D2 是最低位。使用定时器和中断服务程序
可以完成许多需要定时完成的任务,比如 DSP 定时启动 A/D 转换,日常生活中的
计时器计数、空调的定时启动和关闭等。
在调试程序时,有时需要指示程序工作的状态,可以利用指示灯的闪烁来达
到,指示灯灵活的闪烁方式可表达多种状态信息。