打印

msp430afe253开发小结及死机问题求探讨

[复制链接]
3927|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主

       以前从未使用过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模式下功耗还小,和单片机刚烧写完程序还没开始运行的功耗是一样的,也就是说单片机完全停止了,有谁能帮忙分析下这个问题、、、、

相关帖子

沙发
dirtwillfly| | 2014-2-9 11:29 | 只看该作者

1MHz最大波特率可以设置到9600。
如果真需要工作在8M,msp430可以进行时钟频率切换。需要的时候进入8MHz,不需要的时候进入1MHz或低功耗模式。
建议楼主提供原理图,怀疑电源电路或复位电路问题造成的死机。

使用特权

评论回复
板凳
dirtwillfly| | 2014-2-9 11:32 | 只看该作者
另外,使用触摸按键时要注意按键电路的防干扰

使用特权

评论回复
地板
dirtwillfly| | 2014-2-9 11:49 | 只看该作者
msp430是TI的产品,不是国产的。楼主用的国产的复位IC?

使用特权

评论回复
5
zuidaeji|  楼主 | 2014-2-9 12:38 | 只看该作者
dirtwillfly 发表于 2014-2-9 11:29
1MHz最大波特率可以设置到9600。
如果真需要工作在8M,msp430可以进行时钟频率切换。需要的时候进 ...

多谢参与回复。
1M的确可以设置到9600,但因为时钟的误差,根本没有同一性,每一颗IC都要设置不同的值串口打印才正常,要使用串口只能用8M或者12M。
电源使用TI的低功耗LDO将电池电压稳至3V,复位就只使用了RC,复位时间可以确保足够,死机后的状态倒是有点像复位脚受干扰且复位时间不足造成芯片不工作,但本身这颗IC所需的复位时间在3V的条件下也是微秒级的,老化的环境也是自然老化,周围没有大功率高频率设备,电路内更没有功率型器件。

使用特权

评论回复
6
zuidaeji|  楼主 | 2014-2-9 12:43 | 只看该作者
本帖最后由 zuidaeji 于 2014-2-9 12:52 编辑
dirtwillfly 发表于 2014-2-9 11:49
msp430是TI的产品,不是国产的。楼主用的国产的复位IC?

是我表达方式有问题,让你有了误解,我说的是触摸IC使用的是国产,触摸铜皮周围和背面都没有走线,铺铜也按厂家提供的设计规范制作了,问了他们,也承认了存在触摸IC本身死机的问题,所以他们推出另一款每10秒内自动复位一次的型号


电路内没有使用复位IC

使用特权

评论回复
7
dirtwillfly| | 2014-2-9 16:54 | 只看该作者
zuidaeji 发表于 2014-2-9 12:43
是我表达方式有问题,让你有了误解,我说的是触摸IC使用的是国产,触摸铜皮周围和背面都没有走线,铺铜也 ...

关于串口通讯,没看到你的代码,不知道你具体怎么设置的。可以采用在8MHz下用中断方式,不发送或者接收数据时进入低功耗模式,功耗也不高的。或者在1Mhz下采用校验等措施。或者也可以自行校验1MHZ时钟的。
关于死机问题,你也已经确认是触摸ic的问题了,建议更换触摸ic。增加复位芯片虽然提高产品稳健,但如果只是为了解决触摸ic造成的死机问题,确有头疼医脚的嫌疑。

使用特权

评论回复
8
dirtwillfly| | 2014-2-9 17:36 | 只看该作者
刚翻了个资料,msp430在1MHz时能配置的波特率不止9600。我前面记错了。:L

使用特权

评论回复
9
zuidaeji|  楼主 | 2014-2-9 18:24 | 只看该作者
dirtwillfly 发表于 2014-2-9 16:54
关于串口通讯,没看到你的代码,不知道你具体怎么设置的。可以采用在8MHz下用中断方式,不发送或者接收数 ...

:L 触摸IC死,430也死,触摸问题更换解决了,430还挂着呢

使用特权

评论回复
10
dirtwillfly| | 2014-2-9 20:25 | 只看该作者
zuidaeji 发表于 2014-2-9 18:24
触摸IC死,430也死,触摸问题更换解决了,430还挂着呢

msp430死机,常见的是上电复位电路不满足要求,还有就是电源电压不稳。
其他的原因我没见过。

使用特权

评论回复
11
corset| | 2014-2-10 10:56 | 只看该作者
LZ没有使用外部晶振?怎么会在1M的时候离散性那么大?

使用特权

评论回复
12
corset| | 2014-2-10 10:59 | 只看该作者
你的430有启用看门狗却还死机,说明是430根本就没有启动。看来你要多找找电源上的原因了

使用特权

评论回复
13
zuidaeji|  楼主 | 2014-2-11 12:38 | 只看该作者
corset 发表于 2014-2-10 10:59
你的430有启用看门狗却还死机,说明是430根本就没有启动。看来你要多找找电源上的原因了 ...

的确是没有启动。LDO使用了TPS76330,TI资料上这个LDO最小输入电压是2.7V,但我实测发现在输入为2.2V时LDO还有输出,而253工作在8M时电源要求接近2.7V,很有可能就是当电源掉到2.7V以下,430就不工作了,如果电源不继续掉到LDO的关掉电压,此时无论是充电或者是外接电源都无法再让430重新复位。

使用特权

评论回复
14
zuidaeji|  楼主 | 2014-2-11 12:41 | 只看该作者
目前暂定的解决办法就是开启SVS,设置当电压低于2.8V时就复位

使用特权

评论回复
15
angerbird| | 2014-2-11 22:47 | 只看该作者
zuidaeji 发表于 2014-2-11 12:38
的确是没有启动。LDO使用了TPS76330,TI资料上这个LDO最小输入电压是2.7V,但我实测发现在输入为2.2V时LD ...

楼主说的这个问题的我有遇到过的,当电源电压达不到单片机的正常工作电压要求是单片机会出现假死机现象的,既不会出现复位,也不会正常运行的,,

使用特权

评论回复
16
firstblood| | 2014-2-12 13:37 | 只看该作者
用单片机自带的内部时钟源的话,需要多注意的,有些时钟是有些差异的

使用特权

评论回复
17
ar_m_cu| | 2014-3-18 16:57 | 只看该作者
似乎看门狗不能在中断里面喂狗吧

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

79

帖子

0

粉丝