使用Flexray全局时间的应用s/w执行的跨网络同步的制作方法

文档序号:7894611阅读:159来源:国知局
专利名称:使用Flexray全局时间的应用s/w执行的跨网络同步的制作方法
技术领域
本发明总地涉及用于在车辆通信总线上实施应用程序软件的跨网络同步的系统和方法,更特别地,涉及用于提供电子控制单元从基于域的时间分割到时间同步分割的跨网络协调和迁移的系统和方法。
背景技术
现代汽车具有配置成控制不同车辆子系统(例如发动机、变速器、气囊、防抱死制动、巡航控制、电动转向、音响系统、车窗、车门和车镜调节)的许多电子控制单元(ECU)。这些子系统的一部分是独立的,而其它在车辆正常操作期间需要彼此交换数据。例如,发动机需要告诉变速器发动机速度是多少,变速器需要告诉其它模块何时发生换档。这需要快速可靠的数据交换,导致车辆总线的发展,该车辆总线是一种使用标准协议互连车内组件的 专用内部通信网络。第一种广泛建立的车辆总线协议之一是控制器局域网络(CAN或CAN总线),其为设计成允许车辆内的微控制器和装置彼此通信的一种多控制广播串行总线标准。CAN总线上的每个节点(即,ECU)都能够收发信息,但是并不同时。信息主要包括表示信息优先级的ID,并连续地发送到总线上。这种机构称为基于优先级的总线仲裁。具有较小数值ID值的信息具有较高的优先级,且先被发送。由于速度限制,通过CAN网络连接的装置通常为传感器、致动器和其它控制装置。这些装置并不直接连接到总线,而是通过主处理器和/或CAN控制器。尽管非常可靠和强健,但是CAN总线是事件触发式协议,不能良好地适用于需要同步和更高速度性能的应用。解决许多这些缺点是更新的FlexRay标准,其是一种时间触发协议,为以可预测时帧(精确至微秒)到达的确定性数据提供了选择,并准备类似于CAN的动态事件驱动数据,以解决各种各样的帧。FlexRay通过为静态和动态数据提供预定空间的预定通信循环实现这种核心静态帧与动态帧的混合。当CAN节点仅需要知道要通信的正确波特率时,FlexRay网络上的节点必须知道如何配置网络的所有部分,以便通信。如同所有多点总线一样,每次只有一个节点可向总线电写数据。如果两个节点试图同时写,那么总线上发生竞争,数据变得恶化。存在许多用来防止总线上竞争的方案。如上所述,CAN利用一种仲裁方案,如果看到在总线上发送的信息具有更高的优先级,那么节点会让步于其它节点。尽管这种技术灵活且易于扩展,但是该技术不允许很高的数据率,无法保证数据的及时输送。另一方面,FlexRay通过时分多址(TDMA)方案管理多个节点。每个FlexRay节点被同步成相同的时钟,并且每个节点都等到轮到它时在总线上写。因为在TDMA方案中时间是一致的,所以RlexRay能够保证到网络上节点的数据传输的确定和一致。这为信赖于节点之间最新数据的系统提供了许多优点。通信总线上的所有装置通常包括具有计数器和振荡器的内部本地时钟。振荡器周期性地产生使计数器增加的事件,称为微拍(microtick)。计数器可通过调节值来修改,以增大或减小本地时钟的速度。在时间触发系统中,例如FlexRay,从建立在所有网络节点之间的同步的全局时间概念得到动作(例如,信息、指令信号)。时间概念的特征在于使用微拍和宏拍,其中微拍对应于本地振荡器节拍,宏拍表示用来触发动作的全局时间概念。每个节点都通过选择多个微拍来产生宏拍,并通过根据由时钟同步算法同期性地传送的时钟状态修正项动态地增加或减小每宏拍的微拍数量来同步其宏拍。网络上的所有节点都将它们的本地时钟调节在全局时间中的相同点。内部同步全局时间以宏拍为单位进行,其计数器表示节点视角的全局时间。FlexRay提供适合用于先进控制应用的确定性、容错、高速总线系统。另一方面,CAN总线提供了适于大多数其它车辆控制系统的可靠的、强健且低成本的选择。由于现有车辆中与CAN总线相关的广泛实施和显著遗留成本,FlexRay网络不可能很快取代CAN系统。为了最优化成本和降低过渡的困难,今后生产的汽车可能包含用于高端应用的FlexRay和用于主流动力系通信的CAN,使得FlexRay与CAN共存于车辆总线上。下述系统和方法被努力开发成优化多种车辆总线协议的共存,特别地,实现ECU从基于域的分割到时间同步分割的跨网络协调和迁移
发明内容

