[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP5147533B2 - Relay device and relay method - Google Patents

Relay device and relay method Download PDF

Info

Publication number
JP5147533B2
JP5147533B2 JP2008132253A JP2008132253A JP5147533B2 JP 5147533 B2 JP5147533 B2 JP 5147533B2 JP 2008132253 A JP2008132253 A JP 2008132253A JP 2008132253 A JP2008132253 A JP 2008132253A JP 5147533 B2 JP5147533 B2 JP 5147533B2
Authority
JP
Japan
Prior art keywords
data
transmission
message
priority
queue
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.)
Expired - Fee Related
Application number
JP2008132253A
Other languages
Japanese (ja)
Other versions
JP2009284085A (en
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.)
Sumitomo Wiring Systems Ltd
AutoNetworks Technologies Ltd
Sumitomo Electric Industries Ltd
Original Assignee
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 Sumitomo Wiring Systems Ltd, AutoNetworks Technologies Ltd, Sumitomo Electric Industries Ltd filed Critical Sumitomo Wiring Systems Ltd
Priority to JP2008132253A priority Critical patent/JP5147533B2/en
Publication of JP2009284085A publication Critical patent/JP2009284085A/en
Application granted granted Critical
Publication of JP5147533B2 publication Critical patent/JP5147533B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Small-Scale Networks (AREA)

Description

本発明は、複数の異なる通信網に接続された通信装置から送信されるデータを夫々、他の通信装置へ中継する中継装置に関する。特に、データ夫々に付与されている優先度に基づきデータを送信する場合に、優先度の高低で極端に遅延時間に相違がないように、より効率的にデータを中継することができる中継装置及び中継方法に関する。   The present invention relates to a relay device that relays data transmitted from communication devices connected to a plurality of different communication networks to other communication devices. In particular, when transmitting data based on the priority assigned to each data, a relay device capable of relaying data more efficiently so that there is no significant difference in delay time with extremely high and low priority, and It relates to the relay method.

近年では、複数の通信装置を接続し、各通信装置に夫々機能を割り振って相互にデータを交換し、連携して多様な処理を行なわせるシステムが各分野で利用されている。例えば、車両に配される車載LAN(Local Area Network)の分野では、通信装置としてECU(電子制御装置;Electronic Control Unit)を用い、各ECUに夫々特化させた処理を行なわせて相互にデータを交換することにより、システムとして多様な機能を実現させている。   In recent years, systems that connect a plurality of communication devices, assign functions to the communication devices, exchange data with each other, and perform various processes in cooperation have been used in various fields. For example, in the field of an in-vehicle LAN (Local Area Network) arranged in a vehicle, an ECU (Electronic Control Unit) is used as a communication device, and each ECU performs a specialized process to exchange data with each other. By exchanging, various functions are realized as a system.

各通信装置の機能の特化、また各通信装置が行なうことができる機能の増加に伴ない、通信線に接続される通信装置の数及び種別も増加する。更に、システムとして多様な機能が期待されるようになることから、各通信装置がデータを共有して連携する必要が生じ、送受信されるデータ量は増大する。   As the functions of each communication device are specialized and the functions that can be performed by each communication device increase, the number and types of communication devices connected to the communication line also increase. Furthermore, since various functions are expected as a system, it is necessary for each communication apparatus to share data and cooperate, and the amount of data transmitted and received increases.

通信線で送受信されるデータ量の増大はコリジョン(衝突)によるデータの遅延又は欠落を招く。データの著しい遅延又は欠落は、ECUによるブレーキ制御等の運転補助機能に対して致命的な場合がある。   An increase in the amount of data transmitted and received on the communication line causes data delay or loss due to collision. A significant delay or loss of data may be fatal to driving assistance functions such as brake control by the ECU.

そこで、通信線を複数に分け、異なる通信線にECUを夫々接続する構成が一般的である。データを共通に使用するECUをまとめることで通信線の使用の無駄を抑えることができ、遅延を抑えることができるからである。また、ECUの種別の増大に対して効率的に通信線を利用するため、通信速度の異なる通信線に、送受信するデータの種類によりECUを分別して接続する構成もある。これらの構成では、異なる通信線間はデータの送受信を制御する中継装置により接続される。   Therefore, a configuration in which the communication lines are divided into a plurality of parts and the ECUs are connected to different communication lines is common. This is because by combining ECUs that use data in common, waste of use of the communication line can be suppressed and delay can be suppressed. In addition, in order to efficiently use communication lines in response to an increase in the type of ECU, there is a configuration in which the ECUs are connected to communication lines having different communication speeds by separating the ECUs according to the type of data to be transmitted and received. In these configurations, different communication lines are connected by a relay device that controls transmission and reception of data.

特許文献1には、ECUを複数の群に分けて群毎に通信線に接続し、異なる通信線を中継装置で接続する構成が開示されている。また、特許文献1に開示されている技術では、送受信されるデータには優先順位を識別するための優先度情報が付加されている。中継装置は異なる通信線間でデータを送受信する場合に、受信したデータの優先度情報から優先度を判別して優先度が高いデータを優先的に送信し、通信線の通信負荷が増加した場合でも優先度が高いデータの送信が大きく遅れないようにする技術が開示されている。   Patent Document 1 discloses a configuration in which ECUs are divided into a plurality of groups and connected to communication lines for each group, and different communication lines are connected by a relay device. In the technique disclosed in Patent Document 1, priority information for identifying priority is added to data to be transmitted and received. When the relay device transmits / receives data between different communication lines, the priority is determined from the priority information of the received data, and data with high priority is transmitted preferentially, and the communication load of the communication line increases. However, a technique for preventing transmission of high-priority data from being greatly delayed is disclosed.

これに対し、特許文献2には、優先度が低いデータであっても待機時間が所定時間以上となるデータについては早く送信されるように送信順序を決定する技術が開示されている。
特開2005−159568号公報 特開平6−30472号公報
On the other hand, Patent Document 2 discloses a technique for determining a transmission order so that data having a standby time equal to or longer than a predetermined time is transmitted early even if the data has low priority.
JP 2005-159568 A JP-A-6-30472

特許文献1に開示されている技術により、優先度が高いデータが大きく遅延することを回避することができる。しかしながら、優先度が高いデータの送信を優先する場合、優先度が低いデータの送信が遅れる。優先度が低いデータの送信の成功率が高くない場合、更に送信順序が後になり、中継装置内にデータが滞留し続ける可能性がある。   With the technique disclosed in Patent Document 1, it is possible to avoid a large delay in data with high priority. However, when priority is given to transmission of data with high priority, transmission of data with low priority is delayed. If the success rate of data transmission with low priority is not high, there is a possibility that the transmission order will be later and the data will stay in the relay apparatus.

特許文献2に開示されている技術により、待機時間が長いデータほど早く送信されるようにすることができる。しかしながら、各データの待機時間を計測するよりも簡易な構成で、優先度の高低で極端に遅延時間が相違しないように効率的に中継することができる中継装置の実現が望まれる。   With the technique disclosed in Patent Document 2, data with a longer waiting time can be transmitted earlier. However, it is desired to realize a relay device that can relay efficiently with a simpler configuration than measuring the waiting time of each data so that the priority is high and the delay time is not significantly different.

本発明は斯かる事情に鑑みてなされたものであり、中継装置が通信線を介して受信したデータの送信に失敗した場合にはデータを差し戻し、且つ戻す回数に制限を設ける構成により、優先度の高低で極端に遅延時間が相違しないように、より効率的にデータを中継することができる中継装置及び中継方法を提供することを目的とする。   The present invention has been made in view of such circumstances, and when the relay apparatus fails to transmit the data received via the communication line, the data is returned and the number of times of return is limited. It is an object of the present invention to provide a relay device and a relay method capable of relaying data more efficiently so that the delay time does not differ extremely between the heights of the two.

第1発明に係る中継装置は、複数の通信線に接続されており、前記通信線夫々に接続されている外部装置から、優先度が付与されて送信されるデータを他の外部装置へ送信してデータを中継する中継装置において、外部装置から送信されたデータを受信する受信手段と、該受信手段が受信したデータを受信順に記憶する記憶手段と、該記憶手段に記憶されているデータの順序に基づき、該データを抽出して送信を試みる順序を決定する送信制御手段と、該送信制御手段が決定した順序に基づいてデータの送信を試みる送信手段と、該送信手段によるデータの送信に失敗した場合、前記データを前記記憶手段へ戻す手段と、該手段によりデータを戻す都度、前記データに対応付けて戻した回数を計数する手段とを備え、データを前記送信手段により送信する場合、前記データに対応付けられる回数が所定回数以上であるときは、送信が成功するまで送信を試みるようにしてあることを特徴とする。 The relay device according to the first aspect of the present invention is connected to a plurality of communication lines, and transmits data transmitted with priority given from the external devices connected to the respective communication lines to other external devices. Te in the relay apparatus for relaying data, receiving means for receiving data transmitted from the external apparatus, storage means for storing in the order received data said receiving means has received, the data being memorize in the storage means based on the order, and transmission control means for determining the order in which Ru trying to send to extract the data, and transmitting means for attempting transmission of data based on the order in which the transmission control unit is determined, the transmission of data by said transmitting means In the case where the data fails, a means for returning the data to the storage means and a means for counting the number of times the data is returned in association with the data each time the data is returned by the means. When sending Ri, when the number associated with the said data is equal to or greater than a predetermined number of times, characterized in that you have to attempt to send until the transmission is successful.

第2発明に係る中継装置は、前記送信手段によるデータの送信が失敗し、前記データを前記記憶手段へ戻すに際し、前記記憶手段に記憶されているデータの先頭に記憶し直すようにしてあることを特徴とする。   In the relay apparatus according to the second invention, when transmission of data by the transmission unit fails and the data is returned to the storage unit, it is stored again at the head of the data stored in the storage unit. It is characterized by.

第3発明に係る中継装置は、前記送信手段によるデータの送信が連続して所定回数以上失敗した場合に、前記データを前記記憶手段へ戻すようにしてあることを特徴とする。   The relay apparatus according to a third aspect is characterized in that the data is returned to the storage means when the transmission of data by the transmission means fails continuously for a predetermined number of times or more.

第4発明に係る中継装置は、前記送信制御手段は、付与されている優先度が高いデータを優先的に抽出して送信するようにしてあることを特徴とする。   The relay apparatus according to a fourth aspect is characterized in that the transmission control means preferentially extracts and transmits the assigned high priority data.

第5発明に係る中継装置は、優先的に送信されるべき優先データ及び非優先データが区別されたテーブルを記憶しておく手段を備え、前記送信制御手段は、前記テーブルに記憶されている優先データを優先的に抽出して送信するようにしてあることを特徴とする。   A relay device according to a fifth aspect of the present invention comprises means for storing a table in which priority data to be transmitted with priority and non-priority data are distinguished, and the transmission control means has priority stored in the table Data is extracted and transmitted preferentially.

第6発明に係る中継方法は、複数の通信線に接続されており、前記通信線夫々を介して外部装置と接続される中継装置が、前記外部装置から優先度が付与されて送信されるデータを他の外部装置へ送信してデータを中継する方法において、外部装置から送信されたデータを受信し、受信したデータを受信順にバッファに記憶し、前記バッファに記されているデータの順序に基づき前記バッファからデータを抽出して送信を試みる順序を決定し、決定した順序に基づいてデータの送信を試み、データの送信に失敗した場合、前記データを前記バッファへ戻し、戻した回数を計数し、前記回数が所定回数以上であるデータは、送信が成功するまで送信を試みることを特徴とする。 A relay method according to a sixth aspect of the present invention is a method in which a relay device connected to a plurality of communication lines and connected to an external device via each of the communication lines is transmitted with priority given from the external device. the a method for relaying data transmitted to other external device, receives data transmitted from the external device, and stored in the buffer the received data in the received order, the order of the data that has been memorize in said buffer wherein to determine the order in which Ru trying to extract and send data from the buffer based, based on the determined order attempts to send data, if it fails to transmit the data, returning the data to the buffer, the number of returned Counting and data whose number is equal to or greater than a predetermined number are tried to be transmitted until transmission is successful.

