3387|11

3238

帖子

5

TA的资源

五彩晶圆(中级)

楼主
 

stm32之运行怪异现象 [复制链接]

 
本帖最后由 wateras1 于 2017-11-20 13:52 编辑

             最近项目中看到同事使用的STM32F103芯片出现了两个很奇怪的运行异常现象,至今我也没想明白为什么会出现这类现象,特发来大伙一起讨论下可能有什么原因。
        1:stm32f103看门狗无法正常复位,程序在运行一段时间时竟然莫名其妙的死机了(在工程现场发现多次,实验室未复现),但是内狗和外狗都被杀了(即使内部看门狗和外部看门狗都打开了,都不起作用),这个问题描述有问题,时间过得太久了,几个月前的原因,细节都忘了,刚又和当事人咨询了下,发生死机现象时,外部看门狗起作用了(输出了低电平),但是复位电路貌似不起作用,及时强制给芯片低电平都不能让芯片复位。
        2: stm32f103程序运行一段时间(目前只在工程现场遇到,实验室搭建的测试平台跑了几个月都没看到),竟然串口接收中断都没触发,接收不了数据(正常情况串口软件会将串口1接收的数据通过串口2打印出来,异常出现时串口2无数据打印;已经用示波器测试了芯片的RX引脚,可以收到串口数据,一切正常,硬件应该没问题,板子按键复位后,又可以收到串口数据)。
        这款芯片已经出来很多年了,我也是用过好些年,不过上面的情况,我也没遇到过,我也用stm32f103做了一款有线网关,至今都未遇到他们遇到的问题,看了串口程序配置,没发现有什么不同。


此帖出自stm32/stm8论坛

最新回复

个人再猜另外一个角度吧,是不是抗干扰做得不够。我觉得,抗干扰过关的话,看门狗几乎不会用到。要是电平这么跳的话,那A/D没法做了  详情 回复 发表于 2017-11-26 19:20
点赞 关注
个人签名淘宝:https://viiot.taobao.com/Q群243090717
多年专业物联网行业经验,个人承接各类物联网外包项目
 

回复
举报

2167

帖子

8

TA的资源

五彩晶圆(初级)

沙发
 
检查一下复位和上电。
之前有一个测试项目遇到过类似的问题,也是不掉电就的无法复位,程序不运行。重上电就可以。
原因就是,IC在POR之后,BootLoader会从外部加载固件,运行期间,有外部复位BootLoader会重新从外部加载固件,但是期间reset上有较大抖动,(即BootLoader加载程序未完成期间,又读到复位状态),会使得BootLoader电路有一定几率出错进入到异常状态,无法恢复,(即再怎么按复位键也没有作用,主要是reset并不会IC内部的全局复位,进入到异常状态,确实无法通过reset恢复初始态,只能断电再来)

103用过,不过不是非常熟,不一定一样,只是提个思路,以前掉过这个坑
此帖出自stm32/stm8论坛

点评

后面你们是怎么解决的呢?复位电路,感觉都大同小异,没发现什么问题,板子不是我画的。你这个描述确实有意思。对于看门狗无法复位现象,其实我描述的不是很清晰,再次,我描述更清晰些 目前我所看到的,都是同事  详情 回复 发表于 2017-11-20 13:37
 
个人签名坐而言不如起而行
 

回复

4008

帖子

0

TA的资源

版主

板凳
 
本帖最后由 huo_hu 于 2017-11-20 13:30 编辑

是不是复位以后晶振不起振啊,个别的还是大批的
坐等答案学习一下
此帖出自stm32/stm8论坛

点评

我A同事的外部狗和内部狗都被干掉后,测试的晶振有输出正常波形  详情 回复 发表于 2017-11-20 13:46
发现好几起了,感觉不像个例。重点是板子会时不时发生几次还不知道什么原因导致的。  详情 回复 发表于 2017-11-20 13:40
 
 

回复

3238

帖子

5

TA的资源

五彩晶圆(中级)

4
 
本帖最后由 wateras1 于 2017-11-20 13:54 编辑
wsmysyn 发表于 2017-11-20 11:48
检查一下复位和上电。
之前有一个测试项目遇到过类似的问题,也是不掉电就的无法复位,程序不运行。重上电 ...

后面你们是怎么解决的呢?复位电路,感觉都大同小异,没发现什么问题,板子不是我画的。你这个描述确实有意思。对于看门狗无法复位硬件现象,其实我描述的不是很清晰,再次,我描述更清晰些

目前我所看到的,都是同事的项目上看到的,我自己都没遇到过(不过我的复位电路和芯片和他们都是一样的)
1:A同事的板子在工程现场遇到过死机,但是他的硬件内部狗和外部狗都打开了,但是硬件电路还是无法复位,只能掉电重启才可以恢复,按复位键都不起作用
2:B同事的板子只使用了内部狗,他的硬件死机后,内部狗也不起作用,但是按下复位键还是可以恢复正常的。
你的现象和我A同事的有些像。
此帖出自stm32/stm8论坛

点评

我们遇到这个问题,也是比较偶然,做快速复位撤销的实验,找一个窗口,阈值,和最小复位时间等等,发现有这样问题的。 因为做芯片的,后续解决办法就是,关于reset部分,加一些迟滞电压,大概100mV这样,reset到了V  详情 回复 发表于 2017-11-20 15:05
 
个人签名淘宝:https://viiot.taobao.com/Q群243090717
多年专业物联网行业经验,个人承接各类物联网外包项目
 
 

回复

3238

帖子

5

TA的资源

