目录
1 UART,RS232和RS485通信拓扑
2 什么是RS232
2.1 RS232标准的演变
2.2 RS232标准讲了哪些
2.2.1 RS232通信的电平
2.2.2 RS232通信的带宽
2.2.3 RS232通信距离
2.2.4 RS232通信的机械接口
3 什么是RS485
3.1 RS485标准的演变
3.2 RS485标准讲了哪些
3.2.1 RS485通信的电平
3.2.2 RS485通信的带宽
3.2.2 RS485通信距离
3.2.2 RS485通信拓扑
4 RS232和RS485的对比
5 MODUS协议与RS232和RS485的关系
结尾
优质博文推荐阅读(单击下方链接,即可跳转):
点击返回「《Autosar从入门到精通-实战篇》总目录」
点击返回「《Autosar_BSW高阶配置》总目录」
点击返回「《Autosar_MCAL高阶配置》总目录」
点击返回《嵌入式软件开发》专栏
1 UART,RS232和RS485通信拓扑
由于UART串口通信使用3.3/5V的TTL电平,决定了其易受到干扰(对信号线上的噪声缺乏免疫力),带宽低,仅适合超短距离通信。在嵌入式硬件开发中,UART通信常被用于MCU与MCU之间,MCU与外设芯片之间,见图1-1。
图1-1
而RS232和RS485通过改变“传输的信号电平”和“传输介质的连接方式”,来提高带宽,提高传输距离和提高干扰性。在嵌入式硬件开发中,RS232通信(异步串行全双工通信)常被用于MCU与MCU之间,实现TTL电平的转换(如,MAX232芯片),进行“间接的UART通信”,见图1-2。
图1-2
在嵌入式硬件开发中,RS485通信(异步串行半双工通信)常被用于MCU与MCU之间,实现TTL电平的转换(如,MAX485芯片),进行“间接的UART通信”,见图1-3。
图1-3
2 什么是RS232
2.1 RS232标准的演变
RS232标准(RS:recommended standard推荐标准)是美国的电气工业协会(EIA:Electrical Industries Association)创建了一个串行数据传输或通信的标准。它定义了数据终端设备(DTE:Data Terminal Equipment)和数据电路终端设备(DCE:Data Circuit-Terminating Equipment)之间数据传输的电气特性。
RS 232标准经历了几次修订:
• EIA RS-232 (May 1960) "Interface Between Data Terminal Equipment & Data"
• EIA RS-232-A (October 1963)
• EIA RS-232-B (October 1965)
• EIA RS-232-C (August 1969) "Interface Between Data Terminal Equipment and Data Communication Equipment Employing Serial Binary Data Interchange"
• EIA EIA-232-D (1986)
• TIA TIA/EIA-232-E (1991) "Interface Between Data Terminal Equipment and Data Communications Equipment Employing Serial Binary Data Interchange"
• TIA TIA/EIA-232-F (October 1997)
• ANSI/TIA-232-F-1997 (R2002)
• TIA TIA-232-F (R2012)
RS 232标准的名称在其历史上发生了变化,几次是由于赞助组织的原因。因此,它被称为EIA RS-232、EIA 232,以及最近的TIA 232。
与之对应的国标“GB/T 6107-2000 使用串行二进制数据交换的数据终端设备和数据电路终接设备之间的接口”。
2.2 RS232标准讲了哪些
2.2.1 RS232通信的电平
图2-1
Co是与发生器有关的总有效电容,在接口点测量,包括通往接口点的任何电缆。
V1是接口点的电压。
CL是在接口点测量的与接收器有关的总有效电容,包括通往接口点的任何电缆。
RS-232是一个单端或不平衡的接口,意味着一个单一的电信号与一个公共信号(地)相比较,以确定二进制逻辑状态,如图2-1所示,
- 当两个RS232电平转换芯片之间,当interchange circuit上的电压(V1)相对于电路AB的电压小于-3V时,则应视为信号处于marking状态,marking用二进制状态1表示。
- 当两个RS232电平转换芯片之间,当interchange circuit上的电压(V1)相对于电路AB的电压大于+3V时,则应视为信号处于spacing状态,spacing用二进制状态0表示。
- 在-3V~+3V之间的区域,被定义为过渡区域,当电压处于这个过渡区域时,信号状态是不确定的。
Notation | Interchange Voltage Negative | Positive |
Binary State | 1 | 0 |
Signal Condition | Marking | Spacing |
Function | OFF | ON |
注意:
- 相对于信号地的发生器开路电压,不得超过相对于地面的-25V~+25V;
图2-2
- 示波器下的波形:
图2-3
2.2.2 RS232通信的带宽
TIA/EIA-232-F提供了最大的通信带宽,波特率为20 kbps。
2.2.3 RS232通信距离
通信电缆(介质是导线)的最大长度没有规定,但由以下电气要求决定:
interchange circuit接收端的负载阻抗是在3V至15V的应用电压范围内定义的。它的直流电阻应不低于3000欧姆,也不高于7000欧姆。interchange circuit接收端的有效并联电容(CL),包括电缆的电容,在接口点测量,不应超过2500皮法拉。负载阻抗的无功分量不得是感性的,开路接收电压的大小不得超过2V。
RS-232能够在小于50英尺(约15.24米)的距离上以高达20K bps的数据速率运行。或者电缆长度等于2500 pF的电容,这意味着,使用低电容的电缆可以让你跨越更长的距离,而不会超出标准的限制。例如,如果使用UTP CAT-5电缆,其典型电容为17 pF/ft,允许的最大电缆长度为147英尺。
如果波特率降低2或4倍,其最大长度就会急剧增加。TI德州仪器公司多年前曾在不同的波特率下做过一些实际实验,以测试允许的最大电缆长度。请记住,RS232标准最初是为20kbps开发的。通过将最大通信速度减半,允许的电缆长度增加了10倍。
Baud rate | Maximum cable length |
19200 | 50英尺(约15.24米) |
9600 | 500英尺(约152.4米) |
4800 | 1000英尺(约304.8米) |
2400 | 3000英尺(约914.4米) |
2.2.4 RS232通信的机械接口
RS-232的机械实现是在一个25针的D-sub连接器上。
DTE连接器表面触点编号(male公头连接器)
DTE连接器面的触点编号(female母头连接器)
3 什么是RS485
3.1 RS485标准的演变
RS-485是由RS-232发展而来,它是为弥补RS-232之不足而提出的。为改进RS-232通信距离短、速率低的缺点,而发布了RS-422定义了一种平衡通信接口,将传输速率提高到10Mbps,传输距离延长到4000英尺(速率低于100kbps时),并允许在一条平衡总线上连接最多10个接收器。RS-422是一种单机发送、多机接收的单向、平衡传输规范,被命名为TIA/EIA-422-A标准。为扩展应用范围,EIA又于1983年在RS-422基础上制定了RS-485标准,增加了多点、双向通信能力,即允许多个发送器连接到同一条总线上,同时增加了发送器的驱动能力和冲突保护特性,扩展了总线共模范围,后命名为TIA/EIA-485-A标准。
3.2 RS485标准讲了哪些
3.2.1 RS485通信的电平
图3-1
G = Generator发生器
L = Stub Length存根长度
T = Transceiver收发器
R = Receiver接收器
RT= Termination Resistor终端电阻
A、B和C点代表发生器接口点;
A'、B'和C'代表与接收器相关的接口点;
A/A',B/B'和C/C'代表与收发器相关的接口点。
图3-2
RS-485是一个平衡的接口,意味着有两个偏置的电信号相比较(RS485接收器比较两条线之间的电压差,而不是信号线上的绝对电压水平),以确定二进制逻辑状态,如图3-2所示,
a) 在二进制1(OFF)状态下,信号发生器的A端相对于B端应是负的。
b) 在二进制0(ON)状态下,信号发生器的A端相对于B端应是正的。
注意:
- 在电压Via(或Vib)范围从-7.0V到+12.0V,而Vib(或Via)保持在0.0V(接地)的情况下,所产生的输入电流lia(或lib)应被测量并保持在下图所示的阴影区域内,为一个单位负载。电流与电压的实际曲线应始终有一个正斜率,以降低由负输入电阻引起的振荡的可能性。
图3-3
- 示波器下的波形:
图3-4
3.2.2 RS485通信的带宽
TIA/EIA-485-A提供了最大的通信带宽,波特率为10 Mbps。
3.2.2 RS485通信距离
差分信号使RS485的通信距离比RS232长得多。使用RS485的最大传输距离约为1219米,最大传输速率为10Mbps。
平衡双绞线的长度与传输速率成反比,只有在20kbps速率以下,才可能使用规定最长的电缆长度。只有在很短的距离下才能获得最高速率传输。一般来说,15米长双绞线最大传输速率仅为1Mbps。
注意:并不是所有的RS-485收发器都能够支持高达10Mbps的通讯速率。如果采用光电隔离方式,则通讯速率一般还会受到光电隔离器件响应速度的限制。
3.2.2 RS485通信拓扑
RS-485标准与RS-232标准不一样,数据信号采用差分传输方式(Differential Driver Mode),也称作平衡传输。这决定了其只能用于半双工通信,可以用于一个主机对若干个从机进行寻址,见图3-6。
图3-5 直线和双绞线的噪声
图3-6
4 RS232和RS485的对比
标准 | RS-232 | RS-485 |
工作方式 | 单端 | 差分 |
运行模式 | 全双工 | 半双工 |
网络拓扑结构 | 点对点(1收,1发) | 多点(1发,32收) |
最大传输电缆长度 | 50英尺 | 4000英尺(约1200米) |
最大传输速率 | 20Kbps | 10Mbps |
最大驱动输出电压 | +/-25V | -7V~+12V |
发送器输出信号电平(负载最小值) | +/-5V~+/-15V | ±1.5V |
发送器输出信号电平(空载最大值) | +/-25V | ±6V |
发送器负载阻抗(Ω) | 3K~7K | 54 |
接收器输入电压范围 | ±15V | -7V~+12V |
接收器输入门限 | ±3V | ±200mV |
接收器输入电阻(Ω) | 3K~7K | ≥12K |
5 MODUS协议与RS232和RS485的关系
MODBUS是一种应用层的信息传输协议,位于OSI模型的第7层,它在不同类型的总线或网络上连接的设备之间提供client/server通信。而RS232和RS485是实现异步串行通信的第1层物理层标准。
它目前是通过以下方式实现的
- Ethernet的TCP/IP。参见《MODBUS Messaging Implementation Guide V1 .0a》;
- 通过各种介质的异步串行发送(有线:EIA/TIA -232, EIA/TIA-485-A…)。物理层和数据链路层标准,参见《MODBUS over Serial Line Specification and Implementation Guide V1.02》;
- MODBUS PLUS,一种高速token令牌传递网络。
与之对应的国标:
GB-T19582.1-2008基于Modbus协议的工业自动化网络规范第1部分:Modbus应用协议;
GB-T19582.2-2008基于Modbus协议的工业自动化网络规范第2部分:Modbus协议在串行链路上的实现指南;
GB-T19582.3-2008基于Modbus协议的工业自动化网络规范第3部分:Modbus协议在TCP/IP上的实现指南。
结尾
获取更多“汽车电子资讯”和“工具链使用”,
请关注CSDN博客“汽车电子助手”,做您的好助手。