CN103155492A - 通信系统及通信装置 - Google Patents

通信系统及通信装置 Download PDF

Info

Publication number
CN103155492A
CN103155492A CN2011800394417A CN201180039441A CN103155492A CN 103155492 A CN103155492 A CN 103155492A CN 2011800394417 A CN2011800394417 A CN 2011800394417A CN 201180039441 A CN201180039441 A CN 201180039441A CN 103155492 A CN103155492 A CN 103155492A
Authority
CN
China
Prior art keywords
message
time slot
ecu1
mentioned
communicator
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
CN2011800394417A
Other languages
English (en)
Other versions
CN103155492B (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.)
Nagoya University NUC
Sumitomo Wiring Systems Ltd
AutoNetworks Technologies Ltd
Sumitomo Electric Industries Ltd
Original Assignee
Nagoya University NUC
Sumitomo Wiring Systems Ltd
AutoNetworks Technologies Ltd
Sumitomo Electric Industries 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 Nagoya University NUC, Sumitomo Wiring Systems Ltd, AutoNetworks Technologies Ltd, Sumitomo Electric Industries Ltd filed Critical Nagoya University NUC
Publication of CN103155492A publication Critical patent/CN103155492A/zh
Application granted granted Critical
Publication of CN103155492B publication Critical patent/CN103155492B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/08Arrangements for detecting or preventing errors in the information received by repeating transmission, e.g. Verdan system
    • 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/407Bus networks with decentralised control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • 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/407Bus networks with decentralised control
    • H04L12/417Bus networks with decentralised control with deterministic access, e.g. token passing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link
    • H04L2001/0094Bus

Abstract

在通过共用的总线(5)连接多个ECU(1)的网络结构中,预先对各ECU(1)分配一个或多个时隙,多个ECU(1)以针对每个时隙所规定的顺序巡回地进行消息的发送。各ECU(1)在进行一个时隙的消息发送时,生成并发送包含应向其他ECU(1)发送的数据及分别表示其他时隙的消息接收的成败的信息在内的消息。各ECU(1)查询在从一个时隙的上一次的消息发送至下一次的消息发送为止的一个周期期间内接收的消息所包含的ACK字段的信息,当上一次的消息未被其他ECU(1)正确接收时,在下一个时隙中进行消息的重发。

Description

