CAN总线局部网络管理机制及实现

时间:2013-05-16来源:网络

硬件实现

在CAN总线中报文是以广播形式发送的,当节点处于休眠状态时,大部分收发器检测到总线中的报文时会唤醒节点。这就会使网络管理的局部网络功能失效。

为实现部分节点唤醒的功能,需要特殊的收发器支持。特殊收发器具有报文滤波功能,只在收到特定报文之后才能被唤醒。NXP已经率先推出支持局部网络管理的收发器TJA1145和UJA1168。TJA1145是一种高速CAN收发器,而UJA1168是集成5V/100mA微处理器供电的CAN系统基础芯片。

除了传统收发器的TX、RX引脚,NXP的两款支持PN的收发器均通过SPI与CAN控制器相连。通过SPI,MCU可控制CAN收发器的模式转换以及设置收发器的报文滤波,实现特定报文唤醒的功能。连接方式参见图2。

图2 支持PN的收发器连接实例图

软件实现

除了需要支持硬件滤波的收发器外,在软件部分,还需要遵循一套支持PN的网络管理协议来配合应用程序实现分组协同睡眠和唤醒。AUTOSAR组织已经推出支持PN的网络管理协议AUTOSARR3.2.1,该协议主要通过特定的网络管理报文来实现分组睡眠。

AUTOSAR 3.2.1中定义的CAN网络管理报文格式如图3所示。Byte 0表示源节点地址,Byte 1为固定格式ControlBit Vector.不同的bit有特殊的含义,如图3所示,该字节的bit 6(Partial Network Bit)就表明该报文是否与PN相关。NM报文中其余字节为User data,可根据用户需求自定义。OEM可根据EE功能定义,指定User data中的不同的位来表示不同的PN组是否需要保持唤醒。例如,将Byte 2的bit 0设定为PN1组的唤醒指示位时,如节点欲保持PN1组唤醒,则需将其置为1;如不需要保持PN1组唤醒,则将其位置为0或停发网络管理报文。当网络上同属于PN1的所有节点都没有保持唤醒的要求时,PN1组按照睡眠逻辑协同进入睡眠。

图3 默认网络管理报文格式定义


图4 Control Bit Vector格式定义

每个节点只关心自己所处的PN组的状态,在节点发送的网络管理报文加入所属PN的信息(User data),就可以实现不同PN分组休眠和唤醒。

结论

本文介绍了局部网络(PN)管理的概念及优势,并阐述了其在CAN总线上的硬件及软件实现。可以看到,随着汽车EE功能越来越复杂,局部网络管理的分组睡眠和唤醒的机制是一种有效的节省电量的方法。

1 2

关键词: 网络管理 休眠唤醒 CAN总线

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版