一、CAN通讯概述
CAN ( Controller Area Network ) 即操控器局域网络。因为其高性能、高可靠性、及共同的规划,CAN越来越遭到人们的注重。国外已有许多大公司的产品选用了这一技能。
CAN开端是由德国的BOSCH公司为轿车监测、操控体系而规划的。现代轿车越来越多地选用电子设备操控,如发动机的守时、注油操控,加快、刹车操控(ASC)及杂乱的抗确认刹车体系(ABS)等。因为这些操控需检测及交流很多数据,选用硬接信号线的办法不光烦琐、贵重,并且难以处理问题,选用CAN总线上述问题便得到很好地处理。
二、CAN总线特色
CAN总线是一种串行数据通讯协议,其通讯接口中集成了CAN协议的物理层和数据链路层功用,可完成对通讯数据的成帧处理,包含位填充、数据块编码、循环冗余检验、优先级判别等项作业。其物理传输层具体和高效的界说,使得 CAN总线具有其它总线无法到达的优势,注定其在工业现场总线中占有极其坚定的位置,CAN总线通讯首要具有如下所示的优势和特色。
1.CAN总线上恣意节点均可在恣意时间自动的向其它节点建议通讯,节点没有主从之分,但在同一时间优先级高的节点能取得总线的运用权,在高优先级的节点开释总线后,恣意节点都可运用总线;
2.CAN总线传输波特率为5Kbps~1Mbps ,在 5Kbps 的通讯波特率下最远传输间隔能够到达10Km,即便在1Mbps 的波特率下也能传输 40m 的间隔。在1Mbps 波特率下节点发送一帧数据最多需求134μ s;
3.CAN总线选用载波监听多路拜访、逐位裁定的非损坏性总线裁定技能。在节点需求发送信息时,节点先监听总线是否闲暇,只要节点监听到总线闲暇时才能够发送数据,即载波监听多路拜访办法。在总线呈现两个以上的节点一起发送数据时,CAN协议规矩,按位进行裁定,依照显性位优先级大于隐性位优先级的规矩进行裁定,最终高优先级的节点数据毫无损坏的被发送,其它节点中止发送数据(即逐位裁定无损坏的传输技能)。这样能大大的进步总线的运用功率及实时性;
4.CAN总线所挂接的节点数量首要取决于CAN总线收发器或驱动器,现在的驱动器一般都能够使同一网络容量到达110 个节点。CAN报文分为两个标准即CAN2.0A标准帧和CAN2.0B扩展帧,两个标准最大的差异在于CAN2.0A只要11 位标识符,CAN2.0B具有 29 位标识符;
5.CAN总线界说运用了硬件报文滤波,可完成点对点及点对多点的通讯办法,不需求软件来操控。数据选用短帧发送办法,每帧数据不超越8 字节,抗干扰能力强,每帧接纳的数据都进行CRC校验,使得数据犯错机率极大极限的下降。CAN节点
6.CAN总线通讯介质可选用双绞线、同轴电缆或光纤,挑选极为灵敏。可大大节省组网本钱。
2.CAN总线传输波特率为5Kbps~1Mbps ,在 5Kbps 的通讯波特率下最远传输间隔能够到达10Km,即便在1Mbps 的波特率下也能传输 40m 的间隔。在1Mbps 波特率下节点发送一帧数据最多需求134μ s;
3.CAN总线选用载波监听多路拜访、逐位裁定的非损坏性总线裁定技能。在节点需求发送信息时,节点先监听总线是否闲暇,只要节点监听到总线闲暇时才能够发送数据,即载波监听多路拜访办法。在总线呈现两个以上的节点一起发送数据时,CAN协议规矩,按位进行裁定,依照显性位优先级大于隐性位优先级的规矩进行裁定,最终高优先级的节点数据毫无损坏的被发送,其它节点中止发送数据(即逐位裁定无损坏的传输技能)。这样能大大的进步总线的运用功率及实时性;
4.CAN总线所挂接的节点数量首要取决于CAN总线收发器或驱动器,现在的驱动器一般都能够使同一网络容量到达110 个节点。CAN报文分为两个标准即CAN2.0A标准帧和CAN2.0B扩展帧,两个标准最大的差异在于CAN2.0A只要11 位标识符,CAN2.0B具有 29 位标识符;
5.CAN总线界说运用了硬件报文滤波,可完成点对点及点对多点的通讯办法,不需求软件来操控。数据选用短帧发送办法,每帧数据不超越8 字节,抗干扰能力强,每帧接纳的数据都进行CRC校验,使得数据犯错机率极大极限的下降。CAN节点
6.CAN总线通讯介质可选用双绞线、同轴电缆或光纤,挑选极为灵敏。可大大节省组网本钱。
三、CAN协议标准(CAN标准2.0)
CAN为串行通讯协议,能有效地支撑具有很高安全等级的散布实时操控。技能标准的意图是为了在任何两个CAN仪器之间树立兼容性。但是,兼容性有不同的方面,比方电气特性和数据转化的解说。为了到达规划透明度以及完成灵敏性,依据ISO/OSI参阅模型,CAN 2.0标准细分为以下不同的层次:数据链路层(数据链路层的LLC 子层和MAC子层)和物理层。
MAC子层的效果首要是传送规矩,也便是操控帧结构、履行裁定、过错检测、犯错标定、毛病界定。总线上什么时候开端发送新报文及什么时候开端接纳报文,均在MAC子层里确认。位守时的一些一般功用也能够看作是 MAC子层的一部分。天经地义,MAC子层的修正是遭到限制的。
物理层的效果是在不同节点之间依据一切的电气特点进行位的实践传输。同一网络的物理层关于一切
的节点当然是相同的。尽管如此,在挑选物理层方面仍是很自在的。
物理层的效果是在不同节点之间依据一切的电气特点进行位的实践传输。同一网络的物理层关于一切
的节点当然是相同的。尽管如此,在挑选物理层方面仍是很自在的。
四、CAN的过错界说及处理
1.过错类型
位过错
站单元在发送位的一起也对总线进行监督。假如所发送的位值与所监督的位值不相契合,则在此位时间里检测到一个位过错。但是在裁定场的填充位流期间或 ACK空隙发送一“隐性”位的状况是破例的—— 此刻,当监督到一“显性”位时,不会宣布位过错。当发送器发送一个被迫过错标志但检测到“显性”位时,也不视为位过错。
填充过错
假如在运用位填充法进行编码的信息中,呈现了第 6 个接连相同的位电平常,将检测到一个填充过错。
CRC 过错
CRC序列包含发送器的CRC核算成果。接纳器核算CRC的办法与发送器相同。假如核算成果与接纳到CRC序列的成果不相符,则检测到一个CRC过错。
站单元在发送位的一起也对总线进行监督。假如所发送的位值与所监督的位值不相契合,则在此位时间里检测到一个位过错。但是在裁定场的填充位流期间或 ACK空隙发送一“隐性”位的状况是破例的—— 此刻,当监督到一“显性”位时,不会宣布位过错。当发送器发送一个被迫过错标志但检测到“显性”位时,也不视为位过错。
填充过错
假如在运用位填充法进行编码的信息中,呈现了第 6 个接连相同的位电平常,将检测到一个填充过错。
CRC 过错
CRC序列包含发送器的CRC核算成果。接纳器核算CRC的办法与发送器相同。假如核算成果与接纳到CRC序列的成果不相符,则检测到一个CRC过错。
方式过错
当一个固定方式的位场含有1 个或多个不合法位,则检测到一个方式过错。
当一个固定方式的位场含有1 个或多个不合法位,则检测到一个方式过错。
应对过错
只要在ACK空隙(ACK SLOT)期间所监督的位不为“显性”,则发送器会检测到一个应对过错。
只要在ACK空隙(ACK SLOT)期间所监督的位不为“显性”,则发送器会检测到一个应对过错。
2.过错等级区分
自动过错 Error Counter < 127
过错正告 Error Counter = = Error
被迫过错 Error Counter > 127
总线封闭 Error Counter = = 255
过错正告 Error Counter = = Error
被迫过错 Error Counter > 127
总线封闭 Error Counter = = 255
“过错自动”的单元能够正常地参加总线通讯并在过错被检测届时宣布自动过错标志。
“过错被迫”的单元不允许发送自动过错标志。“过错被迫”的单元参加总线通讯并且在过错被检测届时只宣布被迫过错标志。并且,发送今后,“过错被迫”单元将在预设下一个发送之前处于等候状况。
“总线封闭”的单元不允许在总线上有任何的影响(比方,封闭输出驱动器)。
“过错被迫”的单元不允许发送自动过错标志。“过错被迫”的单元参加总线通讯并且在过错被检测届时只宣布被迫过错标志。并且,发送今后,“过错被迫”单元将在预设下一个发送之前处于等候状况。
“总线封闭”的单元不允许在总线上有任何的影响(比方,封闭输出驱动器)。