第1発明及び第6発明では、複数の通信線に接続され、各通信線を介して接続される外部装置間のデータの中継を行なう中継装置が、データを受信順に記憶し、記憶してあるデータの順序に基づいてデータを抽出して送信する順序を決定して送信を試みる。データの送信に失敗した場合には、中継装置は受信したデータを記憶する記憶手段へデータを戻し、記憶手段に記憶されている次の順序の他のデータの送信を試みる。したがって、送信が成功する可能性が高い他のデータの送信までもが後になることが回避され、一のデータの送信が成功するまで中継装置に受信されたデータが滞留し続けることを防止することができる。なお、中継装置はデータの送信に失敗してデータを記憶手段へ戻す都度、回数を計数する。中継装置は、所定回数以上戻したデータは送信に成功するまでデータの送信を試みる。これにより、優先度が比較的低いデータも遅延時間が極端に長くなることなく他の外部装置へ送信される。 In the first invention and the sixth invention, connected to a plurality of communication lines, a relay device for relaying data between the external device connected via a respective communication line, and stores the data in the order of reception, and remembers Based on the order of certain data, the order in which data is extracted and transmitted is determined and transmission is attempted. If the data transmission fails, the relay device returns the data to the storage means for storing the received data, and attempts to transmit other data in the next order stored in the storage means. Therefore, it is avoided that transmission of other data having a high possibility of successful transmission is delayed, and data received by the relay device is prevented from staying until transmission of one data is successful. Can do. The relay device counts the number of times each time data transmission fails and data is returned to the storage means. The relay device attempts to transmit data until the data returned a predetermined number of times or more is successfully transmitted. As a result, data having a relatively low priority is transmitted to another external device without an extremely long delay time.

第2発明では、中継装置がデータの送信に失敗し、記憶手段へデータを戻す際、記憶手段に記憶されているデータの先頭に記憶し直される。これにより、次の送信機会に優先的に抽出されて送信が試みられるので、比較的優先度が低いデータの遅延時間が極端に長くなることを回避することが可能となる。   In the second invention, when the relay apparatus fails to transmit data and returns the data to the storage means, the data is stored again at the head of the data stored in the storage means. As a result, since transmission is attempted with priority extracted at the next transmission opportunity, it is possible to avoid an extremely long delay time of data having a relatively low priority.

第3発明では、中継装置がデータの送信に失敗し、記憶手段へデータを差し戻す際の失敗回数が設定される。つまり、連続してデータの送信に所定回数以上失敗した場合に初めて前記データを記憶手段へ戻す。これにより、比較的優先度が低く、他のデータが優先的に送信される状況下でも、データの送信機会を増やして極端に遅延時間が長くなることを回避することが可能となる。   In the third invention, the number of failures when the relay device fails to transmit data and sends the data back to the storage means is set. That is, the data is returned to the storage means for the first time when data transmission has failed continuously for a predetermined number of times. As a result, even in a situation where the priority is relatively low and other data is preferentially transmitted, it is possible to avoid an extremely long delay time by increasing data transmission opportunities.

第4発明では、中継装置は記憶手段からデータを抽出する際に、より優先度が高いデータを優先的に抽出する。これにより、送信に失敗したデータを記憶手段へ戻して他のデータの送信を試みる場合、送信が成功する可能性が高いデータが先に送信される。一のデータの送信に失敗したために他のデータに送信機会が与えられるにも拘わらず、当該他のデータの送信が更に失敗した場合には、全体的にデータの遅延時間が長くなることが想定される。これに対し、本発明では送信が成功する可能性が高いデータが優先的に送信されることにより、全体として効率的にデータを中継することが可能となる。   In the fourth invention, the relay device preferentially extracts data having a higher priority when extracting data from the storage means. Thereby, when returning the data which failed in transmission to a memory | storage means and trying transmission of other data, data with high possibility that transmission will be successful are transmitted first. When transmission of one data has failed, a transmission opportunity is given to other data, but when the transmission of the other data further fails, it is assumed that the data delay time will become longer overall. Is done. On the other hand, in the present invention, data with high possibility of successful transmission is preferentially transmitted, so that data can be efficiently relayed as a whole.

第5発明では、中継装置は優先データ及び非優先データが区別されたテーブルを記憶している。付与されている優先度のみによらず、当該テーブルを参照してデータの優先度に基づきより柔軟に送信順序を制御することが可能となり、全体として効率的にデータを中継することができる。   In the fifth invention, the relay device stores a table in which priority data and non-priority data are distinguished. Regardless of the assigned priority, the transmission order can be controlled more flexibly based on the priority of data with reference to the table, and data can be efficiently relayed as a whole.

本発明による場合、中継装置にデータが滞留し続けることを回避することができ、優先度が比較的低く、送信順序が後になるデータについても差し戻し回数が多い場合には送信が成功するまで送信が試みられる。これにより、優先度が低いデータの遅延時間が極端に長くなることが回避され、優先度の高低で極端に遅延時間に相違がないように効率的にデータを中継することが可能となる。   According to the present invention, it is possible to avoid the data from continuing to stay in the relay device, and if the priority is relatively low and the data whose transmission order is later is large, the transmission is continued until the transmission is successful. Tried. As a result, the delay time of data with low priority is prevented from becoming extremely long, and data can be efficiently relayed so that there is no significant difference in delay time with high or low priority.

以下、本発明をその実施の形態を示す図面に基づいて具体的に説明する。   Hereinafter, the present invention will be specifically described with reference to the drawings showing embodiments thereof.

なお、以下示す実施の形態では、本発明を車載ネットワークを構成する中継装置に適用した場合を例に説明する。   In the embodiment described below, a case where the present invention is applied to a relay device configuring an in-vehicle network will be described as an example.

(実施の形態1)
図1は、実施の形態1における車載ネットワークの構成を示すブロック図である。車載ネットワークは、データを送受信する通信装置であるECU(Electronic Control Unit)1a,1a,…,1b,1b,…と、ECU1a,1a,…,1b,1b,…が夫々接続する通信線2a,2bと、異なる通信線2a及び通信線2b間を接続し、ECU1a,1a,…とECU1b,1b,…との間のデータの送受信を中継する中継装置3とを含んで構成される。
(Embodiment 1)
FIG. 1 is a block diagram showing a configuration of an in-vehicle network in the first embodiment. The in-vehicle network includes ECUs (Electronic Control Units) 1a, 1a,..., 1b, 1b,..., Which are communication devices for transmitting and receiving data, and communication lines 2a, 1a, 1a,. 2b and the different communication lines 2a and 2b, and a relay device 3 that relays data transmission / reception between the ECUs 1a, 1a,... And the ECUs 1b, 1b,.

ECU1a,1a,…は通信線2aにバス型に接続され、ECU1b,1b,…は通信線2bにバス型に接続され、CANプロトコルに準じてデータを送受信する。中継装置3も通信線2a及び通信線2bのいずれにもバス型に接続されている。   ECUs 1a, 1a,... Are connected to the communication line 2a in a bus type, and ECUs 1b, 1b,... Are connected to the communication line 2b in a bus type, and transmit and receive data according to the CAN protocol. The relay device 3 is also connected in a bus shape to both the communication line 2a and the communication line 2b.

ECU1a,1a,…,1b,1b,…は測定値、計算値、制御値等の各種物理量の数値情報を含むデータの送信又はエンジン、ブレーキ等のマイクロコンピュータによる制御が可能な装置である。例えばECU1aはABS(Antilock Brake System)として機能し、車輪の回転速度(車輪速)を検知する図示しないセンサと接続されている。ECU1aは、車両の制動時にセンサを介して検知した車輪速に基づいてブレーキを制御すると共に、車輪速の測定値をデータとして通信線2aに接続されている各装置へ送信する。   The ECUs 1a, 1a,..., 1b, 1b,... Are devices that can transmit data including numerical information of various physical quantities such as measured values, calculated values, and control values, or can be controlled by a microcomputer such as an engine or a brake. For example, the ECU 1a functions as an ABS (Antilock Brake System) and is connected to a sensor (not shown) that detects the rotational speed (wheel speed) of the wheel. ECU1a controls a brake based on the wheel speed detected via the sensor at the time of braking of a vehicle, and transmits the measured value of wheel speed to each apparatus connected to the communication line 2a as data.

なお、ECU1a,1a,…,1b,1b,…及び中継装置3間のデータの送受信は、複数のデータがまとめられた「メッセージ(フレーム)」の送受信によって実行される。メッセージは複数のデータの組み合わせ毎に規定されているメッセージID(CAN ID)をヘッダ部に含んで送信される。ECU1a,1a,…,1b,1b,…は、自身の動作によって得られるデータ群をまとめてメッセージとして送信する。   In addition, transmission / reception of data between ECU1a, 1a, ..., 1b, 1b, ... and the relay apparatus 3 is performed by transmission / reception of the "message (frame)" in which several data were put together. The message is transmitted including a message ID (CAN ID) defined for each combination of a plurality of data in the header portion. The ECUs 1a, 1a,..., 1b, 1b,... Collectively transmit data groups obtained by their own operations as messages.

中継装置3は、各構成部の動作を制御するCPU(Central Processing Unit)30と、フラッシュメモリ、EPROM(Erasable Programmable Read Only Memory)、EEPROM(Electrically EPROM)等の不揮発性メモリを利用したROM31と、DRAM(Dynamic Random Access Memory)、SRAM(Static Random Access Memory)等のメモリを利用したRAM32と、CANプロトコルに準拠したネットワークコントローラを利用したCANコントローラ33と、内部バス34とを備える。CPU30、ROM31、RAM32、及びCANコントローラ33はいずれも内部バス34に接続されており相互に通信が可能である。CPU30、ROM31、RAM32、CANコントローラ33、及び内部バス34でマイクロコンピュータを構成してもよい。   The relay device 3 includes a CPU (Central Processing Unit) 30 that controls the operation of each component, a ROM 31 that uses a nonvolatile memory such as a flash memory, an EPROM (Erasable Programmable Read Only Memory), and an EEPROM (Electrically EPROM), A RAM 32 using a memory such as a DRAM (Dynamic Random Access Memory) or an SRAM (Static Random Access Memory), a CAN controller 33 using a network controller compliant with the CAN protocol, and an internal bus 34 are provided. The CPU 30, ROM 31, RAM 32, and CAN controller 33 are all connected to the internal bus 34 and can communicate with each other. The CPU 30, ROM 31, RAM 32, CAN controller 33, and internal bus 34 may constitute a microcomputer.

CPU30は、図示しない車両のオルタネータ、バッテリー等の電力供給装置から電力の供給を受け、ROM31から各種情報をRAM32へ読み出し、CANコントローラ33を制御し、メッセージを送受信する。   The CPU 30 receives power supply from a power supply device such as a vehicle alternator and a battery (not shown), reads various information from the ROM 31 to the RAM 32, controls the CAN controller 33, and transmits and receives messages.

ROM31には、CPU30が読み出して実行する制御プログラムが記憶されている。また、CPU30が参照する中継IDテーブル35が記憶されている。中継IDテーブル35については後述にて詳細を説明する。   The ROM 31 stores a control program that is read and executed by the CPU 30. Further, a relay ID table 35 referred to by the CPU 30 is stored. Details of the relay ID table 35 will be described later.

