我公司现有项目采用了LM3S5P31 MCU,电路板做好了,软件也调试正常了,但是静电测试的时候机器重新启动,通过软件读复位寄存器里面的值,上电时是3(十进制),强制复位是1,静电(接触4KV,对机壳外露金属,且金属接大地)测试时是0.现在的问题是0代表什么复位?
ESD是一个系统级的问题,绝大部分市售的MCU的ESD HBM模型一般都是2kV的水平。任何超出此范围的系统级的ESD测试实际上都是靠系统处理来解决这一问题。
1)空气放电和接触放电时是对什么部分进行的?裸露的金属部分是直接和MCU引脚相连的吗?中间有没有任何隔离或者最简单的串联电阻的措施
2)对于电源,整个板子的电源结构是怎样的?如果在静电实验时,MCU的供电电源真的如你所说的存在这么长时间大幅度的波动的话,需要考量和修改的是你的整个供电电路的EMC性能。
3)对于MCU,切记所有的去耦电容必须尽量靠近MCU,晶振和复位电路必须靠近相关引脚。对于你说的复位状态为0,目前为止我还不能理解,你是通过什么方式读到这个值的?你怎么能确信当时MCU是复位了?一旦出现这种情况,MCU复位后能正常继续工作吗?
4)另外友情提醒。。。你用普通示波器探头去测静电实验时的信号,是非常危险的行为。完全有理由相信你的探头会在某次测试时被打坏。。。当然这和MCU无关
关于5P31静电测试问题,关于电路图部分,已经在附件里面,请查收!您提出的疑问,我在这里依次答复:
1,空气放电8KV和接触4KV放电是针对机器的外壳,如显示面板(LCD)的缝隙,外部接口DB9锁紧螺丝上面等;金属外壳与CPU的地平面有一个10UH的小电感,尝试过直接使用0欧姆电阻,但是效果都是差不多.
2,电源是220V通过线形降压变压器降到AC8.5V,通过全桥整流滤波后(滤波电容为1000UF电解电容加一个0.1UF的独石电容),采用了MT8012进行DC/DC转换成DC5V,这个5V电源是MCU外围电路用到.5V再通过了ASM1117-3.3V降到3.3V供给5P31系统.DC5V和3.3V都有220UF和0.1UF电容滤波.
3,静电测试时是读的RESC(RESET CAUSE 寄存器)是0;即反应产生复位源;我在主板上面有一个小喇叭,如果5P31复位,喇叭会叫一下,另外还有一个LCD显示屏,复位时会读出RESC寄存器的值,所以我通过强制复位和上电复位都能验证RESC值确实真实的反应了复位源;
4,至于使用了示波器,那是因为已经没有办法去进行整改了,基本上能做的修改都尝试过了,所以使用了示波器;
我目前的情况是:
1,因为我的电路板是2层板,所以我在电路板的底层使用导线将所有的地网络进行了网格状连接; 效果不明显
2,我使用了其他电路板(使用LM2575-5.0产生DC5V和KF33产生3.3V)专门给5P31电路板供电,拆掉原来的MT8102和ASM1117-3.3芯片;效果不明显
3,把复位引脚使用了静电抑制器,1K电阻加10UF电容或者0.1UF电容;使用MAX706T专门复位芯片;5P31每一个电源引脚处加一个0.1UF电容;等等都是效果不明显;
4,如果只接AC8.5V电源,不插任何线缆,静电测试喇叭不会叫,即不会重启;只使用一个导线插在LCD显示接口的地线插座上,就是类似于地线上悬挂了一个天线,就会明显重启了.
基于以上情况,请专家解答,不甚感激!