打印

STM32F405 冷启动 程序不启动 好像丢失啦

[复制链接]
6427|26
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
pxqiang723|  楼主 | 2013-10-28 13:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
STM32F405做的开发板,运行好好的,关机再开机程序就不启动啦,检测BOOT 0/1都是接地的 RESET是外部0.1uF电容  重新烧录程序又就OK啦   但是这种现象很难复现,不过不时会出现几例,现在都不敢投产啦。
沙发
handlike| | 2013-10-28 14:18 | 只看该作者
晶振二脚之间要跨接1M电阻。

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
pxqiang723 + 1 提的这个建议没想到
板凳
香水城| | 2013-10-28 15:11 | 只看该作者
第一:把复位引脚拉出来看。当“关机再开机程序就不启动”时,看复位引脚电平正常否

第二:程序使用HSE还是默认内部HSI工作?复位成功,MCU开始运行,如果HSE没有起振,程序一直再等待HSE ready,也可能造成“程序不启动”的现象。

使用特权

评论回复
地板
pxqiang723|  楼主 | 2013-10-28 15:36 | 只看该作者
香水  你说的这两个问题
第一、 复位引脚   我就直接了一个0.1UF的电容

      “关机再开机程序就不启动”时,我测过复位引脚   电压是3.3V  是正常的

       出现“关机再开机程序就不启动”时,我试过开关机100多次,程序都不好起来。

       而且我手动复位过,程序还是不启动。

第二、我们用的是外部HSE 一个晶体8MHZ和2个20PF电容 没加限流电阻

      我在做实验的时候出现过,外部晶振没起到,自动跳到了内部HSI。因为我板子有个PWM输出,有一次出现了PWM输出周期变长的问题,再复位又正常啦。

      “关机再开机程序就不启动”时,我测过8MHZ晶体的波形,起振很正常。

使用特权

评论回复
5
pxqiang723|  楼主 | 2013-10-28 15:38 | 只看该作者
补充一下,我发现PWM输出周期变长的问题。  我测8MHZ晶体的波形,起振也是正常的。

使用特权

评论回复
6
pxqiang723|  楼主 | 2013-10-28 16:01 | 只看该作者
我现在判断不了是硬件问题 还是软件问题??如果是硬件问题,为什么重新烧录程序,板子能正常工作??如果是软件问题,为什么这种现象这么难复现??

使用特权

评论回复
7
香水城| | 2013-10-28 16:29 | 只看该作者
重新烧录一般会拉一下复位信号。

另外关机再开机,有没有看过VDDA和VDD的上电有无异常?

使用特权

评论回复
8
pxqiang723|  楼主 | 2013-10-28 17:00 | 只看该作者
我用镊子手动复位做了实验:
1、先用镊子将晶体的滤波电容短路  上电  复位完成  晶体没起振  程序判断外部晶振失效  进入内部HSI时钟

2、上电  复位 晶体起振  程序正常运行  再用镊子将晶体的滤波电容短路 外部晶体失效  程序不运行,也不会进入内部HSI时钟  松动镊子程序正常运行

使用特权

评论回复
9
pxqiang723|  楼主 | 2013-10-28 17:02 | 只看该作者
我上面做的实验也没复现程序再也启动不了的现象

使用特权

评论回复
10
airwill| | 2013-10-29 09:04 | 只看该作者
按照楼上的情况, 我看晶振电路问题的可能性大.
这个问题比较麻烦, 除了调整电路参数, 我看要换晶振供应商了

使用特权

评论回复
11
pxqiang723|  楼主 | 2013-10-29 10:47 | 只看该作者
我感觉我在8楼做的实验正好证明了程序不启动跟晶体没关系

使用特权

评论回复
12
mmuuss586| | 2013-10-29 12:50 | 只看该作者
明显丢程序了。

使用特权

评论回复
13
mmuuss586| | 2013-10-29 12:53 | 只看该作者
和晶振有啥关系啊。
电源不稳定,复位电路的电容改大点,晶振的2个电容不要用太大。

使用特权

评论回复
14
pxqiang723|  楼主 | 2013-10-29 14:58 | 只看该作者
mmuuss586   你知道为什么会丢程序吗   flash不是掉电不易失的吗  而且stm32的flash要想操作flash  还需要按顺序写两个键值

使用特权

评论回复
15
pxqiang723|  楼主 | 2013-10-30 15:24 | 只看该作者
终于到手了一个死机的板子  把程序upload出来  发现被莫名的修改了一部分   正在分析原因  应该是软件造成的

使用特权

评论回复
16
pxqiang723|  楼主 | 2013-10-31 14:53 | 只看该作者
现在软件这边也没什么头绪,不知道从哪里入手来解决,谁能给点建议。  
有没有可能是芯片的质量问题呢??

使用特权

评论回复
17
香水城主| | 2013-10-31 14:58 | 只看该作者
会不会是系统中某些器件还没有上电准备好,MCU就对它发命令了。

试试看在开机之后,做任何事情之前,先做一个小延迟。

使用特权

评论回复
18
pxqiang723|  楼主 | 2013-11-1 14:58 | 只看该作者


没思路啦   求人给指点一下

使用特权

评论回复
19
pxqiang723|  楼主 | 2013-11-1 15:59 | 只看该作者
香水  请假一个问题  就是SMT32F405  VDD VDDA这两个电源的上电顺序   我的板子VDD  VDDA各用一个LDO供电的   在实验过程中我将VDD供电LDO的滤波电容增大  使VDD上电比VDDA慢  MS级别的  大概慢上5~10MS  出现了STM32F405烧坏的现象   

我想请问一下VDD VDDA用两个电源来供电的话   如何处理

程序丢失有没有可能是这方面的原因造成的

使用特权

评论回复
20
pxqiang723|  楼主 | 2013-11-1 17:38 | 只看该作者
stm32手册上说VDDA要跟VDD连在一起
由于Vdd的电压不稳定,在大量的IO来回动作的情况下,VDD的电压极度不稳定,如果将VDDA连接到VDD,此时的AD采样误差应该明显低于VDDA与VDD分离的误差。一般的芯片VDDA和VDD都是可以分离供电的,ST的芯片怎么这么奇怪。

使用特权

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

本版积分规则

1

主题

16

帖子

1

粉丝