[STM8] 关于死机

[复制链接]
3200|26
 楼主| 无为之益 发表于 2015-3-13 11:53 | 显示全部楼层 |阅读模式
请教大牛们一个问题:我用STM8S903K3做的一个项目,用电池供电很容易死机,但是用外部稳压电源就怎么 操作也不会死机(即便这个外部稳压电源的电压比供电电池还低些)。
我写了一个测试程序,如果死机了,有个空闲的 IO口就有电平翻转波形出来(中断程序里),程序正常的话,该IO口就一直低电平。
结果死机时,果然有 翻转波形出来,这说明MCU可以正常进定时中断,但是主程序运行不正常了。
谁遇到过这种情况呢 ?可能哪里出了问题?这种情况到底是软件问题还是硬件问题?
谢谢各位了
mmuuss586 发表于 2015-3-13 12:23 | 显示全部楼层
一般是电池更稳定;
换其它电池测试下看看;

评分

参与人数 1威望 +1 收起 理由
无为之益 + 1 谢谢

查看全部评分

mmuuss586 发表于 2015-3-13 12:23 | 显示全部楼层
应该是你电源设计有问题;
也有可能电池问题;

评分

参与人数 1威望 +3 收起 理由
无为之益 + 3 最后检查出来,就是电源电路内部电磁干扰大.

查看全部评分

zhaoyu2005 发表于 2015-3-13 13:35 | 显示全部楼层
有可能电池内阻大了,电流大时导致电压跌落

评分

参与人数 1威望 +3 收起 理由
无为之益 + 3 你讲的知识给我很大的帮助,谢谢.

查看全部评分

 楼主| 无为之益 发表于 2015-3-13 13:37 | 显示全部楼层
mmuuss586 发表于 2015-3-13 12:23
应该是你电源设计有问题;
也有可能电池问题;

测试时,电池接入点和外部稳压电源接入点相同。也就是说,后面经过的 升压电路是一样的啊
 楼主| 无为之益 发表于 2015-3-13 13:41 | 显示全部楼层
zhaoyu2005 发表于 2015-3-13 13:35
有可能电池内阻大了,电流大时导致电压跌落

去掉大负载后,电池供电出现死机的时间加长了点(满负载几秒钟就死)。
但是外部电源供电,即使电压比供电电池的电压还低,满负载运行几天都没问题。
zhaoyu2005 发表于 2015-3-13 13:50 | 显示全部楼层
无为之益 发表于 2015-3-13 13:41
去掉大负载后,电池供电出现死机的时间加长了点(满负载几秒钟就死)。
但是外部电源供电,即使电压比供 ...

你这样说,电池内阻大的可能性更大了,估计你用的是普通碱性电池吧。
你可以用镍氢电池、铅酸电池测试下,估计就正常了。普通电池电压高,不代表带能瞬间输出大电流。
稳压电源,话说输出1A电流很轻松吧,

评分

参与人数 1威望 +2 收起 理由
无为之益 + 2 赞一个!

查看全部评分

 楼主| 无为之益 发表于 2015-3-13 14:05 | 显示全部楼层
本帖最后由 无为之益 于 2015-3-13 14:14 编辑
zhaoyu2005 发表于 2015-3-13 13:50
你这样说,电池内阻大的可能性更大了,估计你用的是普通碱性电池吧。
你可以用镍氢电池、铅酸电池测试下 ...


非常谢谢!
他们都怀疑我的程序有bug
 楼主| 无为之益 发表于 2015-3-13 14:14 | 显示全部楼层
zhaoyu2005 发表于 2015-3-13 13:50
你这样说,电池内阻大的可能性更大了,估计你用的是普通碱性电池吧。
你可以用镍氢电池、铅酸电池测试下 ...

我们用的是锂电池,属于普通碱性电池吗?
我硬件比较文盲,多谢指教。
zhaoyu2005 发表于 2015-3-13 14:15 | 显示全部楼层
无为之益 发表于 2015-3-13 14:05
非常谢谢!
他们都怀疑我的程序有bug,话说我以前的量产产品,看门狗从来都没打开过,生产5、6年都没出现 ...

