1,CAN是什么?
CAN 是Controller Area Network 的缩写,是ISO国际标准化的串行通信协议。
CAN在汽车中用于车内各个电子控制系统之间的高速通信,目标是增加新功能,减少电气连线。
CAN在1986年由德国电气商博世公司开发。此后,CAN 通过ISO11898 及ISO11519 进行了标准化,现在在欧洲已是汽车网络的标准协议。
汽车内其它的通信协议还有LIN,FlexRay等。
2,总线拓扑图
CAN控制器根据两根线上的电位差来判断总线电平。总线电平分为显性电平和隐性电平,二者必居其一。发送方通过使总线电平发生变化,将消息发送给接收方。
CAN连接示意图如下所示:(Renesas《CAN入门书》)
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
很多汽车工业用CPU都自带CAN控制器,典型的CAN应用电路由收发器,滤波电路,保护电路组成。
CAN收发器的制造厂商有飞利浦,英飞凌,瑞萨等。
CAN滤波器一般使用CANbus专用的高电感共态滤波器,生产厂家有TDK等。
3,CAN的特点
(1)多主控制
・在总线空闲时,所有的单元(ECU)都可开始发送消息控制总线(多主控制)。
・最先访问总线的单元可获得发送权。
(2)消息的发送
・在CAN 协议中,所有的消息都以固定的格式发送。
(3)仲裁机制
・两个以上的单元同时开始发送消息时,根据标识符(Identifier 以下称为 ID)决定优先级。ID 并不是表示发送的目的地址,而是表示访问总线的消息的优先级。
・两个以上的单元同时开始发送消息时,对各消息ID 的每个位进行逐个仲裁比较。仲裁获胜(被判定为优先级最高)的单元可继续发送消息,仲裁失利的单元则立刻停止发送而进行接收工作。
(4)通信速度
・根据整个网络的规模,可设定适合的通信速度。
・在同一网络中,所有单元必须设定成统一的通信速度。不同网络间则可以有不同的通信速度。
(5)连接单元数量
・CAN 总线是可同时连接多个单元的总线。可连接的单元总数理论上是没有限制的。
・实际上可连接的单元数受总线上的时间延迟及电气负载的限制。降低通信速度,可连接的单元数增加;提高通信速度,则可连接的单元数减少。
4,CAN的标准化协议(传输速度)
CAN 协议经ISO 标准化后有ISO11898 标准和ISO11519-2 标准两种。ISO11898 和ISO11519标准对于数据链路层的定义相同,但物理层不同。
(1) 关于ISO11898
ISO11898 是通信速度为125kbps-1Mbps 的CAN 高速通信标准。
(2) 关于ISO11519
ISO11519 是通信速度为 125kbps 以下的CAN 低速通信标准。
高速通信标准和低速通信标准的硬件规格也不一样,所以需要选用不同的收发器。在收发器的规格书上都会注明高速通信用还是低速通信用,或者是符合ISO11891标准还是ISO11519标准。
关于CAN的协议等其他方面的详细介绍,可以阅读下列参考资料。
参考资料:
1, Renesas《CAN入门书》,2006年2月10日
中文版:
http://cn.renesas.com/media/hk_pdf/CN_Prod_Cat/C6/can_app/rcj05b0027_can_intro.pdf
英文版:
http://documentation.renesas.com/eng/products/mpumcu/apn/rej05b0804_m16cap.pdf
2, 周立功单片机《CAN发展史》,《CAN-bus 规范V2.0 版本》
http://www.zlgmcu.com/philips/can/can_about.asp
http://www.zlgmcu.com/download/downs.asp?ID=371
http://www.zlgmcu.com/download/downs.asp?ID=380
3, Bosch CAN Specification Version2.0
http://www.semiconductors.bosch.de/pdf/can2spec.pdf
用户1616693 2011-7-30 23:14
用户147756 2008-6-7 23:04