描述
c8051f064是cygnal(现为siliconlab)公司在2000年左右推出的新型单片机,具有运行速度快,与8051指令系统兼容的优点,刚一推出就受到国内广大8031使用者的欢迎,纷纷学习使用,并有一定的商业应用,但在具体的使用中也发现了很多问题,抗干扰能力便是其中之一。下面我将在文章中详细讨论。先说明一下我的系统。
在本设计中系统构成为:1.电力监控仪---负责采集三项交流电的电压、电流,LCD显示,包括键盘操作,数据记录等功能,并根据电压、电流的变化控制执行机构调节电网的电压、电流,从而达到节电的功能,并具有modbus联网远传数据的能力。2.上位机数据库系统----检测并记录个终端的状态和电量数据。
显然电力监控仪在本系统中具有核心地位,是系统正常运行的关键。核心器件选用了C8051F064单片机,应用了其内部集成的AD和EEPROM等外设。在刚开始设计时只考虑功能的实现,对抗干扰问题并没有太多的在意,考虑到此产品的功能也不是很复杂,就主要是以前用AT89C51完成产品设计的经验,随便画了PCB,把主要精力放在了软件的编写上,很快完成了样机的开发,进入到调试阶段。
在试验室单独调试时也是一帆风顺,感觉很得意。随着项目的推进要到系统联调了,这时意外的情况出现了,在第一次将电力监控仪装入电力调节柜时,静态工作很正常,三项电压电流显示正常,数据通信正常,计量准确,可是当接通主回路测试电网补偿功能时,出现执行机构频繁跳动,电力监控仪屏幕时亮时暗,蜂鸣器长鸣,执行机构在频繁的反复调节下不堪重负冒出了白烟。
紧急停机!感觉很奇怪,为甚麽呢?不死心再来一次,这次也先不接主回路,空载测试,开机后一切正常,随即并入主回路,又发生了上次的情况,这次电力监控仪彻底不工作了,决定不能再盲目测试了,将控制器拆下,进行详细分析,连接上IDE调试线,发现监控仪不工作的原因是内部的EEPROM和存储程序的FLASH不能进行写入,IDE调试软件不能正常接入。换了一片单片机再重新下载程序,又能正常工作。证实了单片机已经损坏,那么是什么原因造成单片机的FLASH和片内EEPROM的损坏呢?,经反复查找DATASHEET,发现FLASH大约有1000次的察写寿命,而程序中为了在本地存储随即参数,有烧写片内EEPROM的代码,在正常情况下是足够了,是不是由于程序跑飞,变量被改变造成过度擦写造成呢?有很大的可能。为了证实在程序中加入了随机写入次数的限制,再进行试验故障依旧,但EEPROM没有损坏,可以确认上述的假设成立。那么是什么造成的干扰呢?经与电力工程师的讨论发现最大的可能来自大功率的交流接触器,在主回路接通的瞬间主交流接触器上电工作,会产生巨大的电磁脉冲,由于监控仪与交流接触器空间距离很小,有可能感应到空间的电磁干扰,同时C8051F系列单片机又是3V系统在线可擦写,抗干扰能力很弱,另外单片机的AD接口有PT,CT互感器,虽然具有隔离作用,但在并网的瞬间具有巨大的电压电流跳变(di/dt,du/dt)也可能有干扰进入。
针对初次试验和分析结果对电路做如下更改:
1.在PCB尽可能加宽单片机的电源线宽并尽量缩短长度。
2.在单片机的电源线上尽可能多地使用大容量的滤波电容。
3.在单片机电源线上对地并接瞬态抑制二极管。
4.尽可能扩大地线的面积,在两层版之间打比较多的过孔,增大接地效果。
5.在3V电源的两层版之间也大量打孔同样增大接触效果。
6.将单片机的IO都同过光藕控制外设,并使单片机IO脚到光藕的连线尽可能地短,并在实在不能短的线上并入瞬态抑制二极管。
7.对AD接口也并入瞬态抑制二极管处理。
8.使用单片机内部的时钟,不用外部时钟,并将外部时钟脚接地。
9.将C8051F064的IDE接口MSO,MSI等调试信号线在不使用时,用跳线接地。
按照上面的几条,经过很长时间的LAYOUT和反复的修改确认达到满意的程度了,再制版。
经过实际联机调试一切OK!,后又经过老化高低温、震动等试验都能正常运行。再经过现场的实际运行2年没有出现任何故障。
经验总结:
1.在功能相对简单的产品设计时,在考虑到工程实际使用中可能出现的各种复杂情况,其设计并不简单。
2.3V供电的单片机在不仔细的设计中抗干扰能力可能不如5V供电的单片机。
3.FLASH的单片机在不仔细的设计中可能不如OTP型的单片机。
4.随着单片机技术的进步,其硬件集成度越来越高,这就要求设计人员有比较高的综合运用能力,要将模拟和数字设计综合运用才能设计出稳定可靠的产品。