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”表示停止位,数据接收完成。

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

    关注

    6074

    文章

    45335

    浏览量

    663331
  • 触摸屏
    +关注

    关注

    42

    文章

    2438

    浏览量

    120907
  • 串口屏
    +关注

    关注

    8

    文章

    598

    浏览量

    39213
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    使用CW32 MCU来实现UART串口通信与GPIO控制

    最近在项目中使用CW32 MCU,完成了一个简单的UART串口通信和GPIO控制的功能。CW32 MCU的资源相对丰富,特别适合一些低成本、低功耗的嵌入式应用。这里分享一下UART
    发表于 12-04 08:17

    UART 串口通信还能玩出什么花样?

    还记得打印机、鼠标和调制解调器曾经使用粗线和笨重连接器吗?那些必须拧进电脑里的连接器?这些设备很可能使用UART与电脑通信。虽然USB几乎完全取代了那些老式的线缆和连接器,但UART绝非过时之物。你
    的头像 发表于 11-24 19:05 161次阅读
    <b class='flag-5'>UART</b> <b class='flag-5'>串口</b><b class='flag-5'>通信</b>还能玩出什么花样?

    UART 升级到 USB-C: 串口通信演变史

    在嵌入式开发里,“串口”几乎是每个人绕不开的关键词。刚接触单片机时,我们用的就是UART:插上线,打开串口调试助手,能收发数据就觉得世界都亮了。然而,当你回头看,现在的桌面电脑几乎找不到传统
    的头像 发表于 11-17 10:54 867次阅读
    <b class='flag-5'>UART</b> 升级到 USB-C: <b class='flag-5'>串口</b><b class='flag-5'>通信</b>演变史

    基于UART通讯控制TMC2208/2209模块驱动两相四线步进电机

    本文将介绍如何通过UART串口通信控制TMC2208/2209步进电机驱动模块驱动42步进电机。从TMC2209详细的说明的寄存器配置方法说明、常用指令说明、模块的串口连接方式、电流、
    的头像 发表于 11-10 19:33 475次阅读
    基于<b class='flag-5'>UART</b>通讯控制TMC2208/2209模块驱动两相四线步进电机

    RVMCU课堂「13」: 手把手教你玩转RVSTAR—UART通信

    小实验,简单讲解UART串口通信的应用方法。 系统环境 Windows 10-64bit 软件平台 [size=14.6667px]NucleiStudio IDE 202102版或
    发表于 10-31 07:02

    基于FPGA开发板TSP的串口通信设计

    本文详细介绍基于Terasic FPGA开发板TSP(又名C5P和OSK)和其板载CP2102N USB-UART桥接芯片的串口通信系统设计与实现。系统采用Verilog HDL编写UART
    的头像 发表于 10-15 11:05 4137次阅读
    基于FPGA开发板TSP的<b class='flag-5'>串口</b><b class='flag-5'>通信</b>设计

    基于FPGA开发板DE23-Lite的串口通信设计

    DE23-Lite开发板提供了一个UART通信接口(物理接口是下图的Type C接口),用户能够通过主机与Agilex 3 FPGA进行串口通信
    的头像 发表于 10-15 10:57 3954次阅读
    基于FPGA开发板DE23-Lite的<b class='flag-5'>串口</b><b class='flag-5'>通信</b>设计

    微五科技 CF5010RBT60 开发板与庐山派开发板通过 UART 串口通信的详细步骤

    以下是微五科技CF5010RBT60开发板与庐山派开发板通过UART串口通信的详细步骤: 一、硬件连接 确定通信接口 CF5010RBT60:使用USART1(兼容STM32F103
    发表于 09-05 20:51

    Air780EGH串口通信优化:硬件电路设计核心要素剖析

    要充分发挥Air780EGH的串口通信效能,硬件电路设计必须精准把控核心要素。下面将深入分析UART接口的电平标准、流控信号配置、波特率适配及调试串口管理,为优化
    的头像 发表于 08-11 15:44 529次阅读
    Air780EGH<b class='flag-5'>串口</b><b class='flag-5'>通信</b>优化:硬件电路设计核心要素剖析

    【沁恒CH585开发板免费试用体验】UART 串口通信

    通信口(UART)就是我们在嵌入式中常说的串口,它还是一种通用的数据通信议。从名字上可以看出,USART在UART基础上增加了同步功能,即U
    发表于 07-08 00:02

    英锐恩精选笔记UART串口通信#单片机开发#单片机芯片#UART串口通信#单片机

    单片机
    英锐恩科技
    发布于 :2025年05月15日 16:09:05

    STM32F411RE NUCLEO UART串口通信无法接收是什么原因引起的?

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

    新品| Unit ASR,一体化离线语音识别单元

    的准确性。此外,UnitASR还支持中途语音打断功能,能够在语音识别过程中快速响应新的指令。UnitASR采用UART串口通信进行数据传输,支持通过语音关键词唤醒设
    的头像 发表于 02-14 18:34 744次阅读
    新品| Unit ASR,一体化离线语音识别单元

    【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