UART是通用异步收发传输器(Universal Asynchronous Receiver/Transmitter)的缩写,是实现串行通信的重要部件。它是一种串行通信接口,能够在数据发送和接收之间切换,支持异步数据传输。在电路设计中,UART常用于连接微控制器和外围设备,或者在芯片之间进行串口通信。
UART的工作原理是将并行输入数据转换为串行输出数据,或者将串行输入数据转换为并行输出数据。它通过一个特定的时间序列来完成这个转换过程,这个时间序列包括数据位、起始位、停止位和奇偶校验位。在异步串行通信中,UART使用起始位来确定每个字符的开始位置,使用停止位来表示字符的结束。奇偶校验位用于数据的校验与纠错。
在电路设计中,UART通常被表示成一个方框,方框内部包含有初始化、发送、接收等部分。以ATmega16单片机为例,其UART电路图表示如下:
常见的使用UART实现芯片之间的串口通信场景,是在单片机与其他外围设备之间进行通信,或者在两个芯片之间进行通信。以Arduino和ESP8266之间的串口通信为例,其电路图表示如下: