摘要:本文通过对OSEK网络管理和AUTOSAR网络管理的研究,提出一种新型主从式网络管理方式。适用于传统车、混动车、电动车中动力、混动CAN等子网中需求睡眠与唤醒的节点。此外,该网络管理也可用于P-N网络中,实现分组睡眠和唤醒。
乘用车需要唤醒和休眠的汽车CAN子网中,目前使用比较多的网络管理规范主要有OSEK的直接网络管理和AUTOSAR的网络管理。这2类网络管理均需要通过向总线上发送网络管理报文,用于表明网络节点的状态。其弊端在于:当一路子网的节点数较多时,网络管理报文会影响到总线的负载率。本文介绍一种新型的“主从式”网络管理,不需要定义单独的网络管理报文,只需要在节点正常通信的应用报文中增加节点状态信号,即可实现网络的协同睡眠和唤醒。
1 主从式网络管理状态及迁移流程
1.1主从式网络管理状态介绍
主从式网络管理状态包括主模块节点状态及从模块节点状态2部分;主模块节点和从模块节点仅是网络管理层面上的定义,在正常CAN通信过程中,仍然按照CAN协议规定的通信方式执行。主从式网络管理中,仅能存在一个主模块节点,至少存在一组或多组从模块节点。
主模块节点状态包括:初始化状态、、正常运行状态、等待睡眠状态、睡眠状态、跋行状态;从模块节点状态包括:初始化状态、正常运行状态、预睡眠状态、等待睡眠状态、睡眠状态、跋行状态。
主模块节点和从模块节点通过信号表明自身状信号定义见表1。
初始化状态是进行控制器的初始化过程。该状态中,主模块节点与从模块节点应将其状态设定为不满足睡眠条件。
正常运行状态中,主模块节点发送“睡眠应答=0”,从模块节点发送“睡眠指示=0”。从初始化状态进入正常运行状态,启动计时器T [active-min]。在T [active-min]时间内,无论节点是否满足睡眠条件,均不允许发送“睡眠应答=1”或“睡眠指示=1”的信号值。
当T [ active-min]计时到达后,且从模块节点本地睡眠条件满足后,其状态可迁移到预睡眠状态中。在该状态中,从模块节点仍需保持正常的通信,发送 “睡眠指示=1”。
预睡眠状态是从模块节点从正常运行状态到等待睡眠状态的中间状态。
节点进入等待睡眠状态中,需立即启动计时器T[ WaitBusSleep]。计时器计时到达后,节点进入睡眠状态。
睡眠状态中,节点进入低功耗模式,总线电平拉低至接近0V。
当通信出现问题时,如Bus off时,节点状态可迁移到跋行状态中,并立即启动计时器T [ Limphome],该计时器时间内,节点只能等待通信恢复;计时器到达后,节点可以等待通信恢复或在满足睡眠条件后进入等待睡眠状态。
1.2主模块节点网络管理迁移流程
主模块节点网络管理迁移流程如图1a所示。各状态间迁移条件如下。
路径1:本地条件(如传统车整车上电,或电动汽车开始充电等)唤醒,或CAN总线网络唤醒。
路径2:主模块节点初始化完成。
路径3: T[active-min]计时到达后,当所有在线从模块节点均发送信号“睡眠指示=1”并且主模块节点的本地睡眠条件满足,主模块节点发送信号“睡眠应答=1”。
路径4:主模块节点本地条件唤醒,或任一从模块节点发送信号“睡眠指示=0”。
路径5:通信出现错误。
路径6:通信恢复。
路径7:本地睡眠条件满足。
路径8:计时器T [ WaitBusSleep]到达。
1.3从模块节点网络管理迁移流程
从模块节点网络管理迁移流程如图1b所示。各状态间迁移条件如下。
路径1:本地条件唤醒,或CAN总线网络唤醒。
路径2:从模块节点初始化完成。
路径3 : T [ active-min]计时到达后,本地睡眠条件满足。
路径4:本地睡眠条件不满足。
路径5和路径7:通信出现错误。
路径6:通信恢复,且本地睡眠条件不满足。
路径8:通信恢复,且本地睡眠条件满足。
路径9:从模块节点收到主模块节点信号“睡眠应答=1”。
路径10:接收到主模块节点的信号“睡眠应答=0”,且本地睡眠条件满足。
路径11:本地条件唤醒。
路径12: T [ Limphome]计时未到时,本地睡眠条件满足,接收到主模块节点信号“睡眠应答=1”;或T [ Limphome]计时到达后,本地睡眠条件满足。
路径13:计时器T [ WaitBusSleep]到达。