电动汽车控制器CAN网络管理方法及系统与流程

文档序号:21837835发布日期:2020-08-14 16:13阅读:785来源:国知局
电动汽车控制器CAN网络管理方法及系统与流程

本发明涉及新能源汽车技术领域,尤其涉及一种电动汽车控制器can网络管理方法及系统。



背景技术:

随着新能源汽车的发展,电动汽车电池的续航里程和充电速度越来越成为市场普及的瓶颈,在不断通过新技术提升电池能量密度的同时,对整车能量的分配也会影响整车的续航,目前市场上电机控制器通常是上电后就保持can(controllerareanetwork,控制器局域网络)网络的唤醒状态,即通过钥匙信号kl15(kl15表示发动机点火信号)直接唤醒电机控制器,而对于需要通过网络管理报文实现分布式间接网络管理的vcu(vehiclecontrolunit,整车控制器)则不能满足要求。

现有的kl15直接唤醒电机控制器电源和can网络的方式使得在一些不需要电机控制器工作或者不使用can网络的工况下保持上电,从而增加电量的消耗,对提升整车续航不利。同时,在上电或者下电的过程中,各个ecu(electroniccontrolunit,电子控制单元)的can网络唤醒和休眠时序如果不同步,整车控制器会接收不到各ecu的信息引起vcu报故障,在整车上不同的ecu节点加入网络的时候,时序不正确也会影响can网络通讯的稳定性。



技术实现要素:

本发明实施例所要解决的技术问题在于,提供一种电动汽车控制器can网络管理方法及系统,以使对电机控制器can网络在上电唤醒时序和休眠时序实现精确的控制管理。

为了解决上述技术问题,本发明实施例提出了一种电动汽车控制器can网络管理方法,包括:

网络管理指令接收步骤s1:接收can网络上主机或者其他节点发送的报文,将报文从底层接收后传递到应用层进行处理;

网络管理时间管理步骤s2:管理各个时间参数,使同一网络上各个节点的时间参数配置保持一致,以保证在唤醒和休眠时的同步;

网络管理状态请求步骤s3:将网络管理请求分为网络活动、网络释放以及被动开始,在不同的请求状态下,再根据当前网络管理的状态处理请求命令,进行状态转换;

网络管理状态转换步骤s4:处理接收到的休眠指令和唤醒指令,并根据当前状态和接收的指令对时间计数器进行启动和重载;

网络管理报文发送步骤s5:根据报文周期计时溢出标志更新唤醒源、唤醒状态、休眠状态、用户数据,并将数据通过底层硬件发出。

相应地,本发明实施例还提供了一种电动汽车控制器can网络管理系统,包括网络管理指令接收模块、网络管理时间管理模块、网络管理状态请求模块、网络管理状态转换模块、网络管理报文发送模块;

网络管理指令接收模块接收can网络上主机或者其他节点发送的报文,将报文从底层接收后传递到应用层进行处理;

网络管理时间管理模块主要用于管理各个时间参数,使同一网络上各个节点的时间参数配置保持一致,以保证在唤醒和休眠时的同步;

网络管理状态请求模块将网络管理请求分为网络活动、网络释放以及被动开始,在不同的请求状态下,再根据当前网络管理的状态处理请求命令,进行状态转换;

网络管理状态转换模块处理接收到的休眠指令和唤醒指令,并根据当前状态和接收的指令对网络管理时间管理模块中的时间计数器进行启动和重载;

网络管理报文发送模块根据网络管理时间管理模块的报文周期计时溢出标志更新唤醒源、唤醒状态、休眠状态、用户数据,并将数据通过底层硬件发出。

本发明的有益效果为:本发明对电机控制器can网络在上电唤醒时序和休眠时序实现精确的控制管理,简洁有效的同时提升了can网络的稳定性。

附图说明

图1是本发明实施例的电动汽车控制器can网络管理方法的流程图。

图2是本发明实施例的网络管理指令接收步骤的流程图。

图3是本发明实施例的网络管理时间管理步骤的流程图。

图4是本发明实施例的网络管理状态请求步骤的流程图。

图5是本发明实施例的网络管理状态转换步骤的流程图。

