1.是什么:
485:通信接口的远程称重数据采集方法。
CAN:CAN,全称为“Controller Area Network”,即控制器局域网,是一种多主方式的串行通讯总线,是国际上 应用最广泛的现场总线之一。
单总线:美国DALLAS公司推出的外围串行扩展总线技术。
SPI:串行外设接口(Serial Peripheral Interface),可以理解为一种通信协议,也就是用来传输数据的。
I2C:I2C总线是由Philips公司开发的一种简单、双向二线制同步串行总线。它只需要两根线即可在连接于总线上的 设备之间传送信息。
2.特点:
485:1.485系统运行稳定,利用专用通信总线把集中器和主站安全、可靠的连接起来。除非设备接口硬件损 坏,或者总线线路断开,总线抄表系统会一直保持很好的通信效果和抄收成功率。
2.RS485通信速率高。由于是专用的有线通信线路连接,线路上除了通信信号外,再无其他信号。外来的干扰信号耦合到线路衰减很大,所以集中器可以以较高的速率与主站通信。
CAN:1.采用两线串行通讯方式,具有较强的错误检测能力,可以在高噪声干扰环境下工作
2.具有实时性强,传输距离长,电磁干扰强,成本低的优点。
3.可靠的错误处理和错误检测机制
4.节点具有严重错误时自动终止总线的功能
5.具有通过CAN控制器将多个控制模块连接到CAN总线以形成多主机本地网络的优先级和仲裁功能。
6.消息的身份可以决定接收还是屏蔽消息
7.如果传输的信息已损坏,则可以自动重新传输
8.该消息不包含源地址和目标地址,仅使用标志来指示功能信息和优先级信息。
单总线:通过一根信号线传送地址信息、控制信息和数据信息;可采用寄生电源模式通过信号线为器件供电;每个单 总线器件有全球惟一的一个序列号,系统主机通过此序列号来区分器件,总线上挂接多个器件组成小规模通 信网络;单总线器件引脚极少,系统接口构建简单。
SPI:全双工通信方式;可以当作主机或从机工作;提供频率可编程时钟;发送结束中断标志;写冲突保护;总线竞争 保护等。
I2C: 只需要一根数据线和一根时钟线两根线,总线接口已经集成在芯片内部,优化主板空间和成本; I2C总线具 有低功耗、抗干扰强的优点,传输距离长的特点。
3.协议:
485:RS485 仅仅规定了接受端和发送端的电气特性,它没有规定或推荐任何数据协议
CAN:CAN总线协议有CAN1.0、CAN2.0(CAN2.0A、CAN2.0B)
单总线:单总线通信协议定义了如下几种类型,即复位脉冲、应答脉冲、写0、写1、读0和读1。
SPI:SPI总线协议是一种全双工的串行通信协议,数据传输时高位在前,低位在后。
I2C:I2C是一种同步半双工的通信协议,同一时刻只能向一个方向传送数据。
4.使用方法:
485:
RS485 推荐使用在点对点网络中,线型,总线型,不能是星型,环型网络。
理想情况下 RS485需要 2 个匹配电阻,其阻值要求等于传输电缆的特性阻抗(一般 120Ω)
没有特性阻抗的话,当所有的设备都静止或者没有能量的时候就会产生噪声,而且线移需要双端的电压差
没有终接电阻的话,会使得较快速的发送端产生多个数据信号的边缘,导致数据传输出错
CAN:
通过两条通信线(双绞线)产生的电压差传输数据,一个CAN网络里的所有节点都挂在这两条通信线上,使 用差分信号半双工通信。
单总线:
(1)第一步:初始化
1)初始化包括主机发送复位脉冲和从机发送应答脉冲两部分组成;
2)主机 发送复位脉冲时拉低总线至少480us;
3)从机响应应答脉冲时,检测到总线被释放,并由5k上拉电阻拉高,从机检测到上升沿15-60us,拉低60-240us产生响应脉冲;
(2)第二步:ROM命令(跟随需要交换的数据)
(3)第三步:功能命令(跟随需要交换的数据)
SPI:
1. 先了解SPI有那些接口信号,各个信号的作用是什么
2. 再简单了解一下SPI通讯协议
3. 看一看单片机的SPI功能相关寄存器,看如何初始化配置以及收、发数据
I2C:I2C通信基本原理及其实现
5.区别
485与CAN:
1. RS485标准只规定了物理层而没有规定链路层,CAN是规定了物理层和链路层,换句话说,CAN用硬件实现了硬件标准化和协议标准化,当然485也有自己的通用协议MODBUS。
2. CAN硬件支持总线仲裁,每个从机节点带ID可定义优先级,485硬件上只能实现轮询的方式。所以总线利用率来说,CAN更加高效
3. 错误检测机制上,CAN做了错误提醒和控制器自闭锁的功能,而485由于只规定了物理层,单纯物理层的传输,如果有一个节点程序跑飞了,则全总线瘫痪。
4. 成本上对比,CAN的成本要高于485.
SPI与I2C:
1、定义不同:
SPI:SPI是串行外设接口(Serial Peripheral Interface)的缩写,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,越来越多的芯片集成了这种通信协议,比如AT91RM9200。
I2C :I2C 总线支持任何IC 生产过程(NMOS CMOS、双极性)。两线――串行数据(SDA)和串行时钟 (SCL)线在连接到总线的器件间传递信息。每个器件都有一个唯一的地址识别(无论是微控制器——MCU、LCD 驱动器、存储器或键盘接口),而且都可以作为一个发送器或接收器(由器件的功能决定)。很明显,LCD 驱动器只是一个接收器,而存储器则既可以接收又可以发送数据。除了发送器和接收器外器件在执行数 据传输时也可以被看作是主机或从机(见表1)。主机是初始化总线的数据传输并产生允许传输的时钟信号 的器件。此时,任何被寻址的器件都被认为是从机。.
2、I2C总线是半双工,2根线SCL SDA;SPI总线实现全双工,4根线SCK CS MOSI MISO。
3、I2C是多主机总线,通过SDA上的地址信息来锁定从设备;SPI只有一个主设备,主设备通过CS片选来确定从设备。
4、I2C总线传输速度100Kbps----4Mbps;SPI可达30Mbps以上。
5、I2C高电平时SDA下降沿标志传输开始,上升沿标志传输结束;SPI总线CS拉低标志传输开始,CS拉高标志传输结束。
6、I2C总线读写时序比较固定统一,设备驱动编写方便。SPI总线不同从设备datasheet来实现读写,相对复杂一些。
6.通信方式
485:RS-485可以采用二线与四线方式,半双工通信。
CAN:CAN是半双工的。收发数据要分时进行。不管CAN网络上挂多少设备,在同一时刻只能有1个发送数据。 如果有多个需要同时发送则只有优先级别高的先发送,其它等待。
单总线:它采用单根信号线,既传输时钟又传输数据,而且数据传输是双向的
SPI:是 一 种同步串行接口技术,是一种高速的,全双工,同步的通信总线。
I2C:I2C总线是一种简单、双向二线制同步串行总线。是半双工通信方式。
(本文摘自各大网站,侵权必删!!!)
---创作不易,转载请标明出处