• 硬件信号协议UART是干啥的?


    UART协议是电子传输中一种常见的信号协议,通常只需要三根信号线就可以完成数据的收发,分别是TX,RX,GND。

    UART(universal asynchronous receiver transmitter),是通用异步收发器,因为是异步,所以也不需要时钟信号来做时间参考。它的应用范围很广,比如各种外接模块如GPS,蓝牙模块等等,上位机(发送操控)与下位机(接收)之间的通信。

    图片

    UART是串行通信,利用一条传输线(RX,TX)将数据按bit进行顺序传送,特点是通信线路简单,成本低,适用在需要远距离传输,但对速率要求不高的应用场景。

    UART的数据形式

    图片

    UART传输的数据会被封装为数据包,数据包包含1bit起始位,5~8bit数据位(取决与设备UART的具体设置),一个奇偶校验位(可选),以及1个或2个停止位。

    起始位:UART数据传输线在空闲时保持高电平,当设备发出低电平信号时,表示数据的开始。

    停止位:UART数据传输线从低电平状态向高电平转换,不过至少需要持续两位数据的时间宽度,才表示整个数据包的传输已经结束。并且由于数据是在传输线上定时的,不同的设备之间可能时钟存在偏差,偏差的积累可能会导致数据位的传输错误,所以数据定时发出停止位可以有效校正时间的偏差,停止位越多,校正的效果越好。

    数据位:数据位的宽度可能有5,6,7,8位,一般8位会用的比较广泛(跟ACSII码有关,一个ASCII字符为8bit)。

    校验位:是UART中一种简单的检错方式,一般有四种校错方式:偶校验,奇校验,高校验,低校验。对于奇偶校验的情况,串口会设置校验位(数据位的后一位),用1bit来校验数据有偶数个还是奇数个的逻辑高电平。比如如果数据位为00011,偶校验位就是0,为了保证数据位+校验位总数偶数的个数加起来为偶数。不过,校验位不是必须有,属于可选项。

    在停止位之后,可能还会有空闲位,空闲状态时的信号处于高电平,即“1”,表示当前线路上没有数据传输。所以停止位开始的时候就能被有效检测到。

    UART传输速率较慢,一般在20kbit/s到10Mbit/s之间,低速率的情况被使用的更多。

    总结起来

    UART优点

    1,需要的引脚线不多,只用2条数据线,1条地线

    2,不需要时钟信号

    3,有奇偶校验位,提供通信的差错检查

    UART缺点

    1,数据帧支持的最大长度只有9bit

    2,不支持多主机或多从机的主从结构

  • 相关阅读:
    山西电力市场日前价格预测【2023-10-12】
    【毕业设计】基于单片机的指纹识别考勤系统 - 物联网 stm32
    python获取loki日志
    android 判断是否打开了蓝牙网络共享
    2023年终总结:在不确定中寻找确定
    Navigation 组件(一) Fragment 跳转
    H3C IPSec IKE野蛮模式
    使用go-redis/redis依赖操作redis
    [开源]基于Vue+ElementUI+G2Plot+Echarts的仪表盘设计器
    Go面试题:锁的实现原理sync-mutex篇
  • 原文地址:https://blog.csdn.net/qq_43709494/article/details/133717562