DSP课件-看门狗

合集下载

DSP第三章.ppt

DSP第三章.ppt
RPT后面的一条指令重复执行多次。
二、程序地址的产生
程序地址产生的情况
▲ 顺序操作:程序的地址来源于PC程序计数器(程序地址+1) ▲ 空(哑)周期:程序的地址来源于PAR (程序地址+1) ▲ 从子程序返回:程序的地址来源于栈顶(TOS) ▲ 从表传送或块传送返回:程序的地址来源于转移或调用指
PSC
TDDR
R-0
D15
PSCH
D8 D7
R/W-0
D0
TDDRH
R-0
R/W-0
一、时钟及系统控制
看门狗及其应用
F2812的看门狗与240x的基本相同,当8位的看门狗计数 器计数到最大值时,看门狗模块产生一个输出脉冲(512个振荡 器时钟宽度)。如果不希望产生脉冲信号,用户需要屏蔽计数 器,或用软件周期向看门狗复位控制寄存器写“0x55+0xAA", 该寄存器能够使看门狗计数器清零。
SUBC(条件减)
希望同学们坚信:
数据存储区中建立一个堆栈。
二、程序地址的产生
堆 栈 例 子
二、程序地址的产生
堆栈例子
二、程序地址的产生

堆 ▲ 一级深、16位宽,操作不可见,即无指令,只有程序

地址产生逻辑才能够使用微堆栈。
▲ 程序地址产生逻辑在执行BLDD、BLPD、MAC、MACD、 TBLR 和TBLW 这些串(块)操作指令时利用微堆栈保 存返回地址。
WDCHK
R/W-0
R/W-0
D0
WDCNTR
R/W-0
D0
WDKEY
R/W-0
D8
D3 D2
D0
R/W-0WDPS
二、程序地址的产生

dsp看门狗定时器

dsp看门狗定时器

看门狗定时器看门狗在外围监控DSP中软件的运行以及硬件的操作,当CPU出现故障时,看门狗将执行系统复位。

如果软件进入了一个不正确的循环或者CPU出现暂时的混乱,看门狗定时器将出现溢出来使系统复位。

在大多数情况下,DSP短暂的混乱以及CPU不正确的操作都可以被看门狗所清除并重新进行设置。

由于看门狗稳定的性能,其增加了CPU的可靠性,以确保系统的完整。

在看门狗中这个外围设备中,所有的寄存器都是8位的,连接到16位CPU的低8位外围数据总线上。

240XA看门狗定时器和C240看门狗定时器唯一的区别就是其缺乏实时的中断能力。

(这句话我也不明白哦)。

看门狗定时器将通过对从CPU出来的CLKOUT进行分频而得到自己所需的时钟。

1.1看门狗定时器的特征看门狗模块包含如下特征:n8位的看门狗计数器通过计数溢出从而使系统复位n6位的独立运行计数器通过对看门狗计数器预定标来feed看门狗计数器(上句为字面意思,我的理解是:该6位的独立运行的计数器通过对WD CLK(看门狗工作时钟)进行分频从而使看门狗计数器得到不同频率的时钟。

独立运行的意思是该计数器不受其他器件的影响,只要启动系统,就开始工作)n看门狗复位键寄存器,当向该寄存器写下合适的组合值(在该DSP中,通过向该寄存器相继写55h和AAh值)时,该寄存器将使看门狗计数器清零,当向该寄存器写下不合适的组合值(除55h和AAh以外的值)时,该寄存器将使系统复位n看门狗核对位,当看门狗定时器出现错误情况时,通过看门狗核对位来复位系统n当系统复位时,将自动启动看门狗定时器n可对独立运行计数器输出的6路分频信号进行选择以下为看门狗定时器的功能框图+含义:向WDCR.5-3位(看门狗核对位)写除101以外的任何数将导致系统复位。

含义:分频后的值与WDCLK有关。

1.1看门狗定时器的操作1.1.1概述看门狗的操作由三个寄存器进行控制n看门狗计数寄存器(WDCNTR)——这个寄存器包含了看门狗计数器的值n看门狗键位寄存器(WDKEY)——当向该寄存器先写55h,然后写AAh时,该寄存器将WDCNTR清零n看门狗控制寄存器(WDCR)——该寄存器包含了用于看门狗配置的如下控制位²看门狗禁止位²看门狗标志位²看门狗核对位(3位)²看门狗分频选择位(3位)1.1.2看门狗定时器时钟看门狗定时器时钟(WDCLK)是一种低频率的时钟。

