下面对目前比较通用的总线进行分析以说明选用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双目立体视觉的目标识别技术研究
下一篇:运用霍尔传感器的转速测量电路的研制

基于TCP/IP技术的转向架振动测试系统设计

基于PM2.5浓度的健康出行路径规划及实现

基于涡旋电磁波的新型雷达成像技术研究

基于相关滤波器的长期跟踪算法研究

变分模态分解方法研究及...

HFSS形状渐变方法的槽缝加载微带天线设计

基于QT的图像处理系统设计

大规模MIMO系统的发展研究现状

MNL模型历史城区居民活动...

《水浒传》中血腥暴力研...

遥感土地用变化监测国内外研究现状

提高小學语文課堂朗读教...

小型通用机器人控制系统设计任务书

从企业eHR建设谈管理信息...

PCI+PID算法直流力矩电机速...

高效课堂教师问卷调查表

浅析施工企业保理融资成...