RAM32には、CPU30の処理の過程で発生する情報、又はセンサ(図示せず)から入力される信号が表わす測定値等が一時的に記憶される。   The RAM 32 temporarily stores information generated in the process of the CPU 30 or measurement values represented by signals input from sensors (not shown).

CANコントローラ33は、通信制御部36と、バッファ37と、第1送受信部38と、第2送受信部39とを備え、CANプロトコルに準じ通信線2a,2bを介した通信を実現する。   The CAN controller 33 includes a communication control unit 36, a buffer 37, a first transmission / reception unit 38, and a second transmission / reception unit 39, and realizes communication via the communication lines 2a and 2b according to the CAN protocol.

通信制御部36は、第1送受信部38又は第2送受信部39によりメッセージを受信した場合にこれをCPU30へ通知する。そして通信制御部36は、受信したメッセージを受信順にバッファ37に記憶する。通信制御部36は、CPU30からの指示に基づいてメッセージを中継する。詳細には、通信制御部36はCPU30からの指示に基づき、バッファ37に記憶されているメッセージを抽出し、中継先のECU1a,1a,…,1b,1b,…が接続されている通信線2a,2bと接続する第1送受信部38又は第2送受信部39へ抽出したメッセージを受け渡して送信されるようにする。つまり、通信制御部36がメッセージを抽出する順序で、送信が試みられる順序が決定される。   When the first control unit 38 or the second transmission / reception unit 39 receives a message, the communication control unit 36 notifies the CPU 30 of this message. The communication control unit 36 stores the received messages in the buffer 37 in the order of reception. The communication control unit 36 relays a message based on an instruction from the CPU 30. Specifically, the communication control unit 36 extracts a message stored in the buffer 37 based on an instruction from the CPU 30, and the communication line 2a to which the relay destination ECUs 1a, 1a,..., 1b, 1b,. , 2b, the extracted message is delivered to the first transmission / reception unit 38 or the second transmission / reception unit 39 to be transmitted. That is, the order in which transmission is attempted is determined in the order in which the communication control unit 36 extracts messages.

バッファ37は、SRAM、DRAM等のRAMを利用し、受信したメッセージを一時的に記憶する。また、バッファ37は中継するメッセージを送信待ちのために記憶する送信キューとしても用いられる。送信キューは、第1送受信部38及び第2送受信部39夫々に対応付けられており、第1送受信部38及び第2送受信部39のいずれから送信するために記憶されているメッセージであるかを判別することが可能に区別されている。なお、バッファ37の記憶容量が少なく、第1送受信部38及び第2送受信部39夫々に対応付けて夫々複数のメッセージを記憶できない場合には、RAM32に送信キューとして使用する記憶領域を確保する。この場合、CPU30の処理により、複数の送受信部夫々に対応する複数のキューを区別し、CPU30が夫々のキューから、対応する送受信部により送信させるべきメッセージを抽出し、通信制御部36へ渡す構成とする。   The buffer 37 uses a RAM such as an SRAM or a DRAM to temporarily store the received message. The buffer 37 is also used as a transmission queue that stores messages to be relayed for transmission waiting. The transmission queue is associated with each of the first transmission / reception unit 38 and the second transmission / reception unit 39, and indicates whether the message is stored for transmission from the first transmission / reception unit 38 or the second transmission / reception unit 39. It is possible to distinguish. If the storage capacity of the buffer 37 is small and a plurality of messages cannot be stored in association with the first transmission / reception unit 38 and the second transmission / reception unit 39, a storage area used as a transmission queue is secured in the RAM 32. In this case, the CPU 30 distinguishes a plurality of queues corresponding to each of the plurality of transmission / reception units, extracts a message to be transmitted by the corresponding transmission / reception unit from each queue, and passes the message to the communication control unit 36. And

第1送受信部38及び第2送受信部39はフィルタ回路、AD変換回路等を含み、通信線2a,2bにおける差動電圧を検知、出力することによってメッセージの送受信を実現する。通信制御部36は、第1送受信部38及び第2送受信部39により通信線2a,2bにおける通信状況をモニタし、自身がメッセージを送信することが可能であるか否かを判断し、送信が可能である場合にメッセージを送信する。具体的には、通信制御部36は、通信線2aに接続されているECU1a,1a,…がメッセージを送信していない間に第1送受信部38によってメッセージを送信することができる。一方、通信線2aに接続されているECU1a,1a,…がメッセージを送信している間は、通信制御部36は第1送受信部38により、送信されているメッセージを受信する。通信線2aに接続されているECU1a,1a,…及び中継装置3のいずれか複数から同時にデータの送信が開始された場合、CANプロトコルに基づき調停によっていずれかが優先的にメッセージを送信するようにしてある。詳細には、以下のようにしてメッセージの優先/非優先が決定される。メッセージは0(ゼロ)ビットと1ビットとで表わされるデジタル信号により送受信される。メッセージの先頭のヘッダに含まれるメッセージIDがアービトレーションフィールドとして利用され、アービトレーションフィールド内のビット列により通信線2aにおける調停が行なわれる。CANプロトコルでは、0(ゼロ)ビットがより長く続くアービトレーションフィールドを有するメッセージの送信が優先される。つまり、メッセージIDを数値として解釈した場合に、より数値が小さいメッセージの優先度が高い。そして優先されるメッセージを送信するECU1a、又は中継装置3aが調停に勝つ。通信制御部36は、通信線2aにおける調停に勝った場合のみに、第1送受信部38によって送信を継続することができる。通信制御部36は調停に負けた場合、第1送受信部38による送信を停止し、他の送信を継続するECU1aから送信されるメッセージの受信に切り替え、他のECU1aと同時にメッセージを受信する。   The first transmission / reception unit 38 and the second transmission / reception unit 39 include a filter circuit, an AD conversion circuit, and the like, and realize transmission / reception of messages by detecting and outputting a differential voltage in the communication lines 2a and 2b. The communication control unit 36 monitors the communication status on the communication lines 2a and 2b by the first transmission / reception unit 38 and the second transmission / reception unit 39, determines whether or not the communication control unit 36 can transmit a message, and the transmission is performed. Send messages when possible. Specifically, the communication control part 36 can transmit a message by the 1st transmission / reception part 38, while ECU1a, 1a, ... connected to the communication line 2a is not transmitting a message. On the other hand, while the ECUs 1a, 1a,... Connected to the communication line 2a are transmitting messages, the communication control unit 36 receives the transmitted message by the first transmission / reception unit 38. When data transmission is started simultaneously from any one of the ECUs 1a, 1a,... And the relay device 3 connected to the communication line 2a, one of them transmits a message preferentially by arbitration based on the CAN protocol. It is. Specifically, priority / non-priority of a message is determined as follows. Messages are transmitted and received by digital signals represented by 0 (zero) bits and 1 bit. A message ID included in the header of the message is used as an arbitration field, and arbitration is performed on the communication line 2a by a bit string in the arbitration field. In the CAN protocol, priority is given to sending messages with an arbitration field that lasts longer than zero (zero) bits. That is, when the message ID is interpreted as a numerical value, the priority of a message with a smaller numerical value is high. The ECU 1a that transmits the priority message or the relay device 3a wins the arbitration. The communication control unit 36 can continue transmission by the first transmission / reception unit 38 only when the arbitration in the communication line 2a is won. When the communication control unit 36 loses arbitration, the communication control unit 36 stops transmission by the first transmission / reception unit 38, switches to reception of a message transmitted from the ECU 1a that continues other transmissions, and receives the message simultaneously with the other ECUs 1a.

CPU30は、CANコントローラ33の第1送受信部38又は第2送受信部39により受信したメッセージを、ROM31に記憶してある中継IDテーブル35に基づき通信制御部36によりバッファ37の送信キューに適宜記憶させて送信されるようにすることにより、メッセージの中継を実現する。   The CPU 30 appropriately stores the message received by the first transmission / reception unit 38 or the second transmission / reception unit 39 of the CAN controller 33 in the transmission queue of the buffer 37 by the communication control unit 36 based on the relay ID table 35 stored in the ROM 31. Message relaying is realized.

図2は、中継装置3のROM31に記憶されている中継IDテーブル35の内容例を示す説明図である。中継IDテーブル35には、メッセージが夫々メッセージIDで区別して記憶されている。また、メッセージの送信元のECU1a,1a,…,1b,1b,…が接続されている通信線2a,2bと、中継先のECU1a,1a,…,1b,1b,…が接続されている通信線2a,2bとを区別する情報がメッセージIDに対応付けて記憶されている。具体的には、「0」は第1送受信部38が接続されている通信線2aを、「1」は第2送受信部39が接続されている通信線2bを表わす。更に、メッセージ夫々のメッセージIDで決まる優先度とは別の優先度がメッセージIDに対応付けて記憶されている。具体的には、「1」は優先的に送信されるべきメッセージであり、「0」は非優先的メッセージであることを表わす。優先度は「1」よりも大きい自然数によって表わされ、「1」が最も優先度が高く、数値が大きいほど優先度が低いと設定し、且つ「0」は非優先的メッセージであることを表わす構成としてもよい。   FIG. 2 is an explanatory diagram showing an example of the contents of the relay ID table 35 stored in the ROM 31 of the relay device 3. In the relay ID table 35, messages are stored separately by message ID. In addition, communication lines 2a, 2b to which the ECUs 1a, 1a,..., 1b, 1b,... That are message senders are connected, and communications to which the ECUs 1a, 1a, ..., 1b, 1b,. Information for distinguishing the lines 2a and 2b is stored in association with the message ID. Specifically, “0” represents the communication line 2a to which the first transmission / reception unit 38 is connected, and “1” represents the communication line 2b to which the second transmission / reception unit 39 is connected. Furthermore, a priority different from the priority determined by the message ID of each message is stored in association with the message ID. Specifically, “1” represents a message to be transmitted with priority, and “0” represents a non-priority message. The priority is represented by a natural number larger than “1”, “1” is the highest priority, the higher the numerical value, the lower the priority, and “0” is a non-priority message. It is good also as a structure to represent.

図2の説明図の内容例では、メッセージIDが「100」であるメッセージは、通信線2bに接続されているECU1b,1b,…のいずれかを送信元とし、通信線2aに接続されているECU1a,1a,…のいずれかを中継先とする。そしてメッセージIDが「100」であるメッセージは優先的に送信されるべきメッセージである。同様に、メッセージIDが「500」であるメッセージは、通信線2aに接続されているECU1a,1a,…のいずれかを送信元とし、通信線2bに接続されているECU1b,1b,…のいずれかを中継先とする。そしてメッセージIDが「500」であるメッセージは非優先的メッセージである。   In the content example of the explanatory diagram of FIG. 2, the message with the message ID “100” is connected to the communication line 2a with any one of the ECUs 1b, 1b,... Connected to the communication line 2b as a transmission source. Any one of the ECUs 1a, 1a,. A message whose message ID is “100” is a message to be transmitted with priority. Similarly, a message whose message ID is “500” is sent from any of the ECUs 1a, 1a,... Connected to the communication line 2a, and any of the ECUs 1b, 1b,. Is the relay destination. A message with a message ID “500” is a non-priority message.

