DSP实验报告-基于CCSV4的F28335的学习和应用 - 图文(7)

2018-12-27 18:01

2 F28335数字输入/输出单元的学习与应用

复位信号,最简单的处理方法是禁用Watchdog,这通过对WDCR寄存器的bit6置1实现。当然,这不是一个明智的决定,因为Wachdog是一种安全措施,在实际的工程中,应当尽量包括进去。

Wachdog预分频器可以用来增大Watchdog的溢出周期。逻辑检测位(WDCHK)是另一个安全位域,所有对WDCR寄存器的写操作都必须先向该3位写入“101”,否则写操作将被拒绝,而且一个复位信号将会立即被触发。

Wacthdog状态位(WDFLAG)可以用来区分一个正常的上电复位操作(WDFLAG=0)和一个Watchdog复位操作(WDFLAG=1)。注意:软件操作时,改位写1清零。如下图所示。

在Watchdog计数器溢出之前,我们可以通过如下的指令序列对其进行清零: EALLOW;

SysCtrlRegs.WDKEY = 0x55; SysCtrlRegs.WDKEY = 0xAA; EDIS;

2.1.6 系统控制和状态寄存器(SCSR)

SCSR寄存器控制复位操作由Watchdog触发(WDENINT==0)还是由外部中断请求触发(WDENINT=1)。WDOVERRIDE位是一个仅能清零的位,一旦向此位写1关闭了该开关,将不能在将其打开。这种情况下,无法再禁用Watchdog。Bit2(WDINTS)是一个标志Wacthdog中断的只读位。下图是SCSR寄存器框图。

49

3 F28335中断系统的学习与应用

2.2 应用实验

2.2.1 实验基本功能

使用LED1——LED4进行二进制点灯计数,使用PB1和PB2控制计数的启动和停止。

当第一次按下PB1时,LED计数开始;随后按下PB2,计数暂停;再次按下PB1时,LED接着从之前停止的位置开始计数。

计数间隔由延时子程序来实现,在延时子程序的每个循环中,清零看门狗定时器,以防其计数溢出产生复位信号。

2.2.2 相关引脚分配

各个LED和PB所对应的引脚如下表。

LED1 LED2 LED3 LED4 PB1 PB2

GPIO9 GPIO11 GPIO34 GPIO49 GPIO17 GPIO48

2.2.3 关键程序说明

延时子程序delay_loop()

对延时子程序关键语句注释说明如下:

2 F28335数字输入/输出单元的学习与应用

void delay_loop(long end) { long i; static unsigned int run = 0; // 控制标志 for (i = 0; i < end; i++) { do { EALLOW; SysCtrlRegs.WDKEY = 0x55; SysCtrlRegs.WDKEY = 0xAA; // 喂狗操作 EDIS; if(FUN1 == 0 && FUN2 == 1) run = 1; // 当按下PB1时,开始执行控代码 } while(!run); // run=0一直在do-while中循环;run=1做for循环 if(FUN2 == 0) run = 0; }

2.2.4 源程序

完整源程序见正文后附录1。

2.2.5 实验结果

运行程序后,按下PB1,LED开始二进制计数,当按下PB2时,计数停止;再次按下PB1,计数继续进行。与设计目标相一致。

以下是实验现场的两幅照片,相关视频已放入所提交的文件夹中。

49

3 F28335中断系统的学习与应用

3 F28335中断系统的学习与应用

首先,中断由如下基本定义:

(1) 中断的发生时“突然的”:用术语来说,中断是“异步”的; (2) 中断具有优先级,即各个中断重要性不同; (3) 中断必须立即被处理;

(4) 中断以后要恢复现场,即恢复到中断产生前的状态; (5) 中断延迟越小越好。 对该术语总结如下:

中断是由外部或者内部的硬件单元产生的异步事件,该事件导致控制器打断当前程序的执行,转去执行一段该事件特定的服务程序,执行完中断服务程序之后,被打断的程序恢复执行。

一个CPU执行该“任务切换”的速度越快,就越适用于实时控制。

3.1 F28335中断系统简介

3.1.1 F28335的中断线

F28335总共有16条中断线,如下图所示。其中RESET和NMI为两个不可屏蔽中断,另外14条中断线都是可屏蔽的——编程者可以允许或者禁用这14条中断线。

所有16条中断线都被连接到中断向量表,每个中断有32位内存位。

3 F28335中断系统的学习与应用

3.1.2 F28335的复位

外部“RESET”引脚的一个下跳沿会触发DSC的复位,该引脚上的下一个上升沿会强制CPU从程序存储器地址0x3F FFC0读代码的起始地址。从旧程序会被恢复的角度来讲,复位不算是一个“中断”。DSC在上电时会产生复位。

另一个复位信号源是看门狗定时器的计数溢出。如下图所示。

复位还会清零内部所有的运行寄存器、复位一组CPU状态位至初始状态和禁用所有16条中断线。

3.1.3 复位引导

在一个复位信号被释放后,CPU开始执行ROM中第一个代码段,叫作“引导装载程序(boot loader)”。这个功能下一步操作由四个GPIO引脚(GPIO87,86,85和84)的状态决定。如下两图所示。

49


DSP实验报告-基于CCSV4的F28335的学习和应用 - 图文(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2017西藏公需科目考试依法治国

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: