RS-232:
RS-232(又称EIA RS-232)是常用的串行接口标准之一,由美国电子工业协会(EIA)联合贝尔系统公司、调制解调器厂家及计算机终端生产厂家于1970年共同制定。
RS-232具有以下特点:
1、传输距离有限,最大传输距离标准值为15米;
2、只能点对点通讯,连接1个收发器,不能支持多站收发能力;
3、最大传输速率最大为20kB/s。
4、接口电平值较高,易损坏接口电路的芯片;
5、没有构成差分线形式,容易产生共地共模干扰,抗干扰能力弱;
该标准采用了25个引脚的DB25连接器,后被简化为DB9连接器;一般只使用TXD,RXD,GMD三个引脚;
RS-485:
RS-485是美国电子工业协会(EIA)在1983年批准了一个新的平衡传输标准(balanced transmission standard),EIA一开始将RS(Recommended Standard)做为标准的前缀,不过后来为了便于识别标准的来源,已将RS改为EIA/TIA。目前标准名称为TIA-485,但工程师及应用指南仍继续使用RS-485来称呼此标准。
RS-485仅是一个电气标准,描述了接口的物理层,像协议、时序、串行或并行数据以及链路全部由设计者或更高层协议定义。RS-485定义的是使用平衡(也称作差分)多点传输线的驱动器(driver)和接收器(receiver)的电气特性。
RS-485具有以下特点:
1、差分传输方式,抗噪声干扰能力较强;
2、传输距离较长,可达一千两百多米;
3、传输速率相对较高;
4、同一总线可以连接多个驱动器和接收器;
5、共模范围较宽,允许最大的共模电压为-7-12V;
一,差分传输方式
RS-485有A,B两个信号;
如果逻辑为1,则线路B电压比线路A高;
如果逻辑为0,则线路A电压比线路B高;
符合RS-485标准的接收器能检测小到200mV的差分信号输入。即便是在线缆和连接器严重降级的情况下,这两个值仍能为高可靠性的数据传输提供充足的余量;
二、传输方式
包括半双工(2线)和全双工(4线)两种方式,即:
半双工,一次只能在一个方向传输数据,单次传输完成后,才可开始另一个方向的传输;
全双工,允许主从节点双向同时进行通信;
三、终端外接电阻
目的是为了避免信号反射,当传输距离很长时,必须设置终端电阻,通常建议的电阻大小为120Ω;
RS-485通常是3-A,8-B,通信双方接线直连,A-A,B-B,为半双工的通信方式;当使用两对RS485差分线就可以组成全双工通信,这就是RS422协议了;
CAN总线协议:
CAN总线通信系统是串行通信的一种,要优于RS485总线,是目前比较常用的一种工业总线,如汽车的电气部分就采用CAN总线实现通信。CAN通讯并不是以时钟信号来进行同步的,它是一种异步半双工通讯。(同步即在同一个时钟驱动下数据通信,半双工即接受与发送不能同时进行);
一个系统中多个器件都挂在CAN总线上,各个部分再汇集到网关,由网关分配实现各个不同速率部分的通讯,可以减少物理连线;
CAN的组成一般有两种方式:
1:CPU与CAN控制器集成到一起、再外接CAN收发器;
2:另一种是CPU与CAN控制器分开的,使用的时候需要配置CAN接口电路,比较麻烦。CAN收发器是用于TTL电平与差分电压信号相互转换的,TTL电平即单片机引脚直接提供的电平,逻辑0代表低电平,逻辑1代表高电平;而差分电压信号则为固定的电压值。
空闲状态是指没有节点正在传输数据的时候;在CAN协议中,当总线上的上出现连续的11位隐性电平(两根线电压差小于0.5V),表示总线就处于空闲状态。每次发送数据前,节点都会监听总线的状态,如果总线状态为空闲时,它就会立即向总线上发送自己的数据,这个数据里不仅有数据,还有本身的ID信息或者其他的控制指令,应称为数据包(数据帧),也叫做报文。当报文被传输到其它节点时,只要这些节点按格式去解读,就能还原出原始数据。
在原始数据段的前面加上传输起始标签、片选(识别)标签、控制标签,在数据的尾段加上 CRC 校验标签、应答标签和传输结束标签。类似这样的数据包就被称为 CAN 的数据帧。为了更有效地控制通讯,CAN 一共规定了 5 种类型的帧,帧也称为报文。
帧 | 帧用途 |
数据帧 | 用于节点向外传送数据 |
遥控帧 | 用于像远端节点请求数据 |
错误帧 | 用于想远端节点通知校验错误,请求重新发送上一个数据 |
过载帧 | 用于通知远端节点,本节点尚未做好接受准备 |
帧间隔 | 用于将数据帧及遥控帧与前面的帧分离开来 |