CN107612774A - 一种多通道同步睡眠方法及系统 - Google Patents
一种多通道同步睡眠方法及系统 Download PDFInfo
- Publication number
- CN107612774A CN107612774A CN201710833750.0A CN201710833750A CN107612774A CN 107612774 A CN107612774 A CN 107612774A CN 201710833750 A CN201710833750 A CN 201710833750A CN 107612774 A CN107612774 A CN 107612774A
- Authority
- CN
- China
- Prior art keywords
- bus
- sleep
- state
- controllers
- condition
- 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
Links
- 230000007958 sleep Effects 0.000 title claims abstract description 444
- 230000001360 synchronised effect Effects 0.000 title claims abstract description 30
- 238000000034 method Methods 0.000 title claims abstract description 26
- 238000012790 confirmation Methods 0.000 claims abstract description 40
- 238000012544 monitoring process Methods 0.000 claims description 19
- 230000005540 biological transmission Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 10
- 230000001960 triggered effect Effects 0.000 description 6
- 230000005059 dormancy Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 3
- 241001604129 Polydactylus Species 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Landscapes
- Small-Scale Networks (AREA)
Abstract
本发明提供了一种多通道同步睡眠方法及系统,包括:监测每条总线上所有控制器的状态;当每条总线上所有控制器的状态均满足第一睡眠条件时,生成每条总线的睡眠标志;判断本地网关是否满足第二睡眠条件;当本地网关满足第二睡眠条件时,网关向每条总线发送睡眠确认报文;控制每条总线上所有控制器以及本地网关同步进入睡眠状态。本发明提供的多通道同步睡眠方法及系统能够在不会对网关外部连接产生影响的条件下,使网关连接的各个总线能同步进入睡眠状态。
Description
技术领域
本发明涉及嵌入式软件技术领域,更具体地说,涉及一种多通道同步睡眠方法及系统。
背景技术
目前,在现有的汽车中承担网关作用且使用OSEK(open systems and thecorresponding interfaces for automotive electronics,汽车电子类开放系统和对应接口标准)直接网络管理的ECU(Electronic Control Unit,控制器)中,一般由ECU中的应用程序来协调多条总线睡眠,即使应用程序的协调算法足够严密,但是碍于OSEK直接网络管理自有的睡眠机制,多条总线并不能达到同步睡眠的效果。
因为,在OSEK直接网络管理规范中,规定参与网络管理的每个ECU都有一个唯一的节点地址。在一条总线上,总线网络稳定时,此总线上的ECU会利用特定的报文(Ring报文)形成一个逻辑环,即按照节点地址从小到大的排序,各ECU依次发送Ring报文,最大节点地址的ECU发送Ring之后,最小节点地址的ECU再次开始发送,这样就形成一个依次发送Ring报文的逻辑环。
当总线上的某个ECU满足睡眠条件,此ECU会在该其发送Ring报文时发送Sleep.Ind=1的睡眠指示报文,当总线上所有ECU都满足睡眠条件,所有ECU会依次发送Sleep.Ind=1的睡眠指示报文,在此过程中,最后一个发送Sleep.Ind=1报文的ECU的下一个ECU会发送Sleep.Ack=1的睡眠确认报文,然后总线上所有ECU进入睡眠流程。
使用OSEK直接网络管理的网关在协调多条总线睡眠时,当应用程序算法得出睡眠条件满足后,应用程序调用OSEK直接网络管理的睡眠函数,网关在各个通道的发送时机到来时,发送Sleep.Ind=1的睡眠指示报文,然后等待各总线上的ECU发送Sleep.Ack=1的睡眠确认报文,进入睡眠流程。
由于网关连接的每条总线上ECU的数量和总线进入稳定状态的时间不可能完全一样,造成网关从每个通道发出Ring报文的时间点不同,而Sleep.Ind和Sleep.Ack睡眠信息是依据Ring报文传输的,所以在上述协调睡眠的过程中,有两处操作时间不同步,会造成最后的睡眠不同步。第一:网关满足睡眠条件时,各通道发送Sleep.Ind=1的Ring报文的时间不同步;第二:各通道上发送Sleep.Ack=1睡眠确认报文的时间不同步。由此,最终造成网关连接的多条总线不能达到同步睡眠的效果。
发明内容
有鉴于此,本发明实施例的目的在于提供一种多通道同步睡眠方法及系统,能够在不会对网关外部连接产生影响的条件下,使网关连接的各个总线能同步进入睡眠状态。
为实现上述目的,本发明实施例提供如下技术方案:
本发明实施例提供一种多通道同步睡眠方法,所述方法包括:
监测每条总线上所有控制器的状态;
当每条总线上所有控制器的状态均满足第一睡眠条件时,生成每条总线的睡眠标志;
判断本地网关是否满足第二睡眠条件;
当本地网关满足第二睡眠条件时,所述网关向每条总线发送睡眠确认报文;
控制每条总线上所有控制器以及本地网关同步进入睡眠状态。
可选地,在本发明实施例提供的一种具体实施方式中,所述监测每条总线上所有控制器的状态包括:
接收每条总线上每个控制器发送的专有网络管理报文;
基于所述专有网络管理报文检测每条总线上所有控制器的状态。
可选地,在本发明实施例提供的一种具体实施方式中,生成每条总线的睡眠标志后还包括:
判断每条总线上的所有控制器是否有至少一个的状态不满足第一睡眠条件;
当每条总线上的所有控制器至少一个的状态不满足第一睡眠条件时,清除不满足第一睡眠条件的控制器所在总线对应的睡眠标志。
可选地,在本发明实施例提供的一种具体实施方式中,所述控制每条总线上所有控制器以及本地网关同步进入睡眠状态包括:
在软件运行期间,判断每条总线上所有控制器的状态是否满足第一睡眠条件以及本地网关是否满足第二睡眠条件;
当每条总线上所有控制器的状态满足第一睡眠条件以及本地网关满足第二睡眠条件时,控制本地网关以及每条总线上的所有控制器同步进入睡眠状态。
可选地,在本发明实施例提供的一种具体实施方式中,当每条总线上的所有控制器至少一个的状态不满足第一睡眠条件和/或本地网关不满足第二睡眠条件时,唤醒每条总线上的所有控制器。
本发明实施例还提供一种多通道同步睡眠系统,包括:
监测模块,用于监测每条总线上所有控制器的状态;
生成模块,用于当每条总线上所有控制器的状态均满足第一睡眠条件时,生成每条总线的睡眠标志;
第一判断模块,用于判断本地网关是否满足第二睡眠条件;
发送模块,用于当本地网关满足第二睡眠条件时,所述网关向每条总线发送睡眠确认报文;
控制模块,用于控制本地网关,以使每条总线上的所有控制器以及所述本地网关同步进入睡眠状态。
可选地,在本发明实施例提供的一种具体实施方式中,所述监测模块具体用于:
接收每条总线上每个控制器发送的专有网络管理报文;
基于所述专有网络管理报文检测每条总线上所有控制器的状态。
可选地,在本发明实施例提供的一种具体实施方式中,所述系统还包括:
第二判断模块,用于判断每条总线上的所有控制器是否有至少一个的状态不满足第一睡眠条件;
清除模块,用于当每条总线上的所有控制器至少一个的状态不满足第一睡眠条件时,清除不满足第一睡眠条件的控制器所在总线对应的睡眠标志。
可选地,在本发明实施例提供的一种具体实施方式中,所述控制模块具体用于:
在软件运行期间,判断每条总线上所有控制器的状态是否满足第一睡眠条件以及本地网关是否满足第二睡眠条件;
当每条总线上所有控制器的状态满足第一睡眠条件以及本地网关满足第二睡眠条件时,控制本地网关以及每条总线上的所有控制器同步进入睡眠状态。
可选地,在本发明实施例提供的一种具体实施方式中,所述控制模块还用于:
当每条总线上的所有控制器至少一个的状态不满足第一睡眠条件和/或本地网关不满足第二睡眠条件时,唤醒每条总线上的所有控制器。
由上述技术方案可知,本实施例提供了一种多通道同步睡眠方法及系统,首先检测每条总线上所有控制器的状态,当每条总线上所有控制器的状态均满足第一睡眠条件时,生成每条总线的睡眠标志;然后判断本地网关是否满足第二睡眠条件,当本地网关满足第二睡眠条件时,网关向每条总线发送睡眠确认报文,控制每条总线上所有控制器以及本地网关同步进入睡眠状态。能够在不会对网关外部连接产生影响的条件下,使网关连接的各个总线能同步进入睡眠状态。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明公开的一种多通道同步睡眠方法实施例1的方法流程图;
图2为本发明公开的一种多通道同步睡眠方法实施例2的方法流程图;
图3为本发明公开的一种多通道同步睡眠方法实施例3的方法流程图;
图4为本发明公开的一种多通道同步睡眠系统实施例1的结构示意图;
图5为本发明公开的一种多通道同步睡眠系统实施例2的结构示意图;
图6为本发明公开的一种多通道同步睡眠系统实施例3的结构示意图;
图7为本发明公开的网关与多条总线的连接示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
如图1所示,为本发明公开的一种多通道同步睡眠方法实施例1的流程图,本实施例包括以下步骤:
S101、监测每条总线上所有控制器的状态;
如图7所示,为网关与多条总线的连接示意图。在实际使用中,网关ECU可能不仅仅只有总线1和总线2两条总线,可能更多,在此图中两条总线仅作示意,且每条总线上显示的ECU数量也仅作示意。
当需要控制多条总线同步进入睡眠状态时,首先对每条总线上的所有控制器的状态进行监测。例如,如图7所示,监测总线1和总线2上的所有ECU的状态。
S102、当每条总线上所有控制器的状态均满足第一睡眠条件时,生成每条总线的睡眠标志;
当通过监测控制器的状态,判断所有总线上的控制器的状态均满足第一睡眠条件时,生成每条总线对应的睡眠标志,通过生成的睡眠标志即可确定该条总线可以进入睡眠状态。其中,第一睡眠条件为总线上的控制器进入睡眠的条件。
S103、判断本地网关是否满足第二睡眠条件;
当每条总线均对应有睡眠标志后,进一步判断本地网关是否满足第二睡眠条件,即判断本地网关是否不再需要占用总线进行通信。需要说明的是,不同的本地网关对应的睡眠条件可能是不同的,本地网关的睡眠条件与本地网关的功能有关。例如,有的本地网关的睡眠条件为点火开关关闭,有的本地网关以一定时间内其按键没有被触发为睡眠条件等等。
S104、当本地网关满足第二睡眠条件时,网关向每条总线发送睡眠确认报文;
当每条总线均对应有睡眠标志且本地网关满足第二睡眠条件时,本地网关向每条总线发送睡眠确认报文,例如,同时向各个总线上发送Sleep.Ack=1的睡眠确认报文。本地网关发送Sleep.Ack=1的睡眠确认报文之后,立即使本地各通道总线同步进入预睡眠状态。对于所有接收到网关发送的Sleep.Ack=1的睡眠确认报文的ECU,也会立即进入预睡眠状态。
当判断本地网关不满足第二睡眠条件时,返回步骤S101重新对每条总线上所有控制器的状态进行监测。S105、控制每条总线上所有控制器以及本地网关同步进入睡眠状态。
在所有ECU进入预睡眠状态后,进一步控制本地网关与总线上其他控制器同步进入睡眠状态。
综上所述,当需要控制多通道同步进入睡眠状态时,首先检测每条总线上所有控制器的状态,当每条总线上所有控制器的状态均满足第一睡眠条件时,生成每条总线的睡眠标志;然后判断本地网关是否满足第二睡眠条件,当本地网关满足第二睡眠条件时,网关向每条总线发送睡眠确认报文,控制本地网关与总线上其他控制器同步进入睡眠状态。能够在不会对网关外部连接产生影响的条件下,使网关连接的各个总线能同步进入睡眠状态。
如图2所示,为本发明公开的一种多通道同步睡眠方法实施例2的流程图,本实施例包括以下步骤:
S201、接收每条总线上每个控制器发送的专有网络管理报文;
如图7所示,为网关与多条总线的连接示意图。在实际使用中,网关ECU可能不仅仅只有总线1和总线2两条总线,可能更多,在此图中两条总线仅作示意,且每条总线上显示的ECU数量也仅作示意。
当需要控制多条总线同步进入睡眠状态时,首先对每条总线上的所有控制器的状态进行监测。例如,如图7所示,监测总线1和总线2上的所有ECU的状态。
在对每条总线上的所有控制器的状态进行监测时,接收每条总线上每个控制器发送的专有网络管理报文,其中,专有网络管理报文中OpCode内容记录控制器是否正常工作、是否已经满足睡眠条件。Opcode是报文中一个专用的数据域,其包含指示报文类型的标志(Alive、Ring、LimpHome,此3个标志同时有且只能有一个等于1)和睡眠相关的标志(Sleep.Ind、Sleep.Ack)等。其中Alive、Ring类型的报文可以表明ECU正常工作,LimpHome报文表明ECU故障;Sleep.Ind=1表示ECU满足睡眠,Sleep.Ind=0表明ECU不满足睡眠。
S202、基于专有网络管理报文检测每条总线上所有控制器的状态;
根据接收到的每条总线上每个控制器发送的专有网络管理报文确定控制器的状态。
S203、当每条总线上所有控制器的状态均满足第一睡眠条件时,生成每条总线的睡眠标志;
当通过监测控制器的状态,判断所有总线上的控制器的状态均满足第一睡眠条件时,生成每条总线对应的睡眠标志,通过生成的睡眠标志即可确定该条总线可以进入睡眠状态。其中,第一睡眠条件为总线上的控制器进入睡眠的条件。
S204、判断每条总线上的所有控制器是否有至少一个的状态不满足第一睡眠条件;
S205、当每条总线上的所有控制器至少一个的状态不满足第一睡眠条件时,清除不满足第一睡眠条件的控制器所在总线对应的睡眠标志;
在判断本地网关是否满足第二睡眠条件之前,还会实时的判断每条总线上的所有控制器是否有至少一个的状态不满足第一睡眠条件,当每条总线上的所有控制器至少一个的状态不满足第一睡眠条件时,清除该总线对应的睡眠标志。
当判断每条总线上的所有控制器的状态都满足第一睡眠条件时,执行步骤S206判断本地网关是否满足第二睡眠条件。
S206、判断本地网关是否满足第二睡眠条件;
只有当每条总线上所有控制器的状态均满足第一睡眠条件时,才进一步判断本地网关是否满足第二睡眠条件。当每条总线均对应有睡眠标志后,进一步判断本地网关是否满足第二睡眠条件,即判断本地网关是否不再需要占用总线进行通信。需要说明的是,不同的本地网关对应的睡眠条件可能是不同的,本地网关的睡眠条件与本地网关的功能有关。例如,有的本地网关的睡眠条件为点火开关关闭,有的本地网关以一定时间内其按键没有被触发为睡眠条件等等。
S207、当本地网关满足第二睡眠条件时,网关向每条总线发送睡眠确认报文;
当每条总线均对应有睡眠标志且本地网关满足第二睡眠条件时,本地网关向每条总线发送睡眠确认报文,例如,同时向各个总线上发送Sleep.Ack=1的睡眠确认报文。本地网关发送Sleep.Ack=1的睡眠确认报文之后,立即使本地各通道总线同步进入预睡眠状态。对于所有接收到网关发送的Sleep.Ack=1的睡眠确认报文的ECU,也会立即进入预睡眠状态。
当本地网关不满足第二睡眠条件时,返回步骤S201重新对每条总线上所有控制器的状态进行监测。。
S208、控制每条总线上所有控制器以及本地网关同步进入睡眠状态。
在所有ECU进入预睡眠状态后,进一步控制本地网关与总线上其他控制器同步进入睡眠状态。
综上所述,上述实施例在实施例1的基础上,进一步在当每条总线上所有控制器的状态均满足第一睡眠条件时,生成每条总线的睡眠标志后,判断每条总线上的所有控制器是否有至少一个的状态不满足第一睡眠条件,当每条总线上的所有控制器至少一个的状态不满足第一睡眠条件时,清除该总线对应的睡眠标志,只有当每条总线上所有控制器的状态均满足第一睡眠条件时,才进一步判断本地网关是否满足第二睡眠条件。
如图3所示,为本发明公开的一种多通道同步睡眠方法实施例3的流程图,本实施例包括以下步骤:
S301、接收每条总线上每个控制器发送的专有网络管理报文;
如图7所示,为网关与多条总线的连接示意图。在实际使用中,网关ECU可能不仅仅只有总线1和总线2两条总线,可能更多,在此图中两条总线仅作示意,且每条总线上显示的ECU数量也仅作示意。
当需要控制多条总线同步进入睡眠状态时,首先对每条总线上的所有控制器的状态进行监测。例如,如图7所示,监测总线1和总线2上的所有ECU的状态。
在对每条总线上的所有控制器的状态进行监测时,接收每条总线上每个控制器发送的专有网络管理报文,其中,专有网络管理报文中OpCode内容记录控制器是否正常工作、是否已经满足睡眠条件。Opcode是报文中一个专用的数据域,其包含指示报文类型的标志(Alive、Ring、LimpHome,此3个标志同时有且只能有一个等于1)和睡眠相关的标志(Sleep.Ind、Sleep.Ack)等。其中Alive、Ring类型的报文可以表明ECU正常工作,LimpHome报文表明ECU故障;Sleep.Ind=1表示ECU满足睡眠,Sleep.Ind=0表明ECU不满足睡眠。
S302、基于专有网络管理报文检测每条总线上所有控制器的状态;
根据接收到的每条总线上每个控制器发送的专有网络管理报文确定控制器的状态。
S303、当每条总线上所有控制器的状态均满足第一睡眠条件时,生成每条总线的睡眠标志;
当通过监测控制器的状态,判断所有总线上的控制器的状态均满足第一睡眠条件时,生成每条总线对应的睡眠标志,通过生成的睡眠标志即可确定该条总线可以进入睡眠状态。其中,第一睡眠条件为总线上的控制器进入睡眠的条件。
S304、判断每条总线上的所有控制器是否有至少一个的状态不满足第一睡眠条件;
S305、当每条总线上的所有控制器至少一个的状态不满足第一睡眠条件时,清除不满足第一睡眠条件的控制器所在总线对应的睡眠标志;
在判断本地网关是否满足第二睡眠条件之前,还会实时的判断每条总线上的所有控制器是否有至少一个的状态不满足第一睡眠条件,当每条总线上的所有控制器至少一个的状态不满足第一睡眠条件时,清除该总线对应的睡眠标志。
当判断每条总线上的所有控制器的状态都满足第一睡眠条件时,执行步骤S306判断本地网关是否满足第二睡眠条件。S306、判断本地网关是否满足第二睡眠条件;
只有当每条总线上所有控制器的状态均满足第一睡眠条件时,才进一步判断本地网关是否满足第二睡眠条件。当每条总线均对应有睡眠标志后,进一步判断本地网关是否满足第二睡眠条件,即判断本地网关是否不再需要占用总线进行通信。需要说明的是,不同的本地网关对应的睡眠条件可能是不同的,本地网关的睡眠条件与本地网关的功能有关。例如,有的本地网关的睡眠条件为点火开关关闭,有的本地网关以一定时间内其按键没有被触发为睡眠条件等等。
S307、当本地网关满足第二睡眠条件时,网关向每条总线发送睡眠确认报文;
当每条总线均对应有睡眠标志且本地网关满足第二睡眠条件时,本地网关向每条总线发送睡眠确认报文,例如,同时向各个总线上发送Sleep.Ack=1的睡眠确认报文。本地网关发送Sleep.Ack=1的睡眠确认报文之后,立即使本地各通道总线同步进入预睡眠状态。对于所有接收到网关发送的Sleep.Ack=1的睡眠确认报文的ECU,也会立即进入预睡眠状态。
当本地网关不满足第二睡眠条件时,返回步骤S301重新对每条总线上所有控制器的状态进行监测。。
S308、在软件运行期间,判断每条总线上所有控制器的状态是否满足第一睡眠条件以及本地网关是否满足第二睡眠条件;
S309、当每条总线上所有控制器的状态满足第一睡眠条件以及本地网关满足第二睡眠条件时,控制本地网关以及每条总线上的所有控制器同步进入睡眠状态;
S310、当每条总线上的所有控制器至少一个的状态不满足第一睡眠条件和/或本地网关不满足第二睡眠条件时,唤醒每条总线上的所有控制器。
本实施例在实施例2的基础上,在所有ECU进入预睡眠状态之后,启动等待睡眠定时器,此定时时间对于所有的ECU是相同的。若此定时器超时,则所有ECU同步进入睡眠状态。若某个ECU在此定时器执行期间不满足睡眠条件或睡眠后唤醒,则网关会唤醒所有的ECU。
如图4所示,为本发明公开的一种多通道同步睡眠系统实施例1的结构示意图,本实施例包括:
监测模块401,用于监测每条总线上所有控制器的状态;
如图7所示,为网关与多条总线的连接示意图。在实际使用中,网关ECU可能不仅仅只有总线1和总线2两条总线,可能更多,在此图中两条总线仅作示意,且每条总线上显示的ECU数量也仅作示意。
当需要控制多条总线同步进入睡眠状态时,首先对每条总线上的所有控制器的状态进行监测。例如,如图7所示,监测总线1和总线2上的所有ECU的状态。
生成模块402,用于当每条总线上所有控制器的状态均满足第一睡眠条件时,生成每条总线的睡眠标志;
当通过监测控制器的状态,判断所有总线上的控制器的状态均满足第一睡眠条件时,生成每条总线对应的睡眠标志,通过生成的睡眠标志即可确定该条总线可以进入睡眠状态。其中,第一睡眠条件为总线上的控制器进入睡眠的条件。
第一判断模块403,用于判断本地网关是否满足第二睡眠条件;
当每条总线均对应有睡眠标志后,进一步判断本地网关是否满足第二睡眠条件,即判断本地网关是否不再需要占用总线进行通信。需要说明的是,不同的本地网关对应的睡眠条件可能是不同的,本地网关的睡眠条件与本地网关的功能有关。例如,有的本地网关的睡眠条件为点火开关关闭,有的本地网关以一定时间内其按键没有被触发为睡眠条件等等。
发送模块404,用于当本地网关满足第二睡眠条件时,所述网关向每条总线发送睡眠确认报文;
当每条总线均对应有睡眠标志且本地网关满足第二睡眠条件时,本地网关向每条总线发送睡眠确认报文,例如,同时向各个总线上发送Sleep.Ack=1的睡眠确认报文。本地网关发送Sleep.Ack=1的睡眠确认报文之后,立即使本地各通道总线同步进入预睡眠状态。对于所有接收到网关发送的Sleep.Ack=1的睡眠确认报文的ECU,也会立即进入预睡眠状态。
当第一判断模块403判断本地网关不满足第二睡眠条件时,返回重新对每条总线上所有控制器的状态进行监测。
控制模块405,用于控制本地网关,以使每条总线上的所有控制器以及所述本地网关同步进入睡眠状态。
在所有ECU进入预睡眠状态后,进一步控制本地网关与总线上其他控制器同步进入睡眠状态。
综上所述,当需要控制多通道同步进入睡眠状态时,首先检测每条总线上所有控制器的状态,当每条总线上所有控制器的状态均满足第一睡眠条件时,生成每条总线的睡眠标志;然后判断本地网关是否满足第二睡眠条件,当本地网关满足第二睡眠条件时,网关向每条总线发送睡眠确认报文,控制每条总线上所有控制器以及本地网关同步进入睡眠状态。能够在不会对网关外部连接产生影响的条件下,使网关连接的各个总线能同步进入睡眠状态。
如图5所示,为本发明公开的一种多通道同步睡眠系统实施例2的结构示意图,本实施例包括:
监测模块501,用于接收每条总线上每个控制器发送的专有网络管理报文,基于专有网络管理报文检测每条总线上所有控制器的状态;
如图7所示,为网关与多条总线的连接示意图。在实际使用中,网关ECU可能不仅仅只有总线1和总线2两条总线,可能更多,在此图中两条总线仅作示意,且每条总线上显示的ECU数量也仅作示意。
当需要控制多条总线同步进入睡眠状态时,首先对每条总线上的所有控制器的状态进行监测。例如,如图7所示,监测总线1和总线2上的所有ECU的状态。
在对每条总线上的所有控制器的状态进行监测时,接收每条总线上每个控制器发送的专有网络管理报文,其中,专有网络管理报文中OpCode内容记录控制器是否正常工作、是否已经满足睡眠条件。Opcode是报文中一个专用的数据域,其包含指示报文类型的标志(Alive、Ring、LimpHome,此3个标志同时有且只能有一个等于1)和睡眠相关的标志(Sleep.Ind、Sleep.Ack)等。其中Alive、Ring类型的报文可以表明ECU正常工作,LimpHome报文表明ECU故障;Sleep.Ind=1表示ECU满足睡眠,Sleep.Ind=0表明ECU不满足睡眠。
根据接收到的每条总线上每个控制器发送的专有网络管理报文确定控制器的状态。
生成模块502,用于当每条总线上所有控制器的状态均满足第一睡眠条件时,生成每条总线的睡眠标志;
当通过监测控制器的状态,判断所有总线上的控制器的状态均满足第一睡眠条件时,生成每条总线对应的睡眠标志,通过生成的睡眠标志即可确定该条总线可以进入睡眠状态。其中,第一睡眠条件为总线上的控制器进入睡眠的条件。
第二判断模块503,用于判断每条总线上的所有控制器是否有至少一个的状态不满足第一睡眠条件;
清除模块504,用于当每条总线上的所有控制器至少一个的状态不满足第一睡眠条件时,清除该总线对应的睡眠标志;
在判断本地网关是否满足第二睡眠条件之前,还会实时的判断每条总线上的所有控制器是否有至少一个的状态不满足第一睡眠条件,当每条总线上的所有控制器至少一个的状态不满足第一睡眠条件时,清除该总线对应的睡眠标志。
当第二判断模块503判断每条总线上的所有控制器的状态都满足第一睡眠条件时,第一判断模块505判断本地网关是否满足第二睡眠条件。第一判断模块505,用于判断本地网关是否满足第二睡眠条件;
只有当每条总线上所有控制器的状态均满足第一睡眠条件时,才进一步判断本地网关是否满足第二睡眠条件。当每条总线均对应有睡眠标志后,进一步判断本地网关是否满足第二睡眠条件,即判断本地网关是否不再需要占用总线进行通信。需要说明的是,不同的本地网关对应的睡眠条件可能是不同的,本地网关的睡眠条件与本地网关的功能有关。例如,有的本地网关的睡眠条件为点火开关关闭,有的本地网关以一定时间内其按键没有被触发为睡眠条件等等。
发送模块506,用于当本地网关满足第二睡眠条件时,所述网关向每条总线发送睡眠确认报文;
当每条总线均对应有睡眠标志且本地网关满足第二睡眠条件时,本地网关向每条总线发送睡眠确认报文,例如,同时向各个总线上发送Sleep.Ack=1的睡眠确认报文。本地网关发送Sleep.Ack=1的睡眠确认报文之后,立即使本地各通道总线同步进入预睡眠状态。对于所有接收到网关发送的Sleep.Ack=1的睡眠确认报文的ECU,也会立即进入预睡眠状态。
当第一判断模块505判断本地网关不满足第二睡眠条件时,返回重新对每条总线上所有控制器的状态进行监测。
控制模块507,用于控制本地网关,以使每条总线上的所有控制器以及所述本地网关同步进入睡眠状态。
在所有ECU进入预睡眠状态后,进一步控制本地网关与总线上其他控制器同步进入睡眠状态。
综上所述,上述实施例在实施例1的基础上,进一步在当每条总线上所有控制器的状态均满足第一睡眠条件时,生成每条总线的睡眠标志后,判断每条总线上的所有控制器是否有至少一个的状态不满足第一睡眠条件,当每条总线上的所有控制器至少一个的状态不满足第一睡眠条件时,清除该总线对应的睡眠标志,只有当每条总线上所有控制器的状态均满足第一睡眠条件时,才进一步判断本地网关是否满足第二睡眠条件。
如图6所示,为本发明公开的一种多通道同步睡眠系统实施例3的结构示意图,本实施例包括:
监测模块601,用于接收每条总线上每个控制器发送的专有网络管理报文,基于专有网络管理报文检测每条总线上所有控制器的状态;
如图7所示,为网关与多条总线的连接示意图。在实际使用中,网关ECU可能不仅仅只有总线1和总线2两条总线,可能更多,在此图中两条总线仅作示意,且每条总线上显示的ECU数量也仅作示意。
当需要控制多条总线同步进入睡眠状态时,首先对每条总线上的所有控制器的状态进行监测。例如,如图7所示,监测总线1和总线2上的所有ECU的状态。
在对每条总线上的所有控制器的状态进行监测时,接收每条总线上每个控制器发送的专有网络管理报文,其中,专有网络管理报文中OpCode内容记录控制器是否正常工作、是否已经满足睡眠条件。Opcode是报文中一个专用的数据域,其包含指示报文类型的标志(Alive、Ring、LimpHome,此3个标志同时有且只能有一个等于1)和睡眠相关的标志(Sleep.Ind、Sleep.Ack)等。其中Alive、Ring类型的报文可以表明ECU正常工作,LimpHome报文表明ECU故障;Sleep.Ind=1表示ECU满足睡眠,Sleep.Ind=0表明ECU不满足睡眠。
根据接收到的每条总线上每个控制器发送的专有网络管理报文确定控制器的状态。
生成模块602,用于当每条总线上所有控制器的状态均满足第一睡眠条件时,生成每条总线的睡眠标志;
当通过监测控制器的状态,判断所有总线上的控制器的状态均满足第一睡眠条件时,生成每条总线对应的睡眠标志,通过生成的睡眠标志即可确定该条总线可以进入睡眠状态。其中,第一睡眠条件为总线上的控制器进入睡眠的条件。
第二判断模块603,用于判断每条总线上的所有控制器是否有至少一个的状态不满足第一睡眠条件;
清除模块604,用于当每条总线上的所有控制器至少一个的状态不满足第一睡眠条件时,清除该总线对应的睡眠标志;
在判断本地网关是否满足第二睡眠条件之前,还会实时的判断每条总线上的所有控制器是否有至少一个的状态不满足第一睡眠条件,当每条总线上的所有控制器至少一个的状态不满足第一睡眠条件时,清除该总线对应的睡眠标志。
当第二判断模块603判断每条总线上的所有控制器的状态都满足第一睡眠条件时,第一判断模块605判断本地网关是否满足第二睡眠条件。
第一判断模块605,用于判断本地网关是否满足第二睡眠条件;
只有当每条总线上所有控制器的状态均满足第一睡眠条件时,才进一步判断本地网关是否满足第二睡眠条件。当每条总线均对应有睡眠标志后,进一步判断本地网关是否满足第二睡眠条件,即判断本地网关是否不再需要占用总线进行通信。需要说明的是,不同的本地网关对应的睡眠条件可能是不同的,本地网关的睡眠条件与本地网关的功能有关。例如,有的本地网关的睡眠条件为点火开关关闭,有的本地网关以一定时间内其按键没有被触发为睡眠条件等等。
发送模块606,用于当本地网关满足第二睡眠条件时,所述网关向每条总线发送睡眠确认报文;
当每条总线均对应有睡眠标志且本地网关满足第二睡眠条件时,本地网关向每条总线发送睡眠确认报文,例如,同时向各个总线上发送Sleep.Ack=1的睡眠确认报文。本地网关发送Sleep.Ack=1的睡眠确认报文之后,立即使本地各通道总线同步进入预睡眠状态。对于所有接收到网关发送的Sleep.Ack=1的睡眠确认报文的ECU,也会立即进入预睡眠状态。
当第一判断模块605判断本地网关不满足第二睡眠条件时,返回重新对每条总线上所有控制器的状态进行监测。
控制模块607,用于在软件运行期间,判断每条总线上所有控制器的状态是否满足第一睡眠条件以及本地网关是否满足第二睡眠条件;
当每条总线上所有控制器的状态满足第一睡眠条件以及本地网关满足第二睡眠条件时,控制所有控制器同步进入睡眠状态;
当每条总线上的所有控制器至少一个的状态不满足第一睡眠条件和/或本地网关不满足第二睡眠条件时,唤醒每条总线上的所有控制器。
本实施例在实施例2的基础上,在所有ECU进入预睡眠状态之后,启动等待睡眠定时器,此定时时间对于所有的ECU是相同的。若此定时器超时,则所有ECU同步进入睡眠状态。若某个ECU在此定时器执行期间不满足睡眠条件或睡眠后唤醒,则网关会唤醒所有的ECU。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种多通道同步睡眠方法,其特征在于,所述方法包括:
监测每条总线上所有控制器的状态;
当每条总线上所有控制器的状态均满足第一睡眠条件时,生成每条总线的睡眠标志;
判断本地网关是否满足第二睡眠条件;
当本地网关满足第二睡眠条件时,所述网关向每条总线发送睡眠确认报文;
控制每条总线上所有控制器以及本地网关同步进入睡眠状态。
2.根据权利要求1所述的方法,其特征在于,所述监测每条总线上所有控制器的状态包括:
接收每条总线上每个控制器发送的专有网络管理报文;
基于所述专有网络管理报文检测每条总线上所有控制器的状态。
3.根据权利要求1或2所述的方法,其特征在于,生成每条总线的睡眠标志后还包括:
判断每条总线上的所有控制器是否有至少一个的状态不满足第一睡眠条件;
当每条总线上的所有控制器至少一个的状态不满足第一睡眠条件时,清除不满足第一睡眠条件的控制器所在总线对应的睡眠标志。
4.根据权利要求3所述的方法,其特征在于,所述控制每条总线上所有控制器以及本地网关同步进入睡眠状态包括:
在软件运行期间,判断每条总线上所有控制器的状态是否满足第一睡眠条件以及本地网关是否满足第二睡眠条件;
当每条总线上所有控制器的状态满足第一睡眠条件以及本地网关满足第二睡眠条件时,控制本地网关以及每条总线上的所有控制器同步进入睡眠状态。
5.根据权利要求4所述的方法,其特征在于,当每条总线上的所有控制器至少一个的状态不满足第一睡眠条件和/或本地网关不满足第二睡眠条件时,唤醒每条总线上的所有控制器。
6.一种多通道同步睡眠系统,其特征在于,包括:
监测模块,用于监测每条总线上所有控制器的状态;
生成模块,用于当每条总线上所有控制器的状态均满足第一睡眠条件时,生成每条总线的睡眠标志;
第一判断模块,用于判断本地网关是否满足第二睡眠条件;
发送模块,用于当本地网关满足第二睡眠条件时,所述网关向每条总线发送睡眠确认报文;
控制模块,用于控制本地网关,以使每条总线上的所有控制器以及所述本地网关同步进入睡眠状态。
7.根据权利要求6所述的系统,其特征在于,所述监测模块具体用于:
接收每条总线上每个控制器发送的专有网络管理报文;
基于所述专有网络管理报文检测每条总线上所有控制器的状态。
8.根据权利要求6或7所述的系统,其特征在于,还包括:
第二判断模块,用于判断每条总线上的所有控制器是否有至少一个的状态不满足第一睡眠条件;
清除模块,用于当每条总线上的所有控制器至少一个的状态不满足第一睡眠条件时,清除不满足第一睡眠条件的控制器所在总线对应的睡眠标志。
9.根据权利要求8所述的系统,其特征在于,所述控制模块具体用于:
在软件运行期间,判断每条总线上所有控制器的状态是否满足第一睡眠条件以及本地网关是否满足第二睡眠条件;
当每条总线上所有控制器的状态满足第一睡眠条件以及本地网关满足第二睡眠条件时,控制本地网关以及每条总线上的所有控制器同步进入睡眠状态。
10.根据权利要求9所述的系统,其特征在于,所述控制模块还用于:
当每条总线上的所有控制器至少一个的状态不满足第一睡眠条件和/或本地网关不满足第二睡眠条件时,唤醒每条总线上的所有控制器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710833750.0A CN107612774B (zh) | 2017-09-15 | 2017-09-15 | 一种多通道同步睡眠方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710833750.0A CN107612774B (zh) | 2017-09-15 | 2017-09-15 | 一种多通道同步睡眠方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107612774A true CN107612774A (zh) | 2018-01-19 |
CN107612774B CN107612774B (zh) | 2020-12-04 |
Family
ID=61060317
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710833750.0A Active CN107612774B (zh) | 2017-09-15 | 2017-09-15 | 一种多通道同步睡眠方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107612774B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109347590A (zh) * | 2018-10-19 | 2019-02-15 | 北京经纬恒润科技有限公司 | 车载以太网中DoIP实体的同步方法和DoIP实体 |
WO2021082301A1 (zh) * | 2019-10-31 | 2021-05-06 | 上海赫千电子科技有限公司 | 一种包括车载以太网的车内混合网络的睡眠与唤醒方法 |
CN113359570A (zh) * | 2021-06-30 | 2021-09-07 | 一汽奔腾轿车有限公司 | 一种整车下电后网络替代报文发送系统及发送方法 |
CN113448302A (zh) * | 2020-03-27 | 2021-09-28 | 北京新能源汽车股份有限公司 | 一种车辆控制器的控制方法、装置及汽车 |
CN115460028A (zh) * | 2022-08-30 | 2022-12-09 | 重庆长安汽车股份有限公司 | 车载网络休眠管理方法、装置、车载网络系统及车辆 |
CN115499269A (zh) * | 2022-09-22 | 2022-12-20 | 重庆长安汽车股份有限公司 | 多路can通道osek网络管理实现方法、系统、设备及可读介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6934734B2 (en) * | 2000-12-04 | 2005-08-23 | International Business Machines Corporation | Method and apparatus for managing and presenting changes to an object in a data processing system |
US20050213569A1 (en) * | 2004-03-17 | 2005-09-29 | Tomohito Kajiwara | Communication apparatus, communication program, storage medium, and method of communication |
CN202837990U (zh) * | 2012-08-31 | 2013-03-27 | 长城汽车股份有限公司 | 一种汽车网络拓扑结构 |
CN204116942U (zh) * | 2014-09-12 | 2015-01-21 | 中国第一汽车股份有限公司 | 车载电子控制单元lin总线通信自动化测试装置 |
CN106184074A (zh) * | 2016-07-29 | 2016-12-07 | 北京车和家信息技术有限责任公司 | 电子控制单元的控制方法、电子控制单元、系统和车辆 |
CN106218550A (zh) * | 2016-07-29 | 2016-12-14 | 北京车和家信息技术有限责任公司 | 电子控制单元的控制方法、电子控制单元、系统和车辆 |
-
2017
- 2017-09-15 CN CN201710833750.0A patent/CN107612774B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6934734B2 (en) * | 2000-12-04 | 2005-08-23 | International Business Machines Corporation | Method and apparatus for managing and presenting changes to an object in a data processing system |
US20050213569A1 (en) * | 2004-03-17 | 2005-09-29 | Tomohito Kajiwara | Communication apparatus, communication program, storage medium, and method of communication |
CN202837990U (zh) * | 2012-08-31 | 2013-03-27 | 长城汽车股份有限公司 | 一种汽车网络拓扑结构 |
CN204116942U (zh) * | 2014-09-12 | 2015-01-21 | 中国第一汽车股份有限公司 | 车载电子控制单元lin总线通信自动化测试装置 |
CN106184074A (zh) * | 2016-07-29 | 2016-12-07 | 北京车和家信息技术有限责任公司 | 电子控制单元的控制方法、电子控制单元、系统和车辆 |
CN106218550A (zh) * | 2016-07-29 | 2016-12-14 | 北京车和家信息技术有限责任公司 | 电子控制单元的控制方法、电子控制单元、系统和车辆 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109347590A (zh) * | 2018-10-19 | 2019-02-15 | 北京经纬恒润科技有限公司 | 车载以太网中DoIP实体的同步方法和DoIP实体 |
WO2021082301A1 (zh) * | 2019-10-31 | 2021-05-06 | 上海赫千电子科技有限公司 | 一种包括车载以太网的车内混合网络的睡眠与唤醒方法 |
CN113448302A (zh) * | 2020-03-27 | 2021-09-28 | 北京新能源汽车股份有限公司 | 一种车辆控制器的控制方法、装置及汽车 |
CN113359570A (zh) * | 2021-06-30 | 2021-09-07 | 一汽奔腾轿车有限公司 | 一种整车下电后网络替代报文发送系统及发送方法 |
CN115460028A (zh) * | 2022-08-30 | 2022-12-09 | 重庆长安汽车股份有限公司 | 车载网络休眠管理方法、装置、车载网络系统及车辆 |
CN115460028B (zh) * | 2022-08-30 | 2023-05-12 | 重庆长安汽车股份有限公司 | 车载网络休眠管理方法、装置、车载网络系统及车辆 |
CN115499269A (zh) * | 2022-09-22 | 2022-12-20 | 重庆长安汽车股份有限公司 | 多路can通道osek网络管理实现方法、系统、设备及可读介质 |
CN115499269B (zh) * | 2022-09-22 | 2023-05-16 | 重庆长安汽车股份有限公司 | 多路can通道osek网络管理实现方法、系统、设备及可读介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107612774B (zh) | 2020-12-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107612774A (zh) | 一种多通道同步睡眠方法及系统 | |
CN109878336A (zh) | 基于电动汽车的启动控制方法及启动控制系统 | |
CN108933719A (zh) | 车载can网络管理方法、车载can网络、车辆 | |
CN113015135A (zh) | 基于网络管理远程监控车端控制器休眠唤醒方法 | |
CN105306298A (zh) | 基于整车网络的远程无线测试系统及测试方法 | |
CN110046383B (zh) | 基于事件同步与筛选的电力系统信息物理混合仿真方法 | |
CN108121326A (zh) | 一种故障诊断方法及系统 | |
CN104394465A (zh) | 一种唤醒待机状态的方法和设备 | |
CN109347590A (zh) | 车载以太网中DoIP实体的同步方法和DoIP实体 | |
CN103781691A (zh) | 集控站计算机 | |
CN105242608A (zh) | 整车控制器及其控制方法 | |
CN109547313A (zh) | 网络状态管理方法和装置 | |
CN112702220B (zh) | 网络测试方法和网络测试装置 | |
CN108650282B (zh) | 一种车辆远程上电的失效控制方法及系统 | |
CN112389352A (zh) | 一种整车静态电流管理系统及方法 | |
CN109284121A (zh) | 储能电源多级网络多控制设备同步更新程序的方法及系统 | |
CN112732058A (zh) | 多节点服务器电源失效的保护设备、方法及可读存储介质 | |
CN113783953A (zh) | 基于云边协同的工业物联网管控方法及系统 | |
CN101667942B (zh) | 家庭网关的控制方法和装置 | |
Cheon et al. | The CAN FD network performance analysis using the CANoe | |
CN112711845B (zh) | 基于通信网可靠性的虚拟电厂响应资源调度方法及装置 | |
CN108469747A (zh) | 通信管理方法、系统及计算机可读存储介质 | |
CN114520749B (zh) | 基于云平台部署物模型的Modbus数据监控方法及系统 | |
CN103269121A (zh) | 一种变电站二次系统动态重构装置及其重构方法 | |
CN109733831A (zh) | 控制给煤机的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
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. |