[原创] 解决MCU应用系统中上电暂态时输出失控的方法

chunyang   2011-4-11 19:50 楼主
有网友询问MCU应用系统中上电暂态时输出失控的方法,在此解答入下:

问:怎么解决系统上电时继电器乱动作的问题?

解答:
可以采用负逻辑甚至互补逻辑、翻转逻辑设计等。

负逻辑设计指低电平有效。多数MCU的常规IO在上电暂态过程中是弱上拉输出的,即输出逻辑1,如果用常规正向思维往往会采用正逻辑设计,即高电平有效,那么上电暂态中就非常可能会有失控现象,采用负逻辑即可解决。上电暂态中,IO输出随着电源的建立迅速上升,虽然开始时其逻辑“似乎为0”,但输出执行部件只要是同电源建立条件下,起始的“逻辑0”并不能使输出执行电路动作,等输出执行电路建立起工作条件后,IO输出已经是逻辑1了。

负逻辑法可以解决同电源系统的暂态失控问题,但执行电路先于控制系统建立工作条件或在要求更高可靠性时须采用互补逻辑或翻转逻辑设计,互补逻辑设计指一系列由特定01交替逻辑的组合为有效值,否则就判为无效;翻转逻辑则是通过时序上01逻辑按特定规则交替出现为有效值,否则判为无效。此二者也称“组合逻辑法”和“时序逻辑法”,优点是高可靠性但执行电路的设计比较复杂,具体应用中需根据实际情况灵活选用。

回复评论 (8)

学习一下
点赞  2011-4-12 08:48

回复 楼主chunyang 的帖子

软件延时可解决:在进入主程序循环前加……

[ 本帖最后由 gh131413 于 2013-8-2 14:50 编辑 ]
点赞  2013-8-2 14:45

回复 板凳gh131413 的帖子

加延时是解决不了上电暂态失控问题的,完全无关。上电暂态是在程序执行之前的暂态,加延时则是指令。
上传了一些书籍资料,也许有你想要的:https://download.eeworld.com.cn/user/chunyang
点赞  2013-8-2 23:05

回复 4楼chunyang 的帖子

上电暂态失控的原因个人认为应该是供电从一个低电平到高电平的上升过程,即从上电达到MCU的正常工作电压过程中的状态不稳定吧!
不过我一般带载为LED或显示屏,可能失控的时间极短us或ms级,暂时肉眼分辨不出来这种现象吧!像继电器乱动作这种比较明显的倒是没有见过,如果出现排除电路设计问题那就是芯片本身的缺陷,好的芯片设计应该不至于啊……
点赞  2013-8-8 08:44

回复 5楼gh131413 的帖子

只能说你见的还太少,而且这种指望芯片本身来解决所有问题的想法就不靠谱。另外,上电暂态可不仅仅是电源电压的上升过程。
上传了一些书籍资料,也许有你想要的:https://download.eeworld.com.cn/user/chunyang
点赞  2013-8-8 18:58

回复 6楼chunyang 的帖子

可否举个实际的例子让大家都跟着学习下

[ 本帖最后由 gh131413 于 2013-8-10 14:01 编辑 ]
点赞  2013-8-10 14:00
实际上,在设计MCU电路时,多看看手册,注意一下它初始状态,在MCU没有工作时的初始状态,使电路不工作就可以了。

如,一般IO脚在上电时,输出部分不管用,而弱上拉起作用,这时呈高电平,那么,就设计这个脚在不工作时为高电平。如果将它设计为驱动NPN管带个继电器,这就错了,

C2000的PWM引脚在上电(CPU复位)时为低电平,那么,它就可以驱动NPN管所带的继电器。
点赞  2013-8-10 14:59

回复 7楼gh131413 的帖子

楼主贴已经给出了一个最常见的例子。
上传了一些书籍资料,也许有你想要的:https://download.eeworld.com.cn/user/chunyang
点赞  2013-8-10 23:27
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复