难懂?这样理解SPI与CAN很简单!
什么是串行通讯?
在正式进入主题前,我么先来介绍一下什么叫做"串行通信".
串行通信是计算机的一种数据传输通信方式,主要起到主机与外设以及主机之间的数据传输作用,串行通信具有传输线少、成本低的特点,主要适用于近距离的人-机交换、实时监控等系统通信工作当中,借助于现有的电话网也能实现远距离传输,因此串行通信接口是计算机系统当中的常用接口。
何谓串行?
串行通讯又可分为单工\双工\全双工三种
为什么仍需使用串行通讯?
串行通讯就像是一条车道,而并行通讯则是8条车道,那么就会有人有这样的疑惑:为什么还存在串口通讯呢?
事实上,并行通讯,由于"车道"多,相互之间的干扰就大,一旦发生传输错误,8个通道上的数据都得重新传输,相比较而言,串行通讯就显得快一些了.
SPI与CAN
解释清楚了什么事串行通讯,接下来我们具体看看SPI与CAN的区别:
SPI:串行外围设备接口SPI(serial peripheral interface)总线技术是Motorola公司推出的一种同步串行接口。Motorola公司生产的绝大多数MCU(微控制器)都配有SPI硬件接口,如68系列MCU。SPI总线是一种三线同步总线,因其硬件功能很强,所以,与SPI有关的软件就相当简单,使CPU有更多的时间处理其他事务。
CAN (控制器局域网 control area network ) 实现了分布式节点控制系统可靠的数据通信.本质上也是一种通讯网络,经常被应用在一些特殊场合.
总的来说,SPI 与CAN的区别就是研发公司\技术特点与应用场合的不同,本质上都是实现数据的传输.
SPI 接口特点
SPI主要特点:
- 可同时发出和接受串行数据;
- 提供频率可变成时钟;
- 发送结束中断标志;
- 总线竞争保护等.
CAN现场总线特点
CAN现场总线特点:
- 较低的成本和较高的利用率;
- 数据传输距离可长达10km,传输速率可高达1Mbit/s;
- 可靠的错误处理和检错机制,发送的信息遭到破坏后可自动重发;
- 节点在错误严重的情况下具有自动退出总线的功能.