CN103312548A - 基于osek标准的休眠控制方法及装置 - Google Patents

基于osek标准的休眠控制方法及装置 Download PDF

Info

Publication number
CN103312548A
CN103312548A CN2013102511825A CN201310251182A CN103312548A CN 103312548 A CN103312548 A CN 103312548A CN 2013102511825 A CN2013102511825 A CN 2013102511825A CN 201310251182 A CN201310251182 A CN 201310251182A CN 103312548 A CN103312548 A CN 103312548A
Authority
CN
China
Prior art keywords
dormancy
instruction
module
wake
ecu
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2013102511825A
Other languages
English (en)
Other versions
CN103312548B (zh
Inventor
刘鹏
李想
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jingwei Hirain Tech Co Ltd
Original Assignee
Beijing Jingwei Hirain Tech Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Jingwei Hirain Tech Co Ltd filed Critical Beijing Jingwei Hirain Tech Co Ltd
Priority to CN201310251182.5A priority Critical patent/CN103312548B/zh
Publication of CN103312548A publication Critical patent/CN103312548A/zh
Application granted granted Critical
Publication of CN103312548B publication Critical patent/CN103312548B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Communication Control (AREA)

Abstract

本发明涉及网络管理领域,公开了一种基于OSEK标准的休眠控制方法及装置。ECU满足休眠条件时,产生符合网络管理层协议的休眠命令,以设置本地休眠标志,在网络内其他ECU节点都符合休眠条件时,产生等待休眠通知信息,以使应用层生成关闭通信指令;接收到关闭通信指令后,通信层中的模块关闭通信功能;在网络管理层中的各模块进入等待休眠状态的时间达到预设值,且未发生唤醒事件时,产生进入休眠通知信息;之后应用层中的模块先后产生CAN收发器休眠指令和CAN控制器休眠指令,使CAN收发器和CAN控制器先后进入休眠状态。本发明所公开的休眠控制方法,使网络管理按照严格的流程实现,增加了ECU的稳定性和可靠性。

Description

基于OSEK标准的休眠控制方法及装置
技术领域
本发明涉及网络管理领域,特别是涉及一种基于OSEK标准的休眠控制方法及装置。
背景技术
OSEK(open systems and the corresponding interfaces for automotiveelectronics)指的是德国汽车电子类开放系统和应用接口标准,是目前市场上被广泛应用于汽车管理系统的一种标准。
在汽车的各个装置中,如车窗、车门、座椅、空调等,内部设置有用于进行网络管理的ECU(Electronic Control Unit,电子控制单元),各个ECU遵循OSEK标准,采用CAN(Controller Area Network,控制器局域网络)总线技术实现数据交换。其中,连接在同一网段内的各个ECU之间往往通过协同休眠、唤醒的方式,达到降低功耗的目的。参见图1所示的ECU的结构示意图,设置在ECU内部的MCU(Micro Control Unit,微控制单元)包含的软件架构,通常包含多个层次,如应用层、通信层、网络管理层、接口层、驱动层等模块;在硬件装置方面,ECU还包含有CAN控制器和CAN收发器等模块,驱动层用于向CAN控制器和CAN收发器发送驱动命令,通过ECU中各个模块的相互配合,实现ECU的休眠
但是,发明人在本申请的研究过程中发现,为了实现ECU的休眠,需要上述ECU中的各个模块按照一定的调用顺序执行相应的操作,但在现有技术中,并没有标准的休眠流程,因此,在执行休眠的过程中,经常出现跨层级访问的问题,导致ECU无法实现休眠。例如,在休眠过程中,应用层模块直接控制通信层模块进入休眠,而绕过了网络管理层模块,则会导致ECU无法进入休眠。
发明内容
有鉴于此,本发明的目的在于提供一种基于OSEK标准的休眠控制方法,以解决现有技术中所存在的,ECU由于在执行休眠的过程中出现跨层级访问的问题,导致无法实现休眠的问题,具体实施方案如下:
一种基于OSEK标准的休眠控制方法,所述休眠控制方法应用于当前ECU,所述当前ECU与属于同一CAN总线内的其他ECU形成ECU网络,所述休眠控制方法包括:
产生符合所述当前ECU的网络管理层协议的休眠命令;
依据所述休眠命令,设置所述当前ECU的本地休眠标志;
依据接收到的同一ECU网络内其他ECU的本地休眠标志,判断所述ECU网络内其他所有ECU是否都设置有本地休眠标志,如果是,则产生符合应用层协议的等待休眠通知信息;
依据所述等待休眠通知信息生成符合所述当前ECU的通信层协议的通信层休眠指令;
依据所述通信层休眠指令控制所述当前ECU中,位于通信层中的各模块进入休眠状态;
判断从所述产生符合应用层协议的等待休眠通知信息开始的预设的时间段内,是否发生唤醒事件,如果否,则产生符合应用层协议的进入休眠通知信息;
依据所述进入休眠通知信息,先后产生CAN收发器休眠指令和CAN控制器休眠指令;
依据所述CAN收发器休眠指令和CAN控制器休眠指令,控制所述CAN收发器和CAN控制器先后进入休眠状态。
优选的,若所述网络管理层中的各个模块进入等待休眠状态的时间未达到预设值时,发生唤醒事件,所述休眠控制方法还包括:
依据接收到的其他ECU产生的远程唤醒报文,产生符合应用层协议的取消休眠等待信息;
依据所述取消休眠等待信息生成符合通信层协议的通信层唤醒指令;
依据所述通信层唤醒指令唤醒位于所述通信层中的模块。
优选的,若所述网络管理层中的各个模块进入等待休眠状态的时间未达到预设值时,发生唤醒事件,所述休眠控制方法还包括:
产生符合网络管理层协议的本地唤醒指令;
依据接收到的本地唤醒指令,唤醒产生等待休眠通知信息后进入等待休眠状态的所述网络管理层中的模块;
在所述网络管理层中的模块被唤醒之后,产生符合通信层协议的通信层唤醒指令;
依据所述打开通信指令唤醒所述通信层中的模块。
优选的,所述CAN收发器和CAN控制器进入休眠状态后,所述休眠控制方法还包括:
响应于CAN总线的唤醒信号,产生符合应用层协议的唤醒通知;
依据所述唤醒通知唤醒所述当前ECU中位于应用层的模块;
依据所述唤醒通知先后分别产生CAN控制器唤醒指令、CAN收发器唤醒指令和通信层唤醒指令;
依据所述CAN控制器唤醒指令、CAN收发器唤醒指令和通信层唤醒指令,依次唤醒所述当前ECU的CAN控制器、CAN收发器和通信层中的模块。
优选的,所述CAN收发器和CAN控制器进入休眠状态后,所述休眠控制方法还包括:
依据接收到的本地唤醒信息,判断所述CAN收发器是否处于休眠状态,若是,产生CAN收发器唤醒指令;
依据所述CAN收发器唤醒指令,唤醒所述CAN收发器;
产生所述CAN收发器唤醒指令后,先后产生符合网络管理层协议的网络管理层唤醒指令、CAN控制器唤醒指令和通信层唤醒指令;
依据所述网络管理层唤醒指令、CAN控制器唤醒指令和通信层唤醒指令,依次唤醒位于所述网络管理层中的模块、CAN控制器、和位于通信层中的模块。
相应的,本发明还公开了一种基于OSEK标准的休眠控制装置,所述休眠控制装置应用于当前ECU,所述当前ECU与属于同一CAN总线内的其他ECU形成ECU网络,所述休眠控制装置包括:
第一产生模块,用于产生符合所述当前ECU的网络管理层协议的休眠命令;
设置模块,用于依据所述休眠命令,设置所述当前ECU的本地休眠标志;
第一判断模块,用于依据接收到的同一ECU网络内其他ECU的本地休眠标志,判断所述ECU网络内其他所有ECU是否都设置有本地休眠标志;
第二产生模块,用于在所述第一判断模块的结果为是的情况下,产生符合应用层协议的等待休眠通知信息;
第三产生模块,用于依据所述等待休眠通知信息生成符合所述当前ECU的通信层协议的通信层休眠指令;
第一控制模块,用于依据所述通信层休眠指令控制所述当前ECU中,位于通信层中的各模块进入休眠状态;
第二判断模块,用于判断从所述产生符合应用层协议的等待休眠通知信息开始的预设的时间段内,是否发生唤醒事件;
第四产生模块,用于在所述第二判断模块的结果为否的情况下,产生符合应用层协议的进入休眠通知信息;
第五产生模块,用于依据所述进入休眠通知信息,先后产生CAN收发器休眠指令和CAN控制器休眠指令;
第二控制模块,用于依据所述CAN收发器休眠指令和CAN控制器休眠指令,控制所述CAN收发器和CAN控制器先后进入休眠状态。
优选的,若所述网络管理层中的各个模块进入等待休眠状态的时间未达到预设值时,发生唤醒事件,所述休眠控制装置还包括:
第六产生模块,用于依据接收到的其他ECU产生的远程唤醒报文,产生符合应用层协议的取消休眠等待信息;
第一唤醒指令产生模块,用于依据所述取消休眠等待信息生成符合通信层协议的通信层唤醒指令;
第一唤醒模块,用于依据所述通信层唤醒指令唤醒位于所述通信层中的模块。
优选的,若所述网络管理层中的各个模块进入等待休眠状态的时间未达到预设值时,发生唤醒事件,所述休眠控制装置还包括:
第二唤醒指令产生模块,用于产生符合网络管理层协议的本地唤醒指令;
第一唤醒模块,用于依据接收到的本地唤醒指令,唤醒产生等待休眠通知信息后进入等待休眠状态的所述网络管理层中的模块;
第三唤醒指令产生模块,用于在所述网络管理层中的模块被唤醒之后,产生符合通信层协议的通信层唤醒指令;
第二唤醒模块,用于依据所述打开通信指令唤醒所述通信层中的模块。
优选的,所述休眠控制装置还包括:
第七产生模块,用于响应于CAN总线的唤醒信号,产生符合应用层协议的唤醒通知;
第三唤醒模块,用于依据所述唤醒通知唤醒所述当前ECU中位于应用层的模块;
第四唤醒指令产生模块,用于依据所述唤醒通知先后分别产生CAN控制器唤醒指令、CAN收发器唤醒指令和通信层唤醒指令;
第四唤醒模块,用于依据所述CAN控制器唤醒指令、CAN收发器唤醒指令和通信层唤醒指令,依次唤醒所述当前ECU的CAN控制器、CAN收发器和通信层中的模块。
优选的,所述休眠控制装置还包括:
第三判断模块,用于依据接收到的本地唤醒信息,判断所述CAN收发器是否处于休眠状态;
第五唤醒指令产生模块,用于在所述第三判断模块的判断结果为是的情况下,产生CAN收发器唤醒指令;
第五唤醒模块,用于依据所述CAN收发器唤醒指令,唤醒所述CAN收发器;
第六唤醒指令产生模块,用于产生所述CAN收发器唤醒指令后,先后产生符合网络管理层协议的网络管理层唤醒指令、CAN控制器唤醒指令和通信层唤醒指令;
第六唤醒模块,用于依据所述网络管理层唤醒指令、CAN控制器唤醒指令和通信层唤醒指令,依次唤醒位于所述网络管理层中的模块、CAN控制器、和位于通信层中的模块。
本申请所公开的基于OSEK标准的休眠控制方法,起到了规范网络管理中,休眠和唤醒的实现流程的作用。本方案为实现ECU的休眠,制定了严格的流程。首先,在ECU本身满足休眠条件时,产生符合网络管理层协议的休眠命令,使得位于网络管理层中的模块设置自身的本地休眠标志,并在ECU网络内其他所有的ECU节点都符合休眠条件时,产生等待休眠通知信息,以使应用层中的模块在接收到所述等待休眠通知信息后,生成通信层休眠指令;接收到所述通信层休眠指令后,通信层中的COM通信模块关闭通信功能,停止向CAN总线发送报文,进入休眠状态;在网络管理层中的各模块进入等待休眠状态的时间达到预设值,且没有发生唤醒事件时,产生进入休眠通知信息;应用层中的各模块在接收到所述进入休眠通知信息后,先后产生CAN收发器休眠指令和CAN控制器休眠指令,从而使所述CAN收发器和CAN控制器先后进入休眠状态。按照本申请所公开的管理方法,使得休眠过程按照严格的流程实现,增加了ECU的稳定性和可靠性。
进一步的,在所述CAN收发器和CAN控制器先后进入休眠状态后,本申请所公开的基于OSEK标准的休眠控制方法中还包括:分别产生符合接口层协议和驱动层协议的休眠指令,从而使接口层和驱动层进入休眠状态。
另外的,当网络管理层中的各个模块进入等待休眠状态后,若发生网络唤醒或本地唤醒事件,则ECU将恢复正常工作状态,这种情况下,应用层中的软件模块产生通信层唤醒指令,以使通信模块进入工作状态。
在ECU进入休眠状态后,本发明所公开的休眠控制方法还提供了将其唤醒的流程,其中唤醒情况分为总线唤醒和本地唤醒两种情况。针对这两种情况,本方案制定了严格的唤醒流程,从而使ECU的休眠、唤醒过程能够严格遵守一定的流程,提高了ECU网络管理过程中的稳定性和可靠性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以依据这些附图获得其他的附图。
图1为现有技术公开的ECU的结构示意图;
图2为本发明实施例公开的一种基于OSEK标准的休眠控制方法中的信息交互示意图;
图3为本发明实施例公开的又一种基于OSEK标准的休眠控制方法中的信息交互示意图;
图4为本发明实施例公开的远程唤醒报文的格式示例图;
图5为本发明实施例公开的又一种基于OSEK标准的休眠控制方法中的信息交互示意图;
图6为本发明实施例公开的又一种基于OSEK标准的休眠控制方法中的信息交互示意图;
图7为本发明实施例公开的又一种基于OSEK标准的网络管理1方法中的信息交互示意图;
图8为本发明实施例公开的一种基于OSEK标准的休眠控制装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
CAN(Controller Area Network,控制器局域网络)总线是一种串行分布式总线网络,广泛应用与工业控制、汽车电子、航空航天等领域。现有技术中,利用CAN总线技术实现ECU的同步休眠、唤醒,以降低汽车的功耗。但是,在一个ECU中,包括MCU和CAN收发器、CAN控制器等,而MCU中包含的软件架构,通常包含多个层次,如应用层、通信层、网络管理层、接口层、驱动层等模块。而要实现ECU的休眠和唤醒,则需要实现各个软件层和CAN收发器、CAN控制器的休眠、唤醒。现有技术中,在进行ECU的休眠和唤醒时,并没有制定一定的调用、执行程序,从而在休眠和唤醒过程中出现跨层级访问的问题,导致ECU无法实现休眠、唤醒,影响ECU的稳定性、可靠性。
例如,在现有技术中,控制ECU进行休眠时,采取的方式包括:直接控制CAN控制器进入休眠,或者,直接使MCU进入休眠状态。这种情况下,当控制CAN控制器先进入休眠状态的情况下,那么在CAN收发器接收到报文后,所述CAN控制器由于处于休眠状态,无法及时处理所述接收到的报文,会造成CAN总线上出现错误帧。
而直接使MCU进入休眠状态的方法,由于MCU内部包括多层的软件架构,极易出现跨层级访问的问题,从而出现安全隐患。例如,在休眠过程中,应用层直接控制通信层的COM(communication,通信)模块关闭通信功能,而未通过网络管理层,这种情况下,网络管理层中的各个模块,如网络管理模块,还处于工作状态,这样就可能导致无法进入休眠。随着ECU内部软件模块数量以及复杂度的增加,这种安全隐患也日益增加。
现有技术中,还没有标准化的关于基于OSEK标准的ECU的休眠方案。针对这种情况,本申请提供了一种基于OSEK标准的休眠控制方法,以实现对ECU的休眠控制。
本申请提供一种基于OSEK标准的休眠控制方法,所述休眠控制方法应用于当前ECU,所述当前ECU与属于同一CAN总线内的其他ECU形成ECU网络,参见图2所示的基于OSEK标准的CAN总线休眠方法的信息交互示意图,所述休眠控制方法包括:
步骤S11、产生符合所述当前ECU的网络管理层协议的休眠命令;
当前ECU对自身的运行状态进行检测,当运行状态满足休眠条件,需要执行CAN总线休眠时,会产生休眠命令,通常由应用层中的模块产生所述休眠命令,所述休眠命令用于使网络管理层中的各模块依据所述休眠命令设置本地休眠标志。
通常由网络管理层中的网络管理模块在接收到所述休眠命令后,设置本地休眠标志。通常,在OSEK标准下,所述休眠命令为OsekNm_GotoMode(SLEEP)函数,位于网络管理层中的模块会把设置后的本地休眠标志发送至CAN总线,以通知网络上的其他ECU节点,自身准备进入休眠状态。
步骤S12、依据所述休眠命令,设置所述当前ECU的本地休眠标志;
通常由网络管理层中的各模块设置本地休眠标志。
步骤S13、依据接收到的同一ECU网络内其他ECU的本地休眠标志,判断所述ECU网络内其他所有ECU是否都设置有本地休眠标志,如果是,则产生符合应用层协议的等待休眠通知信息;
ECU网络内的各个ECU,在依据自身运行状态设置本地休眠标志后,会将及其传输至CAN总线。所述网络管理层中的各模块在接收到所述应用层传输的休眠命令后,设置所述本地休眠标志,并接收通过CAN总线传输的其他ECU节点的本地休眠标志进行协商,以便各个ECU实现同步休眠。当判断得知ECU网络内其他所有ECU都设置有本地休眠标志,说明网络内所有ECU节点都满足休眠条件,可以实现同步休眠,网络管理层中的模块产生符合应用层协议的等待休眠通知信息。在OSEK标准下,所述等待休眠通知信息通常采用WaitBusSleep_Enter()函数实现。
同时,位于网络管理层中的各个模块进入等待休眠状态。之后,网络管理层中的模块启动准备休眠定时器,进入休眠倒计时状态。
步骤S14、依据所述等待休眠通知信息生成符合所述当前ECU的通信层协议的通信层休眠指令。
步骤S15、依据所述通信层休眠指令控制所述当前ECU中,位于通信层中的各模块进入休眠状态;
所述位于应用层中的模块在接收到所述等待休眠通知信息后,会生成通信层休眠指令。通信层中的COM通信模块在接收到所述通信层休眠指令后,进入休眠状态,也就是说,所述COM通信模块会关闭通信功能,从而停止向CAN总线发送报文。其中,所述关闭通信指令通常依靠COM_TxStop()和COM_RxWStop()函数实现。
步骤S16、判断从所述产生符合应用层协议的等待休眠通知信息开始的预设的时间段内,是否发生唤醒事件,如果否,则产生符合应用层协议的进入休眠通知信息;
在网络管理层中的各个模块进入等待休眠状态后,可能会发生唤醒事件。其中,所述唤醒事件包括网络唤醒和本地唤醒两种。若网络内其他的ECU节点被唤醒,产生唤醒信息,通过CAN总线接收到所述唤醒信息后,ECU节点被唤醒的过程为网络唤醒;自身直接被唤醒,如利用汽车的点火钥匙驱动时,直接被唤醒的过程即被称为本地唤醒。
其中,所述预设的时间段为位于网络管理层中休眠定时器设置的时间。在所述休眠定时器设置的时间内没有发生唤醒事件时,则产生符合应用层协议的进入休眠通知信息。通常在OSEK标准下,由所述网络管理层中的模块产生所述进入休眠通知信息。其中,所述进入休眠通知信息通常依靠ApplNmCanSleep()函数实现。
步骤S17、依据所述进入休眠通知信息,产生CAN收发器休眠指令和CAN控制器休眠指令,使CAN收发器在接收到所述CAN收发器休眠指令后,进入休眠状态;
步骤S18、所述CAN收发器进入休眠状态后,依据所述进入休眠通知信息产生CAN控制器休眠指令,使CAN控制器在接收到所述CAN控制器休眠指令后,进入休眠状态。
在接收到所述进入休眠通知信息后,为了避免CAN收发器接收到报文时,CAN控制器已经进入休眠状态,无法对该报文进行处理,位于应用层中的模块在接收到符合其协议的进入休眠通知信息后,首先产生CAN收发器休眠指令,以使所述CAN收发器首先进入休眠状态,再产生CAN控制器休眠指令,以使所述CAN控制器进入休眠状态。其中,所述CAN收发器休眠指令通常依靠Trv_SetMode(SLEEP)函数实现,所述CAN控制器休眠指令通常为CanIf_SetControllerMode(CANIF_CS_SLEEP)函数。其中,接口层作为一个中间层,起到上层调用下层的作用,所述CAN控制器休眠指令通常传输至接口层,再经由所述接口层传输至CAN控制器。
在接收到所述CAN收发器休眠指令后,CAN收发器进入休眠状态;在接收到所述CAN控制器休眠指令后,CAN控制器进入休眠状态。
本发明所公开的基于OSEK标准的休眠控制方法,为实现ECU的休眠,制定了严格的流程。首先,在符合休眠条件时,产生符合网络管理层协议的休眠命令,促使位于网络管理层中的模块设置本地休眠标志,并在网络内其他所有ECU节点都符合休眠条件时,产生等待休眠通知信息,以使位于应用层的模块在接收到所述等待休眠通知信息后,生成通信层休眠指令;接收到所述通信层休眠指令后,通信层的COM通信模块关闭通信功能,从而不再向外发送报文;在网络管理层中的各模块进入等待休眠状态的时间达到预设值,且没有发生唤醒事件时,位于网络管理层中的模块产生进入休眠通知信息;应用层中的模块在接收到所述进入休眠通知信息后,先后产生CAN收发器休眠指令和CAN控制器休眠指令,从而使所述CAN收发器和CAN控制器先后进入休眠状态。按照本申请所公开的管理方法,使得休眠过程按照严格的流程实现,增加了ECU的稳定性和可靠性。
进一步的,在所述CAN收发器和CAN控制器先后进入休眠状态后,本申请所公开的基于OSEK标准的休眠控制方法,还包括:
分别产生符合接口层协议和驱动层协议的休眠指令;
依据所述符合接口层协议和驱动层协议的休眠指令控制所述当前ECU的接口层和驱动层中的各模块进入休眠状态。
通常来讲,在OSEK协议中,由应用层中的模块产生符合接口层协议和驱动层协议的休眠指令,从而促使所述接口层和驱动层进入休眠状态。
另外,在所述网络管理层中的各个模块进入等待休眠状态之后,还可能发生网络唤醒事件或本地唤醒事件。这种情况下,若在步骤S15之后,当通信模块关闭通信功能,网络管理层中的各模块进入等待休眠状态后,发生了唤醒事件,则参见图3所示的信息交互示意图,所述休眠控制方法还包括:
步骤S21、接收其他ECU产生的远程唤醒报文;
当休眠定时的时间未到,其他ECU被唤醒,则处于等待休眠状态的ECU需要被网络唤醒。这种情况下的唤醒事件通常称为网络唤醒。通常情况下,所述远程唤醒报文为Sleep.Ack=0的网络管理报文,CAN收发器接收通过CAN总线传输的远程唤醒报文,再传输至接口层,并通过通信层,传输至网络管理层。
其中,所述远程唤醒报文的格式示例图如图4所示。其中,Byte0位加载的信息中,包括ECU自身的标识,OpCode(操作码)中的一个byte位设定为Sleep.Ack位。通常将第6位设为Sleep.Ack位,即00100000中,1所在的位为Sleep.Ack位,当Sleep.Ack设为1时,说明产生该报文的ECU被唤醒,该报文即称为远程唤醒报文。
步骤S22、依据接收到的其他ECU产生的远程唤醒报文,产生符合应用层协议的取消休眠等待信息;
在接收到远程唤醒报文后,所述网络管理层中的各个模块产生符合应用层协议的取消休眠等待信息。所述取消休眠等待信息,通常依靠ApplNmWaitBusSleepCancel()函数实现。
步骤S23、依据所述取消休眠等待信息生成符合通信层协议的通信层唤醒指令;
应用层中的软件模块在接收到所述取消休眠等待信息后,在其中加载所述通信模块的接口,以生成符合通信层协议的通信层唤醒指令,从而打开COM通信模块的通信功能,其中,所述通信层唤醒指令通常为COM_TxStart()和COM_RxWStart()函数。
步骤S24、依据所述打开通信指令唤醒位于所述通信层中的模块。
位于所述通信层中的各个模块在接收到所述通信层唤醒指令后,执行唤醒操作,其中所述通信层中的通信模块在接收到所述通信层唤醒指令后,打开通信功能。
上述步骤S21至步骤S24的操作,在产生网络唤醒事件时,使得ECU节点在等待休眠状态下被唤醒,回复正常的工作状态。
另外,在所述网络管理层中的各软件模块进入等待休眠状态后,还可能发生本地唤醒事件,这种情况下,参见图5所示的信息交互示意图,本申请所公开的基于OSEK标准的休眠控制方法在步骤S15之后,还包括:
步骤S25、产生符合网络管理层协议的本地唤醒指令;
在本地唤醒事件发生时,位于应用层中的模块会接收到本地唤醒的信息,并在接收到所述本地唤醒的信息后,所述应用层的软件模块产生相应的符合网络管理层协议的本地唤醒指令。其中,所述本地唤醒指令通常为OsekNm_GotoMode(AWAKE)函数。
步骤S26、依据接收到的本地唤醒指令,唤醒产生等待休眠通知信息后进入等待休眠状态的所述网络管理层中的模块;
步骤S27、在所述网络管理层中的模块被唤醒之后,产生符合通信层协议的通信层唤醒指令;
步骤S28、依据所述通信层唤醒指令唤醒位于通信层中的模块。
发生本地唤醒事件后,应用层中的模块通过本地唤醒指令,实现对网络管理层中各模块的唤醒。在所述网络管理层中的各模块被唤醒之后,通常由应用层中模块产生唤醒通信层指令,所述唤醒通信层指令中加载有通信模块的接口,以使所述通信模块在接收到所述唤醒通信层指令后,打开通信功能,回复正常工作状态。
上述步骤S25至步骤S28的操作,在产生网络唤醒事件时,使得ECU节点在等待休眠状态下被唤醒,恢复正常的工作状态。
另外,当ECU节点进入休眠状态后,还能够将其从休眠状态唤醒。其中,将进入休眠状态的ECU节点唤醒的情况分为两种,一种是唤醒信号来自总线的电平变化,一种唤醒信号来自本地事件。当唤醒信号来自总线的电平变化时,说明网络内其他的ECU节点被唤醒,并产生自身的唤醒信号,发送至CAN总线。ECU节点内的CAN收发器或CAN控制器接收所述唤醒信号,并进一步实现唤醒。这种情况下,当所述CAN收发器和CAN控制器进入休眠状态后,参见图6所示的信息交互示意图,所述休眠控制方法还包括:
步骤S31、响应于CAN总线的唤醒信号,产生符合应用层协议的唤醒通知;
当唤醒信号来自CAN总线的电平变化时,所述唤醒信号来自CAN收发器或CAN控制器。所述CAN收发器或CAN控制器将从CAN总线接收到的唤醒信号传输至驱动层,再传输至网络管理层,以使网络管理层中的模块,通常为网络管理模块接收所述唤醒信号。其中,所述唤醒信息通常依靠OsekNm_WakeUp()函数实现。
网络管理层中的模块,通常为网络管理模块,在接收到针对网络管理层的唤醒通知后,产生符合应用层协议的唤醒通知,所述符合应用层协议的唤醒通知依靠ApplNmCanWakeUp()函数实现。
步骤S32、依据所述唤醒通知唤醒所述当前ECU中位于应用层的模块;
所述唤醒通知用于使应用层中的模块从休眠状态转化为工作状态,接收到所述唤醒通知后,位于应用层的模块实现唤醒。
步骤S33、依据所述唤醒通知产生CAN控制器唤醒指令,以使所述CAN控制器在接收到所述CAN控制器唤醒指令后,依据所述CAN控制器唤醒指令,唤醒所述当前ECU的CAN控制器;
步骤S34、在唤醒所述CAN控制器后,依据所述唤醒通知产生CAN收发器唤醒指令;
步骤S35、依据所述CAN收发器唤醒指令,唤醒所述当前ECU的CAN收发器;
步骤S36、在唤醒所述CAN收发器后,依据所述唤醒通知产生通信层唤醒指令;
步骤S37、依据所述通信层唤醒指令,唤醒位于所述当前ECU的通信层中的模块。
为了避免在CAN控制器休眠状态下,CAN收发器已经被唤醒,从而所述CAN控制器无法处理所述CAN收发器发送的报文的情况出现,在对休眠状态中的ECU进行唤醒时,应首先唤醒所述CAN控制器,以使CAN控制器的唤醒过程不接收处理报文。因此,应用层中的各模块在接收到所述唤醒通知后,会首先产生所述CAN控制器唤醒指令。其中,所述CAN控制器唤醒指令通常为CanIf_SetControllerMode(0,CANIF_CS_STARTED)函数。
另外,应用层中的各模块一般将所述CAN控制器唤醒指令传输至接口层,再由所述接口层将其传输至CAN控制器,以使所述CAN控制器被唤醒。
在产生所述CAN控制器唤醒指令后,所述应用层中的软件模块产生CAN收发器唤醒指令,其中,所述CAN收发器唤醒指令通常依靠Trv_SetMode(START)函数实现。
产生所述CAN收发器唤醒指令后,所述应用层中的模块再产生通信层唤醒指令,所述通信层唤醒指令中加载有COM通信模块的接口信息,以使所述通信模块在接收到所述通信层唤醒指令后,打开通信功能。
在休眠流程中,COM通信模块已经关闭通信功能。在产生所述CAN收发器唤醒指令后,位于所述应用层中的模块产生通信层唤醒指令,以打开所述COM通信模块的通信功能,使其进入正常的通信状态。通常,所述通信层唤醒指令依靠COM_TxStart()和COM_RxWStart()函数实现。
通过步骤S31至步骤S37的操作,在ECU节点进入休眠状态后,被远程唤醒时,能够按照严格的步骤执行唤醒流程,避免了跨层级访问出现的隐患,提高了ECU节点的可靠性和稳定性。
另外,在ECU节点进入休眠状态后,对其进行唤醒时,唤醒信号可能来自本地事件。这种情况下,参见图7所示的信息交互示意图,所述休眠控制方法还包括:
步骤S41、依据接收到的本地唤醒信息,判断所述CAN收发器是否处于休眠状态,若是,产生CAN收发器唤醒指令;
步骤S42、依据所述CAN收发器唤醒指令,唤醒所述CAN收发器;
在检测到本地唤醒信息后,首先判断所述CAN收发器是否处于休眠状态,并在所述CAN收发器处于休眠状态时,产生CAN收发器唤醒指令,以使接收到所述CAN收发器唤醒指令的所述CAN收发器从休眠状态转化为工作状态。
发生本地唤醒事件后,通常由当前ECU的应用层中的模块在检测到一定的触发条件,即本地唤醒信息后,执行唤醒操作。在ECU接收到本地唤醒信号后,需要向CAN总线传输报文,以便其他ECU依据所述报文判断自身是否需要被唤醒。因此,在接收到本地唤醒信号后,需要判断所述CAN收发器是否处于休眠状态。在所述CAN收发器出于休眠状态时,则需要将所述CAN收发器打开,使其处于正常工作状态。其中,所述CAN收发器唤醒指令通常依靠Trv_SetMode(START)函数实现。
步骤S43、产生符合网络管理层协议的网络管理层唤醒指令;
步骤S44、依据所述网络管理层唤醒指令,唤醒所述网络管理层;
所述网络管理层唤醒指令用于使所述网络管理层依据接收到的所述网络管理层唤醒指令,从休眠状态转化为工作状态。
在确定所述CAN收发器处于正常状态的情况下,需要产生网络管理层唤醒指令,以便实现对网络管理层中各模块的唤醒。其中,所述符合网络管理层协议的网络管理层唤醒指令通常依靠OsekNm_GotoMode(AWAKE)函数实现。位于网络管理层中的各模块在接收到所述网络管理层唤醒命令后,判断当前处于休眠状态时,执行从休眠状态转化为工作状态的操作。
步骤S45、产生网络管理层唤醒指令后,产生CAN控制器唤醒指令,以使CAN控制器在接收到所述CAN控制器唤醒指令后,依据所述CAN控制器唤醒指令,唤醒所述CAN控制器;
当位于应用层中的模块产生网络管理层唤醒指令后,判断CAN控制器是否处于休眠状态,并在所述CAN控制器处于休眠状态时,产生CAN控制器唤醒指令,所述CAN控制器唤醒指令用于使CAN控制器从休眠状态转化为工作状态。其中,用于唤醒所述CAN控制器的所述CAN控制器唤醒指令通常依靠CanIf_SetControllerMode(0,CANIF_CS_STARTED)函数实现。所述CAN控制器唤醒指令通常先传输至接口层,再由所述接口层传输至所述CAN控制器。
步骤S46、产生CAN控制器唤醒指令后,产生通信层唤醒指令;
步骤S47、依据所述通信层唤醒指令,唤醒位于所述通信层中的模块。
位于网络管理层中的模块处于正常工作状态时,开始打开COM通信模块的通信功能,所述通信层唤醒指令中加载有通信模块的接口信息,以使所述通信模块在接收到所述通信模块唤醒指令后,打开通信功能,其中所述通信层唤醒指令通常为COM_TxStart()和COM_RxWStart()函数。
经过步骤S41至步骤S47的操作,在检测到本地唤醒的触发信息后,利用本申请公开的基于OSEK标准的休眠控制方法,实现了对休眠状态的ECU的唤醒,并且,上述步骤为本地唤醒制定了严格的流程,避免了跨层级访问的问题出现,提高了ECU在唤醒过程中的安全性、稳定性。
另外,在步骤S47中,当产生所述通信层唤醒指令,以实现对所述通信层中的模块的唤醒后,本方案所公开的基于OSEK标准的休眠控制方法还包括:
分别产生符合接口层协议和驱动层协议的唤醒指令;
依据所述符合接口层协议和驱动层协议的唤醒指令,唤醒所述当前ECU的接口层和驱动层,使所述接口层和驱动层从休眠状态转化为工作状态。
通常由当前ECU内,位于应用层中的模块产生所述符合接口层协议和驱动层协议的唤醒指令,从而实现对接口层和驱动层的唤醒。
进一步的,在步骤S13中,所述的接收其他ECU节点的本地休眠标志,以便位于网络管理层中的模块对是否需要休眠,进行同步协商的方式包括:
所述CAN收发器通过CAN总线,接收其他ECU节点产生的本地休眠标志;所述CAN收发器接收到所述本地休眠标志后,传输至所述CAN控制器,由所述CAN控制器将其传输至驱动层,以便所述驱动层将所述休眠标志传输至微控制单元MCU。
其他ECU节点在满足休眠条件后,会将携带有本地休眠标志的网络管理报文发送至CAN总线,所述CAN收发器通过CAN总线,即能获取其他ECU节点产生的本地休眠标志,并将其传输至CAN控制器。所述CAN控制器在接收到所述本地休眠标志后,将其传输至MCU。通常,由位于所述网络管理层中的模块在接收到所述本地休眠标志后,结合自身的状态,实现休眠的同步协商。
本申请所公开的基于OSEK标准的休眠控制方法,起到了规范网络管理中,休眠和唤醒的实现流程的作用。本方案为实现ECU的休眠,制定了严格的流程。首先,在ECU本身满足休眠条件时,产生符合网络管理层协议的休眠命令,使得位于网络管理层中的模块设置自身的本地休眠标志,并在ECU网络内其他所有的ECU节点都符合休眠条件时,产生等待休眠通知信息,以使应用层中的模块在接收到所述等待休眠通知信息后,生成通信层休眠指令;接收到所述通信层休眠指令后,通信层中的COM通信模块关闭通信功能,停止向CAN总线发送报文,进入休眠状态;在网络管理层中的各模块进入等待休眠状态的时间达到预设值,且没有发生唤醒事件时,产生进入休眠通知信息;应用层中的各模块在接收到所述进入休眠通知信息后,先后产生CAN收发器休眠指令和CAN控制器休眠指令,从而使所述CAN收发器和CAN控制器先后进入休眠状态。按照本申请所公开的管理方法,使得休眠过程按照严格的流程实现,增加了ECU的稳定性和可靠性。
进一步的,在所述CAN收发器和CAN控制器先后进入休眠状态后,本申请所公开的基于OSEK标准的休眠控制方法中还包括:分别产生符合接口层协议和驱动层协议的休眠指令,从而使接口层和驱动层进入休眠状态。
另外的,当网络管理层中的各个模块进入等待休眠状态后,若发生网络唤醒或本地唤醒事件,则ECU将恢复正常工作状态,这种情况下,应用层中的软件模块产生通信层唤醒指令,以使通信模块进入工作状态。
在ECU进入休眠状态后,本发明所公开的休眠控制方法还提供了将其唤醒的流程,其中唤醒情况分为总线唤醒和本地唤醒两种情况。针对这两种情况,本方案制定了严格的唤醒流程,从而使ECU的休眠、唤醒过程能够严格遵守一定的流程,提高了ECU网络管理过程中的稳定性和可靠性。
相应的,本发明还公开了一种基于OSEK标准的休眠控制装置,所述休眠控制装置应用于当前ECU,所述当前ECU与属于同一CAN总线内的其他ECU形成ECU网络,所述休眠控制装置包括:
第一产生模块11,用于产生符合所述当前ECU的网络管理层协议的休眠命令,所述第一产生模块11通常位于应用层中;
设置模块12,用于依据所述休眠命令,设置所述当前ECU的本地休眠标志,所述设置模块12通常设置于网络管理层中;
第一判断模块13,用于依据接收到的同一ECU网络内其他ECU的本地休眠标志,判断所述ECU网络内其他所有ECU是否都设置有本地休眠标志,所述第一判断模块13通常设置于网络管理层中;
第二产生模块14,用于在所述第一判断模块的结果为是的情况下,产生符合应用层协议的等待休眠通知信息,所述第二产生模块14通常设置于网络管理层中;
第三产生模块15,用于依据所述等待休眠通知信息生成符合所述当前ECU的通信层协议的通信层休眠指令,所述第三产生模块15通常位于应用层中;
第一控制模块16,用于依据所述通信层休眠指令控制所述当前ECU中,位于通信层中的各模块进入休眠状态,所述第一控制模块16通常位于通信层中;
第二判断模块17,用于判断从所述产生符合应用层协议的等待休眠通知信息开始的预设的时间段内,是否发生唤醒事件,所述第二判断模块17通常位于网络管理层中;
第四产生模块18,用于在所述第二判断模块的结果为否的情况下,产生符合应用层协议的进入休眠通知信息,所述第四产生模块18通常位于网络管理层中;
第五产生模块19,用于依据所述进入休眠通知信息,先后产生CAN收发器休眠指令和CAN控制器休眠指令,所述第五产生模块19通常位于应用层中;
第二控制模块20,用于依据所述CAN收发器休眠指令和CAN控制器休眠指令,控制所述CAN收发器和CAN控制器先后进入休眠状态,所述第二控制模块20分别设置在所述CAN收发器和CAN控制器中。
进一步的,若所述网络管理层中的各个模块进入等待休眠状态的时间未达到预设值时,发生远程的唤醒事件,所述休眠控制装置还包括:
第六产生模块,用于依据接收到的其他ECU产生的远程唤醒报文,产生符合应用层协议的取消休眠等待信息;
第一唤醒指令产生模块,用于依据所述取消休眠等待信息生成符合通信层协议的通信层唤醒指令;
第一唤醒模块,用于依据所述通信层唤醒指令唤醒位于所述通信层中的模块。
进一步的,若所述网络管理层中的各个模块进入等待休眠状态的时间未达到预设值时,发生本地的唤醒事件,所述休眠控制装置还包括:
第二唤醒指令产生模块,用于产生符合网络管理层协议的本地唤醒指令;
第一唤醒模块,用于依据接收到的本地唤醒指令,唤醒产生等待休眠通知信息后进入等待休眠状态的所述网络管理层中的模块;
第三唤醒指令产生模块,用于在所述网络管理层中的模块被唤醒之后,产生符合通信层协议的通信层唤醒指令;
第二唤醒模块,用于依据所述打开通信指令唤醒所述通信层中的模块。
进一步的,所述休眠控制装置还包括:
指令产生模块,用于分别产生符合接口层协议和驱动层协议的休眠指令;
第三控制模块,用于依据所述符合接口层协议和驱动层协议的休眠指令控制所述当前ECU的接口层和驱动层中的各模块进入休眠状态。
进一步的,所述休眠控制装置还包括:
第七产生模块,用于响应于CAN总线的唤醒信号,产生符合应用层协议的唤醒通知;
第三唤醒模块,用于依据所述唤醒通知唤醒所述当前ECU中位于应用层的模块;
第四唤醒指令产生模块,用于依据所述唤醒通知先后分别产生CAN控制器唤醒指令、CAN收发器唤醒指令和通信层唤醒指令;
第四唤醒模块,用于依据所述CAN控制器唤醒指令、CAN收发器唤醒指令和通信层唤醒指令,依次唤醒所述当前ECU的CAN控制器、CAN收发器和通信层中的模块。
进一步的,所述休眠控制装置还包括:
第三判断模块,用于依据接收到的本地唤醒信息,判断所述CAN收发器是否处于休眠状态;
第五唤醒指令产生模块,用于在所述第三判断模块的判断结果为是的情况下,产生CAN收发器唤醒指令;
第五唤醒模块,用于依据所述CAN收发器唤醒指令,唤醒所述CAN收发器;
第六唤醒指令产生模块,用于产生所述CAN收发器唤醒指令后,先后产生符合网络管理层协议的网络管理层唤醒指令、CAN控制器唤醒指令和通信层唤醒指令;
第六唤醒模块,用于依据所述网络管理层唤醒指令、CAN控制器唤醒指令和通信层唤醒指令,依次唤醒位于所述网络管理层中的模块、CAN控制器、和位于通信层中的模块。
进一步的,所述休眠控制装置还包括:第七唤醒指令产生模块,用于分别产生符合接口层协议和驱动层协议的唤醒指令;
第七唤醒模块,用于依据所述符合接口层协议和驱动层协议的唤醒指令,唤醒所述当前ECU的接口层和驱动层中的模块。
本申请所公开的基于OSEK标准的休眠控制装置,起到了规范网络管理中,实现休眠的流程的作用,为实现ECU的休眠,制定了严格的流程,从而提高了ECU的稳定性和安全性。
同时,在所述ECU进入休眠流程后,根据各个模块的相互作用,为ECU的唤醒制定了相应的流程,避免了跨层级访问的隐患。
相应的,本发明还公开了一种ECU,所述ECU的芯片上集成有如上所述的基于OSEK标准的休眠控制装置。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种基于OSEK标准的休眠控制方法,其特征在于,所述休眠控制方法应用于当前ECU,所述当前ECU与属于同一CAN总线内的其他ECU形成ECU网络,所述休眠控制方法包括:
产生符合所述当前ECU的网络管理层协议的休眠命令;
依据所述休眠命令,设置所述当前ECU的本地休眠标志;
依据接收到的同一ECU网络内其他ECU的本地休眠标志,判断所述ECU网络内其他所有ECU是否都设置有本地休眠标志,如果是,则产生符合应用层协议的等待休眠通知信息;
依据所述等待休眠通知信息,生成符合所述当前ECU的通信层协议的通信层休眠指令;
依据所述通信层休眠指令控制所述当前ECU中,位于通信层中的各模块进入休眠状态;
判断从所述产生符合应用层协议的等待休眠通知信息开始的预设的时间段内,是否发生唤醒事件,如果否,则产生符合应用层协议的进入休眠通知信息;
依据所述进入休眠通知信息,先后产生CAN收发器休眠指令和CAN控制器休眠指令;
依据所述CAN收发器休眠指令和CAN控制器休眠指令,控制所述CAN收发器和CAN控制器先后进入休眠状态。
2.依据权利要求1所述的方法,其特征在于,若所述网络管理层中的各个模块进入等待休眠状态的时间未达到预设值时,发生唤醒事件,所述休眠控制方法还包括:
依据接收到的其他ECU产生的远程唤醒报文,产生符合应用层协议的取消休眠等待信息;
依据所述取消休眠等待信息生成符合通信层协议的通信层唤醒指令;
依据所述通信层唤醒指令唤醒位于所述通信层中的模块。
3.依据权利要求1所述的方法,其特征在于,若所述网络管理层中的各个模块进入等待休眠状态的时间未达到预设值时,发生唤醒事件,所述休眠控制方法还包括:
产生符合网络管理层协议的本地唤醒指令;
依据接收到的本地唤醒指令,唤醒产生等待休眠通知信息后进入等待休眠状态的所述网络管理层中的模块;
在所述网络管理层中的模块被唤醒之后,产生符合通信层协议的通信层唤醒指令;
依据所述打开通信指令唤醒所述通信层中的模块。
4.依据权利要求1所述的方法,其特征在于,所述CAN收发器和CAN控制器进入休眠状态后,所述休眠控制方法还包括:
响应于CAN总线的唤醒信号,产生符合应用层协议的唤醒通知;
依据所述唤醒通知唤醒所述当前ECU中位于应用层的模块;
依据所述唤醒通知先后分别产生CAN控制器唤醒指令、CAN收发器唤醒指令和通信层唤醒指令;
依据所述CAN控制器唤醒指令、CAN收发器唤醒指令和通信层唤醒指令,依次唤醒所述当前ECU的CAN控制器、CAN收发器和通信层中的模块。
5.依据权利要求1所述的方法,其特征在于,所述CAN收发器和CAN控制器进入休眠状态后,所述休眠控制方法还包括:
依据接收到的本地唤醒信息,判断所述CAN收发器是否处于休眠状态,若是,产生CAN收发器唤醒指令;
依据所述CAN收发器唤醒指令,唤醒所述CAN收发器;
产生所述CAN收发器唤醒指令后,先后产生符合网络管理层协议的网络管理层唤醒指令、CAN控制器唤醒指令和通信层唤醒指令;
依据所述网络管理层唤醒指令、CAN控制器唤醒指令和通信层唤醒指令,依次唤醒位于所述网络管理层中的模块、CAN控制器、和位于通信层中的模块。
6.一种基于OSEK标准的休眠控制装置,其特征在于,所述休眠控制装置应用于当前ECU,所述当前ECU与属于同一CAN总线内的其他ECU形成ECU网络,所述休眠控制装置包括:
第一产生模块,用于产生符合所述当前ECU的网络管理层协议的休眠命令;
设置模块,用于依据所述休眠命令,设置所述当前ECU的本地休眠标志;
第一判断模块,用于依据接收到的同一ECU网络内其他ECU的本地休眠标志,判断所述ECU网络内其他所有ECU是否都设置有本地休眠标志;
第二产生模块,用于在所述第一判断模块的结果为是的情况下,产生符合应用层协议的等待休眠通知信息;
第三产生模块,用于依据所述等待休眠通知信息生成符合所述当前ECU的通信层协议的通信层休眠指令;
第一控制模块,用于依据所述通信层休眠指令控制所述当前ECU中,位于通信层中的各模块进入休眠状态;
第二判断模块,用于判断从所述产生符合应用层协议的等待休眠通知信息开始的预设的时间段内,是否发生唤醒事件;
第四产生模块,用于在所述第二判断模块的结果为否的情况下,产生符合应用层协议的进入休眠通知信息;
第五产生模块,用于依据所述进入休眠通知信息,先后产生CAN收发器休眠指令和CAN控制器休眠指令;
第二控制模块,用于依据所述CAN收发器休眠指令和CAN控制器休眠指令,控制所述CAN收发器和CAN控制器先后进入休眠状态。
7.依据权利要求6所述的装置,其特征在于,若所述网络管理层中的各个模块进入等待休眠状态的时间未达到预设值时,发生唤醒事件,所述休眠控制装置还包括:
第六产生模块,用于依据接收到的其他ECU产生的远程唤醒报文,产生符合应用层协议的取消休眠等待信息;
第一唤醒指令产生模块,用于依据所述取消休眠等待信息生成符合通信层协议的通信层唤醒指令;
第一唤醒模块,用于依据所述通信层唤醒指令唤醒位于所述通信层中的模块。
8.依据权利要求6所述的装置,其特征在于,若所述网络管理层中的各个模块进入等待休眠状态的时间未达到预设值时,发生唤醒事件,所述休眠控制装置还包括:
第二唤醒指令产生模块,用于产生符合网络管理层协议的本地唤醒指令;
第一唤醒模块,用于依据接收到的本地唤醒指令,唤醒产生等待休眠通知信息后进入等待休眠状态的所述网络管理层中的模块;
第三唤醒指令产生模块,用于在所述网络管理层中的模块被唤醒之后,产生符合通信层协议的通信层唤醒指令;
第二唤醒模块,用于依据所述打开通信指令唤醒所述通信层中的模块。
9.依据权利要求6所述的装置,其特征在于,所述休眠控制装置还包括:
第七产生模块,用于响应于CAN总线的唤醒信号,产生符合应用层协议的唤醒通知;
第三唤醒模块,用于依据所述唤醒通知唤醒所述当前ECU中位于应用层的模块;
第四唤醒指令产生模块,用于依据所述唤醒通知先后分别产生CAN控制器唤醒指令、CAN收发器唤醒指令和通信层唤醒指令;
第四唤醒模块,用于依据所述CAN控制器唤醒指令、CAN收发器唤醒指令和通信层唤醒指令,依次唤醒所述当前ECU的CAN控制器、CAN收发器和通信层中的模块。
10.依据权利要求6所述的装置,其特征在于,所述休眠控制装置还包括:
第三判断模块,用于依据接收到的本地唤醒信息,判断所述CAN收发器是否处于休眠状态;
第五唤醒指令产生模块,用于在所述第三判断模块的判断结果为是的情况下,产生CAN收发器唤醒指令;
第五唤醒模块,用于依据所述CAN收发器唤醒指令,唤醒所述CAN收发器;
第六唤醒指令产生模块,用于产生所述CAN收发器唤醒指令后,先后产生符合网络管理层协议的网络管理层唤醒指令、CAN控制器唤醒指令和通信层唤醒指令;
第六唤醒模块,用于依据所述网络管理层唤醒指令、CAN控制器唤醒指令和通信层唤醒指令,依次唤醒位于所述网络管理层中的模块、CAN控制器、和位于通信层中的模块。
CN201310251182.5A 2013-06-21 2013-06-21 基于osek标准的休眠控制方法及装置 Active CN103312548B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310251182.5A CN103312548B (zh) 2013-06-21 2013-06-21 基于osek标准的休眠控制方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310251182.5A CN103312548B (zh) 2013-06-21 2013-06-21 基于osek标准的休眠控制方法及装置

Publications (2)

Publication Number Publication Date
CN103312548A true CN103312548A (zh) 2013-09-18
CN103312548B CN103312548B (zh) 2016-03-16

Family

ID=49137350

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310251182.5A Active CN103312548B (zh) 2013-06-21 2013-06-21 基于osek标准的休眠控制方法及装置

Country Status (1)

Country Link
CN (1) CN103312548B (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104135391A (zh) * 2014-08-19 2014-11-05 北京汽车股份有限公司 一种车载can局部网络的管理方法及装置
CN105704660A (zh) * 2016-01-06 2016-06-22 上海德科电子仪表有限公司 一种车联网终端
CN104199351B (zh) * 2014-08-21 2017-02-15 东南(福建)汽车工业有限公司 一种汽车总线休眠唤醒方法
CN106789502A (zh) * 2016-12-13 2017-05-31 北汽福田汽车股份有限公司 一种车辆网络管理方法、系统及车辆
CN107959609A (zh) * 2017-12-15 2018-04-24 上汽通用五菱汽车股份有限公司 一种测试can总线等待休眠时间的方法及装置
CN108366008A (zh) * 2018-02-11 2018-08-03 安徽江淮汽车集团股份有限公司 一种基于传统osek网络管理的局部唤醒系统及方法
CN110001556A (zh) * 2019-04-28 2019-07-12 江西江铃集团新能源汽车有限公司 汽车多网段协同休眠控制方法及系统
CN112162785A (zh) * 2020-09-30 2021-01-01 蜂巢能源科技有限公司 Bms从板休眠控制方法及bms
CN113126586A (zh) * 2019-12-30 2021-07-16 日立汽车系统(苏州)有限公司 唤醒诊断装置及唤醒诊断方法
CN113448302A (zh) * 2020-03-27 2021-09-28 北京新能源汽车股份有限公司 一种车辆控制器的控制方法、装置及汽车
CN114670762A (zh) * 2021-11-19 2022-06-28 北京新能源汽车股份有限公司 一种车载设备唤醒控制方法、装置和电动汽车
CN115499269A (zh) * 2022-09-22 2022-12-20 重庆长安汽车股份有限公司 多路can通道osek网络管理实现方法、系统、设备及可读介质
CN117740407A (zh) * 2023-12-26 2024-03-22 重庆圣眸科技开发有限公司 一种检测汽车状态的方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102107632A (zh) * 2009-12-29 2011-06-29 比亚迪股份有限公司 在can网络中作为网络节点的车辆电控单元的状态控制方法
CN102749892A (zh) * 2012-03-15 2012-10-24 浙江吉利汽车研究院有限公司 一种汽车驻车制动时电子控制系统网络管理方法
CN102801551A (zh) * 2012-03-14 2012-11-28 中国汽车技术研究中心 基于osek网络管理的can网络管理方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102107632A (zh) * 2009-12-29 2011-06-29 比亚迪股份有限公司 在can网络中作为网络节点的车辆电控单元的状态控制方法
CN102801551A (zh) * 2012-03-14 2012-11-28 中国汽车技术研究中心 基于osek网络管理的can网络管理方法
CN102749892A (zh) * 2012-03-15 2012-10-24 浙江吉利汽车研究院有限公司 一种汽车驻车制动时电子控制系统网络管理方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ANONYMITY: "Specification of CAN Network Management version 3.3.0 R4.0 Rev3", 《AUTOSAR STANDARD》, 17 November 2011 (2011-11-17), pages 27 - 57 *
CHANG-WAN SON.: "Comparison of Two Types of OSEK Network Manangement for CAN", 《IEEE INTERNATIONAL SYMPOSIUM ON INDUSTRIAL ELECTRINICS》, 8 July 2009 (2009-07-08) *

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104135391B (zh) * 2014-08-19 2017-11-28 北京汽车股份有限公司 一种车载can局部网络的管理方法及装置
CN104135391A (zh) * 2014-08-19 2014-11-05 北京汽车股份有限公司 一种车载can局部网络的管理方法及装置
CN104199351B (zh) * 2014-08-21 2017-02-15 东南(福建)汽车工业有限公司 一种汽车总线休眠唤醒方法
CN105704660A (zh) * 2016-01-06 2016-06-22 上海德科电子仪表有限公司 一种车联网终端
CN106789502A (zh) * 2016-12-13 2017-05-31 北汽福田汽车股份有限公司 一种车辆网络管理方法、系统及车辆
CN107959609A (zh) * 2017-12-15 2018-04-24 上汽通用五菱汽车股份有限公司 一种测试can总线等待休眠时间的方法及装置
CN108366008A (zh) * 2018-02-11 2018-08-03 安徽江淮汽车集团股份有限公司 一种基于传统osek网络管理的局部唤醒系统及方法
CN110001556A (zh) * 2019-04-28 2019-07-12 江西江铃集团新能源汽车有限公司 汽车多网段协同休眠控制方法及系统
CN113126586B (zh) * 2019-12-30 2022-04-15 日立安斯泰莫汽车系统(苏州)有限公司 唤醒诊断装置及唤醒诊断方法
CN113126586A (zh) * 2019-12-30 2021-07-16 日立汽车系统(苏州)有限公司 唤醒诊断装置及唤醒诊断方法
CN113448302A (zh) * 2020-03-27 2021-09-28 北京新能源汽车股份有限公司 一种车辆控制器的控制方法、装置及汽车
CN112162785A (zh) * 2020-09-30 2021-01-01 蜂巢能源科技有限公司 Bms从板休眠控制方法及bms
CN112162785B (zh) * 2020-09-30 2022-05-17 蜂巢能源科技有限公司 Bms从板休眠控制方法及bms
CN114670762A (zh) * 2021-11-19 2022-06-28 北京新能源汽车股份有限公司 一种车载设备唤醒控制方法、装置和电动汽车
CN114670762B (zh) * 2021-11-19 2023-06-20 北京新能源汽车股份有限公司 一种车载设备唤醒控制方法、装置和电动汽车
CN115499269A (zh) * 2022-09-22 2022-12-20 重庆长安汽车股份有限公司 多路can通道osek网络管理实现方法、系统、设备及可读介质
CN115499269B (zh) * 2022-09-22 2023-05-16 重庆长安汽车股份有限公司 多路can通道osek网络管理实现方法、系统、设备及可读介质
CN117740407A (zh) * 2023-12-26 2024-03-22 重庆圣眸科技开发有限公司 一种检测汽车状态的方法及系统

Also Published As

Publication number Publication date
CN103312548B (zh) 2016-03-16

Similar Documents

Publication Publication Date Title
CN103312548B (zh) 基于osek标准的休眠控制方法及装置
CN107272665B (zh) 一种车辆网络管理方法及系统
CN103200035B (zh) 基于osek标准的网络休眠方法、装置及ecu
CN103676816B (zh) 用于控制车辆的集成网络的系统和方法
CN108933719A (zh) 车载can网络管理方法、车载can网络、车辆
CN106696863B (zh) 车载智能交互设备的控制方法及系统
CN110579992B (zh) 一种车载以太网唤醒/休眠控制系统及方法
CN102856741B (zh) 多通道远程遥控开关插座
CN102815274B (zh) 一种汽车整车总线控制系统管理方法
CN108958106A (zh) 一种电动汽车控制器休眠唤醒系统及控制方法
CN207274597U (zh) 一种车辆中控装置和车辆控制设备
TW202135019A (zh) 基於雙獨立控制系的車輛智慧控制系統和車輛
CN106364426A (zh) 一种汽车启停保护系统及方法
CN1659498B (zh) 用于寻址和/或激活用户的方法和芯片单元
CN104875716A (zh) 一种自动控制车锁的方法及智能终端
CN110281873A (zh) 车辆启动控制方法和装置
CN105700418B (zh) 应用于车载终端的节电模式控制方法及装置
CN205417465U (zh) 整车控制器及其唤醒系统和汽车
CN204095711U (zh) 整车控制器及其唤醒电路和电动汽车
CN109976319A (zh) 一种整车网络管理系统架构
EP2903206B1 (en) Method for waking up a distant device from a local device.
CN107018089A (zh) 网络中的通信节点的操作方法
CN110933739A (zh) 一种电子设备唤醒方法、电子设备
CN105313719A (zh) 一种整车控制器及其唤醒过程监控方法
CN103078756B (zh) 模式切换方法及can网络

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address

Address after: 4 / F, building 1, No.14 Jiuxianqiao Road, Chaoyang District, Beijing 100020

Patentee after: Beijing Jingwei Hirain Technologies Co.,Inc.

Address before: 8 / F, block B, No. 11, Anxiang Beili, Chaoyang District, Beijing 100101

Patentee before: Beijing Jingwei HiRain Technologies Co.,Ltd.

CP03 Change of name, title or address