(57)【要約】【課題】回路規模を小さくできるようにした同期信号検出装置を提供する。【解決手段】同期信号仮検出部７が、２値のハイレベルとロウレベルとを順に繰り返して受信する前に１ビット長の２のＮ乗倍の長さで２値のロウレベルが続いたことを条件として受信した２値のレベルを仮同期信号として検出しているため、ロウレベルが１ビット長の２のＮ乗倍の長さ未満のときには全て仮同期信号として見なされることがなくなり、同期信号を検出するための煩雑な計算処理を行う頻度を少なくできる。【選択図】図１
2011172144.tif 000002
【特許請求の範囲】
【請求項１】
１ビット長の２のＮ乗倍（Ｎは１以上の所定の整数）を超える所定ビット長以上で連続した２値の第１レベルが続いた後、当該２値の第２レベルと前記第１レベルとを前記１ビット長で順に繰り返して連続するバス信号について、前記１ビット長で順に繰り返すデータを同期信号として検出する同期信号検出装置であって、
前記２値の第２レベルと前記第１レベルとを順に繰り返して受信する前に前記１ビット長の２のＮ乗倍の長さで前記２値の第１レベルが続いたことを条件として仮同期信号として検出する同期信号仮検出部と、
前記同期信号仮検出部により仮同期信号として検出されてから前記所定ビット長以上で前記２値の第１レベルが続いたことが検出されたことを条件として同期信号のヘッダとして確定する同期信号確定部とを備えたことを特徴とする同期信号検出装置。
【請求項２】
前記同期信号仮検出部は、タイマと、記憶部と、比較部とを備え、
前記タイマは、前記２値の第２レベルから前記第１レベルに移行する時点から当該第１レベルから前記第２レベルに移行する時点までの計測値、および／または、前記第１レベルから前記第２レベルに移行する時点から、当該第２レベルから前記第１レベルに移行する時点までの計測値、を計測して記憶部に保持させ、
前記比較部は、前記記憶部に保持された前回の計測値と、前記タイマが計測した今回の計測値とを比較し、前記前回の計測値が前記今回の計測値の２のＮ乗倍以上であることを条件として、前記１ビット長の２のＮ乗倍の長さで前記２値の第１レベルが続いたと判定して仮同期信号として検出することを特徴とする請求項１記載の同期信号検出装置。
【請求項３】
前記２のＮ乗倍の値が、前記２値の第１レベルの所定ビット長の値を超えない最大数に設定されていることを特徴とする請求項１または２記載の同期信号検出装置。
【請求項４】
前記第２レベルから前記第１レベルに移行する時点から、当該第１レベルから前記第２レベルに移行する時点までの前記１ビット長に対応した計測値、および／または、前記第１レベルから前記第２レベルに移行する時点から、当該第２レベルから前記第１レベルに移行する時点までの前記１ビット長に対応した計測値、を計測するタイマと、
前記タイマにより計測された計測値の複数の平均値を算出することで前記１ビット長に対応した平均時間を算出する平均時間算出部とを備え、
前記同期信号確定部は、前記タイマにより検出された計測値について前記平均時間算出部により算出された１ビット長の平均時間で除した値が前記所定ビットに対応した値以上であることを条件として同期信号のヘッダとして確定することを特徴とする請求項１ないし３の何れかに記載の同期信号検出装置。
【請求項５】
前記第２レベルから前記第１レベルに移行する時点から、当該第１レベルから前記第２レベルに移行する時点までの前記１ビット長に対応した計測値、および／または、前記第１レベルから前記第２レベルに移行する時点から、当該第２レベルから前記第１レベルに移行する時点までの前記１ビット長に対応した計測値、を計測するタイマと、
前記タイマにより計測された計測値の複数の平均値を算出することで前記１ビット長に対応した平均時間を算出する平均時間算出部を備え、
前記平均時間算出部により算出された１ビット長の平均時間についてその逆数をボーレートとして算出するボーレート算出部を備えたことを特徴とする請求項１ないし４の何れかに記載の同期信号検出装置。
【請求項６】
前記タイマとしてＣＲ発振器を用いて構成したことを特徴とする請求項２ないし５の何れかに記載の同期信号検出装置。
【請求項７】
前記２値の第１レベルの所定ビット長は１１ビット長であり、
前記同期信号確定部は、前記タイマが連続して計測した８区間分の計測値を２の３乗ビット長、２の２乗ビット長、２の０乗ビット長に対応した値でそれぞれ除してからそれぞれの値を加算した１１ビット分の加算値を前記記憶部に保持された前回の計測値と比較して判定することを特徴とする請求項２ないし６の何れかに記載の同期信号検出装置。
【請求項８】
前記２の３乗ビット長、２の２乗ビット長、２の０乗ビット長に対応した値でそれぞれ除してからそれぞれの値を加算するときには、それぞれシフトレジスタを用いて除してからそれぞれの値を加算することを特徴とする請求項７記載の同期信号検出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、同期信号を検出するための同期信号検出装置に関する。
【背景技術】
【０００２】
マスタとスレーブとの間でバスを通じて通信を行うシステムが提供されている。このシステムにおいて同期信号を用いる通信プロトコルが数多く規定されている。スレーブは、マスタからスレーブに送信されたバス波形をモニタすることで当該信号が同期信号であることを精度良く判定している。
【０００３】
例えば、車載ＬＡＮの通信プロトコルの一例としてＬＩＮ（Local Interconnect Network）が挙げられる。このＬＩＮの仕様によれば、マスタノードから送信されるフレームのヘッダとして、１１ビット以上ロウレベルが継続するSynch Break Fieldの後に、一旦ハイレベルとなり、その後０ｘ５５となるSynch Fieldが続くように規定されている。Synch Fieldの後には、Identifier FieldやData Fieldが続く（例えば、特許文献１参照）。スレーブでは、この時間を基準クロックを用いて計数することにより１ビット時間の値を算出し、通信レートを得るようになっている。
【０００４】
特許文献１記載の技術思想によれば、タイマで計測したビットの計測値を第１〜第４記憶部に順次転送し、これらの記憶部に記憶された記憶情報を第１〜第３比較部で比較することに基いて、Synch Break Field、Synch Fieldであるか否かを判定している。
【０００５】
具体的には、当該特許文献１の第１の実施の形態では、第１比較部が第２記憶部の計測値と第３記憶部の計測値とを比較し、この比が１１以上である場合、第１条件を満たしたと判定し、第２比較部が第１記憶部の計測値と第２記憶部の計測値とを比較し、この差が誤差の範囲内である場合、第２条件を満たしたと判定し、これらの第１条件、第２条件の双方を満たした場合、Synch Break Field、Synch Fieldを確定している。また、ボーレート算出部が（第２記憶部の計測値Ｗ２０×分解能）の逆数をボーレートとして算出している。
【０００６】
また、第２の実施の形態では、第１比較部が第３記憶部の計測値と第４記憶部の計測値との比を計測し、この比が１１以上である場合に第１条件を満たしたと判定する。第２比較部が第２記憶部の計測値と第３記憶部の計測値との誤差を算出し、第３比較部が第１記憶部の計測値と第３記憶部の計測値との誤差を算出し、これらの差が誤差の範囲内である場合に第２条件、第３条件を満たしたと判定している。これらの第１〜第３条件を満たした場合、Synch Break Field、Synch Fieldを確定している。また、平均値算出部が、ロウレベルの３つのパルス幅の計測値の平均値を保持しているため、これらの第１〜第３条件を満たすときには、このボーレート算出部が（パルス幅の平均値×分解能）の逆数をボーレートとして算出し、これにより計測誤差を少なくしている。
【０００７】
また、この種の技術思想として特許文献２の技術思想も開示されている。この特許文献２記載の技術思想によれば、２値レベル信号が第１のレベルである期間に前後してそれぞれ検出される第２のレベルの期間を第１および第２の期間として算出し、第１および第２の期間の比が所定値以上であれば、第２の期間に続く信号を同期信号として同定し、第２の期間の逆数をボーレートとして設定し、その後の信号をIdentifier Fieldとして受信している。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００９−３０３１７８号公報
【特許文献２】特開２００６−３１１２３７号公報
【特許文献３】特表２００８−５１８４９７号公報
【特許文献４】特表２００６−５０３４４６号公報
【特許文献５】特開２００５−２７７９９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、特許文献１記載の技術思想を適用したとしても処理をビット毎に繰り返し行う必要を生じ、記憶部の記憶領域が多くなってしまい、この記憶部の内容に対して煩雑な処理を行う必要があり、例えばハードウェアで構成したときには回路規模が大きくなってしまう。
【００１０】
本発明は、上記事情に鑑みてなされたもので、その目的は、煩雑な処理を極力少なくして同期信号を検出できるようにした同期信号検出装置を提供することにある。
【課題を解決するための手段】
【００１１】
本発明は、１ビット長の２のＮ乗倍（Ｎは１以上の所定の整数）を超える所定ビット長以上で連続した２値の第１レベルが続いた後、当該２値の第２レベルと第１レベルとを１ビット長で順に繰り返して連続するバス信号について、１ビット長で順に繰り返すデータを同期信号として検出する同期信号検出装置を対象としている。
【００１２】
請求項１記載の発明によれば、同期信号仮検出部が、２値の第２レベルと第１レベルとを順に繰り返して受信する前に１ビット長の２のＮ乗倍の長さで２値の第１レベルが続いたことを条件として当該受信した２値のレベルを仮同期信号として検出している。このため、第１レベルが１ビット長の２のＮ乗倍の長さ未満のときには全て仮同期信号として見なされることがなくなり、同期信号を検出するため、煩雑な処理をする頻度が少なくなる。
【００１３】
同期信号確定部は、同期信号仮検出部により仮同期信号として検出されてから仮同期信号が所定ビット長で連続していることを条件として仮同期信号を同期信号として確定しているため、例えば規定のプロトコルに合わせた条件で同期信号を確定することができる。この場合、同期信号確定部は、同期信号として確定する対象データを仮同期信号のみとしているため、例えば規定のプロトコルに合わせた条件で同期信号の確定判定対象データを少なくできる。したがって煩雑な処理をする頻度が少なくなり、例えばハードウェアで構成したときには回路規模を縮小化できる。
【００１４】
請求項２記載の発明によれば、タイマは２値の第２レベルから第１レベルに移行する時点から当該第１レベルから第２レベルに移行する時点までの計測値、および／または、第１レベルから第２レベルに移行する時点から当該第２レベルから第１レベルに移行する時点までの計測値を計測して記憶部に保持させており、比較部は記憶部に保持された前回の計測値と、タイマが計測した今回の計測値とを比較し、前回の計測値が今回の計測値の２のＮ乗倍以上であることを条件として１ビット長の２のＮ乗倍の長さで２値の第１レベルが続いたと判定して仮同期信号として検出している。この場合、主として２のＮ乗倍の長さを検出するための機器、タイマ、記憶部、比較部を含んだ構成で仮同期信号として検出できるようになるため、簡単なハードウェア構成により実現することができ、回路規模を縮小化できる。
【００１５】
請求項３記載の発明によれば、２のＮ乗倍の値が、２値の第１レベルの所定ビット長の値を超えない最大数に設定されているため、同期信号仮検出部が仮同期信号として検出する頻度をより低くすることができ、同期信号確定部が煩雑な処理をする頻度をより少なくできる。
【００１６】
ところで、特許文献２の技術思想では、第１および第２の期間の比が所定値以上である場合に、第２の期間に続く２値レベル信号を同期信号として同定しているため、同期信号の検出精度が低くなってしまう。例えば、第１の期間と第２の期間のパルス幅の比は、所定値以上かもしれないものの、その後に続く同期信号が規定の通信プロトコルの規定に反している場合（例えば、０ｘ５５ｈではない場合）でも同期信号として認識してしまうため、正しいデータを受信できなくなる。
【００１７】
請求項４記載の発明によれば、次のように作用する。タイマは、第２レベルから第１レベルに移行する時点から当該第１レベルから第２レベルに移行する時点までの１ビット長に対応した計測値、および／または、第１レベルから第２レベルに移行する時点から当該第２レベルから第１レベルに移行する時点までの１ビット長に対応した計測値、を計測し、平均時間算出部は、タイマにより計測された計測値の複数の平均値を算出することで１ビット長に対応した平均時間を算出するため、たとえ１ビットのレベル長に変動があったとしても当該変動による検出精度のばらつきを抑制することができ、ばらつきの影響を極力除外して１ビット長の計測値を算出できる。
【００１８】
同期信号確定部は、タイマにより検出された計測値について平均時間算出部により算出された１ビット長の平均時間で除した値が所定ビットに対応した値以上であることを条件として所定ビット長で連続した２値の第１レベルを同期信号のヘッダとして確定しているため、たとえデータの１ビットのレベル長が変動したとしても当該変動に伴う検出精度のばらつきを抑制しながら同期信号を精度良く確定できる。
【００１９】
また、特許文献２記載の技術思想では、第２の期間の逆数をボーレートとして算出しているため、ボーレートの算出精度が低くなってしまう。
請求項５記載の発明によれば、ボーレート算出部は、平均時間算出部により算出された１ビット長の平均時間についてその逆数をボーレートとして算出するため、ボーレートの算出精度を向上できる。
【００２０】
請求項６記載の発明によれば、タイマとしてＣＲ発振器を用いて構成しているため安価に構成できる。特に、当該請求項６記載の発明を請求項４または５記載の発明に適用したときには平均時間算出部によりＣＲ発振器の発振周波数にばらつきがあったとしても当該影響を極力抑制できる。
【００２１】
請求項７記載の発明によれば、２値の第１レベルの所定ビット長が１１ビット長であったときに、同期信号確定部は、タイマが連続して計測した８区間分の計測値を２の３乗ビット長、２の２乗ビット長、２の０乗ビット長に対応した値でそれぞれ除してからそれぞれの値を加算した１１ビット分の加算値を記憶部に記憶された前回の計測値と比較して判定するため、３ビットシフト、２ビットシフト、０ビットシフトによる２値シフト演算し、それぞれの出力信号を加算するのみで実現することができ、回路規模を小さくすることができる。この場合、請求項８記載の発明のようにシフトレジスタを用いて除してからそれぞれの値を加算すると良い。
【図面の簡単な説明】
【００２２】
【図１】本発明の一実施形態におけるマスタ装置およびスレーブ装置のブロック構成図
【図２】ハードウェア構成の一例を示す電気的構成図
【図３】ＬＩＮの同期信号の構成を示す説明図
【図４】同期信号検出動作を概略的に示す流れ図（その１）
【図５】同期信号検出動作を概略的に示す流れ図（その２）
【図６】同期信号非検出時のタイミングチャート
【図７】同期信号検出時のタイミングチャート
【図８】比較例の説明図
【発明を実施するための形態】
【００２３】
以下、本発明の一実施形態について図１ないし図７を参照しながら説明する。
車両内の通信処理には、ＬＩＮ（Local Interconnect Network）プロトコルが適用されることがある。このＬＩＮプロトコルは、車載ＬＡＮの通信プロトコルの一種である。このＬＩＮでは、低コストの自動車ネットワークを実現するため、車載用の多重ネットワークを補完しながら、車載ネットワークの品質向上やコスト削減が図られている。
【００２４】
図３は、このＬＩＮの仕様の一部を表している。この図３に示すように、ＬＩＮでは、フレームの始まりを表すSynch Break Fieldと、その後に、一旦ハイレベル「Ｈ」となるビット、その後、「０１０１０１…（０ｘ５５：但し、「０」はロウレベル、「１」はハイレベル）」となるSynch Field、が続くように規定されている。ＬＩＮの仕様では、Synch Break Fieldは、１１ビット（所定ビット）以上のロウレベルが継続（連続）するデータとして規定されている。また、Synch Fieldでは、「０１０１０１…」のような第１レベル「０」とその逆レベルとなる第２レベル「１」とが例えば１０ビット繰り返されるデータとして規定されている。
【００２５】
図１は、データ受信装置および同期信号検出装置の要部のブロック構成を概略的に示しており、図２は、スレーブ装置のハードウェア構成についてその要部のブロック構成を概略的に示している。なお、図２に示すハードウェア構成図では、図１に示す機能的構成と同一機能を有する構成については、図１に付した符号と同一又は類似した符号を付して説明を省略する。
【００２６】
図１に示すように、バス１には、マスタ装置２、スレーブ装置３が接続されており、バス１を通じて両装置２および３間でバス信号を送受信する。スレーブ装置３は、車両のＥＣＵ（Electronic Control Unit）やセンサ、アクチュエータに搭載されるワンチップマイクロコンピュータなどにより構成されるもので、制御部４、送信部５、受信部６、同期信号仮検出部７、同期信号確定部８、エッジ検出部９などの各機能部に分かれている。なお、これらの機能部は、例えばマイクロコンピュータの内部に構成されるものであり、本実施形態の特徴部分について示している。
【００２７】
バス１では、Synch Fieldがマスタ装置２からスレーブ装置３に伝達されることで、スレーブ装置３がボーレート（通信速度）を算出し、当該算出されたボーレートを元にしてスレーブ装置３がデータ受信する。スレーブ装置３は、Synch Break Field、Synch Fieldを同期して受信すると、その後の信号をIdentifier Field、Data Field…として受信する。
【００２８】
スレーブ装置３の送信部５は制御部４の制御信号に基いてデータをマスタ装置２に送信する。マスタ装置２は、送信部５の送信データを受信する。スレーブ装置３の受信部６は、マスタ装置２から送信されるデータを受信し、制御部４に与える。エッジ検出部９は、マスタ装置２からバス１を通じて受信したデータの立下りエッジ、および／または、立上りエッジを検出する。
【００２９】
同期信号仮検出部７は、タイマＡ１０、記憶部Ａ１１、記憶部Ｂ１２、比較部Ａ１３などの各機能部を含んで構成される。同期信号仮検出部７は、バス信号（パルス）の立下りエッジおよび立上りエッジ間のエッジ検出時間間隔（バス信号が「Ｌ」（又は「Ｈ」）で続いた間の時間）を計測し、例えば連続して計測された２つのエッジ検出時間間隔を比較部１３にて比較し、先のエッジ検出時間間隔が後のエッジ検出時間間隔のある所定値（例えば８＝１ビット長の２のＮ（３）乗倍）以上であれば記憶部Ａ１１の保持データを比較部Ａ１３が記憶部Ｂ１２に転送する。
【００３０】
ここで、「パルスの立下りエッジ」とは、ハイレベル（第２レベルに相当）からロウレベル（第１レベルに相当）に移行するタイミングを示しており、「パルスの立上りエッジ」とは、ロウレベルからハイレベルに移行するタイミングを示している。尚、所定値を「８」としているが、これは、例えばハードウェアで構成したときにはシフトレジスタを適用することで、２値の３ビットシフト演算によって計算を容易にできるため用いられる数値であり、この所定値は２の累乗倍の値であれば、この限りではない。
【００３１】
同期信号確定部８は、タイマＢ１４、ボーレート算出部１５、比較部Ｂ１６などの各機能部を含んで構成される。同期信号確定部８では、比較部Ａ１３から記憶部Ｂ１２に値を転送したときに、タイマＢ１４が起動する。
【００３２】
このとき、タイマＢ１４は、タイマＡ１０で計測された値を初期値として計測開始する。この後、エッジ検出部９が立下りエッジを所定回数Ｘ回（４回）検出すると、タイマＢ１４を停止する。エッジ検出部９、タイマＢ１４は、このＸ回（４回）の立下りエッジ検出処理により、Ｘ×２ビット（８ビット）分の２値レベルの繰り返し信号を受信したことと判定する。
【００３３】
ボーレート算出部１５は、このタイマＢ１４の時間（つまりＸ回の立下りエッジ検出処理により検出されたＸ×２ビットの２値レベルの繰り返し信号の連続時間）についてＸ×２（つまり８）で除した値を算出することで、２値レベルの１ビット長に対応した平均時間を算出する。そして、ボーレート算出部１５は、記憶部Ｂ１２に記憶された時間を前記の１ビット長の平均時間で除した値が１１以上（つまりSynch Break Fieldが１１ビット長以上）であるか判定し、この条件を満たすときに同期信号のヘッダとして確定し、ボーレートを算出する。
【００３４】
図４および図５の流れ図、並びに、図６および図７のタイミングチャートを参照して具体例を説明する。図４（ａ）の立下り割込み処理に示すように、まず制御部４はタイマＡ１０を０に初期化した後（Ｓ１）、エッジ検出部９により立下りエッジが検出されるとタイマＡ１０を起動する（Ｓ２）（図３、図６、図７の（１）時点参照）。
【００３５】
そして、図４（ｂ）の立上り割込み処理に示すように、タイマＡ１０は、当該エッジ検出部９により立上りエッジが検出されると停止する（Ｓ３）（図３、図６、図７の（２）時点参照）。
【００３６】
この後、今回のタイマＡ１０の計測時間を記憶部Ａ１１に保持し、さらに次回のエッジ検出間隔（立下りタイミングから立上りタイミングまでの時間間隔）をタイマＡ１０により検出するが、比較部Ａ１３は、記憶部Ａ１１に保持されたデータをタイマＡ１０の計測時間で除した値について、ある所定値（例えば８）以上であるか判定し（Ｓ４）、この条件を満たさないときには（Ｓ４：ＮＯ）、タイマＡ１０の値を記憶部Ａ１１に記憶保持して（Ｓ５）この割り込みルーチンを抜ける。ステップＳ４の処理は、先のエッジ検出時間間隔が、後のエッジ検出時間間隔の所定値倍以上であるか否かを判定するための処理である。
【００３７】
つまり、タイマＡ１０が、図３に示す（１）時点から（２）時点の継続時間の間隔が記憶部Ａ１１に記憶保持された後、その後のエッジ検出間隔（立下りタイミング（３）時点から立上りタイミング（４）時点の時間間隔）を計測するが、（１）時点から（２）時点までの継続時間の間隔が（３）時点から（４）時点の時間間隔の所定値（８）倍以上であるか判定する。
【００３８】
図６に示すように、前回のタイマＡ１０の計測時間（記憶部Ａ１１が保持した前回の計測値）ａを今回のタイマＡ１０の計測時間ｂ（今回の計測値）で除した結果、ａ／所定値＜ｂであるときには仮同期信号として検出、判定されない。この場合、ステップＳ４においてＮＯと判定されることになり、Synch Break Fieldを検出していないと判定することになり、ステップＳ５の処理を経てステップＳ３から処理が繰り返される。
【００３９】
逆に、図７に示すように、前回のタイマＡ１０の計測時間（記憶部Ａ１１が保持した前回の計測値）ｃを今回のタイマＡ１０の計測時間ｄ（今回の計測値）で除した結果、ｃ／所定値≧ｄであるときには仮同期信号として検出、判定される。この場合、ステップＳ４においてＹＥＳと判定されることになり、Synch Break Fieldを検出したと判定することになり、タイマＡ１０の値が記憶部Ａ１１に保持された後（Ｓ６）、同期信号仮検出割込み処理が行われる（Ｓ７）。これらの仮検出処理は、あくまでも同期信号を仮検出するものであり、前記条件を満たした信号処理が行われれば全ての信号が仮検出される。
【００４０】
仮検出処理を設ける理由は、ＬＩＮプロトコルにおけるSynch Break Fieldの規定が１１ビット以上という２値演算（ハードウェア、ソフトウェア）では比較的扱いにくい値であるためである。同期信号検出処理は、バス信号の全データについて検出処理を行う必要があり、素早く確実な処理が要求される。
【００４１】
そこで、バス信号について、ロウレベルとなる時間の計測値が１１ビットを超えない最大の２の累乗数である８ビット以上となるときに仮同期信号とみなし、この条件を満たした仮同期信号のみについて、後述するようにSynch Break Fieldの規定を厳密に満たすか否かの検出、判定処理を行い、同期信号として確定している。
【００４２】
すなわち、仮同期信号を検出するときには、２値シフト演算を３回繰り返すのみであるため、ハードウェアで構成しても比較的処理しやすい形態で処理することができ仮同期信号を素早く検出できる。また、一旦仮同期信号として検出した後、同期信号として確定しているため、Synch Break Fieldの規定を厳密に満たす煩雑な計算処理を全てのバス信号について繰り返し行う必要がなくなり、煩雑な計算処理を少なくすることができる。
【００４３】
前述したように、２回のエッジ検出間隔の比が所定値（つまり８）以上であれば一旦仮同期信号として検出するため、本実施形態では、検出された仮同期信号について以下の処理を行うことで同期信号として確定する。
【００４４】
図５は、同期信号仮検出割込み処理の動作を概略的に示している。この図５に示すように、同期信号仮検出割込み処理が開始されると、同期信号仮検出部７では、記憶部Ａ１１の保持データを記憶部Ｂ１２に転送し（Ｔ１）、タイマＢ１４の初期値をタイマＡ１０の値にしてタイマＢ１４を起動する（Ｔ２）。これは、このタイマＢ１４の起動時点では立下り検出時点（図３、図７の（３）時点）からある程度時間経過してしまっているためであり、立下りエッジ検出時点（図３、図７の（３）参照）からその直後の立上りエッジ検出時点（図３、図７の（４）参照）までの時間がタイマＡ１０により計測されているため、その計測値をタイマＢ１４の初期値とすることで、立下り検出時点（図３、図７の（３）時点）からの時間を改めて計測している。
【００４５】
この後、受信部６がバス信号について、ハイレベル「Ｈ」、ロウレベル「Ｌ」を繰り返し受信するときに、タイマＢ１４はエッジ検出部１１により立下りエッジを所定回数（例えば４回）検出するまでの時間を計測し（Ｔ３）、立下りエッジが所定回数検出されたら（Ｔ３：ＹＥＳ）、タイマＢ１４を停止する（Ｔ４）。
【００４６】
つまり、タイマＢ１４は、バス信号が「Ｈ」から「Ｌ」に移行した時点（図７の（３）参照）から「Ｌ」から「Ｈ」に移行する時点（図７の（４）参照）までの１ビット長に対応した計測値と、「Ｌ」から「Ｈ」に移行した時点（図７の（４）参照）から「Ｈ」から「Ｌ」に移行する時点（図７の（５）参照）までの１ビット長に対応した計測値と、を連続して８ビット分計測している（図７の（６）参照）。
【００４７】
次に、比較部Ｂ１６は、記憶部Ｂ１２に記憶された計測値と（タイマＢ１４の計測値）×１１／８とを比較し（Ｔ５）、この条件を満たしたときに（Ｔ５：ＹＥＳ）、Synch Break Field、Synch Fieldを含む部分として同期信号のヘッダとして確定する（Ｔ６）。タイマＢ１４の計測値を８で除した値は１ビット長の平均時間を表しているため、「タイマＢ１４の計測値×１１／８」は、１ビット長に対応した平均時間×１１ビット分を表している。
【００４８】
したがって、言い換えると、ステップＴ５では、図３の（３）時点から（６）時点までの８ビット分の計測時間において１ビットの平均時間を算出し、図３の（１）時点から（２）時点までの継続時間（記憶部Ｂ１２に記憶された計測値）を前記算出された１ビットの平均時間で除した値が１１以上であるか否か判定し、この条件を満たすときに同期信号であると確定している。同期信号確定部８が同期信号であると確定するとトリガを出力する（図７の（ｈ）参照）。そして、ボーレート算出部１５は、タイマＢ１４の値を８で除した値の逆数（つまり１ビット長の平均時間の逆数）をボーレートとして設定する（Ｔ７）。
【００４９】
図２は、実際にハードウェアで構成する場合の例を概略的に示している。
この図２に示すように、タイマＡ１０と比較器Ａ１３との間に除算器１７を設けて構成している。この除算器１７は、タイマＡ１０の計測値を８（２の３乗ビットに対応）で除して比較器Ａ１３に出力するものであり、２値シフト演算のみで実現できるため、例えばシフトレジスタにより構成されている。また前述したように、スレーブ装置３がSynch Fieldを受信するときにタイマＢ１４は８ビット（２の３乗ビット）分に対応した時間を計測値とする。
【００５０】
タイマＢ１４と比較器Ｂ１６との間に除算加算器１８が設けられている。この除算加算器１８は、タイマＢ１４の計測時間（すなわち２の３乗ビット分の計測値）と、タイマＢ１４の計測時間の１／８の値（すなわち２の０乗ビット分の計測値）と、タイマＢ１４の計測時間の１／４の値（すなわち２の１乗ビット分の計測値）とを加算している。すなわち、除算加算器１８は、８区間分のエッジ検出時間間隔の平均値を算出し当該平均時間を算出する平均時間算出部として機能するものであり、また当該平均時間を１１倍する機能も有しており、結果的にタイマＢ１４の計測値を１１／８倍している。除算加算器１８は、２値シフト演算のみで実現しているため、例えばシフトレジスタを組み合わせて構成できる。
【００５１】
比較器Ｂ１６は、除算加算器１８の計算結果と記憶部Ｂ１２に保持された記憶値とを比較する。同期信号仮検出部７が仮同期信号と見なしたとき、記憶部Ｂ１２には、記憶部Ａ１１に記憶された前回の計測値がタイマＡ１０で計測された今回の計測値の８倍以上であることを満たした場合の仮同期信号と見なされた前回の計測値が記憶されている。
【００５２】
このため、比較器Ｂ１６が、前回の計測値とタイマＢ１４の今回の計測値の１１／８とを比較した結果、前回の計測値がこの今回の計測値の１１／８以上となるときに、仮同期信号を同期信号として確定する。
【００５３】
図８（ａ）および図８（ｂ）は、比較例となる構成とその処理動作の概略説明図を示している。これらの図８（ａ）および図８（ｂ）に示すように、例えば、フレームのスタート（ＳＯＦ）から（１１）ロウレベル「Ｌ」となる区間を計測した後、ハイレベル「Ｈ」となる区間を経て、（１２）８区間分を計測して８で除した値を１ビットの平均時間間隔とみなし、（１１）の計測結果を（１２）の計測結果で除した値が１１以上となる場合に、Synch Break Field、Synch Fieldを確定するという手法が考えられる。
【００５４】
しかしながら、この方法では、図８（ｂ）に示すように、記憶された計測結果を順次保持している必要があるため、この例では少なくとも１段目の記憶領域から６段目の記憶領域まで記憶する第１〜第６記憶部を必要としてしまう。これは、特許文献１記載の技術思想と類似する構造となっているものの多数段の記憶領域を必要としてしまい、例えばハードウェアで構成するときには、多数段のバッファを用意する必要があり回路規模が大きくなってしまう。
【００５５】
本実施形態によれば、バス信号のデータを記憶する領域が、２つの記憶部Ａ１１および記憶部Ｂ１２による２段分で構成できるため回路規模を小さくすることができる。このようにして回路規模を削減できる。
【００５６】
本実施形態によれば、同期信号仮検出部７が、２値のハイレベルとロウレベルとを順に繰り返して受信する前に１ビット長の２のＮ乗倍の長さで２値のロウレベルが続いたことを条件として、受信した２値のレベルを仮同期信号として検出しているため、ロウレベルが１ビット長の２のＮ乗倍の長さ未満のときには全て仮同期信号として見なされることがなくなり、同期信号を検出するための煩雑な計算処理を行う頻度を少なくできる。
【００５７】
同期信号確定部８は、同期信号仮検出部７により仮同期信号として検出されてから仮同期信号が所定ビット長で連続していることを条件として仮同期信号を同期信号として確定しているため、ＬＩＮプロトコルに合わせた条件（１１ビット以上の長さの場合Synch Break Field）で同期信号の確定判定対象データを少なくできる。したがって、煩雑な計算処理をする頻度が少なくなり回路規模を縮小化できる。
【００５８】
タイマＡ１０は、ハイレベルからロウレベルに移行する時点（立下り検出タイミング）から当該ロウレベルからハイレベルに移行する時点（立上り検出タイミング）までのエッジ検出時間間隔の計測値を計測して記憶部Ａ１１に保持させている。
【００５９】
また、比較部Ａ１３は、記憶部Ａ１１に保持された前回の計測値と、タイマＡ１０が計測した今回の計測値とを比較し、前回の計測値が今回の計測値の８（所定値）倍以上であることを条件として１ビット長の８倍の長さで２値のロウレベルが続いたと判定して仮同期信号として検出している。すなわち、同期信号仮検出部７では、主として８倍の長さを検出するための除算器１７、タイマＡ１０、記憶部Ａ１１、比較器Ａ１３によって仮同期信号を検出できるため、簡単なハードウェア構成で実現することができ、回路規模を縮小化できる。
【００６０】
Synch Break Fieldの１１ビットを検出するときに、前回の計測値が今回の計測値の８（所定値）倍以上であることを条件として仮同期信号として検出しているため、当該所定値を２、４などの他の２の累乗倍に設定した場合と比較して、同期信号仮検出部７が仮同期信号として検出する頻度をより低くすることができ、同期信号確定部８が煩雑な処理をする頻度をより少なくできる。
【００６１】
除算加算器１８は、タイマＢ１４の計測値を１１／８として演算することで、Synch Fieldの計測区間のうち８ビット分（８区間分）の平均値を算出し、その後１１倍している。この場合、たとえバス信号の１ビットのレベル長に変動があったとしても当該変動による検出精度のばらつきを抑制することができ、ばらつきの影響を極力除外して１ビット長の計測値を算出できる。
【００６２】
同期信号確定部８を構成する比較器Ｂ１６は、タイマＢ１４により検出された今回の計測値を除算加算器１８により１１／８として得られた演算結果と、記憶部Ｂ１２に記憶された前回の計測値とを比較して、前回の計測値が演算結果以上であることを条件として同期信号として検出しているため、たとえデータの１ビットのレベル長が変動したとしても当該変動に伴う検出精度のばらつきを抑制しながら同期信号を精度良く確定できる。ボーレート算出部１５は、タイマＢ１４の値を８で除した逆数をボーレートとして設定しているため、ボーレートの算出精度を向上できる。
【００６３】
スレーブ装置３内では、水晶発振器またはＣＲ発振器を用いて発振器を構築し、タイマＡ１０、タイマＢ１４などを構成する。例えばタイマＡ１０、タイマＢ１４が、安価なＣＲ発振器により構成されているときには、ジッタの影響が大きくなり１ビットの検出期間の精度が悪くなってしまう虞もある。特に、ＬＩＮ仕様２．０では、マスタ装置２、スレーブ装置３内の発振周波数の許容誤差が、ＬＩＮ仕様１．３などよりも厳しいものが要求されているため、この要求が満たされるための改善が必要となる。
【００６４】
本実施形態に係る構成によれば、たとえ発振器の影響で１ビットの検出時間の精度が悪くなったとしても、１ビット長に対応した計測値の複数の平均値を算出することで１ビット長に対応した平均時間を算出しているため、検出精度の悪化を抑制できる。しかもタイマＡ１０、タイマＢ１４の計測値が、製品毎にばらつきを生じていたとしても１ビット長の平均時間のばらつきを抑制でき、これにより、同期信号の検出精度を向上できると共に、ボーレートの算出精度を向上できる。
【００６５】
本実施形態によれば、ボーレート（ビットレート）を自動的に検出しているため、幅広いビットレートに柔軟に対応できる。
タイマＡ１０と共にタイマＢ１４が連続して計測した８区間分の計測値を、除算加算器１８が２の３乗ビット長、２の２乗ビット長、２の０乗ビット長に対応した値でそれぞれ除してからそれぞれの値を加算した１１ビット分の加算値を、記憶部Ｂ１２の計測値と比較して判定しているため、２値シフト演算処理するのみで実現することができ、回路規模を縮小化することができる。
【００６６】
本実施形態によれば、Synch Break Fieldがマスタ装置２からバス１を通じて何れのタイミングでスレーブ装置３に送信されたとしても、スレーブ装置３では何れのタイミングで受信したとしてもSynch Break Fieldを同期信号の一部として検出することができる。
【００６７】
（他の実施形態）
本発明は、上記実施形態に限定されるものではなく、例えば、以下に示す変形または拡張が可能である。
ステップＳ５において、タイマＡ１０には、立下り検出タイミングから立上り検出タイミングまでの「Ｌ」となっている間のエッジ検出時間間隔の計測値を記憶部Ａ１１に記憶させるようにした実施形態を示したが、立上り検出タイミングから立下り検出タイミングまでの「Ｈ」となっている間のエッジ検出時間間隔の計測値を記憶部Ａ１１に記憶させるように構成しても良い。
【００６８】
立下り時点から立上り時点までの時間（「０」＝「Ｌ」である時間）、立上り検出タイミングから立下り検出タイミングまでの時間（「１」＝「Ｈ」である時間）を８区間連続して積算してタイマＢ１４に記憶させ、その平均値を求めることで１ビットの平均時間を算出した実施形態を示したが、立上り時点から立下り時点（「１」＝「Ｈ」である時間）の１ビットの時間のみを複数積算してその平均値を算出することで１ビットの平均時間を算出するようにしても良いし、逆に、立下り時点から立上り時点（「０」＝「Ｌ」である時間）の１ビットの時間のみを複数積算してその平均値を算出することで１ビットの平均時間を算出するようにしても良い。
【００６９】
ステップＴ３では、立下りエッジを４回検出することで８区間分の計測時間とした実施形態を示したが、これに代えて、立上りエッジを４回検出することで８区間分の計測時間として算出しても良い。
【００７０】
前述実施形態では、ＬＩＮのSynch Break Fieldの長さが１１ビット以上の長さと規定されているため、仮同期信号として検出する際には、１１ビットを超えない最大の２の累乗数である８ビット（Ｎ＝３）に設定した実施形態を示したが、通信プロトコルの仕様によりＮを１以上の所定の整数に切り替えて構成すれば如何なる整数値に対応した構成でも適用できる。この場合、２値演算のＮビットシフト演算により算出処理を容易にできるため、仮同期信号を検出する際に回路規模を縮小化しながら容易に構成できる。
【符号の説明】
【００７１】
図面中、１はバス、２はマスタ装置、３はスレーブ装置、４は制御部、５は送信部、６は受信部、７は同期信号仮検出部、８は同期信号確定部、９はエッジ検出部、１０はタイマＡ、１１は記憶部Ａ、１２は記憶部Ｂ、１３は比較部Ａ（比較器Ａ）、１４はタイマＢ、１５はボーレート算出部、１６は比較部Ｂ（比較器Ｂ）、１７は除算器、１８は除算加算器（平均時間算出部）を示す。
【図１】
2011172144.tif 000003
【図２】
2011172144.tif 000004
【図３】
2011172144.tif 000005
【図４】
2011172144.tif 000006
【図５】
2011172144.tif 000007
【図６】
2011172144.tif 000008
【図７】
2011172144.tif 000009
【図８】
2011172144.tif 000010