CN102594658A - 使用发送缓冲器和流量整形实现的消息防丢失 - Google Patents

使用发送缓冲器和流量整形实现的消息防丢失 Download PDF

Info

Publication number
CN102594658A
CN102594658A CN2012100028281A CN201210002828A CN102594658A CN 102594658 A CN102594658 A CN 102594658A CN 2012100028281 A CN2012100028281 A CN 2012100028281A CN 201210002828 A CN201210002828 A CN 201210002828A CN 102594658 A CN102594658 A CN 102594658A
Authority
CN
China
Prior art keywords
message
control unit
bus
communication bus
transmission buffer
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
CN2012100028281A
Other languages
English (en)
Other versions
CN102594658B (zh
Inventor
S.蒋
S.梅农
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.)
GM Global Technology Operations LLC
Original Assignee
GM Global Technology Operations LLC
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 GM Global Technology Operations LLC filed Critical GM Global Technology Operations LLC
Publication of CN102594658A publication Critical patent/CN102594658A/zh
Application granted granted Critical
Publication of CN102594658B publication Critical patent/CN102594658B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • H04L12/40013Details regarding a bus controller
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40143Bus networks involving priority mechanisms
    • H04L12/40156Bus networks involving priority mechanisms by using dedicated slots associated with a priority level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40267Bus for use in transportation systems
    • H04L2012/40273Bus for use in transportation systems the transportation system being a vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)

Abstract

本发明涉及使用发送缓冲器和流量整形实现的消息防丢失,具体提供一种车辆的分布嵌入式实时控制器局域网系统,该系统包括ECU,其在事件触发模式中用于启动消息向通信总线的传输。每个ECU包括用于存储所生成的消息的发送缓冲器。总线控制器与ECU对接并且管理消息往返于通信总线的转移。消息向通信总线上的转移由总线控制器间断执行。当存储在总线控制器的存储器内的前一消息等待在通信总线上传输时,总线控制器不能用于从ECU接收消息。当该存储器空闲时,总线控制器可用于从ECU接收消息。当总线控制器不可用时,发送缓冲器存储从电子控制单元收到的消息。ECU进一步包括流量整形模块,其用于可选择地延迟消息向总线控制器的转移。

Description

