当前位置:网站首页>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%时,串口通信是比较可靠的。
推荐阅读:
欢迎关注公众号"嵌入式技术开发",大家可以后台给我留言沟通交流。如果觉得该公众号对你有所帮助,也欢迎推荐分享给其他人。
边栏推荐
- Redis 的PSYNC命令
- Knowing these interview skills will help you avoid detours in your test job search
- Kotlin
- How does social e-commerce operate and promote?
- Babbitt yuan universe daily recommendation: three players holding "tens of millions" of collections have revealed the "three routines" of the digital collection market
- 数据搬迁最佳实践之使用CDM搬迁线下MySQL到DWS
- 【编译原理】词法分析
- 2022-06-17 advanced network engineering (x) is-is-general header, establishment of adjacency relationship, IIH message, DIS and pseudo node
- 巴比特 | 元宇宙每日荐读:三位手握“价值千万”藏品的玩家,揭秘数字藏品市场“三大套路”...
- pytorch官方文档学习记录
猜你喜欢

芝士糖豆打造AR潮玩新体验

2022-06-17 网工进阶(十)IS-IS-通用报头、邻接关系的建立、IIH报文、DIS与伪节点

The art of code annotation. Does excellent code really need no annotation?

宝藏又小众的国画3d材质贴图素材网站分享

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

SnakeYAML配置文件解析器

Difference between app test and web test

Comprehensive optimization of the six topics, Alibaba performance optimization booklet open source, leading you to the ultimate performance

万卷书 - 大力娃的书单

SMART PLC如何构造ALT指令
随机推荐
MySQL 用 limit 为什么会影响性能?
pytorch官方文档学习记录
剑指 Offer II 025. 链表中的两数相加
Problems encountered in using MySQL
Batch --07--- breakpoint lifting
Create a new ar fashion experience with cheese and sugar beans
On Web 3.0
Comprehensive optimization of the six topics, Alibaba performance optimization booklet open source, leading you to the ultimate performance
vscode插件自用
WPF development essays Collection - ECG curve drawing
XShell连接VMWare虚拟机
XXIX - orbslam2 real-time 3D reconstruction using realsensed435
Do you know all the configurations of pychrm?
SDN system method | 10 The future of SDN
万卷书 - 大力娃的书单
芝士糖豆打造AR潮玩新体验
"Podcast with relish" 386 Yuan Tang Hua Yuan Shi: who is not a "Mr. White character"?
WPF开发随笔收录-心电图曲线绘制
记一次基于PHP学生管理系统的开发
卡尔曼时间序列预测