第6章 TMS320F2812的时钟及看门狗汇总

第6章 TMS320F2812的时钟及看门狗汇总

2018年10月21日
2018年10月21日
2018年10月21日
3.3 锁相环控制寄存器(PLLCR)
2018年10月21日
6.2 看门狗
看门狗的基本结构 看门狗基本操作 看门狗寄存器 看门狗应用
2018年10月21日
4.1 看门狗的基本结构
看门狗定时器是一个独立于CPU的计数单元, 若不采用特定的指令周期地使看门狗定时器 复位,看门狗单元将会使系统复位; 为避免不必要的复位,要求用户软件周期地 对看门狗定时器进行复位操作; 看门狗可以检测软件和硬件地运行状态,提 高了系统的可靠性;
2018年10月21日
volatile
使寄存器的值被外部代码任意改变; 如:外设的寄存器的值可以被外部硬件或中断 任意改变,若不用volatile,则寄存器的值只 能被程序代码所改变。
返回
2018年10月21日
EALLOW & EDIS
TI的DSP为了提高安全性能,将很多关键寄存器作了保
2018年10月21日
3 时钟单元寄存器
外设时钟控制寄存器(PCLKCR) 高/低速外设时钟寄存器 (HISPCP/LOSPCP) 锁相环控制寄存器(PLLCR)
2018年10月21日
时钟、锁相环、看门狗以及低功耗模式寄存器
2018年10月21日
3.1 外设时钟控制寄存器(PCLKCR)
第六章 TMS320F2812 的时钟及看门狗
2018年10月21日
主要内容
时钟单元
时钟单元基本结构 锁相环电路 时钟单元寄存器
看门狗 看门狗的基本结构 看门狗基本操作 看门狗应用
2018年10月21日

时钟与看门狗介绍PPT课件

时钟与看门狗介绍PPT课件
锁相环由鉴相器、环路滤波器和压控振荡器组成。鉴相器用来鉴别输入信号Ui与输出 信号Uo之间的相位差,并输出误差电压Ud。Ud 中的噪声和干扰成分被低通性质的环路滤 波器滤除,形成压控振荡器(VCO)的控制电压Uc。Uc作用于压控振荡器的结果是把它的 输出振荡频率fo拉向环路输入信号频率fi ,当二者相等时,环路被锁定 ,称为入锁。维 持锁定的直流控制电压由鉴相器提供,因此鉴相器的两个输入信号间留有一定的相位差。
通过下图中可以看到,C28X内核时钟输出,通过LOSPCP低速时钟寄存器设置预分 频,成低速时钟信号LSPCLK,SPI,I2C,MCBSP这些串口通信都是使用的低速时钟信号。 通过HISPCP高速时钟寄存器设置预分频,成高速时钟信号HSPCLK,AD模块采用的是高 速时钟信号,方便灵活设置AD采样率。通过1/2分频给了eCAN模块。直接输出给了系统 控制寄存器模块、DMA模块、EPWM模块、ECAP模块、EQEP模块这些高速外设模块。 当然这些外设基本都有自己的预定标时钟设置寄存器,如果预定标寄存器值为0的话,那 么LSPCLK等时钟信号就成为了外设实际使用时钟信号。当然要使用这些信号需要在外设 时钟寄存器PCLKCR中设置该对应外设使能。
锁相环模块除了为C28X内核提供时钟外,还通过系统时钟输出提供快速和慢速2种 外设时钟。如果使能内部PLL电路,那么可以通过控制寄存器PLLCR软件设置系统的工作 频率。但是要注意,在通过软件改变工作频率时,必须等待系统时钟稳定后才可以继续完 成其他操作。除此之外,每种外设的时钟源都可以通过软件进行使能或者禁止。在具体应 用中,为了降低系统功耗,不使用的外设最好将其外设时钟禁止。外设时钟包括快速外设 和慢速外设两种。分别通过HISPCP和LOSPCP寄存器进行设置。
第8页/共11页

dsp看门狗定时器的作用解析

dsp看门狗定时器的作用解析

dsp 看门狗定时器的作用解析
一、DSP 看门狗定时器介绍
看门狗在外围监控DSP 中软件的运行以及硬件的操作,当CPU 出现故障时,看门狗将执行系统复位。

如果软件进入了一个不正确的循环或者CPU 出现暂时的混乱,看门狗定时器将出现溢出来使系统复位。

在大多数情况下,DSP 短暂的混乱以及CPU 不正确的操作都可以被看门狗所清除并重新进行设置。

