0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

UART串口通信使用16倍过采样数据的原因

硬件攻城狮 来源:硬件攻城狮 2024-02-21 13:38 次阅读

增强抗干扰是原因之一

标准UART可以选16倍采样,也可以选64倍采样,个人觉得应该是方便分频设计。

标准UART的RXD前端有一个"1到0跳变检测器",当其连续接受到8个RXD上的地电平时,该检测器就认为RXD线出现了起始位,进入接受数据状态.在接受状态,接受控制器对数据位7,8,9三个脉冲采样,并遵从三中取二的原则确定最终值.采用这一方法的根本目的还是为了增强抗干扰,提高数据传送的可靠性,采样信号总是在每个接受位的中间位置,可以避开数据位两端的边沿失真,也可以防止接受时钟频率和发送时钟频率不完全同步引起的误差。

首先回顾一下异步串口通信的数据格式:

c386fa5c-d070-11ee-a297-92fbcf53809c.png

由于在空闲状态时,传送线为逻辑“1”状态,而数据的传送总是以一个起始位“0”开始,所以当接收器检测到一个从“1”向“0”的跳变时,便视为可能的起始位(要排除干扰引起的跳变);起始位被确认后,就知道发送器已开始发送,接收器就可以按这个数据通信格式接收后续的数据了;当检测到停止位“1”后就表明一帧字符数据已发送完毕。

关于接收器的设计最主要的一点是如何提高采样的准确率,最好是保证采样点处于被采样数据的时间中间点。所以,在接收采样时要用比数据波特率高n倍(n≥1)速率的时钟对数据进行采样。在本程序中用16倍波特率时钟进行采样。结合图示,我们讲解一下如何让采样时刻处于被采样数据的时间中间点:

c38b9dd2-d070-11ee-a297-92fbcf53809c.png

1.在t1时刻若检测到低电平,就开始对这个低电平进行连续的检测

2. 当检测了8个时钟周期后,到达t2,此刻,若前面的8个周期都是低电平,则认为检测到了起始脉冲。否则就认为是干扰,重新检测。

3. 在检测到起始位后,再计数16个采样时钟周期就到达了第一个数据位的时间中间点t3,在此刻采样数据并进行保存。

4. 然后再经过16个周期,就是第二个数据位的时间中间点,在此时刻进行采样;然后,再经过16个周期,就是第三个数据位的时间中间点, 在此时刻进行采样…..一直这样采样,直到把所有的数据位采样完毕。




审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 控制器
    +关注

    关注

    112

    文章

    15239

    浏览量

    171224
  • 接收器
    +关注

    关注

    14

    文章

    2215

    浏览量

    70672
  • uart
    +关注

    关注

    22

    文章

    1159

    浏览量

    99973
  • 串口通信
    +关注

    关注

    32

    文章

    1577

    浏览量

    54868
  • 时钟采样
    +关注

    关注

    0

    文章

    4

    浏览量

    3338

原文标题:为什么UART串口通信要16倍过采样数据

