嵌入式教程_DSP教学实验箱:2-15 看门狗功能实验

嵌入式教程:2-15 看门狗功能实验

实验目的

本节视频的目的是熟悉定时器的基本结构,学习看门狗定时器的功能和控制方法,并实现基于定时器中断方式控制程序。

实验原理

定时器

TMS320C6748有4个定时器/计数器,均可配置为64位计数器、两个独立32位计数器及自动重装32位计数器,可以产生周期中断DMA事件及外部事件。定时器/计数器还可以用于捕获外部输入信号边缘并计数。此外,定时器1还可以用作64位看门狗计数器。本实验使用的是定时器1。

定时器的功能

(1)定时

       时钟源一般来源于DSP内部,当然也可以选择来自于外部。

(2)计数

      可以利用它的功能来计算外部脉冲在一段时间内到来的次数,所以叫做计数器(记录外部脉冲的次数)。因为内部有一个计数的count,如果用作定时就是先输入一个数字,然后在来了一个时钟之后count自动减一。如果用成计数就是在一个脉冲到来之后count自动加一。

(3)看门狗

       一些定时器设计有信号连接到内部器件的复位,因此可用于看门狗定时器模式。

定时器的特性

(1)64 位自增计数器

(2)定时器模式:

64 位通用定时器模式(低32位定时器叫Timer12,高32位定时器叫Timer34)

双 32 位非链式通用定时器模式模式

双 32 位链式定时器模式

看门狗定时器模式

(3)2种时钟源:

内部时钟

外部时钟/事件输入定时器的相连引脚

(4)3种工作模式:

一次工作 (定时器运行一个周期然后停止)

持续工作 (定时器在每个周期结束自动清零并继续工作)

持续工作周期性重载(定时器在每个周期自动获取重载寄存器的值并继续工作)

(5)产生 CPU 中断

(6)产生输出事件让设备复位(仅看门狗模式)

(7)产生 DMA 同步事件

(8)产生输出事件到定时器输出引脚(如果引脚可用)

(9)外部事件捕获相连的定时器引脚(如果引脚可用)

看门狗

       看门狗,又叫watchdog timer,是一个定时器电路,由于芯片的工作常常会受到来自外界电磁场的干扰,造成各种寄存器和内存的数据混乱,会导致程序指针错误、不在程序区、取出错误的程序指令等,都会陷入死循环,程序的正常运行被打断,由DSP控制的系统无法继续正常工作,会造成整个系统的陷入停滞状态,发生不可预料的后果。

看门狗就是定期的查看芯片内部的情况,一旦发生错误就向芯片发出重启信号的电路。看门狗命令在程序的中断中拥有最高的优先级。

工作原理:在系统运行以后也就启动了看门狗的计数器,看门狗就开始自动计数,如果到了一定的时间还不去清看门狗,那么看门狗计数器就会溢出从而引起看门狗中断,造成系统复位,所以在使用看门狗时要注意清看门狗。

定时器的时钟源

       时钟信号可分为内部时钟和外部时钟输入,定时器0和定时器1的时钟为PLL0_AUXCK(旁路时钟,24MHz),定时器2和定时器3默认状态下使用的时钟为PLL0_SYSCLK2(为系统频率的二分之一,228MHz),可通过定时器配置将其时钟设置为PLL1_SYSCLK2(可以避免因CPU主频变化对设备产生的不利影响)。

定时器时钟源由定时器控制寄存器 (TCR) 时钟源 (CLKSRC12) 位选择。复位后,时钟源为内部时钟。两个时钟源都可以驱动定时器时钟:
• 设置 CLKSRC12 = 0 为内部时钟。
• 设置 CLKSRC12 = 1 为输入引脚 TM64P_IN12 外部时钟。

实验使用的是定时器1,定时器1时钟来源于PLL旁路时钟, 即晶体振荡器时钟24MHz。所以看门狗时间间隔:T=计数周期*(1/24MHz) =0x07270E00/24000000s=5s,0x07270E00 是程序中设定的计数周期。在main.c的宏定义中设定。

 程序流程设计中首先要初始化串口终端,接着进行定时器初始化,然后在串口终端输出打印息,在主循环中等待等待输入字符,并复位看门狗定时器。

定时器配置源码

配置定时器的函数源码和函数使用说明可以查看timer.c。其中,第一个参数是定时器模块寄存器的基地址,第二个参数是用于配置定时器模块。

周期配置源码

配置定时器周期的函数源码和函数使用说明可以查看timer.c。其中,第一个参数是定时器模块寄存器的基地址,第二个参数是要设置周期的定时器,第三个参数是设置的周期大小。

看门狗定时器使能源码

配置使能看门狗定时器的函数源码和函数使用说明可以查看timer.c,参数是定时器模块寄存器的基地址。

定时器使能源码

配置复位看门狗定时器的函数源码和函数使用说明可以查看timer.c,参数是定时器模块寄存器的基地址。

操作现象

实验设备

本实验使用的硬件接口为UART2 RS232接口,所需硬件为实验板、仿真器、RS232 交叉串口母母线、USB转RS232串口线和电源。

硬件连接

(1)使用 RS232 交叉串口母母线和 USB 转 RS232 串口线连接实验板的UART2串口和电脑的 USB口。

(2)连接仿真器和电脑的USB接口,

(3)将拨码开关拨到DEBUG模式01111,连接实验箱电源,拨动电源开关上电。

软件操作

设置串口调试工具:

(1)先在设备管理器查看串口的端口号;

(2)再设置串口调试工具,波特率设置为115200。

CCS操作:

导入工程,选择Demo文件夹下的对应工程

编译工程

将CCS连接实验箱并加载程序

点击运行程序,串口调试终端会打印提示信息,若在 5s 内无任何信息输入将复位系统。

由于在仿真加载模式下,复位后程序不会自动运行,故只会打印一次信息。若将程序烧写到NANDFLASH后,并在NANDFLASH档位启动系统,系统复位后程序会再次运行,将会持续打印提示信息。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值