MSP430FR2355的串口通信:UART协议详解
1. 串口通信概述
串口通信使用单根导线以位序列的形式在发送器(Tx)和接收器(Rx)之间传输信息,与通过MCU端口以全字形式发送信息的并行通信相反。串口通信所需的引脚较少,但由于每次只发送一位,整体信息传输速率较慢。MSP430包含专门用于处理串口通信的增强型通用串行通信接口(eUSCI)。MSP430FR2355有四个独立的eUSCI外设,分别是eUSCI_A0、eUSCI_A1、eUSCI_B0和eUSCI_B1,支持三种串口通信模式:通用异步收发器(UART)、串行外设接口(SPI)和集成电路间(I2C)协议。其中,eUSCI_A0和eUSCI_A1可配置为支持UART或SPI,eUSCI_B0和eUSCI_B1可配置为支持SPI或I2C。
2. UART标准
UART是一种用于两个设备之间的串口通信方式,设备之间不共享公共时钟。这种方式通过仅使用数据线节省了每个设备的引脚,但由于没有共享时钟,UART需要一种方法来确保在传输过程中不会丢失位。
2.1 波特率
设置UART的第一步是确定发送器和接收器之间的公共数据速率,即波特率(BR)。波特率是数据线路状态变化的最快速率,在MSP430上,只允许HIGH和LOW两种逻辑状态,因此波特率也代表了位或符号的最快传输速率。波特率和位周期(TB)的关系为BR = 1/TB。波特率必须在数据传输前手动设置在发送器和接收器中,通常使用9600到115,200波特之间的常用值。由于UART的异步性质,随着速率的提高,接收器恢复传输数据的难度会增加,这限制了UART的最大速率。