单片机休眠-复位运行方式提高抗干扰能力
时间:04-15
来源:互联网
点击:
3 软件实现要点
3.1 输出恢复与不清零RAM
定时复位后全部引脚变成高电平,使得本应为低的引脚发生了不应有的变化,因此,复位后要立即恢复所有引脚的状态。有2种方法:① 本次复位后立即进行分析判断,根据需要给出引脚状态;② 根据RAM中上一次留存下来的状态,这些RAM在定时复位时是不能清零的;而在初上电或手动复位按下时应清零,在软件编制时要体现出来。如果计算时间允许,尽量采取方法1。因为连续2次复位周期都计算出错的概率很小,按照2.4叙述的输出端子并联电容的处理方法,可以达到很好的抗干扰效果。
3.2 实现跨越定时复位间隔的时序控制
现在用复位方式工作,每次从头开始反复执行同一程序。可分为2种情况:① 对于单纯显示仪表,每次复位后进行测量、送显示,两次复位之间没有因果关系,只需把原来的等待改为休眠即可。要注意的是,测量、送显示用的总时间要小于复位低电平时间,否则会出现永远不能完整执行程序的错误。② 对于有时序控制的应用,每次复位后,先要查看上个周期留下的标志,以决定本周期做什么。也就是说,凡是跨过复位周期的操作,都是靠标志传递的,这些标志存放在内部RAM中,只有初上电时才清零。例如,前面提到的变压器综合保护器,按照20ms的间隔定时复位。它在上电后,经过一定的动作顺序达到正常工作状态,如图4;根据这个动作编写软件流程的一部分,如图5。
图4 保护器动作过程
图5 变压器保护器部分程序流程
在图4中,当保护器初上电时,首先试送电0.5s,提示马上就要送电;等待30s后正式送电。送电后的1s内为启动时间,不进行过电流检测。启动完成后,如果一切正常,则把“正常标志”置位,保护器在下一个复位周期进入正常运行。试送电的0.5s延时是对复位进行25次计数实现的,因为每次复位时间是20ms。初上电时,对内部RAM做全部清零,令试送电计时Ts=25后休眠。下一次被复位后,再检测上电引脚已不是初上电,于是进行到试送电计时 Ts的检测。如果Ts≠0,说明在送电延时期间,把Ts减1后进入休眠。当Ts-1=0时,应该进入停电等待30s的过程了。就在Ts递减到0的时候,令停电等待标志Td=1500。当程序再次由复位开始时,检测到Ts=0但是Td≠0,表明已经越过了试送电,现在正处于停电等待30s的过程中。这样,整个进程由Tr、Td、Ts等这些参数相互传递着,一步步进行下去。
结语
抗干扰是电子设计中的重要问题,在单片机中尤其重要。这是因为单片机有程序跑飞的特殊性,它受到干扰的后果可能是死机,也可能在死机前发出各种错误或非法动作,使整个系统产生致命性错误。因此,仅仅保证单片机不死机还不够,还要研究如何减少受干扰的风险,以及出错后如何能够容错。本文力图从这两方面作些探索,希望这些粗浅见解能够起些抛砖引玉的作用,对大家有所帮助;也希望各位同仁一起探索,共同提高我们的设计水平。
参考文献
1. 孙涵芳.徐爱卿 MCS- 51/96系列单片机原理与应用 1992
2. 徐惠民.安德宁 单片微型计算机原理、接口及应用 2000
作 者:华北水利水电学院 李临生 魏德华 柳旭英
来 源:单片机与嵌入式系统应用 2004(2)
3.1 输出恢复与不清零RAM
定时复位后全部引脚变成高电平,使得本应为低的引脚发生了不应有的变化,因此,复位后要立即恢复所有引脚的状态。有2种方法:① 本次复位后立即进行分析判断,根据需要给出引脚状态;② 根据RAM中上一次留存下来的状态,这些RAM在定时复位时是不能清零的;而在初上电或手动复位按下时应清零,在软件编制时要体现出来。如果计算时间允许,尽量采取方法1。因为连续2次复位周期都计算出错的概率很小,按照2.4叙述的输出端子并联电容的处理方法,可以达到很好的抗干扰效果。
3.2 实现跨越定时复位间隔的时序控制
现在用复位方式工作,每次从头开始反复执行同一程序。可分为2种情况:① 对于单纯显示仪表,每次复位后进行测量、送显示,两次复位之间没有因果关系,只需把原来的等待改为休眠即可。要注意的是,测量、送显示用的总时间要小于复位低电平时间,否则会出现永远不能完整执行程序的错误。② 对于有时序控制的应用,每次复位后,先要查看上个周期留下的标志,以决定本周期做什么。也就是说,凡是跨过复位周期的操作,都是靠标志传递的,这些标志存放在内部RAM中,只有初上电时才清零。例如,前面提到的变压器综合保护器,按照20ms的间隔定时复位。它在上电后,经过一定的动作顺序达到正常工作状态,如图4;根据这个动作编写软件流程的一部分,如图5。
图4 保护器动作过程
图5 变压器保护器部分程序流程
在图4中,当保护器初上电时,首先试送电0.5s,提示马上就要送电;等待30s后正式送电。送电后的1s内为启动时间,不进行过电流检测。启动完成后,如果一切正常,则把“正常标志”置位,保护器在下一个复位周期进入正常运行。试送电的0.5s延时是对复位进行25次计数实现的,因为每次复位时间是20ms。初上电时,对内部RAM做全部清零,令试送电计时Ts=25后休眠。下一次被复位后,再检测上电引脚已不是初上电,于是进行到试送电计时 Ts的检测。如果Ts≠0,说明在送电延时期间,把Ts减1后进入休眠。当Ts-1=0时,应该进入停电等待30s的过程了。就在Ts递减到0的时候,令停电等待标志Td=1500。当程序再次由复位开始时,检测到Ts=0但是Td≠0,表明已经越过了试送电,现在正处于停电等待30s的过程中。这样,整个进程由Tr、Td、Ts等这些参数相互传递着,一步步进行下去。
结语
抗干扰是电子设计中的重要问题,在单片机中尤其重要。这是因为单片机有程序跑飞的特殊性,它受到干扰的后果可能是死机,也可能在死机前发出各种错误或非法动作,使整个系统产生致命性错误。因此,仅仅保证单片机不死机还不够,还要研究如何减少受干扰的风险,以及出错后如何能够容错。本文力图从这两方面作些探索,希望这些粗浅见解能够起些抛砖引玉的作用,对大家有所帮助;也希望各位同仁一起探索,共同提高我们的设计水平。
参考文献
1. 孙涵芳.徐爱卿 MCS- 51/96系列单片机原理与应用 1992
2. 徐惠民.安德宁 单片微型计算机原理、接口及应用 2000
作 者:华北水利水电学院 李临生 魏德华 柳旭英
来 源:单片机与嵌入式系统应用 2004(2)
电子 单片机 电路 看门狗 变压器 555 电流 比较器 电容 嵌入式 相关文章:
- 利用蓝牙技术和远程信息控制单元实现汽车诊断(11-13)
- 六大特点助CMOS图像传感器席卷医疗电子应用(11-13)
- 汽车网络的分类及发展趋向(11-13)
- 多核嵌入式处理技术推动汽车技术发展(11-18)
- CAN总线的客车轻便换档系统设计与实现(02-13)
- 高性能嵌入式ARM MPU在医疗电子系统中的设计应用(05-12)