打印
[APM32F0]

F030_串口波特率自校准

[复制链接]
638|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
一、应用背景
HSI,内部高速时钟,由RC振荡器构成。在日常应用中,由于测试环境变化(温度、湿度等),HSI的时钟精度并不是特别高,当其出现较大偏差时,就有可能导致其他外设的功能也受到影响,串口就是其中的一员。
二、应用方案
配备条件:
1)F030的TIM14存在一个选项寄存器,可以将其通道一连接至MCO输出端;
2)自校准需开启HSE、HSI、LSI/LSE。
具体实施:
1)先由HSI作为系统时钟,开启MCO输出(输出LSI/LSE),将TIM14通道一配置(连接MCO,并使能捕获),即可得到HSI对LSI/LSE的计数值;
2)再切换HSE作为系统时钟,同样对LSI/LSE进行捕获,也得到一个计数值。
3)此时,HSE的计数值为标准值,HSI计数值与HSE计数值的差值即为误差值,误差值除以标准值为误差百分比。
4)接下来便是进入串口封装的库函数中,将波特率计算的部分在原有基础上再加入得到的误差百分比(可以做个判断,即HSI作为系统时钟再进行此运算),再将HSI作为系统时钟,即可检验结果。
三、附录

1111.png (96.75 KB )

1111.png

2222.png (30.68 KB )

2222.png

3333.png (12.67 KB )

3333.png

使用特权

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

本版积分规则

10

主题

17

帖子

0

粉丝