打印
[STM32F1]

STM32F1芯片有缺陷

[复制链接]
4095|45
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yutaoch|  楼主 | 2016-4-20 13:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 yutaoch 于 2016-4-20 15:39 编辑

我这边使用STM32F103R8T6出现一种现象,快速通断电1000次(通电3s,断电2s),会有两三次MCU不运作,硬件复位也不起作用,请问是否IC本身就有这个缺陷,谢谢。
    硬件描述:
        1)复位引脚接1uf的电容到地,如果改用0.1uf的电容,1000次上电出现MCU不工作的几率上升到10次以上。
        2)晶振采用内部振荡器,倍乘到64M,晶振引脚设置为强输出,输出电平0
        3)启动就开启看门狗,启动如下:int main(void)
{                     

        
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO | RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOC, ENABLE);
        AFIO->MAPR &= ~AFIO_MAPR_SWJ_CFG;        
        AFIO->MAPR |= AFIO_MAPR_SWJ_CFG_JTAGDISABLE;
        GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE);
        GPIOB->BSRR = 0X08010000;

        Iwdg_Init();        //看门狗初始化
        
        Start_Init();                    //eeprom 24c02 初始化
。。。。。。。。。。。。
沙发
siemens11| | 2016-4-20 14:30 | 只看该作者
有几个地方不明白
1、快速上电是怎么定义,通电多久?
2、不运作是什么意思,lz有没有跟踪程序在哪挂了?

断电1s,这个时间还是比较长的了
此外,我比较感兴趣lz的pcb布局~~

使用特权

评论回复
板凳
yutaoch|  楼主 | 2016-4-20 15:36 | 只看该作者
本帖最后由 yutaoch 于 2016-4-20 15:42 编辑
siemens11 发表于 2016-4-20 14:30
有几个地方不明白
1、快速上电是怎么定义,通电多久?
2、不运作是什么意思,lz有没有跟踪程序在哪挂了?

1,快速上电描述可能不是很清晰,是指频繁通断电(通电3秒,断电2s)
2,不运作是MCU无法进入MIAN(),硬件复位也不工作3,PCB布局公司不给发

使用特权

评论回复
地板
runningwzf| | 2016-4-20 16:57 | 只看该作者
另外,从你描述的现象来看,估计是VDD上电太慢。
也就是当复位信号消失以后,CPU进入正常工作时VDD的电压还不够,就会造成CPU不启动,这个现象我们在产品中试过。
在实际使用中必须要保证VDD的上升时间小于复位的时间。对于你出现的这种情况,建议你可以选择降低VDD的上升时间,简单点说就是缩小电源电路的电解电容;或者加大复位时间,就是增大外接的复位电容。不管那种做法,建议你一定要同时监测VDD和nRST引脚的电平
电源电路的电容要限制,不是越大越好,如果VDD上电过慢,极容易造成CPU不启动。

使用特权

评论回复
评分
参与人数 1威望 +2 收起 理由
yutaoch + 2 很给力!
5
siemens11| | 2016-4-20 17:27 | 只看该作者
runningwzf 发表于 2016-4-20 16:57
另外,从你描述的现象来看,估计是VDD上电太慢。
也就是当复位信号消失以后,CPU进入正常工作时VDD的电压还 ...

学习了~

使用特权

评论回复
6
yutaoch|  楼主 | 2016-4-20 17:44 | 只看该作者
runningwzf 发表于 2016-4-20 16:57
另外,从你描述的现象来看,估计是VDD上电太慢。
也就是当复位信号消失以后,CPU进入正常工作时VDD的电压还 ...

谢谢,给MCU供电LDO后面接了两个10UF的钽电容,可能太大,现在改小做实验。

使用特权

评论回复
7
Bermanrep| | 2016-4-20 17:46 | 只看该作者
你不用复位电路的话也应该能够启动吧

使用特权

评论回复
8
mmuuss586| | 2016-4-20 17:49 | 只看该作者
电源没处理好吧;
再弄下,芯片估计都坏了;

使用特权

评论回复
9
yutaoch|  楼主 | 2016-4-20 17:58 | 只看该作者
mmuuss586 发表于 2016-4-20 17:49
电源没处理好吧;
再弄下,芯片估计都坏了;

上千次开机,偶尔有一两次出现这种现象,电压都OK

使用特权

评论回复
10
戈卫东| | 2016-4-20 18:22 | 只看该作者
对 AFIO->MAPR 的使用方法不正确
这个寄存器的某些域是只写的,不能用 &= 和  |= 那类的操作

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
yutaoch + 1 赞一个!
11
m564522634| | 2016-4-20 19:28 | 只看该作者
你确定是单片机的问题,不是你PCB设计问题

使用特权

评论回复
12
m564522634| | 2016-4-20 19:29 | 只看该作者
这种问题基本上是PCB的问题

使用特权

评论回复
13
energyplants| | 2016-4-20 22:45 | 只看该作者
我知道M1的I2C有debug,不知道其他还有什么缺陷

使用特权

评论回复
14
myxiaonia| | 2016-4-21 08:04 | 只看该作者
戈卫东 发表于 2016-4-20 18:22
对 AFIO->MAPR 的使用方法不正确
这个寄存器的某些域是只写的,不能用 &= 和  |= 那类的操作 ...

我也曾经遇上个这个问题,吃一堑长一智

使用特权

评论回复
15
myxiaonia| | 2016-4-21 08:09 | 只看该作者
如果你留心stm32的手册或者香水城关于复位的帖子,你就知道不符合条件的复位是会导致mcu锁死,必须上电复位才行,你这里的硬件复位到底是什么鬼?
用个复位电路吧,也没多少钱

使用特权

评论回复
评分
参与人数 1威望 +2 收起 理由
yutaoch + 2 赞一个!
16
robter| | 2016-4-21 08:11 | 只看该作者
楼主厉害,这样的问题也能发现,应该是电源冲击问题,非单片机缺陷

使用特权

评论回复
17
皈依| | 2016-4-21 08:18 | 只看该作者
标题党吧。。。f1的片子每年卖多少啊。。这种BUG就被楼主一个人发现了。

使用特权

评论回复
18
walnutcy| | 2016-4-21 08:38 | 只看该作者
PCB的电源设计故障,电源问题解决了基本就OK了。

使用特权

评论回复
19
pandengzhepan| | 2016-4-21 09:09 | 只看该作者
个人感觉5楼的回复还是比较好的,

使用特权

评论回复
20
yhn1973| | 2016-4-21 09:11 | 只看该作者
STM32F103的内部复位确实做的不好,快速通断电导致不能复位的问题我在我用的其他单片机上就没碰到过,但在STM32上就能碰到,最后没办法加了外部复位芯片在可靠解决。
这种问题如果换做是STC单片机就不知被喷成什么了

使用特权

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

本版积分规则

3

主题

20

帖子

0

粉丝