UART的时序解析

USART(Universal Synchronous/Asynchronous Receiver/Transmitter)即通用同步/异步收发器,其通信波形图包含了丰富的信息,以下是对它的详细解读:

波形组成

  • 空闲状态:在没有数据传输时,线路处于空闲状态,此时波形为高电平。例如,当单片机的 USART 模块没有发送或接收数据任务时,TX 和 RX 引脚都保持高电平。
  • 起始位:当有数据要发送时,首先发送一个低电平脉冲作为起始位,表示数据传输的开始。起始位的宽度通常为一个波特率周期。比如,若波特率为 9600bps,那么起始位的持续时间约为 1/9600秒≈104.2μs。
  • 数据位:起始位之后是数据位,数据位的个数可以是 8 位或 9 位,低位在前,高位在后。以发送字符 'A'(ASCII 码为 0x41,二进制为 01000001)为例,在 8 位数据位的情况下,先发送最低位 1,然后依次发送其他位。
  • 校验位:校验位用于数据传输的正确性校验,可选择奇校验、偶校验或无校验。若选择奇校验,那么校验位会使包括数据位和校验位在内的 1 的个数为奇数;若为偶校验,则使 1 的个数为偶数。例如,数据位为 01000001,采用偶校验时,校验位为 0,因为数据位中已有 2 个 1,加上校验位 0 后 1 的总数为偶数。
  • 停止位:数据位和校验位发送完成后,发送停止位,停止位的宽度可以是 0.5 位、1 位、1.5 位或 2 位。常用的是 1 位停止位,它为高电平,持续时间为一个波特率周期。

发送和接收波形

  • 发送波形:在发送数据时,USART 模块按照上述顺序将数据一位一位地从 TX 引脚发送出去。例如,要发送字符串“Hello”,先发送字符 'H' 的起始位、数据位、校验位(若有)和停止位,然后依次发送 'e'、'l'、'l'、'o' 的相应位。
  • 接收波形:接收端在 RX 引脚上检测到起始位的下降沿后,开始按照波特率采样数据位、校验位(若有)和停止位。例如,接收设备的 USART 模块在 RX 引脚检测到低电平起始位后,以 9600bps 的波特率依次采样后续的数据位,组合成一个字节的数据,再进行校验和处理。

波特率与波形关系

波特率决定了数据传输的速率,也决定了波形中每个位的持续时间。波特率越高,位的持续时间越短,波形变化越快;反之,波特率越低,位的持续时间越长,波形变化越慢。例如,波特率为 115200bps 时,每个位的持续时间约为 8.7μs;而波特率为 9600bps 时,每个位的持续时间约为 104.2μs。

posted @   绿草蓝天  阅读(20)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
点击右上角即可分享
微信分享提示