使用发送缓冲器和流量整形实现的消息防丢失
技术领域
本发明的实施例总体上涉及车辆内的控制器局域网系统。
背景技术
控制器局域网(CAN)是一种车辆总线标准,用来允许电子控制单元(ECU)与其它装置在没有中央计算机或主机的情况下相互通信。车辆系统和子系统具有大量ECU,它们控制致动器或从传感装置接收车辆运行数据。CAN系统是异步广播串行总线,该总线串行地传递消息。因此,同一时刻在通信总线上只传递一个消息。当预备向通信总线上传送消息时,总线控制器控制总线上的消息转移。如果多个传送器同时开始一个以上的消息传输,就传送更占优势的消息。这称为仲裁过程。具有最高优先级的消息将赢得这个仲裁,并且以较低优先级传送的消息将检测到这种状况并等待。
在不同的情形中,可通过CAN系统内连续的不同节点处理这些消息。在这样的情形中,向第一节点提供消息并且在不同时刻处理这些消息。当在相应节点完成对相应消息的处理时,沿着通信总线传递其至下一节点进行另外的处理。同时,在第一节点处理接下来的消息并且随后继续沿着通信总线将其传递至下一节点进行另外的处理。由于处理消息期间的固有延时或对通信总线的争用,消息可能在通信过程中丢失,因为没有中央计算机或主机确保每个消息得到保存且不遗漏。在这样的情况中,消息内容可能会丢失,因为被另一消息值盖写。而且,如果发送单元的缓冲空间有限,并且如果在发送单元仍然在缓冲器中保存前一消息的同时发送下一消息进行传输,那么,当前发送的消息将丢失,因为在发送缓冲器处存在争用。因此,需要确保消息得到CAN系统的适当处理,而不丢失消息。
发明内容
一个实施例的优点是排队在通信总线上等待传输的发送缓冲器中的消息的存储和消息从发送缓冲器转移给总线控制器的时间间隔,该存储和时间间隔降低了由节点接收侧的争用所引起的消息从CAN系统遗失的可能性。由抖动、有限的CAN控制器缓冲器大小和异步时钟引起的传输延迟的结果是传送的消息之间的争用,能够利用发送缓冲器和表明存储消息可以在通信总线上传送的时刻的计时器功能来避免这种争用。
一个实施例设想一种用于车辆的分布嵌入式实时控制器局域网系统。在控制器局域网系统内,通信总线传送消息。多个节点形成通过通信总线可通信地连接的多个通信端点。每个节点包括用于生成车辆运行数据的至少一个应用部件和与该至少一个应用部件通信的电子控制单元。该电子控制单元生成包含车辆运行数据的消息。该电子控制单元在事件触发模式中用于启动向通信总线的消息传输。该电子控制单元包括用于存储生成的消息的发送缓冲器和与该电子控制单元对接的总线控制器。总线控制器管理消息往返于通信总线的转移。消息向通信总线上的转移由总线控制器间断执行。当存储在总线控制器的存储器内的前一消息等待在通信总线上传输时,总线控制器不能用于从电子控制单元接收消息。当该存储器空闲时,总线控制器可用于从电子控制单元接收消息。当总线控制器不可用时,发送缓冲器存储从电子控制单元收到的消息。电子控制单元进一步包括流量整形模块(traffic shaping module),其用于可选择地延迟消息向总线控制器的转移。
一个实施例设想一种在车辆的分布嵌入式实时控制器局域网系统内的节点之间传送消息的方法。控制器局域网系统包括通信总线和用于控制消息在通信总线上的传输的总线控制器,其中消息向通信总线上的转移由总线控制器间断执行。控制器局域网系统进一步包括多个节点,它们形成通过通信总线可通信地连接的多个通信端点。每个节点包括至少一个应用部件、电子控制单元、发送缓冲器、接收缓冲器和至少一个总线控制器。该电子控制单元从至少一个应用部件接收车辆运行数据并且生成包含车辆运行数据的消息用于在通信总线上传输。该电子控制单元在事件触发模式中用于启动通信总线上消息向下一相应节点的传输。响应于总线控制器不可用,消息被存储在发送缓冲器中。当存储在总线控制器的存储器内的前一消息等待在通信总线上传输时,总线控制器不能用于从电子控制单元接收下一消息。当该存储器空闲时,总线控制器可用于从电子控制单元接收消息。确定存储在总线控制器中的前一消息何时成功地在通信总线上传送。响应于存储在总线控制器中的前一消息成功地在通信总线上传送,将流量整形标志置“0”。将流量整形标志置“0”表明消息不能转移给总线控制器。确定何时经过了预定时间期限。响应于经过了预定时间期限,设置流量整形标志,用于表明消息能够转移给总线控制器。响应于设置流量整形标志,将消息从发送缓冲器转移给总线控制器。
方案1. 一种用于车辆的分布嵌入式实时控制器局域网系统,包括:
用于在所述控制器局域网系统内传送消息的通信总线;
形成通过所述通信总线可通信地连接的多个通信端点的多个节点,其中每个节点包括:
用于生成车辆运行数据的至少一个应用部件;
与所述至少一个应用部件通信的电子控制单元,所述电子控制单元生成包含所述车辆运行数据的消息,所述电子控制单元在事件触发模式中用于启动所述消息向所述通信总线的传输,所述电子控制单元包括用于存储所生成的消息的发送缓冲器;
与所述电子控制单元对接的总线控制器,所述总线控制器管理消息往返于所述通信总线的转移,消息向所述通信总线上的转移由所述总线控制器间断执行,当存储在所述总线控制器的存储器内的前一消息等待在所述通信总线上传输时,所述总线控制器不能用于从所述电子控制单元接收消息,并且其中当所述存储器空闲时,所述总线控制器可用于从所述电子控制单元接收消息;
其中,当所述总线控制器不可用时,所述发送缓冲器存储从所述电子控制单元收到的消息,其中所述电子控制单元进一步包括流量整形模块,该流量整形模块用于可选择地延迟消息向所述总线控制器的转移。
方案2. 如方案1所述的系统,其中,所述发送缓冲器由相应节点内的多个应用部件共享。
方案3. 如方案1所述的系统,其中,入队任务模块管理从所述电子控制单元向所述发送缓冲器的消息转移,其中所述入队任务模块确定所述发送缓冲器内是否有可用的空闲单元,并且其中响应于所述发送缓冲器内有可用的空闲单元,将所述消息存储在所述空闲单元中。
方案4. 如方案3所述的系统,其中,所述发送缓冲器包括用于保存所述存储消息的优先级排序的发送消息链表,其中所述入队任务模块将所述消息加到所述发送消息链表中。
方案5. 如方案4所述的系统,其中,响应于所述发送缓冲器内没有可用的空闲单元,所述入队任务模块删除所述发送缓冲器中的存储消息,并且其中所述入队任务模块将所述消息加到所述发送消息链表中。
方案6. 如方案5所述的系统,其中,响应于所述发送缓冲器内没有可用的空闲单元,所述入队任务模块删除所述发送缓冲器内的最旧的存储消息。
方案7. 如方案5所述的系统,其中,响应于所述发送缓冲器内没有可用的空闲单元,所述入队任务模块删除所述发送缓冲器内的具有最低优先级的消息。
方案8. 如方案5所述的系统,其中,当所述总线控制器成功地在所述通信总线上传送相应消息时,所述流量整形模块启动计时器,其中所述计时器计算下一消息转移给所述总线控制器之前的预定时间期限。
方案9. 如方案8所述的系统,其中,出队任务模块管理从所述发送缓冲器向所述总线控制器的下一消息的转移,其中所述出队任务模块确定所述预定时间期限是否已经经过,并且其中响应于所述预定时间期限的经过,所述出队任务模块将在所述发送缓冲器中排队的所述下一消息转移给所述总线控制器。
方案10. 如方案9所述的系统,其中,从所述发送缓冲器转移给所述总线控制器的所述下一消息是存储在所述发送缓冲器中的最旧的消息。
方案11. 如方案9所述的系统,其中,从所述发送缓冲器转移给所述总线控制器的所述下一消息是存储在所述发送缓冲器中的具有最高优先级的消息。
方案12. 一种在车辆的分布嵌入式实时控制器局域网系统内的节点之间传送消息的方法,所述控制器局域网系统包括通信总线和用于控制消息在所述通信总线上的传输的总线控制器,其中所述消息向所述通信总线上的转移由所述总线控制器间断执行,所述控制器局域网系统进一步包括形成通过所述通信总线可通信地连接的多个通信端点的多个节点,每个节点包括至少一个应用部件、电子控制单元、发送缓冲器、接收缓冲器和至少一个总线控制器,所述方法包括如下步骤:
所述电子控制单元从所述至少一个应用部件接收车辆运行数据并且生成包含所述车辆运行数据的消息用于在所述通信总线上传输,所述电子控制单元在事件触发模式中用于启动所述通信总线上消息向下一相应节点的传输;
响应于所述总线控制器不能用于接收消息,将所述消息存储在所述发送缓冲器中,当存储在所述总线控制器的存储器内的前一消息等待在所述通信总线上传输时,所述总线控制器不能用于从所述电子控制单元接收下一消息,并且其中当所述存储器空闲时,所述总线控制器可用于从所述电子控制单元接收消息;
确定存储在所述总线控制器中的前一消息何时成功地在所述通信总线上传送;
确定存储在所述总线控制器中的所述前一消息成功传输之后何时经过了预定时间期限;以及
在经过了所述预定时间期限之后,从所述发送缓冲器转移下一消息给所述总线控制器;以及
在所述通信总线上传送所述消息。
方案13. 如方案12所述的方法,其中,当所述总线控制器不可用时,启动用于管理从所述电子控制单元向所述发送缓冲器的消息转移的入队任务模块,其中所述入队任务模块确定所述发送缓冲器内是否有可用的空闲单元,其中响应于所述发送缓冲器内有可用的空闲单元,所述相应的消息被存储在所述空闲单元中。
方案14. 如方案13所述的方法,其中,所述发送缓冲器包括用于保存所述存储消息的优先级排序的发送消息链表,其中响应于所述发送缓冲器内没有可用的空闲单元,所述入队任务模块删除所述发送缓冲器中的存储消息,其中所述入队任务模块将所述相应的消息加到所述空闲单元中。
方案15. 如方案14所述的方法,其中,响应于所述发送缓冲器内没有可用的空闲单元,删除所述发送缓冲器内的最旧的存储消息。
方案16. 如方案14所述的方法,其中,响应于所述发送缓冲器内没有可用的空闲单元,删除所述发送缓冲器内的具有最低优先级的消息。
方案17. 如方案13所述的方法,其中,从所述发送缓冲器转移给所述总线控制器的下一消息是所述接收缓冲器中的最旧的存储消息。
方案18. 如方案13所述的方法,其中,从所述发送缓冲器转移给所述总线控制器的下一消息是所述接收缓冲器中的具有最高优先级的消息。
方案19. 一种在车辆的分布嵌入式实时控制器局域网系统内的节点之间传送消息的方法,所述控制器局域网系统包括通信总线、用于控制消息在所述通信总线上的传输的总线控制器,其中所述消息向所述通信总线上的转移由所述总线控制器间断执行,所述控制器局域网系统进一步包括形成通过所述通信总线可通信地连接的多个通信端点的多个节点,每个节点包括至少一个应用部件、电子控制单元、发送缓冲器、接收缓冲器和至少一个总线控制器,所述方法包括如下步骤:
所述电子控制单元从所述至少一个应用部件接收车辆运行数据并且生成包含所述车辆运行数据的消息用于在所述通信总线上传输,所述电子控制单元在事件触发模式中用于启动所述通信总线上消息向下一相应节点的传输;
响应于所述总线控制器不可用,将所述消息存储在所述发送缓冲器中,当存储在所述总线控制器的存储器内的前一消息等待在所述通信总线上传输时,所述总线控制器不能用于从所述电子控制单元接收下一消息,并且其中当所述存储器空闲时,所述总线控制器可用于从所述电子控制单元接收消息;
确定存储在所述总线控制器中的所述前一消息何时成功地在所述通信总线上传送;
响应于存储在所述总线控制器中的所述前一消息成功地在所述通信总线上传送,将流量整形标志置“0”,其中将流量整形标志置“0”表明所述消息不能转移给所述总线控制器;
确定何时经过了预定时间期限;
响应于所述预定时间期限的经过,设置所述流量整形标志以表明所述消息能够转移给所述总线控制器;以及
响应于所述流量整形标志的设置,从所述发送缓冲器转移所述消息给所述总线控制器。
附图说明
图1是控制器局域网系统的示意图。
图2是时间线,图解了控制器局域网系统中的数据消息处理。
图3是时间线,图解了控制器局域网系统的缓冲技术。
图4是根据本发明实施例的发送缓冲器的缓冲技术的流程图。
图5是根据本发明实施例的发送缓冲器的入队任务的流程图。
图6是根据本发明实施例的发送缓冲器的出队任务的流程图。
图7是根据本发明实施例的流量整形管理程序的流程图。
具体实施方式
图1示出的是控制器局域网(CAN)系统10。CAN系统10包括多个电子控制单元(ECU)12-18,它们与允许这些ECU彼此通信的通信总线20连接。多个ECU 12-18中的每个都与一个或多个传感器、致动器或控制装置(这个群体在下文称作应用部件)连接并且总体上分别由22-28代表。这些应用部件不直接连接到通信总线20,而是通过相应的ECU连接。这些应用部件还可以是ECU中的软件部件。单个控制特征可以覆盖多个应用部件,并且涉及从源头到目的ECU经由连接到同一通信总线的一个或多个中间处理/控制ECU的控制信号。对本发明来说,应当理解,CAN系统是本领域已知的,并且ECU、应用装置、CAN控制器和收发器称为节点并且这里将不再详细论述它们的结构的细节。
在图1中,在通信总线20上串联地传送消息给每个ECU 12-18然后给应用部件22-28。每个节点N1、N2、N3和N4在传送每个消息给下一相应的节点之前处理每个消息。图2中图示了消息组中的五个消息d1-d5。消息d1-d5都连续地传送给第一节点N1。在第一节点N1处,定期处理每个消息并且然后相应地将其传送至第二节点N2进行另外的处理。时间线30代表消息d1-d5输入给第一节点N1时的相应时间。时间线32代表消息d1-d5提供给总线控制器(下文称为总线控制器)用于经由通信总线传输给第二节点N2时的相应时间。每个节点将具有至少一个总线控制器用于控制消息往返于通信总线的传送。
由于通信总线上的争用,消息可能不会立即加到总线控制器上。如果存在争用,那么消息可能丢失。
图2图解了消息丢失的一个例子。在第一节点N1处理第一消息d1然后在通信总线上将其传送至第二节点N2。时间线34图解了在第二节点N2收到消息d1时的时间。在第二节点N2处理第一消息d1然后将其提供给总线控制器用于在通信总线上传输。消息d2成功地在通信总线上传送并且被第二节点N2收到,如时间线32图解的。在消息d2到达节点N2之前,节点N2上应用部件的第二执行需要输入,如38所示,在这种情况下,重新使用第一消息d1,如图2中的虚线36所示。在线34上的节点N2上的应用部件的第二执行与第三执行之间,两个输入消息d2和d3到达节点N2,如图2中的线32所示。因为每个节点的典型的缓冲器大小仅仅能够容纳一个消息,消息d2在能够被节点N2上的应用部件使用之前将被消息d3盖写。因此,节点N2上应用部件的第三执行将使用消息d3,并且消息d2将丢失。
图2进一步示出了,由于接收缓冲器处的争用,消息d1被反复地重新使用,消息d3和d4也丢失了。从第四节点N4输出的处理过的消息包括d1-d1-d1-d1-d5。数据消息d2、d3、d4丢失了,归因于可能是抖动、有限缓冲器或异步时钟的直接后果的消息盖写。
为了减少由总线控制器处或通信总线上的争用引起的消息丢失,在每个节点采用基于软件的发送缓冲器。CAN控制器硬件包括用于数据传输和接收的硬件缓冲单元(CAN信箱区)。因此,本文描述的实施例涉及基于软件的缓冲策略,而不影响实际的CAN控制器硬件缓冲器使用。节点内相应的ECU将包括被相应节点上的全部应用部件共享的发送缓冲器。例如,对于图2中描绘的节点N1-N4,N1中的全部应用部件使用公用发送缓冲器,N2中的全部应用部件使用公用发送缓冲器,N3中的全部应用部件使用公用发送缓冲器,而N4中的全部应用部件也使用公用发送缓冲器。
图3图解了用于防止消息丢失的发送缓冲器的使用。如图3所示,以时间线40上示出的时间周期传送消息d1-d5至第一节点N1。时间线41代表传送出消息至总线控制器时的时间。时间线42代表在通信总线上传送出消息和第二节点N2收到时的时间。
发送缓冲器44集成在第一节点N1的ECU内并且被第一节点N1上的全部应用部件共享。发送缓冲器45集成在第二节点N2的ECU内并且被第二节点N2上的全部应用部件共享。发送缓冲器44临时存储消息,直到(1)总线控制器预备接受在通信总线上传输的下一消息,和(2)从传送前一消息开始经过了预定时间期限。等待通信总线上传送前一消息之后的预定时间期限经过确保了给下一节点的接收单元提供足够时间量来接收和处理消息。在相应节点的接收侧,接收装置和应用部件都间断地执行。因此,总线控制器以一定时间间隔及时传送消息,以确保给了应用部件充足时间来读取前一消息中的输入数据,所以在接收下一消息之前可以清除前一消息。因此,即使总线控制器空闲并且可用于接收消息,来自消息组d1-d5的消息不能转移给控制器,直到在总线控制器证实前一消息成功地在通信总线上传送之后经过了预定时间期限。
在图3中,在时间线41上,消息d2被示出为由总线控制器在通信总线上传送。消息d3转移给第一节点N1进行处理并且可用于转移给总线控制器,总体如时间线41上的46所示。然而,在总线控制器记录了表明消息d2成功地在通信总线上传送的证实消息之后开始的预定时间期限还没有经过。因此,可用于在时刻46转移的消息d3保存在发送缓冲器44中,直到预定时间期限已经经过,如时刻48标识的。在时刻48,消息转移给总线控制器用于在通信总线上传输。每个ECU执行流量整形程序(traffic shaping routine),其基于计时器功能确定何时经过了预定时间期限,这表明消息何时可以转移给总线控制器。
图4图解了发送缓冲器管理技术的流程图的宽泛概况,该技术用于从相应节点的应用部件转移消息给总线控制器。
在框50处,应用部件处理车辆运行数据并且转移数据给节点内的ECU,用于生成并且在通信总线上传送消息。在框51处,启动发送缓冲器入队任务。在框52处,相应的消息被存储在发送缓冲器的相应单元中。在框53处,启动发送缓冲器出队任务。在框54处,消息转移给总线控制器用于在通信总线上传输。
给总线控制器的消息的缓冲进程由入队任务模块和出队任务模块管理。当由于总线控制器的存储器被占用而使ECU不能传送消息给总线控制器时,执行入队任务。当总线控制器不可用时,入队任务模块提供程序将消息加到发送缓冲器的相应单元中。
发送缓冲器包括多个缓冲单元。将发送缓冲器内的每个缓冲单元当作独立的存储块,并且不同缓冲单元中的消息在发送消息链表中被排序。发送消息链表优先考虑缓冲单元的顺序。应用部件提供车辆运行数据给ECU。入队任务模块将包含车辆运行数据的消息加到发送缓冲器中。ECU的入队任务模块保存每个缓冲单元的二进制标志。当对应的缓冲单元空闲时,二进制标志设为1。当对应的缓冲单元被占用时,二进制标志设为0。
当入队任务模块需要增加新消息给发送缓冲器时,首先检查每个缓冲单元中的二进制标志的状态。如果二进制标志表明存在空闲的缓冲单元(即二进制标志设为1),那么将输入新消息到该缓冲单元中并且相应的缓冲单元被加到发送消息链表的末端。相应的缓冲单元的标志从1变到0。如果不存在可用的空闲缓冲单元,那么,能够采用不同的删除策略来容纳新消息,例如,首先删除最旧的消息或者首先删除最低优先级的消息。
出队任务用来按顺序从发送缓冲器转移消息给总线控制器。在从总线控制器收到证实消息之后并且在设置流量计时器标志之后,触发出队任务。也就是说,在执行出队任务时,只在确定总线控制器可用之后并且在从总线控制器成功地在通信总线上传送前一消息开始经过了预定时间期限之后,才从发送缓冲器转移消息给总线控制器。如果满足转移消息的条件,那么将转移消息给总线控制器并且将删除发送缓冲器中的相应的消息;否则,该消息将留在发送缓冲器中直到满足那些条件。
一旦消息在通信总线上成功传输,总线控制器将生成被ECU接收的证实消息。流量整形模块会将流量整形标志置“0”并且将启动流量整形计时器。一旦计时器到时间了,这个消息组的流量整形标志就被设置为表明这个组d1-d5内的任一消息能够被出队任务发送给总线控制器。
当ECU收到证实消息时并且当流量整形标志被设置(即流量整形计时器到时间)时,执行出队任务。各种出队策略可用于确定选择发送缓冲器中的哪个消息转移给通信控制器。出队策略可包括首先删除最旧的消息或者首先删除最高优先级的消息。
图5图解了如图4的框51处标识的启动的发送缓冲器入队任务模块的详细过程。在框60处,启动发送缓冲器入队算法。在框61处,确定发送缓冲器中是否有空闲的缓冲单元可用。这个确定是基于任一缓冲单元是否具有表明空闲单元状态的二进制标志。如果确定缓冲单元是空闲的,那么程序继续到框63。如果确定发送缓冲器中没有可用的空闲缓冲单元,那么程序继续到框62。
在框62处,按照删除策略删除发送缓冲单元中当前存储的消息(例如,首先删除最旧的消息或者首先删除最低优先级的消息)。
在框63处,新消息存储在空闲的缓冲单元中。缓冲单元的二进制标志设为1,并且该缓冲单元被加到发送消息链表中。
在框64处,对于相应的转移任务,入队算法结束。
图6图解了如图4的框53处标识的启动的发送缓冲器出队任务的详细过程。在框70处,启动发送缓冲器出队算法。在框71处,确定总线控制器是否可用于接受消息。如果确定总线控制器不可用,那么程序继续到框74。如果确定总线控制器缓冲器可用来接受消息,那么程序继续到框72。
在框72处,确定是否设置流量整形标志。如果确定流量整形标志被置“0”,那么程序结束。如果确定流量整形标志被设置,那么程序继续到框73。
在框73处,按照出队过程策略从发送缓冲器移除消息并且将其转移给总线控制器(例如,首先使最旧的消息出队或者首先使最高优先级的消息出队)。
在框74处,对于相应的转移任务,出队算法结束。
图7图解了流量整形程序的流程图。在框80处,启动流量整形程序。在框81处,确定是否向总线控制器发送消息。如果确定最近已经由ECU针对这个消息组向总线控制器发送消息,那么程序继续到框85。在框85处,流量整形标志被置“0”。程序继续到框87。如果确定最近没有向总线控制器发送消息,那么程序继续到框82。
在框82处,确定是否从总线控制器收到了表明总线控制器内存储的前一消息成功地在通信总线上传送的证实消息。如果收到证实消息,那么程序继续到框86。在框86处,开始这个消息组的流量整形时间。程序然后继续到框87。如果确定没有收到证实消息,那么程序继续到框83。
在框83处,确定流量整形计时器是否到时间了。如果流量整形计时器没有到时间,那么程序继续到框87。如果确定流量整形计时器到时间了,那么程序继续到框84。
在框84处,设置流量整形标志,并且它触发用于转移消息给总线控制器的出队任务。程序继续到框87。
在框87处,结束这个任务的流量整形程序。
尽管已经详细描述了本发明的某些实施例,但是本领域技术人员将认识到用于实施由所附权利要求限定的本发明的各种替代设计和实施例。

