你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32 CAN中波特率的有关问题

[复制链接]
yumeii 发布时间:2019-12-18 17:43
我们有时候会用到SMT32F0x2芯片做产品开发,用到其中的CAN外设。采用8MHz外部晶振,经锁相环PLL  6倍频后产生48M主频,配置为250K波特率。
! X3 h1 U% D# X% k- J
, U4 a) L$ M. ^1 _; q
+ g+ a  P5 n- B" P8 D- \7 J
可实际示波器抓的和预期不符,大概是理论值1/6的样子。下面是相关配置代码:
- d: H3 i% J/ Z5 A5 U( h) i. p8 r: j( z4 l7 A7 G
9 Z* l- Q4 R- a7 p  \0 U! g
1.png
: s1 V+ c; N2 B. a4 c! R, h
* j: A! i2 f* Q" ~$ i' E! t! Y
2 d; A( A2 h% `) g
按照上面的配置,波特率的确应该是250Kbps,可测得值怎么才是理论值1/6?6 G: f. w/ r: h/ p* O  K
: T  d1 f! Z+ o) `* b

, S! n1 g; H% R+ E. k- x第一感觉是那个PLL没有起作用。这首先让人想到PLL之前的时钟源是否有问题。
6 K: I; {4 G: s( K  V
; L: e8 I+ O1 X7 t3 ]8 Y
' s7 {, Q% P+ q) m# y2 _
鉴于此,该用户检查外部晶振振荡及焊接情况,结果发现晶振没焊接好。这意味着根本没有HSE时钟给到PLL,自然它没法起作用。在这种情形下,代码里当检测到HSE无效时会默认将内部HSI时钟作为系统时钟,而这个HSI 刚好也是8MHz,所以测得CAN实际波特率为实际值的1/6.
0 e; a  t, i! l; d9 E  I4 F2 U
- a! u1 h0 b  m1 X4 P# R7 S
+ [0 v+ w" }# G1 h: M: ~* J% ^
2.png
4 ?- c. r4 o( i8 b0 m$ K
2 M" q* P4 e% N/ f- x0 ~* R5 T+ t: I
$ J& H- u4 B  p. x' }  l; B
当用户将晶振重新焊接良好后,就一切正常了。那么,到此有人或许会问,是不是这个外部晶振焊接OK、软件配置代码也OK就不会出现这个问题呢? 那还不一定!
2 H  z/ v5 ^! @1 g
# [. d  M9 {/ v8 U2 Y3 L
. U+ F( W. e. ?7 A* g/ f# L% c
毕竟,你外部晶振品质及焊接良好,软件配置正确还不能完全保证PLL一定正常工作。我们不妨看下STM32F0x2芯片的电源供应布局框图。2 A- F- n+ S8 Q
3 ?, X3 o* ?9 C" @0 m
. S% q6 j+ U& B) L3 Q# q2 [
3.png 1 @/ x7 l; c2 S. X: u

4 w& l9 B4 Z& o9 r- q* A
' V7 M8 j% O9 E# _' X; Z
从框图中我们可以看出,PLL是属于模拟电路部分,它的供电由VDDA提供。如果说芯片的VDDA脚没有正常供电【当然包括没有正常焊接情况】的话,PLL仍然是没法正常工作的,随之而来的时钟也就没法呈现我们软件代码配置所期望的结果。自然,如果作为芯片工作心跳的时钟出现异常时,它引起的连锁反应往往就会遍及到方方面面。
  r/ `2 y' A, S' x" v: }  W4 Z2 K) T, B6 L1 N8 s
+ M! R) v0 q! a) y- H
这里就上述案例做个简单延展,提醒我们在做MCU调试出现问题时,除了查找代码原因外,也别忘了最基本的电源供应、电源脚、晶振脚的连接、焊接情况。对于STM32芯片工作后的各种时钟信号的检测,有个比较简单方便的方法,那就是将某内部时钟【有时可能经过分频了】通过MCO【Master Clock Out】脚引出来,直接通过示波器查看即可。下图就是STM32F0X2芯片的MCO输出连接映射图。9 Y5 ]6 Z* ~/ v: c4 Y6 h
# w0 g8 ?0 z; o
5 i1 h8 _" l) g$ S, O# x$ G6 v  G
4.png
4 ]7 k# M! M+ K) F4 S
, ~7 p, ~3 `9 n+ w$ J- F! f% @& P

3 w* `. {+ p+ F' V
# M1 D+ R2 m: Q6 r8 a
( |  Q5 F0 l9 Q* u
赞 收藏 评论0 发布时间:2019-12-18 17:43

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版