图6是本发明实施例的网络管理报文发送步骤的流程图。

图7是本发明实施例的状态转换图。

图8是本发明实施例的电动汽车控制器can网络管理系统的结构示意图。

具体实施方式

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互结合,下面结合附图和具体实施例对本发明作进一步详细说明。

本发明实施例中若有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。

另外,在本发明中若涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。

本发明依赖mcu(电机控制器),mcu通常作为节点在整个can网络上听从以vcu(整车控制器)为主机发送的控制命令,控制命令通常有休眠、唤醒(不休眠或活动状态为唤醒),通过can报文实现can通讯管理,can远程唤醒(上电)mcu,远程休眠(下电)mcu。

请参照图1,本发明实施例的电动汽车控制器can网络管理方法,包括:

网络管理指令接收步骤s1:接收can(controllerareanetwork,控制器局域网络)网络上主机(主机就是网络中管理网络的节点,对应有从机,从机是听从主机的命令,汽车can网络管理中vcu为主机)或者其他节点发送的报文,将报文从底层接收后传递到应用层进行处理;

网络管理时间管理步骤s2:管理各个时间参数,使同一网络上各个节点的时间参数配置保持一致,以保证在唤醒和休眠时的同步;

网络管理状态请求步骤s3:将网络管理请求分为网络活动、网络释放以及被动开始,在不同的请求状态下,再根据当前网络管理的状态处理请求命令,进行状态转换;

网络管理状态转换步骤s4:处理接收到的休眠指令和唤醒指令,并根据当前状态和接收的指令对网络管理时间管理模块中的时间计数器进行启动和重载;

网络管理报文发送步骤s5:根据报文(网络管理报文用于监视和设置节点的运行状态,心跳机制和寿命保护机制都基于该报文)周期计时溢出标志更新唤醒源、唤醒状态、休眠状态、用户数据,并将数据通过底层硬件发出。本发明通过网络管理状态转换步骤s4实现网络管理状态机,网络管理状态机转换图如图7所示。

请参照图2,作为一种实施方式,网络管理指令接收步骤包括:

子步骤s11:判断can底层是否接收到在唤醒的id(identitydocument)范围内的报文,若是,则接收can报文,置网络管理报文接收标志;

子步骤s12:判断网络管理当前是否正在休眠模式,若否,则直接进入子步骤s13;若是,则该can网络管理被动唤醒请求有效;

子步骤s13:判断接收的报文id是否为网络管理主机,若是,则进入子步骤s14;若否,则将网络管理主机命令接收标志置为空命令(即接收到主机的命令后,汽车mcu这边的网络管理模块就会对应设置一个标志位),并进入子步骤s15;

子步骤s14:判断接收报文是否为休眠命令,若是,则将网络管理主机命令接收标志置为接收到休眠命令;若否,则将网络管理主机命令接收标志置为接收到不休眠命令;

子步骤s15:判定远程唤醒有效,唤醒电源。网络管理主机命令接收标志有三种状态:空,接收到休眠,接收到不休眠(即唤醒);其初始为空。

请参照图3,作为一种实施方式,网络管理时间管理步骤包括:

子步骤s21:判定网络管理超时计数器10s计时是否溢出,若否,则直接进入子步骤s22;若是,则进入预休眠模式;

子步骤s22:判断等待休眠计数器3s计时是否溢出,若否,则直接进入子步骤s23;若是,则进入休眠模式;

子步骤s23:判断网络管理报文计数器100ms计时是否溢出,若是,则发送网络管理节点回复报文。

请参照图4,作为一种实施方式,网络管理状态请求步骤包括:

子步骤s31:判断请求命令是否为网络活动,若否,则进入子步骤s32;若是,则将网络状态置为活动状态,并进入子步骤s34;

子步骤s32:判断请求命令是否为网络释放,若否,则进入子步骤s33;若是,则将网络状态置为释放状态,若当前网络管理状态处于正常操作状态,则进入等待休眠模式;

子步骤s33:判断请求命令是否为被动开始,若是,则将网络状态置为释放状态,若当前网络管理状态处于休眠状态,则请求发送报文标志有效,进入网络在线模式,进入等待休眠状态;