CPU30は、第1送受信部38からメッセージを受信したことを通信制御部36からの通知により検知した場合、ROM31の中継IDテーブル35を参照し、受信したメッセージのメッセージIDに基づいて中継先のECU1b,1b,…が接続されている通信線2bを特定する。そしてCPU30は、通信制御部36により、特定した通信線2bに接続している第2送受信部39からメッセージが送信されるように、バッファ37の第2送受信部39用の送信キューへメッセージを記憶する。CPU30は、通信線2aに接続されているECU1a,1a,…のみが使用するメッセージなど、中継IDテーブル35に記憶されていないメッセージについては中継の必要がないと判断し、通信制御部36によりメッセージを破棄してもよい。   When the CPU 30 detects that the message has been received from the first transmission / reception unit 38 by the notification from the communication control unit 36, the CPU 30 refers to the relay ID table 35 of the ROM 31 and determines the relay destination ECU 1b based on the message ID of the received message. , 1b,... Are specified. Then, the CPU 30 stores the message in the transmission queue for the second transmitting / receiving unit 39 of the buffer 37 so that the message is transmitted from the second transmitting / receiving unit 39 connected to the specified communication line 2b by the communication control unit 36. To do. The CPU 30 determines that there is no need to relay a message that is not stored in the relay ID table 35, such as a message used only by the ECUs 1a, 1a,... Connected to the communication line 2a. May be discarded.

また、CPU30は、第1送受信部38からメッセージを受信したことを通信制御部36からの通知により検知した場合、ROM31の中継IDテーブル35を参照し、受信したメッセージのメッセージIDに基づいてメッセージの優先度を認識し、通信制御部36へ通知する。これにより、優先度が高いメッセージを通信制御部36により送信キューの先頭に記憶させるなどの処理ができる。このように、中継IDテーブル35に、メッセージ毎のメッセージIDで決定される優先度とは別の優先度を定めて記憶しておくことにより、メッセージIDによらない優先度によって柔軟に送信順序を制御することができる。   Further, when the CPU 30 detects that the message has been received from the first transmission / reception unit 38 by the notification from the communication control unit 36, the CPU 30 refers to the relay ID table 35 of the ROM 31 and determines the message based on the message ID of the received message. The priority is recognized and notified to the communication control unit 36. As a result, processing such as storing a message having a high priority at the head of the transmission queue by the communication control unit 36 can be performed. In this way, by setting and storing a priority different from the priority determined by the message ID for each message in the relay ID table 35, the transmission order can be flexibly set according to the priority not depending on the message ID. Can be controlled.

図3は、実施の形態1における中継装置3のCANコントローラ33によるメッセージの中継処理の概要を示す説明図である。図3では、通信線2aに接続されているECU1a,1a,…から第1送受信部38により受信したメッセージを第2送受信部39により中継する際の処理を概念的に示す。図3では、第1送受信部38、バッファ37及び第2送受信部39を送受信の流れに沿って並べて示している。通信制御部36が第2送受信部39により受信したメッセージを第2送受信部38により送信する場合も上述の第2送受信部39により送信する場合と同様である。   FIG. 3 is an explanatory diagram showing an outline of message relay processing by the CAN controller 33 of the relay device 3 according to the first embodiment. FIG. 3 conceptually shows processing when the second transmitter / receiver 39 relays a message received by the first transmitter / receiver 38 from the ECUs 1a, 1a,... Connected to the communication line 2a. In FIG. 3, the first transmission / reception unit 38, the buffer 37, and the second transmission / reception unit 39 are shown side by side along the flow of transmission / reception. The case where the communication control unit 36 transmits the message received by the second transmission / reception unit 39 by the second transmission / reception unit 38 is the same as the case of transmission by the second transmission / reception unit 39 described above.

実施の形態1では、バッファ37に確保されている第2送受信部39用の送信キューは第1キュー及び第2キューの2つのキューからなる。なお、キューの数は2に限られない。キューは夫々FIFO(First In First Out)に基づき利用され、図の右側を先頭として受信順にキューにメッセージが記憶され、先頭からメッセージが抽出される。   In the first embodiment, the transmission queue for the second transmission / reception unit 39 secured in the buffer 37 is composed of two queues, a first queue and a second queue. Note that the number of queues is not limited to two. Each queue is used based on FIFO (First In First Out), and messages are stored in the queue in the order of reception with the right side of the figure as the head, and the messages are extracted from the head.

通信制御部36は、第1送受信部38により受信したメッセージを第1キュー及び第2キューに振り分けて記憶する。通信制御部36は、メッセージIDの数値が所定値(例えば、「600」)以下の比較的優先度が高いメッセージを第1キューに記憶し、数値が所定値を超過する比較的優先度が低いメッセージを第2キューに記憶して振り分ける。又は、ROM31の中継IDテーブル35を参照したCPU30からの受信メッセージの記憶指示に、優先度(「0」又は「1」)の情報が含まれる構成とし、優先度が「1」であるメッセージについては第1キューに記憶されるように通信制御部36が処理を行なうようにしてもよい。更に第3及び第4のキューがバッファ37に確保されている場合、通信制御部36は、CPU30からの優先度の情報に基づき、優先度が「1」であるメッセージは第1キュー、優先度が「2」であるメッセージは第2キュー、優先度が「3」であるメッセージは第3キュー、優先度が「0」であるメッセージは第4キューに振り分けるなどの制御を行なうようにしてもよい。   The communication control unit 36 distributes and stores the messages received by the first transmission / reception unit 38 into the first queue and the second queue. The communication control unit 36 stores, in the first queue, a message having a relatively high priority value whose message ID value is a predetermined value (for example, “600”) or less, and has a relatively low priority value that exceeds the predetermined value. Messages are stored in the second queue and distributed. Alternatively, the received message storage instruction from the CPU 30 referring to the relay ID table 35 of the ROM 31 includes information on the priority (“0” or “1”), and the message having the priority “1”. May be processed by the communication control unit 36 so as to be stored in the first queue. Further, when the third and fourth queues are secured in the buffer 37, the communication control unit 36 determines that the message with the priority “1” is the first queue, the priority based on the priority information from the CPU 30. For example, a message with “2” is assigned to the second queue, a message with the priority “3” is assigned to the third queue, and a message with the priority “0” is assigned to the fourth queue. Good.

そして通信制御部36は、第1キュー及び第2キューから交互、又は優先度に従ってメッセージを抽出し、第2送受信部39から送信されるべく第2送受信部39へ与える。通信制御部36は、第1キュー及び第2キューからメッセージを抽出する際に、予め設定された比率で第1キュー及び第2キューのいずれかかからメッセージを抽出するようにしてもよい。例えば、通信制御部36は、2:1の比率で第1キュー及び第2キューからメッセージを抽出する。つまり、通信制御部36は、第1キューから連続して2つのメッセージを抽出後に第2キューから1つのメッセージを抽出し、次は再度第1キューから2つのメッセージを抽出する。なお、中継装置3では、通信制御部36がバッファ37に確保されている複数のキューからのメッセージの抽出比率(例えば、2つのキューからX:Yの比率で抽出、3つのキューからX:Y:Zの比率で抽出するなど)を、ROM31又はRAM32に書き込まれている設定ファイルを書き換えておくなどの構成により、適宜設定することが可能に構成されている。また、通信制御部36がメッセージの抽出を優先度に従って行なう場合は、通信制御部36は、第1キュー及び第2キュー夫々の先頭に記憶されているメッセージの内の、優先度が高いメッセージを先に抽出する。第2送受信部39はメッセージ一個分のメモリを内蔵しており、メモリに格納されているメッセージを送信可能なタイミングで送信するようにしてある。通信制御部36は、抽出したメッセージを第2送受信部39のメモリへ受け渡す。   Then, the communication control unit 36 extracts a message from the first queue and the second queue alternately or according to the priority, and gives the message to the second transmission / reception unit 39 to be transmitted from the second transmission / reception unit 39. When extracting the message from the first queue and the second queue, the communication control unit 36 may extract the message from either the first queue or the second queue at a preset ratio. For example, the communication control unit 36 extracts messages from the first queue and the second queue at a ratio of 2: 1. That is, the communication control unit 36 extracts one message from the second queue after extracting two messages successively from the first queue, and then extracts two messages from the first queue again. In the relay device 3, the communication control unit 36 extracts messages from a plurality of queues secured in the buffer 37 (for example, extracts from two queues at an X: Y ratio, and from three queues X: Y). : Extracted at a ratio of Z, etc.) can be appropriately set by a configuration such as rewriting a setting file written in the ROM 31 or RAM 32. In addition, when the communication control unit 36 performs message extraction according to priority, the communication control unit 36 selects a message having a higher priority from among the messages stored at the heads of the first queue and the second queue. Extract first. The second transmission / reception unit 39 has a built-in memory for one message, and transmits a message stored in the memory at a transmittable timing. The communication control unit 36 passes the extracted message to the memory of the second transmission / reception unit 39.

実施の形態1におけるCANコントローラ33の通信制御部36は、第2送受信部39によりメッセージの送信を開始して調停に負けた場合、第2送受信部39のメモリにあるメッセージを調停に勝つまで保持することなく、一旦バッファ37の送信キューに差し戻す処理を行なう。以下に、CANコントローラ33による送信制御処理をフローチャートを参照して説明する。   The communication control unit 36 of the CAN controller 33 according to the first embodiment holds the message in the memory of the second transmission / reception unit 39 until it wins the arbitration when the second transmission / reception unit 39 starts transmission of the message and loses arbitration. Without processing, the process of temporarily returning to the transmission queue of the buffer 37 is performed. Below, the transmission control process by the CAN controller 33 is demonstrated with reference to a flowchart.

図4は、実施の形態1における中継装置3がCANコントローラ33によりメッセージを送信する処理手順の一例を示すフローチャートである。なお、以下に説明する処理手順は、第2送受信部39によりメッセージを送信する場合を示す。   FIG. 4 is a flowchart illustrating an example of a processing procedure in which the relay device 3 according to the first embodiment transmits a message using the CAN controller 33. The processing procedure described below shows a case where a message is transmitted by the second transmission / reception unit 39.

CPU30からの送信指示により、通信制御部36は第2送受信部39に対応するバッファ37の送信キューからメッセージを抽出する(ステップS1)。通信制御部36は第1キュー及び第2キューの夫々先頭のメッセージを交互に抽出する。   In response to a transmission instruction from the CPU 30, the communication control unit 36 extracts a message from the transmission queue of the buffer 37 corresponding to the second transmission / reception unit 39 (step S1). The communication control unit 36 alternately extracts the first message in each of the first queue and the second queue.

CPU30の指示に基づいて通信制御部36が抽出したメッセージの送信を第2送受信部39のメモリに受け渡すことにより、第2送受信部39はメッセージの送信を開始する(ステップS2)。通信制御部36は第2送受信部39により通信線2bにおける通信状況をモニタして調停に勝ったか否かを判断する(ステップS3)。   The second transmission / reception unit 39 starts transmission of the message by passing the transmission of the message extracted by the communication control unit 36 based on the instruction of the CPU 30 to the memory of the second transmission / reception unit 39 (step S2). The communication control unit 36 monitors the communication status on the communication line 2b by the second transmission / reception unit 39 and determines whether or not the arbitration has been won (step S3).

通信制御部36は調停に勝ったと判断した場合(S3:YES)、抽出したメッセージの送信を継続し(ステップS4)、送信を完了して処理を終了する。CPU30は、送信を完了したことを通信制御部36からの通知により検知する。CPU30は、通信制御部36により次のメッセージを送信するために再度ステップS1から処理を実行する。   If the communication control unit 36 determines that the arbitration has been won (S3: YES), it continues to transmit the extracted message (step S4), completes the transmission, and ends the process. The CPU 30 detects that the transmission has been completed by a notification from the communication control unit 36. The CPU 30 executes the process from step S1 again to transmit the next message by the communication control unit 36.

