当前位置:网站首页>UART波特率对时钟精度的要求有多高?
UART波特率对时钟精度的要求有多高?
2022-06-25 16:56:00 【天外飞仙CUG】

串口通讯(UART)是一种异步通讯,收发双方需要按照约定的波特率进行通讯。当波特率出现误差时,会导致通讯出错。那导致波特率出现误差的因素都有哪些呢,今天就来分析一下。
1.分频误差
首先,波特率是根据系统时钟分频产生的,而系统时钟和波特率可能不是整数倍的关系,所以分频时也会产生误差。但是目前大部分MCU的系统时钟比较高,一般都在几十MHz,远远大于串口通讯波特率,所以这个误差影响很小。假设MCU时钟为48MHz,波特率为115200,48MHz/115200=416.67,按照417分频,实际波特率为48M/417=115108,误差为(115200-115108)/115200,约为0.08%,这个误差很小,对串口通讯没什么影响。
但是,当系统时钟较低,或者波特率较高时,也就是两者相差倍率较小时,这个误差就不可忽视。
对于一些较早的51内核的MCU,由于运行频率低,采用非整数的晶振(比如11.0592M等)就是为了使用常见波特率时(比如9600、115200),分频的误差尽量小。
2.时钟误差
其次,波特率的主要误差还是取决于系统时钟的误差。那串口通讯对时钟误差的要求有多高呢?
先看串口通讯时序图:

串口通讯由起始位、数据位、校验位、停止位组成。以常见的8N1为例,即1位起始位,8位数据位,无校验,1位停止位。也就是说传输一个字节需要10bits。每一个字节都有一个起始位做同步,所以误差只会在一个字节内累计。
不难看出,在最后一个位采样时,误差最大,允许极限误差为0.5位。按照每个字节10位计算,最大允许误差为±0.5/10=±0.05,即±5%。考虑到串口通讯涉及收发两端,两端都可能存在误差,所以,每端的误差最好控制在±2.5%以内。
当数据位、校验位等较多时,要求的时钟误差就更高一些。考虑到上面所说的分频误差,一般来说,当时钟误差小于±2%时,串口通信是比较可靠的。
推荐阅读:
欢迎关注公众号"嵌入式技术开发",大家可以后台给我留言沟通交流。如果觉得该公众号对你有所帮助,也欢迎推荐分享给其他人。
边栏推荐
- The art of code annotation. Does excellent code really need no annotation?
- Babbitt yuan universe daily recommendation: three players holding "tens of millions" of collections have revealed the "three routines" of the digital collection market
- Batch --07--- breakpoint lifting
- LSF如何看job预留slot是否合理?
- 剑指 Offer II 014. 字符串中的变位词 滑动窗口
- 「津津乐道播客」#386 原汤话原食:谁还不是个“白字先生”?
- vscode插件自用
- WPF开发随笔收录-心电图曲线绘制
- 巴比特 | 元宇宙每日荐读:三位手握“价值千万”藏品的玩家,揭秘数字藏品市场“三大套路”...
- 【Matlab】曲线拟合
猜你喜欢

【微服务|Sentinel】流控规则概述|针对来源|流控模式详解<直接 关联 链路>

SMART PLC如何构造ALT指令

超全金属PBR多通道贴图素材网站整理

SnakeYAML配置文件解析器

数学建模——线性规划

【剑指 Offer II 091. 粉刷房子】

巴比特 | 元宇宙每日荐读:三位手握“价值千万”藏品的玩家,揭秘数字藏品市场“三大套路”...

Ten thousand volumes - list of Dali wa

学习太极创客 — MQTT(三)连接MQTT服务端

Sword finger offer 39 Numbers that occur more than half the time in the array
随机推荐
Wireshark network card cannot be found or does not display the problem
Redis系列——概述day1-1
Knowing these interview skills will help you avoid detours in your test job search
2021年5月云南省网络空间安全比赛赛题复盘
tasklet api使用
六大专题全方位优化,阿里巴巴性能优化小册终开源,带你直抵性能极致
学习太极创客 — MQTT(一)MQTT 是什么
Sword finger offer II 035 Minimum time difference
ES6知识点
Cache architecture scheme of ten million level shopping cart system
计网 | 形象理解路由协议RIP、OSPF、BGP
Sword finger offer 50 First character that appears only once
居家办公让我绩效拿了C | 社区征文
Redis distributed lock collation
Protocol and hierarchy
STM32 hardware error hardfault_ Handler processing method
Will the 2022 cloud world be better
卡尔曼时间序列预测
协议和分层次
Solution to the problem of incorrect clock in FreeRTOS kernel