根据本发明的教导,公开了一种用于实施车辆总线上节点的跨网络同步的系统和方法。所述方法包括从第一网络周期性地取样时间概念、从所述第一网络向第二网络上的节点发送包括所述时间概念的信息、并基于所述信息中的时间概念更新所述第二网络节点上的本地时钟。本发明提供下列技术方案。技术方案I :一种用于实施车辆总线上节点的跨网络同步的方法,所述方法包括 从第一网络周期性地取样时间概念,其中所述第一网络包括多个通信链路,每个链路
都具有至少一个节点;
从所述第一网络向第二网络发送包括所述时间概念的信息,其中所述第二网络包括多个通信链路,每个链路都具有至少一个节点;以及
基于所述信息中的时间概念更新所述第二网络节点上的至少一个节点上的本地时钟。技术方案2 :如技术方案I的方法,其中所述第一网络为FlexRay网络,所述第二网络为CAN网络,其中所述FlexRay网络的每个节点都具有FlexRay时间概念。技术方案3 :如技术方案I的方法,其中所述信息为全系统同步的时间信息。技术方案4 :如技术方案I的方法,其中所述信息配置成使所述第二网络上的不同链路的节点同步。技术方案5 :如技术方案I的方法,其中所述第一和第二网络每个都包括多个节点,每个节点包括电子控制单元。技术方案6 :如技术方案I的方法,其中所述第一网络为FlexRay网络且包括至少一个网关电子控制单元,该网关电子控制单元具有配置成产生全系统同步的时间信息的至少一个微处理器。技术方案7 :如技术方案6的方法,其中所述第二网络为CAN网络。技术方案8 :如技术方案I的方法,还包括根据所述时间概念协调所述第二网络上的动作。
技术方案9 :如技术方案I的方法,其中所述时间概念包括补偿与发送所述信息至所述第二网络有关的延迟的时间偏移。技术方案10 :如技术方案9的方法,其中所述延迟为基于从所述第二网络接收的接收确认信息计算的平均延迟。技术方案11 :如技术方案10的方法,还包括在接收到所述确认信息时更新所述平均延迟计算。技术方案12 :—种用于实施车辆总线上节点的跨网络同步的系统,所述系统包括非临时性计算机可读存储介质,该介质具有存储在其上的可执行程序,其中所述程序指示控制器进行以下动作
从第一网络周期性地取样时间概念,其中所述第一网络包括多个通信链路,每个链路都具有至少一个节点; 从所述第一网络向第二网络发送包括所述时间概念的信息,其中所述第二网络包括多个通信链路,每个链路都具有至少一个节点;以及
基于所述信息中的时间概念更新所述第二网络上的至少一个节点上的本地时钟。技术方案13 :如技术方案12的系统,其中所述第一网络为具有FlexRay时间概念的FlexRay网络,所述第二网络为CAN网络。技术方案14 :如技术方案12的系统,其中所述信息为全系统同步时间信息,包括FlexRay时间概念加上时间偏移,以补偿与发送所述信息至所述第二网络相关的延迟。技术方案15 :如技术方案13的系统,其中所述FlexRay网络包括第一网关电子控制单元和第二网关电子控制单元,其中所述第一网关电子控制单元将所述FlexRay网络连接至第一 CAN网络链路,所述第二网关电子控制单元将所述FlexRay网络连接至第二 CAN网络链路,使得连接至所述第一 CAN网络链路的装置和连接至所述第二 CAN网络链路的装置通过至所述FlexRay网络的连接同步至所述FlexRay时间概念。技术方案16 :如技术方案13的系统,其中所述Can网络上的至少一个链路级联,使得具有主CAN总线和副CAN总线,其中在所述主CAN总线上发送的信息用于将时间概念同步至所述副CAN总线上的节点。技术方案17 :如技术方案12的系统,其中所述信息为全系统同步时间信息,其中所述时间概念为全局时间概念,其与所述第二网络上的多个链路同步,使得所述第二网络上的动作根据所述全局时间概念来调度。技术方案18 :—种用于实施车辆总线上节点的跨网络同步的方法,其中所述车辆总线上的一个或多个计算装置连接至存储器,并编程成执行指令,以便
从FlexRay网络上的至少一个节点周期性地取回FlexRay时间概念;
产生包括全局时间概念的全系统时间同步信息;
发送所述信息至CAN网络上的至少一个节点;以及
将至少一个CAN网络节点上的本地时间设定为所述全局时间概念。技术方案19 :如技术方案18的方法,其中所述时间同步信息中的全局时间概念包括所述FlexRay时间概念加上使用时间过滤算法计算来预测通信协议栈延迟的平均延迟时间。技术方案20 :如技术方案19的方法,其中根据所述全局时间概念调度所述CAN网络的一个或多个链路上的任务。结合附图,从下面的描述和所附权利要求可清楚本发明的其它特征。


