485 |CAN| 单总线| SPI| I2C分别是什么 、各自特点、协议 、使用方法 、区别 、通信方式

485:

是什么

485,通信接口的远程称重数据采集方法,在要求通信距离为几十米到上千米时,广泛采用RS-485串行总线标准。RS-485采用平衡发送和差分接收,因此具有抑制共模干扰的能力。

特点

典型的串行通信标准是RS232和RS485,它们定义了电压,阻抗等,但不对软件协议给予定义,区别于RS232, RS485的特性包括:

1、 RS-485的电气特性:逻辑‘’1‘’以两线间的电压差为+(2—6)V表示;逻辑‘’0‘’以两线间的电压差为-(2—6)V表示。接口信号电平比RS-232-C降低了,就不易损坏接口电路的芯片, 且该电平与TTL电平兼容,可方便与TTL 电路连接。

2、RS-485的数据最高传输速率为10Mbps 。

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

4、RS-485接口的最大传输距离标准值为4000英尺(约1219米),实际上可达 3000米,另外RS-232-C接口在总线上只允许连接1个收发器,即单站能力。而RS-485接口在总线上是允许连接多达128个收发器。即具有多站能力,这样用户可以利用单一的RS-485接口方便地建立起设备网络。应用RS-485 可以联网构成分布式系统。RS-485的‘’节点数‘’主要是依‘’接收器输入阻抗‘’而定。

因RS-485接口具有良好的抗噪声干扰性,长的传输距离和多站能力等上述优点就使其成为首选的串行接口。因为RS485接口组成的半双工网络一般只需二根连线,所以RS485接口均采用屏蔽双绞线传输。 RS485接口连接器采用DB-9的9芯插头座,与智能终端RS485接口采用DB-9(孔),与键盘连接的键盘接口RS485采用DB-9(针)。

串口协议只是定义了传输的电压,阻抗等,编程方式和普通的串口编程一样。

协议

485 协议指的是 RS-485 协议,是串行通讯的标准。典型的串行通讯标准是 RS232 和 RS485,它们定义了电压,阻抗等,但不对软件协议给予定义。RS-485 总线标准规定了总线接口的电气特性标准即对于 2 个逻辑状态的定义:正电平在+2V~+6V 之间,表示一个逻辑状态;负电平在-2V~-6V 之间,则表示另一个逻辑状态;数字信号采用差分传输方式,能够有效减少噪声信号的干扰。

使用方法

RS485 推荐使用在点对点网络中,线型,总线型,不能是星型,环型网络。

理想情况下 RS485需要 2 个匹配电阻,其阻值要求等于传输电缆的特性阻抗(一般 120Ω)

没有特性阻抗的话,当所有的设备都静止或者没有能量的时候就会产生噪声,而且线移需要双端的电压差

没有终接电阻的话,会使得较快速的发送端产生多个数据信号的边缘,导致数据传输出错

通讯方式

串口数据通讯方式有单工模式、半双工模式以及全双工模式。单工模式:只支持数据在一个方向上传输;半双工模式:允许数据在两个方向上传输,但某一时刻只允许在一个方向上传输;全双工模式:同时在两个方向上传输,是两个单工通信的结合,要求发送设备和接收设备同时具有独立的接收和发送能力。常见的RS232、RS485、RS422串口通讯方式,其中RS232是全双工的,RS485是半双工的,RS422是全双工的,当然两个半双工的485可以组成422通信方式。

CAN

是什么

现场总线是近 20年发展起来的新技术, CAN 总线是一种应用广泛的现场总线,在工业测控和工业自动化等领域有很大的应用前景。

CAN是控制器域网 (Controller Area Network, CAN) 的简称,是由研发和生产汽车电子产品著称的德国BOSCH公司开发了的,并最终成为国际标准(ISO11898)。是国际上应用最广泛的现场总线之一。 在北美西欧,CAN总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线,并且拥有以CAN为底层协议专为大型货车和重工机械车辆设计的J1939协议。近年来,其所具有的高可靠性和良好的错误检测能力受到重视,被广泛应用于汽车计算机控制系统和环境温度恶劣、电磁辐射强和振动大的工业环境。

特点

1. 多主控制(I2C有主从机之分,CAN无所谓主机从机)

在总线空闲时,所有的单元都可开始发送消息(多主控制)

“最先”访问总线的单元可获得发送权(不管后面消息的优先级是否比自身的高)

多个单元“同时”开始发送时,发送高优先级 ID 消息的单元可获得发送权(只在同时发送时起作用)

