UART理论基础
基本概念
串行通信:数据一位一位按时间顺序发送(与并行通信相对)。
异步(Asynchronous):发送端和接收端不共享时钟线,而是通过预先约定的波特率(baud rate)和帧格式来同步数据采样。
物理连接与信号
常见的信号线:TX(发)和 RX(收),通常两设备交叉连接(A的TX接B的RX)。
电平标准:常见TTL电平(0V ~ 5V 或 0V ~ 3.3V)和RS-232(-3~-15V表示 1 ,+3~+15V表示 0 )等。不同电平不可直接连接,需电平转换器(如 MAX232)。
差分连接:RS485差分连接(TX 包括 TXD-、TXD+,以此类推),当两条差分线之间压差为正时(如+2V~+6V)为逻辑1,反之
协议
起始位:通信以发送方发送逻辑0为开始(空闲时为高电平),同时这也是为了同步采样周期。
数据位:可以为 5~8 bit,最低位优先
奇偶校验位:可以为
关闭(0 bit)
奇校验(odd parity):数据位的1的个数为偶,则该位为1,反之
偶校验(even parity):数据位的1的个数为偶,则该位为0,反之
停止位:是逻辑1,高电平,长度可以为1 bit、1.5 bit、2 bit
流量控制
1.RTS (Require ToSend,发送请求)为输出信号,用于指示本设备准备好可接收数据,低电平有效,低电平说明本设备可以接收数据。
2.CTS (Clear ToSend,发送允许)为输入信号,用于判断是否可以向对方发送数据,低电平有效,低电平说明本设备可以向对方发送数据。
因此流控制可以控制数据传输的进程,防止数据的丢失。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Xiao's Blog!