五彩晶圆(中级)

5
 
huo_hu 发表于 2017-11-20 13:29
是不是复位以后晶振不起振啊,个别的还是大批的
坐等答案学习一下

发现好几起了,感觉不像个例。重点是板子会时不时发生几次还不知道什么原因导致的。
此帖出自stm32/stm8论坛

点评

如图  详情 回复 发表于 2017-11-20 14:02
 
个人签名淘宝:https://viiot.taobao.com/Q群243090717
多年专业物联网行业经验,个人承接各类物联网外包项目
 
 

回复

3238

帖子

5

TA的资源

五彩晶圆(中级)

6
 
本帖最后由 wateras1 于 2017-11-20 13:53 编辑
huo_hu 发表于 2017-11-20 13:29
是不是复位以后晶振不起振啊,个别的还是大批的
坐等答案学习一下

我A同事的外部狗和内部狗都开启的情况下,板子还是死机,测试的晶振有输出正常波形
此帖出自stm32/stm8论坛
 
个人签名淘宝:https://viiot.taobao.com/Q群243090717
多年专业物联网行业经验,个人承接各类物联网外包项目
 
 

回复

3238

帖子

5

TA的资源

五彩晶圆(中级)

7
 
wateras1 发表于 2017-11-20 13:40
发现好几起了,感觉不像个例。重点是板子会时不时发生几次还不知道什么原因导致的。

如图

IMG_20171120_135842.jpg (93.61 KB, 下载次数: 0)

IMG_20171120_135842.jpg
此帖出自stm32/stm8论坛
 
 
 

回复

2167

帖子

8

TA的资源

五彩晶圆(初级)

8
 
wateras1 发表于 2017-11-20 13:37
后面你们是怎么解决的呢?复位电路,感觉都大同小异,没发现什么问题,板子不是我画的。你这个描述确实有 ...

我们遇到这个问题,也是比较偶然,做快速复位撤销的实验,找一个窗口,阈值,和最小复位时间等等,发现有这样问题的。
因为做芯片的,后续解决办法就是,关于reset部分,加一些迟滞电压,大概100mV这样,reset到了VIH电压时,如果再有一定程度的波动,也不会使reset马上再进入复位状态。BootLoader部分修改设计等等。具体不太清楚了。

实际板级设计的话,可以考虑比较可靠的复位电路,增加抗干扰等等;
实验室话可以造一些reset的扰动,板子不下电,快速的复位撤销,看看是不是和reset有关系。

此帖出自stm32/stm8论坛
 
个人签名坐而言不如起而行
 
 

回复

4177

帖子

9

TA的资源

五彩晶圆(高级)

9
 
外部看门狗?使用了外部看门狗芯片?之前我们也是碰到一个板子,RESET引脚没办法复位,用的是RC复位电路。
后面发现了问题,RC中的C使用不能太大,也都考虑到用外部看门狗芯片呢。。。。
但是,修改了RC中c的值,就没有问题,也没有使用外部看门狗啊。



还有一点需要提醒下哥,stm32的外围电路的设计,一定不能走经验主义。。。。。好多人走经验主义。反正是103的,外围电路抄来抄去的,除了问题也是以为没有问题。当然,这个不是说哥您,只是表达个现象呢。
此帖出自stm32/stm8论坛

点评

其实我也觉得是和复位电路有关系,尤其电容,电阻取值方面确实目前很多人都是相互抄袭也不知道为什么这样取值,这个电路不是我画的,我公司硬件工程师整的。  详情 回复 发表于 2017-11-24 18:01
 
 
 

回复

3238

帖子

5

TA的资源

五彩晶圆(中级)

10
 
huaiqiao 发表于 2017-11-24 17:32
外部看门狗?使用了外部看门狗芯片?之前我们也是碰到一个板子,RESET引脚没办法复位,用的是RC复位电路。
...

其实我也觉得是和复位电路有关系,尤其电容,电阻取值方面确实目前很多人都是相互抄袭也不知道为什么这样取值,这个电路不是我画的,我公司硬件工程师整的。
此帖出自stm32/stm8论坛

点评

是的,我觉得他可能复位电路用到了,然后外部看门狗也用了。。。。。而且复位电路中RC中的C的容值用的不对,所以造成的。 我看楼上说,关电后才能复位。 但是,比较暴力和粗暴的做法是,拿镊子,夹住电容两端  详情 回复 发表于 2017-11-24 18:09
 
个人签名淘宝:https://viiot.taobao.com/Q群243090717
多年专业物联网行业经验,个人承接各类物联网外包项目
 
 

回复

4177

帖子

9

TA的资源

五彩晶圆(高级)

11
 
wateras1 发表于 2017-11-24 18:01
其实我也觉得是和复位电路有关系,尤其电容,电阻取值方面确实目前很多人都是相互抄袭也不知道为什么这样 ...

是的,我觉得他可能复位电路用到了,然后外部看门狗也用了。。。。。而且复位电路中RC中的C的容值用的不对,所以造成的。
我看楼上说,关电后才能复位。

但是,比较暴力和粗暴的做法是,拿镊子,夹住电容两端  就可以使得CPU复位。如果这样都不能复位,那么是CPU的问题呢。
此帖出自stm32/stm8论坛
 
 
 

回复

116

帖子

0

TA的资源

版主

12
 
个人再猜另外一个角度吧,是不是抗干扰做得不够。我觉得,抗干扰过关的话,看门狗几乎不会用到。要是电平这么跳的话,那A/D没法做了
此帖出自stm32/stm8论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表