像你这种,用电池出问题,用稳压电源正常,当然得先考虑两种电源的差异,进行假设,然后进行验证,就知道是怎么回事了。其实只要了解电池及负载特性,就能判断的差不多了

评分

参与人数 1威望 +2 收起 理由
无为之益 + 2 多谢指导

查看全部评分

zhaoyu2005 发表于 2015-3-13 14:20 | 显示全部楼层
无为之益 发表于 2015-3-13 14:14
我们用的是锂电池,属于普通碱性电池吗?
我硬件比较文盲,多谢指教。

锂电池不属于普通碱性电池(就是常见的 5号 7号之类的),通常放电电流比碱性电池大,但是受电池质量、保护板性能的影响,一般厂家会给出最大工作电流。你挂示波器看下有电压跌落没就清楚了

评分

参与人数 1威望 +1 收起 理由
无为之益 + 1 谢谢

查看全部评分

 楼主| 无为之益 发表于 2015-3-13 14:25 | 显示全部楼层
zhaoyu2005 发表于 2015-3-13 14:20
锂电池不属于普通碱性电池(就是常见的 5号 7号之类的),通常放电电流比碱性电池大,但是受电池质量、保 ...

问题是一接上示波器,就再也不死机,我感觉示波器也有什么电性能影响了这产品:L
zhaoyu2005 发表于 2015-3-13 14:42 | 显示全部楼层
不应该的,示波器接在电源输入的地方,监视电压是否跌落,不应该影响到运行状况的,你这样描述的话,应该在程序里判断是否外围器件出现异常,导致程序执行异常。
zhaoyu2005 发表于 2015-3-13 14:44 | 显示全部楼层
另外从你的主贴看,单片机应该没死机,只是执行结果不是期望的而已,你用死机描述不准确。
 楼主| 无为之益 发表于 2015-3-13 15:04 | 显示全部楼层
本帖最后由 无为之益 于 2015-3-13 15:31 编辑
zhaoyu2005 发表于 2015-3-13 14:44
另外从你的主贴看,单片机应该没死机,只是执行结果不是期望的而已,你用死机描述不准确。 ...


恩,我再找找原因,谢谢你!
NE5532 发表于 2015-3-13 15:58 | 显示全部楼层
能进中断,说明单片机没死,是你的流程死了。试着找一下主流程死在哪里,可能会对你定位有帮助。

评论

多谢,很正确  发表于 2015-3-17 14:15
 楼主| 无为之益 发表于 2015-3-13 17:14 | 显示全部楼层
NE5532 发表于 2015-3-13 15:58
能进中断,说明单片机没死,是你的流程死了。试着找一下主流程死在哪里,可能会对你定位有帮助。 ...

问题解决了,确实是电路环境太差,我在通信中等待ACK的时候,现在加了个等待时间限制,超时就忽略此次通信了。
以前该通信程序软件模块里是加了超时处理的,这次移植的时候不知道怎么就给弄丢了。
真粗心!
谢谢 大家!
 楼主| 无为之益 发表于 2015-3-13 17:17 | 显示全部楼层
结贴给分必须等24小时后吗?:)
很谢谢大家哈
x383709024x 发表于 2015-3-13 20:43 | 显示全部楼层
经验~~学习了
我现在一直不太会找错误~知道错误后也不知道用什么方法来解决~

评论

相互学习  发表于 2015-3-17 14:16
wj19900703 发表于 2015-3-14 01:42 | 显示全部楼层
stm8s?你用电池有加ldo么?ldo的最大输出电流是多少?再看下外部电容是不是正确的。主要是这两个问题

评论

是电路内部电磁干扰大,通信经常得不到 ACK,现在软件里增加容错技术。问题已经解决  发表于 2015-3-17 14:17
您需要登录后才可以回帖 登录 | 注册

本版积分规则

36

主题

237

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部