由于看门狗稳定的性能,其增加了CPU 的可靠性,以确保系统的完整。

在看门狗中这个外围设备中,所有的寄存器都是8 位的,连接到16 位CPU 的低8 位外围数据总线上。

240XA 看门狗定时器和C240 看门狗定时器唯一的区别就是其缺乏实时的中断能力。

看门狗定时器将通过对从CPU 出来的CLKOUT 进行分频而得到自己所需的时钟
二、看门狗定时器工作原理
使用时,WDT 将递增,直到溢出,或称超时。

除非处于休眠或空闲模式,WDT 超时会强制器件复位。

为避免WDT 超时复位,用户必须定期用。

第7章 看门狗的应用

第7章  看门狗的应用




KickDog(); EALLOW; SysCtrlRegs.WDCR=0x0028; //使能看门狗,WDCLK=OSCCLK/512/1 EDIS; For(;;) { //用户代码 … } } void KickDog(void) //喂狗程序,清零看门狗计数器 { EALLOW; SysCtrlRegs.WDKEY = 0x0055; SysCtrlRegs.WDKEY = 0x00AA; EDIS; }
看门狗用于强制复位器件




//包含头文件-----------------------------------------------------#include “DSP281x_Device.h" #include “DSP281x_Examples.h” //声明全局变量-----------------------------------------------------Uint32 WakeCount; Uint32 LoopCount; //主程序-----------------------------------------------------void main(void) { InitSysCtrl(); //初始化系统控制寄存器、PLL、看门狗和时钟 DINT; //关闭全局中断响应 InitPieCtrl(); //初始化外设控制寄存器 IER = 0x0000; //关闭中断开关 IFR = 0x0000; //清除中断标志位 InitPieVectTable(); //初始化外设向量表 WakeCount = 0; // 看门狗中断次数清零 LoopCount = 0; // 空循环计数 EALLOW; // 打开保护 SysCtrlRegs.SCSR.all = 0x00; //选择看门狗的复位功能 EDIS; // 操作保护

DSP课件第九章TMS320LF240x片内外设

DSP课件第九章TMS320LF240x片内外设
(1)WD计数寄存器(WDCNTR)——地址7023h
8位WD计数寄存器存放WD计数器的当前值D7~D0。WDCNTR 是一个只读寄存器,复位后为0,写寄存器无效。由预定标器的输出 提供计数时钟。
(2)WD复位关键字寄存器(WDKEY)——地址7025h
当55h及紧接其后的AAh(复位关键字)写入WDKEY时,将清除 WDCNTR。 其 他 任 何 值 的 结 合 写 入 或 写 入 任 何 值 都 不 能 清 除 WDCNTR。
WDCLK=(CLKOUT)/512 当CLKOUT=40MHz时,WDCLK=78125Hz是一个典型值。 除 HALT 低 功 耗 模 式 外 , 无 论 片 内 任 一 寄 存 器 的 状 态 如 何 。 WDCLK都将使能WD定时器功能。
WD模块的结构框图
WD模块有3个控制寄存器对其进行控制和管理:
LF240x有41个数字I/O口,其中绝大多数具有另一功能,“另一功能” 都是SCI、SPI等片内外设模块的功能引脚。数字I/O口是第二功能。
LF240x有41个数字I/O口,所有这些共享引脚的功能可பைடு நூலகம்过数 字I/O模块中的9个16位控制寄存器来控制。
控制寄存器可以分为两类。
(1) I/O复用控制寄存器(MCRx,x=A,B,C)
第9章 TMS320LF240x片内外设
9.1 看门狗(WD)定时器模块
看门狗(WD)定时器模块用来监视软件和硬件操作,在软件进入 一个不正确的循环或者CPU出现暂时性异常时,WD定时器溢出以产 生一个系统复位。大多数芯片的异常操作和CPU非正常工作的情况 都能通过看门狗的功能清除和复位。因此看门狗的监视功能可增强 CPU的可靠性,以确保系统运行的安全和稳定。

DSP课件第2章硬件结构

DSP课件第2章硬件结构

