新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 英飞凌XC2336 B单片机看门狗编程――基于DAVE2.0平台

英飞凌XC2336 B单片机看门狗编程――基于DAVE2.0平台

作者:时间:2016-10-15来源:网络收藏

——数字应用工程师,出自科技。它能帮我们准确而快速地进行基于8位、16位或32位的嵌入式系统设计。由于的嵌入式为控制器的寄存器的数量非常大,大约有一千多个。所以对大量寄存器的初始化是一件相当棘手的事,而有了的平台就能很轻松地完成这些事情。同时还可完成的其它初始化工作,与Keil或、Tasking等编译软件实现链接,轻松完成嵌入式系统的软件开发工作。

本文引用地址:http://www.eepw.com.cn/article/201610/307406.htm

是Infineon的16位微控制器XC2000家族中的一员,它将功能和性能都得到扩展的C166SV2内核、功能强大的片上外设子系统和各种片上存储器进行了完美结合。执行速度更快、稳定性更好、操作更简单。

1 特殊的看门狗工作模式

英飞凌XC2336 B单片机看门狗编程——基于DAVE2.0平台

1.1 正常模式

正常模式是应用复位或内部应用复位后的缺省模式。只有当执行EN指令时,才能从禁用模式进入正常模式。

1.2 禁用模式

对于完全不需要功能的应用,可采用禁用模式。执行指令DIS进入禁用模式:若CPUCON1.WDTCTL=0,在初始化结束前执行该指令;若CPUCON1.WDTCTL=1,可在任意时刻执行该指令。

1.3 预警模式

检测到看门狗错误时,始终进入预警模式。若正常模式下定时器溢出,则进入预警模式。此时,WDT不会立即请求对芯片复位,它会首先发送预警输出,确保系统在复位之前进入安全的状态。接收到预警信号后,CPU和系统完成当前挂起的操作请求,不产生新的操作请求。通过中断告知CPU出现预警,CPU可通过寄存器INTSTAT识别WDT预警中断。完成所有挂起的操作后,在复位之前CPU应执行IDLE指令以终止所有进一步的操作。

1.4 恒复位

如果看门狗引发两次复位(应用或内部应用复位),则认为出现了严重的系统故障,保持由RSTCON1.WDT配置的复位状态,直至发生上电复位。例如,当器件和外部存储器的连接丢失,以致于无法完成系统初始化时,器件会被周期性复位。这种双复位检测方式可防止各种情况引起的器件周期性复位。

该单片机WDT与其它单片机WDT不同的地方之一就是引入了预警模式中断,这使软件可以在发生异常复位之前处理一些必要的数据;另一个不同的地方就是引入了恒复位状态,使单片机在发生严重的系统故障时,各端口保持非输出状态,同时不产生周期性复位。

如果在某些场合不希望单片机出现恒复位状态,或者不希望单片机在两次WDT复位后就进入恒复位状态,则软件必须在WDT预警模式中断中写入代码。文章后面会有实例说明。

2 单片机初始化结束后WDT有效的工作方式

如图2所示,如果在DAVE软件的WDT初始化选择中选中该项,则软件在复位初始化结束后,WDT应该使能。

英飞凌XC2336 B单片机看门狗编程——基于DAVE2.0平台

但是,如果不在DAVE自动生成的工程文件中,将WDT选项勾选的话,WDT将永远无效。即使你已经勾选了该选项,下次DAVE自动修改工程文件时该选项也会被清除。因此在该工作方式下,软件中可以没有启动WDT的语句,但每次用DAVE自动修改工程文件时都要重新勾选。该选项在工程文件的Start_V3.A66中,位置如图3所示。

在这种工作方式下,在DAVE自动生成的工程文件中,对WDT来说只有如下语句起作用:

_srvwdt_();//服务WDT

3 WDT始终有效的工作方式

如图4所示,如果在DAVE软件的WDT初始化选择中选中该项,则WDT始终有效,随时可以使能和禁止。

英飞凌XC2336 B单片机看门狗编程——基于DAVE2.0平台

在这种工作方式下,应该在DAVE自动生成的工程文件中写入如下语句:

_diswdt_(); //禁止WDT

_asm{ENWDT;} //使能WDT

_srvwdt_(); //服务WDT

4 去掉WDT恒复位状态的方法

在以上两种WDT的工作方式下,当发生两次WDT复位时,单片机都会进入恒复位状态。如果想要去除这种状态,那就必须首先开通WDT预警中断。

英飞凌XC2336 B单片机看门狗编程——基于DAVE2.0平台

然后在预警中断中写入如下代码。

英飞凌XC2336 B单片机看门狗编程——基于DAVE2.0平台

5 结束语

本文对XC2336B单片机WDT的特殊功能进行了讲解,并介绍了两种工作方式。最后还用实际例程说明了如何将XC2336B单片机WDT的特殊功能给去掉,使其能等同与一般单片机的看门狗一样使用。这样,编程人员就可以在读EEPROM、调试和运行等不同环境下熟练运用该单片机的WDT了。



评论


相关推荐

技术专区

关闭