子步骤s34:判断当前网络管理状态是否为休眠或者准备休眠状态,若当前网络管理状态不是为休眠或者准备休眠状态,则进入子步骤s35,若当前网络管理状态为休眠或者准备休眠状态,则进入子步骤s36;

子步骤s35:判断当前网络管理状态是否为等待休眠状态,若是则请求发送报文标志有效,设置报文发送周期,进入正常操作状态;

子步骤s36:判断当前网络管理状态是否为准备休眠状态,若是则停止等待休眠计时,并请求发送报文标志有效,设置报文发送周期,进入网络在线模式,进入正常操作状态;若否(即休眠状态)则直接请求发送报文标志有效,设置报文发送周期,进入网络在线模式,进入正常操作状态。

本发明实施例将网络管理请求分为网络活动、网络释放以及被动开始,当接收到主机唤醒命令或者点火开关kl15有效时,网络管理请求为网络活动;当接收到主机的休眠命令或者点火开关kl15无效,网络管理请求为网络释放;当接收到主机的休眠命令,而其他节点仍有网络活动时,网络管理请求为被动开始;在不同的请求状态下,再根据当前网络管理的状态处理请求命令,进行状态转换。

请参照图5,作为一种实施方式,网络管理状态转换步骤包括:

子步骤s41:检查网络管理报文接收标志(报文接收标志与命令接收标志不同,命令是包含在报文当中,接收到报文不一定有休眠和不休眠命令)是否有效,若是,则清除接收标志,并判断网络管理状态是否为准备休眠状态,若是,则进入子步骤s42,若否,则进入子步骤s44;

子步骤s42:判断是否收到主机不休眠命令,若收到主机不休眠命令,则主机休眠命令清0,停止等待休眠计时,进入网络在线模式,进入等待休眠状态;若未收到主机不休眠命令,则进入子步骤s43;

子步骤s43:判断是否收到主机休眠命令,若收到主机休眠命令,则主机休眠命令清0,开启等待休眠计时;

子步骤s44:判断网络管理状态是否为等待休眠状态,若为等待休眠状态则判断是否收到主机不休眠命令,若收到主机不休眠命令则将主机休眠命令清0,开启网络管理超时计时;若未收到主机不休眠命令,则进入子步骤s45;

子步骤s45:判断是否收到主机休眠命令,若收到主机休眠命令,则主机休眠命令清0,进入预休眠模式。

本发明对电机控制器can网络在上电唤醒时序和休眠时序实现精确的控制管理,简洁有效的同时提升了can网络的稳定性。

请参照图6,网络管理报文发送步骤的流程图如图6所示。判断网络管理报文发送请求是否有效,若是,则依次更新唤醒源、更新唤醒源状态、更新休眠状态、更新用户数据、调用底层函数发送网络管理报文,最后开启发送超时计数清楚发送请求。

本发明实施例的电动汽车控制器can网络管理方法基于分布式策略,每个节点根据通信系统中发送或者接收到的网络管理消息来执行自给自足的网络活动,网络管理消息通过广播发送,网络中的所有节点都可以接收到网络管理消息,接收到网络管理消息表示发送这个消息的节点倾向保持网络工作模式。

如果有节点准备好进入总线休眠模式,它就停止发送网络管理消息,但是只要它还能够接收到从其他节点发来的网络管理消息,它就延迟到总线休眠模式的变迁,最终,在一定的时限内,由于不再接收到网络管理消息,每个节点都启动到总线休眠模式的变迁,如果网络中的任何节点需要总线通信,它可以通过发送网络管理消息使网络从总线休眠模式中唤醒,概括如下:

1.每个网络节点如果想保持总线通信,就会一直发送周期性的nm(networkmanagement,网络管理)消息;如果它不再需要保持总线通信,它就不再发送网络管理消息;

2.如果总线通信已经被释放,并且在配置的一段时间内没有发送或者接收到网络管理消息,则执行到总线休眠模式的转移。

