RS485是常见的串口接口。
大部分图片来源:正点原子HAL库课程
专栏目录:记录自己的嵌入式学习之路-CSDN博客
目录
[1 串口、UART、TTL、RS232、RS422、RS485的关系](#1 串口、UART、TTL、RS232、RS422、RS485的关系)
[1.1 串口](#1.1 串口)
[1.2 UART、TTL、RS232、RS422、RS485](#1.2 UART、TTL、RS232、RS422、RS485)
[1.3 常见串口标准的比较](#1.3 常见串口标准的比较)
[2 RS485特征](#2 RS485特征)
[3 通信电路](#3 通信电路)
[4 RS485电平转换芯片(以TP8485为例)](#4 RS485电平转换芯片(以TP8485为例))
[5 配置](#5 配置)
[5.1 相关HAL库函数](#5.1 相关HAL库函数)
[5.2 配置步骤](#5.2 配置步骤)
1 串口、UART、TTL、RS232、RS422、RS485的关系
1.1 串口
串口是一个通讯时序的标准,它规定的仅仅是发送的数据位,要有启动位、有效数据位、校验位和停止位,然后启动位是逻辑0,停止位是逻辑1,以及发送时它们的先后顺序这些。
1.2 UART、TTL、RS232、RS422、RS485
UART、TTL、RS232、RS422、RS485之类的是串口的接口标准,我理解为关于电平协议,就是什么电平代表逻辑1,什么电平代表逻辑0等等。STM32输出的原生串口信号是CMOS电平的。
1.3 常见串口标准的比较
2 RS485特征
- 使用差分信号传输,抗干扰能力强;
- TTL、CMOS都是直接使用电平电压来构成逻辑1/0,但485使用A、B两线的压差来决定,在485线的电压被改变时,由于两线电压的改变被差分消除,因此抗干扰能力更强;
- 具有强大的组网功能,在串口基础协议之上还制定MODBUS协议;
- MODBUS协议:使用基本数据包组合成通讯帧格式的高层应用协议(基于数据包或字节);
- 接口电平低,不易损坏芯片;
- 传输效率高;
- 传输距离远,支持节点多;
3 通信电路
- RS485与别的串口不同,别的串口需要TX连接另一设备的RX、RX连接另一设备的TX。而485是A线连接A线,B线连接B线;
- 需要连接匹配电阻以提高稳定性;
- 芯片的COMS电平或TTL电平需要485收发器(电平转换芯片)进行响应的电平转换;
- 连接一般使用双绞线以进一步抗干扰;
4 RS485电平转换芯片(以TP8485为例)
- RS485的电平转换芯片的重要引脚:
- R19和R22是两个偏置电阻,用来保证总线空闲时,UAB大于0.2V,避免压差不定导致逻辑混乱。
- 收发的电平情况:
5 配置
5.1 相关HAL库函数
5.2 配置步骤
- 其实就是和前面的串口基本一致,只不过需要自行配置并使用一个额外的GPIO口来选择485收发器的发送/接收模式;