STM32电源电压对通信CAN/USART以及PVD的影响

以前用的一个【片就发现,电慢慢不足,先受影响的是CAN,然后CPU才受到影响。
现在正在做STM32的电源供电对通信的影响 

万用表 FLUKE 17B
电源ZHAOXIN RXN-605D
芯片STM32F103V
分析仪SYSTIC PCAN VIEW

串口SSCOM

---------------------------------

继续 外部正常供电5V情况下,
找到CAN发送成功与否的分界线3.343V。大于这个电压CAN发送成功,小于则发送不成功。若“=”,部分成功部分不成功。
3.343是个模糊值,当然会抖一抖的。

----------------------------------

外部3.8V时候 触发2.9V的PVD

----------------------------------

本帖最后由 xlsbz 于 2014-11-8 16:06 编辑

我所有的是试验时用仿真器下载后直接运行的。但仿真后不在线那种。
就是仿真器输出Application running ...提示这种

所以别考虑启动电流

 

---------------------------------------------------

3.343V下CAN出初始化成功  低一点 大概3.1就不成功。
搞CAN通信的要注意了。要对初始化进行判断是否成功  往往有时候外部供电不稳  CPU起来了,但是CAN初始化失败

 

--------------------------------------------------

外部3.8V时候 触发2.9V的PVD,但是USART通信没问题。打印出ms的时间
可以看到。
normal = 0,-----26611
normal = 0,-----27611
pvd = 2
normal = 0,-----28611
normal = 0,-----29611
normal = 0,-----30610
normal = 0,-----31611
normal = 0,-----32611
normal = 0,-----33611
normal = 0,-----34611
normal = 0,-----35611
normal = 0,-----36611
pvd = 3
normal = 0,-----37611

进一次中断pvd的值+1在while(1)主循环里面打印出上面pvd=?的信息。注意是裸奔

----------------------------------------------------------------------------

当外部供电达到3.056时候 
RS232的com1停止输出
normal = 0,-----468611
normal = 0,-----469611
normal = 0,-----470611
normal = 0,-----471611
normal = 0,-----472610
normal = 0,-----473611
normal = 0,-----474610
normal = 0,-----475611//这里停止了

然后再升压,发现重新初始化寄存器 就是从头开始运行程序了。
说明3.056时候cpu已经无法工作了。升压后相当于重新上电了,并且RCC时钟返回RCC_GetFlagStatus的那几个值完全和5v时候一样。彻底说明是重新上电了
开狗了,但是没有引发看门狗复位。
---------------------------------------------------------------------------

另外,在做测试过程中,有次竟然出现了进入harddefault的情况,后来一查,原来是打印语句用的不对应该是%u,我写成了n%。看样子这个pritnf真是个危险的东东。

misra的推荐是很有道理的。

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值