为了给新同学们一个系统的认识,整理了一个知识树。如图【 CAN over view.png】
CAN Network
1.CAN Transceiver:
就物理层,负责收发一个1bit到CAN总线
2.CAN Controller:
类似以太网的MAC层,负责传送一个消息的硬件模块,次模块有集成在CPU里面的,也有外置的
3.CAN Driver:
还是类似以太网的MAC层,只是一个驱动,这样软件就可以接受一个一个消息了
驱动,根据CAN ID(这个具体看汽车厂商) 来和上游软件传送消息
4_1.IL(Interaction Layer)
次层直接联系驱动和应用层,
这是一个最重要,简单,常见,稳定,必须的应用,CAN入门必备
4_2.Customer Define Protocol
这个层次和IL并列,但是具体干什么,
是各家汽车厂商定制功能,各家不一
4_3.NM(Network Management)
ISO和欧标都规定了各自的网络管理功能,
个厂商还有自己的改动,主要用于唤醒和睡眠,具体细节各家不一
4_4.TP(Transport Protocol) 2.CAN Controller:只传一个消息,信息太短,这层传大包
IL虽然便利好用,但只适合传小且快的数据,
偶尔要传大且慢的数据,就需要TP层了
4_4_1.Diagnostics
汽车诊断层,基于TP层,故名思意,各种标准的定制的诊断功能可以做在这里。
有了他,汽车售前售后,供应商,整车厂商都依靠他,调查故障,调试,升级,设定
4_4_1_1.DTC
汽车故障码,汽修的朋友肯定熟悉,
这个是汽车诊断的一个大分支,ISO规定了共同部分,各家加了自己的定制部分
4_4_1_2.Flash
ECU刷新,用于软件升级,各种设定
是汽车诊断的又一个大分支,ISO规定了共同部分,各家加了自己的定制部分
图片和相关关键词,参照了如下链接
http://vector.com/portal/medien/ ... tInformation_EN.pdf
page5