一文详解RS232、RS485、CAN总线

一文详解RS232、RS485、CAN总线,第1张

RS232简单实用,缺陷是不支持多设备间的互连,缺少拓扑结构。由此诞生了RS485。RS485最重要的是采用两条差分线代替RS232的单线传输,支持拓扑结构。RS485属于电气层的协议,物理上的实现大都在RS232基础上完成。缺陷是主从轮询的方式导致系统的实时性与可靠性方面较差,没有标准物理层导致开发周期长。CAN属于现场工业总线范畴(意思就是跟上两个根本不在一起玩儿),CAN、LIN、FlexRay并称三大汽车总线。采用数据位仲裁的方式来替代传统的站地址轮询方式,因此可以支持多主多从的工作方式。CAN底层协议比RS232/RS485复杂很多,但是好消息是STM32内部已经集成了CAN协议控制器,方便了我们的使用。

一、RS232串口是计算机上一种非常通用的设备通信协议。

串口的电气特性:

1、RS-232串口通信最远距离是50英尺;

2、RS232可做到双向传输,全双工通讯,最高传输速率20kbps ;

3、RS-232C上传送的数字量采用负逻辑,且与地对称 逻辑1:-3 ~-15V 逻辑0:+3~+15V;

缺点:

1、RS-232-C的电气接口电路采取的是不平衡传输方式,即所谓单端通讯,其发送电平与接收电平的差只有2~3V,所以共模抑制能力较差,容易受到共地噪声和外部干扰的影响;

2、接口电路的信号电平较高,容易损坏接口电路的芯片;

3、与TTL电路的电平也不兼容,影响其通用性;

二、RS485 是隶属于 OSI 模型物理层的电气特性规定为 2线,半双工多点通信的标准。它电气特性和 RS -232大不一样。用缆线两端的电压差值来表示传递信号。RS485 仅规定了接受端和发送的电气特性。它没有规定或推荐任何数据协。

RS485特点:

1、接口电平低,不易损坏器件。逻辑“1”以两线间的电压差为+(2~6)V表示;逻辑“0”以两线间的电压差为-(2~6)V表示。不易损坏接口电路的芯片,且该平与 TTL 电平兼容,可方便与TTL 电平兼容;

2、传输速率高。 10 米时,RS485 的数据最高传输速率 的数据最高传输速率 可达 35Mbps,在 1200m时,传输速度100Kbps;

3、RS-485接口是采用平衡驱动器和差分接收器的组合,抗共模干能力增强,即抗噪声干扰性好;

4、传输距离远,支持节点多;

三、CAN是一种用于实时应用的串行通讯协议总线,它可以使用双绞线来传输信号,是世界上应用最广泛的现场总线之一。

CAN控制器根据两根总线上的电位差来判断总线电平。总线电平分为显性电平和隐性电平。显性电平对应逻辑电平为0,CAN-H与CAN-L之间的差为2.5V左右;隐性电平对应逻辑电平为1,CAN-H与CAN-L之间的差为0V左右;在总线上显性电平具有优先权。

CAN协议特点:

1、多主控制。

2、系统柔软性。

3、通讯速度快,通讯距离远。

4、具有错误检测、错误通知、错误恢复功能。

5、故障封闭功能。

6、连接节点多。

四、M-bus简称仪表总线, 它具有两总线无极性,布线无拓扑要求,总线自供电,抗干扰能力强、中继级数多、带终端级数多,简单、可靠等一 系列优点,是目前抄表系统应用的最好的总线。

M-BUS 系统采用半双工异步通讯,传输速率:300Bps—9600Bps。传输距离较远,由超声波热量表内独立锂电 池供电,外部电源断电不影响其独立工作。采用 M-BUS 总线施工方便,运行可靠,在欧洲广泛应用于抄表系统。

RS-232

逻辑1:-3~ -15V(所谓负逻辑电平);逻辑0:3~15V。一般只用到2(RXD),3(TXD),7(GND)

一文详解RS232、RS485、CAN总线,d901ef00-3a1b-11ed-9e49-dac502259ad0.png,第2张

RS-485

逻辑1:两线之间的电压差+(2-6)V;逻辑0:两线之间的电压差(2-6)V。

一文详解RS232、RS485、CAN总线,d96dd396-3a1b-11ed-9e49-dac502259ad0.png,第3张

120欧姆电阻是为了增加抗电磁干扰的能力。

一文详解RS232、RS485、CAN总线,d99e1efc-3a1b-11ed-9e49-dac502259ad0.png,第4张

CAN

根据两根总线上的电位差来判断总线电平。

总线电平分为显性电平和隐形电平。

显性电平对应逻辑电平为0,CAN-H与CAN-L之间的差为2.5V左右;(优先)

隐形电平对应逻辑电平为1,CAN-H与CAN-L之间的差为0V

一文详解RS232、RS485、CAN总线,d9c93538-3a1b-11ed-9e49-dac502259ad0.png,第5张

一文详解RS232、RS485、CAN总线,da11813a-3a1b-11ed-9e49-dac502259ad0.png,第6张

什么是TTL电平

逻辑1(2.4-5V),逻辑0(0-0.5V)

对于输出电路:电压大于等于(≥)2.4V为逻辑1;电压小于等于(≤)0.4V为逻辑0;

对于输入电路:电压大于等于(≥)2.0V为逻辑1;电压小于等于(≤)0.8V为逻辑0;

一文详解RS232、RS485、CAN总线,da5d8c7e-3a1b-11ed-9e49-dac502259ad0.png,第7张

引脚的定义:

一文详解RS232、RS485、CAN总线,dae8b3bc-3a1b-11ed-9e49-dac502259ad0.png,第8张

审核编辑:汤梓红

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2997754.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-09-26
下一篇 2022-09-26

发表评论

登录后才能评论

评论列表(0条)

保存