下面对目前比较通用的总线进行分析以说明选用CAN的原因。
1.2.1.1 UART[1][2]
UART(Universal Asynchronous Receiver/Transmitter)作为通用串行数据总线,用于异步通信,是串口通信的基础协议。该总线可实现全双工,在与PC进行通信的场景中很多见。作为一个大类的异步通信的通称,在UART的基础上添加电平转换和驱动电路即可实现某种具体的总线,加上RS232驱动器即RS232总线,加上RS485驱动器则为RS384总线。根据各类总线的电气规范不同,其传输距离以及抗共模干扰能力不同。
1.2.1.2 SPI[3][4]
SPI(Serial Peripheral Interface)总线是由Motorola公司推出的全双工同步串行总线。它主要的应用场景在于与ADC,E2PROM与显示驱动器等慢速外设的通信。SPI的接线中具有时钟线,因此其数据的传输是同步的。
1.2.1.3 I2C[5]
I2C为同步半双工总线,在这个总线网络中可以有一个以上的主节点以及从节点。它定义了两条线用于数据的传输:串行数据线和串行时钟脉冲线。I2C网络中的每一个节点都具有一个7位或10位的地址。10位地址使得网络中能布置更多的器件,但总线可挂接器件的数目主要由总线的分布电容容量决定。这一容量必须限制在400pF以内。
1.2.1.4 CAN[7]
CAN全称“Controller Area Network”,是由BOSCH提出的多主机,信息广播式的总线协议。其最高信号传输速率可达1Mb/s。与传统的USB和以太网在中央总线主机监控下实现A点到B点的点对点大数据传输的方式不同,在CAN总线中,类似温度、转速之类的小型数据通过广播形式传播到整个网络中。通过非破坏性的逐位仲裁机制,CAN总线可以实现高优先级报文的无延迟传输。
综合考虑上述总线,并通过表1[8]比较其主要性能:
表1.1 四种串行总线性能对比表
总线类型 信号线数 通信类型 多主机 通信速率bps 运行挂载节点数 通信距离/m
UART 2 异步 不支持 3k~4M 2 1.5@128kb/s
SPI 3 同步 不支持 >1M <10 <3
I2C 2 同步 支持 <3.4M <10 <3
CAN 2 异步 支持 20k~1M 128 40@1Mb/s
因此综合考虑下来,CAN总线是最适合于本应用场景的总线种类。
1.2.2 CAN总线的发展[9]
上世纪80年代,Bosch公司的工程师发现当时的串行总线对于乘务车系统并不友好,因此他们决定开发一种新型串行总线标准。Bosch起初开发这一总线主要是为了增加新的功能,而不是现在大多数人认为的减少电气连接线。Intel和奔驰较早的参与了总线规范的制定。Wolfhard Lawrenz博士作为Bosch公司当时聘请的顾问之一,命名这一新的网络方案为“Controller Area Network”,简称CAN。
CAN正式推出于1986年2月的在底特律的汽车工程协会大会上。同时,CAN之父们--Uwe Kiencke,Siegfried Dais、Martin Litschel和作为Bosch公司社员的Wolfgang Borst等人已经实现了数种CAN中的错误检测机制。
1987年中期,Intel交付了首枚CAN控制器:82526,这是CAN方案首次通过硬件实现。不久之后,Philips半导体也推出了CAN控制器:82C200。
1991年,Bosch公司发表了CAN规范2.0。之后不久,这个规范被提交给国际标准化组织。ISO于1993年11月发表了CAN的国际标准ISO-11898,该标准规定了CAN的数据链路层与高速物理层。在1995年,ISO 11898被修订,增加了29位ID的扩展格式。
- 上一篇:MicroVision双目立体视觉的目标识别技术研究
- 下一篇:运用霍尔传感器的转速测量电路的研制
-
-
-
-
-
-
-
乳业同业并购式全产业链...
java+mysql车辆管理系统的设计+源代码
电站锅炉暖风器设计任务书
中考体育项目与体育教学合理结合的研究
大众媒体对公共政策制定的影响
河岸冲刷和泥沙淤积的监测国内外研究现状
酸性水汽提装置总汽提塔设计+CAD图纸
杂拟谷盗体内共生菌沃尔...
当代大学生慈善意识研究+文献综述
十二层带中心支撑钢结构...