2. 消息的发送(对比I2C是根据地址进行访问,这里ID非地址,而是一种表征优先级的标识符)

在 CAN 协议中,所有的消息都以固定的格式发送。当两个以上的单元同时开始发送消息时,根据ID (标识符) 决定优先级,对各消息 ID 的每个位进行逐个仲裁比较。仲裁获胜(被判定为优先级最高)的单元可继续发送消息,仲裁失利的单元则立刻停止发送而进行接收工作,此处这里ID非地址,而是一种表征优先级的标识符

3. 系统的柔软性(对比I2C总线上的每个单元都有一个独立的地址)

与总线相连的单元没有类似于“地址”的信息。因此在总线上增加单元时,连接在总线上的其它单元的都不需要改变。

4. 通信速度(波特率)

由CAN的物理层就可以看出,CAN是一种异步通信方式,所以通信前必须统一好同一网络上每个单元的波特率,即使有一个单元的通信速度与其它的不一样,此单元也会输出错误信号,妨碍整个网络的通信。不同网络间则可以有不同的通信速度。

5. 远程数据请求

可通过发送“遥控帧” 请求其他单元发送数据。

6. 错误检测功能·错误通知功能·错误恢复功能

所有的单元都可以检测错误(错误检测功能)

检测出错误的单元会立即同时通知其他所有单元(错误通知功能)

正在发送消息的单元一旦检测出错误,会强制结束当前的发送。强制结束发送的单元会不断反复地重新发送此消息直到成功发送为止(错误恢复功能)

7. 故障封闭

CAN 可以判断出错误的类型是总线上暂时的数据错误(如外部噪声等)还是持续的数据错误(如单元内部故障、驱动器故障、断线等)。由此功能,当总线上发生持续数据错误时,可将引起此故障的单元从总线上隔离出去。

8. 连接

CAN 总线可连接的单元总数理论上是没有限制的。但实际上可连接的单元数受总线上的时间延迟及电气负载的限制。

协议

控制器局域网总线(CAN,Controller Area Network)是一种用于实时应用的串行通讯协议总线,它可以使用双绞线来传输信号,是世界上应用最广泛的现场总线之一。CAN协议用于汽车中各种不同元件之间的通信,以此取代昂贵而笨重的配电线束。该协议的健壮性使其用途延伸到其他自动化和工业应用。CAN协议的特性包括完整性的串行数据通讯、提供实时支持、传输速率高达1Mb/s、同时具有11位的寻址以及检错能力。

使用方法

(1条消息) Linux Socket can使用方法_jirryzhang的博客-CSDN博客

单总线

是什么

单总线(1-Wire)是串行拓展总线,只有一根数据输入输出线,所有的器件都挂在这根总线上,典型应用是DS18S20数字温度传感器的数据读取。单总线具体可参看:单总线原理

特点

单总线技术具有节省I/O资源,结构简单、成本低廉、便于总线扩展维护等优点。将地址线、数据线、控制线合为一根信号线。单总线系统使用自身的网络接口的传感器和其它器件。该接口的数据通信和供电仅需通过一根数据线再加一根地线,这意味着微控制器仅需一个端口即可与单总线传感器通信。

单总线系统网络工作于一主多从模式(多点网络)。时序非常灵活,允许从机以高达16kbps的速率与主机通信。每个单总线器件都有一个全球唯一的64位ROM ID,允许单总线系统主机精确选择位于网络任何位置的一个从机进行通信。1单总线系统采用漏极开路模式工作,主机(或需要输出数据的从机)将数据线拉低到地表示数据0,将数据线释放为高表示数据1。这通常通过在数据线和VCC之间连一个分立电阻实现。

协议

单总线协议主要分为初始化总线协议,读总线协议和写总线协议.

单总线初始化协议过程大致如下:先输出低电平,至少保持480us,一般在480us到960us之间,接着输出高电平,延时15~60us.这个时候51单片机就进入了接收模式,这个时候从机需要60到240us发送一个低电平脉冲,如果这时主机接收到的是低电平,就需要主机从开始进入接收模式到初始化结束至少延时480us,这才算是完成了单总线通信的初始化‘。

单总线写时序协议过程大致如下:但总线协议的写时序还主要分为写0和写1,本身它的传输也是低位传输。整个写时序的时间至少需要60us,并且两次写时序的时间间隙至少是1us.写1时序主要是先输出低电平,延时2us,然后写1,延时50us.写0时序,先写0,延时60us,然后写1,延时2us的时间.