网络管理是整车控制很重要的功能。在can网络中通常有两种报文,应用数据帧和网络管理帧。应用数据帧只负责网络在正常工作模式下各节点的数据交互,网络管理帧控制和协调各节点唤醒,工作,休眠的时序。汽车can网络管理状态机共有三种操作模式,分别为网络在线模式、预休眠模式、休眠模式,网络在线模式又包括三个子状态:重复消息状态、正常操作状态、准备休眠状态。状态转换图如图7所示。网络在线模式在收到休眠命令或者网络管理报文接收超时转换为预休眠模式;预休眠模式下,若收到唤醒命令则转换为网络在线模式,若休眠等待计时器溢出则转换为休眠模式;休眠模式下,若接收到唤醒命令或其他节点网络活动,则转换为网络在线模式。

重复消息状态用来确保从休眠模式或者预休眠模式到网络在线模式切换的节点被总线上其他节点发现,当进入重复消息状态时,节点应该开始传送网络管理报文,在重复消息状态下,网络管理报文接收超时计时溢出后,应当重载计时器,网络管理应该在需要发送报文时保持重复消息状态一段时间,这个时间可以通过网络管理的报文周期来配置,当离开重复消息状态时,如果节点需要通信,则进入正常操作状态,如果节点不需要通信,则进入准备休眠状态,并清除重复消息状态标志位。

正常操作状态下保持总线处于唤醒状态,从准备休眠状态进入这个状态时应该发送网络管理报文,在正常操作状态下,当网络管理报文接收超时计时器溢出后,应当重载计时器,如果节点不需要使用通信,则网络应该被释放,节点进入准备休眠状态,如果节点收到重复消息请求标志,则节点进入重复消息状态,如果节点自身需要进入重复消息状态,则节点进入重复消息状态并设置重复消息请求标志位。

准备休眠状态是为了当本节点已经准备释放总线,而其他节点还需要使用总线时等待其他节点进入预休眠模式,进入这个状态后,网络管理模块会停止网络报文的传送,如果网络管理报文接收超时计时器溢出,节点将会进入预休眠模式,如果节点需要使用总线,则进入正常操作状态,如果节点收到重复消息请求标志,则节点进入重复消息状态,如果节点自身需要进入重复消息状态,则节点进入重复消息状态并设置重复消息请求标志位。

预休眠模式是为了等待总线上的所有节点能够在进入休眠模式之前,有时间停止节点的活动状态,最终实现同步休眠,在预休眠模式下,所有节点都静默,通过配置网络管理休眠等待时间,可以改变节点在预休眠模式保持的时间,在这段时间之后节点会进入其他状态,在与休眠模式下收到网络管理报文或者被节点本身上层应用请求通讯时,节点将进入网络在线模式的正常操作状态。

休眠模式下各节点ecu(electroniccontrolunit,电子控制单元)通常会进入低功耗模式以节省电量,对于电机控制器节点,通常会下电休眠,进入休眠模式后,节点可以被本地唤醒源或者远程can唤醒源唤醒,网络管理报文接收超时时间和等待休眠时间两个参数对于在整个总线上面节点都应该保持一样的配置,保证总线上的节点能够同步休眠。

本发明依次对报文进行接收、判断、处理、转换,实现汽车can网络管理状态机(本领域中,状态机为状态改变的过程,状态是状态机中在时刻上所处的某一情况),最后再通过报文把当前的状态反馈到总线给主机和者其他节点,实现can报文远程唤醒和休眠,简洁有效的同时提升了can网络的稳定性。

请参照图8,本发明实施例的电动汽车控制器can网络管理系统由网络管理指令接收模块、网络管理时间管理模块、网络管理状态请求模块、网络管理状态转换模块、网络管理报文发送模块组成。

网络管理指令接收模块接收can网络上主机或者其他节点发送的报文,将报文从底层接收后传递到应用层进行处理,用于识别当前主机的命令,以及其他节点的网络状态。

作为一种实施方式,网络管理指令接收模块:判断can底层是否接收到在唤醒的id范围内的报文,若是,则接收can报文;

判断网络管理当前是否正在休眠模式,若是,则该can网络管理被动唤醒请求有效;

判断接收的报文id是否为网络管理主机,若否,则将网络管理主机命令接收标志置为空命令;若是,则判断接收报文是否为休眠命令,若是,则将网络管理主机命令接收标志置为接收到休眠命令;若否,则将网络管理主机命令接收标志置为接收到不休眠命令;

