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

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

3天内不再提示

uart串口通信原理是什么?

淘晶驰串口屏 2022-12-02 14:55 次阅读

UART通信协议是什么?
UART作为异步串口通信协议的一种,工作原理是将传输数据的每一个字符一位一位地传输。其中每一位(bit)的意义如下:
起始位:先发出一个逻辑“0”的信号,表示传输字符开始。
数据位:紧接着起始位之后。数据位的个数可以是4、5、6、7、8等,构成一个字符。通常采用ASCII码。从最低位开始传送,靠时钟定位。
奇偶校验位:数据位加上这一位后,使得“1”的位数应为偶数(偶校验)或奇数(奇校验),以次来校验数据传送的正确性。
停止位:它是一个字符数据的结束标志。可以是1位、1.5位、2位的高电平。因为数据是在传输线上定时的,并且每一个设备有其自己的时钟,所以很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。适用于停止位的位数越多,不同时钟同步的容忍程度越大,但是数据传输率也就越慢。
空闲位:处于逻辑“1”状态,表示当前线路上没有数据传输。


UART串口通信的工作原理
(1)发送数据过程
空闲状态,线路处于高电平;当收到发送指令后,拉低线路的一个数据位的时间T,接着数据按低位到高位依次发送,数据发送完毕后,接着发送奇偶校验位和停止位,一帧数据发送完成。
(2)数据接收过程:
空闲状态,线路处于高电平;当检测到线路的下降沿(高电平变为低电平)时说明线路有数据传输,按照约定的波特率从低位到高位接收数据,数据接收完毕后,接着接收并比较奇偶校验位是否正确,如果正确则通知后续设备接收数据或存入缓冲。
由于UART是异步传输,没有传输同步时钟,为了保证数据的正确性,UART采用16倍数据波特率的时钟进行采样。每个数据有16个时钟采样,取中间的采样值,以保证采样不会滑码或误吗。一般UART一帧的数据位数为8,这样即使每个数据有一个时钟的误差,接收端也能正确地采样到数据。
UART的接收数据时序为:当检测到数据的下降沿时,表明线路上有数据进行传输,这是计数器CNT开始计数,当计数器为24=16+8时,采样的值为第0位数据;当计数器的值为40时,采样的值为第一位数据,依次类推,进行后面6个数据的采样。如果需要进行奇偶校验,则当计数器的值为152时,采样的值即为奇偶位;当计数器的值为168时,采样的值为“1”表示停止位,数据接收完成。

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

    关注

    6039

    文章

    44588

    浏览量

    636761
  • 触摸屏
    +关注

    关注

    42

    文章

    2310

    浏览量

    116454
  • 串口屏
    +关注

    关注

    8

    文章

    535

    浏览量

    37493