通信系统及通信装置
技术领域
本发明涉及车辆所搭载的ECU(Electronic Control Unit,电子控制单元)等多个通信装置经由共用的通信线(总线)进行数据的发送/接收的通信系统及通信装置。
背景技术
以往,在车辆中搭载多个电子设备来进行各种处理。为了控制这些电子设备的动作而在车辆中搭载多个ECU。另外,为使多个ECU协调动作,将各ECU经由网络相互连接,进行数据的发送/接收而实现多个ECU共享信息,在此情况下广泛采用CAN(Controller Area Network,控制器局域网)(参照非专利文献1、非专利文献2)作为通信协议。
在CAN协议中,将多个ECU与由传送工作信号的双绞线(TwistedPair Cable)构成的总线连接,各ECU发送/接收由工作信号表示的数字数据。另外,CAN是串行通信协议,只有与CAN总线连接的多个ECU中的一个ECU能够发送数据,其他ECU被控制以使其处于待机状态直至一个ECU完成数据的发送为止。另外,在多个ECU同时进行数据的发送的情况下,以附加到数据中的ID为基础进行协调,以进行优先级高的数据的发送的方式进行控制。
非专利文献
非专利文献1:ISO11898-1:2003Road vehicles--Controller areanetwork(CAN)--Part1:Data link layer and physical signaling
非专利文献2:ISO11519-1:1994Road vehicles--Low-speed serialdata communication--Part1:General and definitions
发明内容
发明要解决的课题
近年来,随着在车辆中进行的电子控制的高功能化,车辆所搭载的ECU被高功能化并且搭载数量增加,在ECU间发送/接收的数据量及发送/接收的发生频率增大。因此,在遵照现有的CAN协议的通信系统的通信速度(1Mbps左右)下,能够发送/接收的数据量不充足,现有的车载通信系统正达到通信容量的极限。
对此,作为实现通信速度的高速化的通信协议,提出了FlexRay等协议。通过采用这样的其他协议能够实现通信速度的高速化,但是将现有的通信系统整体从CAN协议更换为其他协议,会给装置的开发成本及系统的可靠性等方面造成重大负担。
因此,对于基于现有的CAN的通信系统,希望找到能够从要求高速通信的部分逐渐地更换为与CAN具有兼容性的高速的上位协议的方法,通过找到该方法能够尽可能地消除上述开发成本及可靠性等涉及的问题。
在现有的CAN协议中,限制通信速度的提升的原因中可列举多个ECU同时发送数据的情况下进行的调停处理(仲裁)所需的处理时间。例如为了进行仲裁,各通信装置在对总线输出自身的发送数据的信号后,检测与其他通信装置输出的信号的冲突引起的总线上的信号的变化的有无,但考虑到其他通信装置输出的信号的传输延迟等,需要在一定程度的待机时间后进行信号检测。此时的待机时间成为通信速度提升的阻碍。
本发明鉴于上述情况而作出,其目的在于提供一种通信系统及通信装置,其以CAN协议为基础,能够消除仲裁的处理时间等速度提升方面的限制要因,而使与总线连接的多个通信装置进行的数据的发送/接收高速化。
用于解决课题的手段
本发明的通信系统的特征在于,多个通信装置通过共用的通信线连接,一个通信装置发送的消息被其他多个通信装置接收,在该通信系统中,对各通信装置预先分配一个或多个发送权利,上述多个通信装置以针对每个该发送权利所规定的顺序巡回地进行消息的发送,上述通信装置具有:消息发送单元,生成并发送包含多个接收成败信息及应向其他通信装置发送的数据在内的消息,其中上述多个接收成败信息分别表示各发送权利涉及的消息接收的成败;和消息重发单元,根据从其他通信装置接收到的消息所包含的接收成败信息进行消息的重发。
另外,本发明的通信系统的特征在于,上述通信装置的消息发送单元使在从自身的一个发送权利涉及的上次的消息发送至此次的消息发送为止的一个周期期间内发送的、其他发送权利涉及的消息接收的成败作为上述接收成败信息包含在发送的消息中。
另外,本发明的通信系统的特征在于,各通信装置在预定时间内未进行一个通信权利涉及的消息的发送的情况下进行下一个通信权利涉及的消息的发送或接收。
另外,本发明的通信系统的特征在于,上述通信装置的消息发送单元生成并发送包含用于识别发送权利的识别信息在内的消息,各通信装置基于接收到的消息的上述识别信息进行消息发送/接收的同步。
另外,本发明的通信系统的特征在于,上述通信装置的消息发送单元生成并发送包含用于检测或改正上述识别信息的错误的信息在内的消息。
另外,本发明的通信系统的特征在于,上述通信装置具有错误计数器,上述错误计数器对消息的发送/接收的错误发生次数进行计数,上述通信装置的消息发送单元在上述错误计数器所计数的错误发生次数超过预定值的情况下降低消息发送的频率。
另外,本发明的通信系统的特征在于,上述通信装置具有通信开始单元,上述通信开始单元在起动后的预定周期内未进行消息的发送并在上述预定周期期间内从其他通信装置接收到消息的情况下与该消息同步地进行以后的消息发送,在上述预定周期期间内未从其他通信装置接收消息的情况下进行消息发送,开始与其他通信装置之间的消息发送/接收。
另外,本发明的通信系统的特征在于,上述通信装置具有计时单元,上述计时单元对直至消息发送为止的待机时间进行计时,上述通信装置的通信开始单元在进行了消息发送的情况下或在上述预定周期期间内从其他通信装置接收到异常的消息的情况下,在用上述计时单元对与被分配的发送权利相应的待机时间进行了计时后,进行消息的发送,多个上述通信装置用上述计时单元对分别不同的待机时间进行计时。
另外,本发明的通信系统的特征在于,上述通信装置具有:计时单元,对直至消息发送为止的待机时间进行计时;和通信重开单元,在预定周期期间内未从其他通信装置接收消息的情况下,在用上述计时单元对与被分配的发送权利相应的待机时间进行了计时后,重新开始消息发送,多个上述通信装置用上述计时单元对分别不同的待机时间进行计时。
另外,本发明的通信系统的特征在于,上述通信装置具有:通信停止请求发送单元,发送请求停止消息发送的消息;通信停止请求接收单元,从其他通信装置接收请求停止通信处理的消息;以及通信停止控制单元,在预定周期内上述通信停止请求接收单元从多个其他通信装置接收到请求停止通信处理的消息的情况下停止消息发送。
另外,本发明的通信装置其特征在于,经由共用的通信线与其他装置之间进行消息的发送/接收,在该通信装置中,预先分配有一个或多个发送权利,所述通信装置具备:消息发送单元,生成并发送包含多个接收成败信息及应向其他装置发送的数据在内的消息,其中上述多个接收成败信息分别表示包括分配给其他装置的发送权利在内的各发送权利涉及的消息接收的成败;和消息重发单元,根据从其他装置接收到的消息所包含的接收成败信息进行消息的重发。
在本发明中,构成为:在通过共用的通信线(总线)连接多个通信装置而得到的网络结构中,对各通信装置预先分配一个或多个发送权利(以下称为时隙),各通信装置在自身的时隙中以预定的顺序巡回地进行消息的发送。由此,构成为多个通信装置以预定的顺序来分时地利用总线而进行数据的发送,因而不会像现有的CAN协议那样多个通信装置同时进行数据发送,无需进行仲裁。因此,没有仲裁所需的时间的制约,能够使通信速度高速化。
另外各通信装置在进行一个时隙涉及的消息发送时,生成并发送包含分别表示其他时隙涉及的消息接收的成败的多个接收成败信息和应向其他通信装置发送的数据在内的消息。此外,没有应向其他通信装置发送的数据时,也可以生成并发送包含接收成败信息而不包含数据的消息。通过构成为发送包含接收成败信息及数据的消息,各通信装置能够有效地利用分配给自身的时隙而向其他通信装置通知消息接收的成败,并且,能够将自身具有的数据提供给其他通信装置。
一个通信装置发送的消息被与总线连接的其他所有通信装置接收。接收到消息的各通信装置能够获取消息所包含的数据,并且能够从消息所包含的接收成败信息判断以前自身发送的消息是否被正确接收。因此,各通信装置查询在从一个时隙涉及的上一次的消息发送至该时隙涉及的下一次的消息发送为止的一个周期期间内接收到的消息所包含的接收成败信息,上一次发送的消息未被正确接收时,能够在同一时隙涉及的下一次发送机会被给予时进行消息的重发。
由此,不进行像现有的CAN协议那样的仲裁,多个通信装置能够高效地巡回进行消息发送而不会使消息的发送产生冲突,即使在因某些不良情况而未正确接收到消息时,也能够可靠地重发消息。
另外,在本发明中,在各通信装置生成的消息中作为接收成败信息包含从一个发送权利涉及的上一次的消息发送至此次的消息发送为止的一个周期期间内发送/接收的、其他时隙涉及的消息接收的成败。即,通信系统中的时隙总数相应量的接收成败信息作为一个周期量的信息而包含在消息中(但可以省略对自身的时隙的接收成败信息,此时消息中包含时隙总数-1的信息)。这样各通信装置发送一个周期量的接收成败信息,在一个周期期间内接收从其他通信装置发送的接收成败信息,从而各通信装置能够知道自身发送的消息是否被共享总线的其他所有通信装置正确接收。
另外,在本发明中,到达一个时隙涉及的消息的发送顺序后,未进行该时隙涉及的消息发送时,推断被分配了该时隙的通信装置的处理因某些原因(例如故障等不良情况或睡眠模式等)而停止。因此各通信装置在预定时间内未进行一个时隙涉及的消息发送时,省略该时隙涉及的消息发送/接收的处理,进行下一个时隙涉及的消息发送/接收的处理。由此,能够尽可能缩短不进行消息的发送/接收的期间,从而能够有助于通信速度的高速化。另外,即使在为了向通信系统追加选配装备等而设置预备时隙的情况下,在未追加选配装备的状态下也能够省略预备时隙涉及的处理。
另外,在本发明中,在各通信装置生成的消息中,包含用于识别时隙的识别信息(例如时隙序号)。加入到本通信系统中的多个通信装置分时地共用总线,因而需要掌握正在使用总线的时隙是哪一个,从而同步地进行消息发送。因此各通信装置对应于接收到的消息所包含的时隙序号的接收时机来进行消息发送/接收的处理的同步。由此多个通信装置能够同步地进行处理,从而能够可靠地进行消息发送/接收。
另外,在本发明中,各通信装置生成的消息包含时隙序号等识别信息,并包含用于进行该识别信息的错误检测或改正的信息。即使在现有的CAN协议中,消息中也包含用于消息整体的错误检测的信息(CRC(Cyclic Redundancy Check)序列),但与此不同的是消息中包含用于只对时隙序号等进行错误检测或改正的信息。在本通信系统中,多个通信装置分时地利用总线而巡回地进行消息发送,因而判断发送的消息属于哪一个时隙是重要的处理,若能够用于该判断的时隙序号等识别信息发生错误,则消息的发送顺序等可能造成瓦解。因此,通过在消息中包含用于识别信息的错误检测或改正的信息,能够可靠地进行巡回的消息的发送/接收。另外,即使在消息整体检测出错误时,也能够判断是否在识别信息产生了错误,因而能够容易地进行之后的消息重发的处理等。
另外,在本发明中,各通信装置用错误计数器对消息发送/接收时发生的错误数进行计数。错误发生次数较多时,可能会产生通信装置的故障等,因而当计数的错误发生次数超过预定值时,通信装置降低消息发送的频率。即使在例如到达巡回地分配的自身的发送顺序时,也可以通过在多个周期仅进行一次消息的发送等方法来实现消息发送的频率的降低。进一步,当降低消息发送的频率后错误仍然发生,错误计数器的值超过上限值的情况下,也可以停止通信装置的消息发送。
如此,通过进行与错误发生次数对应的消息发送的控制,能够防止产生故障等的通信装置发送的消息对其他通信装置的处理造成不良影响,从而能够提升通信系统的可靠性。
另外,在本发明中,共享总线的多个通信装置需要使处理同步地进行(特别是时隙涉及的处理)。在通信系统刚刚因从电源注入或睡眠状态的恢复等而起动后,多个通信装置处于未取得同步的状态,因而各通信装置首先在起动后确立了与其他通信装置的同步后,开始通信处理。
此时各通信装置在刚刚起动后的预定周期期间内始终从其他通信装置接收消息,在预定周期期间内接收到消息时,能够判断为存在已经开始通信的其他通信装置,因而为了与该通信装置同步,与接收消息同步地进行以后的消息发送,开始通信处理。在预定周期期间内未接收消息时,能够判断为不存在已经开始通信的其他通信装置,因而自身进行消息发送而开始通信处理。
由此,通信系统起动后多个通信装置能够同步地开始通信处理。
然而,判断为在预定周期期间内未接收消息而有可能多个通信装置同时开始消息发送,在此情况下多个消息在总线上发生冲突,其他通信装置无法接收正常的消息。因此在本发明中,各通信装置具有计时单元,在进行了消息发送的情况下或接收到异常的消息的情况下,在通过计时单元对与分配给自身的时隙相应的待机时间进行了计时后,进行消息的发送。
通过采用为与分配给各通信装置的时隙相应的待机时间,从而通信系统的多个通信装置通过计时单元对分别不同的时间进行计时。因此,发生了消息的冲突后,被设定为最短待机时间的通信装置单独进行下一次的消息发送,其他通信装置能够正常接收该消息并进行同步。
另外,在起动通信系统并确立了通信装置间的同步后,可能会因通信的不良情况等而在一个或多个通信装置中产生同步偏差。因此在本发明中,各通信装置具有计时单元,在两个周期等的预定周期内未从其他通信装置接收消息的情况下,通过计时单元对与分配给自身的时隙相应的待机时间进行了计时后,进行消息的发送。
通过采用与分配给各通信装置的时隙相应的待机时间,从而通信系统的多个通信装置通过计时单元对分别不同的时间进行计时。因此,即使在因同步产生偏差而导致多个通信装置发送的消息产生冲突,各通信装置处于未接收来自其他通信装置的消息的状态的情况下,被设定为最短的待机时间的通信装置也将单独进行下一次的消息发送,其他通信装置能够正常接收该消息并进行同步。
另外,在本发明中,通信系统向睡眠模式等省电动作状态转换时,各通信装置向其他通信装置发送停止消息发送的请求(睡眠请求),并且接收来自其他通信装置的睡眠请求。此后,在预定周期内从通信系统内的多个通信装置接收到睡眠请求时,各通信装置停止消息的发送并向睡眠模式转换。由此,在通信系统中的多个通信装置做好向睡眠模式转换的准备后,这多个通信装置能够一齐地向睡眠模式转换。
发明效果
根据本发明,构成为:对与总线连接的多个通信装置分配时隙,各通信装置以预定的顺序巡回地进行消息发送,进行一个时隙涉及的消息发送时,生成并发送包含表示其他时隙涉及的消息接收的成败的接收成败信息及应向其他通信装置发送的数据在内的消息,接收到消息时,进行与该消息所包含的接收成败信息对应的重发处理,由此无需进行现有的CAN协议的仲裁,因此能够使总线连接的多个通信设备间的通信速度高速化。
附图说明
图1是表示本发明的通信系统及通信装置的硬件结构的框图。
图2是表示本发明的通信装置的功能结构的框图。
图3A是用于说明本发明的通信系统的通信协议的概要的示意图。
图3B是用于说明本发明的通信系统的通信协议的概要的示意图。
图4A是表示本发明的通信系统的通信协议中使用的消息的结构的示意图。
图4B是表示本发明的通信系统的通信协议中使用的消息的结构的示意图。
图5是用于说明本发明的通信系统进行的响应处理的示意图。
图6是用于说明本发明的通信系统进行的响应处理的示意图。
图7是用于说明动作点偏移时间、空闲时隙时间及最大发送时隙时间的示意图。
图8是用于说明时隙管理单元的时隙管理的基本动作的示意图。
图9是用于说明时隙管理单元的时隙管理的基本动作的示意图。
图10是用于说明时隙管理单元的时隙计数器的同步处理的时间图。
图11是用于说明协议控制单元的消息发送的成败判定的示意图。
图12是用于说明协议控制单元的消息重发处理的示意图。
图13是用于说明协议控制单元的消息重发处理的示意图。
图14是表示在本发明的通信系统中检测的通信错误的一览表。
图15是表示错误计数器的变动条件的图表。
图16是用于说明错误控制单元的动作的状态转换图。
图17是用于说明ECU的通信控制处理的动作的状态转换图。
图18是表示初始状态的ECU的处理顺序的流程图。
图19是表示同步准备状态下的ECU的处理顺序的流程图。
图20是表示同步准备状态下的ECU的处理顺序的流程图。
图21是表示同步等待状态下的ECU的处理顺序的流程图。
图22是表示同步状态下的ECU的处理顺序的流程图。
图23是表示同步状态下的ECU的处理顺序的流程图。
图24是表示睡眠准备状态下的ECU的处理顺序的流程图。
图25是表示总线关闭状态下的ECU的处理顺序的流程图。
图26是表示总线睡眠状态下的ECU的处理顺序的流程图。
图27是表示启动序列的处理例的时间图。
图28是表示启动序列的处理例的时间图。
图29是表示启动序列的处理例的时间图。
图30是表示再同步序列的处理例的时间图。
图31是表示再同步序列的处理例的时间图。
图32是表示变形例的通信系统的消息结构的示意图。
具体实施方式
下面,基于表示本发明的实施方式的附图对本发明进行具体说明。
<通信系统的结构>
图1是表示本发明的通信系统及通信装置的硬件结构的框图。图中,1为ECU(通信装置),在未图示的车辆的适当位置配置多个ECU1,各ECU1分别进行车辆所搭载的各种电子设备的控制或通过传感器检知车辆的行驶状态等的处理。另外多个ECU1与在车辆内铺设的共用的通信线(总线)5连接,并能够经由总线5进行消息的发送/接收。
总线5与用于现有的CAN协议的总线结构相同,由传送工作信号的双绞线构成。用与逻辑值“0”对应的显性值“支配”和与逻辑值“1”对应的隐性值“退行”表示在总线5上传送的信号。然而,在本发明的通信系统中,支配及退行的信号值未必作为显性值及隐性值而被使用,但为了保持与现有的CAN协议的兼容性可使用相同的信号值。
作为通信系统的结构要素的各ECU1具备输入部12、输出部13、存储部14、电源电路15及通信部16等、和控制部11,所述输入部12与检测车辆的行驶状态等的传感器连接而获取从该传感器输入的信号,所述输出部13与成为车辆所搭载的控制对象的电子设备(附图省略)连接而输出控制信号等,所述存储部14存储控制所需的程序及数据等,所述电源电路15向ECU1内的各部供给电力,所述通信部16与总线5连接而进行数据的发送/接收,所述控制部11控制ECU1内的各部的动作。此外,图1中仅表示一个ECU1的详细的内部结构,其他ECU1结构相同因而省略详细的内部结构的附图。
ECU1的输入部12与检测例如车辆的车速、加速度、发动机的温度或方向盘的操舵角等的各种传感器连接,将来自传感器的检测值作为信号输入。输入部12获取传感器检测到的检测值,将获取的检测值存储到存储部14,并且通知控制部11来自传感器的检测值的获取完成。将用于电子控制车辆的发动机或制动器等各种装置的电子设备与输出部13连接,根据控制部11的控制,输出部13输出控制各种装置的动作的控制信号。此外,根据ECU1的不同,也可以构成为只具备输入部12或输出部13的任意一方。
存储部14由EEPROM(Electrically Erasable Programmable ReadOnly Memory,电可擦可编程只读存储器)或闪存等能够进行数据改写的不挥发性存储元件构成。将通过控制部11执行的程序及数据等预先存储到存储部14中,当ECU1的电源注入时,ECU1从存储部14读出这些程序及数据等而开始处理。另外存储部14存储控制部11的处理过程中产生的各种数据、传感器检测到的检测值、通过通信向其他ECU1发送的数据及从其他ECU1接收到的数据等。此外,存储部14也可以构成为另外设置所谓的ROM和RAM(Random Access Memory,随机存储器)。
电源电路15与车辆的交流发电机或蓄电池等电力供给源(省略附图)连接,将来自电力供给源的电力调节为适用于各部的电压或电流,并将调节后的电力供给到各部。
通信部16与总线5连接,按照控制部11的控制从存储部14读出发送用数据,生成在该数据中附加了预定信息的消息并向总线5输出,从而进行消息的发送。通信部16接收从其他ECU1发送的消息,从接收到的消息中提取必要的数据存储到存储部14,并通知控制部11接收完成。另外通信部16进行通信的各种控制处理,其中,进行用于与其他ECU1同步并分时地利用总线5而进行消息发送/接收的控制处理、判断来自其他ECU1的消息接收的成败的处理、进行对来自其他ECU1的消息接收的响应的处理、或根据从其他ECU1接收到的消息的内容进行自身的消息的重发的处理等各种处理。ECU1进行的消息的发送/接收处理的详情将后述。
控制部11获取基于输入到输入部12的信号等的信息及经由总线5从其他ECU1接收到的信息等,并基于获取的信息进行运算而生成控制信号,从输出部13输出控制信号,从而进行对车辆所搭载的电子设备的控制。此时控制部11在需要将输入到输入部12的来自传感器等的信息或运算结果等与其他ECU1共享的情况下,生成将这些信息作为数据而包含的消息,通过通信部16向其他ECU1发送。
<通信装置的功能结构>
图2是表示本发明的通信装置的功能结构的框图,表示通过ECU1的控制部11及通信部16实现的通信功能的结构。ECU1的功能可以分为应用层、协议控制层及物理层这三层。应用层由一个或多个应用软件(以下称为应用)101构成。协议控制层包含协议控制单元102、错误控制单元103、消息生成单元104、时隙管理单元105及位采样单元106等。另外物理层由总线驱动器107等构成。
物理层是与总线5物理连接及电信号相对于总线5的授受所涉及的层,相当于OSI(Open Systems Interconnection,开放式系统互联)参考模型的物理层。物理层的总线驱动器107将与由协议控制层提供的发送消息的值(支配/退行)对应的信号相对于总线5输出,并且检测总线5的信号电平而变换为支配/退行的值,提供给协议控制层。总线驱动器107设置在通信部16。
应用层是为车辆所搭载的电子设备的控制提供具体服务的层,相当于OSI参考模型的应用层。应用层的各应用101利用预定的API(Application Programming Interface,应用程序编程接口)与协议控制层进行信息交换。通过控制部11执行存储部14中存储的程序及数据来实现应用101。
本实施方式的ECU1的物理层的总线驱动器107及应用层的应用101的结构可以与现有的CAN协议所具备的大致相同。本发明的通信装置与现有的CAN协议的通信装置相比,协议控制层的结构不同,通信协议不同。但本发明的通信装置的通信协议在现有的CAN协议的基础上进行改良而得到。
本发明的通信系统的通信协议适合在如图1所示的多个通信装置与共用的通信线连接的总线连接的网络中使用。但是也可以在其他结构的网络中使用,例如即使在以网关为中心而星形连接多个通信装置的网络中,也能够通过本发明的通信协议进行在网关及通信装置之间进行的通信处理。另外在本发明的通信协议中,进行通信的多个通信装置没有主/从等的上下关系,所有的通信装置均以对等的关系进行通信。
在现有的CAN协议中,在多个通信装置相对于总线同时进行了消息发送的情况下,通过各通信装置进行与消息中包含的ID(Identifier,标识符)的优先级相应的调停处理(仲裁),进行优先级最高的消息的发送。与此相对,在本发明的通信协议中,不进行上述仲裁。在本发明的通信协议中,与总线5连接的多个ECU1巡回地进行消息发送(即,以预定的顺序周期性地进行消息发送),从而分时地利用总线5,避免消息发送发生冲突。
<通信协议概要>
图3A及图3B是用于说明本发明的通信系统的通信协议的概要的示意图。此外,在下面的说明中,假设总线5与四个ECU1连接的结构,分别用符号1a~1d区别四个ECU1。在本发明的通信协议中,对参与通信的ECU1a~1d预先(静态)分配一个或多个时隙(时隙序号)。时隙表示巡回地进行消息发送时的发送权利,时隙序号越小发送顺序越靠前。此外不认可时隙序号的重复,对于一个时隙序号,ECU1a~1d中只有一个ECU能够进行发送。
例如如图3A所示,对ECU1a分配时隙1及时隙5,对ECU1b分配时隙2,对ECU1c分配时隙3及时隙6,对ECU1d分配时隙4。另外预先向各ECU1a~1d供给网络中的总时隙数及一个时隙的一次消息发送能够利用总线5的最大时间(称为1时隙时间)等共用信息。
各ECU1a~1d以总时隙数×1时隙时间作为一个周期,从被分配了序号小的时隙的ECU1a~1d依次进行消息发送。例如如图3B所示,被分配了时隙1的ECU1a第一个发送消息(图中略记为Msg)A,被分配了时隙2的ECU1b第二个发送消息B,被分配了时隙3的ECU1c第三个发送消息C,被分配了时隙4的ECU1d第四个发送消息D发送。之后,被分配了时隙5的ECU1a第五个发送消息E,被分配了时隙6的ECU1c第六个发送消息F。通过完成序号最大的时隙的消息发送从而完成一个周期,在接下来的周期中被分配了时隙1的ECU1a发送消息G。
如此,与总线5连接的多个ECU1a~1d同步地进行与时隙序号相应的巡回的消息发送,从而在总线5上不存在多个消息冲突的情况,因而各ECU1a~1d无需进行现有的CAN协议的仲裁。因此,通过现有的CAN协议发送消息时,通信装置在将消息输出到总线后,需要针对每位检测总线上的信号变化的有无,但在本发明的通信协议中无需进行这样的每位的检测处理,从而能够使通信速度高速化。通过各ECU1a~1d的协议控制单元102及时隙管理单元105等进行如上所述的基于时隙的消息发送/接收的控制。
从ECU1a~1d中的任意一个ECU发送的消息可以被与总线5连接的ECU1a~1d中的其他所有ECU接收。接收到消息的其他ECU需要对消息发送源的ECU进行是否已正确接收到消息的响应(所谓的ACK(ACKnowledgement,确认)/NAK(Negative AcKnowledgement,否定确认)的发送)。在现有的CAN协议中,利用消息中包含的1位ACK时隙进行响应,消息发送源的通信装置通过在ACK时隙期间检测出信号变化的有无,能够判断是否已正确接收到消息。
由于在本发明的通信协议中,如上所述,不在消息发送时检测每位的信号变化,因而以与现有的CAN协议不同的方法进行消息接收的响应。因此在本发明的通信协议中,采用将在ECU1a~1d之间发送/接收的消息的结构相对于现有的CAN协议的消息结构在一些方面进行扩展而得到的结构。
<消息生成>
接下来,说明ECU1的协议控制层所包含的消息生成单元104的动作。图4A及图4B是表示本发明的通信系统的通信协议中使用的消息的结构的示意图,通过ECU1的消息生成单元104生成图4A及图4B所示的消息。在本发明的通信协议中,使用数据帧及ACK帧两种消息。本发明的通信协议的数据帧相当于现有的CAN协议的数据帧,在现有的CAN协议中没有与本协议的ACK帧相当的帧。数据帧用于进行向其他ECU1的数据发送和数据接收的成败的响应。ACK帧除了用于不存在应向其他ECU1发送的数据的情况以外,还在进行通信系统的启动及睡眠时使用。
本通信协议的数据帧由SOF(Start Of Frame,帧起始)、ID字段、控制字段、睡眠位(Sleep Bit)、错误主动位(Error Active Bit)(图4A及图4B中略记为EA)、ACK字段、时隙序号字段(图4A及图4B中略记为时隙)、数据字段、CRC(Cyclic Redundancy Check,循环冗余校验)字段及EOF(End Of Frame,帧结束)构成。另外ACK帧是从数据帧除去数据字段而得到的结构。此外,对于SOF、控制字段、数据字段、EOF及IFS,与现有的CAN协议相同。
SOF与设于现有的CAN协议的数据帧的SOF相同。是表示消息的开始的位,为1位的支配。通信系统的各ECU1通过检测总线5上的SOF来同步地进行消息接收。
ID字段的结构与设于现有的CAN协议的数据帧的仲裁字段相同,但如上所述,由于在本发明的通信协议中不进行仲裁,因而该字段的值仅作为消息的ID使用。ID字段包括ID数据及RTR(RemoteTransmission Request,远程发送请求)位。ID数据表示消息的种类,在标准格式中由11位构成,在扩展格式中由29位构成。RTR为1位的数据,与现有的CAN协议相同。
控制字段与现有的CAN协议的控制字段相同,包含用于区别标准格式或扩展格式的IDE(IDentifier Extension,标识符扩展)位、及表示数据帧的数据长度的4位DLC(数据长度代码)等信息。此外为了识别各ECU1a~1d的数据帧与ACK帧,利用ID字段的ID数据,将以ID数据=1正常接收的帧作为ACK帧(但该ID数据的值是一例,也可以使用其他的值)。另外各ECU1a~1d在ACK帧中设定为DLC=0而进行发送,接收到ACK帧的ECU1a~1d在接收到ID数据=1的帧的情况下,即使接收帧为DLC≠0,也视为DLC=0而进行接收处理。
睡眠位是用于通信系统的睡眠所涉及的处理的1位的信息,只在ACK帧中使用。在睡眠位被设定为支配的情况下进行通常的动作,在睡眠位被设定为退行的情况下ACK帧作为睡眠请求被接收,开始睡眠所涉及的处理。此外,在数据帧中,睡眠位总是被设定为支配。
错误主动位是1位的信息,用于在发生了通信处理的错误的情况下通知错误状态。在错误主动位被设定为支配的情况下,错误状态为错误主动,在错误主动位被设定为退行的情况下,错误状态为错误被动(对于错误主动及错误被动等的详细说明将后述)。
ACK字段为与通信系统的总时隙数相等的位数的信息,各位与一个时隙建立对应,设定1周期量的消息接收的成败信息。例如在总时隙数为16的情况下,ACK字段为16位的信息,在第1位设定时隙1的接收成败信息,在第2位设定时隙2的接收成败信息,……,在第16位设定时隙16的接收成败信息。此外ACK字段的各位的值为:退行与接收成功(ACK)对应,支配与接收失败(NAK)对应。
然而,在本发明的通信系统中,不需要现有的CAN协议的仲裁及ACK位等功能。因此,也可以使本发明的通信系统构成为:支配与ACK对应,退行与NAK对应。即,ACK字段的ACK及NAK与退行及支配的组合只要在通信系统内统一即可,无特别限定,可以是任一个组合。
时隙序号用于设定进行该消息发送的时隙的序号,为使通信系统的各ECU1进行同步修正(详细的说明将后述)。通过总时隙数规定时隙序号的尺寸,例如若总时隙数为16则时隙序号为4位的信息。
数据字段与设于现有的CAN协议的数据帧的数据字段相同。数据字段由0~8字节的数据构成,经由MSB(Most Significant Bit,最高有效位)快速发送。各ECU1将应向其他ECU1发送的任意的数据收集到该数据字段而进行发送。
CRC字段由15位CRC序列和1位CRC界定符(划分用位)构成,用于进行接收到的消息的错误检测。能够通过对从SOF至数据字段为止的值进行利用预定的生成多项式的运算来获取CRC序列。此外,用于运算的生成多项式可以与现有的CAN协议中使用的生成多项式相同。接收到消息的ECU1能够将通过生成多项式对接收到的消息计算出的值和接收到的消息的CRC序列的值加以比较,从而进行错误检测,当两个值不一致时判断为产生错误。CRC界定符在现有的CAN协议中为1位的退行,但在本发明的通信协议中采用1位的退行及1位的支配即合计为2位。此外,将CRC序列的长度设为15位,但并不限定于此,也可以设为14位以下或16位以上。
EOF与设于现有的CAN协议的数据帧的EOF相同。是表示数据帧的结束的位,为7位的退行。
以上说明的数据帧及ACK帧是ECU1的消息生成单元104按照协议控制单元102的控制而生成的。消息生成单元104经由位采样单元106将生成的消息提供给总线驱动器107,从而向总线5输出消息,进行对与总线5连接的其他所有ECU1的消息发送。另外,消息生成单元104从位采样单元106供给的采样结果,即从接收消息中提取图4A或图4B所示的各字段的数据,并提供给协议控制单元102。
图5及图6是用于说明本发明的通信系统进行的响应处理的示意图。图5中表示通信系统内的消息发送的一例,图6中表示各消息所包含的ACK字段的内容。此外,图5及图6所示的例以图3A所示的通信系统的结构(四个ECU1a~1d利用六个时隙进行消息发送的结构)为前提。
如图5所示,若通信系统的各ECU1a~1d起动而开始通信,则从被分配了时隙1的ECU1a开始消息的发送,多个ECU1a~1d按时隙的序号的顺序进行消息发送。图示的例中,被分配了时隙1的ECU1a发送消息A,被分配了时隙2的ECU1b发送消息B,被分配了时隙3的ECU1c发送消息C,被分配了时隙4的ECU1d发送消息D,被分配了时隙5的ECU1a发送消息E,被分配了时隙6的ECU1c发送消息F,一个周期完成。在下一个周期中,被分配了时隙1的ECU1a发送消息G,被分配了时隙2的ECU1b发送消息H,被分配了时隙3的ECU1c发送消息I,重复同样的处理。
如图6所示,在各ECU1a~1d发送的消息中,作为ACK字段包含6位(=时隙数)的信息(ACK1~ACK6),将与时隙1~时隙6对应的消息接收的成败分别作为1位的退行(ACK)或支配(NAK)而设定在ACK1~ACK6中。另外各ECU1a~1d在与被分配到自身的时隙对应的ACK字段的位中设定ACK而进行消息发送。
通信系统在刚刚开始通信后,还未进行各ECU1a~1d的消息的发送/接收,各ECU1a~1d未接收消息。像这样在通信刚刚开始后的1周期中,各ECU1a~1d在未进行消息发送/接收的时隙的ACK字段的位中,设定ACK而进行消息发送。
在通信开始后的第1周期的时隙1的通信中,ECU1a生成在与被分配到自身的时隙1及时隙5对应的ACK1及ACK5中设定ACK,并且在与未进行消息的发送/接收的时隙2~4、6对应的ACK2~4、6中设定ACK而得到的消息A并发送。
接下来,在第1周期的时隙2的通信中,ECU1b生成在ACK1中设定与由时隙1的通信发送的消息A有关的接收的成败(ACK/NAK),在与被分配到自身的时隙2对应的ACK2中设定ACK,在与未进行消息的发送/接收的时隙3~时隙6对应的ACK3~ACK6中设定ACK而得到的消息B并发送。
接下来,在第1周期的时隙3的通信中,ECU1c生成在ACK1及ACK2中设定与由时隙1及时隙2的通信发送的消息A及B有关的接收的成败,在与被分配到自身的时隙3及时隙6对应的ACK3及ACK6中设定ACK,在未进行消息的发送/接收的时隙4及时隙5中设定ACK而得到的消息C并发送。
同样地,进行第1周期的时隙4的ECU1d的消息D的发送、时隙5的ECU1a的消息E的发送、及时隙6的ECU1c的消息F的发送。在1周期的消息发送/接收完成了的情况下,各ECU1a~1d至少进行一次消息发送,ECU1a查询来自其他ECU1b~1d的消息B、C、D、F的ACK字段,从而能够用是否在所有消息的ACK1中设定有ACK来判断在第1周期的时隙1中发送的消息A是否被其他ECU1b~1d正确接收到。
ECU1a在所有消息的ACK1均被设定为ACK的情况下,判断为在时隙1发送的消息A被所有ECU1b~1d正常接收,并在下一个周期的时隙1中发送另外的数据的消息G。与此相对,ECU1a在任一个ACK1被设定为NAK的情况下,判断为在时隙1中发送的消息A未被正常接收,在下一个周期的时隙1中重发消息A。图6所示的例中,消息A被其他所有ECU1b~1d正常接收到。
第2周期的时隙1的通信中,ECU1a生成在ACK2~4、6中设定于第1周期的时隙2~4、6的消息B~D、F有关的接收的成败,在与被分配到自身的时隙1及时隙5对应的ACK1及ACK5中设定ACK而得到的消息G并发送。
同样地,ECU1b查询在从第1周期的时隙3至第2周期的时隙1为止的1周期期间接收到的消息的ACK字段,从而能够判断在第1周期的时隙2中自身发送的消息B是否被其他ECU1a、1c、1d正确接收到。在第2周期的时隙2的通信中,ECU1b在消息B被正确接收的情况下,如图6所示生成新消息H并发送,在消息B未被正确接收的情况下,进行消息B的重发。
同样地,ECU1c查询在从第1周期的时隙4至第2周期的时隙2为止的1周期期间接收到的消息的ACK字段,从而能够判断在第1周期的时隙3中自身发送的消息C是否被其他ECU1a、1b、1d正确接收到。在第2周期的时隙3的通信中,ECU1c在消息C被正确接收的情况下,如图6所示生成新消息I并发送,在消息C未被正确接收的情况下,进行消息C的重发。
如此,各ECU1a~1d生成包含应向其他ECU1a~1d发送的数据(数据字段)和表示来自其他ECU1a~1d的消息接收的成败的信息(ACK字段)在内的消息,在被分配给自身的时隙中向所有ECU1a~1d发送该消息。由此,各ECU1a~1d能够接收来自1周期期间所有ECU1a~1d的消息,通过查询各消息所包含的ACK字段能够判断前一次发送的消息是否被其他所有ECU1a~1d正确接收到,能够判断是否应重发该消息。此外,各ECU1a~1d在被分配给自身的时隙中没有应向其他ECU1a~1d发送的数据的情况下,发送ACK帧即可。
现有的CAN协议中,通信系统中包括的各通信装置对输出到总线上的消息所包含的ACK时隙进行写入(使退行变为支配的处理),从而消息发送源的通信装置能够判断消息接收的成败。本发明通过在各ECU1a~1d的协议控制层进行如上所述的对消息接收的响应,能够使通信系统进行与现有的CAN协议同等的错误检测。无论是现有的CAN协议还是本发明的通信协议,应用层的各应用101均能够用同样的方法进行通信的处理,应用101的开发者无需意识到是哪一个协议即可进行开发。
<位采样>
接下来,说明ECU1的协议控制层所包含的位采样单元106的动作。本发明的通信系统中,与现有的CAN协议同样地,总线5上的信号被作为用支配或退行的逻辑值表示的二进制信号使用。位采样单元106将对总线5上的信号进行周期性采样而得的二进制数据(即消息)提供给消息生成单元104及时隙生成单元105,并经由这些单元提供给协议控制单元102。
另外,在与共用的总线5连接的多个ECU1进行消息接收的情况下,所有ECU1需要同步地进行接收处理。位采样单元106也按照总线5上的信号变化进行与其他ECU1取得同步的处理。位采样单元106的同步方法有硬同步和再同步两种。
在硬同步中,位采样单元106在判断为总线5上的信号持续预定期间以上在退行的情况下处于未进行消息的发送/接收的状态后,对总线5上的信号从退行变为支配的时机(消息的SOF的时机)进行同步。位采样单元106以SOF的信号变化的边缘作为同步点而进行总线5上的信号值的采样。位采样单元106的硬同步与在现有的CAN协议进行的处理相同。
在再同步中,位采样单元106根据进行硬同步的位以外的位的变化进行同步的修正。位采样单元106将自身设想的信号变化的位置与实际在总线5上检测出的信号变化的位置进行比较而计算出误差,并修正采样的时机以消除该误差。此外,在现有的CAN协议中,在消息的发送及接收双方均进行再同步,但在本发明的通信协议中,在消息发送时不进行总线5的信号电平的检测,因此只在接收消息时进行再同步的处理。
<时隙管理>
接下来,说明ECU1的协议控制层所包含的时隙管理单元105的动作。ECU1的时隙管理单元105为了如上述那样使多个ECU1巡回地进行消息的发送,进行预先被分配给各ECU1的时隙的管理。在本发明的通信协议中,多个ECU1需要共同掌握在某一时刻被允许进行消息发送的是哪一个时隙,时隙管理单元105进行用于共同掌握消息发送的时隙的管理处理,即时隙的同步处理。另外时隙管理单元105在对某一时隙完全不进行消息发送等情况下,进行跳过该时隙而进行下一个时隙的消息的发送/接收等的时隙管理。
在本发明的通信协议中,在检测到对某一时隙不进行消息发送的情况下,各ECU1不进行该时隙的消息接收处理,通过转移到下一个时隙的处理,省略由不良情况等引起的不进行消息发送的ECU1的消息发送/接收处理,只通过能够进行消息发送的ECU1来进行通信。
由此,即使通信系统中包含产生了故障等的ECU1并且该ECU1处于无法进行消息发送的状态下,通过省略该ECU1的时隙的处理,通信系统中的其他ECU1也能够相互进行消息的发送/接收。另外,为了向通信系统追加可选的ECU1而设置预备时隙,即使在不追加选配装备的状态下,也能够省略预备时隙的处理。
为实现上述处理,在各ECU1的时隙管理单元105中,对能够进行消息发送的1时隙时间预先设定动作点偏移时间、空闲时隙时间及最大发送时隙时间。各ECU1的时隙管理单元105以这些预定时间为基准判定被分配给其他ECU1的时隙的消息发送未被进行这一情况,并进行省略该时隙的消息接收处理的处理。图7是用于说明动作点偏移时间、空闲时隙时间及最大发送时隙时间的示意图。
各ECU1在达到被分配给自身的时隙的开始时刻的情况下,待机预定的动作点偏移时间后,开始消息发送。时隙中的消息发送的开始时刻称为动作点,从时隙的开始时刻至动作点为止的时间为动作点偏移时间。
各ECU1在到达被分配给其他ECU1的时隙的开始时刻后,在即使经过空闲时隙时间该时隙的消息发送也未被作出的情况下,视为被分配了该时隙的ECU1处于因某些原因而无法进行消息发送的状态,转换到下一个时隙的通信处理。
另外各ECU1在从被分配供自身的时隙的开始时刻至经过最大发送时隙时间为止的期间进行消息的发送。各ECU1发送的消息是长度可变的,但不能够超过最大发送时隙时间而进行消息发送。由此,即使ECU1因故障等而处于持续进行异常的消息发送的状态的情况下,在达到最大发送时隙时间后也会停止消息发送,而转换到下一个时隙的通信处理。
这些预定时间以满足下述条件的方式在通信系统的设计阶段等预先设定。
空闲时隙时间>动作点偏移时间+帧检测确认时间+RTT±α
最大发送时隙时间>1帧最大发送时间+动作点偏移时间±α
此外在上述条件下,所谓RTT(Round Trip Time,往返时延)是指消息在两个ECU间往返所需的时间。另外所谓帧检测确认时间是指,从一个ECU1发送的消息到达其他ECU1后,至其他ECU1意识到消息的接收为止所需的时间,包括ECU1的通信部16的内部延迟时间及检测信号变化所需的时间等。另外α是允许多个ECU1之间的时钟误差的累积量的极限。
图8及图9是用于说明时隙管理单元105的时隙管理的基本动作的示意图,图8表示用于时隙管理的信号的时间图,图9作为图表表示各信号的定义。各ECU1在内部具备振荡器,该振荡器输出的内部的动作时钟为Sample_clock(图8中仅图示动作时钟的上升(或者也可以为下降)沿),ECU1内的各部(各单元)基于该动作时钟进行处理。此外,与共用的总线5连接的多个ECU1以大致相同频率的动作时钟动作。另外表示位采样单元106的接收消息的采样点的信号为Sample_point。
时隙管理单元105具有位计数器(Slot_bit_cnt)及时隙计数器(Slot cnt)两个计数器。位计数器是表示发送/接收的消息的第几位在处理中的计数器。在位采样单元106的每个采样点使位计数器递增(检测出Sample_point的值变为了1(高电平)这一情况而递增)(参照图中的箭头(1))。
时隙管理单元105的时隙计数器是表示在当前时刻具有进行消息发送的权利的时隙的计数器。时隙计数器在Slot_cnt_ena为高电平且位计数器超过预定值(图8中预定值为2)的情况下递增(参照图中的箭头(2))。另外,时隙计数器在Slot_cnt_ena为高电平且超过每1周期的时隙数的情况下,将值初始化。
时隙计数器的值发生了变化的情况下,信号Slot_cnt_point变为1时钟期间的高电平(参照图中的(3)),将该信号引起的时隙的变化通知给ECU1内的各单元。另外,信号Slot_acpoint表示时隙中的动作点,从时隙开始经过预定的动作点偏移时间(Slot_acpoint_bit)的情况(图8的例中动作点偏移时间为1、位计数器的值变为1的时机)下,信号Slot_acpoint变为一个时钟期间的高电平(参照图中的箭头(4))。
信号Slot_wrcnt及信号Slot_wrcnt_cmd为从时隙管理单元105的外部输入的信号,被用于下述的同步处理等。信号Slot_wrcnt用于协议控制单元102将正常接收到的消息所包含的时隙序号等提供给时隙管理单元105。另外信号Slot_wrcnt_cmd用于指示时隙管理单元105将通过信号Slot_wrcnt指定的时隙序号写入(向内部取入)的时机。
时隙管理单元105根据上述的多个信号及位计数器的值将时隙计数器的值递增或初始化,从而管理能够在当前时刻进行消息发送的时隙序号。另外,在与共用的总线5连接的多个ECU1中,各时隙管理单元105需要共享时隙序号,时隙管理单元105在接收消息时进行时隙计数器的同步处理。
图10是用于说明时隙管理单元105的时隙计数器的同步处理的时间图。此外,图10所示的信号与图8及图9所示的信号相同,信号Slot_cnt_ena_q是使信号Slot_cnt_ena延迟一个时钟量的信号。位计数在用图中的虚线(1)表示的时机达到预定值,因而时隙管理单元105将时隙计数器从时隙1增加为时隙2。此后,开始从其他ECU1接收消息,时隙管理单元105在该时机将信号Slot_cnt_ena从高电平变为低电平,将时隙计数器的值固定(参照图中的箭头(2))。
在消息的接收处理正常完成了的情况下,从协议控制单元102通过信号Slot_wrcnt_cmd通知接收完成。此时将正常接收到的消息中包含的时隙序号从协议控制单元102作为信号Slot_wrcnt提供给时隙管理单元105,时隙管理单元105根据通过信号Slot_wrcnt_cmd通知接收完成的时机,取入所提供的时隙序号并在时隙计数器中对其进行设定(参照图中的箭头(3))。由此,进行时隙计数器的同步。
另外时隙管理单元105在被提供了基于信号Slot_wrcnt_cmd的接收完成的通知后,使信号Slot_cnt_ena变为高电平,允许时隙计数器的更新。通过使信号Slot_cnt_ena_q从低电平变为高电平,将位计数的值初始化(参照图中的箭头(4)),在下一个采样点将时隙计数器的值增加(参照图中的箭头(5))。
此外,各ECU1的时隙管理单元105每次进行消息的接收,均进行如上所述的同步处理。然而,在进行消息发送的ECU1的时隙管理单元105中不进行同步处理。
<协议控制>
接下来,说明ECU1的协议控制层所包含的协议控制单元102的动作。如上所述,在本发明的通信协议中,为以下构成:与共用的总线5连接的多个ECU1使时隙序号及时隙时间同步,各ECU1在到达被分配给自身的时隙序号的发送顺序的情况下进行消息发送,从而避免消息的冲突。协议控制单元102进行与如图3A、图3B、图5及图6等所示的时隙序号相应的消息的发送/接收处理、在发送消息时的ACK字段中设定ACK或NAK的处理、以及根据接收到的消息中的ACK字段的值重发消息的处理等。进一步,协议控制单元102进行用于在通信系统起动等时多个ECU1取得同步而开始通信的处理(启动序列)、因某些通信障碍等而在多个ECU1之间的同步中产生了偏差情况下的再同步处理(再同步序列)、以及停止通信系统的动作情况下的处理(睡眠序列)等。
在本通信系统的各ECU1中,在通过电源注入等而被起动后,协议控制单元102执行用于使时隙在与共享总线5的其他ECU1之间同步的处理作为启动序列。在启动序列中,首先,通过查询总线5上的信号的有无来判断其他ECU1的通信是否已经开始,在判断为通信未开始的情况下,协议控制单元102开始自身的消息发送,从而促进其他ECU1的起动。另外在判断为通信已经开始的情况下,协议控制单元102进行来自其他ECU1的消息接收,与接收到的消息所包含的时隙序号同步地进行以后的通信处理。
然而,在多个ECU1判断为通信未开始的情况下,这多个ECU1的消息发送可能会冲突。在此情况下,接收到冲突的消息的其他ECU1将该消息视为时隙1的消息而进行下一个时隙以后的通信处理,在以后的通信处理中检测出异常的ECU1通过对处理进行修正来抑制消息冲突的进一步发生。
另外,在通信系统中消息的发送/接收正常地开始后,如上述那样在消息接收时各ECU1进行时隙的同步,从而保持通信系统中的多个ECU1的消息发送/接收的同步,但是可能会因某些通信障碍等而在时隙序号中产生偏差。本通信系统的各ECU1即使在产生了此种偏差的情况下也继续进行通信处理,在以后的通信处理中检测到异常的ECU1进行再同步的处理。若各ECU1的协议控制单元102在从自身发送的时隙至两个周期后的时隙为止的期间内不存在正常接收到的消息的情况下,判断为发生了通信异常,执行再同步序列。
另外,停止通信系统的动作而进行向低消耗功率状态(睡眠模式)的转换时,通信系统的各ECU1在与其他ECU1之间对于转换为睡眠模式取得一致意见后,需要进行向睡眠模式的转换。应用层的应用101进行各ECU1是否向睡眠模式转换的判断,当从应用101向协议控制层的协议控制单元102发出了睡眠请求时,协议控制单元102进行用于取得睡眠模式转换的一致意见的处理。具体而言,被给予了睡眠请求的协议控制单元102通过进行在睡眠位设定了退行的ACK帧的发送将向睡眠模式转换这一情况通知给其他ECU1。此后,协议控制单元102在对于其他ECU1的所有时隙以预定周期量接收到睡眠位被设定为退行的ACK帧的情况下,判断为取得了睡眠模式转换的一致意见,从而向睡眠模式转换。即,在本通信系统中,在判断为所有ECU1向睡眠模式转换并各ECU1发送的所有ACK帧中睡眠位被设定为退行的情况下,所有ECU1向睡眠模式转换。与此相对,在判断为至少一个ECU1未向睡眠模式转换、该ECU1未发送睡眠位被设定为退行的ACK帧的情况下,通信系统中的ECU1不向睡眠模式转换。转换为睡眠模式的ECU1通过降低位采样单元106的位采样的采样频率等的方法来降低消耗功率,在总线5上检测到其他ECU1发送的消息的情况下起动(唤醒)。
各ECU1的协议控制单元102除了进行上述的启动序列、再同步序列及睡眠序列等的例外的处理以外,还如图3A、图3B、图5及图6等所示那样进行根据时隙序号的消息的发送/接收处理、在发送的消息中的ACK字段设定ACK或NAK的处理、以及根据接收到的消息中的ACK字段的值重发消息的处理等。各ECU1的协议控制单元102在从自身的消息发送完成后的一个周期期间内,未从其他ECU1接收到包含NAK的响应的消息、且至少从其他一个ECU1接收到包含ACK的响应的消息的情况下,判断为自身发送的消息被正常接收,进行新消息的发送。与此相对,协议控制单元102在从其他ECU1接收到一个以上包含NAK的响应的消息、或完全未接收到包含ACK的响应的消息的情况下,判断为自身发送的消息未被正常接收,进行消息的重发。另外,协议控制单元102即使在从其他ECU1接收到无法判别ACK/NAK这样的异常消息的情况下,也判断为自身发送的消息未被正常接收,进行消息的重发。
图11是用于说明协议控制单元102的消息发送的成败判定的示意图。此外,图11表示在对六个ECU1每个分配有一个时隙的通信系统中,被分配了时隙1的ECU1进行消息发送的成败判定的情况,并表示在时隙2~时隙6期间接收到的消息的ACK字段所包含的时隙1的ACK/NAK的响应结果。
被分配了时隙1的ECU1的协议控制单元102分别查询自身发送后的在时隙2~时隙6期间接收到的消息中包含的ACK字段的ACK1的值,在对于所有消息均设定有ACK的情况下,判断为自身的消息发送成功(参照图11的情况1)。另外,即使在从至少一个ECU1接收到的消息中设定ACK、而未接收到来自其他ECU1的消息的情况下,协议控制单元102也判断为自身的消息发送成功(参照图11的情况2)。
与此相对,在时隙2~时隙6期间接收到的消息中即使存在一个设定有NAK的消息的情况下,协议控制单元102判断为自身的消息发送失败(参照图11的情况3),进行消息的重发。另外,在时隙2~时隙6期间完全未接收消息的情况下,协议控制单元102也判断为自身的消息发送失败(参照图11的情况4),进行消息的重发。另外,在时隙2~时隙6期间接收到无法判断ACK/NAK这样的异常消息的情况下,协议控制单元102判断为自身的消息发送失败(参照图11的情况5),进行消息的重发。
图12及图13是用于说明协议控制单元102的消息重发处理的示意图。此外,图12及图13中,以时间序列表示通信的一个周期由六个时隙构成的通信系统中在总线5上发送/接收的三个周期量的消息。
首先,图12所示的例中,在第一周期(周期1)的时隙1~时隙6和第二周期(周期2)的时隙1~时隙2中,消息A~消息H被正确发送/接收,消息B~消息I的ACK字段在所有的位设定有ACK。在周期2的时隙3中发送的消息I未被接收方的(所有的)ECU1正确接收的情况下,在其后的周期2的时隙4~时隙6和第三周期(周期3)的时隙1~时隙2中发送的消息J~消息N的ACK字段中在与时隙3对应的位设定NAK。被分配了时隙3的ECU1与在消息J~消息N中设定的NAK对应,在周期3的时隙3中进行消息I的重发。
接下来,图13所示的例中,在周期1的时隙1~时隙6和周期2的时隙1~时隙2中,消息A~消息H被正确发送/接收,消息B~消息I的ACK字段在所有的位设定有ACK。在周期2的时隙3中发送的消息I作为不能判别ACK字段的各位为ACK还是NAK这样的异常消息而被接收方的(所有的)ECU1接收的情况下,在其后的周期2的时隙4~时隙6和周期3的时隙1~时隙3中,各ECU1无法通过消息I的ACK字段进行接收成败的判断,因而进行消息D~消息I的重发。
如此通过构成为,通信系统的各ECU1在发送的消息的ACK字段中设定来自其他ECU1的消息接收的成败,并且根据接收到的消息的ACK字段中设定的ACK/NAK进行消息的重发,从而通信系统的所有ECU1能够可靠地接收消息。
<错误控制>
图14是表示在本发明的通信系统中检测的通信错误的一览表。在本发明的通信协议中,检测与现有的CAN协议同样的填充错误、CRC错误、格式错误及ACK错误,但不进行在现有的CAN协议中检测的位错误的检测。此外,本发明的通信协议的ACK错误与现有的CAN协议的ACK错误的检测方法等不同。
在本发明的通信协议中,与现有的CAN协议同样地,在发送消息的SOF至CRC字段的CRC序列时进行如下处理:在同一信号电平连续5位的情况下,在下一位添加1位补码数据。该处理称为位填充,填充错误是在从接收到的消息的SOF至CRC序列为止同一信号电平连续6位的情况下检测出的错误。
CRC错误是在接收到的消息所包含的CRC序列的值与根据接收到的消息计算出的CRC的值不同的情况下检测出的错误。格式错误是对于值被固定为支配或退行中的任一个的位(CRC界定符及EOF),在接收消息的该位的值与规定的固定值不同的情况下检测出的错误。
ACK错误是在接收到的消息的ACK字段所包含的任意的位被设定为NAK的情况下检测出的错误。在现有的CAN协议中,消息中的1位的ACK时隙为退行的情况下检测ACK错误,由于若消息被通信系统中的至少一个通信装置接收,则ACK时隙被设定为支配,因而发送方的通信装置无法确认接收方的哪一个通信装置正常接收消息、哪一个通信装置未正常接收消息。与此相对,在本发明的通信协议中,由于在消息中的ACK字段按分配给各ECU1的每个时隙设定ACK位,因而发送方的ECU1通过查询在自身的消息发送后的1周期内接收到的消息的ACK字段,能够单独判断其他ECU1是否正常接收到消息。
另外,在现有的CAN协议中,各通信装置在向总线发送信号后,进行检测总线的信号电平的处理,此时,在发送的信号的信号电平与检测到的信号电平不一致的情况下,检测出位错误。在本发明的通信协议中,各ECU1在信号发送后不检测总线5的信号电平,因此不对该位错误进行检测。
通信系统的各ECU1在接收到来自其他ECU1的消息时进行上述错误检测,在检测出任一个错误的情况下,在错误检测后的1周期期间内在自身发送的消息所包含的ACK字段的对应的位设定NAK并进行发送。
接下来,说明ECU1的协议控制层所包含的错误控制单元103的动作。在现有的CAN协议中,错误频发而怀疑出现故障等的通信装置具备使消息发送/接收的处理停止而防止对通信系统整体造成不良影響的功能,对于本发明的通信协议也具备同样的功能。与此种错误有关的控制处理通过各ECU1的错误控制单元103进行。
错误控制单元103为了对错误的发生次数进行计数而具有两个计数器即TEC(Transmit Error Counter,发送错误计数器)及REC(ReceiveError Counter,接收错误计数器)。图15是表示错误计数器的变动条件的图表。各ECU1在自身的消息发送后的1周期期间内,通过查询接收消息中的ACK字段所包含的自身发送所涉及的位的值,在由其他所有ECU1提供了与自身发送的消息对应的NAK的情况下,对TEC的值加8。相反,各ECU1在由其他所有ECU1提供了与自身发送的消息对应的ACK,消息发送成功的情况下,从TEC的值减去1(但TEC=0时不发生变动)。
各ECU1在接收到的消息中检测出格式错误、CRC错误或填充错误的情况下,对REC的值加1。另外,各ECU1在接收到的消息中检测出某些错误,并作为对该消息的响应作出设定NAK的判断,但此后根据从其他ECU1接收到的消息,自身判断为NAK的消息被其他ECU1判断为ACK的情况下,对REC的值加8。
相反,各ECU1在接收到某一消息后的1周期内,通过查询还接收到的其他消息所包含的ACK字段来查询该某一消息是否也被其他ECU1正常接收,在被其他所有ECU1正常接收的情况下,对REC的值进行减法运算。此时各ECU1,若1≤REC≤127,则从REC的值减去1;若REC>127,则将REC的值设定为119~127(但REC=0时不发生变动)。
另外,各ECU1在从检测出预定数以上的错误而停止消息的发送的状态(总线关闭状态,将后述)中恢复后的情况下,将TEC及REC的值清零。
图16是用于说明错误控制单元103的动作的状态转换图。错误控制单元103根据TEC及REC这两个计数器的值来管理ECU1的错误控制的状态。错误控制单元103将这些状态通知给协议控制单元102,从而协议控制单元102能够进行适于错误状态的消息发送/接收的处理。错误控制的状态有错误主动状态、错误被动状态及总线关闭状态三个状态,ECU1刚刚起动后的状态(即初始状态)为错误主动状态。另外在ECU1起动时,TEC及REC的值被清零。
错误主动状态为ECU1的通常动作状态,是ECU1能够无限制地进行消息的发送/接收的状态。错误主动状态的ECU1发送的消息的错误主动位被设定为支配。在错误主动状态下,当TEC的值超过127、或REC的值超过127时,错误控制单元103进行从错误主动状态向错误被动状态的转换。
错误被动状态是因错误计数器的值超过一定值而导致消息的发送被限制的状态。错误主动状态的ECU1被限制消息发送以使得两周期只进行一次与被分配的一个时隙有关的消息发送。由此,怀疑出现故障等的ECU1的消息发送妨碍其他ECU1的消息发送/接收这一情况受到抑制。
另外,错误被动状态的ECU1发送的消息的错误主动位被设定为退行。接收到错误主动位被设定为退行的消息的ECU1即使在该消息的ACK字段中设定有NAK的情况下,也无视该NAK的响应(不视为消息的接收失败)而进行处理。即使是错误主动标志(Error Active Flag)被设定为退行的消息,如果是在ACK字段设定了ACK的消息,接收到该消息的ECU1只要进行与接收到通常的设定了ACK的消息时同样的处理即可。即,在本发明的通信协议中,将消息中的错误主动位设定为退行,并将ACK字段设定为NAK,从而利用该消息代替现有的CAN协议的错误帧(被动错误标志)。
在错误被动状态中,当TEC及REC的值均变为127以下时,错误控制单元103进行从错误被动状态向错误主动状态的转换。另外,在错误被动状态中,当TEC的值超过255时,错误控制单元103进行从错误被动状态向总线关闭状态的转换。
总线关闭状态是,因错误计数器的值进一步增加而超过一定值而导致ECU1被视为达到故障等异常状态,从而消息的发送/接收被禁止的状态。因此总线关闭状态的ECU1至满足解除总线关闭状态的预定条件为止,无法进行一切消息发送/接收。总线关闭状态的ECU1从应用101对协议控制单元102发出了总线关闭解除的请求的情况下(总线关闭解除条件成立的情况下),错误控制单元103进行从总线关闭状态向错误主动状态的转换,并且清除TEC及REC的值。
本发明的各ECU1通过进行上述错误控制处理,能够实现与现有的CAN协议同等的错误控制。
<协议控制详情>
接下来,按照状态转换图说明本发明的通信协议的控制处理的详细情况。图17是用于说明ECU1的通信控制处理的动作的状态转换图。此外,在以下的说明中,“X”表示用于通信处理的启动的计数器的值,随着时隙计数器的更新而减小计数器X的值,当计数器X的值变为0时,ECU1进行消息的重发。此外,计数器X相当于对直至消息发送为止的待机时间进行计时的计时单元。另外,“N”表示一个周期的时隙数,“i”表示被分配给各ECU1的时隙序号中的最小序号。
在本发明的通信协议中,各ECU1在初始状态、初始异常状态、同步准备状态、同步等待状态、同步状态、睡眠准备状态、总线睡眠状态及总线关闭状态这八个动作状态之间转换,进行通信控制处理。初始状态是ECU1开始通信前的状态,在设备的电源注入后(上电复位后)、或复位信号输入后等,ECU1处于该状态。在初始状态下,ECU1通过来自外部的设备的输入、或读出预先存储的数据,在取得进行通信所需的信息(时隙数及时隙序号等)而完成初始设定后,向同步准备状态转换以进行与其他ECU1的通信的同步。然而在初始状态下发生了异常时、或初始设定失败时等,ECU1从初始状态向初始异常状态转换,在初始异常状态待机。
图18是表示初始状态下的ECU1的处理顺序的流程图。此外,在图18~图26所示的流程图中,输入了复位信号的情况下向初始状态转换的处理、及总线关闭条件成立时向总线关闭状态转换的处理等的例外的处理省略图示。另外,图18~图26的流程图所示的处理为通过ECU1的协议控制层的协议控制单元102进行的处理。
转换为初始状态的ECU1首先取得时隙数及时隙序号等信息并进行初始设定(步骤S1)。接下来,ECU1判断在初始设定中是否发生了异常(步骤S2),在发生了异常的情况下(S2:是),指定向初始异常状态转换(步骤S3),结束处理。在未发生异常并完成初始设定的情况下(S2:否),ECU1将计数器X的值设定为(3N)(步骤S4),开始时隙计数的动作(步骤S5),向同步准备状态转换(步骤S6),结束初始状态的处理。
同步准备状态是用于确认其他ECU1是否已经进行消息的发送的状态,在最大为两个周期的期间内始终进行消息的接收。ECU1查询是否在总线5上发送有消息,在检测到其他ECU1发送的消息时,为了与该消息同步而进行接收处理。即,ECU1在正常接收到消息时,转换为同步状态,与该消息同步地进行以后的处理。另外,ECU1在未能正常接收到消息时(接收到异常的消息时),向同步等待状态转换,为了等待正常的消息的接收而进行计数器“X”的重新设定。另外,在其他ECU1未开始消息发送,而在两个周期期间未检测到总线5上的消息的情况下(计数器“X”变为0的情况下),ECU1为了自身开始消息发送,向同步等待状态转换,在同步等待状态进行ACK帧的发送。
图19及图20是表示同步准备状态的ECU1的处理顺序的流程图,在同步准备状态中,ECU1反复进行图19及图20所示的处理。同步准备状态的ECU1通过查询时隙计数器的值来判定时隙是否被更新(时隙序号是否发生了变化)(步骤S11),在时隙未被更新的情况下(S11:否),待机至时隙被更新为止。在时隙被更新了的情况下(S11:是),ECU1从计数器X的值减去1(步骤S12),进一步判定计数器X的值是否为0(步骤S13)。在计数器X的值为0的情况下(S13:是),即未接收消息而计数器X的值达到0的情况下,ECU1向同步等待状态转换(步骤S14),结束同步准备状态的处理。(ECU1在向同步等待状态转换后进行ACK帧的发送。)
另外,在计数器X的值不为0的情况下(S13:否),ECU1判定是否接收到正常的消息(步骤S17)。当未接收到正常的消息时(S17:否),ECU1进一步判定是否接收到异常的消息(步骤S20)。当未接收到异常的消息时(S20:否),即完全未接收到来自其他ECU1的消息时,ECU1结束处理(但在同步准备状态中反复进行图示的处理,ECU1的处理返回步骤S11)。
接收到正常的消息时(S17:是),ECU1将计数器X的值设定为(2N)(步骤S18),向同步状态转换(步骤S19),结束同步准备状态的处理。另外,接收到异常的消息时(S20:是),ECU1进一步判定计数器X的值是否大于(N+i-2)(步骤S21)。当计数器X的值大于(N+i-2)时(S21:是),ECU1将(2N+i-2)设定为计数器X的值(步骤S22),向同步等待状态转换(步骤S23),结束同步准备状态的处理。另外,当计数器X的值为(N+i-2)以下时(S21:否),ECU1将(N+i-2)设定为计数器X的值(步骤S24),向同步等待状态转换(步骤S23),结束处理。
同步等待状态是等待接收来自其他ECU1的消息的状态,当正常接收到来自其他ECU1的消息时,ECU1与接收到的消息同步地开始处理,向同步状态转换。在同步等待状态中,接收到异常的消息时,ECU1等待该消息的重发。另外,在同步等待状态中,当完全未接收到来自其他ECU1的消息时(计数器“X”变为0时),ECU1发送ACK帧。另外,在同步准备状态下计数器X的值变为0而转换为同步等待状态的情况下,ECU1首先进行ACK帧的发送。
图21是表示同步等待状态下的ECU1的处理顺序的流程图。转换为同步等待状态的ECU1首先查询计数器X的值是否为0(步骤S30),由此判断是否在同步准备状态下计数器X的值变为0而转换为同步等待状态。当计数器X的值为0时(S30:是),ECU1将(2N+i-2)设定为计数器X的值(步骤S34),发送ACK帧(步骤S35),将处理推向步骤S31。另外,当计数器X的值不为0时(S30:否),ECU1将处理推向步骤S31。
在步骤S31中,同步等待状态的ECU1通过查询时隙计数器的值来判定时隙是否被更新(步骤S31),当时隙未被更新时(S31:否),待机至时隙被更新为止。在时隙被更新了的情况下(S31:是),ECU1从计数器X的值减去1(步骤S32),进一步判定计数器X的值是否为0(步骤S33)。当计数器X的值为0时(S33:是),ECU1将(2N+i-2)设定为计数器X的值(步骤S34),发送ACK帧(步骤35),使处理返回到步骤S31。
另外,当计数器X的值不为0时(S33:否),ECU1判定是否接收到正常的消息(步骤S36)。当未接收到正常的消息时(S36:否),ECU1进一步判定是否接收到异常的消息(步骤S39)。当未接收到异常的消息时(S39:否),ECU1使处理返回到步骤S31。
当接收到正常的消息时(S36:是),ECU1将计数器X的值设定为(2N)(步骤S37),向同步状态转换(步骤S38),结束同步等待状态的处理。另外,当接收到异常的消息时(S39:是),ECU1将(N+i-2)设定为计数器X的值(步骤S40),使处理返回到步骤S31。
同步状态是与至少一个其他的ECU1形成了同步的状态,ECU1在分配给自身的时隙中进行消息(数据帧或ACK帧)的发送。另外,同步状态根据TEC及REC的值而具有错误主动状态或错误被动状态这两个内部状态,在错误被动状态下,消息发送被限制为两个周期一次。ECU1在通常动作状态下以该同步状态进行动作。另外,ECU1在两个周期的期间内完全未从其他所有的ECU1接收到消息的情况下,发送ACK帧,向同步等待状态转换。在被应用层的应用101给予了睡眠请求的情况下,ECU1向睡眠转换状态转换。此外,ECU1根据复位信号的输入而向初始状态转换,根据总线关闭条件的成立而向总线关闭状态转换。
图22及图23是表示同步状态的ECU1的处理顺序的流程图,在同步状态中ECU1反复进行图22及图23所示的处理。同步状态的ECU1判定是否被应用101给予了睡眠指示(步骤S51),当被给予了睡眠指示时(S51:是),向睡眠准备状态转换(步骤S52),结束同步状态的处理。
当未被应用101给予睡眠指示时(S51:否),ECU1判定是否到达分配给自身的时隙的动作点(步骤S53)。当到达动作点时(S53:是),ECU1进一步判定自身的错误状态是否为错误被动状态(步骤S54)。当错误状态为错误被动状态时(S54:是),消息的发送被限制为两个周期一次,因而ECU1进一步判定是否为自身能够进行消息发送的周期(步骤S55)。当判定为不是能够进行消息发送的周期时(S55:否),ECU1结束处理(但在同步状态下反复进行图示的处理,ECU1的处理返回到步骤S51)。
当错误状态不为错误被动状态时(S54:否),即错误状态为错误主动时,或者处于即使错误状态为错误被动状态也能够进行消息发送的周期时(S55:是),ECU1查询是否存在应向其他ECU1发送的数据(步骤S56)。ECU1在存在应向其他ECU1发送的数据时(S56:是),生成包含该数据的数据帧并发送(步骤S57),结束处理。另外,ECU1在不存在应向其他ECU1发送的数据时(S56:否),生成ACK帧并发送(步骤S58),结束处理。
另外,当未到达分配给自身的时隙的动作点时(S53:否),ECU1通过查询时隙计数器的值来判定时隙是否被更新(步骤S59)。当时隙未被更新时(S59:否),ECU1使处理返回到步骤S51,反复进行步骤S51、S53及S59的判定,直至被给予睡眠指示、到达动作点、或时隙被更新为止。
在时隙被更新了的情况下(S59:是),ECU1从计数器X的值减去1(步骤S60),进一步判定计数器X的值是否为0(步骤S61)。当计数器X的值为0时(S61:是),ECU1将(2N+i-2)设定为计数器X的值(步骤S62),发送ACK帧(步骤63),向同步等待状态转换(步骤S64),结束同步状态的处理。另外,当计数器X的值不为0时(S61:否),ECU1判定是否接收到正常的消息(步骤S65)。当接收到正常的消息时(S65:是),ECU1将(2N)设定为计数器X的值(步骤S66),结束处理。另外,当未接收到正常的消息时(S65:否),即接收到异常的消息或未接收到消息时,ECU1结束处理。
在睡眠准备状态下,ECU1在被应用101给予睡眠请求而在与其他ECU1之间取得睡眠的一致意见时、或者在被应用101取消了睡眠请求时,进行向其他状态的转换。在睡眠准备状态下,ECU1无法进行数据帧的发送,只进行将睡眠位设定为退行的ACK帧的发送。ECU1在M(预定的常数)个周期内从其他ECU1接收到将睡眠位设定为退行的ACK帧时,向总线睡眠状态转换。另外,ECU1在被应用101给予了睡眠请求的取消时,向同步状态转换。
图24是表示睡眠准备状态下的ECU1的处理顺序的流程图。此外,在图示的处理中,ECU1利用睡眠准备计数器进行处理,但在初始设定等时将该计数器的值初始化为0。转换为睡眠准备状态的ECU1首先判定来自应用101的睡眠请求是否被取消(步骤S71),当睡眠请求未被取消时(S71:否),进一步判定是否从其他ECU接收到一个周期的ACK帧(步骤S74)。当未接收到一个周期的ACK帧时(S74:否),ECU1使处理返回到步骤S71,反复进行步骤S71及S74的判定直至睡眠请求被取消、或者接收到一个周期的ACK帧为止。
当睡眠请求被应用101取消时(S71:是),ECU1将睡眠准备计数器的值设定为0(步骤S72),向同步状态转换(步骤S73),结束睡眠准备状态的处理。
另外,当接收到一个周期的ACK帧时(S74:是),ECU1使睡眠准备计数器的值增加(步骤S75),判定睡眠准备计数器的值是否达到预先设定的M(步骤S76)。当睡眠准备计数器的值未达到M时(S76:否),ECU1使处理返回到步骤S71,重复进行上述的处理。当睡眠准备计数器的值达到M时(S76:是),ECU1将睡眠准备计数器的值设定为0(步骤S77)。接下来,ECU1禁止位采样单元106的通常的采样(步骤S78),即进行降低位采样单元106的采样频率等的省电化设定,向总线睡眠状态转换(步骤S79),结束睡眠准备状态的处理。
总线关闭状态是在其他所有状态下TEC>255的总线关闭条件成立时转换的状态,待机直至总线关闭条件被清除为止。当总线关闭条件被清除时,ECU1向初始状态转换。
图25是表示总线关闭状态下的ECU1的处理顺序的流程图。因TEC>255的总线关闭条件成立而从其他状态转换为总线关闭状态的ECU1判定总线关闭条件是否被清除(是否变为总线关闭条件不成立的状态)(步骤S81),当总线关闭条件未被清除时(S81:否),待机直至总线关闭条件被清除。当总线关闭条件被清除时(S81:是),ECU1向初始状态转换(步骤S82),结束总线关闭状态的处理。
总线睡眠状态是在通信系统内与其他ECU1达成与睡眠有关的一致意见,ECU1在降低采样的频率等的低消耗功率状态下进行总线5的监视的状态。在总线睡眠状态下,ECU1不进行消息的发送,当检测到总线5上的支配(唤醒请求)时、或者被应用101给予了睡眠请求的取消时,ECU1进行使采样的频率恢复为通常情况等的从低消耗功率状态恢复的处理,向初始状态转换。
图26是表示总线睡眠状态下的ECU1的处理顺序的流程图。转换为总线睡眠状态的ECU1判定是否被应用101给予了唤醒请求(步骤S91),当未被给予唤醒请求时(S91:否),进一步判定是否在总线5上检测到支配信号(步骤S92)。当未检测到支配信号时(S92:否),ECU1使处理返回到步骤S91,重复进行判定处理直至被给予唤醒请求或检测到支配信号为止。
当被应用101给予了唤醒请求时(S91:是)、或者在总线5上检测到支配信号时(S92:是),ECU1向初始状态转换(步骤S93),结束总线睡眠状态的处理。
<启动序列>
接下来,通过几个示例说明本发明的通信系统的各ECU1进行的启动序列。本发明的通信系统的各ECU1起动并从初始状态转换为同步准备状态后,为了判断是否存在已经开始消息的发送的其他ECU1,在三个周期期间只进行消息接收。当在该期间中从其他ECU1接收到正常的消息时,ECU1与接收到的消息所包含的时隙序号同步,向同步状态转换并进行通常的消息发送/接收。当在该期间中接收到异常的消息时,ECU1将接收到异常的消息的时隙作为周期的第一时隙(时隙1),向同步等待状态转换,设定作为定时器使用的计数器X的值,等待在以后的周期中重发消息。当在该期间中未接收到来自其他ECU1的消息时,ECU1发送ACK帧并设定计数器X的值,并且将自身进行了消息发送的时隙作为时隙1而向同步等待状态转换,等待来自其他ECU1的响应。
图27~图29是表示启动序列的处理例的时间流程图。此外,图示的例子为,一个周期为四个时隙且时隙1~4分别被逐个分配给ECU1a~1d而得到的通信系统的启动序列。另外,在各图中,按ECU1a~1d的每一个图示有发送的消息(标有Msg的文字串的长方形)、动作状态(虚线的椭圆形)、时隙计数器的值(SC=)及计数器X的值(X=)。
图27所示的例子为正常地进行启动序列的例子。被分配了时隙2的ECU1b在同步等待状态下,在计数器X=0的时机发送消息A。该消息A被其他的ECU1a、1c及1d正常接收,ECU1a、1c及1d的时隙计数器与消息A所包含的时隙序号(时隙2)同步地被更新,并且ECU1a、1c及1d向同步状态转换。
在下一个时隙(时隙3)中,ECU1c发送消息B,正常接收到该消息B的ECU1b与消息B所包含的时隙序号(时隙3)同步地更新时隙计数器,从同步等待状态向同步状态转换。由此所有ECU1a~1d能够在时隙计数器的值同步的状态下巡回地进行以后的消息C~K的发送。
图28所示的例子为在启动序列中ECU1a及1b同时发送消息,两个消息在总线5上发生冲突时的例子。在同步等待状态的两个ECU即ECU1a及1b中计数器X的值均变为0而同时发送了消息A及B时,由于发送消息的ECU1a及1b不进行发送消息的校验,因此不知道消息A及B发生了冲突而分别将计数器X的值设定为(2N+i-2)(即,ECU1a将计数器X的值设定为7,ECU1b将计数器X的值设定为8)。另外,由于进行了消息发送的ECU1a及1b将发送消息的时机视为时隙1而设定时隙计数器,因此下一个时隙均变为时隙2。
另外,接收到冲突的消息A及B的同步准备状态的ECU1c及1d判断为接收到的消息为异常的消息,将接收到消息的周期视为周期1而设定时隙计数器的值,并且分别将计数器X的值设定为(2N+i-2)(即,ECU1c将计数器X的值设定为9,ECU1d将计数器X的值设定为10),向同步等待状态转换。
如此,四个ECU即ECU1a~1d根据分配的时隙序号将计数器X设定为不同的值,从而之后仅有计数器X的值最早变为0的ECU1a能够进行消息C的发送。消息C被其他的ECU1b~1d正常接收,ECU1b~1d使分别具有的时隙计数器的值与消息C所包含的时隙序号(时隙1)同步,向同步状态转换。之后,在下一个时隙2中ECU1b发送消息D,消息D被其他的ECU1a、1c及1d正常接收,同步等待状态的ECU1a使时隙计数器与消息D所包含的时隙序号(时隙2)同步,向同步状态转换。
图29所示的例子为在启动序列中ECU1a及1b同时发送消息,两个消息在总线5上发生了冲突时的其他例子。与上述的图28所示的例子同样地,同时发送了消息的ECU1a及1b分别将计数器X的值设定为(2N+i-2)(即,ECU1a将计数器X的值设定为7,ECU1b将计数器X的值设定为8),将发送消息的时机视为时隙1而设定时隙计数器。
另外,当同步等待状态的ECU1c及1d接收到冲突的消息A及B时,ECU1c及1d判断为接收消息为异常的消息,将接收到消息的周期视为周期1而设定时隙计数器的值,并且分别将计数器X的值设定为(N+i-2)(即,ECU1c将计数器X的值设定为5,ECU1d将计数器X的值设定为6)。
如此,在接收到异常的消息的ECU1c及1d中,根据是处于同步准备状态或是处于同步等待状态而将计数器X设定为(2N+i-2)或(N+i-2)。即,与在同步准备状态下接收到异常的消息时相比,在同步等待状态下接收到异常的消息时将计数器X设定为较小的值。因此,此后ECU1c的计数器X的值先变为0,ECU1c发送消息C。消息C被其他的ECU1a、1b及1d正常接收,ECU1a、1b及1d使分别具有的时隙计数器的值与消息C所包含的时隙序号(时隙3)同步,向同步状态转换。此后,在下一个时隙2中ECU1d发送消息D,消息D被其他的ECU1a~1c正常接收,同步等待状态的ECU1c使时隙计数器与消息D所包含的时隙序号(时隙4)同步,向同步状态转换。
如上所述,即使在启动序列中产生了消息的冲突的情况下,通过通信系统中的各ECU1a~1d分别将计数器X设定为不同的值,从被设定为最小的值的ECU1a~1d开始发送下一个消息,所有的ECU1a~1d也能够同步地开始通信。
<再同步序列>
接下来,通过几个示例说明本发明的通信系统的各ECU1进行的再同步序列。再同步序列为以下序列:在通信系统的各ECU1结束启动序列并开始了同步的通信后,因某些通信不良情况等而变成ECU1间未同步的状态时通过各ECU1的判断再次进行启动序列。各ECU1在从自身进行了消息发送的时隙至两个周期后的同时隙为止的期间内没有从其他ECU1正常接收的消息时,向同步等待状态转换而进行再同步。
图30~图31是表示再同步序列的处理例的时间图。此外,与图27~图29同样,图示的例子为:一个周期为四个时隙且时隙1~4分别被逐个分配给ECU1a~1d而得到的通信系统的再同步序列。另外,在各图中,按ECU1a~1d的每一个图示有发送的消息(标有Msg的文字串的长方形)、动作状态(虚线的椭圆形)、时隙计数器的值(SC=)及计数器X的值(X=)。但ECU1a~1d处于同步状态时的计数器X的值省略图示。
图30所示的例子为在一个ECU1b中产生了与其他ECU1a、1c及1d的同步偏差并ECU1a及ECU1b同时发送了消息A及B的情况。ECU1a、1c及1d的时隙计数器为时隙1的时机,ECU1b的时隙计数器为时隙2,ECU1a及1b同时发送了消息A及B时,其他的ECU1c及1d接收到异常的消息。在下一个时隙中,ECU1a、1c及1d的时隙计数器为时隙2,但由于ECU1b的时隙计数器为时隙2,因而不进行ECU1b的消息发送。
此后,ECU1a、1c及1d的时隙计数器在时隙3的时机,ECU1c发送消息C。由此,正常接收到消息C的ECU1b使时隙计数器与消息C所包含的时隙序号同步,因而所有的ECU1a~1d能够恢复同步的状态。
图31所示的例字为在所有ECU1a~1d的同步中产生了偏差,所有ECU1a~1d同时发送了消息A~D的情况。当所有ECU1a~1d同时发送了消息A~D时,在直至下一个周期为止的期间内不进行消息发送,一个周期后所有ECU1a~1d同时发送消息E~H。再一个周期后,同样地所有ECU1a~1d同时发送消息I~L。
各ECU1a~1d在如此两个周期期间未接收到来自其他ECU1a~1d的消息的情况下,将计数器X的值分别设定为(2N+i-2),向同步等待状态转换。此时根据被分配的时隙将各ECU1a~1d的计数器X分别设定为不同的值,从计数器X被设定为最小的值的ECU1a开始进行消息发送,从而能够使所有ECU1a~1d的时隙计数器同步,能够再次开始巡回的消息发送。
在以上结构的本发明的通信系统中,构成为:在以共用的总线5连接多个ECU1而得到的网络结构中,预先向各ECU1分配一个或多个时隙(发送权利),多个ECU1以针对每个时隙所规定的顺序巡回地进行消息的发送,由此多个ECU1不会同时进行消息发送,因而无需进行如现有的CAN协议那样的仲裁,能够使通信速度高速化。
另外,构成为:各ECU1在进行一个时隙的消息发送时,生成并发送包含应向其他ECU1发送的数据并包含分别表示其他时隙的消息接收的成败的信息在内的消息,从而能够有效地利用被分配给自身的时隙向其他ECU1通知消息接收的成败,并且,能够将自身具有的数据提供给其他ECU1。
一个ECU1发送的消息被与总线5连接的其他所有ECU1接收,接收到消息的ECU1能够从该消息的数据字段获取必要的数据,并且能够根据消息的ACK字段判断以前自身发送的消息是否被正确接收。因此,各ECU1查询在从一个时隙的上次的消息发送至下一次的消息发送为止的一个周期期间内接收到的消息所包含的ACK字段的信息,当上次的消息未被其他ECU1正确接收时,能够在下一个时隙中进行消息的重发。
由此,多个ECU1能够高效地巡回进行消息发送而不发生消息发送的冲突,即使因某些不良情况而未正确接收到消息时,也能够可靠地进行消息的重发。
另外,构成为:在ECU1生成并发送的消息中,将一个周期量的时隙所涉及的消息接收的成败信息包含于ACK字段中,由此各通信装置通过分别查询一个周期内接收到的消息的ACK字段,能够知道自身发送的消息是否被共享总线5的其他所有通信装置正确接收到。
另外,构成为:对于一个时隙完全未进行消息发送的情况下,通信系统的各ECU1省略该时隙的消息接收处理而进行下一个时隙的处理,由此在被分配了该时隙的ECU1因某些原因而停止消息发送时,能够尽可能地缩短周期中的未进行消息发送/接收的时间,从而能够有助于通信速度的高速化。
另外,构成为:在各ECU1生成并发送的消息中为了识别是在哪一个时隙发送的消息而包含时隙序号的信息,各ECU1根据接收到的消息的时隙序号进行通信处理的同步,由此通信系统中的多个ECU1能够使时隙同步而可靠地进行消息的发送/接收。
另外,构成为:各ECU1具有TEC及REC错误计数器并对消息发送/接收的错误发生次数进行计数,当错误发生次数超过规定数时,各ECU1将消息发送降低为两个周期一次,由此能够防止产生了故障等的可能性较高的ECU1的消息发送对其他ECU1的处理造成不良影响,能够提升通信系统的可靠性。
另外,构成为:在起动后等进行的启动序列中,各ECU1在刚刚驱动后的三个周期期间内始终接收来自其他ECU1的消息,在三个周期期间内接收到消息时,与接收消息的时隙同步地开始处理,在三个周期期间内未接收到消息时,自身进行消息(ACK帧)的发送,由此通信系统的多个ECU1能够在起动后可靠地同步开始通信处理。
另外,构成为:在启动序列中,各ECU1在消息发送后及接收到异常的消息后,根据分配给自身的时隙序号设定计数器X的值,使计数器X递减至0时进行消息发送,由此通信系统的多个ECU1能够将计数器X分别设定为不同的值,被设定为最小的值的ECU1能够单独进行下一消息发送,因而其他ECU1能够接收该消息并进行同步。
另外,构成为:对于启动序列完毕并确立了同步后的不良情况(同步偏差),各ECU1在两个周期期间内完全未接收到来自其他ECU1的消息的情况下,根据分配给自身的时隙序号设定计数器X的值,基于与启动序列同样的处理进行再同步,由此即使因通信的不良情况等而在多个通信装置中产生了同步偏差,多个通信装置同时进行了消息发送的情况下,也能够可靠地进行多个通信装置的再同步。
另外,构成为:在使通信系统向睡眠模式转换的情况下,各ECU1作为睡眠请求发送/接收将睡眠位设定为退行的ACK帧,在一个周期期间对于所有时隙均接收到睡眠请求的情况下,各ECU1分别停止消息发送而向睡眠模式(总线睡眠状态)转换,由此在与总线5连接的所有ECU1之间对于向睡眠模式转换这一情况取得一致意见后,各ECU1能够向睡眠模式转换。
如此,本发明的通信系统具有与现有的CAN协议所具有的功能大致相同的功能,由于在各ECU1的协议控制层实现这些功能,因而能够原封不动地利用与现有的CAN协议对应制作的应用(或者,对应用进行少许修改而利用)。除此之外,本发明的通信系统由于无需进行如现有的CAN协议那样的仲裁,也无需在消息发送时进行每位的信号电平检测,因而不存在对现有的CAN协议的高速化造成阻碍的原因,能够实现比现有的CAN协议更高速的消息发送/接收。
此外,在本实施方式中,采用了静态地对各ECU1进行时隙的分配的结构,但并不限定于此,也可以采用在通信系统的起动后等的任何时机动态地对各ECU1进行时隙的分配的结构。另外,对一个ECU1可分配多个时隙,但并不限定于此,也可以采用对一个ECU1只能分配一个时隙的结构。另外,本发明的通信系统并不限于搭载于车辆,也能够适用于其他各种系统。
(变形例)
另外,ECU1发送/接收的消息的结构并不限于图4A及图4B所示的结构,例如也可以是如以下的变形例所示的其他结构。图32是表示变形例的通信系统的消息结构的示意图。此外,在本图中,仅图示数据帧的结构,对于ACK帧,由于结构相同(从数据帧除去数据字段后的结构),因而省略图示。
变形例的数据帧为以下结构:相对于图4A所示的数据帧,在时隙序号和数据字段之间追加了时隙序号用CRC(在图32中仅记为CRC)。虽省略图示,但ACK帧在时隙序号和CRC字段之间追加时隙序号用CRC。时隙序号用CRC用于进行接收到的消息所包含的时隙序号的错误检测,通过对时隙序号的值进行利用预定的生成多项式的运算来获取。接收到消息的ECU1将从接收到的消息所包含的时隙序号用生成多项式计算的值与接收到的消息的时隙序号用CRC的值进行比较,由此能够进行错误检测,当两个值不一致时判断为产生错误。
如此,通过在ECU1发送/接收的消息中设置用于检测时隙序号的错误的时隙序号用CRC,在基于CRC字段的错误检测中检测出错误时,ECU1能够进一步查询时隙序号中是否包含错误。由此,各ECU1即使在接收到包含错误的消息的情况下,如果时隙序号中不包含错误,也能够进行基于接收到的消息的时隙序号的通信的同步处理,因而能够更顺畅地进行多个ECU1的巡回的消息发送/接收。
此外,在上述的变形例中,采用了在消息中设置检测时隙序号的错误的时隙序号用CRC的结构,但并不限于此,也可以采用在消息中设置能够改正时隙序号的错误的数据。
附图标记说明
1、1a~1d ECU(通信装置)
5总线(通信线)
11控制部
12输入部
13输出部
14存储部
15电源电路
16通信部
101应用
102协议控制单元(消息发送单元、消息重发单元、通信开始单元、通信重开单元、通信停止请求发送单元、通信停止请求接收单元、通信停止控制单元)
103错误控制单元
104消息生成单元
105时隙管理单元
106位采样单元
107总线驱动器