5、电源
采用高性能静态CMOS技术,供电电压为3.3V。 可用IDLE指令进入低功耗模式。
6、在片仿真接口
具有符合IEEEll49.1标准的在片仿真接口(JTAG)。
7、速度
单周期定点指令的执行时间为50ns、35ns或25ns(20MIPS,28.5MIPS, 或40MIPS)。
2.2 TMS320LF240x的总线结构
INTM:中断模式位
用来允许(INTM=0)或禁止(INTM=1)所有的可屏蔽中断。用 SETC OVM或CLRC OVM可将该位置1或清0。LST指令不影响OVM位。
DP:数据页面指针
当使用直接寻址方式时,DP存放存储器的数据页,DP与指令代 码的最低7位构成16位存储器地址。
数据存储器地址
SARAM的地址可以用于数据存储器和程序存储器。可通过软件配置 为外部存储器或内部SARAM。
SARAM在一个机器周期内只能访问一次。当CPU要求多次访问时, SARAM会向CPU提供一个未准备好的信号,然后在每个周期内执行一次 访问。
闪速存储器(Flash) 是电可擦除的、可编程的、可长期保存数据的存储器。
CPU的基本组成包括: 32位中央算术逻辑运算单元(CALU); 32位累加器(ACC);输入与输出数据比例移位器; 16位×16位的乘 法器(MUL)以及乘积比例移位器。
CPU功能结构图
2、输入比例部分
功能:将来自存储器的16位数据左移0~16位送往中央算术逻辑单元 (CALU)。
移位方法:左移后有使用的低位LSB填0,高位MSB填0或用符号 扩展,取决于状态寄存器ST1的符号扩展模式位SXM(D10)。 SXM=0 填0 SXM=1 符号扩展
中央算术逻辑单元
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

5.看门狗模块程序设计 5.看门狗模块程序设计
下面的程序为看门狗中断程序,程序中定时对看门狗计数器清零即 “喂狗”,如果程序进入死循环,不能及时“喂狗”,那么程序将进入看门 狗中断服务子程序中。
//------------------------------------------------------------------------------// ########### 看门狗中断程序 ########### //------------------------------------------------------------------------------#include”DSP281x_Devic.h” //头文件 #include”DSP281x_Examples.h” //头文件 Interrupt void wakeint_isr(void); //子程序声明 Void KickDog(void); //子程序声明 #efine BIT1 0x0002 //宏定义 //全局变量----------------------------------------------------------------------Uint32 WakeCount; //全局变量定义 Uint32 LoopCount; //全局变量定义 void main(viod) { InitSysCount(); DINT; InitPieVectTable();
组员:余洋勇、张佳杰、张萌
1.看门狗模块介绍 1.看门狗模块介绍
看门狗,又叫 watchdog timer,是一个定时器电路, 一般有一个 输入,叫喂狗,一个输出到MCU的RST端,MCU正常工作的时候,每隔一端 时间输出一个信号到喂狗端,给 WDT 清零,如果超过规定的时间不喂 狗,(一般在程序跑飞时),WDT 定时超过,就回给出一个复位信号到MCU, 是MCU复位. 防止MCU死机. 看门狗的作用就是防止程序发生死循环, 或者说程序跑飞 在实际的DSP应用系统当中,运行时极有可能发生干扰和被干扰的 现象。特别是产品化的DSP系统,可靠性是一个不容忽视的问题,严重 时系统会出现程序“跑飞”现象。为了克服这种情况,在可能的情况 下软硬件都应作相应的处理。目前,看门狗技术就是这种处理的有效 措施之一。 F2812中的看门狗模块与240x器件上的看门狗模块基本相同。当8 位看门狗递增计数器计数达到最大值时,看门狗模块输出一个脉冲信 号(512个振荡器时钟宽度)。为了阻止这种情况发生,用户可以屏 蔽计数器或者利用软件定时向看门狗复位控制寄存器写“0x55+0xAA” 序列(可以复位看门狗计数器)。
看门狗模块介绍及程序设计
基于TMS320F2812系统控制及中断: 基于TMS320F2812系统控制及中断: 1.看门狗模块介绍 1.看门狗模块介绍 2.看门狗计数寄存器(WDCNTR) 2.看门狗计数寄存器(WDCNTR) 3.看门狗复位寄存器(WDKEY) 3.看门狗复位寄存器(WDKEY) 4.看门狗控制寄存器(WDCR) 4.看门狗控制寄存器(WDCR) 5.看门狗模块程序设计 5.看门狗模块程序设计
//关闭中断开关 //清除中断标志位 //子文件 //保护中断向量 //看门狗中断向量指向中断服务子程序 //操作完成
//保护中断向量 //选择看门狗中断,紧张看门狗复位 //操作完成 //允许PIE1组中断 //打开第一组的watchdog中断 //允许CPU相应1组中断 //允许全局中断 //定时清零(喂狗)
2.看门狗计数寄存器(WDCNTR) 2.看门狗计数寄存器(WDCNTR)
看门狗计数寄存器位信息和功能介绍如表1和表2所示:
表1 15 Reserved R—0 表2
位 15~8 7~0 名 Reserved WDCNTR 称 保留 该区域内的信息为看门狗计数器当前的值。8位计数器将根 据看门狗时钟(WDCLK)连续增加。如果计数器溢出,看 门狗将发生一个复位信号,如果向WDKEY寄存器写有效的 数据组合(0x55+0xAA),将使计数器清零,看门狗模块 的时钟基准将在WDCR寄存器中配置
//初始化系统控制寄存器、PLL、看门狗和时钟 //关闭全局中断响应 //子文件
IER=0x0000; IER=0x0000; InitPieVetTable(); EALLOW; SysCtrlRegs.WAKEINT=&wakint_isr; EDIS; WakeCount=0; LoopCount=0; EALLOW; SysCtrlRegs.SCSR=BIT1; EDIS; PieCtelRegs.PIECRTL.bit.ENPIE=1; PieCtelRegs.PIECRTL.bit.INTx8=1; IER|=M_INT1; EINT; KickDog(); EALLOW;