判定远程唤醒有效,唤醒电源。网络管理指令接收模块主要实施步骤如图2所示。

网络管理时间管理模块主要用于管理各个时间参数,如网络管理超时时间、等待休眠时间以及网络管理报文周期时间,同一网络上各个节点的时间参数配置应该一致,以保证在唤醒和休眠时的同步。

作为一种实施方式,网络管理时间管理模块包括:

判定网络管理超时计数器10s计时是否溢出,若是,则进入预休眠模式,若否,则判断等待休眠计数器3s计时是否溢出;

若是,则进入休眠模式,若否,则判断网络管理报文计数器100ms计时是否溢出,若是,则发送网络管理节点回复报文。网络管理时间管理模块主要实施步骤如图3所示。

网络管理状态请求模块将网络管理请求分为网络活动、网络释放以及被动开始,当接收到主机唤醒命令或者点火开关kl15有效时,网络管理请求为网络活动;当接收到主机的休眠命令或者点火开关kl15无效,网络管理请求为网络释放;当接收到主机的休眠命令,而其他节点仍有网络活动时,网络管理请求为被动开始;在不同的请求状态下,再根据当前网络管理的状态处理请求命令,进行状态转换。

作为一种实施方式,网络管理状态请求模块包括:

判断请求命令是否为网络活动,若不为网络活动,则判断请求命令是否为网络释放;若为网络释放,则将网络状态置为释放状态,若当前网络管理状态处于正常操作状态,则进入等待休眠模式;若不为网络释放,则判断请求命令是否为被动开始,若是,则将网络状态置为释放状态,若当前网络管理状态处于休眠状态,则请求发送报文标志有效,进入网络在线模式,进入等待休眠状态;

若为网络活动,则将网络状态置为活动状态,并判断当前网络管理状态是否为休眠或者准备休眠状态,若当前网络管理状态不是为休眠或者准备休眠状态,则判断当前网络管理状态是否为等待休眠状态,若是则请求发送报文标志有效,设置报文发送周期,进入正常操作状态;若当前网络管理状态为休眠或者准备休眠状态,则判断当前网络管理状态是否为准备休眠状态,若是则停止等待休眠计时,并请求发送报文标志有效,设置报文发送周期,进入网络在线模式,进入正常操作状态;若否(即休眠状态)则直接请求发送报文标志有效,设置报文发送周期,进入网络在线模式,进入正常操作状态。网络管理状态请求模块主要实施步骤如图4所示。

网络管理状态转换模块主要处理接收到的休眠指令和唤醒指令,并根据当前状态和接收的指令对网络管理时间管理模块中的时间计数器进行启动和重载。

作为一种实施方式,网络管理状态转换模块包括:

检查网络管理报文接收标志是否有效,若有效,则清除接收标志,并判断网络管理状态是否为准备休眠状态,

若为准备休眠状态,则判断是否收到主机不休眠命令,若收到主机不休眠命令,则主机休眠命令清0,停止等待休眠计时,进入网络在线模式,进入等待休眠状态;若未收到主机不休眠命令,则判断是否收到主机休眠命令,若收到主机休眠命令,则主机休眠命令清0,开启等待休眠计时;

若不为准备休眠状态,则判断网络管理状态是否为等待休眠状态,若为等待休眠状态则判断是否收到主机不休眠命令,若收到主机不休眠命令则将主机休眠命令清0,开启网络管理超时计时;若未收到主机不休眠命令,则判断是否收到主机休眠命令,若收到主机休眠命令,则主机休眠命令清0,进入预休眠模式。网络管理状态转换模块主要实施步骤如图5所示,主要的状态机如图7状态转换图。

网络管理报文发送模块根据时间管理模块的报文周期计时溢出标志更新唤醒源、唤醒状态、休眠状态、用户数据,并将数据通过底层硬件发出。网络管理报文发送模块主要实施步骤如图6所示。判断网络管理报文发送请求是否有效,若是,则依次更新唤醒源、更新唤醒源状态、更新休眠状态、更新用户数据、调用底层函数发送网络管理报文,最后开启发送超时计数清楚发送请求。

尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同范围限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1