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

电子说

1.3w人已加入

描述

实验目的


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

 

实验原理


定时器

      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档位启动系统,系统复位后程序会再次运行,将会持续打印提示信息。

 

看门狗


  审核编辑:汤梓红
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分