Claims (11)

1.一种通信系统,多个通信装置通过共用的通信线连接,一个通信装置发送的消息被其他多个通信装置接收,其特征在于,
对各通信装置预先分配一个或多个发送权利,上述多个通信装置以针对每个该发送权利所规定的顺序巡回地进行消息的发送,
上述通信装置具有:
消息发送单元,生成并发送包含多个接收成败信息及应向其他通信装置发送的数据在内的消息,其中上述多个接收成败信息分别表示各发送权利涉及的消息接收的成败;和
消息重发单元,根据从其他通信装置接收到的消息所包含的接收成败信息进行消息的重发。
2.根据权利要求1所述的通信系统,其特征在于,
上述通信装置的消息发送单元使在从自身的一个发送权利涉及的上次的消息发送至此次的消息发送为止的一个周期期间内发送的、其他发送权利涉及的消息接收的成败作为上述接收成败信息而包含在发送的消息中。
3.根据权利要求1或2所述的通信系统,其特征在于,
各通信装置在预定时间内未进行一个通信权利涉及的消息的发送的情况下进行下一个通信权利涉及的消息的发送或接收。
4.根据权利要求1~3中任一项所述的通信系统,其特征在于,
上述通信装置的消息发送单元生成并发送包含用于识别发送权利的识别信息在内的消息,
各通信装置基于接收到的消息的上述识别信息进行消息发送/接收的同步。
5.根据权利要求4所述的通信系统,其特征在于,
上述通信装置的消息发送单元生成并发送包含用于检测或改正上述识别信息的错误的信息在内的消息。
6.根据权利要求1~5中任一项所述的通信系统,其特征在于,
上述通信装置具有错误计数器,上述错误计数器对消息的发送/接收涉及的错误发生次数进行计数,
上述通信装置的消息发送单元在上述错误计数器所计数的错误发生次数超过预定值的情况下降低消息发送的频率。
7.根据权利要求1~6中任一项所述的通信系统,其特征在于,
上述通信装置具有通信开始单元,上述通信开始单元在起动后的预定周期内未进行消息的发送并在上述预定周期期间内从其他通信装置接收到消息的情况下与该消息同步地进行以后的消息发送,在上述预定周期期间内未从其他通信装置接收消息的情况下进行消息发送,开始与其他通信装置之间的消息发送/接收。
8.根据权利要求7所述的通信系统,其特征在于,
上述通信装置具有计时单元,上述计时单元对直至消息发送为止的待机时间进行计时,
上述通信装置的通信开始单元在进行了消息发送的情况下或在上述预定周期期间内从其他通信装置接收到异常消息的情况下,在用上述计时单元对与被分配的发送权利相应的待机时间进行了计时后,进行消息的发送,
多个上述通信装置用上述计时单元对分别不同的待机时间进行计时。
9.根据权利要求1~8中任一项所述的通信系统,其特征在于,
上述通信装置具有:
计时单元,对直至消息发送为止的待机时间进行计时;和
通信重开单元,在预定周期期间内未从其他通信装置接收消息的情况下,在用上述计时单元对与被分配的发送权利相应的待机时间进行了计时后,重新开始消息发送,
多个上述通信装置用上述计时单元对分别不同的待机时间进行计时。
10.根据权利要求1~9中任一项所述的通信系统,其特征在于,
上述通信装置具有:
通信停止请求发送单元,发送请求停止消息发送的消息;
通信停止请求接收单元,从其他通信装置接收请求停止通信处理的消息;以及
通信停止控制单元,在预定周期内上述通信停止请求接收单元从多个其他通信装置接收到请求停止通信处理的消息的情况下停止消息发送。
11.一种通信装置,经由共用的通信线与其他装置之间进行消息的发送/接收,其特征在于,
预先分配有一个或多个发送权利,
上述通信装置具备:
消息发送单元,生成并发送包含多个接收成败信息及应向其他装置发送的数据在内的消息,其中上述多个接收成败信息分别表示包括分配给其他装置的发送权利在内的各发送权利涉及的消息接收的成败;和
消息重发单元,根据从其他装置接收到的消息所包含的接收成败信息进行消息的重发。
CN201180039441.7A 2010-08-09 2011-08-09 通信系统及通信装置 Expired - Fee Related CN103155492B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2010-178681 2010-08-09
JP2010178681A JP5717240B2 (ja) 2010-08-09 2010-08-09 通信システム及び通信装置
PCT/JP2011/068168 WO2012020761A1 (ja) 2010-08-09 2011-08-09 通信システム及び通信装置

