以前从未使用过430产品,年前有个气体监测项目,因使用电池供电,所以选择了430,毕竟它的低功耗的名声太大了。硬件比较简单,MSP430AFE253+传感器+运放+LED 蜂鸣器,还有个单键触摸IC,使用FET430UIF在IAR5.4上开发。传感器是化学反应型的,当遇到气体时在电极上有微弱电流,通过放大后供AD检测。
在TI下载了例程,功能模块编写好后,一切都好像很正常,但UART口输出怎么都是乱码,一查发现串口输出的脉宽和设置有很大误差,仔细看了datasheet发现内部时钟需要校准,253默认时钟是1M,但只有8M和12M的校准,8M的功耗比1M大上许多,这个设计真坑人,时钟偏差大还使用sigma-delta型ADC,有点不理解TI的这个设计。串口输出正常,AD检测稳定后,发现触摸按键有时检测不到,问了供应商,居然是IC存在死机的概率,给我们推荐了另一款带10秒自动复位的IC,国产还是不靠谱。
来说说死机问题,程序初始化后就进入LPM1模式,检测功能都放在定时中断里完成,看门狗使用ACLK,在定时中断里喂狗。生产了50套样机,老化一段时间后发现有8台出现死机现象,复位后又正常。死机的状况很异常,并不是程序跑飞了,因为整个电路在单片机进入LPM1模式后还有700多uA的功耗,但测量发现死机的电路只有不到200uA的电流,比在LPM4模式下功耗还小,和单片机刚烧写完程序还没开始运行的功耗是一样的,也就是说单片机完全停止了,有谁能帮忙分析下这个问题、、、、
|