通信制御部36が調停に負けたと判断した場合(S3:NO)、CPU30は送信に失敗したことを通信制御部36からの通知により検知し、送信を試みたメッセージの差し戻し回数は所定回数(例えば、3回)以上であるか否かを判断する(ステップS5)。通信制御部36は、差し戻し回数が所定回数未満であると判断した場合(S5:NO)、送信キュー(第1キュー又は第2キュー)の先頭から次のメッセージを抽出し(ステップS6)、ステップS2で送信を試みたメッセージを送信キューへ差し戻す(ステップS7)。このとき通信制御部36は、メッセージを送信キューの先頭へ記憶し直す。   When it is determined that the communication control unit 36 has lost the arbitration (S3: NO), the CPU 30 detects that the transmission has failed due to a notification from the communication control unit 36, and the number of times the message that has been transmitted is returned is a predetermined number (for example, 3 times) or more (step S5). If the communication control unit 36 determines that the number of return times is less than the predetermined number (S5: NO), it extracts the next message from the head of the transmission queue (first queue or second queue) (step S6), and step The message for which transmission was attempted in S2 is returned to the transmission queue (step S7). At this time, the communication control unit 36 stores the message again at the head of the transmission queue.

次に、通信制御部36は差し戻したメッセージに対応付けられる差し戻し回数を加算し(ステップS8)、処理をステップS2へ戻してステップS6で抽出したメッセージの送信を開始し(S2)、以下のステップS3からステップS8までの処理を繰り返す。ステップS8では、CPU30が通信制御部36から差し戻し通知を受け付け、メッセージに対応付けて差し戻し回数をRAM32に記憶するようにしてもよいし、通信制御部36が内蔵する図示しないメモリに差し戻し回数を記憶するようにしてもよい。   Next, the communication control unit 36 adds the number of return times associated with the returned message (step S8), returns the process to step S2, and starts transmitting the message extracted in step S6 (S2). The processes from S3 to step S8 are repeated. In step S8, the CPU 30 may receive a notification of return from the communication control unit 36 and store the number of return in association with the message in the RAM 32, or store the number of return in a memory (not shown) built in the communication control unit 36. You may make it do.

通信制御部36は、送信キューの先頭に差し戻されているメッセージを抽出し(S1)、当該メッセージの送信を開始し(S2)、調停に負けたと判断した場合(S3:NO)、且つ差し戻し回数が所定回数以上であると判断したときは(S5:YES)、処理をステップS2へ戻す。つまり、通信制御部36は、所定回数以上差し戻されたメッセージはそれ以上差し戻さず、調停に勝つまでメッセージの送信を試みる。   The communication control unit 36 extracts the message sent back to the head of the transmission queue (S1), starts transmission of the message (S2), and determines that it has lost the arbitration (S3: NO), and sends it back. When it is determined that the number of times is equal to or greater than the predetermined number (S5: YES), the process returns to step S2. That is, the communication control unit 36 does not send back a message that has been returned more than a predetermined number of times, and tries to transmit a message until arbitration is won.

これにより、調停に負ける可能性が高い優先度の低いメッセージが第2送受信部39のメモリに滞留し続けて他のメッセージの送信が遅延することを回避することができる。また、差し戻し回数が所定回数以上である場合には他のメッセージが送信キューに待機していても、送信が成功するまで送信を試みることにより、優先度の低いメッセージの遅延時間が極端に長くなることを回避することができる。   As a result, it is possible to avoid delaying transmission of other messages due to low-priority messages that have a high possibility of losing arbitration and stay in the memory of the second transmission / reception unit 39. In addition, when the number of return times is equal to or greater than the predetermined number, even if other messages are waiting in the transmission queue, the delay time of a low-priority message becomes extremely long by attempting transmission until the transmission is successful. You can avoid that.

通信制御部36が第1送受信部38によりメッセージを送信する場合も、図4のフローチャートに示した処理手順と同様であるので詳細な説明を省略する。   The case where the communication control unit 36 transmits a message by the first transmission / reception unit 38 is the same as the processing procedure shown in the flowchart of FIG.

図5は、実施の形態1における中継装置3により中継されるメッセージの順序の例を示す説明図である。図5の説明図では、第1送受信部38により受信されるメッセージが第2送受信部39から送信されてECU1b,1b,…へ中継される場合の例を示す。図5の説明図に示すように、ある時点で第1送受信部38により受信されたメッセージID「500」、「400」、「300」、「200」、「100」、及び「900」のメッセージが既にバッファ37の送信キューに受信順に記憶されている。また、第2送受信部39によりメッセージが送信される間に、第1送受信部38により新たにメッセージIDが「800」及び「700」であるメッセージが受信される。   FIG. 5 is an explanatory diagram illustrating an example of the order of messages relayed by the relay device 3 according to the first embodiment. 5 shows an example in which a message received by the first transmitter / receiver 38 is transmitted from the second transmitter / receiver 39 and relayed to the ECUs 1b, 1b,. As shown in the explanatory diagram of FIG. 5, messages with message IDs “500”, “400”, “300”, “200”, “100”, and “900” received by the first transmission / reception unit 38 at a certain point in time. Are already stored in the transmission queue of the buffer 37 in the order of reception. In addition, while the second transmission / reception unit 39 transmits a message, the first transmission / reception unit 38 newly receives messages with message IDs “800” and “700”.

なお、図5に示す説明図において第2送受信部39のブロックの下方には、第2送受信部39により送信が試みられるメッセージの順序が示されている。上から下へ順にメッセージの送信が試みられ、丸カッコ内に記載されているメッセージIDのメッセージは差し戻されたことを示している。また、中継装置3のブロック外に、第2送受信部39により実際に送信されたメッセージの順序が示されている。ここでも上から下へ順にメッセージが送信されたことを示している。   In the explanatory diagram shown in FIG. 5, the order of messages to be transmitted by the second transmitter / receiver 39 is shown below the block of the second transmitter / receiver 39. Message transmission is attempted in order from the top to the bottom, and the message with the message ID described in parentheses is returned. In addition, the order of messages actually transmitted by the second transmission / reception unit 39 is shown outside the block of the relay device 3. This also shows that messages were sent in order from top to bottom.

通信制御部36は、バッファ37の送信キューの第1キュー及び第2キューから交互にメッセージを抽出する。まず通信制御部36は、第1キューからメッセージID「500」のメッセージを抽出して第2送受信部39へ渡し、第2送受信部39はメッセージの送信を試み、成功する。これにより、メッセージID「500」のメッセージが実際に通信線2bを介してECU1b,1b,…へ送信される。次に通信制御部36は第2キューからメッセージID「900」のメッセージを抽出して第2送受信部39により送信を試みるが、調停に勝つことができず送信に失敗する。この場合通信制御部36はメッセージID「900」のメッセージを第2キューへ差し戻す。そして通信制御部36は、第1キューからメッセージID「400」のメッセージを抽出して第2送受信部39により送信を試み、送信に成功する。   The communication control unit 36 alternately extracts messages from the first queue and the second queue of the transmission queue of the buffer 37. First, the communication control unit 36 extracts the message with the message ID “500” from the first queue and passes it to the second transmission / reception unit 39, and the second transmission / reception unit 39 attempts to transmit the message and succeeds. As a result, the message with the message ID “500” is actually transmitted to the ECUs 1b, 1b,... Via the communication line 2b. Next, the communication control unit 36 extracts the message with the message ID “900” from the second queue and attempts transmission by the second transmission / reception unit 39. However, the communication control unit 36 cannot win the arbitration and fails to transmit. In this case, the communication control unit 36 sends the message with the message ID “900” back to the second queue. Then, the communication control unit 36 extracts the message with the message ID “400” from the first queue, tries transmission by the second transmission / reception unit 39, and succeeds in transmission.

図5の説明図に示す例では、一回目にメッセージID「900」のメッセージを抽出して第2送受信部39により送信を試みている間に、第1送受信部38によりメッセージID「800」のメッセージを受信し、第2キューに記憶している。したがって、次に通信制御部36は第2キューからメッセージID「800」を抽出して送信を試み、送信に成功する。   In the example shown in the explanatory diagram of FIG. 5, while the message with the message ID “900” is extracted for the first time and the transmission with the second transmission / reception unit 39 is attempted, the first transmission / reception unit 38 sets the message ID “800”. A message has been received and stored in the second queue. Accordingly, the communication control unit 36 next extracts the message ID “800” from the second queue and attempts transmission, and the transmission is successful.

以後、通信制御部36は第1キュー及び第2キューから交互に、メッセージID「300」、「900」、「200」、「900」、「100」の順にメッセージを抽出して送信を試みる。これらの内、メッセージID「900」のメッセージの送信は3回調停に勝てず、メッセージID「900」のメッセージは毎回第2キューに戻されている。そして、差し戻し回数が所定回数(3回)以上となった次の機会には、メッセージID「900」のメッセージは差し戻されずに調停に勝つまで送信が試みられ、成功している。なお、メッセージID「700」のメッセージは4回目のメッセージID「900」の送信中に受信されている。   Thereafter, the communication control unit 36 tries to transmit by extracting messages in the order of message IDs “300”, “900”, “200”, “900”, “100” alternately from the first queue and the second queue. Among these, transmission of the message with the message ID “900” cannot win the arbitration three times, and the message with the message ID “900” is returned to the second queue every time. Then, at the next opportunity when the number of return times is equal to or greater than the predetermined number (three times), the message with the message ID “900” is not returned, but transmission is attempted until the arbitration is won and succeeds. Note that the message with the message ID “700” is received during the transmission of the fourth message ID “900”.

結果として、図5の説明図の右端に示すように、メッセージID「500」、「400」、「800」、「300」、「200」、「100」、「900」、「700」の順にメッセージがECU1b,1b,…へ送信される。   As a result, as shown at the right end of the explanatory diagram of FIG. 5, message IDs “500”, “400”, “800”, “300”, “200”, “100”, “900”, “700” are sequentially arranged. A message is transmitted to the ECUs 1b, 1b,.

次に、比較のために差し戻しが行なわれずに中継されるメッセージの例を示す。図6は、差し戻しされずに中継されるメッセージの順序の例を示す説明図である。図6に示す説明図でも図5に示した場合と同様に、ある時点でッセージIDが「500」、「400」、「300」、「200」、「100」、及び「900」であるメッセージが二つの第1キュー及び第2キューに記憶されている。また、メッセージ送信中にメッセージID「800」及び「700」のメッセージが受信される。   Next, an example of a message relayed without being sent back for comparison is shown. FIG. 6 is an explanatory diagram illustrating an example of the order of messages relayed without being sent back. In the explanatory diagram shown in FIG. 6, as in the case shown in FIG. 5, the messages whose message IDs are “500”, “400”, “300”, “200”, “100”, and “900” at a certain point in time. Are stored in the two first and second queues. Also, messages with message IDs “800” and “700” are received during message transmission.

図6の説明図に示す例でも、第1キュー及び第2キューから交互にメッセージが抽出されて送信が試みられる。したがって第1キューからメッセージID「500」のメッセージが最初に抽出されて送信が試みられ、送信に成功する。しかしながら、次に第2キューからメッセージID「900」のメッセージが抽出されて送信が試みられた場合、調停に勝てずに送信に失敗する。図6の説明図に示す例では、送信に失敗したメッセージは差し戻されない。したがって、メッセージID「900」のメッセージの送信は、成功するまで試みられ続け、他のメッセージID「400」、「300」、「200」、「100」のメッセージは送信キューに滞留し続ける。図6の説明図に示した例では、6回目の試行でメッセージID「900」のメッセージの送信が成功する。それまでの5回の試行ではいずれも他のECU1b,1b,…から送信されるメッセージが優先されるので、少なくとも5つのメッセージの受信に掛かる待機時間分だけ、他のメッセージID「400」、「300」、「200」、「100」のメッセージは送信キューに滞留し続ける。   In the example shown in the explanatory diagram of FIG. 6, messages are alternately extracted from the first queue and the second queue and transmission is attempted. Therefore, the message with the message ID “500” is first extracted from the first queue and transmission is attempted, and transmission is successful. However, when a message with the message ID “900” is next extracted from the second queue and transmission is attempted, transmission fails without winning arbitration. In the example shown in the explanatory diagram of FIG. 6, a message that failed to be transmitted is not sent back. Therefore, the transmission of the message with the message ID “900” continues to be attempted until successful, and the messages with the other message IDs “400”, “300”, “200”, and “100” continue to stay in the transmission queue. In the example shown in the explanatory diagram of FIG. 6, the message ID “900” is successfully transmitted in the sixth attempt. Since the messages transmitted from the other ECUs 1b, 1b,... Are prioritized in the five trials so far, the other message IDs “400” and “400” correspond to the waiting time required to receive at least five messages. The messages “300”, “200”, and “100” continue to stay in the transmission queue.

