(57)【要約】【課題】車載ＬＡＮに無駄なデータを送信することのない車載データベースシステムおよび車載データベース分配ノードを提供する。【解決手段】ＥＣＵと、ＥＣＵとの間でデータを送受信する複数のデータベース分配ノードと、データベース分配ノードを接続する伝送路とを備え、各データベース分配ノードは、ＥＣＵまたは他のデータベース分配ノードから受信したデータのうち必要な更新データと更新データが更新されてからの時間を示す加齢データとを記録するデータベースを有する処理部と、処理部と接続したＥＣＵとの間で更新データを送受信するＥＣＵ側送受信手段と、処理部と他のデータベース分配ノードの処理部との間で更新データを送受信する分配ノード側送受信手段とを備え、処理部は加齢データを用いて更新データが最新の状態を保つように管理すると共に、ＥＣＵが必要とするタイミングで更新データを送信することを特徴とする車載データベースシステム。【選択図】図１
2007249616.tif 000002
【特許請求の範囲】
【請求項１】
複数の群毎に１個設けられるデータベース分配ノードと、
前記各群に設けられる１以上のＥＣＵと、
前記データベース分配ノードを順次接続する伝送路と、
を有する車載ＬＡＮを備え、
前記各データベース分配ノードは、
前記群内のＥＣＵとデータを送受信するＥＣＵ側送受信手段と、
前記データベース分配ノード間でデータを送受信する分配ノード側送受信手段と、
前記ＥＣＵ側送受信手段と分配ノード側送受信手段からの受信データを記録するデータベースを有する処理部と、
を備え、
前記処理部は、前記受信データにより更新される更新データと、該更新データの更新後からの時間を示す加齢データ、当該更新データの有効期限を示す寿命データを前記データベースに記録し、該寿命データと前記加齢データとを比較して、データ更新後から所定時間経過後に、更新データの送信要求を前記ＥＣＵに送信し、あるいは／および前記データベースの更新データを抹消する構成としていることを特徴とする車載データベースシステム。
【請求項２】
前記処理部は、前記ＥＣＵから受信したデータを前記データベースに記録する前に一時的に記録するバッファを有し、
前記バッファから前記データを前記データベースに送信して更新データとして書き換えて記録すると同時に、記録した更新データを前記分配ノード側送受信手段から他のデータベース分配ノードに送信する構成としている請求項１に記載の車載データベースシステム。
【請求項３】
ＥＣＵと接続されてデータの送受信を行うＥＣＵ側送受信手段と、
前記ＥＣＵ送受信手段から受信するデータで更新された更新データと、更新後からの時間を示す加齢データと、当該更新データの有効期限を示す寿命データを前記データベースに記録し、前記寿命データと前記加齢データとを比較して、データ更新後から所定時間経過後に、更新データの送信要求を前記ＥＣＵに送信し、あるいは／および前記データベースの更新データを抹消処理する処理部と、
を備えていることを特徴とする車載用のデータベース分配ノード。
【請求項４】
さらに、他のデータベース分配ノードとの間に前記データベースで記録したデータを送受信する分配ノード側送受信手段を備えている請求項３に記載の車載用のデータベース分配ノード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車載データベースシステムおよび車載データベース分配ノードに関し、特に、データベースに記録するデータの更新日をチェックして、常に最新データを記録できるようにし、かつ、この最新のデータベースを車載ＬＡＮで接続する他のデータベース分配ノードと共有化するものである。
【背景技術】
【０００２】
近年、自動車の機能増加に伴い、自動車に搭載される電子制御ユニット（ＥＣＵ）の数が増加する傾向にある。各ＥＣＵは車両制御ネットワーク（以下、単に車載ＬＡＮという）に接続されているので、ＥＣＵが増加すると車載ＬＡＮの通信データ量が増大し、データの送信時点の衝突が発生する場合があり、これが遅延や速度低下の原因となっていた。
【０００３】
そこで、特開２００５−１５９５６８号公報（特許文献１）には、送信エラーなどによって送信タイミングが遅れたときに、優先度の高いＩＤを有するデータから確実に送信することにより、優先順位の高いデータに関しては通信負荷率が上がった状態でも大きく遅れることがないようにする構成が記載されている。
【０００４】
ところが、優先度の低いデータは優先度の高いデータが優先的に送信されればされるほど、送信時に生じた衝突によってデータ送信に遅れが生じることがあった。このため、特に優先度が低く比較的頻繁に更新される送信待ちのデータの場合に、送信待ちとなっている古いデータが送信できていない状況が生じる。この場合、送信可能な状況となった時に、古くなってあまり役立たないデータを送信することとなり、送信時間の無駄とデータの無駄が生じる。
【０００５】
そこで、ＥＣＵを複数の車載ＬＡＮの群（セグメント）に分けて接続し、各車載ＬＡＮのセグメント間において、必要なデータだけをデータ中継装置によって中継することにより、各セグメント内の通信負荷率の増加を抑制して衝突の発生を抑えることが行われている。
さらに、今後ＦｌｅｘＲａｙ(登録商標）、ＭＯＳＴ(Media  Oriented  Systems  Transport)、Ｄ２Ｂ(Domestic  Digital  Bus)など、より高速に通信できる車載ＬＡＮを幹線として用いることにより、通信量の増大に対応することが考えられる。
【０００６】
しかしながら、たとえ高速に通信できる車載ＬＡＮを採用したり、データ中継装置によって必要なデータだけを中継するようにしたとしても、各ＥＣＵが送信するデータをデータ中継装置が受け取ったときに、中継装置から受信側のＥＣＵに中継するだけでは、何らかの原因で一時的に通信負荷率が上がった状況が生じた時、送信しきれなかった優先度の低い無駄なデータを送信するために、通信負荷率の引き上げられた状態が長引くという問題があった。
また、より高速に通信できる幹線を介して受信する大量のデータを、低速な支線を構成する車載ＬＡＮに中継することにより、支線側の車載ＬＡＮの通信負荷率が引き上げられるという問題もある。
【０００７】
【特許文献１】特開２００５−１５９５６８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明は、前記問題に鑑みてなされたもので、接続されたＥＣＵから受信したデータが常が最新データとなるように管理して、無駄なデータの送信による通信負荷率の上昇を抑制することを課題としている。
【課題を解決するための手段】
【０００９】
前記課題を解決するため、本発明は、
複数の群毎に１個設けられるデータベース分配ノードと、
前記各群に設けられる１以上のＥＣＵと、
前記データベース分配ノードを順次接続する伝送路と、
を有する車載ＬＡＮを備え、
前記各データベース分配ノードは、
前記群内のＥＣＵとデータを送受信するＥＣＵ側送受信手段と、
前記データベース分配ノード間でデータを送受信する分配ノード側送受信手段と、
前記ＥＣＵ側送受信手段と分配ノード側送受信手段からの受信データを記録するデータベースを有する処理部と、
を備え、
前記処理部は、前記受信データにより更新される更新データと、該更新データの更新後からの時間を示す加齢データ、当該更新データの有効期限を示す寿命データを前記データベースに記録し、該寿命データと前記加齢データとを比較して、データ更新後から所定時間経過後に、更新データの送信要求を前記ＥＣＵに送信し、あるいは／および前記データベースの更新データを抹消する構成としていることを特徴とする車載データベースシステムを提供している。
【００１０】
前記のように、本発明では、多数のＥＣＵを複数に群分けし、これら群毎にデータベースを備えたデータベース分配ノードを設けている。各群内のＥＣＵが送信するデータをデータベースに記録し、該データベースに記録した更新データを他のデータベース分配ノードに送信して、他のデータベース分配ノードにおいても必要な更新データをそのデータベースに記録させて、更新データを共有化させている。
【００１１】
前記データベースには、更新データ、その更新データの加齢データ、該更新データの寿命データとを記録しているため、加齢データと寿命データとを比較して、寿命データに近付くと、ＥＣＵに新しいデータを要求しあるいは／および寿命のつきて有効性が失われた更新データを抹消することで、各更新データが最新の状態を保つように管理することができる。
よって、古い更新データを他のデータベース分配ノードに送信するために無駄な通信を行うことを防止できる。
【００１２】
前記加齢データは前回のデータ更新時からの時間（年齢）を表しており、例えば、各車載データベース分配ノード間で更新データの更新を行う毎に、全ての更新データに関係づけられた加齢データに１をカウントすることにより求められる。このようにして求められた加齢データを用いれば、各更新データの更新時点からの経過時間を容易に求めることができる。なお、加齢データはその更新時点を示す時刻情報であってもよい。この場合、更新データの更新時に加齢データを書き換えなくても、現在の時刻情報から加齢データを減算することにより、当該更新データの更新からの経過時間を求めることができる。
【００１３】
前記のように、処理部はデータベースの各更新データが前記寿命データと加齢データの比較によって有効期限が近づいたことを検出して、更新データの送信要求データをＥＣＵに送信している。ＥＣＵが送信要求データの受信に伴って最新のデータを送信する機能を有する場合には、車載データベース分配ノードは、ＥＣＵから受信するデータを用いることでデータベース内の更新データを最新の更新データとすることができる。
また、有効期限が近づいた更新データを抹消してもよい。抹消することで、有効でない更新データを他のデータベース分配ノードあるいは接続した他のＥＣＵに送信することで、ＥＣＵが誤動作を起こすことを防止すると共に、無駄な通信を防止できる。
前記有効期限が近付いた更新データの抹消を行うと共に、該データを送信するＥＣＵへの送信要求との両方を行うことが最も好ましい。
【００１４】
前記処理部は、前記データベースの各更新データにその送信状態を示す送信完了データを加えて記録し、前記ＥＣＵから更新データを受信した時に前記データベース内の更新データを更新すると共に前記加齢データおよび前記送信完了フラグをリセットし、後に前記データベース内の前記送信完了フラグがリセット状態である更新データを他のデータベース分配ノードに送信して当該更新データの前記送信完了フラグをセットするように構成してあることが好ましい。
前記構成とすると、他のデータベース分配ノードに送信が完了すれば、送信完了フラグをセットするので、同じ更新データが重複して送信されることを防止できる。
【００１５】
さらに、前記処理部は、前記ＥＣＵから受信したデータを前記データベースに記録する前に一時的に記録するバッファを有し、
前記バッファから前記データを前記データベースに送信して更新データとして書き換えて記録すると同時に、記録した更新データを前記分配ノード側送受信手段から他のデータベース分配ノードに送信する構成としていることが好ましい。
前記構成とすると、全てのデータベース分配ノード内のデータベースに対して更新データを更新する時点を同期させることができるので、各データベース分配ノードは更新データを等しく共有することができる。
【００１６】
また、本発明は、
ＥＣＵと接続されてデータの送受信を行うＥＣＵ側送受信手段と、
前記ＥＣＵ送受信手段から受信するデータで更新された更新データと、更新後からの時間を示す加齢データと、当該更新データの有効期限を示す寿命データを前記データベースに記録し、前記寿命データと前記加齢データとを比較して、データ更新後から所定時間経過後に、更新データの送信要求を前記ＥＣＵに送信し、あるいは／および前記データベースの更新データを抹消処理する処理部と、
を備えていることを特徴とする車載用のデータベース分配ノードを提供している。
【００１７】
前記データベース分配ノードによれば、複数のＥＣＵと接続して、１つのＥＣＵから受信するデータを他のＥＣＵへ送信して、該ＥＣＵにより動作制御を行わせる場合において、該ＥＣＵへ送信するデータを最新データに管理しておくことで、ＥＣＵの誤動作の発生を防止することができる。
【００１８】
さらに、前記データベース分配ノードに、他のデータベース分配ノードとの間に前記データベースで記録したデータを送受信する分配ノード側送受信手段を設けると、ＥＣＵと接続したデータベース分配ノードを備えた群を複数設けた場合に、各群のデータベース分配ノードのデータベースに記録される更新データを最新データとなるように管理することができる。
【発明の効果】
【００１９】
前述したように、第一の発明によれば、データベースに登録されたデータのうち、寿命をきた古いデータは新たなデータに更新され、あるいは／および抹消する構成としているので、データベースに古いデータが記録されることはなく、新たなデータのみが記録される。この最新の更新データを他の群のデータベース分配ノードに送信しているため、役立たないデータを送信することによる送信の無駄、送信負荷率の増加を防止できる。かつ、複数群のデータベース分配ノードのデータベースに登録されるデータを常に最新のデータとして共有化させることができる。
【発明を実施するための最良の形態】
【００２０】
図１は本発明の第一実施例に係る車載データベースシステム１の構成を示す図である。
図１中において、２ａ〜２ｈは車両の各部に配置されたＥＣＵ（以下、各ＥＣＵ２ａ，２ｂ…を区別する必要がないときはＥＣＵ２と称す）で、２ａ〜２ｃが第１群Ａ、２ｄ〜２ｆが第２群Ｂ、２ｇと２ｈが第３群Ｃとして、群分けしている。
前記各群Ａ、Ｂ、Ｃにはそれぞれ１つのデータベース分配ノード４ａ、４ｂ、４ｃ（以下、各データベース分配ノード４ａ〜４ｃを区別する必要がない場合にデータベース分配ノード４と称す）を設けている。
【００２１】
前記データベース分配ノード４ａはＥＣＵ２ａ〜２ｃと夫々、ＣＡＮに準拠するＬＡＮのバス（以下、ＣＡＮバスと称す）８によって接続している。同様にデータベース分配ノード４ｂはＥＣＵ２ｄ〜２ｆと夫々ＣＡＮバス８を介して接続し、データベース分配ノード４ｃはＥＣＵ２ｇ、２ｈと夫々ＣＡＮバス８を介して接続している。
前記データベース分配ノード４ａ、４ｂ、４ｃはＬＡＮからなる伝送路５ａ、５ｂ、５ｃ（以下、まとめて伝送路５と称す）を介して順次接続され、ＬＡＮ９を構成している。
【００２２】
前記各ＥＣＵ２ａ〜２ｈには、車両状態や各種物理量の測定値などの更新データＤａ，Ｄｂ…を検出してＥＣＵへ出力するセンサ６ａ〜６ｇを接続している。（以下、区別する必要がない場合には、単にセンサ６、更新データＤと称す。）
【００２３】
前記各データベース分配ノード４は複数のＥＣＵに接続すると共に、前記伝送路５を介して他のデータベース分配ノード４に接続し、データベース分配ノード間およびＥＣＵとの間で各種更新データを高速に送受信するハブの役割を果たすものとしている。
【００２４】
各データベース分配ノード４は、図１に示すように、処理部１３と、処理部１３と前記ＥＣＵ２との間で更新データを送受信するＥＣＵ側送受信手段を構成するＣＡＮ通信手段１１と、処理部１３と他のデータベース分配ノード４の処理部との間で前記伝送路５を介して更新データを送受信する分配ノード側送受信手段を構成するイーサネット通信手段１２を備え、処理部１３は、データベース７を備える記録手段２１と、出力タイミング設定手段２２と、データ出力手段２３と、データベース更新手段２４を備えている。
記録手段２１とＣＡＮ通信手段１１とは、データ出力手段２３と出力タイミング設定手段２２を介して接続している。また、記録手段２１とイーサネット通信手段１２とはデータベース更新手段２４を介して接続している。
なお、図１中では、データベース分配ノード４ａのみに、前記記録手段２１等を記載しているが、他のデータベース分配ノード４ｂ、４ｃにも備えられている。
【００２５】
前記イーサネット通信手段１２のポート１２ａ、１２ｂに接続する伝送路５ａ、５ｂ、５ｃからなるＬＡＮ９として、本実施形態では、高速通信が可能な規格に準拠するイーサネット（登録商標）を用いている。
ＬＡＮ９はイーサネットに準拠する単一セグメントの車載ＬＡＮを構成するものであるため、ゲートウェイなどを介在させる必要がなく、その分、遅延時間を短くすることができる。
なお、ＬＡＮ９は、光通信を利用したＭＯＳＴ，Ｄ２Ｂ、ＩＤｂ１３９４やＩＥＥＥ１３９４（登録商標）などに準拠して通信を行うもの、さらには、工業用ＬＡＮ、ＦｌｅｘＲａｙを用いて形成してもよい。
【００２６】
前記３つのデータベース分配ノード４においては、４ａと４ｂを伝送路５ａを介して接続し、４ｂと４ｃを伝送路５ｂを介して接続し、４ｃと４ａとを伝送路５ｃを介して接続し、３つのデータベース分配ノード４ａ〜４ｃリング状に接続している。
具体的には、データベース分配ノード４ａ内にあるイーサネット通信手段１２のポート１２ａを伝送路５ａによりデータベース分配ノード４ｂ内にあるイーサネット通信手段１２のポート１２ｂに接続している。データベース分配ノード４ｂのポート１２ａを伝送路５ｂによりデータベース分配ノード４ｃのポート１２ｂに接続している。さらに、データベース分配ノード４ｃのポート１２ａを伝送路５ｃでデータベース分配ノード４ａのポート１２ｂに接続して、リング状接続としている。
【００２７】
前記各伝送路５ａ、５ｂ、５ｃはそれぞれ２本ずつ設けて、データベース分配ノード４間に接続している。
本実施形態では、伝送路５ｃは伝送路５ａ、５ｂに障害が発生した場合の予備線としており、よって、リング状接続としているが、実際には、伝送路５ａ、５ｂとを用いたデイジーチェーン状の接続として用いている。即ち、伝送路５ａの１本５ａ−１と伝送路５ｂの１本５ｂ−１は往路用とし、伝送路５ｂの他の１本５ｂ−２と伝送路５ａの他の１本５ａ−２を復路用として用いている。
【００２８】
前記各データベース分配ノード４に設けるイーサネット通信手段１２は、ＬＡＮ９に直接的に接続されて電気信号のやりとりを行うインターフェース（図示省略）と、このインターフェースを用いてイーサネットに準拠した通信を制御する通信コントローラ（図示省略）とを含む。
イーサネット通信手段１２は、インターフェースのコネクタ部分であるポート１２ａ、ポート１２ｂによりＬＡＮ９と接続され、各種更新データＤの送受信を行う。ポート１２ａ、ポート１２ｂはそれぞれ送信部と受信部があり、全二重の通信を可能とするものである。なお、ＬＡＮ９が光通信を行うものである場合に、車載ＬＡＮ通信手段として光送受信ユニットを設けるなど、適宜に変形される。
【００２９】
データベース分配ノード４に設けるＥＣＵ側接続手段となる前記ＣＡＮ通信手段１１は、前記ＣＡＮバス８を介してＥＣＵ２と接続して各種更新データの入出力を行っている。
ＣＡＮトランシーバやＣＡＮコントローラを有するものであるが、ＥＣＵ２とデータベース分配ノード４との接続部にＬＩＮなどの車載ＬＡＮを用いる場合には、入出力手段１１としてＬＩＮに準拠する通信手段と通信コントローラが必要である。また、ＥＣＵ２とデータベース分配ノード４との接続部に車載ＬＡＮを用いない場合には、入出力手段としてのインターフェイスを形成することができる。この場合、ＥＣＵ２はセンサ６側に設けられた更新データＤの出力手段を構成する制御部である。
【００３０】
また、データベース分配ノード４の記録手段１２のデータベース７では、該データベース分配ノード４に接続したＥＣＵを介してセンサ６から得られる更新データＤをデータ加工する事なく、そのまま記録している。
【００３１】
図２に示すように、データベース７には、少なくとも前記更新データＤの識別情報ＩＤ（ＩＤａ，ＩＤｂ…）と、これに対応する属性値データＶＤａ，ＶＤｂ…とが記録される。  かつ、前記ＬＡＮ９を介して受信する他のデータベース分配ノード４の記録手段２１に記録される更新データＤのうち、当該データベース分配ノード４において、必要な更新データも記録されるようにしている。
なお、図２では、識別情報ＩＤとして「車輪速」などを示しているが、実際には決まったビット数の値からなる識別情報ＩＤであってもよい。同様に、属性値データＶＤａ…として単位付きの数値を属性値データＶＤａ…を例示しているが、データベース７に記録される属性値データＶＤａ…に単位の情報が必ず含ませなければならないことを意味しているのではない。
【００３２】
前記記録手段２１として、データ出力手段２３によって読み書き可能に構成されたＲＡＭを用い、バックアップ電源などを用いて電源供給が途絶えた状態でも記録内容を保持できるものとしている。なお、フラッシュメモリのように不揮発性を備えた書き換え可能な記録手段を用いてもよい。また、記録手段２１内には、出力タイミング設定手段２２によって設定され、データ出力手段２３によって用いられる出力タイミング設定テーブルＴａ〜Ｔｃ（以下、区別が不要であるときは出力タイミング設定テーブルＴという）がそれぞれ記録されている。
【００３３】
なお、本実施例では出力タイミング設定テーブルＴが出力タイミング設定手段２２によって動的に設定されるものであるから、この出力タイミング設定テーブルＴを記録する記録手段２１も書き換え可能である必要がある。しかしながら、この出力タイミング設定テーブルＴは固定的に設定してあってもよい。この場合、テーブルＴが記録されるメモリ１２をＲＯＭにしてもよい。
【００３４】
前記記録手段２１に記録された更新データＤをＥＣＵ２側へ出力するデータ出力手段２３は、記録手段１２のデータベース７内の更新データＤを読み書きし、更新データＤを必要とするＥＣＵ２に出力するものである。また、前記出力タイミング設定手段２２はこの更新データＤの出力タイミングを設定するものである。
データベース更新手段２４はデータ出力手段２３を介して更新データＤの入力があった時に、対応する更新データを記録手段１２のデータベース７に登録すると共に、更新データＤを含むデータフレームをＬＡＮ９を介して隣接するデータベース分配ノード側に送信する一方、隣接するデータベース分配ノードから受信したデータフレームに含まれる他ノードの更新データＤをデータベース７に登録する機能を有する。
【００３５】
以下に、前記構成からなる本発明の車載データベースシステム１における動作について概要を説明する。
まず、各ＥＣＵ２には接続したセンサ６からの検出値が入力される。ＥＣＵ２は受信した更新データＤを自らが接続されたデータベース分配ノード４に送信する。各データベース分配ノード４は更新データＤをデータベース７に記録する。
【００３６】
各データベース分配ノード４はデータベース７に記録した更新データＤをデータフレームに書き込みデータベース更新手段２４で設定したタイミングで伝送路５に送信する。このデータフレームを最初に送信するデータベース分配ノード４をマスターノードとする。該マスターノードから送信するデータフレームを伝送路５を介して順次隣接するデータベース分配ノード４に巡回させ、各データベース分配ノード４において、そのデータベース７に新たに記録された更新データＤをデータフレームに書き込む。この動作を最後のデータベース分配ノードとなるループバックノードまで行う。
このループバックノードにおいて更新データＤをデータフレームに書き込むことにより、マスターノードからループバックノードへの伝送路５の往路で、データフレームは全てのデータベース分配ノード４のデータベース７に記録された更新データＤが書き込まれた状態となる。
【００３７】
ついで、ループバックノードからマスターノードへの復路において、全更新データが書き込まれたデータフレームは順次データベース分配ノードを巡回し、各データベース分配ノード４は、データフレームは全更新データＤのうちから必要な更新データＤを読み取っていく。
上記のデータフレーム巡回は所定の周期ごとに行われ、該周期を通信周期と呼ぶ。通信周期は、データフレーム巡回時間であるデータ通信スロットと待ち時間からなる。また、データ送信に失敗した場合に再送を行うこともある。
このようにして新たに取得した更新データＤは、夫々データベース分配ノード４のデータベース７に記録され、該データベース分配ノード４に接続したＥＣＵ２に予め設定したタイミングで更新データＤを送信し、当該ＥＣＵ２は更新データＤに基づいて必要な制御を行う。
【００３８】
以下、上記動作について詳述する。
まず、各ＥＣＵ２には接続したセンサ６からの検出値が入力される。該検出値は更新データＤとして、各ＥＣＵ２により定まるタイミングでデータベース分配ノード４に送信される。データベース分配ノード４では、これらの更新データＤを記録手段２１のデータベース７に記録する。
【００３９】
各データベース分配ノード４がＥＣＵから受信した更新データはデータベースに記録される。データベースのデータフォーマットを図３に示す。各更新データは、データＩＤ，送信元ノードＩＤ，寿命データを構成するライフタイム、加齢データを構成するエイジ、送信完了フラグ、データ長、データ本体からなる。
【００４０】
データＩＤは各ＥＣＵから発信される更新データごとに付される。例えば、ＥＣＵから受信する更新データが「回転数」である場合、この回転数の更新データのデータＩＤを「１」と数値で表してもよいし、「回転数」と文字で表してもよい。フィールド長は２バイトである。
送信元ノードＩＤは、更新データの送信元となるデータベース分配ノード４のノードＩＤである。フィールド長は２バイトである。
ライフタイムは更新データの属性値データ（例えば図２に示すように更新データが回転数であれば、属性値データは１００ｒｐｍである。）がデータベースに登録されてからの寿命を表す。通信周期単位で数え、フィールド長は２バイトである。
【００４１】
エイジはデータ更新後の経過期間であり、更新データの属性値データ（例えば図２に示すように更新データが回転数であれば、属性値データは１００ｒｐｍである。）がデータベースに登録されてから現在までの時間を表す。通信周期単位で数えられ、新たな属性値データがデータベースに登録されるとエイジを０とし、通信周期が経過するたびに１増加させる。エイジがライフタイムに達したら、ＥＣＵから新たな属性値データの更新が必要であることを示す。エイジがライフタイムを超えた場合は、該属性値データは原則として使用しない。フィールド長は２バイトである。
【００４２】
送信完了フラグは自ノードにおいて更新した更新データを、他のデータベース分配ノード４に送信完了したことを示すフラグである。自ノードの更新データを更新したときに偽（０）にし、他ノードへの送信を完了したときに真（１）にする。自ノードの更新データにのみ有効であり、他のノードから送信されてデータベースに登録された更新データに対しては有効ではない。フィールド長は１ビットである。
データ本体長は属性値データ本体の長さである。フィールド長は２バイトである。
【００４３】
ＥＣＵから受け取った更新データは、データフレームの通信周期の最初に、データベース分配ノード４によってデータベースに記録される。
更新データには、データベース分配ノード４が能動的に取得できるデータと、受動的にしか取得できないデータがある。能動的に取得できるデータは、データベース分配ノード４が自らに接続されたＥＣＵにリクエストして取得できる更新データであり、受動的にしか取得できない更新データとは、例えばデータベース分配ノード４がハブで支線のＥＣＵからデータ受信するような場合のデータである。
【００４４】
能動的に取得できる更新データについては、データベース分配ノード４はライフタイムとエイジの比較によって有効期限が近づいている場合に、各ＥＣＵに送信要求データを送信し、送信元ノードＩＤが自らを示す自ノードＩＤであって、エイジがライフタイム以上のデータについて、更新データ取得時に即座にデータベースのデータ本体を更新する。
受動的にしか取得できない更新データについては、データ取得時に即座にデータ本体を更新する場合と、取得時に一時的にバッファに記録しておき、バッファ内のデータを能動的に取得できるデータと同時に処理する場合がある。バッファ内のデータはデータベースに記録されると消去される。
データを更新後は、エイジを０とし、送信完了フラグを偽とする。
さらに、ライフタイムとエイジを比較し、有効期限を越えた更新データを抹消する。
なお、データベースのデータ本体の更新と、有効期限を越えた更新データの抹消は、何れか一方だけを行ってもよいが、両方行うことが最も好ましい。
【００４５】
次に、更新データの送受信について説明する。
上述したように、データベース分配ノード４ａは自ノードに接続されたＥＣＵ２ａからの更新データＤａをＣＡＮ通信手段１１を介して受け取りメモリ１２内のデータベース７に登録している。
データフレームの巡回について図４に説明する。
まず、データベース分配ノード４ａはデータフレームＤ１を作成する。データベース更新手段２４はデータフレームＤ１に送信元ノードＩＤが自ノードＩＤであり、エイジがライフタイム未満、送信完了フラグが偽の更新データＤａについて、更新データのうちデータＩＤ、エイジ、データ本体をデータフレームＤ１に書き込む（以下、更新データの書込み、読み込みとは、データＩＤ，エイジ、データ本体を読み込み、書き込むことを言う）。
【００４６】
データフレームＤ１をイーサネット通信手段１２のポート１からデータベース分配ノード４ｂに送信する。ここで、データベース分配ノード４ａはマスターノードであり、データフレームをＬＡＮ９に投入、回収する。通常、マスターノードはＬＡＮ９で接続されるリング上にひとつだけ存在する。他のノードはスレーブノードと呼ぶ。
【００４７】
データベース分配ノード４ｂは自ノードのイーサネット通信手段１２のポート２を介してデータフレームＤ１を受け取り、自己のデータベース７に登録された更新データＤｄをデータフレームＤ１に追加し、データフレームＤ２とする。データベース分配ノード４ｂはデータフレームＤ２をデータベース分配ノード４ｃに送信する。
【００４８】
データベース分配ノード４ｃはデータフレームＤ２を受け取り、自己のデータベース７に登録された更新データＤｇをデータフレームＤ２に追加し、データフレームＤ３とする。その後、データベース分配ノード４ｃは他ノードの更新データＤａとＤｄのうち、ＥＣＵ６ｇ、６ｈが必要としている更新データを読み込み、データベース７に登録する。データベース分配ノード４ｃはデータフレームＤ３をデータベース分配ノード４ｂに送信する。
【００４９】
ここで、データベース分配ノード４ｃはデータフレームを折り返して送信するループバックノードであり、正常時にはリング上にひとつだけ存在する。ループバックノードはマスターノードから他の全てのデータベース分配ノードを通って最も下流にあるデータベース分配ノードである。
【００５０】
データベース分配ノード４ｂはデータフレームＤ３を受け取り、他ノードの更新データＤａとＤｇのうち必要な更新データを読み取りデータベース７に登録する。その後、データフレームＤ３をデータベース分配ノード４ａに送信する。
データベース分配ノード４ａはデータフレームＤ３を受け取り、他ノードの更新データＤｄとＤｇのうち必要な読み取りデータベース７に登録する。
【００５１】
上記のように、マスターノードであるデータベース分配ノード４ａがデータフレームをＬＡＮ９に投入すると、各データベース分配ノード４は、往路では４ａ→４ｂ→４ｃの順（順方向とする）にデータフレームを送信し更新データを書き込んでいく。ループバックノードであるデータベース分配ノード４ｃで折り返し、復路（逆方向）では、各ノードは自らが書き込んだ更新データ以外の更新データを読み込む。なお、本実施例では各ノードが書き込む更新データは各ノードごとに更新データＤａ，Ｄｄ，Ｄｇと一つずつであったが、書き込む更新データは複数であっても良い。
このように更新データが各データベース分配ノード４間を巡回することで、各データベース分配ノード４のデータベース７が更新され、更新データが共有される。
【００５２】
このようなデータフレームの巡回は通信周期ごとに行われる。データフレームが巡回している間は各ノードのデータベースの更新は完了していないので更新データは共有されていないが、巡回後、次のデータフレーム巡回までの間は各ノードのデータベースは同じ更新データを有しており、更新データを共有している。
なお、データフレームの送信に失敗すると再送されるが、予め設定した最大再送回数まで再送しなかったデータ、即ち送信が成功したデータについては、送信完了フラグを真とする。また、エイジは通信周期で数えられるので、更新データ通信終了時に、データベースに記録されている全データについてエイジに１を加える。エイジがライフタイムを超えるデータは、他のデータベース分配ノードに送信すべき新たなデータではないため、原則として使用しない。
【００５３】
なお、本実施例ではデータベース分配ノード４ｃがループバックノードであったが、４ｂがループバックノードでもよい。この場合はデータベース分配ノード４ａ→４ｃ→４ｂの順にデータフレームが巡回する。
【００５４】
次に、各データベース分配ノード４がデータフレームに自ノードの更新データを追加する方法について説明する。
図５は例としてデータベース分配ノード４ａが更新データを追加する場合の詳細な説明図である。
データベース分配ノード４ａのデータベース７には、各ノードのＥＣＵから供給された更新データが登録されている。そのうち自ノード４ａのＥＣＵから得た更新データＤａ、Ｄｂ，Ｄｃのうち、更新データＤａ，Ｄｂが新たに更新されたものであるとすると、データベース分配ノード４ａはデータフレームＤ１に更新データＤａとＤｂを書き込む。
【００５５】
ここで、データフレームのフォーマットについて説明すると、データフレームはヘッダ部と属性値データ部からなる。ヘッダ部はデータ非依存部、データ数、データＩＤ，データ長、予約フラグからなり、属性値データ部は属性値データからなる。
【００５６】
したがって、データフレームＤ１のヘッダ部には、データ非依存部とデータ数と更新データＤａ，ＤｂそれぞれのデータＩＤ，データ長、予約フラグを書き込む。ヘッダ部の後の属性値データ部には更新データＤａ，Ｄｂそれぞれの属性値データを書き込む。このデータフレームＤ１がイーサネット通信手段１２のポート１からデータベース分配ノード４ｂに送信される。
【００５７】
データベース分配ノード４ｂに接続されたＥＣＵから得た更新データＤｄ、Ｄｅ、Ｄｆのうち、更新データＤｄ，Ｄｅが新たに更新されたものであるとすると、データベース分配ノード４ｂはデータフレームＤ１を受け取った後更新データＤｄ，ＤｅをデータフレームＤ１に書き込む。データフレームＤ１のヘッダ部に、更新データＤｄ，ＤｅそれぞれのデータＩＤ，データ長、予約フラグを書き込み、属性値データ部には更新データＤｄ，Ｄｅの属性値データを書き込む。このようにして更新データＤｄ，Ｄｅが書き込まれた新たなデータフレームをデータフレームＤ２とする。
【００５８】
データベース分配ノード４ｃにおいても同様に、データフレームＤ２に新たに更新されたＤｇの更新データを書き込み、データフレームＤ３とする。データフレームＤ３には更新データＤａ、Ｄｂ、Ｄｄ，Ｄｅ、Ｄｇが書き込まれる。
ループバックノードであるデータベース分配ノード４ｃにおいて、データフレームＤ３は折り返し逆方向に送信され、各ノードは宛先が自ノードとなっている他ノードの更新データをデータフレームＤ３から読み込む。
【００５９】
図６はデータフレームが各データベース分配ノード４を巡回する時間について説明している。ＬＡＮ９の伝送路５ａ、５ｂ、５ｃは二本の伝送路からなり、全二重方式での送信を行なう。
データベース分配ノード４ａのイーサネット通信手段１２のポート１からデータフレームＤ１が送信されると、データベース分配ノード４ｂのポート２において受信する。これら送信と受信はほぼ同時に行なわれる。
【００６０】
データベース分配ノード４ｂではバッファにデータフレームＤ１を保存するが、バッファリングするデータ長（バッファリング長）を超えたとき、新たにポート１から自ノードの更新データＤｄ，Ｄｅを書き込んだデータフレームＤ２の送信を開始する。本実施例においてはヘッダ部のデータ非依存部のデータ長がバッファリング長であり、データ非依存部を受信するとデータフレームＤ２の送信を開始する。図５に示すようにデータフレームＤ２の送信を開始する時刻ｔ１は、データフレームＤ１が送信された時刻を基準時刻ｔ＝０とすると、バイトタイムＴ１（ＬＡＮを介し１バイト受信するのに必要な時間）にデータフレームのバッファリング長Ｂ１を乗じた時刻となる。
【００６１】
データベース分配ノード４ｃはデータフレームＤ２をバッファリングし、データベース分配ノード４ｂと同様にデータフレームＤ２のうちヘッダ部のデータ非依存部を受け取ったとき、自ノードの更新データＤｇを書き込んだデータフレームＤ３をデータベース分配ノード４ｃのポート２からデータベース分配ノード４ｂに向かって送信する。各データベース分配ノードで往路のバッファリング長が一定だとすると、送信開始時刻ｔ２は、バイトタイムＴ１にデータフレームの往路のバッファリング長Ｂ１を乗じた時間の２倍が経過した時刻となる。
【００６２】
なお、データベース分配ノード４ｃではデータベース分配ノード４ｂからのデータフレームＤ２の受信とデータベース分配ノード４ｂへのデータフレームＤ３への送信を同時に行なっている。データフレームはデータベース分配ノード４ｃで折り返すことになるが、ポートにはそれぞれ二本の送信線があるので、データベース分配ノード４ｃはデータフレームの受信と送信を同時に行なうことができる。
【００６３】
データベース分配ノード４ｂはデータフレームＤ３を送信とほぼ同時に受け取る。順方向である往路の送信時と同様に、逆方向である復路でのデータフレーム送信時にもデータフレームをバッファに保存する。バッファリングするデータ長は往路と復路で別々に設定されており、復路のバッファリングするデータ長Ｂ２を超えたとき、ポート２からデータベース分配ノード４ａにデータフレームＤ３を送信する。データベース分配ノード４ａでは送信とほぼ同時にデータフレームＤ３を受け取る。データベース分配ノード４ｂがデータベース分配ノード４ｃに送信を始める時刻ｔ３は、（データフレームの往路のバッファリング長Ｂ１×２＋データフレームの復路のバッファリング長Ｂ２）×バイトタイムＴ１となる。
【００６４】
さらに、マスターノードであるデータベース分配ノード４ａがデータフレームをＬＡＮに送信してからデータベース分配ノード４ａが再びデータフレームを受信するまでの時刻ｔ４は、ｔ３＋データフレーム最大長Ｂ３×バイトタイムＴ１となる。
【００６５】
したがって、データフレーム最大巡回時間Ｔ（データフレームが１回の巡回に要する時間）は、（（ノード数―１）×往路のバッファリング長Ｂ１＋（ノード数―２）×復路のバッファリング長Ｂ２＋データフレーム最大長Ｂ３）×バイトタイムＴ１となる。
【００６６】
第一実施例では伝送路５ａ〜５ｃがそれぞれ２本ずつ、例えば伝送路５ａとして５ａ―１、５ａ−２が接続されており、二本の伝送路一方を順方向、他方を逆方向にデータフレームを巡回させている。
一方、伝送路５ａ〜５ｃが一本ずつの場合は、各ポートが送受信部を有し一本の伝送路５ａ、５ｂを送受信に用いる半二重方式でデータフレームを巡回させることができる。半二重方式の時間の経過を図７に示す。半二重方式は全二重方式と異なり伝送路が一本である。このため、ノード４ｃにおいて、更新データの受信と送信を同時に行なうことはできず、ノード４ｂからのデータフレームＤ２をすべて受信してからノード４ｂへのデータフレームＤ３への送信を行なう。このため、時刻ｔ１は全二重方式と同じであるが、ノード４ｃからノード４ｂへの送信時刻ｔ２は、（データフレームの往路のバッファリング長Ｂ１＋データフレーム最大長Ｂ３）×バイトタイムＴ１となる。
【００６７】
さらに、ノード４ｂからノード４ｃへのデータフレームの送信開始時刻ｔ３は、（往路のバッファリング長Ｂ１＋復路のバッファリング長Ｂ２＋データフレーム最大長Ｂ３）×バイトタイムＴ１となる。マスターノードであるデータベース分配ノード４ａがデータフレームをＬＡＮに送信してからデータベース分配ノード４ａが再びデータフレームを受信するまでの時刻ｔ４は、ｔ３＋データフレーム最大長Ｂ３×バイトタイムＴ１となる。
【００６８】
したがって、データフレーム最大巡回時間Ｔ（データフレームが１回の巡回に要する時間）は、（（ノード数―２）×往路のバッファリング長Ｂ１＋（ノード数―２）×復路のバッファリング長Ｂ２＋データフレーム最大長Ｂ３×２）×バイトタイムＴ１となる。
全二重方式に比べ、一本の伝送路の伝送方向を交互に切り替えるため、送信に時間がかかる欠点はあるが、伝送路が一本のため構成が簡単である。
【００６９】
各データベース分配ノード４では、データフレームのエラー検出・訂正を行っている。データフレームのエラー検出・訂正は、データフレームを（１）ヘッダのデータ非依存部、（２）ヘッダのデータ数、（３）ヘッダのデータ毎のデータＩＤ，データ長の組、（４）属性値データ（データＩＤ，データ長を除く部分）毎、の各ブロックに分け、ブロック毎に行なう。データＩＤ，データ長はヘッダ部に置かれ、属性値データ部からは分離されている。
【００７０】
データフレームのうちヘッダ部については、データフレームの巡回のうち、往路の場合は自ノードの更新データ作成時とデータフレーム受信直後、復路の場合はデータフレーム受信直後に全ノードでブロック毎にエラー検出・訂正を行なう。
ひとつでも訂正不可能なエラーが発生していれば、データフレーム全体をエラーとする。データフレーム全体をエラーとする場合、訂正不可能なエラーが発生したブロックまでのデータフレームは次のノードへ送信し、最終的にマスターノードに送信される。マスターノードにエラーが発生するまでのブロックが送信されることで、マスターノードはデータフレームにエラーが発生したことを知ることができる。訂正不可能なエラーが発生したブロックより後の部分については、エラーと判定すれば次ノードへの送信を止める。
【００７１】
属性値データ部については、復路に他ノードの更新データＤを読み取る際に、データフレーム全体ではなく属性値データ毎にエラー検出・訂正を行なう。訂正不可能なエラーが発生していれば、その属性値データをエラーとする。ひとつの属性値データにエラーが発生しても、データフレーム全体をエラーとはしない。属性値データをエラーとする場合でも、データフレーム全体を次ノードに送信し、最終的にマスターノードに送信される。
【００７２】
マスターノードは還ってきたデータフレームを点検し、属性値データに訂正不可能なエラーが発生している場合は、再送信を行なうことが決定次第、該属性値データのみを指定したデータフレームを再送信する。再送信のため、新たにデータベースから読み込んだ属性値データではなく、前回に送信した属性値データと同じものを送信する。データＩＤ，データ長は属性値データとは分離してヘッダ部に置かれているので、各ノードは属性値データの格納位置を知ることができる。
【００７３】
再送信する際、ひとつの更新データを複数回書き込むように指定したり、データ長を大きくすることで、冗長度を上げることができる。更新データＤを複数回書き込むときは、バーストエラー対策のため、格納位置を離す。
各ノードは、往路に自ノードの更新データＤが指定されていれば書き込み、ループバックノードで折り返し、復路に他ノードの更新データＤを読み取っていく。ただし、ヘッダ部に訂正不可能なエラーが発生している場合には、マスターノードは更新データＤを指定しない。
【００７４】
上述したように、各データベース分配ノード４は更新用データフレームから他ノードのＥＣＵ２の更新用データを読み込み、データベース７に記録する。
次に、他ノードの更新用データを自ノードに接続されたＥＣＵ２に送信するタイミングについて説明する。
【００７５】
ＥＣＵ２は、出力タイミングテーブルＴに設定されたタイミングに基づいて、データ出力手段２３を介して更新データＤをデータベース７から受け取る。
データ出力手段２３は前記メモリ１２内の出力タイミング設定テーブルＴに従って、ＥＣＵ２…が必要とするタイミングにおいて更新データＤ…を出力することができる。また、各ＥＣＵ２…からの即時出力要求Ｒａを入力したときは、即時出力の要求に応じてデータベース７内の指定された識別情報ＩＤの更新データＤをＣＡＮバス８側に出力する。なお、即時出力要求Ｒａには即時出力を要求する更新データＤを識別するための識別情報ＩＤが含まれている。
【００７６】
また、本実施例では出力タイミング設定手段２２において、各ＥＣＵ２からの出力要求Ｒｂを入力し、この出力要求Ｒｂに従って各データベース分配ノード４における出力タイミング設定テーブルＴをそれぞれ動的に更新することができるように構成されている。なお、この出力要求Ｒｂにも出力タイミングを設定する更新データＤを識別するための識別情報ＩＤと、その出力タイミングの設定値とが含まれ、出力タイミングを定めるためのパラメータも含まれることが好ましい。
【００７７】
図７は図１に示す車載データベースシステム１における前記出力タイミング設定テーブルＴ（とりわけ、データベース分配ノード４ｃ内のメモリ１２に記録された出力タイミング設定テーブルＴｃ）の例を示しており、この出力タイミング設定テーブルＴは、更新データＤの識別情報ＩＤ（個々の識別情報ＩＤを符号ＩＤａ，ＩＤｂ…を用いて表す）と、これらに対応する更新データＤの出力タイミングＴｉ（それぞれ、個々のタイミング設定値を符号Ｔｉａ，Ｔｉｂ…を用いて表す）と、各更新データＤの送信タイミングのパラメータＰａｒ（各パラメータをそれぞれ符号Ｐａｒａ，Ｐａｒｂ…を用いて表す)とを記録したものである。
【００７８】
図８に示す例では、識別情報ＩＤａが「車輪速」である属性値データＶＤａについて、出力タイミングＴｉａが「変化時出力」に設定されて、パラメータＰａｒａは「間引きなし」に設定されている。従って、前記処理手段１３が前記データ出力手段２３により前記出力タイミング設定テーブルＴｃに従ったタイミングで更新データＤ…を出力することにより、更新データＤをＥＣＵ２ｉが必要とするタイミングでＣＡＮバス８に出力することができる。すなわち、データベース７内の更新データＤにアップデートがあった時点で、ＥＣＵ２ｈ，２ｉ…（図１，２参照）側のＣＡＮバス８に出力することができる。
【００７９】
本例のように、出力タイミング設定テーブルＴにおいて、間引きなしで変化時出力の設定を行う設定を行う場合には、ＥＣＵ２ｉはＥＣＵ２ａからの更新データＤを、データベース８の更新にかかる僅かな遅延を除いて、リアルタイムに受け取ることができる。しかも、車輪速の測定値に変化がないときには、その更新データＤをＣＡＮバス８に出力しないことによって、意味のない更新データＤの出力を抑えることができる。
【００８０】
なお、前記出力タイミングＴｉとして「リアルタイム出力」を設定し、更新データＤの値に変化がなくてもＥＣＵ２から入力された更新データがある毎に、更新データＤをＣＡＮバス８に出力するようにしてもよい。これによって、更新データＤの供給側と受取側のＥＣＵ２はデータベース７を間に介していることを意識することなく、直結的な感覚で更新データＤの受け渡しを行うことができる。
【００８１】
逆に、前記タイミングＴｉとして「所定間隔出力」を設定し、各供給側ＥＣＵ２からアップデートされる更新データＤを幾らか間引いて、受取側ＥＣＵ２に出力するようにしてもよい。この場合、前記パラメータＰａｒとして受取側ＥＣＵ２が必要とする更新データＤの受取時間間隔を設定することにより、受取側ＥＣＵ２にとって必要な間隔（例えばパラメータＰａｒｃに示すように１秒ごとなど）で更新データＤを受けとることができる。これによって、ＣＡＮバス８を用いた無駄な通信を激減させることができる。
【００８２】
また、図７の例に示すように、出力タイミングＴｉｂとして「閾超過時出力」が設定されていてもよい。本例の場合、識別情報ＩＤｂが「操舵角」である更新データＤについて、閾超過時出力が設定されており、閾値はパラメータＰａｒｂにおいて「±５deg 毎」に設定されている。すなわち、前記データ出力手段２３が前記出力タイミング設定テーブルＴｃを参照することにより、更新データＤを例えば操舵角が５°間隔でＣＡＮバス８に出力することができる。これがＥＣＵ２ｉにより必要とされているタイミングである。
【００８３】
なお、図７に示す出力タイミング設定テーブルＴｃには出力タイミングＴｉとして、「変化時出力」「閾値超過時出力」「所定間隔出力」を開示し、上記説明において「リアルタイム出力」の設定が可能であることを説明しているが、これらの文言は本発明を分かりやすく示すものであり、本発明はこれらの設定値に限定されるものではなく、実際には出力タイミングの設定値は数値や記号であることが好ましい。同様にパラメータＰａｒも上述した記述が重要な要素ではないことはいうまでもない。
また、自ノードに接続されたＥＣＵ２に送信する更新データは、他ノードに接続されたＥＣＵ２の更新データだけでなく、自ノードに接続されたＥＣＵ２の更新データでもよい。
【図面の簡単な説明】
【００８４】
【図１】本発明の第一実施例に係る車載データベースシステムの構成を示す図である。
【図２】データベースの具体的な例を示す図である。
【図３】データベースのデータフォーマットを示す図である。
【図４】データベース分配ノードのデータベースの更新を行なう場合の説明図である。
【図５】データベース分配ノード内でデータフレームにデータを書き込む場合の説明図である。
【図６】全二重方式で送信を行なう場合のタイムチャートである。
【図７】半二重方式で送信を行なう場合のタイムチャートである。
【図８】出力タイミング設定テーブルの具体的な例を示す図である。
【符号の説明】
【００８５】
１  車載データベースシステム
２  ＥＣＵ
４  データベース分配ノード
５ａ、５ｂ、５ｃ  伝送路
６  センサ
７  データベース
９  ＬＡＮ
１１  ＣＡＮ通信手段１１
１２  イーサネット通信手段
２１  記録手段
２２  出力タイミング設定手段
２３  データ出力手段
２４  データベース更新手段
Ｄ１、Ｄ２、Ｄ３  データフレーム
【図１】
2007249616.tif 000003
【図２】
2007249616.tif 000004
【図３】
2007249616.tif 000005
【図４】
2007249616.tif 000006
【図５】
2007249616.tif 000007
【図６】
2007249616.tif 000008
【図７】
2007249616.tif 000009
【図８】
2007249616.tif 000010