Claims (10)

1.一种用于车辆的分布嵌入式实时控制器局域网系统,包括:
用于在所述控制器局域网系统内传送消息的通信总线;
形成通过所述通信总线可通信地连接的多个通信端点的多个节点,其中每个节点包括:
用于生成车辆运行数据的至少一个应用部件;
与所述至少一个应用部件通信的电子控制单元,所述电子控制单元生成包含所述车辆运行数据的消息,所述电子控制单元在事件触发模式中用于启动所述消息向所述通信总线的传输,所述电子控制单元包括用于存储所生成的消息的发送缓冲器;
与所述电子控制单元对接的总线控制器,所述总线控制器管理消息往返于所述通信总线的转移,消息向所述通信总线上的转移由所述总线控制器间断执行,当存储在所述总线控制器的存储器内的前一消息等待在所述通信总线上传输时,所述总线控制器不能用于从所述电子控制单元接收消息,并且其中当所述存储器空闲时,所述总线控制器可用于从所述电子控制单元接收消息;
其中,当所述总线控制器不可用时,所述发送缓冲器存储从所述电子控制单元收到的消息,其中所述电子控制单元进一步包括流量整形模块,该流量整形模块用于可选择地延迟消息向所述总线控制器的转移。
2.如权利要求1所述的系统,其中,所述发送缓冲器由相应节点内的多个应用部件共享。
3.如权利要求1所述的系统,其中,入队任务模块管理从所述电子控制单元向所述发送缓冲器的消息转移,其中所述入队任务模块确定所述发送缓冲器内是否有可用的空闲单元,并且其中响应于所述发送缓冲器内有可用的空闲单元,将所述消息存储在所述空闲单元中。
4.如权利要求3所述的系统,其中,所述发送缓冲器包括用于保存所述存储消息的优先级排序的发送消息链表,其中所述入队任务模块将所述消息加到所述发送消息链表中。
5.如权利要求4所述的系统,其中,响应于所述发送缓冲器内没有可用的空闲单元,所述入队任务模块删除所述发送缓冲器中的存储消息,并且其中所述入队任务模块将所述消息加到所述发送消息链表中。
6.如权利要求5所述的系统,其中,响应于所述发送缓冲器内没有可用的空闲单元,所述入队任务模块删除所述发送缓冲器内的最旧的存储消息。
7.如权利要求5所述的系统,其中,响应于所述发送缓冲器内没有可用的空闲单元,所述入队任务模块删除所述发送缓冲器内的具有最低优先级的消息。
8.如权利要求5所述的系统,其中,当所述总线控制器成功地在所述通信总线上传送相应消息时,所述流量整形模块启动计时器,其中所述计时器计算下一消息转移给所述总线控制器之前的预定时间期限。
9.一种在车辆的分布嵌入式实时控制器局域网系统内的节点之间传送消息的方法,所述控制器局域网系统包括通信总线和用于控制消息在所述通信总线上的传输的总线控制器,其中所述消息向所述通信总线上的转移由所述总线控制器间断执行,所述控制器局域网系统进一步包括形成通过所述通信总线可通信地连接的多个通信端点的多个节点,每个节点包括至少一个应用部件、电子控制单元、发送缓冲器、接收缓冲器和至少一个总线控制器,所述方法包括如下步骤:
所述电子控制单元从所述至少一个应用部件接收车辆运行数据并且生成包含所述车辆运行数据的消息用于在所述通信总线上传输,所述电子控制单元在事件触发模式中用于启动所述通信总线上消息向下一相应节点的传输;
响应于所述总线控制器不能用于接收消息,将所述消息存储在所述发送缓冲器中,当存储在所述总线控制器的存储器内的前一消息等待在所述通信总线上传输时,所述总线控制器不能用于从所述电子控制单元接收下一消息,并且其中当所述存储器空闲时,所述总线控制器可用于从所述电子控制单元接收消息;
确定存储在所述总线控制器中的前一消息何时成功地在所述通信总线上传送;
确定存储在所述总线控制器中的所述前一消息成功传输之后何时经过了预定时间期限;以及
在经过了所述预定时间期限之后,从所述发送缓冲器转移下一消息给所述总线控制器;以及
在所述通信总线上传送所述消息。
10.一种在车辆的分布嵌入式实时控制器局域网系统内的节点之间传送消息的方法,所述控制器局域网系统包括通信总线、用于控制消息在所述通信总线上的传输的总线控制器,其中所述消息向所述通信总线上的转移由所述总线控制器间断执行,所述控制器局域网系统进一步包括形成通过所述通信总线可通信地连接的多个通信端点的多个节点,每个节点包括至少一个应用部件、电子控制单元、发送缓冲器、接收缓冲器和至少一个总线控制器,所述方法包括如下步骤:
所述电子控制单元从所述至少一个应用部件接收车辆运行数据并且生成包含所述车辆运行数据的消息用于在所述通信总线上传输,所述电子控制单元在事件触发模式中用于启动所述通信总线上消息向下一相应节点的传输;
响应于所述总线控制器不可用,将所述消息存储在所述发送缓冲器中,当存储在所述总线控制器的存储器内的前一消息等待在所述通信总线上传输时,所述总线控制器不能用于从所述电子控制单元接收下一消息,并且其中当所述存储器空闲时,所述总线控制器可用于从所述电子控制单元接收消息;
确定存储在所述总线控制器中的所述前一消息何时成功地在所述通信总线上传送;
响应于存储在所述总线控制器中的所述前一消息成功地在所述通信总线上传送,将流量整形标志置“0”,其中将流量整形标志置“0”表明所述消息不能转移给所述总线控制器;
确定何时经过了预定时间期限;
响应于所述预定时间期限的经过,设置所述流量整形标志以表明所述消息能够转移给所述总线控制器;以及
响应于所述流量整形标志的设置,从所述发送缓冲器转移所述消息给所述总线控制器。
CN201210002828.1A 2011-01-06 2012-01-06 使用发送缓冲器和流量整形实现的消息防丢失 Active CN102594658B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/985,518 US8670314B2 (en) 2011-01-06 2011-01-06 Message loss prevention by using sender buffer and traffic shaping in event-triggered distributed embedded real-time systems
US12/985518 2011-01-06
US12/985,518 2011-01-06