Publications (2)

Publication Number Publication Date
CN103155492A true CN103155492A (zh) 2013-06-12
CN103155492B CN103155492B (zh) 2015-11-25

Family

ID=45567723

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180039441.7A Expired - Fee Related CN103155492B (zh) 2010-08-09 2011-08-09 通信系统及通信装置

Country Status (5)

Country Link
US (1) US9209942B2 (zh)
JP (1) JP5717240B2 (zh)
CN (1) CN103155492B (zh)
DE (1) DE112011102688T5 (zh)
WO (1) WO2012020761A1 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104717113A (zh) * 2013-12-14 2015-06-17 中国航空工业集团公司第六三一研究所 一种同步多主对等总线通信系统
CN106789694A (zh) * 2016-11-12 2017-05-31 驭联智能科技发展(上海)有限公司 新型车载设备通信控制方法及系统
CN109384110A (zh) * 2017-08-08 2019-02-26 东芝电梯株式会社 电梯系统
CN110602028A (zh) * 2018-06-13 2019-12-20 本田技研工业株式会社 通信系统和车辆
CN110610092A (zh) * 2014-04-17 2019-12-24 松下电器(美国)知识产权公司 车载网络系统、网关装置以及不正常检测方法
CN110915155A (zh) * 2017-05-16 2020-03-24 Abb瑞士股份有限公司 用于控制单元与电力电子元件之间的通信的通信网络
CN111464414A (zh) * 2014-07-10 2020-07-28 松下电器(美国)知识产权公司 车载网络系统、电子控制单元、接收方法以及发送方法
WO2023025212A1 (zh) * 2021-08-27 2023-03-02 北京车和家信息技术有限公司 电子控制单元的刷写方法、装置、系统、设备和存储介质

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103620573B (zh) 2011-04-06 2018-06-19 罗伯特·博世有限公司 用于匹配串行总线系统中的数据传输安全性的方法和设备
RU2620989C2 (ru) 2011-04-06 2017-05-30 Роберт Бош Гмбх Способ и устройство для повышения пропускной способности при передаче данных в последовательной шинной системе
WO2012146631A1 (de) 2011-04-26 2012-11-01 Robert Bosch Gmbh Verfahren und vorrichtung zur an speichergrössen angepassten seriellen datenübertragung
EP2726999B1 (de) 2011-06-29 2015-09-09 Robert Bosch GmbH Verfahren und vorrichtung zur seriellen datenübertragung mit flexibler nachrichtengrösse und variabler bitlänge
JP5626266B2 (ja) * 2012-06-05 2014-11-19 株式会社デンソー 通信システム
DE102012017386B4 (de) * 2012-09-01 2020-10-15 Volkswagen Aktiengesellschaft Verfahren zum Überwachen einer mit einem Kommunikationskanal verbundenen Vorrichtung
KR101438978B1 (ko) * 2012-12-31 2014-09-11 현대자동차주식회사 리프로그래밍 방법 및 시스템
US9419737B2 (en) * 2013-03-15 2016-08-16 Concio Holdings LLC High speed embedded protocol for distributed control systems
JP6039522B2 (ja) * 2013-09-06 2016-12-07 株式会社東芝 外部入出力装置および調停設定結果格納方法
DE102013015370A1 (de) * 2013-09-13 2015-03-19 Wabco Gmbh Verfahren zur Bereitstellung und Übertragung von Daten, insbesondere in Verbindung mit einem Fahrzeug
WO2015042540A1 (en) 2013-09-23 2015-03-26 Farmobile, Llc Farming data collection and exchange system
CN104635549A (zh) * 2013-11-07 2015-05-20 北汽福田汽车股份有限公司 Can总线错误处理方法和can控制器
JP2015139093A (ja) * 2014-01-22 2015-07-30 株式会社デンソー 中継装置
JP5958975B2 (ja) 2014-03-10 2016-08-02 トヨタ自動車株式会社 通信装置、通信方法及び通信システム
JP6336328B2 (ja) * 2014-05-02 2018-06-06 キヤノン株式会社 通信装置とその制御方法、及びプログラム
JP6323296B2 (ja) * 2014-10-23 2018-05-16 株式会社デンソー 制御装置
JP6282216B2 (ja) * 2014-11-20 2018-02-21 国立大学法人名古屋大学 通信システム及び通信装置
US9843597B2 (en) * 2015-01-05 2017-12-12 International Business Machines Corporation Controller area network bus monitor
JP6497142B2 (ja) * 2015-03-13 2019-04-10 富士通株式会社 通信監視装置、通信監視プログラム、および通信監視方法
US9768977B2 (en) * 2015-07-01 2017-09-19 QUALCOMM Technologies International, Ltd Low-power can management
JP6836340B2 (ja) * 2015-09-29 2021-02-24 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 不正検知電子制御ユニット、車載ネットワークシステム及び通信方法
EP3396900B1 (en) * 2015-12-25 2019-10-30 Panasonic Intellectual Property Management Co., Ltd. Fraudulent message detection
DE112016006679B4 (de) * 2016-04-01 2021-10-14 Mitsubishi Electric Corporation Steuerungsvorrichtung und Recovery-Verarbeitungsverfahren für Steuerungsvorrichtung
JP6845628B2 (ja) 2016-07-07 2021-03-17 任天堂株式会社 情報処理装置、情報処理方法、情報処理システム、および、制御プログラム
KR102592204B1 (ko) * 2016-12-29 2023-10-20 현대자동차주식회사 차량 및 그의 통신 제어 방법
CN106911426B (zh) * 2017-02-16 2020-07-28 华为技术有限公司 一种灵活以太网中传输数据的方法及设备
EP3499806B1 (en) * 2017-12-13 2020-08-05 Nxp B.V. Node and method for conducting measurements and signal analyses on a multi-master access bus
JP7010087B2 (ja) 2018-03-16 2022-01-26 トヨタ自動車株式会社 プログラム更新管理装置、プログラム更新管理方法、およびプログラム
KR101988171B1 (ko) * 2018-04-27 2019-06-11 벨로넥트 인코퍼레이션 접속된 노드들에 향상된 속도의 버스를 제공하기 위한 기기
US10439840B1 (en) 2018-07-27 2019-10-08 Nxp B.V. Method and device for communicating data frames on a multi-master bus
FR3089729B1 (fr) * 2018-12-05 2021-08-06 Renault Sas Système de sélection de trames, nœud de communication et procédé de mise en oeuvre associés
DE102019205487A1 (de) * 2019-04-16 2020-10-22 Robert Bosch Gmbh Teilnehmerstation für ein serielles Bussystem und Verfahren zur Kommunikation in einem seriellen Bussystem
US11843667B2 (en) 2020-08-17 2023-12-12 Toyota Motor North America, Inc. Real time boot for secure distributed systems
WO2024009633A1 (ja) * 2022-07-05 2024-01-11 パナソニックIpマネジメント株式会社 コントローラ、制御方法及びプログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5537414A (en) * 1992-07-07 1996-07-16 Hitachi, Ltd. Method of wireless communication between base station and mobile station and multiple access communication system
JP2008048365A (ja) * 2006-08-21 2008-02-28 Matsushita Electric Ind Co Ltd 無線通信システム及び通信制御方法並びに通信ノード
JP2010081152A (ja) * 2008-09-25 2010-04-08 Nec Electronics Corp 通信装置および通信システム並びに通信方法、canノード
CN101772971A (zh) * 2007-08-01 2010-07-07 松下电器产业株式会社 无线通信方法、无线通信系统、无线通信装置及拥塞控制方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004363761A (ja) * 2003-06-03 2004-12-24 Nissan Motor Co Ltd データ通信方法
JP4341466B2 (ja) * 2004-05-21 2009-10-07 株式会社デンソー 同期通信システム
JP4852246B2 (ja) * 2005-01-04 2012-01-11 パナソニック株式会社 通信装置、集積回路、及び通信方法
JP2007081628A (ja) * 2005-09-13 2007-03-29 Nec Electronics Corp ネットワークの設計方法、ネットワーク設計プログラム、及びネットワーク設計装置
DE102005061403A1 (de) 2005-12-22 2007-06-28 Robert Bosch Gmbh Überwachungseinheit zur Überwachung und Steuerung des Zugriffs eines Teilnehmers auf einen Datenbus und Teilnehmer mit einer solchen Überwachungseinheit
EP2056529A4 (en) 2006-08-21 2016-07-20 Panasonic Corp WIRELESS COMMUNICATION SYSTEM, COMMUNICATION CONTROL METHOD AND COMMUNICATION NODES
JP4988474B2 (ja) 2007-08-02 2012-08-01 パナソニック株式会社 無線通信方法、無線通信システム及び無線通信装置
JP5086725B2 (ja) 2007-08-01 2012-11-28 パナソニック株式会社 無線通信方法、無線通信システム及び無線通信装置
JP4988472B2 (ja) 2007-08-01 2012-08-01 パナソニック株式会社 無線通信方法、無線通信システム及び無線通信装置
JP4988475B2 (ja) * 2007-08-02 2012-08-01 パナソニック株式会社 輻輳制御方法、無線通信システム及び無線通信装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5537414A (en) * 1992-07-07 1996-07-16 Hitachi, Ltd. Method of wireless communication between base station and mobile station and multiple access communication system
JP2008048365A (ja) * 2006-08-21 2008-02-28 Matsushita Electric Ind Co Ltd 無線通信システム及び通信制御方法並びに通信ノード
CN101772971A (zh) * 2007-08-01 2010-07-07 松下电器产业株式会社 无线通信方法、无线通信系统、无线通信装置及拥塞控制方法
JP2010081152A (ja) * 2008-09-25 2010-04-08 Nec Electronics Corp 通信装置および通信システム並びに通信方法、canノード

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104717113A (zh) * 2013-12-14 2015-06-17 中国航空工业集团公司第六三一研究所 一种同步多主对等总线通信系统
CN110610092A (zh) * 2014-04-17 2019-12-24 松下电器(美国)知识产权公司 车载网络系统、网关装置以及不正常检测方法
CN111464414A (zh) * 2014-07-10 2020-07-28 松下电器(美国)知识产权公司 车载网络系统、电子控制单元、接收方法以及发送方法
CN106789694A (zh) * 2016-11-12 2017-05-31 驭联智能科技发展(上海)有限公司 新型车载设备通信控制方法及系统
CN110915155A (zh) * 2017-05-16 2020-03-24 Abb瑞士股份有限公司 用于控制单元与电力电子元件之间的通信的通信网络
US11075720B2 (en) 2017-05-16 2021-07-27 Abb Power Grids Switzerland Ag Communications network for communication between a control unit and a power electronics element
CN110915155B (zh) * 2017-05-16 2021-11-30 日立能源瑞士股份公司 一种高压直流hvdc电力系统及其通信网络
CN109384110A (zh) * 2017-08-08 2019-02-26 东芝电梯株式会社 电梯系统
CN109384110B (zh) * 2017-08-08 2020-12-15 东芝电梯株式会社 电梯系统
CN110602028A (zh) * 2018-06-13 2019-12-20 本田技研工业株式会社 通信系统和车辆
CN110602028B (zh) * 2018-06-13 2021-09-21 本田技研工业株式会社 通信系统和车辆
WO2023025212A1 (zh) * 2021-08-27 2023-03-02 北京车和家信息技术有限公司 电子控制单元的刷写方法、装置、系统、设备和存储介质