文章出处:【微信号:mcu168,微信公众号:硬件攻城狮】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    UART-uart2_rxByteQ []不接收数据

    电机反应并发送确认命令,通信使UART进行。问题是UARTAR2RXBYTEQ[]从来没有(如我所理解的)从步进电机获得数据原因何在?UART
    发表于 09-05 16:23

    请问单片机和GSM模块通信使用的串口可以同时使用在电脑上打印调试信息吗?

    单片机和GSM模块通信使用的串口,还能同时使用在电脑上打印调试信息不?搞了半天没现象,是这个原因不?一个串口引脚既和GSM模块通信,又在电脑
    发表于 03-14 06:35

    串口通信使用的电平转换电路介绍

    都可以实现,就看你是不是土豪,是不是能够用得起集成芯片。这里,介绍一种串口通信使用的电平转换电路,奇葩的是本次项目需要实现2.8V到3.7V的电平相互转换。
    发表于 02-05 06:23

    介绍一种Atmega16单片机串口通信

    制作而成。串口通信需要使用到的内部寄存器在进行程序编写前需要对16单片机中的寄存器的作用和使用方法有所了解,下面为16单片机串口
    发表于 07-13 07:46

    niosii的UART串口通信

    niosii的UART串口通信niosii的UART串口通信
    发表于 04-06 17:03 0次下载

    基于51单片机的UART串口通信

    基于51单片机的UART串口通信详解。
    发表于 11-21 10:14 6.2w次阅读
    基于51单片机的<b class='flag-5'>UART</b><b class='flag-5'>串口</b><b class='flag-5'>通信</b>

    uart是什么意思?认识uart串口

    设备没有显示屏,无法获得嵌入式设备实时数据信息,通过UART串口和超级终端相连,打印嵌入式设备输出信息。并且在对嵌入式系统进行跟踪和调试时,UART
    发表于 12-06 14:51 10.7w次阅读
    <b class='flag-5'>uart</b>是什么意思?认识<b class='flag-5'>uart</b><b class='flag-5'>串口</b>

    串口通信的原理,IO口模拟UART串口通信

    UART串口波特率,常用的值是300、600、1200、2400、4800、9600、14400、19200、28800、38400、57600、115200等速率。IO口模拟UART串行通信
    的头像 发表于 05-04 15:26 2.1w次阅读
    <b class='flag-5'>串口</b><b class='flag-5'>通信</b>的原理,IO口模拟<b class='flag-5'>UART</b><b class='flag-5'>串口</b><b class='flag-5'>通信</b>

    Atmega16单片机串口通信

    制作而成。串口通信需要使用到的内部寄存器在进行程序编写前需要对16单片机中的寄存器的作用和使用方法有所了解,下面为16单片机串口
    发表于 11-15 13:21 13次下载
    Atmega<b class='flag-5'>16</b>单片机<b class='flag-5'>串口</b><b class='flag-5'>通信</b>

    ESP32 之 ESP-IDF 教学(九)—— 串口通信UART

    ESP32 之 ESP-IDF 教学(九)—— 串口通信UART)文章目录ESP32 之 ESP-IDF 教学(九)—— 串口通信
    发表于 11-26 13:21 42次下载
    ESP32 之 ESP-IDF 教学(九)—— <b class='flag-5'>串口</b><b class='flag-5'>通信</b>(<b class='flag-5'>UART</b>)

    C51的UART 串口通信

    C51的UART 串口通信
    发表于 11-29 12:21 9次下载
    C51的<b class='flag-5'>UART</b> <b class='flag-5'>串口</b><b class='flag-5'>通信</b>

    UART串口通讯

    UART串口通讯总结前言串口的基本概念串口配置的基本属性串口(Serial port)和RS-232串口
    发表于 12-20 19:31 23次下载
    <b class='flag-5'>UART</b><b class='flag-5'>串口</b>通讯

    单片机IO口模拟UART串口通信

    为了让大家充分理解 UART 串口通信的原理,我们先把 P3.0 和 P3.1 当做 IO 口来进行模拟实际串口通信的过程,原理搞懂后,我们
    发表于 02-09 10:25 23次下载
    单片机IO口模拟<b class='flag-5'>UART</b><b class='flag-5'>串口</b><b class='flag-5'>通信</b>

    Uart的接收采样率为什么是发送速率的16倍?

    学过串口通信的朋友都知道这个设计,这个来源在最早要追溯到8086处理器芯片中,为了兼顾速度和稳定性,采样倍数就采取了16倍。所以就一直流传下来了。实际上最佳
    的头像 发表于 01-12 10:12 1616次阅读

    UART串口通信协议是什么?

    ,广泛应用于嵌入式领域。 在UART串口通信协议中,数据以字节的形式进行传输。发送和接收端的通信流程如下: 1、
    的头像 发表于 03-19 17:26 296次阅读