1.CAN总线是什么?
CAN(Controller Area Network)是ISO世界标准化的串行通讯协议。广泛应用于轿车、船只等。具有现已被我们认可的高性能和可靠性。
CAN操控器经过组成总线的2根线(CAN-H和CAN-L)的电位差来确认总线的电平,在任一时间,总线上有2种电平:显性电平缓隐性电平。
“显性”具有“优先”的意味,只需有一个单元输出显性电平,总线上即为显性电平,而且,“隐性”具有“容纳”的意味,只要一切的单元都输出隐性电平,总线上才为隐性电平。(显性电平比隐性电平更强)。
总线上履行逻辑上的线“与”时,显性电平的逻辑值为“0”,隐性电平为“1”。
下图显现了一个典型的CAN拓扑衔接图。
衔接在总线上的一切单元都可以发送信息,假如有超越一个单元在同一时间发送信息,有最高优先级的单元取得发送的资历,一切其它单元履行接纳操作。
2.CAN总线的特色
CAN总线协议具有下面的特色:
1) 多主操控
当总线空闲时,衔接到总线上的一切单元都可以发动发送信息,这便是所谓的多主操控的概念。
先占有总线的设备取得在总线上进行发送信息的资历。这便是所谓的CSMA/CR(Carrier Sense MultipleAccess/Collosion Avoidance)办法
假如多个设备一起开端发送信息,那么发送最高优先级ID音讯的设备取得发送资历。
2) 信息的发送
在CAN协议中,一切发送的信息要满意预先界说的格局。当总线没有被占用的时分,衔接在总线上的任何设备都能起动新信息的传输,假如两个或更多个设备在一起间发动信息的传输,经过ID来决议优先级。ID并不是指明信息发送的目的地,而是指示信息的优先级。假如2个或许更多的设备在同一时间发动信息的传输,在总线上依照信息所包括的ID的每一位来竞赛,赢得竞赛的设备(也便是具有最高优先级的信息)可以持续发送,而失败者则马上中止发送并进入接纳操作。因为总线上同一时间只或许有一个发送者,而其它均处于接纳状况,所以,并不需要在底层协议中界说地址的概念。
3) 体系的灵活性
衔接到总线上的单元并没有相似地址这样的标识,所以,添加或去除一个设备,无需改动软件和硬件,或其它设备的应用层软件。
4) 通讯速度
可以设置任何通讯速度,以习惯网络规划。
对一个网络,一切单元有必要有相同的通讯速度,假如不同,就会发生过错,并阻碍网络通讯,但是,不同网络间可以有不同的通讯速度。
5) 长途数据恳求
可以经过发送“遥控帧”,恳求其他单元发送数据。
6) 过错检测、过错告诉、过错康复功用
一切单元均可以检测出过错(过错检测功用)。
检测到过错的单元马上一起告诉其它一切的单元(过错告诉功用)。假如一个单元发送信息时检测到一个过错,它会强制停止信息传输,并告诉其它一切设备发生了过错,然后它会重传直到信息正常传输出去(过错康复功用)。
7) 过错阻隔
在CAN总线上有两种类型的过错:暂时性的过错(总线上的数据因为遭到噪声的影响而暂时犯错);持续性的过错(因为设备内部犯错(如驱动器坏了、衔接有问题等)而导致的)。CAN可以差异这两种类型,一方面下降常犯错单元的通讯优先级以阻挠对其它正常设备的影响,另一方面,假如是一种持续性的过错,将这个设备从总线上阻隔开。
8) 衔接
CAN总线答应多个设备一起衔接到总线上且在逻辑上没有数目上的约束。但是因为推迟和负载才能的约束,实践可衔接得设备仍是有约束的,可以经过下降通讯速度来添加衔接的设备个数。相反,假如衔接的设备少,通讯的速度可以添加。
3.过错
3.1 过错状况
设备总是处于下面三个状况之一:
1)自动过错状况
在此状况下,设备可以参与总线上的正常通讯。假如处于自动过错状况的设备检测到一个过错,它会发送一个自动过错标志,更细节见第6章的“CAN协议”。
2)被迫过错状况
是指易于引起过错的状况。
虽然处于被迫过错状况的设备可以参与总线上的通讯,但是在接纳期间,它不或许自动地向其它设备发送过错告诉,以防止影响它们的通讯。处于被迫过错状况的设备即便检测到一个过错,假如其它处于自动过错状况的设备没曾检测到过错,那么也以为在总线上未曾呈现过任何过错。
当处于被迫过错状况的设备检测到一个过错的时分,它发送一个被迫过错标志。
别的,处于被迫过错状况的单元在发送完毕后不能马上再次开端发送。在开端下次发送前,在距离帧期间内有必要刺进“暂停发送期”(由8个位的隐性位组成)。
更细节见第6章的“CAN协议”。
3)总线堵截状况
处于此状况下时,设备不能参与总线的通讯。设备一切的收发操作都被制止。
这些状况是经过发送过错计数器和接纳过错寄存器来办理,相关过错状况由这些计数器值的组合来标识,过错状况和计数器值之间的联系见表1和图4。
声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qiche/adas/233244.html