Also Published As

Publication number Publication date
WO2012020761A1 (ja) 2012-02-16
US9209942B2 (en) 2015-12-08
JP5717240B2 (ja) 2015-05-13
DE112011102688T5 (de) 2013-05-29
JP2012039446A (ja) 2012-02-23
CN103155492B (zh) 2015-11-25
US20130139018A1 (en) 2013-05-30

Similar Documents

Publication Publication Date Title
CN103155492A (zh) 通信系统及通信装置
JP5852382B2 (ja) データ伝送方法
CN103098419B (zh) 用于以可转换的数据速率进行串行数据传输的方法和装置
JP4824662B2 (ja) 多数のバスのサイクルタイムを同期させる方法と装置及び対応するバスシステム
US9529746B2 (en) Method for operating a communication system
US8180940B2 (en) Method and system for transmission of cyclic and acyclic data over a transmission channel that takes into account real-time capability
JP7280082B2 (ja) 不正検知方法、不正検知装置及びプログラム
EP1573560A1 (en) Schematizing of messages in distributed control and supervision system
CN101167341A (zh) 对现场总线安全用户的地址分配
CN107836095B (zh) 用于在网络中产生秘密或密钥的方法
CN111030909B (zh) 一种应用于can总线多主设备通讯间时间同步的方法
US7761634B2 (en) Method, device and system for exchanging data via a bus system
JPH0654911B2 (ja) マスターシップを転送する方法および装置
JP2019097088A (ja) シリアル通信システム
JP6527647B1 (ja) 不正検知方法、不正検知装置及びプログラム
JP6028717B2 (ja) 通信システムおよびゲートウェイ装置並びに通信方法
Saha et al. A finite state analysis of time-triggered CAN (TTCAN) protocol using spin
JP2004280304A (ja) フィールドバスシステム及び通信方法並びにマスタ及びスレーブ
JP5219120B2 (ja) 通信システム、通信装置及び通信方法
Mahmud Communication Networks for the Next-Generation Vehicles
Proenza et al. A first design for CANsistant: A mechanism to prevent inconsistent omissions in CAN in the presence of multiple errors
JP2014027509A (ja) 通信制御装置
CN117336310A (zh) 一种基于数据同步的令牌转让方法、装置、设备及介质
de Castro Ferreira Fault-Tolerance in Flexible Real-Time Communication Systems
JP2013012914A (ja) 通信ノード、及び通信システム並びに通信方法

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20151125

Termination date: 20200809

CF01 Termination of patent right due to non-payment of annual fee