单总线读时序协议过程大致如下:整个读时序的时间至少需要60us,而且两次读时序的时间间隙至少是1us.主机先输出低电平2us,然后延时12us,这个时候主机进入接收模式,读取当前的电平状态,然后再延时50us,读取数据也是从低位开始读取。

SPI

是什么

SPI (Serial Peripheral Interface,串行外围设备接口)是一种全双工同步串行外设接口总线,主要用于MCU与外围设备的串口通信。它由四根线构成:串行时钟线(SCK)、主机输入/从机输出数据线(MISO)、主机输出/从机输入数据线(MOSI)和低电平有效从机选择线(CS)SS。

特点

1、全双工;

2、可以当作主机或从机工作;

3、提供频率可编程时钟;

4、发送结束中断标志;

5、写冲突保护;

6、总线竞争保护等。

协议

SPI总线是微控制器四线的外部总线。SPI没有明文标准,是一种事实总线,对通信操作的实现由芯片厂商和驱动开发者通过data sheet和application notes沟通实现的细节。SPI是四根信号线协议,如下:

SCLK:Serial Clock(Output from master);

MOSI:Master Output Slave Input(Outpt from Master);

MISO:Master Input Slave Output(Output from Slave);

SS:Slave Select(Active low,Output from Master);

使用方法

SPI接口一般使用 4 条线通信:

MISO 主设备数据输入,从设备数据输出。

MOSI 主设备数据输出,从设备数据输入。

SCLK 时钟信号,由主设备产生。

CS 从设备片选信号,由主设备控制。

核心:主机内容与从机内容互换

CPOL:时钟极性选择,为0时SPI总线空闲为低电平,为1时SPI总线空闲为高电平

CPHA:时钟相位选择,为0时在SCK第一个跳变沿采样,为1时在SCK第二个跳变沿采样

SPI 总线四种工作方式 SPI 模块为了和外设进行数据交换,根据外设工作要求,其输出串

行同步时钟极性和相位可以进行配置,时钟极性(CPOL)对传输协议没有重大的影响。如果

CPOL=0,串行同步时钟的空闲状态为低电平;如果 CPOL=1,串行同步时钟的空闲状态为高电

平。时钟相位(CPHA)能够配置用于选择两种不同的传输协议之一进行数据传输。如果

CPHA=0,在串行同步时钟的第一个跳变沿(上升或下降)数据被采样;如果 CPHA=1,在串

行同步时钟的第二个跳变沿(上升或下降)数据被采样。SPI 主模块和与之通信的外设备时钟

相位和极性应该一致。

一般使用低电平上升沿(CPOL=0,CPHA=0)或者高电平上升沿(CPOL=1,CPHA=1)读取数据。

I2C总线

是什么

I2C (Inter-Integrated Circuit,内部集成电路)是一种串行总线,主要运用于同一电路板内的器件通信。它只有两根信号线:数据线(SDA)和时钟线(SCL),同时I2C通讯管脚时序可以使用一般IO口进行模拟,能有效减少对IO口资源的占用。I2C协议规定了100K(标准模式),400K(快速模式)和3.4M(高速模式)三种通信速率,一般应用于同一电路板内较低速率的通信。

特点

I2C 主要特点总结如下。

(1)在硬件上,二线制的 I2C 串行总线使得各 IC 只需最简单的连接,而且总线接口都集成在 IC 中,不需另加总线接口电路。电路的简化省去了电路板上的大量走线,减少了电路板的

面积,提高了可靠性,降低了成本。在 I2C 总线上,各 IC 除了个别中断引线外,相互之间没有其他连线,用户常用的 IC 基本上与系统电路无关,故极易形成用户自己的标准化、模块化设计。

(2)I2C 总线还支持多主控( multi-mastering ),如果两个或更多主机同时初始化数据传输,可以通过冲突检测和仲裁防止数据被破坏。其中任何能够进行发送和接收的设备都可以成为

主机。一个主机能够控制信号的传输和时钟频率。当然在任何时间点上只能有一个主机。

( 3)串行的 8 位双向数据传输位速率在标准模式下可达 100kbps ( S08AW系列的 I2C 模块只

支持标准模式) ,快速模式下可达 400kbps ,高速模式下可达 3.4Mbps。

( 4)连接到相同总线的 IC 数量只受到总线最大电容( 400pf )的限制。但如果在总线中加上

82B715 总线远程驱动器可以把总线电容限制扩展十倍,传输距离可增加到 15m。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值