参考附图,现在通过实例描述本实施例,其中
图I示出了根据实施例的示例性网络通信系统;
图2示出了根据图I中系统的时间同步信息的示例性实施方案;以及 图3示出了用于根据实施例的时间同步的示例性系统模型。
具体实施例方式下面对涉及在车辆通信总线上实施应用软件的跨网络同步的系统和方法的本发明实施例的描述实质上仅仅是示例性的,不意欲以任何方式限制本发明或其应用或使用。提供了用来以CAN协议基本能力不可能的方式同步CAN链路上的节点的行为的系统和方法。本文所述系统和方法配置成实施连接至FlexRay网络的跨节点全局时间概念。如上所述,FlexRay上的所有装置具有随着FlexRay周期进展的时钟的概念,所述FlexRay周期逐步上升然后再次开始。因此,FlexRay网络上的所有节点都具有有关网络宣称是时间的概念,并且能基于该时间全局地协调活动而不是仅协调特定本地节点。图I示出了示例性网络通信系统10,该网络通信系统包括网关电子控制单元(E⑶)12,其具有本地内部时钟14、以及通过数据链路20与第二微控制器18通信的第一微控制器16。数据链路20可为在第一和第二微控制器之间提供连接和数据通信的任意适当链路。在一个实例中,数据链路20为串行外围接口(SPI)或通用异步收发器(UART)。在另一实施例中,数据链路20可为配置成连接第一和第二微控制器的一组通用输入/输出引线布置。这些引线可都为第一微控制器的输出口,并连接至第二微控制器上的输入口。换句话说,第一引线可配置成根据由FlexRay时间得到的相互约定的周期性间隔(即,第一微控制器与第二微控制器之间)来触发。第二引线可配置成在时间同步(得自FlexRay时间)重置为零时指示得自FlexRay时间的计时器的翻转。第一微控制器16电连接至多个网络,包括,但不限于,FlexRay网络链路22、第一控制器局域网(CAN)网络链路24和第二 CAN网络链路26。根据图I中所示实施例,FlexRay网络链路22包括FlexRay ECU 22a,第一 CAN链路24包括两个ECU 24a、24b,第二 CAN链路26包括另两个E⑶26a、26b。网关E⑶12中的第二微控制器18连接至具有两个E⑶28a、28b的第三CAN网络链路28。本领域的技术人员会理解,图I中所示构造仅仅是示例性的,ECU的具体数目和电连接可变化。具体地,尽管图I中通信系统10只示出了与网关12相连的一个FlexRay链路24和外部连接至FlexRay网络24的一个ECU 24a,但是可具有任意数量的ECU或其它网关。另外,网络还配备有连接至任意数量的微处理器、CAN链路和E⑶的多个网关。例如,在另一示例性实施例中,系统10可包括两个或多个网关,使得一个网关将FlexRay连接至第一 CAN网络链路,而另一网关将FlexRay连接至第二 CAN网络链路。在该结构中,因为FlexRay时间同步了两个网关的操作,所以在第一和第二 CAN网络链路之间获得同步。换句话说,连接至两个或多个分开的CAN链路的装置可通过到两个或多个不同网关的连接被同步,只要所述网关连接至FlexRay网络链路即可。
根据一个实施例,FlexRay协议的时间同步特性被转换为CAN信息26,该信息配置成实现FlexRay和CAN两者中的软件功能之间以及具有相同域或跨域的多个CAN E⑶之间的软件执行的同步,只要它们共享连接至FlexRay集群的E⑶即可。换句话说,CAN上的高优先级(即,低数值CAN-ID)周期性信息26通过网关E⑶12发送,以允许CAN网络上软件的时间和执行的同步。各基于CAN的ECU使用已有的微控制器计时器作为计数器(即,本地时钟),并基于通过CAN接收的FlexRay全局时间数据对当前时间概念进行调整。仅CAN的ECU接收周期性CAN信息26,并同步其本地时间概念,并进一步对时间进行插值,直到下一CAN信息到达为止。图2示出了根据本发明实施例的时间同步信息的示例性实施方案,其中网关ECU12联接至FlexRay链路24和CAN链路,例如图I中的第一 CAN链路24。如上所述,每个FlexRay节点都保持全局FlexRay时间,其通常是基于来自连接至FlexRay网络的各FlexRay节点的时间概念的计算平均值。根据实施例,网关E⑶12从网关E⑶12本地的FlexRay通信栈(例如,FlexRay驱动器)周期性地取样(如,每50毫秒使用计时器任务取回)FlexRay时间。然后FlexRay全局时间作为CAN信号被传送至CAN驱动器,其中该信号 (即,信息)包括为要被CAN总线接收的信息补偿预测时间延迟的时间调整。该时间延迟可 称为前看时间,其合并了因CAN通信栈产生的时间偏移和与时间同步信息相关的总线仲裁延迟。该时间延迟实质上为基于信息发送至CAN的时间和确认该信息被CAN接收的时间计算的实际时间延迟的运行平均(running average)。参考图2中所示框图,用于在网关E⑶12产生全系统同步的时间信息的程序包括,在步骤30,从FlexRay通信栈32取回FlexRay全局时间(FGT),并产生包括FlexRay全局时间加上称为前看时间的时间偏移(TimeUT)的信息26。在一个实施例中,前看时间偏移使用时间过滤算法来计算,以预测通信协议栈延迟。例如,所述延迟(dTXi)可等于在总线的发送时间减去在源处的产生时间。因此,平均预计时间延迟等于累计延迟(dTXi)的和除以延迟数。在步骤34,信息确认接收通过网关E⑶12从CAN E⑶(例如,24a)接收。从信息确认接收得到的发送时间用于计算发送延迟时间,该时间然后在步骤36用于计算上述平均延迟时间。在步骤38,在CAN E⑶24a中,计时器任务通过基于全局时间的积分计算当前全局时间而周期性地更新(例如,2毫秒)本地时钟,在CAN总线上所发送的同步时间信息中接收并从CAN通信栈40取回该全局时间。然后CAN E⑶上的本地时钟根据FlexRay网络设定为全局时间概念。在步骤42,该循环被周期性地重复,使得CAN ECU能够基于全局时间概念和CAN接收的时间标记事件来协调事件的致动。本领域的技术人员会理解,图I和2中所提供的具体系统配置仅仅是示例性的,CAN和FlexRay装置的许多其它配置和组合也落在本发明的范围内。具体地,本文所述系统和方法提供了使连接至两个不同CAN通信总线(例如,总线24、26和E⑶24a、26a)或连接至相同CAN通信总线(例如,24a、24b)的E⑶同步的能力,如果它们连接至与FlexRay通信总线连接的网关模块。FlexRay全局时间信息26可由网关模块产生,并被发送至两个不同CAN总线。换句话说,ECU 22a和24a能够使用共同的时间概念来执行同步的致动、感测或控制。在另一实施例中,一个或多个CAN总线可级联,使得具有主CAN总线和副CAN总线。因此,传递至主CAN总线的信息26可用于将时间概念同步至副CAN总线上的节点。
图3示出了根据本发明实施例的示例性系统模型。在该实例中,网关ECU 12连接至具有第一 E⑶44a和第二 E⑶44b的第一 CAN链路44、和具有第三E⑶46a和第四E⑶46b的第二 CAN链路46。为示出性目的,该例中的网关ECU 12可用于控制车辆转向和稳定性,使得CAN链路44上的E⑶44a和44b用于控制各前车轮,而CAN链路46上的E⑶46a和46b用于控制各后车轮。网关E⑶12还通过FlexRay总线50连接至E⑶48,提供到FlexRay全局时间的访问。通过上面参考图I和2描述的周期性全系统同步时间信息26,可根据全局时间协调各车轮的指令的执行。在装置的任意组合之间可发生动作或指令的执行,包括FlexRay与CAN装置之间或独立CAN装置之间。例如,虚线54表示FlexRay E⑶48与CAN E⑶44a之间的同步执行。类似地,虚线56表示独立CAN E⑶44a、44b和46a之间的同步执行。本文所述系统可实施在通常包括应用程序的一个或多个适当计算装置中,应用程序可为有形地表现为计算装置内计算机可读介质上的一组计算机可执行指令的软件应用程序。计算装置可为许多计算装置中的任意一种,例如个人计算机、处理器、手持计算装置
坐 寸o计算装置通常每个都包括可由一个或多个装置(如上面所列)执行的指令。计算机可执行指令可为从使用多种编程语言和/或技术(包括,但不限于,Java ,C,C++,Visual Basic, Java Script, Perl等,或仅一种或组合)产生的计算机程序汇编或编译的。通常,处理器(例如,微处理器)接收指令,例如从存储器、计算机可读介质等,并执行这些指令,从而执行一个或多个程序,包括本文所述一个或多个程序。这类指令和其它数据可使用许多已知计算机可读介质存储和传递。计算机可读介质包括参与提供数据(例如指令)的任意介质,可由计算装置如计算机读取。非易失性介质包括例如光盘或磁盘及其它永久性存储器。易失性介质包括动态随机存取存储器(DRAM),其通常构成主存储器。计算机可读介质的通常形式包括计算机可读取的任意介质。应当理解,上面的描述意欲为示例性的,不是限制性的。通过阅读上面的描述,除了提供的实例,许多替代方法或应用对本领域的技术人员是显而易见的。本发明的范围不应当根据上面的描述来确定,而应当根据所附权利要求连同该权利要求所属全部等效物来确定。可以预期和想到,在本文所述领域会出现进一步的研发,所公开的系统和方法会被包含进这些进一步实例中。总之,应当理解,本发明能够修改和变型,且仅由所附权利要求来限制。本发明实施例已经被特别地图示和描述,其仅仅是最佳模式的说明。本领域的技术人员应当理解,无需脱离本发明的实质和范围,在实施所述权利要求中可利用本文所述实施例的各种替代方法,从而覆盖了这些权利要求及其等效物范围内的方法和系统。该说明书应当理解成包括本文所述元件的所有新型和非显而易见组合,权利要求存在于该这些元件的任意新型或非显而易见组合的该申请或后期申请中。此外,前面的实施例是示例性的,没有一个特征或元件是所有可能在该申请或后期申请中所要求的组合必不可少的。如本领域技术人员所理解的,权利要求中所用的所有术语意欲给其最广义的合理解释和它们的普通含义,除非本文进行了相反的明确指示。特别地,单数冠词的使用如“一”、“一种”、“所述”等应当被认为表示所示元件的一个或多个,除非权利要求明确表示相反的限制 。
权利要求
1.一种用于实施车辆总线上节点的跨网络同步的方法,所述方法包括 从第一网络周期性地取样时间概念,其中所述第一网络包括多个通信链路,每个链路都具有至少一个节点; 从所述第一网络向第二网络发送包括所述时间概念的信息,其中所述第二网络包括多个通信链路,每个链路都具有至少一个节点;以及 基于所述信息中的时间概念更新所述第二网络节点上的至少一个节点上的本地时钟。
2.如权利要求I的方法,其中所述第一网络为FlexRay网络,所述第二网络为CAN网络,其中所述FlexRay网络的每个节点都具有FlexRay时间概念。
3.如权利要求I的方法,其中所述信息为全系统同步的时间信息。
4.如权利要求I的方法,其中所述信息配置成使所述第二网络上的不同链路的节点同步。
5.如权利要求I的方法,其中所述第一和第二网络每个都包括多个节点,每个节点包括电子控制单元。
6.如权利要求I的方法,其中所述第一网络为FlexRay网络且包括至少一个网关电子控制单元,该网关电子控制单元具有配置成产生全系统同步的时间信息的至少一个微处理器。
7.如权利要求6的方法,其中所述第二网络为CAN网络。
8.如权利要求I的方法,还包括根据所述时间概念协调所述第二网络上的动作。
9.一种用于实施车辆总线上节点的跨网络同步的系统,所述系统包括非临时性计算机可读存储介质,该介质具有存储在其上的可执行程序,其中所述程序指示控制器进行以下动作 从第一网络周期性地取样时间概念,其中所述第一网络包括多个通信链路,每个链路都具有至少一个节点; 从所述第一网络向第二网络发送包括所述时间概念的信息,其中所述第二网络包括多个通信链路,每个链路都具有至少一个节点;以及 基于所述信息中的时间概念更新所述第二网络上的至少一个节点上的本地时钟。
10.一种用于实施车辆总线上节点的跨网络同步的方法,其中所述车辆总线上的一个或多个计算装置连接至存储器,并编程成执行指令,以便 从FlexRay网络上的至少一个节点周期性地取回FlexRay时间概念; 产生包括全局时间概念的全系统时间同步信息; 发送所述信息至CAN网络上的至少一个节点;以及 将至少一个CAN网络节点上的本地时间设定为所述全局时间概念。
全文摘要
本发明涉及使用Flexray全局时间的应用s/w执行的跨网络同步。一种用于实施车辆总线上节点的跨网络同步的系统和方法,包括从第一网络周期性地取样时间概念、从所述第一网络向第二网络上的节点发送包括所述时间概念的信息、并基于所述信息中的时间概念更新所述第二网络节点上的本地时钟。
文档编号H04L12/40GK102761385SQ201210127638
公开日2012年10月31日 申请日期2012年4月27日 优先权日2011年4月27日
发明者S.梅农, T.M.富里斯特 申请人:通用汽车环球科技运作有限责任公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1