Publications (2)

Publication Number Publication Date
CN102594658A true CN102594658A (zh) 2012-07-18
CN102594658B CN102594658B (zh) 2015-03-25

Family

ID=46455134

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210002828.1A Active CN102594658B (zh) 2011-01-06 2012-01-06 使用发送缓冲器和流量整形实现的消息防丢失

Country Status (3)

Country Link
US (1) US8670314B2 (zh)
CN (1) CN102594658B (zh)
DE (1) DE102011122644B4 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107786299A (zh) * 2016-08-25 2018-03-09 华为技术有限公司 一种发送和接收业务的方法、装置和网络系统
CN108234352A (zh) * 2016-12-12 2018-06-29 丰田自动车株式会社 电子控制单元和数据发送方法
CN111385061A (zh) * 2018-12-27 2020-07-07 通用汽车环球科技运作有限责任公司 车内通信的限定定时分析
CN115576309A (zh) * 2022-12-05 2023-01-06 北京理工大学深圳汽车研究院(电动车辆国家工程实验室深圳研究院) 一种基于多目标设计的车载网络区域架构方法和车辆

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BR0016875A (pt) * 1999-12-29 2003-06-17 Hill Rom Services Inc Suporte de paciente, colchão configurado para suportar um paciente, método para suportar um paciente, método de manter alìvio de pressão no calcanhar de um paciente, sistema de pressão para uso com um colchão de suporte de paciente, e, armação para um suporte de paciente
US9999398B2 (en) * 2013-09-04 2018-06-19 Roche Diabetes Care, Inc. Presenting data generated by a continuous glucose monitor
DE102015012123A1 (de) * 2015-09-17 2017-03-23 Wabco Gmbh Verfahren zur Nachrichtenübertragung auf einem Bussystem eines Fahrzeugs, Bussystem für ein Fahrzeug, Busteilnehmer für ein Bussystem, Fahrzeugsteuergerät
US10361818B2 (en) * 2017-01-13 2019-07-23 Hamilton Sundstrand Corporation Message dropout minimization when transporting isochronous packets across a plesiochronous boundary

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1258404A (zh) * 1997-05-27 2000-06-28 微动公司 使用“控制器局域”协议的确定性串行总线通信系统
US20040255180A1 (en) * 1998-04-12 2004-12-16 Wataru Nagaura Highly reliable distributed system
CN1647463A (zh) * 2002-01-31 2005-07-27 奇幻公司 用于对数据包传输进行定时以控制带宽的方法和系统
US20060271694A1 (en) * 2005-04-28 2006-11-30 Fujitsu Ten Limited Gateway apparatus and routing method
CN101111826A (zh) * 2005-01-31 2008-01-23 罗伯特·博世有限公司 通过通信系统的通信连接在消息中传输数据的方法以及通信系统的通信模块、用户和用于实现该方法的通信系统
US20100329272A1 (en) * 2009-04-03 2010-12-30 Honda Motor Co., Ltd. Vehicle onboard gateway apparatus

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10148331B4 (de) * 2001-09-29 2012-09-13 Bayerische Motoren Werke Aktiengesellschaft Steuervorrichtung zur Steuerung eines Datenbuszugangs eines Datenpakets
KR100547139B1 (ko) * 2003-09-03 2006-01-26 학교법인 고황재단 IETF QoS 프로토콜을 이용한 MPEG 미디어데이터 전송 방법 및 장치

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1258404A (zh) * 1997-05-27 2000-06-28 微动公司 使用“控制器局域”协议的确定性串行总线通信系统
US20040255180A1 (en) * 1998-04-12 2004-12-16 Wataru Nagaura Highly reliable distributed system
CN1647463A (zh) * 2002-01-31 2005-07-27 奇幻公司 用于对数据包传输进行定时以控制带宽的方法和系统
CN101111826A (zh) * 2005-01-31 2008-01-23 罗伯特·博世有限公司 通过通信系统的通信连接在消息中传输数据的方法以及通信系统的通信模块、用户和用于实现该方法的通信系统
US20060271694A1 (en) * 2005-04-28 2006-11-30 Fujitsu Ten Limited Gateway apparatus and routing method
US20100329272A1 (en) * 2009-04-03 2010-12-30 Honda Motor Co., Ltd. Vehicle onboard gateway apparatus

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107786299A (zh) * 2016-08-25 2018-03-09 华为技术有限公司 一种发送和接收业务的方法、装置和网络系统
US11140079B2 (en) 2016-08-25 2021-10-05 Huawei Technologies Co., Ltd. Service sending method and apparatus, service receiving method and apparatus, and network system
CN108234352A (zh) * 2016-12-12 2018-06-29 丰田自动车株式会社 电子控制单元和数据发送方法
CN108234352B (zh) * 2016-12-12 2021-12-14 丰田自动车株式会社 电子控制单元和数据发送方法
CN111385061A (zh) * 2018-12-27 2020-07-07 通用汽车环球科技运作有限责任公司 车内通信的限定定时分析
CN115576309A (zh) * 2022-12-05 2023-01-06 北京理工大学深圳汽车研究院(电动车辆国家工程实验室深圳研究院) 一种基于多目标设计的车载网络区域架构方法和车辆

