文章目录
前情提要:UART的缺点
- 电气接口不统一
- UART只是对信号的时序进行了定义,而未定义接口的电气特性
- 电压电平不兼容
- UART通信中通常使用处理器的电平(如TTL电平),但不同处理器使用的电压电平可能不同,例如3.3V与5V的电压差异。因此,不同设备的UART接口通常不能直接相连,否则可能导致通信失败或设备损坏。
- 缺乏统一的标准
- UART没有规定不同器件连接时的标准,这使得不同电压等级的设备通过UART连接时非常不方便,需要使用额外的电平转换器或适配器来解决这个问题。
- 抗干扰能力差
- UART通常直接使用TTL信号表示逻辑0和1,但TTL信号的抗干扰能力较差。因此,在数据传输过程中,信号容易受到干扰,导致数据出错。
- 通信距离短
- 由于TTL信号的抗干扰能力差,所以其通信距离也非常有限。通常,UART仅适用于同一电路板上的两个芯片之间的通信,不适合长距离传输。
RS232和RS485编程与UART一摸一样
RS232
-
RS232:RS232是一种物理层协议,定义了串行通信中使用的电气信号标准。
-
该标准定义逻辑电平
- 逻辑"1"的电平定义为-3V到-15V。看清楚是负哈
- 逻辑"0"的电平定义为+3V到+15V。
- 目的:该电平标准的设计目的是提高抗干扰能力,并增加通信距离。在该电平标准下,通信距离通常可达到15米。
-
电平转换
- 处理器产生的信号一般都是TTL信号不符合RS232标准的信号。故而需要处理
-
简化为DB-9连接器,为事实标准。图如下
- DB-9公头:DB-9公头具有9根突出的金属引脚,排列成两排(上排5个,下排4个)
- 公头通常用于发送信号,插入到设备的母头端口中。例如,计算机上的串口常常是DB-9公头。
- DB-9母头(Female)
- DB-9母头具有9个凹陷的金属插孔,排列方式与公头相同,两排结构(上排5个,下排4个)。
- 母头通常用于接收信号,是设备的输入接口,公头可以插入母头中。许多外围设备(如调制解调器或打印机)上的串口通常是DB-9母头。
- 现在一般使用RXD、TXD和GND三条线
- DB-9公头:DB-9公头具有9根突出的金属引脚,排列成两排(上排5个,下排4个)
RS485
-
RS485(推荐标准485,EIA-485)是一种用于多点通信 系统的物理层协议。与RS232不同,RS485使用差分信号传输数据,这意味着通过两条信号线(A线和B线)来传输数据,信号由这两条线的电压差来表示。
-
它支持多个设备在同一条总线上通信,因此广泛应用于工业控制系统、楼宇自动化和嵌入式系统中。
-
电气特性:
- 差分信号传输:RS485使用两条平衡的信号线进行数据传输。通过检测A线和B线之间的电压差来判断信号
- A线电压高于B线时,表示逻辑1。+2~+6
- B线电压高于A线时,表示逻辑0。-2~-6
- 电压范围:RS485的信号电压通常在-7V到+12V之间,适合在噪声较大的环境中传输数据。
- 差分信号传输:RS485使用两条平衡的信号线进行数据传输。通过检测A线和B线之间的电压差来判断信号
-
通信模式
-
半双工通信:由于RS485使用两线制,数据的发送和接收都要使用同一对差分信号线,因此发送和接收不能同时进行,只能采用半双工方式工作。这意味着在同一时间内,通信的设备要么发送数据,要么接收数据,无法同时进行。
- 由于是半双工通信,因此在编程时需要特别注意通信的切换,即发送和接收的时间安排,以确保不会发生冲突。
- 类似于IIC机制与从机通信(只不过这个是软件编写地址)
- 由于是半双工通信,因此在编程时需要特别注意通信的切换,即发送和接收的时间安排,以确保不会发生冲突。
-
全双工通信:通过四线制配置,RS485也可以实现全双工通信,但相较于半双工,使用四条线(两条用于发送,两条用于接收)增加了硬件复杂性。
-
多点通信:RS485支持多点总线通信,允许多达32个发送器和32个接收器同时连接到一条总线上(使用某些增强的设备,该数字还可以增加)。这使得它非常适合需要多设备互联的场景。
-
-
电平转换
- 将TTL信号转换为差分信号
-
优点
- 接口具备较强的抗干扰能力,特别适合在工业环境或有较多电磁干扰的环境中使用。
- 支持的传输距离较远,理论上传输距离可达1500米,特别适合长距离通信场景。
- 可实现多节点的网络组网,这意味着可以在同一总线上连接多个设备,实现复杂的多设备通信。
- 接口的信号电平较低,不易损坏接口电路的芯片,且与TTL电平兼容,方便与TTL电路连接。