USART概览
- 常用异步收发传输器,英文全称
Universal Asynchronous Receiver/Transmitter,简称USRT- STM32上的USART外设可以实现同步传输功能,所以外设名为USART,比如UART多了个S.即synchronous(同步)。
- UART器件主要用来产生相关接口的协议信号,如RS232/RS485等串口接收标准规范和总线标准规范,要使用传输数据这些接口,就要按照接口的规定中的协议信号发送数据。所以UART器间广泛应用于串口通讯中,扮演者传输器的角色。
RS232协议电平标准对比
一般开发板上使用的电平标准与通讯使用的电平标准不同,如TTL标准及RS-232标准 | 通讯标准 | 电平标准(发送端) | | —- | —- | | 5V TTL | 逻辑1:2.4V~5V
逻辑0:0~0.5V | | RS-232 | 逻辑1:-15V~-3V
逻辑0:+3V~+15V |因为控制器一般使用TTL电平标准,所以常常使用MA3232芯片对TTL及RS-232电平信号进行互相转换。
- RS-232标准接口规定的物理接口规定及接口标号
- 公头
- 从左往右数
- 1: DCD
- 2: RXD
- 3: TXD
- 4: DTR
- 5: GND
- 6: DSR
- 7: RTS
- 8: CTS
- 9: RI
- 母头
- 从右往左数
- 1: DCD
- 2: TXD
- 3: RXD
- 4: DTR
- 5: GND
- 6: DSR
- 7: RTS
- 8: CTS
- 9: RIceuve Data | 序号 | 名称 | 符号 | 数据方向 | 说明 | | —- | —- | —- | —- | —- | | 1 | 载波检测 | DCD | DTE->DCE | Data Carrier Detect, 数据载波检测,用于STE告知对方,本机是否收到对方的载波信号 | | 2 | 接收数据 | RXD | DTE<-DCE | Receive Data,数据接收信号,即输入 | | 3 | 发送数据 | TXD | DTE->DCE | Transmit Data。数据发送信号,即输出。俩个设备之间的TXD和RXD应交叉相连 | | 4 | 数据终端(DTE)就绪 | DTR | DTE->DCE | Data Terminal Ready,数据终端就绪,用于DTE向对方告知本机是否已准备好 | | 5 | 信号地 | GND | - | 地线 | | 6 | 数据设备(DCE)就绪 | DSR | DTE<-DCE | Data Set Ready,数据发送就绪,用于DCE告知对方本机是否处于待命状态 | | 7 | 请求发送 | RTS | DTE->DCE | Request To Send, 请求发送,DTE请求DCE本设备向DCE端发送数据 | | 8 | 允许发送 | CTS | DTE<-DCE | Clear To Send,允许发送,DCE回应对方的RTS发送请求,告知对方是否可以发送数据 | | 9 | 响铃指令 | RI | DTE<-DCE | Ring Indicator,响铃指示,表示DCE端与线路已接通 |
- 公头
RS232标准数据传输协议层
数据信号 : 起始位(1),主体数据(0-7位), 校验位(1). 停止位(1)
协议概念
- 波特率
- 这里主要的是串口的异步通讯,异步通讯没有时钟信号,常见的波特率为4800、9600、115200。
- 通讯的起始和停止信号
- 串口通讯的一个数据包从起始信号开始,直到停止信号结束,数据包的起始信号由一个逻辑0的数据位表示,而数据包的停止信号可由
0.5、1、1.5或2个逻辑1的数据表示。只要双方约定即可。
- 串口通讯的一个数据包从起始信号开始,直到停止信号结束,数据包的起始信号由一个逻辑0的数据位表示,而数据包的停止信号可由
- 有效数据
- 在数据包的起始位之后紧接着的就是要传输的主体数据内容,也称为有效的数据,有效数据的长度常被约定为5、6、7或8位长。
- 数据校验
- 在有效的数据之后,有一个可选的数据校验位。由于数据通讯相对更容易受到外部干扰导致传输数据出现偏差,可以在传输过程加上校验位来解决这个问题。校验方法有奇校验(odd)、偶校验(even)、0校验(space)、1校验(mark)以及无校验(noparity)。
