目录
UART简介
UART(Universal Asynchronous Receiver/Transmitter,通用异步收发器)总线是一种串行通信总线,它允许设备之间进行异步数据传输。UART总线通常用于嵌入式系统中的调试和通信,特别是在微控制器和嵌入式处理器中。
了解一下什么是异步同步,串行并行
通信方式
UART总线的基本特点
- 异步通信:UART总线使用异步方式传输数据,这意味着发送器和接收器在时钟信号上不需要保持同步。
- 简单性:UART总线提供了一种简单的方法来在设备之间进行通信,不需要复杂的硬件或软件接口。
- 串行传输:UART总线将并行数据转换为串行数据,以便在物理连接上进行传输。
- 标准接口:UART总线是一种广泛使用的标准接口,许多微控制器和嵌入式处理器都内置了UART接口
UART总线应用场景
- 调试和开发:UART总线是嵌入式系统开发中常用的调试工具之一。开发人员可以使用UART接口与微控制器或处理器进行通信,以检查代码执行、调试问题或发送和接收诊断信息。
- 设备间通信:UART总线可用于在多个设备之间进行通信,例如在物联网(IoT)应用中,多个传感器或执行器可以通过UART总线将数据传输到一个中央处理器。
uart小知识
数据线数量 | 3根(RX、TX和GND) |
波特率 | 9600、19200、38400、57600、115200 |
传输方式 | 串行通信 |
最大主从机数量 | 各一个 |
uart协议
数据包
起始位 | 数据位 | 奇偶校验位 | 停止位 |
- 起始位:起始位是一个逻辑低电平,用于标识数据包的开始。它的长度通常是1位。起始位是数据包中的一个逻辑低电平信号,起始位通常占据一个固定的位数(通常是1位)。不传输信息,数据保持高电平,传输就会从高到低,保持一个时钟周期。
- 数据位:数据位是实际要传输的数据,可以是0或1。数据位的长度可以根据需要设置,常见的数据位长度有5位、6位、7位、8位等。
- 奇偶校验位:奇偶校验位是在数据位之后添加的校验位,用于检查数据传输的正确性。它可以是0或1,以确保整个帧的位数是奇数或偶数。奇偶校验位不是必须的,可以根据需要选择是否使用。
- 停止位:停止位是数据传输结束的信号(低电压到高电压),用于标识数据包的结束。它的通常是1位或2位,用于确保接收端有足够的时间来检测数据包的结束。
uart通信步骤
1. 配置UART参数:在进行UART通信之前,需要配置UART的参数,包括波特率、数据位、停止位、校验位等。这些参数需要发送端和接收端保持一致,以确保数据传输的正确性。
2. 发送数据:发送端从数据源获取数据,并将数据转换为串行格式。数据通常包括要传输的信息,例如传感器数据、控制指令等。发送端将数据发送到UART发送缓冲区。
3. 起始位发送:UART通信通常以一个起始位开始每个数据帧,用于指示数据帧的开始。UART发送端发送起始位信号,接收端使用起始位识别数据帧的开始。
4. 数据传输:UART发送端将数据位按顺序发送到数据线上,一个一个地传输每个数据位。接收端同时监测数据线上的信号,并逐位接收数据。
5. 奇偶校验(可选):在数据位之后,可以加入奇偶校验位来验证数据的正确性。发送端和接收端需要按照相同的奇偶校验方式进行设置。
6. 停止位发送:数据传输完成后,UART发送端发送一个或多个停止位信号,用于标识数据帧的结束。停止位之后是一个数据帧的结束标志。
7. 数据接收:UART接收端接收和解析从发送端发送的数据,包括数据位、校验位和停止位。接收端将接收到的数据转换为并行格式,并进行进一步处理。
8. 数据处理:接收端对接收到的数据进行处理,可以是显示数据、存储数据、执行控制指令等,根据具体应用需求进行相应的处理。
9. 循环重复:UART通信是一种不断循环进行的数据传输过程,发送端和接收端持续地进行数据的发送和接收,以满足通信需求。
uart通信接口
RS-232和RS-485是两种不同的串行通信接口标准,它们在电气特性、传输距离、数据速率、传输方式和应用场景等方面有所不同。
RS-232
- 一种广泛使用的串口通信标准,用于在计算机和外部设备之间进行数据传输。
- 采用单端信号传输,数据和地之间只有一个线缆。其逻辑“1”通常在-5至-15伏特之间,逻辑“0”在+5至+15伏特之间。
- 传输距离一般较短,通常为15米内。
- 支持较低的数据传输速率,最高波特率通常为20kbps。
RS-485
- 一种串行通信标准,适用于多点通信和长距离数据传输。
- 采用差分信号传输,数据通过两根线传输,一根为A线,另一根为B线。逻辑“1”时A线电压高于B线电压,逻辑“0”时A线电压低于B线电压。
- 支持更长的传输距离,最长可达1200米,具有较强的抗干扰能力。
- 支持较高的数据传输速率,最高波特率可达数兆。
总的来说,RS-232适用于短距离、点对点通信,而RS-485适用于多点通信和长距离通信。选择使用哪种接口需要根据具体需求和环境条件来决定。