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

STM32 USART自动波特率检测

[复制链接]
STMCU小助手 发布时间:2022-7-11 22:53
前言
正确的USART通信要求发送和接收波特率的匹配度足够高,否则可能发生通信错误。
当在两个设备之间建立通信链路时,自动波特率检测十分有用,因为从设备能够检测到主控制器的波特率并进行相应的自我调整。这需要使用一种自动机制来确定波特率。
某些STM32器件中内置的USART外设提供许多功能,包括硬件自动波特率检测。
本应用笔记旨在介绍STM32微控制器的自动波特率检测功能,并为没有在硬件中实现此功能的STM32器件提供替代软件方法。
本应用笔记适用于1中所列产品。

PS01BCM)JDKYF1NBFFTNN~1.png


1硬件自动波特率检测
1.1 特性概述
自动波特率检测(ABR)使接收设备能够接受来自各种以不同速率工作的发送设备的数据,无需事先建立数据速率。
在一些STM32产品中,USART能够使用专用硬件自动确定波特率。
2提供了支持自动波特率检测的STM32系列设备的概述。


AVZ))Q`LF671GSM]H~~Y]`5.png

A~WRGZ`)W(YYG{T3R`]UQLL.png

1.2 自动波特率检测模式
ABR是指接收设备通过检查第一个字符(通常是预先选择的标志字符)确定传入数据速率的
过程。
STM32产品上的自动波特率检测功能内置的各种模式基于不同字符模式:
以“1”位为开头的任意字符:模式0
以10xx模式开头的任何字符:模式1
0x7F:模式2
0x55:模式3

BMV`B$%0HLT8GKQ5COJ}QKC.png


1.3 ABR误差计算
由USART时钟源(fCK)决定通信速率范围(尤其是最大通信速率)。接收器采用不同的用户可配置过采样技术,可区分有效输入数据和噪声,从而用于恢复数据。这可以在最大通信速率与抗噪声/时钟不准确性之间实现平衡。
可通过编程USARTx_CR1寄存器中的OVER8位来选择过采样方法,可以是波特率时钟的16倍 或8倍。
USART时钟源频率必须与预期通信速率兼容:
16倍过采样时,波特率介于fCK/65535与fCK/16之间。
8倍过采样时,波特率介于fCK/65535与fCK/8之间。
波特率误差取决于USART时钟源、过采样方法和ABR模式。


_%GIBR}F{1X7RZ%N1SN2E5G.png

其中:
预期波特率取决于发送设备
实际波特率是USART接收器使用自动波特率检测操作确定的波特率

完整版请查看:附件



DM00327191_ZHV1.pdf

下载

384.96 KB, 下载次数: 22

收藏 评论0 发布时间:2022-7-11 22:53

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版