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

【经验分享】一种使用 Timer 测试 HSI 实际值的方法

[复制链接]
STMCU小助手 发布时间:2022-2-25 19:28
问题:" g; n. Z* T) {. C
此问题由客户提出,客户在使用 STM32F411 MCU 的后期软件联合调试时候,需要知道 HSI 的误差值,一般的方法是将 HIS 从 MCO1 的引脚上输出.9 n: [' n/ P6 @$ ^
) w! S+ J6 C$ p5 c9 U
调研:
5 G4 B% z# l# Q0 a( b1.由于在板子设计初期并没有将 MCO1(PA8)引出测试点,所以无法直接测量 HSI.
* g( G# W) o" B/ Y6 t2.因此我们可以使用间接的方式测试 HSI 的值:
  ]( q( r# C  r$ n3 |0 F      通过一个使用 HIS 做计数的 TIMER,使 TIMER 输出通过 HIS 比例关系的 PWM 波,通过示波器量 PWM 输出来获得 HIS 的值.
3 B3 z9 {2 E) t3.以下是通过 STM32CubeMX 配置的步骤:( k% c* p' }, i4 r4 J% ~
a.配置外设和管脚:$ [" |; O1 l4 h) x, l, h

  a9 U* l) O- E1 i7 b/ @ L6U$TA[T5)SV9W(FC8N)R%5.png
& R& P  ^9 H5 v6 A: Q! \" i! c  C9 V' j( p
b.配置 Timer 的分频值.
1 T% d$ o1 @4 W- O3 b                 16bit 的 timer 最大值为 65536,我们周期选择 10000.
& R; X" q; [8 Z1 n/ p3 t                 希望输出 PWM 为方波,因此 Pulse 选择 50006 g! T! [+ k. f, I0 ~

4 T+ w& a! Y- }* Y; u6 ~8 B" @1 ~- I6 U# B5 s8 q/ }
QOB68}UIZT@`LU9)`TX813C.png
2 G$ Y2 h$ _( n; G
' v9 F2 [0 J0 f" [# t  t MJPFVDUAW82C`F]P40]KJLW.png
' P: d2 k  J7 h" o3 D! b7 C9 U5 @8 m$ G8 Q+ A9 l
4.STM32CubeMX 配置好后,点击生成代码.7 p+ ~8 `$ a; \5 L% G
5.增加 PWM 启动代码:! o$ e/ j6 ]7 h) b* S9 ^; p# G
  1. HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_3);
复制代码

3 n6 K+ S0 y) r. q: o2 P6.接下来我们可以通过示波器探针连接到 PA10 上,通过示波器的频率来计算 HIS 的实际值.1 C9 `& c7 D$ x
7.测试代码和 STM32CubeMX 例程请参考附件.  ~* p  E8 |5 H; t* U: U, H' W9 L0 c
8 W% o1 h! ^0 r  G0 k

& U7 `/ S( z6 ~# M+ `3 y
赞 收藏 评论0 发布时间:2022-2-25 19:28

举报

0个回答

所属标签

相似技术帖

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