深度伪原创版本:
前几天,在我所参与的技术交流群中,大家一直在讨论关于“TTL、RS232、485传输距离”的问题。
今天我特意抽出时间来分享相关的内容。
概述
可能有很多读者对于TTL、RS232、485的概念还不太清楚,所以在这一节中,我将简单概述一下它们是什么。
1. TTL电平
TTL(Transistor Transistor Logic),即晶体管-晶体管逻辑电平。
简单来说,TTL电平是指使用晶体管来进行逻辑电平的转换。
例如,当电压为0V时,代表逻辑低电平;当电压为5V时,代表逻辑高电平。举个例子,STM32单片机串口引脚输出的逻辑高电平通常是3.3V。
你可能会问:什么是逻辑电平?
逻辑电平是特定电压或可以存在信号的状态,通常为“0/1” 或 “开/关” 或 “ON/OFF” 或 “LOW / HIGH”等。
![image-20231106202049006](https://pic.imgdb.cn/item/6548da66c458853aef3811a3.png)
随着电子技术的快速发展,逻辑高电平的电压也是越来越低,比如DDR5内存的供电电压才1.1V。
这一章节相关的内容,可以参看我之前分享的一篇文章:逻辑电平0和1的世界。
2.RS232
RS232,也简称232,全称EIA-RS-232。
EIA:Electronic Industry Association,美国电子工业协会。
RS:Recommended Standard,代表推荐标准。
232:代表标识号。
RS232有多个版本,比如:RS232A、RS232B、RS232C···F等,目前常用的是RS-232C。
RS232最初是用于调制解调器,因此它的引脚定义和调制解调器传输有关。
RS232早期使用25针连接器(DB25)比较多,早期打印机、传真机这些设备用的比较多,现在很少用了。
可能很多人都没有见到过,我读大学那会儿给MSP430下载程序就是用的这种DB25接口。
![image-20231106202053710](https://pic.imgdb.cn/item/6548da66c458853aef38119c.png)
现在通常是DB9,相信大家都不陌生,但我们大部分时候只用到了2、3、5脚。
![image-20231106202056612](https://pic.imgdb.cn/item/6548da66c458853aef38162c.png)
编号 | 定义 | 功能 |
---|---|---|
1 | DCD | 数据载波检测 |
2 | RXD | 数据接收 |
3 | TXD | 数据发送 |
4 | DTR | 数据终端准备好 |
5 | GND | 信号地 |
6 | DSR | 数据设备准备好 |
7 | RTS | 请求发送 |
8 | CTS | 清除发送 |
9 | RI | 振铃提示 |
DB9在很多电脑后面板上都还保留有,即便后面板没有,在主板上也留有DB9接口。(前不久我配电脑,还特意买了一个DB9外接接口)
![image-20231106202100929](https://pic.imgdb.cn/item/6548da66c458853aef381614.png)
3.RS485
RS485 可以说是在RS232的基础上发展而来的,目的是为了“增加抗干扰能力和信号传输距离”。
RS232采用电压来代表逻辑高低电平,比如:±15电压。
而RS485采用差分电压,也就是两根信号线(A、B)上的电压差来代表逻辑高低电平。
RS232支持全双工通信,而RS485是半双工通信。
![image-20231106202104794](https://pic.imgdb.cn/item/6548da66c458853aef381624.png)
传输距离
在大学的时候,可能老师会告诉你:RS22传输距离为15米。或者,你在某些书籍上看到RS485传输距离为1200米。
通信传输距离与很多因素有关,实际和理论还是有很大差异,在某些情况下,RS485传输500米可能都有问题。
通信传输距离与通讯方式、波特率、连接线、干扰等众多因素有关,这里结合串口(UART)通信来简单说下这几个问题。
1.通讯方式
这里说的通讯方式,指的就是标题中“TTL、RS232、485”等不同的通讯方式。
正常情况下,通讯距离:TTL 。
TTL通常在板卡内部(同一块板卡),比如:芯片A的串口,和芯片B的串口通信。
RS232在很多场合都还能用到,通常设备与设备之间通信,一般是DB9或两根信号线连接。(之前参与的一个项目,用电脑PCI卡扩展出了8个串口,就是用的232方式)。
RS485在工业产品中用的比较多,可以多个设备连接在485总线上,还有传输距离更远、抗干扰性更强。
2.波特率
波特率,1波特即指每秒传输1个符号。波特(Baud,单位符号:Bd)
你可以理解为传输信号的快慢,比如:串口9600bps。
波特率越高,频率就越高,同等条件下,传输的距离就更短。
串口的波特率可以做到很高,比如:115200bps,但以这种波特率通过RS232传输,可能传输10米就存在问题。
3.连接线
连接线也是一个关键因素,连接线材料(铜、铝、铁)、粗细、是否带有屏蔽等都会影响传输信号的距离。
可能干净的环境(比如实验室、办公室)都还看不出差异,你在复杂的点环境(比如工厂,特别是大型机械设备比价多的环境下)就能感受出差异了。
所以,RS458使用差分信号,双绞线,好点的带有屏蔽的线,在工业环境就显优势了。
4.干扰因素
做过工业产品的人都知道,不但EMC要求高,对于通信的要求也高。
旁边一个台大型设备突然启动,很有可能让你的通信失败(或者芯片复位、死机等)。
你以为485能传输1200米,可能工厂内200米通信都还会失败。
综合以上,要增加传输距离、又要保证传输信号的稳定,通常要做到尽量远离干扰源(大型机械设备)、增加屏蔽措施、降低传输速率(波特率)等。
以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !
![137e00002230ad9f26e78-265x300](https://pic.imgdb.cn/item/6548da66c458853aef381195.png)