Also Published As

Publication number Publication date
DE102011122644B4 (de) 2015-07-16
US20120176895A1 (en) 2012-07-12
DE102011122644A1 (de) 2012-07-12
US8670314B2 (en) 2014-03-11
CN102594658B (zh) 2015-03-25

Similar Documents

Publication Publication Date Title
CN102594658B (zh) 使用发送缓冲器和流量整形实现的消息防丢失
CN102594640B (zh) 使用发送和接收缓冲器实现的消息防丢失
US20050102456A1 (en) Command transmission method and command transmission apparatus in pipeline bus system
EP1593009B1 (en) Industrial control network providing ethernet protocol overlayed with a transmission schedule
EP2506165A2 (en) Distributed file system
EP2038744B1 (en) Method and system of grouping interrupts from a time-dependent data storage means
TW200928769A (en) Schedule and data caching for wireless transmission
CN109587077B (zh) 用于tte网络的混合调度方法、tte网络终端
NL8601614A (nl) Communicatienetwerk en communicatiewerkwijze.
WO2014037916A4 (en) Method and apparatus for transferring packets between interface control modules of line cards
CN111698175B (zh) 一种用于网关的报文收发方法及系统
CN108462654B (zh) 增强型gjb289a总线通信管理和调度方法
CN101656658B (zh) 一种提高队列管理中出队效率的方法和装置
WO2007147435A1 (en) Method for transmitting a datum from a time-dependent data storage means
EP1220497A2 (en) Packet switch
CN108462653B (zh) 基于tte的协议控制帧快速发送方法
JP3713977B2 (ja) リアルタイム分散システム
US20100030930A1 (en) Bandwidth conserving protocol for command-response bus system
CN100456688C (zh) 一种接口状态信息的上报方法
JP4784838B2 (ja) 分配装置、通信システム及び通信方法
EP0703553B1 (en) Method for adapting data flows
JP2009278408A (ja) データ伝送システム
Livani et al. A total ordering scheme for real-time multicasts in CAN
JP3323719B2 (ja) スター型通信装置
CN117688579A (zh) 重复传输定义数据的方法、设备、程序产品和存储器介质

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