中国汽车工程师之家--聚集了汽车行业80%专业人士 

论坛口号:知无不言,言无不尽!QQ:542334618 

本站手机访问:直接在浏览器中输入本站域名即可 

CAN20A.pdf

 

CAN的原理及应用:
先发一个,抛砖引玉。谢谢各位老大支持。 Yzv+Ji-i
当前汽车应用开发人员正面临着众多设计挑战,由于现代汽车增加了更多电子功能,对低功耗和更小印刷电路板的需求也越来越强烈,所有这些都表明在诸如车身控制和传动系统等应用领域中这样的特性将曰益重要。
qTev$t
如今汽车中的绝大多数电子控制单元互相之间都有连接,但汽车制造商对不同的应用使用了不同的总线系统。例如传动系统和制动系统多数通过控制器局域网络(CAN)来联系,而通讯不太密集的应用(如车窗升降电机和控制车镜的按键)则可能使用局域互联网络(LIN)协议。本文将论述怎样利用LIN总线来满足汽车业所需要的新增电子功能,并同时确保低功耗以及使用较小面积的PCB。
|E#m7;*"Q

bvtGb
图1:LIN在汽车上的典型应用领域。
D@P@pf7
LIN协议
b#j^QB9w N
LIN协议由欧洲汽车制造商协会设计,是一种低成本短距离低速网络。它旨在传送开关设置和传感器输入等状态的变化,并对这类变化做出响应,因此可用于传送发生时间约为几分之一秒的事件,并不适用于汽车应用中的高速事件(如引擎管理)。LIN的另一个目的是利用该协议的简单性降低系统成本,以便能够方便地在质优价廉的8位单片机中实现。LIN总线协议的最新版本是V2.0,可以在LIN联盟的网站(
www.lin-subbus.de)上得到。 Z\4sPTX/p
LIN支持单线双向通讯,采用廉价的由RC振荡器驱动的单片机,可省掉晶体振荡器或陶瓷振荡器的费用。虽然LIN降低了系统总成本,但在时间和软件上却要付出代价,每条报文都必须经过一个自动确定波特率的过程。LIN协议支持最高20kbps传输速率,以及一个低功耗休眠模式,此时总线将被关闭,不再消耗汽车电池。采用8位单片机并结合外部或内部RC有助于降低系统成本,并减少PCB实际的面积。
]+SY? ws
图1显示了LIN在汽车中的典型应用。总线上的地电位信号为显性状态,只要任何节点将总线电压拉低,就会出现这一状态。当总线处于电池电压且所有节点都使总线处于悬空状态时,会出现隐性状态。在空闲状态下,总线通过上拉电阻悬空为高电平。
&/H W"
LIN总线的工作电压范围为9~18V,但总线上所有部件都必须能够承受40V电压。通常,单片机通过线路驱动器/接收器与总线隔离,这种方案下总线每个节点都端接为VBAT电平,主节点通过1kΩ电阻端接,从节点则通过20-47kΩ的电阻端接。总线最大设计长度为40米。
z Z9&{:%
每个字节都利用起始位和停止位作为头尾标志位。起始位与空闲状态相反,为0,而停止位则等同空闲状态(即1)。在每个字节内,数据从最低位(LSB)开始传送。
s&oX;}SvW
报文协议
,#S^n _ v
9eKEKOb`
图2:LIN网络在车镜控制上的应用。
4dox/leB
主节点用于控制LIN总线,它通过对从节点进行查询,将数据发布到总线上。从节点仅在主节点的命令下发送数据,从而在无需仲裁的情况下实现双向通讯。报文的传送是在主节点发出一个同步间隔脉冲后开始的,然后跟随的是同步字段和报文字段。主节点通过在每个报文的开始处发送同步字段可设定整个总线时钟。
"h@^yA|o6
每条报文的第二字节是一个标识符字节,它告诉LIN总线随后将发送的是什么数据,并指明哪个节点应该应答及应答的长度是多少。对于给定的命令,只有一个从节点可以应答。
od!csTq
从节点仅在主节点的控制下在LIN总线上发送数据。一旦数据发布到总线上,任何节点都可以接收该数据。因此,一个从节点向其它从节点发送数据无需主节点干预。
m,`n6'M5U
由于LIN协议使用低成本RC振荡器,因此从节点必须检测主节点每次发送的波特率,并调整为当前速率,所以每次通讯都以同步字段开始,它是一个0、1交替出现的字节。
_uJ8$zv
同步字段之后是标识符字段,它告诉LIN总线接着出现的内容。该字段进一步分为三个子字段:4位(0-3)用于对总线上的设备进行寻址;2位(4-5)指明此后报文的长度,最后2位(6-7)用于奇偶校验。
W0 %]Gx
除休眠命令之外,LIN协议没有定义任何报文的内容,其它命令是在具体应用中定义的。
3>>V e+
错误检测
::\!
以下错误必须在每一节点处进行检测和计数,一旦出现错误,该命令就要被丢弃,并记录这一错误事件。
!~rlb [[h~
位错误——正在发送的节点应该对希望发送的数据与总线上实际出现的数据进行比较,控制器必须等待足够时间以确保总线对发出的数据做出反应,然后才可测试这一数据。假定总线响应信号的最小边沿变化速率为1V/μs,最大总线电压为18V,那么发送器应等待18μs后才可进行测试。
bW!Q{L_K
校验和错误——每条报文的数据内容都受到校验和字节的保护,该字节是数据字节相加后取256模的余数再取反的结果。
\V v!WHc8
奇偶校验——命令字节使用2个奇偶位来保护其它6个数位,这两个数位在接收后要重新计算,再与接收结果进行比较。
XBQLaFG
该协议没有定义直接错误报告机制,然而由于每个从节点都应自行追踪各自的错误,因此主节点可利用正常的报文协议来请求获得错误状态。
T5?CA%\N
LIN和系统要求
1P32tS?p
那么LIN是如何满足对低功耗、低系统成本、功能增加甚至减少汽车总重量的要求呢?
5LP;!2vO;
首先它可以方便地用软件实现LIN协议,该协议不需要单片机给予过多的硬件支持,通过使用一个简单的USART或增强型USART就可以实现。USART支持诸如自动波特率检测等功能,这意味着在LIN应用中可以使用一个简单的质优价廉的8位单片机。还有一个优点就是LIN在协议层不需要复杂的操作系统,不多的软件开销还使得设计人员能够选择存储器容量较小的单片机。
'ZmG1biNo
如何运用像LIN这样的简单协议对汽车进行控制呢?以车镜控制为例,许多汽车的车镜相互之间仍是硬连接,或者在豪华型汽车中通过CAN这样的昂贵协议连接,其实利用LIN总线就可以方便地将左右车镜和四向仪(可以改变车镜位置的四方向开关)连接起来。在典型的LIN方案中,四向仪是主节点,两个车镜是从节点。四向仪读取按键的状态,将报文发送给相应的车镜。
0Rm,}YO}
那么使用LIN能够为诸如车镜控制等应用增加新功能吗?回答是不需要额外连线,就可以方便地添加其它功能,如集成式转向信号、集成式照地灯或车镜加热器。这里车镜只需要与地电位、VBAT和LIN总线连接,需要改动的只有主节点,它必须知道要实现哪些车镜功能。
)0EQ$)3'
图2说明了用于车镜应用的LIN网络。为了更清楚地理解这个例子,让我们更深入地研究一下。该网络中的主节点是一个PIC18F4680 8位闪存单片机,它读取车镜选择开关和四向仪,还通过CAN总线接收报文。从CAN总线发送给主控LIN节点的报文包括左右转向信号和开门,接收到来自CAN总线的报文后,主节点通过LIN总线向从节点发出命令,如“左车镜上升或左车镜下降”。
[!dx4}**)
在此例中,从节点由PIC16F688 8位闪存单片机组成。PIC16F688具有一个集成的LIN收发器和一个增强型USART,其中USART能自动执行自动波特率检测。从节点收到报文并利用步进电机使车镜上升或下降。假设车镜模块没有集成式转向信号等其它功能,当从节点从LIN总线上接收到一条诸如“左转向信号”的报文时,它就会忽略这一报文或者触发I/O用于转向信号(这部分内容已超出本文讨论范围)。触发I/O的好处是无论车镜是否集成了转向信号都可应用相同的软件,只需要对硬件做适当更改即可运行,也就是说功能不同的各种车镜都可以使用同一软件。
J,rO\[
LIN软件
+S?,`-+
LIN主节点有三个主要的软件进程,第一个进程接收CAN报文,并将其转变为LIN报文;第二个进程读取四向仪和车镜选择开关的状态;第三个进程向从节点发出报文。
?][w_ u
如果主节点从CAN总线上接收到“左转向信号打开”的报文,它会将该报文转变成LIN协议,并发送给适当的LIN总线节点(在本例中为左车镜)。对PIC18F4680中的CAN控制器进行编程后,它可以只接收来自CAN总线的特定报文,而不会有任何其它软件开销,这一硬件过滤方式使CAN总线的通讯只有极少软件工作量。PIC18F4680也集成了一个可用于LIN总线通讯的USART,由于LIN总线主节点不必执行自动波特率检测,因此它能够通过USART发送整条报文。
c)bR/sV|&
车镜从节点有n+1个进程,其中n是车镜中集成的功能数目。如果只要控制车镜的上下左右,软件进程就只有2个,第一个是收发进程,第二个是车镜控制进程,主要驱动步进电机,其它可能的进程有“照地灯开”和“左转向信号开”。因为PIC16F688有一个增强型USART,可实现波特率检测,所以LIN通讯的软件开销非常少,这就为实现其它功能(包括检修)留出了很大余地。
XRx/!
本文小结
3xr  ^*,G
正如前面所述,LIN总线能够增加功能和降低成本,可以用软件编程实现各种特性,也可以通过软硬件功能增添新的特性,这样不同的模块就都可以用一个硬件或一个软件平台实现。LIN总线的灵活性有利于降低生产和软/硬件维护方面的成本。因为LIN总线非常简单,所以用质优价廉的8位单片机就可以实现,从而降低系统总成本。


[ 本帖最后由 一线天 于 10-11-2006 23:32 编辑 ]
好贴啊
能和我联系下吗
我们做过POLO车身的CAN控制系统
讲教一下各位,在那里可以找到详细讲解can\van\lin\most的资料,谢谢大家
哪里有详细的CAN VIN RAM ECM 等方面的知识,谢谢了。好好学习了。
今后的汽车发展是离不开总线技术滴!!!
专业!总线技术哈真不是吹得~
真是太专业了,有一些看不懂,但是感觉很好
最基本的应该从那学起,这个太高深
题目说的是CAN网原理,讲的却是LIN网,这是多路传输中两种不同的传输协议,其传输速度是在不相同的,当然编码技术也不一样。如果两种网络互联,它们之间是需要有网关才能通信的。
我知道的这方面的知识也不多,以后多交流吧
23楼的朋友,如果你只是想修某一款车.你只要找到相关的修理手册,它就会告诉你一些网络控制基本原理.该车网络结构,怎么测量各节点参数值,怎么去根据诊断仪提示的故障代码(有的甚至直接从诊断电脑告知是什么故障),去查找故障点,该怎么排除故障.
这就是因为由于现代汽车用了多路传输,控制系统共享信息量陡增,控制范围也就扩大了许多,使得车上的控制电脑跟普通的电脑一样,具备容错(比如:系统的降级安全模式),智能化(比如:模糊控制)功能.也由于用了电脑(ECU),很多信息可以用程序来处理(就是所谓的"软件"),这样使得在车辆控制系统中,在不增加任何装备的条件下,实现车主个性化设置.
我们把前者叫诊断,后者叫配置,你只要搞懂某款车的控制系统诊断和配置方法,就可以做这款车的维修服务了。
但你如果真正想了解它的原理,那是要有一定的理论知识的,比如电子技术/控制技术/编码技术也就是数字技术,由于篇幅原因,也不是一下子能说清楚,这里有专家发表了篇比较好的文章,不知你是否曾看过,我想这对于你在这方面了解可能有些帮助。现摘录如下
CAN 通信协议简介
一、概述
对于一般控制,设备间通信可以通过串行网络完成。因此,BOSCH 公司开发了CAN 总线
(C ontroller Area Network),并已取得国际标准化组织认证(ISO11898),其总线结构
可参照I SO/OSI 参考模型。同时,国际上一些大的半导体厂商也积极开发出支持CAN 总
线的专用芯片。通过CAN 总线,传感器、控制器和执行器由串行数据线连接起来。它不
仅仅是将电缆按树形结构连接起来,其通信协议相当于ISO/OSI 参考模型中的数据链路
层,网络可根据协议探测和纠正数据传输过程中因电磁干扰而产生的数据错误。CAN 网络
的配制比较容易,允许任何站之间直接进行通信,而无需将所有数据全部汇总到主计算
机后再行处理。
二、CAN 在国外的发展
对机动车辆总线和对现场总线的需求有许多相似之处,即较低的成本、较高的实时处
理能力和在恶劣的强电磁干扰环境下可靠的工作。奔驰S 型轿车上采用的就是CAN 总线
系统;美国商用车辆制造商们也将注意力转向CAN 总线;美国一些企业已将CAN 作为内部
总线应用在生产线和机床上。同时,由于CAN 总线可以提供较高的安全性,因此在医疗领
域、纺织机械和电梯控制中也得到广泛应用。
三、CAN 的工作原理
当CAN 总线上的一个节点(站)发送数据时,它以报文形式广播给网络中所有节点。对
每个节点来说,无论数据是否是发给自己的,都对其进行接收。每组报文开头的11 位字
符为标识符,定义了报文的优先级,这种报文格式称为面向内容的编址方案。在同一系统
中标识符是唯一的,不可能有两个站发送具有相同标识符的报文。当几个站同时竞争总
线读取时,这种配置十分重要。
CAN 总线的报文发送和接收参见图1。当一个站要向其它站发送数据时,该站的CPU 将要
发送的数据和自己的标识符传送给本站的CAN 芯片,并处于准备状态;当它收到总线分配
时, 转为发送报文状态。CAN 芯片将数据根据协议组织成一定的报文格式发出,这时网上
的其它站处于接收状态。每个处于接收状态的站对接收到的报文进行检测,判断这些报
文是否是发给自己的,以确定是否接收它。
由于CAN总线是一种面向内容的编址方案,因此很容易建立高水准的控制系统并灵活
地进行配置。我们可以很容易地在CAN 总线中加进一些新站而无需在硬件或软件上进行
修改。当所提供的新站是纯数据接收设备时,数据传输协议不要求独立的部分有物理目
的地址。它允许分布过程同步化,即总线上控制器需要测量数据时,可由网上获得,而无
须每个控制器都有自己独立的传感器。
四、位仲裁
要对数据进行实时处理,就必须将数据快速传送,这就要求数据的物理传输通路有较
高的速度。在几个站同时需要发送数据时,要求快速地进行总线分配。实时处理通过网
络交换的紧急数据有较大的不同。一个快速变化的物理量,如汽车引擎负载,将比类似汽
车引擎温度这样相对变化较慢的物理量更频繁地传送数据并要求更短的延时。
CAN 总线以报文为单位进行数据传送,报文的优先级结合在11 位标识符中,具有最低
二进制数的标识符有最高的优先级。这种优先级一旦在系统设计时被确立后就不能再被
更改。总线读取中的冲突可通过位仲裁解决。如图2 所示,当几个站同时发送报文时,站
1 的报文标识符为011111;站2 的报文标识符为0100110;站3 的报文标识符为0100111。
所有标识符都有相同的两位01,直到第3 位进行比较时,站1 的报文被丢掉,因为它的第
3 位为高,而其它两个站的报文第3 位为低。站2 和站3 报文的4、5、6 位相同,直到第
7 位时,站3 的报文才被丢失。注意,总线中的信号持续跟踪最后获得总线读取权的站的
报文。在此例中,站2 的报文被跟踪。这种非破坏性位仲裁方法的优点在于,在网络最终
确定哪一个站的报文被传送以前,报文的起始部分已经在网络上传送了。所有未获得总
线读取权的站都成为具有最高优先权报文的接收站,并且不会在总线再次空闲前发送报
文。
CAN 具有较高的效率是因为总线仅仅被那些请求总线悬而未决的站利用,这些请求是
根据报文在整个系统中的重要性按顺序处理的。这种方法在网络负载较重时有很多优点,
因为总线读取的优先级已被按顺序放在每个报文中了,这可以保证在实时系统中较低的
个体隐伏时间。
对于主站的可靠性,由于CAN 协议执行非集中化总线控制,所有主要通信,包括总线读
取 (许可)控制,在系统中分几次完成。这是实现有较高可靠性的通信系统的唯一方法。
五、CAN 与其它通信方案的比较
在实践中,有两种重要的总线分配方法:按时间表分配和按需要分配。在第一种方法
中 ,不管每个节点是否申请总线,都对每个节点按最大期间分配。由此,总线可被分配给
每个站并且是唯一的站,而不论其是立即进行总线存取或在一特定时间进行总线存取。
这将保证在总线存取时有明确的总线分配。在第二种方法中,总线按传送数据的基本要
求分配给一个站 ,总线系统按站希望的传送分配(如:Ethernet CSMA/CD)。因此,当多个
站同时请求总线存取时,总线将终止所有站的请求,这时将不会有任何一个站获得总线
分配。为了分配总线,多于一个总线存取是必要的。
CAN 实现总线分配的方法,可保证当不同的站申请总线存取时,明确地进行总线分配。这
种位仲裁的方法可以解决当两个站同时发送数据时产生的碰撞问题。不同于Ethernet
网络的消息仲裁,CAN 的非破坏性解决总线存取冲突的方法,确保在不传送有用消息时总
线不被占用。甚至当总线在重负载情况下,以消息内容为优先的总线存取也被证明是一
种有效的系统。虽然总线的传输能力不足,所有未解决的传输请求都按重要性顺序来处
理。在CSMA/CD 这样的网络中,如Ethernet,系统往往由于过载而崩溃,而这种情况在CAN
中不会发生。
六、CAN 的报文格式
在总线中传送的报文,每帧由7 部分组成,见图3。CAN 协议支持两种报文格式,其唯
一的不同是标识符(ID) 长度不同, 标准格式为11 位, 扩展格式为29
位。 @@TB17125002.GIF;
在标准格式中,报文的起始位称为帧起始(SOF),然后是由11 位标识符和远程发送请
求位 (RTR)组成的仲裁场。RTR 位标明是数据帧还是请求帧,在请求帧中没有数据字节。
控制场包括标识符扩展位(IDE),指出是标准格式还是扩展格式。它还包括一个保留
位 (ro),为将来扩展使用。它的最后四个字节用来指明数据场中数据的长度(DLC)。数
据场范围为0~8 个字节,其后有一个检测数据错误的循环冗余检查(CRC)。
应答场(ACK)包括应答位和应答分隔符。发送站发送的这两位均为隐性电平(逻辑1),
这时正确接收报文的接收站发送主控电平(逻辑0)覆盖它。用这种方法,发送站可以保证
网络中至少有一个站能正确接收到报文。
报文的尾部由帧结束标出。在相邻的两条报文间有一很短的间隔位,如果这时没有站
进行总线存取,总线将处于空闲状态。
七、数据错误检测
不同于其它总线,CAN 协议不能使用应答信息。事实上,它可以将发生的任何错误用信号
发出。CAN 协议可使用五种检查错误的方法,其中前三种为基于报文内容检查。
1.循环冗余检查(CRC)
在一帧报文中加入冗余检查位可保证报文正确。接收站通过CRC 可判断报文是否有
错。
2.帧检查
这种方法通过位场检查帧的格式和大小来确定报文的正确性,用于检查格式上的错
误。
3.应答错误
如前所述,被接收到的帧由接收站通过明确的应答来确认。如果发送站未收到应答,
那么表明接收站发现帧中有错误,也就是说,ACK 场已损坏或网络中的报文无站接收。CAN
协议也可通过位检查的方法探测错误。
4.总线检测
有时,CAN 中的一个节点可监测自己发出的信号。因此,发送报文的站可以观测总线电
平并探测发送位和接收位的差异。
5.位填充
一帧报文中的每一位都由不归零码表示,可保证位编码的最大效率。然而,如果在一
帧报文中有太多相同电平的位,就有可能失去同步。为保证同步,同步沿用位填充产生。
在五个生。在五个连续相等位后,发送站自动插入一个与之互补的补码位;接收时,这个
填充位被自动丢掉。例如,五个连续的低电平位后,CAN 自动插入一个高电平位。CAN 通
过这种编码规则检查错误,如果在一帧报文中有6 个相同位,CAN 就知道发生了错误。
如果至少有一个站通过以上方法探测到 一个或多个错误,它将发送出错标志终止当
前的发送。这可以阻止其它站接收错误的报文,并保证网络上报文的一致性。当大量发
送数据被终止后,发送站会自动地重新发送数据。作为规则,在探测到错误后23 个位周
期内重新开始发送。在特殊场合,系统的恢复时间为31 个位周期。
但这种方法存在一个问题,即一个发生错误的站将导致所有数据被终止,其中也包括
正确的数据。因此,如果不采取自监测措施,总线系统应采用模块化设计。为此,CAN 协议
提供一种将偶然错误从永久错误和局部站失败中区别出来的办法。这种方法可以通过对
出错站统计评估来确定一个站本身的错误并进入一种不会对其它站产生不良影响的运
行方法来实现,即站可以通过关闭自己来阻止正常数据因被错误地当成不正确的数据而
被终止。
八、CAN 的可靠性
为防止汽车在使用寿命期内由于数据交换错误而对司机造成危险,汽车的安全系统
要求数据传输具有较高的安全性。如果数据传输的可靠性足够高,或者残留下来的数据
错误足够低的话,这一目标不难实现。从总线系统数据的角度看,可靠性可以理解为,对
传输过程产生的数据错误的识别能力。
残余数据错误的概率可以通过对数据传输可靠性的统计测量获得。它描述了传送数
据被破坏和这种破坏不能被探测出来的概率。残余数据错误概率必须非常小,使其在系
统整个寿命周期内,按平均统计时几乎检测不到。计算残余错误概率要求能够对数据错
误进行分类 ,并且数据传输路径可由一模型描述。如果要确定CAN 的残余错误概率,我
们可将残留错误的概率作为具有80~90 位的报文传送时位错误概率的函数,并假定这个
系统中有5~10 个站,并且错误率为1/1000,那么最大位错误概率为10—13 数量级。例
如,CAN 网络的数据传输率最大为1Mbps,如果数据传输能力仅使用50%,那么对于一个工
作寿命4000 小时、平均报文长度为 80 位的系统,所传送的数据总量为9×1010。在系
统运行寿命期内,不可检测的传输错误的统计平均小于10—2 量级。换句话说,一个系统
按每年365 天,每天工作8 小时,每秒错误率为0. 7 计算,那么按统计平均,每1000 年才
会发生一个不可检测的错误。
汽车现在线束那么多,设计一个好的通讯协议实在非常必要
看到你做过POLO的CAN总线,希望与你合作,我的电话是:13567397989。
BOSCH的技术手册, 没有比这更权威的了. 毕竟人家是规则制定方.(另附, 周立功的半吊子翻译版)
更上层的协议(比如应用层),可以参考SAE J1939,很多篇幅,应该够大家伙看的。
仿真开发工具有Vector canoe,诊断工具Vector canape,这些都是我用过的。
用这些工具,还得一些协议需要看的,比如标定:CCP、ISO14229、KWP2000。
总的来说,这里面太多东西了!
CAN信息和LIN信息怎样互相转换啊?哪位大哥帮忙解释下啊
最近要做can总线的舒适性研究课题 希望大家指导啊
SAE J1939是针对大型车的如卡车等,轿车需要看15765 ,这个协议定义了各层的标准。同时如果对CAN诊断感兴趣,可以细看14229协议,里面对CAN诊断协议的各个具体服务有详细说明。如果手头有ECU那就更好了,结合CANoe可以对我说过的协议有更好的了解,如果没有,CANoe也支持仿真,自带的几个小demo就挺有意思的。如果对编程感兴趣可以试试Vector的Geny软件,这个软件生成的代码可以镶嵌到你自己的代码里。
汽车法占新趋势,另一个趋势就是成本,目前这个东东的开发成本还是相对较高的,但愿不久会成为廉价产品
帖子应该叫LIN的原理及应用

CAN上跑的协议还有别的一些。
以前碰到车窗玻璃升降器控制器和电动后视镜、中控锁就有用到LIN总线,但是比较难搞。不知道怎么下手,能介绍一些学习资料么?
我也奉献上几个,与大家共享!!!!!
2.1 车载网络的分类
   为了便于研究和设计应用,SAE车辆网络委员会将汽车数据传输划分为A、B、C和D四类。
   A类 是面向传感器/执行器控制的低速网络,数据传输速率通常只有1-10 kbit/s,
主要应用于车身控制,如后视镜调整、电动门窗、灯光照明等装置信号传输和控制。网络协议主要有LIN、UART、CCP等。
   B类 是面向独立模块间数据共享的中速网络,速率在10 kbit/s~100kbit/s,主要应用于车身电子舒适性模块、仪表显示、安全气囊、故障诊断、车辆信息中心等系统。以减少冗余的传感器和其他电子部件。网络协议主要有ISO 11898-3、J2248、VAN、J1850(OBDⅡ)等。
   C类 是面向高速、实时闭环控制的多路传输网络,速率在100 kbit/s~1 Mbit/s,主要用于悬架控制、先进发动机控制、ABS控制、牵引控制等系统。网络协议主要有ISO 11898-2(高速CAN)、TTP/C、FlexRay等
   D类 是网络智能数据总线IDB(Intelligent Data Bus),主要面向信息、多媒体系统等,D类网络协议的速率在250 kbit/s~400 Mbit/s。 面向成员的安全系统,应用于车辆被动安全性领域,为速率一般为25kbit/s~10Mbit/s。网络协议种类主要有SafetyBus、Planet、Byteflight等
        通常A类网络系统不单独使用,而是和B类网络系统结合使用。并且每类网络功能均 向下涵盖,及B类网支持A类网的功能,C类网能同时完成B类网和A类网的功能。到目前为止,满足C类网要求的汽车控制局域网只有CAN协议。
    2.2车载网络系统的组成
        通常车载网络系统是由几条不同数率的总线分别连接不同的模块(从物理意义上讲,汽车上不同模块和它们所连数据总线距离很近,因此被称为LAN'车载局域网'),并使用网关服务器(Gateway)来实现信息的共享和网络管理,如上图所示 奥迪C6车载网络系统   
        动力与传动系统的控制对象直接关系汽车的行驶状态,对数据传递的实时和高速要求较高。因此要采用高速的网络(如高速CAN总线)连接动力与传动系统。传感器上获取的信息以广播的形式在高速的总线上发布,各个模块可以在同一时间根据自己的需要获取所需的信息。
    车身控制系统的控制单元多为低速电机和开关器件,对实时性要求低而数据量大。因此使用低速的总线连接这些控制单元(如低速CAN总线),可以保证通信的实时性,同时增加传输距离,提高抗干扰能力、减低硬件成本。
   故障诊断系统是将车用诊断系统在通信网络上加以实现。
   信息与车载媒体系统对于通信速率的要求更高,一般在2Mbit/s以上,故采用新型的多媒体总线MOST总线连接车载媒体。这种新型的多媒体总线往往是基于光纤通信的,从而可以充足保证带宽。
        网关是汽车内部通信的核心,由于不同区域Canbus总线的速率和识别代号不同,因此一个信号要从一个总线进入到另一个总线区域,必须把它的识别信号和速率进行改变,能够让另一个系统接受,实现各条总线信息共享,以及实现汽车内部的网络管理和故障诊断功能。此外,网关还可以在不改变数据的情况下,将驱动总线、舒适总线、信息娱乐总线以及仪表总线的诊断信息传递到自诊断接口。
回复 9# whxuhanming


    如果可以再来一份CAN那么详细的就好了,虽然说的是LIN不过也很精彩。最好还加个MOST环就更好了
qingwen 楼住“网络协议主要有LIN、UART、CCP等。- s# O! N0 H- v( Z* b( W1 O$ H”具体指的是什么东西呢?
主题是CAN的原理及应用,帖子却不是,有点骗人的感觉
本人从事总线(CAN、485、232等)开发好多年啦
有机会多交流交流
最近做这方面的毕设 头都大了
大开眼界啊,本人现在才在研究单片机呢。望以后能多学习到此类知识,谢谢各位
en  比较喜欢  不小的 有没有从事 别克汽车的
  大家可以一起交流下
LIN总线讲得很好,谢谢楼主的分享,学习了
回复 2# yuerong


    手动更新
能问下 学习这个 从汽车电子电工开始学  可以吗?
CAN总线需要学习的东西很多,很想好好学习一下。
CAN总线需要学习的东西很多,很想好好学习一下。
CAN总线控制系统用户手册Rev0.pdf”。
   打得开不哦
感觉有点文不对题啊,也许是我不懂
光有CAN协议还远远不够,还需要学习更高一层的协议才行
MOST网络马上就要到来了,
CAN是电子信息的发展方向吗
不知道还有没有MOST的相关介绍呢??
要是有比较全的1939协议就更好了
新手刚开始学CAN总线,感觉真是难啊,特来膜拜大神
大家有时间多看看数字通信就差不多能了解CAN的数据传输的原理了。
多了解一些新的知识,总归对于自己从事的工作是有帮助的。相关的书籍也是很多的,不妨认真去阅读。随着科技的发展进步,多路传输技术将普遍用到汽车电控方面上的这是趋势。
有段时间研究过 后面不知道怎么学了  真希望有人指导!
就因为我们不知道can网络的协议,所以真的是被人越吹越玄了,学习中
应用层的协议除了J1939外,还有其他协议吗?
很不错,谁有比较全面的资料?
楼上的兄弟,一看就是老手啊!!!能帮忙解释下CAN, ISO15765, ISO14229之间的关系吗?最近在看CAN的发展,发现常常被ISO标准化为某个ISO standard,但是各个厂商在定义上层时又各有一套,很杂乱。谢谢
未来的趋势就是简洁,明了,方便实用!
多路传输是将来的发展方向,必然趋势
那位有关于can总线基础的资料发些好吗?我邮箱648964997@qq.com
我现在正在用的就是CANAPE8.0
回复 14# zager81


    恩,资料还可以。呵呵,那是德国企业在技术方面很有优势。
怎么没见到中文的呀,英文的看起来太慢了!
刚开始接触CAN。。一步一步走。
关于CAN、LIN的应用,国外已经成熟很多年了。
各大主机厂使用的CAN、LIN协议栈,网络设计、测试工具,主要分Vector和Volcano两大阵营。
德国的Vector公司由于得到德国大众、宝马的支持,所以发展的非常快,能够提供包括整套的CAN网络设计测试方案,并有专业的工具链支持。国内由于有Hirain的代理,专业的技术支持和培训,推广的很成功,楼上的很多牛人都用过Vector的工具和产品吧。
Volcano国内主要是上汽在用,原来的罗孚系列沿用过来的。现在吉利收购的volvo用的也是volcano,所以还能占据一定的空间。不过他们的技术支持比较弱,国内厂商的支持力度不够,也不愿意做本地化。部分工具产品如Tellus还让华东汽车信息给收购了。
国内也有在做协议栈的,比如说Hirain,华东汽车,天津汽研院等,一些零部件供应商也有自己开发的协议栈。不过用的不多,大家对于自己产品的安全性,可靠性还是不太放心。
汽车电路图好复杂,看不懂,哪位给个入门的方法
现在车辆上用CAN的很普及了,可在维修中不太懂,如何检测,望各位大师多发这方面帖子。
14楼的材料一样的好,谢谢了
23楼总结的比较通俗易懂些
很好的讨论题目,汽车电子的方向
搞的低端车没有用到CAN
以后还会有更高级的协议出现的
没看懂但是感觉很有用
挺好的东西就是看不懂
yueyongzhao 发表于 24-11-2009 10:17
更上层的协议(比如应用层),可以参考SAE J1939,很多篇幅,应该够大家伙看的。
仿真开发工具有Vector ca ...

非常不错  看来你做过相关开发
说简单的 现在汽车运用的都是单片机
CAN才接触·~多多学习了·~
can很复杂,之前的研究过方向盘开关没走LIN,走了CAN,出了一堆问题
whxuhanming 发表于 31-7-2008 16:20
题目说的是CAN网原理,讲的却是LIN网,这是多路传输中两种不同的传输协议,其传输速度是在不相同的,当然编 ...

这是线束技术的发展历程,我觉得这样讲好些,虽然我不是版主
当前汽车应用开发人员正面临着众多设计挑战,由于现代汽车增加了更多电子功能,对低功耗和更小印刷电路板的需求也越来越强烈,所有这些都表明在诸如车身控制和传动系统等应用领域中这样的特性将曰益重要。
PIC16F688具有一个集成的LIN收发器和一个增强型USART,其中USART能自动执行自动波特率检测
这个资料可以做一个普及
CAN总线现在的应用情况,能有系统介绍么,主要是应用情况!
CAN通讯的一些故障是不是不好诊断
我现在在做传感器的CAN总线通讯,主要是OBD
感谢为入门者提供学习资料
虽然很想学,但是基础差了,觉得搞不定
33岁了,想玩玩CAN方面的,几乎零基础,大家怎么看,哈哈。
好东西,下载学习下啦。
楼主nb啊 !!!!!!!!!!!!!
高手啊,对于我这样的新手来说,原理搞明白就不错了
shengjiangwei 发表于 30-11-2009 22:39
CAN信息和LIN信息怎样互相转换啊?哪位大哥帮忙解释下啊

可以通过网关或者其他中继控制器实现报文数据的相互转换。
zhangzw123_0 发表于 24-1-2010 16:11
我也奉献上几个,与大家共享!!!!!

点赞,工程师的共享精神!
625675871 发表于 20-5-2010 11:25
qingwen 楼住“网络协议主要有LIN、UART、CCP等。- s# O! N0 H- v( Z* b( W1 O$ H”具体指的是什么东西呢?

指的是网络上信息传递的协议。
正在学习这一块内容 很有必要
CAN这个东西确实需要好好学学 后续CAN都是车的标配
有点高深的样子 只能慢慢学了
zager81 发表于 18-5-2009 16:46
BOSCH的技术手册, 没有比这更权威的了. 毕竟人家是规则制定方.(另附, 周立功的半吊子翻译版)

好资料收藏了,就像德尔福的发动机管理系统一样
谢谢分享,非常好的质量
谢谢分享,最近在学习汽车总线。看楼主的文章,受益匪浅。
已下载,学习下。。。。

QQ|手机版|小黑屋|Archiver|汽车工程师之家 ( 渝ICP备18012993号-1 )

GMT+8, 4-7-2025 11:44 , Processed in 0.154540 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2013 Comsenz Inc.