(57)【特許請求の範囲】
【請求項１】
複数の他の電子制御ユニットが接続されているＣＡＮ通信用のバスに追加接続される電子制御ユニットであって、
前記他の電子制御ユニットから前記バスを介してメッセージを受信する受信部と、
受信したメッセージのドミナントあるいは／およびレセッシブを、前記ＣＡＮ通信で予め規定した複数種の伝送速度のうち最も早い伝送速度の１ビットのドミナントあるいは／およびレセッシブが連続する回数として検出するカウンタ部と、
前記予め規定した複数種の伝送速度において１ビットから最大５ビットまで連続した前記ドミナントあるいは／およびレセッシブの回数を複数の固有値として記憶している記憶部と、
前記記憶部で記憶された固有値の中から、前記カウンタ部で検出されたドミナントあるいは／およびレセッシブの回数と一致した固有値を求め、該固有値から前記ＣＡＮ通信用のバスの伝送速度を判定する判定部と、
前記判定部で判定したバスの伝送速度でメッセージを送信する送信部と、
を備えていることを特徴とするＣＡＮ通信用バスに接続される電子制御ユニット。
【請求項２】
前記複数種の伝送速度は１２５ｋｂｐｓ、２５０ｋｂｐｓ、５００ｋｂｐｓ、１Ｍｂｐｓであり、
前記カウンタ部は、受信したメッセージのドミナントあるいは／およびレセッシブを、１Ｍｂｐｓの伝送速度の１ビットのドミナントあるいは／およびレセッシブが連続する回数として検出する請求項１に記載の電子制御ユニット。
【請求項３】
前記記憶部は、前記カウンタ部で計測されるカウンタ値のうち最小値を記憶する領域を備えると共に、前記テーブルには前記複数の伝送速度毎にＣＡＮバスが1ビットのドミナントである場合に前記カウンタ部が取る値を予め記憶しており、
前記電子制御ユニットが１つのメッセージの受信を開始してから終了するまでの時間内に、前記判別部が前記伝送速度を判別できない場合には、
前記判別部は、前記記憶部で記憶したカウンタ値の最小値と、前記テーブルの値を比較して、一致した場合の伝送速度を前記ＣＡＮ通信用のバスの伝送速度と判別する請求項１または請求項２に記載の電子制御ユニット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車載用の電子制御ユニットに関し、詳しくは車載用通信システムに接続されている電子制御ユニットが、他の電子制御ユニットとメッセージを送受信する際の伝送速度を検知するものである。
【背景技術】
【０００２】
従来、車両には、車載機器を制御する電子制御ユニット（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ：以下、ＥＣＵと称す）を多重通信用バスを介して接続してネットワークを構築し、ＥＣＵ間でメッセージを送受信する車載用通信システムが採用されている。前記車載用通信システムでは、予め伝送速度（ビット・レート）が定められており、同一のバスに接続された全てのＥＣＵは該伝送速度に基づいてメッセージの送受信を行っている。
【０００３】
車載用通信システムの伝送速度は、車種の違いや車載用通信システムの用途などにより異なっている。通常、ＥＣＵは、接続される車載用通信システムの伝送速度に合わせて製造されており、対応する伝送速度と異なる伝送速度の通信システムに接続した場合には、該ＥＣＵは動作することができない。
しかし、車載用通信システムには、車種の違い等によって伝送速度が異なっていても同じ機能を備えたＥＣＵが接続される場合がある。この場合、同じ機能であるにも関わらず、各伝送速度に対応したＥＣＵを製造しなければならないため、ＥＣＵの品番が増えて管理が煩雑になる。
【０００４】
このため、ＥＣＵに通信システムの伝送速度を検出する機能を持たせることが望まれている。ＥＣＵが該伝送速度に対応するよう自ＥＣＵ内を自動設定することで、同じ機能を備えたＥＣＵを車載用通信システムの伝送速度によらず共用化することができる。
そこで、ＥＣＵが通信システムの伝送速度を検出する種々の方法が提案されている。特表２００４−５３８６８７号公報（特許文献１）においては、機器が送信するデータの最初のフレームに伝送速度検出用の複数ビットのデータ値を格納しており、受信側の機器は該データ値を受信する際に、受信にかかる時間を測定し伝送速度を決定している。
また、特開平１１−４１３２３号公報（特許文献２）では、通信端末は予め登録された複数の伝送速度で順に相手装置に伝送速度の設定要求信号を送信している。相手装置から設定応答信号を受信した場合には、このとき設定されている伝送速度で相手装置とその後の通信を開始している。相手装置から設定応答信号がない場合には、相手装置から設定応答信号を受信するまで伝送速度を変えて設定要求信号を送信する。
【０００５】
しかし、特許文献１においては、機器が送信するデータに伝送速度検出用のデータ値を追加しなければならず、送信機器内での処理が増加すると共に機器間で送受信されるデータ量が多くなるという問題がある。
また、特許文献２においては、通信端末は伝送速度を検知するためだけに用いる設定要求信号を伝送速度が判別するまでに数多く送信することになり、バスの通信負荷を増大させるという問題がある。また、相手装置から設定応答信号がない設定要求は全て通信システムのエラーとなるという問題がある。
【０００６】
【特許文献１】特表２００４−５３８６８７号公報
【特許文献２】特開平１１−４１３２３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明は、前記問題に鑑みてなされたもので、電子制御ユニットが、新たなデータを追加したり不要なデータを送信することなしに、他の電子制御ユニットからメッセージを受信するだけで伝送速度を検出することを課題としている。
【課題を解決するための手段】
【０００８】
前記課題を解決するため、本発明は、複数の他の電子制御ユニットが接続されているＣＡＮ通信用のバスに追加接続される電子制御ユニットであって、
前記他の電子制御ユニットから前記バスを介してメッセージを受信する受信部と、
受信したメッセージのドミナントあるいは／およびレセッシブを、前記ＣＡＮ通信で予め規定した複数種の伝送速度のうち最も早い伝送速度の１ビットのドミナントあるいは／およびレセッシブが連続する回数として検出するカウンタ部と、
前記予め規定した複数種の伝送速度において１ビットから最大５ビットまで連続した前記ドミナントあるいは／およびレセッシブの回数を複数の固有値として記憶している記憶部と、
前記記憶部で記憶された固有値の中から、前記カウンタ部で検出されたドミナントあるいは／およびレセッシブの回数と一致した固有値を求め、該固有値から前記ＣＡＮ通信用のバスの伝送速度を判定する判定部と、
前記判定部で判定したバスの伝送速度でメッセージを送信する送信部と、
を備えていることを特徴とするＣＡＮ通信用バスに接続される電子制御ユニットを提供している。
具体的には、前記複数種の伝送速度は１２５ｋｂｐｓ、２５０ｋｂｐｓ、５００ｋｂｐｓ、１Ｍｂｐｓであり、
前記カウンタ部は、受信したメッセージのドミナントあるいは／およびレセッシブを、１Ｍｂｐｓの伝送速度の１ビットのドミナントあるいは／およびレセッシブが連続する回数として検出している。
【０００９】
本発明のＥＣＵは、ＣＡＮバスを介して複数のＥＣＵが接続された車載用通信システムに新たに接続された場合に、他のＥＣＵとメッセージを送受信するための伝送速度を判別している。一般的に、ＣＡＮプロトコルで用いられる伝送速度は１２５ｋｂｐｓ（ｂｉｔｓ  ｐｅｒ  ｓｅｃｏｎｄ）、２５０ｋｂｐｓ、５００ｋｂｐｓ、１Ｍｂｐｓであるため、本発明のＥＣＵには、該４つの伝送速度が予め記憶されている。本発明のＥＣＵは、ＣＡＮバスを介して他のＥＣＵから受信するメッセージを用いて、ＣＡＮバスの伝送速度を判別する。
【００１０】
ＥＣＵがＣＡＮバスを介して他のＥＣＵからメッセージを受信する際、具体的には、メッセージを送信するＥＣＵは、ＣＡＮバスのレベルをドミナントまたはレセッシブに変化させており、受信するＥＣＵは該ＣＡＮバスのレベルを検知することでメッセージを受信している。ＣＡＮバスのレベルが変化する最小単位は１ビットである。
１ビットの周期は伝送速度によって異なっており、例えば伝送速度が１Ｍｂｐｓの場合は１μｓｅｃ、伝送速度が１２５ｋｂｐｓの場合は８μｓｅｃである。
【００１１】
カウンタは、予め定めた複数の伝送速度のうち最も早い伝送速度である１Ｍｂｐｓの１ビットの周期、即ち１μｓｅｃ毎にＣＡＮバスのレベルを検知し、同じレベルが連続する回数をカウントしている
また、ＣＡＮプロトコルにおいては、同じレベルのビットは６ビット以上連続せず、また、ＣＡＮバスのレベルの変化の最小単位は１ビットであるため、カウンタが各伝送速度において同じレベルが連続する回数をカウントしたときに、各伝送速度におけるカウンタ値の取りうる値には制約がある。例えば、伝送速度が１２５ｋｂｐｓの場合、カウンタ値は１ビットのみ同じレベルが連続した場合は８、２ビット同じ値が連続した場合は１６であり、６ビット以上連続しないため、８、１６、２４、３２、４０のいずれかの値をとる。即ち、各伝送速度において、カウンタ値は、ＣＡＮバスが１ビットのみ同じレベルが連続した場合にカウンタが取りうる値の１倍から５倍の値となる。
【００１２】
このとき、各伝送速度におけるカウンタ値には、各伝送速度でのみ取りうる固有の値が存在する。
そこで、各伝送速度で取りうる固有の値をあらかじめテーブルとして記憶しておき、カウンタがＣＡＮバスに同じレベルが連続する回数をカウントし、判別部が該カウンタ値とテーブルの固有値を比較する。該カウンタ値と固有値が一致した場合には、該固有値を取る伝送速度を、ＣＡＮバスの伝送速度であると判別することができる。
【００１３】
このように、本発明のＥＣＵは、他のＥＣＵから受信するメッセージによって変動するＣＡＮバスのレベルを検知し、同じレベルが連続する回数をカウントすることでＣＡＮバスの伝送速度を検知している。このため、ＥＣＵは、ＥＣＵ間で通常送受信されるメッセージを受信するだけで伝送速度を検知することができ、従来技術のようにメッセージに新たなデータを追加したり、伝送速度検知のためだけにメッセージを送信する必要がない。
従って、本発明のＥＣＵを通信システムに新たに接続した場合、ＥＣＵはＣＡＮバスの伝送速度を他のＥＣＵから受信するメッセージによって判別し、送信部は以後のメッセージの送信を判別した伝送速度で行うことができる。このため、同じ機能を備えるＥＣＵを伝送速度毎に製造する必要がなく、伝送速度が異なる通信システムに接続される該ＥＣＵを共用化することができる。
【００１４】
前記記憶部は、前記カウンタ部で計測されるカウンタ値のうち最小値を記憶する領域を備えると共に、前記テーブルには前記複数の伝送速度毎にＣＡＮバスが1ビットのドミナントである場合に前記カウンタ部が取る値を予め記憶しており、
前記電子制御ユニットが１つのメッセージの受信を開始してから終了するまでの時間内に、前記判別部が前記伝送速度を判別できない場合には、
前記判別部は、前記記憶部で記憶したカウンタ値の最小値と、前記テーブルの値を比較して、一致した場合の伝送速度を前記ＣＡＮ通信用のバスの伝送速度と判別することが好ましい。
【００１５】
ＥＣＵのカウンタ値が固有値となることがない場合には、メッセージには必ず１ビットのドミナントが発生することを利用し、伝送速度の判別を行う。
メッセージのフォーマットはＣＡＮプロトコルにより定められており、必ず１ビットのドミナントが表れるＡＣＫスロットが存在する。即ち、ＥＣＵはメッセージを最後まで受信すると、必ず１ビットのＡＣＫスロットを受信している。
【００１６】
また、ＣＡＮバスのレベルは１ビットの間は常に同じレベルであるため、ＣＡＮバスのレベルが１ビットのみ同じレベルであった場合のカウンタ値は、各伝送速度におけるカウンタ値の最小値となる。この値を予めテーブルに備えている。
さらに、カウンタで計測されるカウンタ値のうち、最小値を記憶する領域を記憶部に備えている。ＡＣＫスロットを受信したときのカウンタのカウンタ値は、ＥＣＵがメッセージの受信を開始してから終了するまでの間にカウンタが取るカウンタ値の最小値となり、記憶部に記憶される。
【００１７】
ＥＣＵがメッセージの受信を開始してから終了するまでの時間内に、判別部が前記伝送速度を判別できない場合には、記憶部に記憶された最小値と、テーブルに記憶された各伝送速度におけるカウンタ値の最小値とを比較し、一致したときの伝送速度を、ＥＣＵが接続された通信システムのＣＡＮバスの伝送速度と判別する。
【００１８】
このように、メッセージには必ず１ビットのドミナントが発生することを利用し、カウンタのカウンタ値のうち１ビットのドミナントを受信したときに記憶部に記憶された最小値と、テーブルに記憶された各伝送速度におけるカウンタ値の最小値とを比較することで、通信システムのＣＡＮバスの伝送速度を判別することができる。
【発明の効果】
【００１９】
前述したように、本発明の電子制御ユニットによれば、他のＥＣＵから受信するメッセージによって変動するＣＡＮバスのレベルを検知し、同じレベルが連続する回数をカウントすることで、ＣＡＮバスの伝送速度を検知することができる。
このため、ＥＣＵは、ＥＣＵ間で通常送受信されるメッセージを受信するだけで伝送速度を検知することができ、従来技術のようにメッセージに新たなデータを追加したり、伝送速度検のためだけにメッセージを送信する必要がない。
さらに、伝送速度が異なる通信システムに接続されるＥＣＵのうち、同じ機能を備えるＥＣＵを伝送速度毎に製造する必要がなく、共用化することができる。
【発明を実施するための最良の形態】
【００２０】
本発明の実施形態を図面を参照して説明する。
図１乃至図７は本発明の第１実施形態を示す。
本発明の電子制御ユニット（ＥＣＵ）１０は、ＣＡＮバス３０（以下、バスと称す）を介して他の複数のＥＣＵ１０と接続して車載用通信システム４０となるネットワークを形成し、他のＥＣＵ１０とメッセージＭの送受信を行うものである。通信プロトコルはＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）である。
本実施形態では、１つのバス３０に２つのＥＣＵ１０Ｂ，１０Ｃが接続された車載用通信システムにＥＣＵ１０Ａが新たに接続されたものとしている。一般的にＣＡＮプロトコルで用いられる伝送速度は１２５ｋｂｐｓ、２５０ｋｂｐｓ、５００ｋｂｐｓ、１Ｍｂｐｓのいずれかであるため、ＥＣＵ１０Ａは、該伝送速度のなかから、他のＥＣＵ１０とメッセージＭの送受信を行うために適切な伝送速度を選択している。
【００２１】
図１に示すように、ＥＣＵ１０Ａは、受信部及び送信部を構成する送受信部１１と、判別部を構成する制御部１２と、記憶部１３と、カウンタ１４からなる。
送受信部１１は制御部１２と接続しており、バス３０を介して他のＥＣＵ１０Ｂ，１０ＣとメッセージＭを送受信する。他のＥＣＵ１０Ｂ，１０ＣがメッセージＭを送信すると、バス３０のレベルがドミナントまたはレセッシブに変化するので、送受信部１１は該バス３０のレベルを検知することでメッセージＭを受信する。送受信部１１が他のＥＣＵ１０Ｂ，１０ＣにメッセージＭを送受信する場合は、送受信部１１がバス３０のレベルを変化させる。
【００２２】
カウンタ１４はドミナントカウンタ１４Ａおよびレセッシブカウンタ１４Ｂからなり、ドミナントカウンタ１４Ａおよびレセッシブカウンタ１４Ｂは送受信部１１と接続すると共に制御部１２と接続している。ドミナントカウンタ１４Ａは、送受信部１１が検知しているバス３０のレベルのうち、ドミナントレベルが連続する回数を所定周期でカウントしており、レセッシブカウンタ１４Ｂはレセッシブレベルが連続する回数を所定周期でカウントしている。所定周期は、予め定められた複数の伝送速度のうち最も早い伝送速度の１ビット周期であり、本実施形態では１Ｍｂｐｓの伝送速度の１ビット周期である１μｓｅｃである。また、カウント値を制御部１２に送信している。
【００２３】
記憶部１３は制御部１２と接続しており、テーブルＴを記憶している。テーブルＴには、図４に示すように、１２５ｋｂｐｓ、２５０ｋｂｐｓ、５００ｋｂｐｓ、１Ｍｂｐｓの伝送速度毎にカウンタ１４が取り得る固有値が記載されていると共に、複数の伝送速度毎にＣＡＮバス３０のレベルが1ビットのドミナントである場合にカウンタ１４が取り得る最小値が記載されている。なおテーブルＴの詳細は後述する。
また、記憶部１３には、カウンタ１４で計測されるカウンタ値を記憶するカウンタ値記憶領域１３ａを備えており、該領域１３ａは、ドミナントカウンタ１４Ａのカウンタ値を記憶するドミナントカウンタ値記憶領域１３ａ−１と、レセッシブカウンタ１４Ａのカウンタ値を記憶するレセッシブカウンタ値記憶領域１３ａ−２に分かれている。
さらに、ドミナントカウンタ１４Ａのカウンタ値のうち、最小値を記憶するカウンタ最小値記憶領域１３ｂを備えている。
【００２４】
制御部１２は、記憶部１３からテーブルＴを読み出すと共にカウンタ１４からカウンタ値を受信し、テーブルＴに記憶した複数の伝送速度毎の固有値と前記カウンタ１４のカウンタ値を比較し、一致した場合の伝送速度を前記他の電子制御ユニットとメッセージＭの送受信を行う伝送速度であると判別している。
また、ＥＣＵ１０Ａが１つのメッセージＭの受信を開始してから終了するまでの時間内に、固有値とカウンタ値を比較しても伝送速度を判別できない場合には、メッセージＭには必ず１ビットのドミナントが表れることを利用し、伝送速度の判別を行っている。具体的には、１のメッセージＭの受信の間に記憶部１３のカウンタ最小値記憶領域１３ｂに記憶したドミナントカウンタ１４Ａのカウンタ値の最小値と、前記テーブルＴの最小値を比較して、一致した伝送速度を他のＥＣＵ１０とメッセージＭの送受信を行う伝送速度であると判別している。
【００２５】
図５にメッセージＭのフォーマットを示す。メッセージＭは、メッセージＭのスタートを示すＳＯＦ５１と、メッセージＭの識別子を格納するアービトレーションフィールド５２と、データ長を格納するコントロールフィールド５３と、メッセージＭのデータを格納するデータフィールド５４と、伝送誤りをチェックするＣＲＣフィールド５５と、正常受信確認のためのＡＣＫフィールド５６と、メッセージＭの終了を示すＥＯＦ５７からなる。
１つのメッセージＭのビット数は、最大で１２７ビット＋α（スタッフビット）である。ＥＣＵ１０Ａが１つのメッセージのＳＯＦ５１からＥＯＦ５７を受信する間にカウンタ１４がバスレベルを検知する回数は、バス３０の伝送速度が１２５ｋｂｐｓである場合に最大となる。本実施形態では１Ｍｂｐｓの伝送速度の１ビット周期である１μｓｅｃの周期でバスレベルを検知しているため、スタッフビットを考慮するとカウンタ１４は最大で１１５２回バスレベルを検知する。
【００２６】
ここで、ＣＲＣフィールドの最後の１ビットはバスレベルがレセッシブ（Ｒ）となるＣＲＣデリミタ５５ａである。また、ＡＣＫフィールドは１ビットのＡＣＫスロット５６ａと１ビットのＡＣＫデリミタ５６ｂからなり、ＡＣＫスロット５６ａはバスレベルがドミナント（Ｄ）、ＡＣＫデリミタはバスレベルがレセッシブ（Ｒ）となっている。
即ち、メッセージＭには、ＡＣＫスロット５６ａにおいて、必ず１ビットのドミナントが発生することになる。
【００２７】
次に、ＥＣＵ１０Ａが伝送速度を判別する原理について説明する。
メッセージＭを受信するＥＣＵ１０ＡはＣＡＮバス３０のレベルを検知することでメッセージＭを受信しており、ＣＡＮバス３０のレベルが変化する最小単位は１ビットである。図２に示すように、１ビットの周期は伝送速度によって異なり、伝送速度が１Ｍｂｐｓの場合は１μｓｅｃ、伝送速度が１２５ｋｂｐｓの場合は８μｓｅｃ、伝送速度が２５０ｋｂｐｓの場合は４μｓｅｃ、伝送速度が５００ｋｂｐｓの場合は２μｓｅｃである。
【００２８】
ここで、カウンタ１４は、最も早い伝送速度である１Ｍｂｐｓの１ビットの周期、即ち１μｓｅｃ毎にＣＡＮバス３０のレベルを送受信部１１を介して検知し、同じレベルが連続する回数をカウントしている。
例えば、通信システムの伝送速度が１２５ｋｂｐｓで、ＣＡＮバス３０のレベルが１ビットのみ同じレベルであった場合、１ビットの周期は８μｓｅｃであり、カウンタ１４は１μｓｅｃ毎にＣＡＮバス３０のレベルを検知しているので、カウンタ値は８となる。同様に、伝送速度が２５０ｋｂｐｓでＣＡＮバス３０のレベルが１ビットのみ同じレベルであった場合、カウンタ値は４となり、伝送速度が５００ｋｂｐｓの場合はカウンタ値は２となる。
【００２９】
さらに、ＣＡＮプロトコルにおいては、同じレベルのビットは６ビット以上連続せず、また、ＣＡＮバス３０のレベルの変化の最小単位は１ビットであるため、各伝送速度における各カウンタ１４のカウンタ値の取りうる値には制約がある。
【００３０】
例えば、伝送速度が１２５ｋｂｐｓの場合、カウンタ値は１ビットのみドミナントレベル又はレセッシブレベルが連続した場合は８、２ビット同じ値が連続した場合は１６、３ビット連続すると２４、４ビット連続すると３２、５ビット連続すると４０である。また、６ビット以上連続しないため、８、１６、２４、３２、４０のいずれかの値をとる。即ち、各伝送速度において、カウンタ値は、ＣＡＮバス３０が１ビットのみ同じレベルが連続した場合にカウンタ１４が取りうるカウンタ値の１倍から５倍の値となる。
図３に、各伝送速度においてカウンタ１４が取りうるカウンタ値を示す。ドミナントカウンタ１４Ａ、レセッシブカウンタ１４Ｂのどちらも、図３に示すカウンタ値のいずれかを取る。
【００３１】
このとき、各伝送速度におけるカウンタ値には、各伝送速度でのみ取りうる固有値がある。例えば、カウンタ値１は伝送速度が１Ｍｂｐｓのときのみ取りうる値であり、他の伝送速度の場合にはカウンタ値が１となることはない。
そこで、各伝送速度で取りうる固有値だけを取り出して図４に示すテーブルＴとし、記憶部１３に記憶している。
【００３２】
制御部１２は、カウンタ１４から送信された該カウンタ値とテーブルＴの固有値を比較し、該カウンタ値と固有値が一致した場合には、該固有値を取る伝送速度を、他の電子制御ユニットとメッセージＭの送受信を行う伝送速度であると判別している。
【００３３】
しかし、該カウンタ値とテーブルＴの固有値を比較するだけでは、伝送速度を判別できない場合がある。例えば、カウンタ値が４と８のみを繰り返す場合、４、８は固有値ではないため制御部１２は伝送速度を判別できない。
そこで、メッセージＭには必ず１ビットのドミナントが発生することを利用し、伝送速度の判別を行う。
【００３４】
ＣＡＮバス３０のレベルが１ビットのみ同じレベルであった場合、各伝送速度においてカウンタ値が取りうる値は最小となる。即ち、図３において、カウンタ値は取りうるカウンタ値のうち最小値を取ることになる。このため、記憶部１３に記憶したテーブルＴには、図４に示すように、各伝送速度毎に最小値を記載している。
【００３５】
また、ＥＣＵ１０はメッセージＭを最後まで受信すると、必ず１ビットのドミナントとなるＡＣＫスロット５６ａを受信しているため、ＡＣＫスロット５６ａを受信したときのドミナントカウンタ１４Ａのカウンタ値は、ＥＣＵ１０がメッセージＭの受信を開始してから終了するまでの間にドミナントカウンタ１４Ａが取るカウンタ値の最小値となり、記憶部１３のカウンタ最小値記憶領域１３ｂに記憶される。
【００３６】
そこで、ＥＣＵ１０がメッセージＭの受信を開始してから終了するまでの時間内に、制御部１２が伝送速度を判別できない場合には、カウンタ最小値記憶領域１３ｂに記憶された値と、テーブルＴに記憶された各伝送速度におけるカウンタ値の最小値とを比較し、一致したときの伝送速度を、ＥＣＵ１０が接続された通信システムの伝送速度と判別する。
【００３７】
次に、本発明のＥＣＵ１０Ａが伝送速度を判別する動作について、図６乃至図８のフローチャートを用いて説明する。
該ＥＣＵ１０の送受信部１１はバス３０のレベルを検知してメッセージを受信している。
ステップＳ１では、カウンタ１４は、送受信部１１を介して、１μｓｅｃ毎にバス３０のレベルがドミナントか否かを検知している。ドミナントであればステップＳ２に進む。レセッシブの場合はステップＳ１を繰り返す。
ステップＳ２では、カウンタ１４はドミナントカウンタ１４Ａのカウンタ値に１を加えている。また、メッセージが始まった事を記憶する。
即ち、ステップＳ１とステップＳ２において、ドミナントであるメッセージＭのＳＯＦ５１を検知し、メッセージの開始を検知して記憶している。
【００３８】
図７のステップＳ３では、カウンタ１４は次のビットがドミナントか否かを検知している。ドミナントの場合はステップＳ４に進む。レセッシブの場合はステップＳ１０に進む。
また、カウンタ１４は、ステップＳ３を繰り返した回数、即ちバスレベルを検知した回数を記憶している。
ステップＳ４では、カウンタ１４はドミナントカウンタ１４Ａのカウンタ値に１を加えており、ドミナントのバスレベルが連続する回数をカウントしている。
【００３９】
ステップＳ５では、制御部１２はレセッシブカウンタ１４Ｂのカウンタ値を読み出し、１以上か否かを判断している。カウンタ値が１以上の場合とは、バスレベルがレセッシブからドミナントに変化した直後であって直前までバスレベルがレセッシブであった状態であり、レセッシブカウンタ１４Ｂにはバスレベルがドミナントに変化する直前にレセッシブが連続した回数が記憶されている。０である場合とは、カウンタ１４によるドミナントの検知が２以上続いている状態である。
カウンタ値が１以上の場合、レセッシブカウンタ１４Ｂのカウンタ値から伝送速度を判別するためにステップＳ６に進む。０であれば図８のステップＳ２０へ進む。
【００４０】
ステップＳ６では、制御部１２は、レセッシブカウンタ１４Ｂのカウンタ値をレセッシブカウンタ値記憶領域１３ａ−２に記憶させている。
ステップＳ７では、カウンタ１４はレセッシブカウンタ１４Ｂのカウンタ値をゼロにクリアしている。
ステップＳ８では、制御部１２は、レセッシブカウンタ値記憶領域１３ａ−２に記憶した値とテーブルＴの固有値を比較している。一致する値がある場合はステップＳ９に進む。ない場合はステップＳ３に戻る。
ステップＳ９では、制御部１２は該固有値を取る伝送速度を、ＥＣＵ１０が他のＥＣＵ１０とメッセージＭの送受信を行うための伝送速度であると判別する。また、制御部１２はカウンタ１４の処理を停止してフローチャートを終了する。
【００４１】
ステップＳ１０では、ステップＳ３で次ビットがレセッシブであると判断されたので、レセッシブカウンタ１４Ｂのカウンタ値に１を加えており、レセッシブのバスレベルが連続する回数をカウントしている。
ステップＳ１１では、制御部１２はドミナントカウンタ１４Ａのカウンタ値を読み出し、１以上か否かを判断している。カウンタ値が１以上の場合とは、バスレベルがドミナントからレセッシブに変化した直後であって直前までバスレベルがドミナントであった状態であり、ドミナントカウンタ１４Ａにはバスレベルがレセッシブに変化する直前にドミナントが連続した回数が記憶されている。０である場合、カウンタ１４によるレセッシブの検知が２以上続いている状態である。
１以上の場合、ドミナントカウンタ１４Ａのカウンタ値から伝送速度を判別するためにステップＳ１２に進む。０であれば図８のステップＳ２０へ進む。
【００４２】
ステップＳ１２では、制御部１２は、ドミナントカウンタ１４Ａのカウンタ値をドミナントカウンタ値記憶領域１３ａ−１に記憶させている。
ステップＳ１３では、ドミナントカウンタ値記憶領域１３ａ−１に記憶した値が、既にカウンタ最小値記憶領域１３ｂに記憶された値より小さいか否かを判断している。即ち、ドミナントカウンタ１４Ａのカウンタ値が、これまでカウントした値の中で最小値であるか否かを判断している。小さい場合はステップＳ１４に進む。同じか大きい場合にはステップＳ１５に進む。
ステップＳ１４は、ドミナントカウンタ値記憶領域１３ａ−１に記憶した値を、カウンタ最小値記憶領域１３ｂに記憶している。
ステップＳ１５では、カウンタ１４はドミナントカウンタ１４Ａのカウンタ値をゼロにクリアしている。
ステップＳ１６では、制御部１２は、ドミナントカウンタ値記憶領域１３ａ−１に記憶した値とテーブルＴの固有値を比較している。一致する値がある場合はステップＳ９に進む。ない場合はステップＳ３に戻る。
【００４３】
図８のステップＳ２０は、制御部１２は、送受信部１１がメッセージＭを最後まで受信したか否かを判断している。具体的には、メッセージＭの開始を記憶してから、カウンタ１４がステップＳ３を繰り返した回数、即ちバスレベルを検知した回数が１１５２回を超えたか否かによりメッセージＭの受信完了を判断している。最後まで受信していない場合は図７のステップＳ３に戻る。最後まで受信した場合はステップＳ２１に進む。
ステップＳ２１では、制御部１２は、ステップＳ１４でカウンタ最小値記憶領域１３ｂに記憶した値をテーブルＴの最小値と比較し、伝送速度を判別している。
【００４４】
本発明によれば、他のＥＣＵ１０から受信するメッセージＭによって変動するＣＡＮバス３０のレベルを検知し、同じレベルが連続する回数をカウントすることで、通信システムの伝送速度を検知することができる。
このため、ＥＣＵ１０は、ＥＣＵ１０間で通常送受信されるメッセージＭを受信するだけで伝送速度を検知することができ、従来技術のようにメッセージＭに新たなデータを追加したり、伝送速度検知のためだけに用いるメッセージＭを送信する必要がない。
さらに、伝送速度が異なる通信システムに接続されるＥＣＵ１０のうち、同じ機能を備えるＥＣＵ１０を伝送速度毎に製造する必要がなく、共用化することができる。
【図面の簡単な説明】
【００４５】
【図１】本発明である電子制御ユニットの第１実施形態を示す構成図である。
【図２】伝送速度判別の説明図である。
【図３】カウンタが取りうる値を伝送速度毎に示す図である。
【図４】テーブルを示す図である。
【図５】メッセージのフォーマットを示す図である。
【図６】メッセージの開始を検知するフローチャートである。
【図７】メッセージの伝送速度判別の動作を示すフローチャートである。
【図８】メッセージを最後まで受信して伝送速度判別の動作を示すフローチャートである。
【符号の説明】
【００４６】
１０  電子制御ユニット（ＥＣＵ）
１１  送受信部
１２  制御部
１３  記憶部
１３ａ  カウンタ記憶領域
１３ｂ  カウンタ最小値記憶領域
１４  カウンタ
１４Ａ  ドミナントカウンタ
１４Ｂ  レセッシブカウンタ
３０  ＣＡＮバス
５６ａ  ＡＣＫスロット
Ｍ  メッセージ
【図１】
0005064161.tif 000002
【図２】
0005064161.tif 000003
【図３】
0005064161.tif 000004
【図４】
0005064161.tif 000005
【図５】
0005064161.tif 000006
【図６】
0005064161.tif 000007
【図７】
0005064161.tif 000008
【図８】
0005064161.tif 000009