表4 看门狗复位寄存器位功能介绍
位 15~8 名 Reserved 称 保留 首先写0x55,然后再写0xAA到WDKEY会使WDCNTR (看门狗计数器)清零。写其他的任何值都会使看门狗 产生复位信号;读操作将返回WDCR寄存器的值 功能介绍
7~0பைடு நூலகம்
WDKEY
4.看门狗控制寄存器(WDCR) 4.看门狗控制寄存器(WDCR)
SysCtrlRegs.WDCR=0x0028; EDIS; For(;;) { LoopCount++ } }
//使能看门狗,WDCLK=OSCCLK/512/1
//等地中断
//-------------------------------------------------------------------// ####### 看门狗中断服务子程序####### //-------------------------------------------------------------------Interrupt void wakeint_isr(viod) { WakeCount++; PieCtrlRegs.PIEACK.all=PIEACK_GROUP1 /;/写1继续响应中断 } Viod KickDog(void) //看门狗计数器清零 { EALLOW; SysCtrlRegs.WDKEY=0x0055; //看门狗计数器清零 SysCtrlRegs.WDKEY=0x00AA; //看门狗计数器清零 EDIS; }
看门狗计数寄存器位信息 8 7 WDCNTR R—0 看门狗计数寄存器位功能介绍
功能描述
0
3.看门狗复位寄存器(WDKEY) 3.看门狗复位寄存器(WDKEY)
看门狗复位寄存器位信息和功能介绍如表3和表4所示:
表3 看门狗复位寄存器位信息 15 Reserved R—0 8 7 WDKEY R—0 0
• 看门狗控制寄存器位信息和位功能介绍如表5和表6所示:
表5 看门狗控制寄存器位信息 15 Reserved R—0 7 6 5 WDFLAG WDDIS RW1C—0 R/W—0 3 WDCHK R/W—0 2 WDPS R/W—0 0 8
表6 看门狗控制寄存器位功能介绍
位 15~8 7 名 称 功能介绍 Reserved 保 留 看门狗复位状态标志位: 1 表示看门狗复位(WDRET)满足了复位条件; WDFLAG 0 表示是外部设备或上电复位条件。 该位值将一直锁存直到写1到WDFLAG位将该位清零,写0没有影响
表6续表 看门狗控制寄存器位功能介绍
位 6 名称 WDDIS 功能介绍 1屏蔽看门狗模块; 0 使能看门狗模块。 只有当SCSR2寄存器的WDOVERIDE位等于1时,WDDIS的值才能 改变,器件复位时,看门狗模块默认状态为使能
5~3 2 ~0
WDCHK(2:0) 看门狗检测位,需要向WDCHK(2~0)写1、0、1,写其他任何值都会 引起器件内核的复位(看门狗已经使能),读操作将返回0、0、0 WDPS(2:0) 该区域用于配置看门狗计数时钟(WDCLK)比例(相对于 OSCCLK/512的倍率) 000 WDCLK=OSCCLK/512/1; 001 WDCLK=OSCCLK/512/1; 010 WDCLK=OSCCLK/512/2; 011 WDCLK=OSCCLK/512/4; 100 WDCLK=OSCCLK/512/8; 101 WDCLK=OSCCLK/512/16; 110 WDCLK=OSCCLK/512/32; 111 WDCLK=OSCCLK/512/64;
相关文档
最新文档