
CAN报文优先级检测系统由4个CAN通信节点组成,通过各节点的CAN-H和CAN-L端口并联到总线上,总线两端各接上一个120Ω左右的终端电阻,构成一个闭合回路。4个节点的主体结构是基本相同的,根据系统功能的需要每个节点在硬件结构上又有所差别。系统总体结构如图所示。每个节点均有键盘和显示单元;节点1、2、3为发送节点,每个节点均有“启动发送”按钮;节点1还有“停止发送”按钮,并可对CAN总线电平进行检测,亦即可对CAN总线MAC(媒体访问控制)帧进行检测;节点4为接收节点,可显示接收到的报文。
图 系统结构
CAN技术规范中的MAC机制就是指对媒体访问的控制/仲裁机制[4, 5]。CAN网络上的一个节点发送的报文可被网络上所有其它节点监听并应答。当总线开放时,任何CAN节点均可开始发送报文,若多个节点同时开始发送报文,总线访问冲突借助标识符进行逐位仲裁来解决。仲裁期间,每一个发送器都将发送的位电平与在总线上监视到的电平进行比较,若相同,则该单元可以继续发送;若不同,该单元丢失仲裁,并且必须退出而不再发送后续位。
这里指出,对于多个节点同时发送情况下总线访问的仲裁,CAN采用的是带优先权的非破坏性逐位仲裁机制来解决总线冲突的;对于一个节点想要发送而另一个节点正在发送的总线访问情况,CAN采用的是载波监听技术。这二者共同的基础是CAN总线上一个节点发送的报文可被所有节点(包括自身)监听。带优先权的非破坏性逐位仲裁机制所依赖的其它基础是显性位(“0”)的优先权高于隐性位(“1”),即当一个隐性位和一个显性位同时被发送至总线上时,总线上所出现的结果为一个显性位,“非破坏性”即是对高优先权的“0”而言的;参与逐位仲裁的位为仲裁场(11位标识符和RTR位(对于标准格式)),如图所示。