UART,即通用异步接收器/发送器,是最常用的设备间通信协议之一,正确配置后,UART可以配合许多不同类型的涉及发送和接收串行数据的串行协议工作。在串行通信中,数据通过单条线路或导线逐位传输。在双向通信中,我们使用两根导线来进行连续的串行数据传输。根据应用和系统要求,串行通信需要的电路和导线较少,可降低实现成本。
图1.两个UART彼此直接通信
UART线用作发送和接收数据的通信介质。请注意,UART设备具有专门用于发送或接收的发送和接收引脚。对于UART和大多数串行通信,发送和接收设备需要将波特率设置为相同的值。波特率是指信息传输到信道的速率。对于串行端口,设定的波特率将用作每秒传输的最大位数。表1总结了关于UART必须了解的几点。
表1.UART概要
数据帧包含所传输的实际数据。如果使用奇偶校验位,数据帧长度可以是5位到8位。如果不使用奇偶校验位,数据帧长度可以是9位。在大多数情况下,数据以最低有效位优先方式发送。
为了表示数据包结束,发送UART将数据传输线从低电压驱动到高电压并保持1到2位时间。
第一步:发送UART从数据总线并行接收数据。
第五步:接收UART将串行数据转换回并行数据,并将其传输到接收端的数据总线。
图12.接收UART至数据总线
建议为每个UART设备实现帧协议来增加安全性,帧协议要求发送和接收设备使用相同的配置。
使用任何硬件通信协议时,首先必须检查数据手册和硬件参考手册。以下是要遵循的步骤:
第二步:在存储器映射下面检查UART地址。
第三步:检查UART端口的具体信息,例如工作模式、数据位长度、奇偶校验位和停止位。示例MCU提供了一个全双工UART端口,其与PC标准UART完全兼容。UART端口提供一个简化的UART接口用于连接其他外设或主机,支持全双工、DMA和异步串行数据传输。UART端口支持5到8个数据位,以及无校验、偶校验和奇校验。帧由一个半或两个停止位终止。
第四步:检查UART操作的详细信息,包括波特率计算。波特率通过以下示例公式进行配置。此公式随微控制器而异。
数据手册中的UART端口详细信息示例:
👇点击探索ADI“芯”世界