什么是CAN总线?CAN总线到底能做什么?网友:终于有人讲明白了
随着工业技术不断发展,CAN总线已广泛应用于车辆、航空、医疗等高安全要求领域。高频发送CAN报文也成为安全测试的必要组成部分,你知道什么是CAN总线吗?它有什么用?今天就给大家来讲解一下CAN总线的基础知识。
一、CAN总线的基本概念
CAN 是Controller Area Network 的缩写,是ISO国际标准化的串行通信协议,也是国际上应用最广泛的现场总线之一。在汽车产业中,出于对安全性、舒适性、方便性、低公害、低成本的要求,各种各样的电子控制系统被开发了出来。
由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,由多条总线构成的情况很多,线束的数量也随之增加。为适应“减少线束的数量”、“通过多个LAN,进行大量数据的高速通信”的需要,1986 年德国电气商博世公司开发出面向汽车的CAN 通信协议。此后,CAN 通过ISO11898 及ISO11519 进行了标准化,在欧洲也是汽车网络的标准协议。
二、CAN总线的优势
CAN属于现场总线的范畴,它是一种有效支持分布式控制或实时控制的串行通信网络。较之许多RS-485基于R线构建的分布式控制系统而言,基于CAN总线的分布式控制系统在以下方面具有明显的优越性:
1、网络各节点之间的数据通信实时性强
CAN控制器工作于多种方式,网络中的各节点都可根据总线访问优先权,采用无损结构的逐位仲裁的方式竞争向总线发送数据,且CAN协议废除了站地址编码,有效提高系统的可靠性和系统的灵活性。而利用RS-485只能构成主从式结构系统,通信方式也只能以主站轮询的方式进行,系统的实时性、可靠性较差;
2、开发周期短
CAN具有的完善的通信协议可由CAN控制器芯片及其接口芯片来实现,从而大大降低系统开发难度,缩短了开发周期,这些是仅有电气协议的RS-485所无法比拟的。
3、已形成国际标准的现场总线
与其它现场总线比较而言,CAN总线是具有通信速率高、容易实现、且性价比高等诸多特点的一种已形成国际标准的现场总线。这些也是CAN总线应用于众多领域,具有强劲的市场竞争力的重要原因。
三、CAN总线的优点
1、废除传统的站地址编码,代之以对通信数据块进行编码,可以多主方式工作;
2、采用非破坏性仲裁技术,当两个节点同时向网络上传送数据时,优先级低的节点主动3、停止数据发送,而优先级高的节点可不受影响继续传输数据,有效避免了总线冲突;
4、采用短帧结构,每一帧的有效字节数为8个,数据传输时间短,受干扰的概率低,重新发送的时间短;
5、每帧数据都有CRC校验及其他检错措施,保证了数据传输的高可靠性,适于在高干扰环境下使用;
6、节点在错误严重的情况下,具有自动关闭总线的功能,切断它与总线的联系,以使总线上其他操作不受影响;
7、可以点对点,一对多及广播集中方式传送和接受数据。
8、具有实时性强、传输距离较远、抗电磁干扰能力强、成本低等优点;
9、采用双线串行通信方式,检错能力强,可在高噪声干扰环境中工作;
10、具有优先权和仲裁功能,多个控制模块通过CAN控制器挂到CAN-Bus上,形成多主机局部网络;
11、可根据报文的ID决定接收或屏蔽该报文;
12、可靠的错误处理和检错机制;
13、发送的信息遭到破坏后,可自动重发;
14、节点在错误严重的情况下具有自动退出总线的功能;
15、报文不包含源地址或目标地址,仅用标志符来指示功能信息、优先级信息。
四、CAN总线是最有前途的现场总线之一
CAN 即控制器局域网络,属于工业现场总线的范畴。与一般的通信总线相比,CAN总线的数据通信具有突出的可靠性、实时性和灵活性。由于其良好的性能及独特的设计,CAN总线越来越受到人们的重视。
由于CAN总线本身的特点,其应用范围已不再局限于汽车行业,而向自动控制、航空航天、过程工业、机械工业、纺织机械、农用机械、机器人、数控机床、医疗器械及传感器等领域发展。CAN已经形成国际标准,并已被公认为几种最有前途的现场总线之一。其典型的应用协议有:SAE J1939/ISO11783、CANOpen、CANaerospace、DeviceNet、NMEA 2000等。
好了,以上内容就是帝特电子关于CAN总线的基础知识的详细介绍,希望能对大家有所帮助!感谢您的阅读与支持!
帝特电子长期致力于为客户提供品质的HDMI、DP、DVI(4K/8K)光纤线、音视频高清线、网络延长器、光端机、工业光纤收发器、音视频分配器、音视频切换器、工业232/485/422转换器、串口服务器、电脑周边线材等音视频产品工业线材,打造数字化音视频领先品牌,传递精彩画面,分享快乐时光!欢迎前来了解、交流。
一文读懂汽车CAN总线
CAN是控制单元区域网络(Controller Area Network)的缩写。控制单元通过CAN网络交换数据。它是由德国博世公司于上世纪80年代初,为了解决众多传感器与执行器之间的数据交换而开发的一种串行通讯协议。
控制器局域网CAN( Controller Area Network)属于现场总线的范畴,是一种有效支持分布式控制系统的串行通信网络。是由德国博世公司在20世纪80年代专门为汽车行业开发的一种串行通信总线。由于其高性能、高可靠性以及独特的设计而越来越受到人们的重视,被广泛应用于汽车业、航空业、工业控制、安全防护等领域。
随着CAN总线在各个行业和领域的广泛应用,对其的通信格式标准化也提出了更严格的要求。1991年CAN总线技术规范(Version2.0)制定并发布。该技术规范共包括A和B两个部分。其中2.0A给出了CAN报文标准格式,而2.0B给出了标准的和扩展的两种格式。
总线将汽车上的各种电子装置与设备连成一个网络,实现相互之间的信息共享,既减少了线束,又可更好地控制和协调汽车的各个系统,使汽车性能达到最佳 。
CAN总线的特点:
总线是一组能为多个部件分时共享 的公共信息传送线路。
共享 是指总线上可以挂接多个部件,各个部件之间互相交换的信息都可以通过这组线路分时共享。分时 是指同一时刻只允许有一个部件总线发送信息,如果系统中有多个部件,则它们只能分时地向总线发送信息。
CAN总线的构成:
CAN总线由1个控制器,1个收发器,2个数据传输终端和2条传输线构成。
CAN控制器:接收在控制单元中的微处理器中的数据,处理数据并传给CAN收发器。同时,控制器接收收发器的数据,处理并传给微处理器。CAN收发器:是一个发送器和接收器的组合。它将CAN控制器提供的数据转化为电信号并通过数据线发送出去。同时,它接收数据,并将数据传到CAN控制器。数据传输终端:是一个电阻。阻止数据在传输终了被反射回来并发生反射波,这将破坏数据。数据传输线:用以传输数据的双向数据线。分为CAN高位数据线和CAN低位数据线。每个控制器都集成了微处理器、CAN控制器、CAN收发器。它们又被称作CAN网络节点。数据传输线有双绞线、同轴电缆或光纤。车辆多使用双绞线。
双绞线的作用是使外部干扰在两根导线上产生的噪声(在专业领域里,把无用的信号叫做噪声)相同,以便后续的差分电路提取出有用信号,差分电路是一个减法电路,两个输入端同相的信号(共模信号 )相互抵消(m-n),反相的信号相当于x-(-y),得到增强。理论上,在双绞线及差分电路中m=n,x=y,相当于干扰信号被完全消除,有用信号加倍,但在实际运行中是有一定差异的。
简单来说就是消除共模干扰。
汽车类总线通信速率多为500kbps,250kbps,125kpbs。
CAN总线的基本工作原理
跟其他总线一样,CAN总线的通信也是通过一种类似于“会议”的机制实现的,只不过会议的过程并不是由一方(节点)主导,而是,每一个会议参加人员都可以自由的提出会议议题(多主通信模式),二者对应关系如下:
1、多个控制单元以并联方式经收发器与总线连接。2、每个控制单元都有权向总线发送信息(多主处理器结构)。3、同一时刻只有一个控制单元向总线发送信息。其它的控制单元接收信息,其中一些控制单元对这些数据感兴趣并采用这些数据,而另一些控制单元则可能不理会这些数据。
CAN被细分为三个层次:
(1)CAN对象层(the object layer);
(2)CAN传输层(the transfer layer);
(3)CAN物理层(the phyical layer);
对象层和传输层包括所有由ISO/OSI模型定义的数据链路层的服务和功能。
对象层的作用范围包括:
(1)查找被发送的报文。
(2)确定由实际要使用的传输层接收哪一个报文。(即选择报文对象)
(3)为应用层相关硬件提供接口
传输层的作用主要:
(1)传送规则,也就是控制帧结构、执行仲裁、错误检测、出错标定、故障界定。
(2)总线上什么时候开始发送新报文及什么时候开始接收报文,均在传输层里确定。
(3)位定时的一些普通功能也可以看作是传输层的一部分。
(4)传输层的修改是受到限制的。
物理层的作用:
在不同节点之间根据所有的电气属性进行位信息的实际传输。当然,同一网络内,物理层对于所有的节点必须是相同的。尽管如此,在选择物理层方面还是很自由的。
CAN具有以下的属性:
(1)报文(Messages):简单来说就是具有固定格式的数据包。
(2)信息路由(Information Routing):即,报文寻找结点的方式。
(3)位速率(Bit rate):数据位的传输速度。
(4)优先权(Priorities):即报文发送的优先权。
(5)远程数据请求(Remote Data Request):通过发送远程帧,需要数据的节点可以请求另一节点发送相应的数据帧。
(6)多主机(Multimaster):总线空闲时,任何结点都可以开始传送报文。
(7)仲裁(Arbitration):当2个及以上的单元同时开始传送报文,那么就会有总线访问冲突。仲裁是确定哪个单元的具有发送优先权。
(8)安全性(Safety):CAN的每一个节点均采取了强有力的措施以进行错误检测、错误标定及错误自检。
(9)错误检测(Error Detection):包括监视、循环冗余检查、位填充、报文格式检查。
(10)错误检测的执行(Performance of Error Detection)
(11)错误标定和恢复时间(Error Sinalling and Recovery Time):任何检测到错误的结点会标志出已损坏的报文。此报文会失效并将自动地开始重新传送。如果不再出现新的错误,从检测到错误到下一报文的传送开始为止,恢复时间最多为29个位的时间。
(12)故障界定(Fault Confinement):CAN结点能够把永久故障和短暂扰动区分开来。永久故障的结点会被关闭。
(13)连接(Connections):CAN串行通讯链路是可以连接许多结点的总线。理论上,可连接无数多的结点。但由于实际上受延迟时间或者总线线路上电气负载的影响,连接结点的数量是有限的。
(14)单通道(Single Channel):总线是由单一进行双向位信号传送的通道组成。
(15)总线值(Bus value):总线可以具有两种互补的逻辑值之一:“显性”(可表示为逻辑0)或“隐性”(可表示为逻辑1)。
(16)应答(Acknowledgment):所有的接收器检查报文的连贯性。对于连贯的报文,接收器应答;对于不连贯的报文,接收器作出标志。
(17) 睡眠模式/唤醒(Sleep Mode / Wake-up):为了减少系统电源的功率消耗,可以将CAN器件设为睡眠模式以便停止内部活动及断开与总线驱动器的连接。CAN器件可由总线激活,或系统内部状态而被唤醒。
CAN2.0A/B标准规定:总线空闲时,CAN_H和CAN_L上的电压为2.5V在数据传输时:显性电平(逻辑 0):CAN_H 3.5V CAN_L 1.5V隐性电平(逻辑 1):CAN_H 2.5V CAN_L 2.5V
CAN传输的报文,可分为五种类型:
(1)数据帧:用于发送结点向接收结点传送数据的帧。
(2)远程帧:总线结点发出远程帧,请求发送具有同一识别符的数据帧。
(3)错误帧:任何结点检测到一总线错误就发出错误帧。
(4)过载帧:过载帧用以在先行的和后续的数据帧(或远程帧)之间提供一附加的延时。
(5)帧间隔:用于将数据帧及远程帧与前面的帧分离开来的帧。
数据帧由7个不同的位场组成:
数据帧有标准格式和和远程格式,以下是其格式表示:
数据帧格式
远程帧由6个不同的位场组成:
远程帧格式
错误帧用于在接收和发送消息时检测出错误,通知错误的帧。错误帧由错误标志和错误界定符构成。
错误标志包括主动错误标志和被动错误标志两种。
主动错误标志:6个位的显性位,处于主动错误状态的单元检测出错误时输出的错误标志。
被动错误标志:6个位的隐性位,处于被动错误状态的单元检测出错误时输出的错误标志。
错误界定符由8个位的隐性位构成。
错误帧格式如下表示:
错误帧格式
过载帧是用于接收单元通知其尚未完成接收准备的帧。过载帧由过载标志和过载界定符构成。过载帧格式如下表示:
过载帧格式
帧间隔是用于分隔数据帧和远程帧的帧。数据帧和远程帧可通过插入帧间隔将本帧与前面的任何帧(数据帧、远程帧、错误帧、过载帧)分开。过载帧和错误帧前不能插入帧间隔。帧间隔如下图所示:
帧间隔格式
位填充(BitStuffing)
位填充是为了防止突发错误而设定的功能。位填充的规则如下:
(1)5位连续相同电平之后,必须填充一位反向位,即不允许有6个连续相同位;
(2)SOF之前为总线空闲状态,不需要同步,因此不需要位填充;
(3)CRC之后为固定格式,不允许填充;
(4)由CAN控制器自动实现;
CAN的错误处理
CAN控制器检测错误共有以下5种:
(1)位填充错误;
在使用位填充的帧场内,结点如果检测到6个连续相同的位值,则产生位填充错误,在下一位开始时,该结点将发送一个错误帧。
(2)位错误;
在发送期间,结点检测到总线的位值与自身发送的位值不一致时,则产生位错误,在下一位开始时,该结点将发送一个错误帧。
(3)CRC错误;
接收结点计算的CRC码与数据帧本身自带的CRC码不一致,接收结点将丢弃该帧,并在ACK界定符之后发送一个错误帧。
(4)应答错误;
发送结点在ACK Slot位会发送隐性位,同时监听总线是否为显性位,如果是显性位,则表明至少一个节点正确收到该帧;如果是隐性位,将产生ACK错误,发送结点发送一个错误帧。
(5)格式错误;
发送结节在(CRC界定符、ACK界定符、帧结束EOF)固定格式的位置检测到显性位时,将发生格式错误,并发送一个错误帧。
CAN总线同步
CAN总线的通信方式为NRZ方式。各个位的开关或者结尾都没有附加同步信号。发送结点以与位时序同步的方式开始发送数据。另外,接收结点根据总线上电平的变化进行同步并进行接收工作。
但是,发送结点和接收结点存在的时钟频率误差及传输路径上的(电缆、驱动器等)相位延迟会引进同步偏差。因此接收结点需要通过同步的方式调整时序进行接收。
同步的作用是尽量使本地位时序与总结信号的位时序一致(本地同步段与总结信号边沿同步)。只有接收结点需要同步;同步只会发生在隐性到显性电平的跳沿。
同步的方式为硬件同步和再同步。
CAN通信速率计算与应用,计算通信负载
一帧CAN报文(标准帧)包含大约125bit(这是一个大概数值,方便下面计算)。
假定我们的通讯波特率是500kpbs(一秒可以传输500k bit):
那么传输1bit数据的时间:比特时间 = 1 / 比特率 =1 / (500 * 1000) s = 2 * 10-6 s = 2 μs
也就是当波特率为500kbps1bit将需要花2 μs时间把1bit数据传输到总线上。
所以传输一帧报文(2 μs/bit* 125 bit)需要的时间等于250 μs.
那么对于一个周期为100 ms的报文在波特率为500kbps下传输的busload可以计算如下:
假定每100 ms一帧报文将被发送,那么在这100ms中,该帧报文占用了250μs。
这个周期报文的busload是:
250μs /100 ms = (250 / (100*1000)) * 100 % = 25000 / 100000 % = 0.25 %。
相关问答
汽车 主要 can总线 的功能和特点?CAN总线是一种区别于串口总线的工业控制通信系统,它是德国博世公司出品为汽车电子产品升级而服务的,因为主要是应用在汽车控制上,所以它的优点很多倾向于汽车...
汽车 上的 CAN 是什么意思?[最佳回答]CAN相当于汽车的中枢神经,是车内的一种通信协议。相当于把很多车载电脑并联到这两条线上,实现数据共享。关于CAN线的信息如下:CAN线引入:CAN总线技...
汽车CAN 网络有哪些优点?1、CAN,全称为“ControllerAreaNetwork”,即控制器局域网,是国际上应用最广泛的现场总线之一。最初,CAN被设计作为汽车环境中的微控制器通讯,在车载各电子控...
汽车can 线是什么意思[最佳回答]CAN线是双绞线。拧在一起的目的是防止外界干扰。CAN用于汽车中具有不同功能的各种计算机之间的通信。如果汽车报告与CAN通信相关的故障,则可以直接...
汽车 车载网络 CAN 控制器的作用和类型 - 汽车维修 技术网[回答]qcwx_s2()
汽车CAN总线 常见的8种故障与排除方法(上) - 汽车维修技术网[回答]CAN总线出问题时往往伴随着多种故障,如仪表板显示异常,车辆无法启动,启动后无法熄灭等等。我们我们主要介绍常见的8种CAN总线故障类型及具体的排查...
安装 汽车 导航 ,导航后面的线 can - can 有啥用-ZOL问答是跟汽车的CAN总线系统进行数据交换用的,但通常,特定的CAN系统有特定的通讯协议,如果不是原配的导航,其通讯协议一般不同,无法共享数据。CAN线就像车内的超级高...
CAN总线 的必要性?CAN总线是一种高效的通信协议,主要用于汽车和其他多个节点之间的通信。它的必要性主要体现在以下几个方面:1.节省成本和空间:CAN总线只需要两根线(双绞线或...
现代库斯途电中门 CAN 线什么意思?现代库斯途电中门CAN线是指在现代库斯途这款车型中,用于电中门(电动中门)的控制器局域网总线。CAN线在汽车中起到通讯协议的作用,相当于汽车的中枢神经系统。...
can总线 ,重同步和作用_作业帮[最佳回答]重同步,就是节点根据沿相位误差的大小调整其内部位时间,以使节点内部位时间与来自总线的报文位流的位时间接近或相等.作为重同步的结果,PHASE-SEG1...