これに対し、図5の説明図に示した例ではメッセージID「400」、「300」、「200」等のメッセージは先に送信されており、送信キューに滞留し続けることはない。このように、差し戻し処理を行なうことによって優先度が比較的高いメッセージが無駄に送信キューに滞留し続けることを回避することができる。なお、差し戻し処理によって優先度が低いメッセージの送信は後になるが、差し戻し回数に制限を設けることによって、中継装置3の第1送受信部38により受信されてから、第2送受信部39により送信が完了して中継がされるまでの遅延時間が極端に長くなることを回避することができる。差し戻し回数が所定回数以上となったメッセージについては送信が成功するまで送信が試みられるので、その分だけ他のメッセージの遅延時間が伸びる可能性があるが、本発明によって優先度の高低で極端に遅延時間に相違がないようにすることができ、全体として遅延時間が短縮されることが期待できる。   On the other hand, in the example shown in the explanatory diagram of FIG. 5, messages with message IDs “400”, “300”, “200”, etc. are transmitted first, and do not stay in the transmission queue. In this way, by performing the return processing, it is possible to avoid a message having a relatively high priority from continuing to stay in the transmission queue in vain. Note that the low-priority message will be transmitted later by the return processing, but by setting a limit on the number of return times, the transmission is completed by the second transmission / reception unit 39 after being received by the first transmission / reception unit 38 of the relay device 3. Thus, an extremely long delay time until relaying can be avoided. For messages that have been sent over a predetermined number of times, transmission is attempted until transmission is successful, so the delay time of other messages may increase by that amount. There can be no difference in the delay time, and it can be expected that the delay time is shortened as a whole.

(実施の形態2)
実施の形態1では、CANコントローラ33の通信制御部36は、差し戻し回数が所定回数未満である間は調停に負けたと判断する都度、差し戻す処理を行なう構成とした。これに対し実施の形態2では、連続して所定回数以上調停に負けたと判断した場合に差し戻す処理を行なう構成とする。
(Embodiment 2)
In the first embodiment, the communication control unit 36 of the CAN controller 33 is configured to perform a return process every time it is determined that it has lost the arbitration while the return number is less than the predetermined number. On the other hand, the second embodiment is configured to perform a process of returning when it is determined that the arbitration has been continuously lost more than a predetermined number of times.

実施の形態2における車載ネットワークの構成は、通信制御部36の処理の詳細が相違する以外は実施の形態1と同様である。実施の形態1と同一の符号を付して車載ネットワークの各構成部の詳細な説明を省略し、以下に相違点である通信制御部36の処理の詳細を説明する。   The configuration of the in-vehicle network in the second embodiment is the same as that in the first embodiment except that the details of the processing of the communication control unit 36 are different. The same reference numerals as those in the first embodiment are assigned, and detailed description of each component of the in-vehicle network is omitted, and the details of the processing of the communication control unit 36 which is a difference will be described below.

図7は、実施の形態2における中継装置3がCANコントローラ33によりメッセージを送信する処理手順の一例を示すフローチャートである。なお、以下に説明する処理手順は、第2送受信部39によりメッセージを送信する場合を示す。そして、以下に説明する処理手順の内、実施の形態1の図4に示したフローチャートと共通する処理手順については同一のステップ番号を付して詳細な説明を省略する。   FIG. 7 is a flowchart illustrating an example of a processing procedure in which the relay device 3 according to the second embodiment transmits a message using the CAN controller 33. The processing procedure described below shows a case where a message is transmitted by the second transmission / reception unit 39. Of the processing procedures described below, the same processing steps as those in the flowchart shown in FIG. 4 of the first embodiment are denoted by the same step numbers, and detailed description thereof is omitted.

通信制御部36は、抽出したメッセージの送信を開始し(S2)、第2送受信部39により通信線2bにおける通信状況をモニタして調停に勝ったか否かを判断する(S3)。通信制御部36は調停に負けたと判断した場合(S3:NO)、連続して調停に負けた調停負け回数が第2所定回数(例えば、3回)以内であるか否かを判断する(ステップS9)。通信制御部36は、調停負け回数が第2所定回数以内であると判断した場合(S9:YES)、処理をステップS2へ戻し、調停に勝った他のECU1b,1b,…による送信が完了するまで待機し、再度メッセージの送信を開始する(S2)。   The communication control unit 36 starts transmission of the extracted message (S2), monitors the communication state on the communication line 2b by the second transmission / reception unit 39, and determines whether or not the arbitration has been won (S3). If the communication control unit 36 determines that the arbitration has been lost (S3: NO), the communication control unit 36 determines whether the number of arbitration losses that have continuously lost the arbitration is within a second predetermined number of times (for example, three times) (step S3). S9). If the communication control unit 36 determines that the number of arbitration losses is within the second predetermined number (S9: YES), the communication control unit 36 returns the process to step S2 and completes transmission by the other ECUs 1b, 1b,. Until the message is sent again (S2).

通信制御部36は、更にステップS3で調停に負けたと判断し(S3:NO)、調停負け回数が第2所定回数を超えたと判断した場合(S9:NO)、CPU30は送信に失敗したことを通信制御部36からの通知により検知し、メッセージの差し戻し回数は所定回数以上であるか否かを判断する(S5)。   The communication control unit 36 further determines that the arbitration has been lost in step S3 (S3: NO), and if it is determined that the arbitration loss count has exceeded the second predetermined number (S9: NO), the CPU 30 indicates that the transmission has failed. It is detected by a notification from the communication control unit 36, and it is determined whether or not the number of message return is equal to or greater than a predetermined number (S5).

ステップS9の処理により、調停に負ける可能性が高い優先度の低いメッセージの送信機会が増加する。これにより、差し戻し処理が行なわれる構成によって比較的優先度が高いメッセージが優先的に送信されてメッセージの滞留が回避されつつ、比較的優先度の低いメッセージの遅延時間が極端に長くなることを回避することができる。   By the process of step S9, the transmission opportunities of low priority messages that are highly likely to lose arbitration increase. As a result, a message with a relatively high priority is transmitted preferentially by the configuration in which the return process is performed, so that message retention is avoided, and the delay time of a relatively low priority message is prevented from becoming extremely long. can do.

通信制御部36が第1送受信部38によりメッセージを送信する場合も、図7のフローチャートに示した処理手順と同様であるので詳細な説明を省略する。   The case where the communication control unit 36 transmits a message by the first transmission / reception unit 38 is the same as the processing procedure shown in the flowchart of FIG.

図8は、実施の形態2における中継装置3により中継されるメッセージの順序の例を示す説明図である。図8の説明図は、実施の形態1における図5の説明図と同様の例を示しており、第2送受信部39のブロックの下方に示されている送信が試みられる順序、及び、中継装置3外に示されている実際に送信されたメッセージの順序のみが異なる。   FIG. 8 is an explanatory diagram illustrating an example of the order of messages relayed by the relay device 3 according to the second embodiment. The explanatory diagram of FIG. 8 shows an example similar to the explanatory diagram of FIG. 5 in the first embodiment, the order of transmission attempts shown below the block of the second transmitting / receiving unit 39, and the relay device Only the order of the actually transmitted messages shown outside 3 is different.

図8の説明図に示すように実施の形態2では、通信制御部36はバッファ37の第2キューからメッセージID「900」のメッセージを抽出して第2送受信部39により送信を試みて調停に負けた場合も、直ぐには第2キューへ戻さない。通信制御部36は、メッセージID「900」のメッセージの送信を試み続け、連続して3回以上調停で負けた場合にメッセージを差し戻す。これにより、図8の説明図に示すように実施の形態2では、メッセージID「900」のメッセージは、1回差し戻されるものの2回目に抽出された際に、3回目の試行で調停に勝ち、送信に成功している。   As shown in the explanatory diagram of FIG. 8, in the second embodiment, the communication control unit 36 extracts the message with the message ID “900” from the second queue of the buffer 37 and attempts transmission by the second transmission / reception unit 39 for arbitration. Even if it loses, it does not return to the second queue immediately. The communication control unit 36 keeps trying to transmit the message with the message ID “900”, and sends back the message when losing three or more times in succession. As a result, as shown in the explanatory diagram of FIG. 8, in the second embodiment, when the message with the message ID “900” is sent back once but extracted for the second time, arbitration is won in the third trial. , Successfully sent.

結果として、図8の説明図の右端に示すように、メッセージID「500」、「400」、「800」、「300」、「900」、「200」、「700」、「100」の順にメッセージがECU1b,1b,…へ送信される。図5の説明図に示した例と比較して、優先度が低いメッセージID「900」のメッセージが、メッセージID「200」及び「100」のメッセージよりも先に送信されている。   As a result, as shown at the right end of the explanatory diagram of FIG. 8, the message IDs “500”, “400”, “800”, “300”, “900”, “200”, “700”, “100” are arranged in this order. A message is transmitted to the ECUs 1b, 1b,. Compared with the example shown in the explanatory diagram of FIG. 5, the message with the lower message priority “900” is transmitted before the messages with the message IDs “200” and “100”.

このように、差し戻し処理によってメッセージが送信キューに滞留し続けることを回避することができると共に、差し戻し回数に制限を設けて優先度が低いメッセージの遅延時間が極端に長くなることを回避することができ、更に、優先度が低いメッセージの送信機会を増加させることによって優先度が高いメッセージの遅延時間との差を更に短縮させることができる。これにより、優先度の高低で極端に遅延時間に相違がないように効率的にデータを中継することが可能となる。   In this way, it is possible to avoid the message from staying in the transmission queue due to the return processing, and to set a limit on the number of return times to prevent the delay time of a low priority message from becoming extremely long. In addition, by increasing the transmission opportunities of messages with low priority, the difference from the delay time of messages with high priority can be further shortened. This makes it possible to relay data efficiently so that the priority is high and the delay time is not significantly different.

(実施の形態3)
実施の形態1では、CANコントローラ33の通信制御部36は、バッファ37の送信キューに記憶されているメッセージを記憶されている順(受信順)に抽出する構成とした。これに対し実施の形態3では、通信制御部36が送信キューからメッセージを抽出するに際し、より優先度が高いメッセージを抽出する構成とする。
(Embodiment 3)
In the first embodiment, the communication control unit 36 of the CAN controller 33 is configured to extract the messages stored in the transmission queue of the buffer 37 in the stored order (reception order). On the other hand, in Embodiment 3, when the communication control part 36 extracts a message from a transmission queue, it is set as the structure which extracts a message with a higher priority.

