发现一波单片机软硬件抗干扰操作,坛里一线工程师们常用的有哪些?
[复制链接]
发现现在的电子产品,总会有自己想法,比如深夜,自己就启动一下。
我想很多应该是电子设计的干扰问题,分享下网络看到一些抗干扰手段,坛里的一线的工程师们,在设计中是否都会注意这些呢?
硬件设计方面:
1、电机、继电等离单片机远一些,或者将单片机加上屏蔽罩。
2、PCB板分区:强信号、弱信号、数字信号、模拟信号电路分区布置。大功率器件单独接地,尽量放在在边缘。
3、晶振与单片机靠近,用地线把时钟区隔离起来,晶振外壳接地并固定。
软件设计方面:
1、看门狗:发现程序循环时间超过最大循环运行时间 ,则认为系统陷入死循环 ,需进行出错处理。
2、指令冗余:在关键地方人为插入一些单字节指令或将有效单字节指令重写称为指令冗余,通常是在双字节指令和三字节指令后插入两个字节以上的NOP ,这样即使乱飞程序飞到操作数上,由于空操作指令NOP的存在, 避免了后面的指令被当作操作数执行, 程序自动纳入正轨。此外,对系统流向起重要作用的指令如RET RETI LCALL LJMP JC等指令之前插入两条NOP也可将乱飞程序纳入正轨,确保这些重要指令的执行。
3、拦截技术:所谓拦截是指将乱飞的程序引向指定位置,再进行出错处理,通常用软件陷阱来拦截乱飞的程序, 因此先要合理设计陷阱,其次要将陷阱安排在适当的位置。
4、 软件陷阱的设计:当乱飞程序进入非程序区,冗余指令便无法起作用,通过软件陷阱拦截乱飞程序,将其引向指定位置,再进行出错处理,软件陷阱是指用来将捕获的乱飞程序引向复位入口地址的指令。 通常在EPROM中非程序区填入以下指令作为软件陷阱:NOP NOP LJMP H
|