收藏 人收藏

    评论

    相关推荐

    【RA-Eco-RA4E2-64PIN-V1.0开发板试用】UART串口通信-收发回显

    一.串口介绍 USART是全双工通用同步/异步收发器,是一种串行的设备。在嵌入式开发设计中经常被使用到,广泛的被应用于主机与外围设备的通信交互中,应用相当的广泛。 UART和 USART有
    发表于 12-15 17:32

    【RA-Eco-RA4E2-64PIN-V1.0开发板试用】02、UART串口通信

    调试信息。 所以,为了方便后续调试,在这一节中,学习使用FSP库进行UART串口通信。 1 硬件部分 从RA-Eco-RA4E2-64PIN-V1.0开发板的原理图可以知道,这块板子使用CH340N
    发表于 12-14 11:44

    支持UART串口通信协议的快充协议芯片,支持PD+QC+FCP+AFC协议

    铭达H004D芯片是目前市面上为数不多的一款即支持全协议,又支持UART串口通信的取电芯片。还支持功能定制,例如需要定制电压、
    的头像 发表于 12-04 15:27 384次阅读
    支持<b class='flag-5'>UART</b><b class='flag-5'>串口</b><b class='flag-5'>通信</b>协议的快充协议芯片,支持PD+QC+FCP+AFC协议

    【AG32开发板体验连载】AG32VF407 UART串口通信测试

    【AG32开发板体验连载】--智能蒸烤箱 AG32VF407 UART串口通信测试 由AG32VF407 MCU手册可知, AG32VF407 MCU自带的UART
    发表于 11-23 23:23

    串口屏如何与主控制器进行通信

    一、串口通信基础 串口通信是一种通过串行数据传输的方式进行通信的方法。在串口
    的头像 发表于 11-20 09:32 240次阅读
    <b class='flag-5'>串口</b>屏如何与主控制器进行<b class='flag-5'>通信</b>?

    通信技术:UART串口通信开源代码实操!

    今天我们分享的是关于UART串口通信示例,欢迎大家探讨
    的头像 发表于 11-05 11:56 3119次阅读
    <b class='flag-5'>通信</b>技术:<b class='flag-5'>UART</b><b class='flag-5'>串口</b><b class='flag-5'>通信</b>开源代码实操!

    UART串口通信示例:开启通信宝藏之门的定位模组LuatOS入门

    今天我们要讲解的是UART串口通信示例,关于Air201资产定位模组LuatOS入门,我会从搭建环境、代码烧录、示例效果等来细说:
    的头像 发表于 11-03 19:55 984次阅读
    <b class='flag-5'>UART</b><b class='flag-5'>串口</b><b class='flag-5'>通信</b>示例:开启<b class='flag-5'>通信</b>宝藏之门的定位模组LuatOS入门

    uart波特率和传输频率的关系 UART串口的常用波特率为多少

    UART(Universal Asynchronous Receiver/Transmitter)是一种广泛使用的异步串行通信技术,它允许两台设备之间进行双向数据传输。在UART通信
    的头像 发表于 10-06 16:12 3278次阅读
    <b class='flag-5'>uart</b>波特率和传输频率的关系 <b class='flag-5'>UART</b><b class='flag-5'>串口</b>的常用波特率为多少

    求助,esp32在rs485模式下单字节收发怎么做?

    我的esp32一端通过wifi与电脑通信,另一端通过uart串口通信。当由电脑通过wifi发送数据到esp32,esp32再通过uart
    发表于 06-26 06:50

    STM32 HAL库UART发送信号的波形错误是什么原因导致的?

    STM32 新手,目前在使用STM32F769I-DISCO 板子与NUCLEO-F401RE 板子的UART串口通信,使用的是HAL库的指令,测试结果是接收方一直没办法收到正确的数据, 按照其他
    发表于 04-25 07:09

    STM32F411RE NUCLEO UART串口通信无法接收的原因?

    STM32F411RE NUCLEO UART串口通信无法接收
    发表于 04-03 08:02

    UART串口通信实验及工作原理

    UART通信过程需要设置波特率、数据长度、开始/停止位等参数。波特率决定了发送数据的速度,而数据长度和开始/停止位则用于确保数据的正确传输和接收。
    的头像 发表于 03-21 17:10 4054次阅读
    <b class='flag-5'>UART</b><b class='flag-5'>串口</b><b class='flag-5'>通信</b>实验及工作原理

    UART串口通信协议是什么?

    UART (Universal Asynchronous Receiver/Transmitter) 是一种通信接口协议,用于实现串口通信。它是一种简单的、可靠的、广泛应用的
    的头像 发表于 03-19 17:26 1469次阅读

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

    标准UART可以选16倍采样,也可以选64倍采样,个人觉得应该是方便分频设计。
    的头像 发表于 02-21 13:38 1994次阅读
    <b class='flag-5'>UART</b><b class='flag-5'>串口</b><b class='flag-5'>通信</b>使用16倍过采样数据的原因

    常见通信的底层数据传输原理(UART、SPI、I2C)

    UART:Universal Asynchronous Receiver/Transmitter,通用异步收发传输器。 UART串口是最常见的一种串口
    发表于 01-15 10:41 986次阅读
    常见<b class='flag-5'>通信</b>的底层数据传输原理(<b class='flag-5'>UART</b>、SPI、I2C)