つまり、実施の形態3におけるバッファ37の送信キューはFIFOで利用されない点が、実施の形態2と相違する。実施の形態3における通信制御部36は、実施の形態1と同様に第1送受信部38に受信して中継の必要があるメッセージを受信順にバッファ37の送信キューに記憶する。そして通信制御部36はメッセージを送信キューから抽出するに際し、送信キューに記憶されているメッセージの内、最も優先度が高いメッセージを抽出する。なお、送信キューに記憶されている全メッセージの内の最も優先度が高いメッセージではなく、先頭から所定数のメッセージの内で最も優先度が高いメッセージを抽出するようにしてもよい。   That is, the transmission queue of the buffer 37 in the third embodiment is different from the second embodiment in that it is not used in the FIFO. The communication control unit 36 according to the third embodiment stores messages that are received by the first transmission / reception unit 38 and need to be relayed in the transmission queue of the buffer 37 in the order received, as in the first embodiment. Then, when extracting the message from the transmission queue, the communication control unit 36 extracts the message having the highest priority among the messages stored in the transmission queue. Note that, instead of the message having the highest priority among all the messages stored in the transmission queue, the message having the highest priority among the predetermined number of messages from the head may be extracted.

通信制御部36は、メッセージの優先度の高さをメッセージIDが表わす数値の大小に基づいて判断する。通信制御部36は更に、実施の形態2の図2に示した中継IDテーブル35に含まれる優先度に基づいて判断してもよい。   The communication control unit 36 determines the priority level of the message based on the numerical value represented by the message ID. The communication control unit 36 may further make a determination based on the priority included in the relay ID table 35 shown in FIG. 2 of the second embodiment.

実施の形態3における車載ネットワークの構成は、通信制御部36の処理の詳細が相違する以外は実施の形態1と同様である。実施の形態1と同一の符号を付して車載ネットワークの各構成部の詳細な説明を省略し、以下に相違点である通信制御部36の処理の詳細を説明する。   The configuration of the in-vehicle network in the third embodiment is the same as that in the first embodiment except that the details of the processing of the communication control unit 36 are different. The same reference numerals as those in the first embodiment are assigned, and detailed description of each component of the in-vehicle network is omitted, and the details of the processing of the communication control unit 36 which is a difference will be described below.

図9は、実施の形態3における中継装置3がCANコントローラ33によりメッセージを送信する処理手順の一例を示すフローチャートである。なお、以下に説明する処理手順は、第2送受信部39によりメッセージを送信する場合を示す。そして、以下に説明する処理手順の内、実施の形態1の図4に示したフローチャートと共通する処理手順については同一のステップ番号を付して詳細な説明を省略する。   FIG. 9 is a flowchart illustrating an example of a processing procedure in which the relay device 3 according to the third embodiment transmits a message using the CAN controller 33. The processing procedure described below shows a case where a message is transmitted by the second transmission / reception unit 39. Of the processing procedures described below, the same processing steps as those in the flowchart shown in FIG. 4 of the first embodiment are denoted by the same step numbers, and detailed description thereof is omitted.

CPU30からの送信指示により、通信制御部36は第2送受信部39に対応するバッファ37の送信キューから、優先度が高いメッセージを抽出する(ステップS10)。通信制御部36は第1キュー及び第2キューに記憶されているメッセージの内の、夫々最も優先度が高いメッセージを交互に抽出する。   In response to the transmission instruction from the CPU 30, the communication control unit 36 extracts a message having a high priority from the transmission queue of the buffer 37 corresponding to the second transmission / reception unit 39 (step S10). The communication control unit 36 alternately extracts messages having the highest priority among the messages stored in the first queue and the second queue.

そして、通信制御部36は、抽出したメッセージの送信に際し調停で負け(S3:NO)、差し戻し回数が所定回数未満であると判断した場合(S5:NO)、送信キュー(第1キュー又は第2キュー)から次に優先度が高いメッセージを抽出し(ステップS11)、ステップS2で送信を試みたメッセージを送信キューへ差し戻す(S7)。   When the communication control unit 36 loses due to arbitration when transmitting the extracted message (S3: NO), and determines that the number of reversions is less than the predetermined number (S5: NO), the communication control unit 36 transmits the transmission queue (first queue or second queue). The message with the next highest priority is extracted from the queue (step S11), and the message that was attempted to be transmitted in step S2 is returned to the transmission queue (S7).

ステップS10及びステップS11の処理により、調停に勝つ可能性が高い優先度の高いメッセージが優先的に送信される。これにより試行の回数が減少し、且つ差し戻しの回数が減少することが期待される。一のメッセージの送信に失敗して他のメッセージに送信機会が与えられるにも拘わらず、当該他のメッセージの送信が更に失敗した場合には、全体的に遅延時間が長くなる。しかしながら、より成功率が高いメッセージの送信が優先的に試みられることにより、効率的にメッセージの送信が行なわれることが期待できる。   Through the processing of step S10 and step S11, a message having a high priority that is likely to win arbitration is preferentially transmitted. This is expected to reduce the number of trials and the number of retractions. If transmission of one message fails and another message is given a transmission opportunity, but transmission of the other message further fails, the overall delay time becomes longer. However, it can be expected that the message is efficiently transmitted by preferentially attempting to transmit a message having a higher success rate.

通信制御部36が第1送受信部38によりメッセージを送信する場合も、図9のフローチャートに示した処理手順と同様であるので詳細な説明を省略する。   The case where the communication control unit 36 transmits a message by the first transmission / reception unit 38 is the same as the processing procedure shown in the flowchart of FIG.

図10は、実施の形態3における中継装置3により中継されるメッセージの順序の例を示す説明図である。図10の説明図では、第1送受信部38により受信されるメッセージが第2送受信部39から送信されてECU1b,1b,…へ中継される場合の例を示す。図10の説明図に示すように、ある時点で第1送受信部38により受信されたメッセージID「500」、「400」、「300」、「200」、「100」、「900」、「800」、「700」及び「600」のメッセージが既にバッファ37の送信キューに受信順に記憶されている。   FIG. 10 is an explanatory diagram illustrating an example of the order of messages relayed by the relay device 3 according to the third embodiment. The explanatory diagram of FIG. 10 shows an example in which a message received by the first transmission / reception unit 38 is transmitted from the second transmission / reception unit 39 and relayed to the ECUs 1b, 1b,. As shown in the explanatory diagram of FIG. 10, the message IDs “500”, “400”, “300”, “200”, “100”, “900”, “800” received by the first transmission / reception unit 38 at a certain point in time. ”,“ 700 ”and“ 600 ”are already stored in the transmission queue of the buffer 37 in the order of reception.

図10に示す説明図において第2送受信部39のブロックの下方には、第2送受信部39により送信が試みられるメッセージの順序が示されている。上から下へ順にメッセージの送信が試みられ、丸カッコ内に記載されているメッセージIDのメッセージは差し戻されたことを示している。また、中継装置3のブロック外に、第2送受信部39により実際に送信されたメッセージの順序が示されている。ここでも上から下へ順にメッセージが送信されたことを示している。   In the explanatory diagram shown in FIG. 10, the order of messages to be transmitted by the second transceiver 39 is shown below the block of the second transceiver 39. Message transmission is attempted in order from the top to the bottom, and the message with the message ID described in parentheses is returned. In addition, the order of messages actually transmitted by the second transmission / reception unit 39 is shown outside the block of the relay device 3. This also shows that messages were sent in order from top to bottom.

通信制御部36は、バッファ37の送信キューの第1キュー及び第2キューから交互にメッセージを抽出する。まず通信制御部36は、第1キューに記憶されているメッセージの内の最も優先度が高いメッセージID「100」のメッセージを抽出して第2送受信部39へ渡し、第2送受信部39はメッセージの送信を試み、成功する。これにより、メッセージID「100」のメッセージが実際に通信線2bを介してECU1b,1b,…へ送信される。次に通信制御部36は第2キューに記憶されているメッセージの内の最も優先度が高いメッセージID「600」のメッセージを抽出して第2送受信部39により送信を試みるが、調停に勝つことができず送信に失敗する。この場合通信制御部36はメッセージID「600」のメッセージを第2キューへ差し戻す。そして通信制御部36は、第1キューから次に優先度が高いメッセージID「200」のメッセージを抽出して第2送受信部39により送信を試み、送信に成功する。   The communication control unit 36 alternately extracts messages from the first queue and the second queue of the transmission queue of the buffer 37. First, the communication control unit 36 extracts a message with the message ID “100” having the highest priority from among the messages stored in the first queue, and passes the message to the second transmission / reception unit 39. The second transmission / reception unit 39 Try to send and succeed. Thereby, the message with the message ID “100” is actually transmitted to the ECUs 1b, 1b,... Via the communication line 2b. Next, the communication control unit 36 extracts the message with the message ID “600” having the highest priority from among the messages stored in the second queue and tries to transmit the message by the second transmission / reception unit 39. Cannot be sent. In this case, the communication control unit 36 sends the message with the message ID “600” back to the second queue. Then, the communication control unit 36 extracts the message with the message ID “200” having the next highest priority from the first queue, attempts transmission by the second transmission / reception unit 39, and succeeds in transmission.

以後、通信制御部36は第1キュー及び第2キューから交互に、最も優先度が高いメッセージを抽出する。具体的には、メッセージID「600」、「300」、「600」、「400」、…の順にメッセージを抽出して送信を試みる。これらの内、メッセージID「600」のメッセージの送信は2回調停に勝てず、全部で3回第2キューに戻されている。したがって、差し戻し回数が所定回数(3回)以上となった次の機会には、メッセージID「600」のメッセージは差し戻されずに調停に勝つまで送信が試みられ、成功している。   Thereafter, the communication control unit 36 alternately extracts a message with the highest priority from the first queue and the second queue. Specifically, messages are extracted in the order of message IDs “600”, “300”, “600”, “400”,. Of these, the transmission of the message with the message ID “600” does not win the arbitration twice, and is returned to the second queue three times in total. Therefore, at the next opportunity when the number of retractions reaches the predetermined number (3 times) or more, transmission of the message with the message ID “600” is attempted without success, and success is achieved until arbitration is won.

結果として、図10の説明図の右端に示すように、メッセージID「100」、「200」、「300」、「400」、「600」、「500」、「700」、「800」、「900」の順にメッセージがECU1b,1b,…へ送信される。   As a result, message IDs “100”, “200”, “300”, “400”, “600”, “500”, “700”, “800”, “800”, “ Messages are transmitted to the ECUs 1b, 1b,.

このように、差し戻し処理によってメッセージが送信キューに滞留し続けることを回避することができると共に、差し戻し回数に制限を設けて優先度が低いメッセージの遅延時間が極端に長くなることを回避することができ、更に、優先度が高いメッセージを優先的に送信することによって送信の失敗回数を減少させ、全体として効率的にデータを中継することが可能となる。   In this way, it is possible to avoid the message from staying in the transmission queue due to the return processing, and to set a limit on the number of return times to prevent the delay time of a low priority message from becoming extremely long. In addition, it is possible to reduce the number of transmission failures by preferentially transmitting a message having a high priority, and to relay data efficiently as a whole.

実施の形態1乃至3では、いずれもCPU30がROM31に記憶されている制御プログラムを読み出すことにより中継装置3としての動作を実現する構成とした。しかしながら、本発明はこれに限らず、ソフトウェア的に実現されたCPU30による処理をハードウェア化し、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)を用いて構成される中継装置としてもよい。この場合、ASIC又はFPGAは、例えばCPU30がCANコントローラ33にて受信したメッセージを受信順にバッファ37に記憶させる処理を行なうバッファ記憶処理回路、設定された抽出比率に基づきバッファ37内に確保されている送信キューからメッセージを順に抽出するメッセージ抽出回路、差し戻し回数が所定回数以上であるか否かを判定する差戻回数判定回路等の図4、図7、図9の各処理手順を実現する回路を含んで構成される。   In the first to third embodiments, the CPU 30 reads the control program stored in the ROM 31 so that the operation as the relay device 3 is realized. However, the present invention is not limited to this, and the processing performed by the CPU 30 implemented in software may be hardware and may be a relay device configured using an ASIC (Application Specific Integrated Circuit) and an FPGA (Field Programmable Gate Array). . In this case, the ASIC or FPGA is secured in the buffer 37 on the basis of a buffer storage processing circuit that performs processing for storing the messages received by the CPU 30 in the CAN controller 33 in the buffer 37 in the order received, for example, and a set extraction ratio. Circuits that implement the processing procedures of FIGS. 4, 7, and 9 such as a message extraction circuit that sequentially extracts messages from the transmission queue and a return count determination circuit that determines whether or not the return count is greater than or equal to a predetermined count. Consists of including.

