回到通信协议概述

UART

概述

UART是“通用异步接收/发送器”的缩写,由数字设备公司的Gordon Bell在20世纪60年代开发。“通用”部分是关于数据的格式和传输的速度是可配置的。UARTs能够以几种不同的模式进行通信:全双工、半双工(两个设备一次相互通信一个)或单工(数据通信仅为单向)。因为UART可以以其通信风格进行配置,所以传输和接收UART都需要以完全相同的方式配置,以确保通信成功。

设计

UARTs被设计为与其他UARTs通信,尽管它们通常不直接生成通信本身;只发送和接收信号。发送的UART将从主机板接收一个字节,然后使用它的内部移位寄存器首先发送一个“开始”位来通信给接收的UART,信息即将被传输。信息的字节一次发送一位,在接收到预期的位数后,接着是一个“停止”位,让通信线路走高。接收UART接受比特流,并使用其SIPO移位寄存器使数据对其主控制器可用。

对于Pmod线路,使用了两种不同的UART变体。这主要是历史原因;在设计UART引脚接口时,微控制器芯片已经完全分离SPI以及互不关联的UART接口。然而,随着较新的微控制器芯片的开发,例如一些较新的pic32,它们具有可以与SPI和UART一起工作的串行接口。为了适应这种变化,Pmods上的一些UART接口也从旧标准中进行了调整,以便它们可以轻松地与SPI插脚共享相同的插脚。

所有使用UART通信方式的Pmods,即PmodRS232和以前的PmodRS232X,将它们的DB9连接器设置为DCE(数据电路终止设备或数据通信设备)格式,因为Pmods本身不能执行其预期的目的。它们必须连接到主机系统才能成功运行。

实际上通过UART进行通信

原则上,UART只需要两根信号线就可以成功通信:一根TXD(发送数据)和RXD(接收数据)线以及一根公共地线(作为参考点)。当与另一个UART设备通信时,TXD线将连接到相应的RXD线,反之亦然。在UART协议中不使用时钟线。相反,用户指定两个设备运行的特定波特率。

波特率是指在一秒的时间内,数据线上传输了多少位,包括数据位、启动位、停止位和奇偶校验位。一个通用的UART通信配置使用一个起始位、8个数据位、无奇偶校验和一个单一的停止位。

插入描述配置的图片

在与主机板通信方面,有两条必需的信号线,最多有四条可用的总信号线。需要的两行是TXD(传输数据)和RXD(接收数据)。剩下的两条信号线是RTS(准备发送)和CTS(清除发送)。如果使用这两个信号,通常由通信的两个设备独立断言。一个设备将降低(带来一个低电压状态)它的RTS线和“听”在CTS线。第二个设备,一旦准备好,将降低其RTS线,这将被检测在第一个设备的CTS线,并侦听从其自己的CTS线上的第一个设备降低的RTS信号。一旦两个设备都表示它们已经准备好了,数据传输就可以进行。

然而,RTS和CTS线路不需要连接。当流量控制被禁用时,这些引脚将被完全忽略。由于“起始位”总是首先发送,这个传入的转换可以很容易地被系统板检测到,触发一个中断信号,表明有传入的数据。

更多的笔记