なお、上述のように開示された実施の形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。   It should be understood that the embodiments disclosed above are illustrative in all respects and are not restrictive. The scope of the present invention is defined by the terms of the claims, rather than the meanings described above, and is intended to include any modifications within the scope and meaning equivalent to the terms of the claims.

実施の形態1における車載ネットワークの構成を示すブロック図である。1 is a block diagram showing a configuration of an in-vehicle network in Embodiment 1. FIG. 中継装置のROMに記憶されている中継IDテーブルの内容例を示す説明図である。It is explanatory drawing which shows the example of the content of the relay ID table memorize | stored in ROM of the relay apparatus. 実施の形態1における中継装置のCANコントローラによるメッセージの中継処理の概要を示す説明図である。6 is an explanatory diagram illustrating an overview of message relay processing by a CAN controller of a relay device according to Embodiment 1. FIG. 実施の形態1における中継装置がCANコントローラによりメッセージを送信する処理手順の一例を示すフローチャートである。6 is a flowchart illustrating an example of a processing procedure in which the relay device according to the first embodiment transmits a message using a CAN controller. 実施の形態1における中継装置により中継されるメッセージの順序の例を示す説明図である。6 is an explanatory diagram illustrating an example of an order of messages relayed by a relay device in Embodiment 1. FIG. 差し戻しされずに中継されるメッセージの順序の例を示す説明図である。It is explanatory drawing which shows the example of the order of the message relayed without returning. 実施の形態2における中継装置がCANコントローラによりメッセージを送信する処理手順の一例を示すフローチャートである。10 is a flowchart illustrating an example of a processing procedure in which the relay device according to the second embodiment transmits a message using a CAN controller. 実施の形態2における中継装置により中継されるメッセージの順序の例を示す説明図である。FIG. 10 is an explanatory diagram illustrating an example of an order of messages relayed by a relay device in the second embodiment. 実施の形態3における中継装置がCANコントローラによりメッセージを送信する処理手順の一例を示すフローチャートである。10 is a flowchart illustrating an example of a processing procedure in which a relay device according to Embodiment 3 transmits a message using a CAN controller. 実施の形態3における中継装置により中継されるメッセージの順序の例を示す説明図である。12 is an explanatory diagram illustrating an example of the order of messages relayed by a relay device in Embodiment 3. FIG.

符号の説明Explanation of symbols

1a,1a,…,1b,1b,… ECU
2a,2b 通信線
3 中継装置
30 CPU
31 ROM
35 中継IDテーブル
33 CANコントローラ
36 通信制御部
37 バッファ
38 第1送受信部
39 第2送受信部
1a, 1a, ..., 1b, 1b, ... ECU
2a, 2b Communication line 3 Relay device 30 CPU
31 ROM
35 relay ID table 33 CAN controller 36 communication control unit 37 buffer 38 first transmission / reception unit 39 second transmission / reception unit

Claims (6)

複数の通信線に接続されており、前記通信線夫々に接続されている外部装置から、優先度が付与されて送信されるデータを他の外部装置へ送信してデータを中継する中継装置において、
外部装置から送信されたデータを受信する受信手段と、
該受信手段が受信したデータを受信順に記憶する記憶手段と、
該記憶手段に記憶されているデータの順序に基づき、該データを抽出して送信を試みる順序を決定する送信制御手段と、
該送信制御手段が決定した順序に基づいてデータの送信を試みる送信手段と、
該送信手段によるデータの送信に失敗した場合、前記データを前記記憶手段へ戻す手段と、
該手段によりデータを戻す都度、前記データに対応付けて戻した回数を計数する手段と
を備え、
データを前記送信手段により送信する場合、前記データに対応付けられる回数が所定回数以上であるときは、送信が成功するまで送信を試みるようにしてあること
を特徴とする中継装置。
In a relay device that is connected to a plurality of communication lines and transmits data to be transmitted with priority given from other external devices connected to the respective communication lines to other external devices,
Receiving means for receiving data transmitted from an external device;
Storage means for storing data received by the receiving means in the order of reception;
Based on the sequence of data being memorize in the storage unit, a transmission control means for determining the order in which Ru trying to send to extract the data,
Transmission means for attempting to transmit data based on the order determined by the transmission control means;
Means for returning the data to the storage means if transmission of the data by the transmission means fails;
Each time data is returned by the means, means for counting the number of times returned in association with the data,
When the data is transmitted by the transmission unit, if the number of times associated with the data is equal to or greater than a predetermined number, transmission is attempted until the transmission is successful.
前記送信手段によるデータの送信が失敗し、前記データを前記記憶手段へ戻すに際し、前記記憶手段に記憶されているデータの先頭に記憶し直すようにしてあること
を特徴とする請求項1に記載の中継装置。
The data transmission by the transmission means fails, and when returning the data to the storage means, the data is stored again at the head of the data stored in the storage means. Relay device.
前記送信手段によるデータの送信が連続して所定回数以上失敗した場合に、前記データを前記記憶手段へ戻すようにしてあること
を特徴とする請求項1又は2に記載の中継装置。
The relay apparatus according to claim 1 or 2, wherein the data is returned to the storage means when transmission of data by the transmission means has failed continuously for a predetermined number of times or more.
前記送信制御手段は、付与されている優先度が高いデータを優先的に抽出して送信するようにしてあること
を特徴とする請求項1乃至3のいずれかに記載の中継装置。
The relay apparatus according to any one of claims 1 to 3, wherein the transmission control unit preferentially extracts and transmits data having a high priority.
優先的に送信されるべき優先データ及び非優先データが区別されたテーブルを記憶しておく手段を備え、
前記送信制御手段は、前記テーブルに記憶されている優先データを優先的に抽出して送信するようにしてあること
を特徴とする請求項1乃至4のいずれかに記載の中継装置。
Means for storing a table in which priority data and non-priority data to be transmitted preferentially are distinguished;
The relay apparatus according to any one of claims 1 to 4, wherein the transmission control means preferentially extracts and transmits the priority data stored in the table.
複数の通信線に接続されており、前記通信線夫々を介して外部装置と接続される中継装置が、前記外部装置から優先度が付与されて送信されるデータを他の外部装置へ送信してデータを中継する方法において、
外部装置から送信されたデータを受信し、
受信したデータを受信順にバッファに記憶し、
前記バッファに記されているデータの順序に基づき前記バッファからデータを抽出して送信を試みる順序を決定し、
決定した順序に基づいてデータの送信を試み、
データの送信に失敗した場合、前記データを前記バッファへ戻し、
戻した回数を計数し、
前記回数が所定回数以上であるデータは、送信が成功するまで送信を試みる
ことを特徴とする中継方法。
A relay device connected to a plurality of communication lines and connected to an external device via each of the communication lines transmits data transmitted with priority given from the external device to another external device. In the method of relaying data,
Receive data sent from an external device,
Store the received data in the buffer in the order received,
To determine the order in which Ru attempts to transmit the extracted data from the buffer based on the sequence of data being memorize in said buffer,
Attempt to send data based on the determined order,
If data transmission fails, return the data to the buffer,
Count the number of returns,
The relay method according to claim 1, wherein the data having the number of times equal to or greater than the predetermined number is tried to be transmitted until the transmission is successful.
JP2008132253A 2008-05-20 2008-05-20 Relay device and relay method Expired - Fee Related JP5147533B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008132253A JP5147533B2 (en) 2008-05-20 2008-05-20 Relay device and relay method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008132253A JP5147533B2 (en) 2008-05-20 2008-05-20 Relay device and relay method

Publications (2)

Publication Number Publication Date
JP2009284085A JP2009284085A (en) 2009-12-03
JP5147533B2 true JP5147533B2 (en) 2013-02-20

Family

ID=41454098

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008132253A Expired - Fee Related JP5147533B2 (en) 2008-05-20 2008-05-20 Relay device and relay method

Country Status (1)

Country Link
JP (1) JP5147533B2 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5920038B2 (en) * 2012-06-07 2016-05-18 株式会社デンソー In-vehicle communication device
JP6174305B2 (en) * 2012-08-03 2017-08-02 トヨタ自動車株式会社 Data transmission apparatus, communication control method, and communication control program
JP5780331B1 (en) 2014-03-19 2015-09-16 富士ゼロックス株式会社 Information processing apparatus and information processing program
JP2017147662A (en) * 2016-02-18 2017-08-24 株式会社オートネットワーク技術研究所 Repeating device
JP2018098684A (en) * 2016-12-15 2018-06-21 住友電気工業株式会社 Switch device, communication control method, and communication control program
CN114567674B (en) * 2022-02-25 2024-03-15 腾讯科技(深圳)有限公司 Data processing method, device, computer equipment and readable storage medium

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10117213A (en) * 1996-10-09 1998-05-06 Toshiba Corp Packet communication equipment
JP2001119416A (en) * 1999-10-20 2001-04-27 Auto Network Gijutsu Kenkyusho:Kk Communication controller and communication method
JP2007134946A (en) * 2005-11-10 2007-05-31 Nec Corp Random access type radio communications system, base station, mobile station, and radio link establishing method

Also Published As

Publication number Publication date
JP2009284085A (en) 2009-12-03

Similar Documents

Publication Publication Date Title
JP5147533B2 (en) Relay device and relay method
JP5949417B2 (en) Relay device
US9425992B2 (en) Multi-frame and frame streaming in a controller area network (CAN) with flexible data-rate (FD)
US11516045B2 (en) Anomaly determination method, anomaly determination device, and recording medium
CN110784385B (en) Method and apparatus for transmitting data frames over a multi-host bus
JP4621837B2 (en) Relay device, communication system, and communication method
JP2007300331A (en) Onboard database system
KR20160135296A (en) Participant station for a bus system, and method for increasing the transmission capacity in a bus system
US6901469B2 (en) Communication control apparatus using CAN protocol
JP4839140B2 (en) Relay connection unit
CN108631943A (en) Communication device, communication means and storage medium
JP2008283386A (en) Data relaying device, and on-vehicle communication system
JP2009089286A (en) Relay connection unit
JP5728043B2 (en) Gateway device
US8284821B2 (en) Vehicle-mounted relay connection unit
JP5099755B2 (en) COMMUNICATION METHOD, COMMUNICATION SYSTEM, AND COMMUNICATION DEVICE
JP6137033B2 (en) In-vehicle network system and in-vehicle relay device
JP2006253922A (en) Gateway apparatus and data transfer method for the gateway apparatus
JP5278886B2 (en) Relay connection unit
JP2008172362A (en) In-vehicle communication system, relay device, and in-vehicle communication method
CN117614915B (en) On-chip interface data exchange routing system of FPGA
WO2022259832A1 (en) Communication device and data communication method
KR101514398B1 (en) Gateway in-vehicle based on virtual bus concepet and message transmission method thereof
US12149449B2 (en) Communication system, device, and communication method
CN112913188B (en) Subscriber station for a serial bus system and method for the manipulation-proof transmission of data in a serial bus system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110401

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120629

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120710

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120829

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121127

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121127

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151207

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees