(57)【要約】【課題】  同期信号（Synch Field）を正しく検出し、ボーレートを求めるためにフレームの先頭を見出す。【解決手段】  スレーブ装置１０は、バス３０に接続され、マスタ装置２０から送信されるバス上の２値レベル信号Ｓを受信する。スレーブ装置１０は、２値レベル信号の信号レベルを検出し、２値レベル信号がハイレベルである期間に前後してそれぞれ存在する、２値レベル信号がローレベルである第１の期間（ＡＢ間）および第２の期間（ＣＤ間）を求める。そして、第１の期間の第２の期間に対する比が１１以上である場合に、第２の期間に引き続き受信する２値レベル信号をSynch Fieldとして同定する。そして、第２の期間の逆数から、スレーブ装置１０が２値レベル信号を受信するためのボーレートを算出する。【選択図】  図１
2006311237.tif 000002
【特許請求の範囲】
【請求項１】
バスに接続され、バス上の２値レベル信号を受信するデータ受信装置において、
前記２値レベル信号の信号レベルを検出する信号検出部と、
前記２値レベル信号が第１のレベルである期間に前後してそれぞれ検出される第２のレベルである第１および第２の期間を求める期間算出部と、
前記第１の期間の前記第２の期間に対する比を求める比較部と、
前記比較部の求めた比が所定値以上である場合に、前記第２の期間に引き続く２値レベル信号を同期信号として同定する同期検出部と、
を備えることを特徴とするデータ受信装置。
【請求項２】
前記期間算出部は、
前記２値レベル信号の信号レベルが前記第１のレベルから前記第２のレベルに変化する第１の時点から、前記第２のレベルから前記第１のレベルに変化する第２の時点までの時間間隔を計測する計時部と、
前記第２の時点において、既に記憶されている時間間隔を前記第１の期間として出力し、前記計時部で計測された時間間隔を前記第２の期間として記憶する記憶部と、
を備えることを特徴とする請求項１記載のデータ受信装置。
【請求項３】
前記同期信号を元に前記２値レベル信号を受信するためのボーレートを算出するボーレート算出部をさらに備えることを特徴とする請求項１記載のデータ受信装置。
【請求項４】
前記ボーレート算出部は、前記比較部の求めた比が前記所定値以上である場合に、前記第２の期間の値の逆数から前記ボーレートを算出することを特徴とする請求項３記載のデータ受信装置。
【請求項５】
バスに接続され、バス上の２値レベル信号を受信するデータ受信装置が２値レベル信号の同期信号を検出する方法であって、
前記２値レベル信号が第１のレベルである期間に前後してそれぞれ検出される第２のレベルである第１および第２の期間を求め、前記第１の期間の前記第２の期間に対する比が所定値以上である場合に、前記第２の期間に引き続き受信する前記２値レベル信号を同期信号として同定することを特徴とする同期信号検出方法。
【請求項６】
前記同期信号を元に前記２値レベル信号を受信するためのボーレートを算出することを特徴とする請求項５記載の同期信号検出方法。
【請求項７】
前記第２の期間の逆数を前記ボーレートとして算出することを特徴とする請求項６記載の同期信号検出方法。
【請求項８】
バスに接続され、バス上の２値レベル信号を受信するデータ受信装置を構成するコンピュータに、
前記２値レベル信号の信号レベルが第１のレベルから第２のレベルに変化する第１の時点から、前記第２のレベルから前記第１のレベルに変化する第２の時点までの時間間隔を計測する計時処理と、
前記第２の時点において、記憶部に既に記憶されている時間間隔を比較のために出力し、前記計時処理で計測された時間間隔を前記記憶部に記憶する処理と、
前記計時処理で計測された時間間隔に対する、前記記憶部に既に記憶されている時間間隔の比を求める比較処理と、
前記比較処理において求めた比が所定値以上である場合に、引き続き受信する前記２値レベル信号を同期信号として検出する検出処理と、
を実行させるプログラム。
【請求項９】
前記同期信号を元に前記２値レベル信号を受信するためのボーレートを算出するボーレート算出処理をさらに実行させる請求項８記載のプログラム。
【請求項１０】
前記ボーレート算出処理は、前記比較処理において求めた比が前記所定値以上である場合に、前記計時処理で計測された時間間隔の値の逆数から前記ボーレートを算出することを特徴とする請求項９記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ受信装置および同期信号検出方法ならびにプログラムに係り、特に、バス上の２値レベル信号を受信するデータ受信装置およびこの２値レベル信号中の同期信号を検出する方法、ならびにそのプログラムに係る。
【背景技術】
【０００２】
近年、車載用のＬＡＮ化のニーズが高まり、各アプリケーションに最適なネットワークが使われている。ＬＩＮ（Local Interconnect Network）は、車載用のＬＡＮの通信プロトコルの一種で、マスタ、スレーブ構成で使用されるシリアル通信プロトコルであって、主にボディ系等を対象とする簡易なシステムにおいて用いられる。ＬＩＮの通信プロトコルには、フレームの始まりを表すSynch Break Fieldと、それに続くSynch Fieldと呼ばれる同期信号のフィールドが存在し、このSynch Fieldをマスタ側からスレーブ側に伝えることで、Synch Fieldにおけるボーレートを元にスレーブ側がデータ受信する仕組みをもっている（特許文献１参照）。
【０００３】
ところで、調歩同期式シリアルデータが使われるものとして、ユーザ端末装置と回線装置との間の通信方法が知られている。この通信方式では、ＡＴコマンドと呼ばれる特定のコード（１６進数表示で４１ｈおよび６１ｈ）が最初に送られる。これらのコードは、両方とも最下位ビット（ＬＳＢ）が１なので、これをシリアルインタフェースのＬＳＢファーストのビット列に直すと、通信の始めに必ず１ビット分のスペース（スタートビット）が出現する。通信速度は、このスペースの時間を計測することによって求められる（例えば特許文献２参照）。
【０００４】
【特許文献１】特開２００４-２２８９４５号公報
【特許文献２】特開２０００-２０９３０２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ＬＩＮプロトコルの仕様によれば、Synch Break Fieldは、１１ビット以上のローレベルが継続するパルスであり、これに続きハイレベルとなって、さらに「０１０１０１０１」（０、１はそれぞれローレベル、ハイレベルを示す）となるSynch Fieldが続く。ところで、ボーレートを計測すべきスレーブが起動した時に、最初に受信される信号がSynch Break Fieldであるとは必ずしも限らない。これはスレーブに信号を送信するマスタがスレーブの起動時に同期して動作することを保証していないためである。したがって、スレーブは、単に最初のパルスを見送って２番目のパルスに着目し、特許文献２のような技術を用いてパルス幅を計測してボーレートを求めたとしても、２番目のパルスがSynch Fieldのスタートビットである保証がない。すなわち、２番目のパルスによってボーレートを求めて以降のデータ受信を行っても、正しいデータを受信することができないことになる。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明の一つのアスペクトに係るデータ受信装置は、バスに接続され、バス上の２値レベル信号を受信するデータ受信装置である。この受信装置は、２値レベル信号の信号レベルを検出する信号検出部と、２値レベル信号が第１のレベルである期間に前後してそれぞれ検出される第２のレベルである第１および第２の期間を求める期間算出部と、第１の期間の第２の期間に対する比を求める比較部と、比較部の求めた比が所定値以上である場合に、第２の期間に引き続く２値レベル信号を同期信号として同定する同期検出部と、を備える。
【０００７】
本発明の一つのアスペクトに係る同期信号検出方法は、バスに接続され、バス上の２値レベル信号を受信するデータ受信装置が２値レベル信号の同期信号を検出する方法である。この方法は、２値レベル信号が第１のレベルである期間に前後してそれぞれ検出される第２のレベルである第１および第２の期間を求め、第１の期間の第２の期間に対する比が所定値以上である場合に、第２の期間に引き続き受信する２値レベル信号を同期信号として同定する。
【０００８】
本発明の一つのアスペクトに係るプログラムは、バスに接続され、バス上の２値レベル信号を受信するデータ受信装置を構成するコンピュータに、２値レベル信号の信号レベルが第１のレベルから第２のレベルに変化する第１の時点から、第２のレベルから第１のレベルに変化する第２の時点までの時間間隔を計測する計時処理と、第２の時点において、記憶部に既に記憶されている時間間隔を比較のために出力し、計時処理で計測された時間間隔を記憶部に記憶する処理と、計時処理で計測された時間間隔に対する、記憶部に既に記憶されている時間間隔の比を求める比較処理と、比較処理において求めた比が所定値以上である場合に、引き続き受信する２値レベル信号を同期信号として検出する検出処理と、を実行させる。
【発明の効果】
【０００９】
本発明によれば、１番目のパルス幅と２番目のパルス幅の比を求めることでフレームの先頭を見出すので、同期信号を正しく検出することができ、ボーレートを求めることができる。
【発明を実施するための最良の形態】
【００１０】
本発明の実施形態に係るデータ受信装置は、バス（図１の３０）に接続され、バス上の２値レベル信号（図１のＳ）を受信するデータ受信装置である。この装置は、２値レベル信号の信号レベルを検出し、２値レベル信号がハイレベルである期間に前後してそれぞれ存在する、２値レベル信号がローレベルである第１の期間（図１のＡＢ間）および第２の期間（図１のＣＤ間）を求める。そして、第１の期間に対する第２の期間の比が所定値（例えば１１）以上である場合に、第２の期間に引き続き受信する２値レベル信号をSynch Fieldとして同定する。そして、第２の期間の逆数から、データ受信装置が２値レベル信号を受信するためのボーレートを算出する。さらに、算出したボーレートを元にSynch Fieldに続くデータフィールドを受信する。以下、実施例に即し、図面を参照してさらに詳しく説明する。
【実施例１】
【００１１】
図１は、本発明の第１の実施例に係る通信システムの構成を示すブロック図である。図１において、通信システムは、スレーブ装置１０とマスタ装置２０とをバス３０に接続するように構成される。マスタ装置２０は、初めに２値レベル信号Ｓをバス３０上に送信する。スレーブ装置１０は、この２値レベル信号Ｓを受信し、その後必要に応じてスレーブ装置１０とマスタ装置２０との間で所定の２値レベル信号を送受信する。
【００１２】
スレーブ装置１０は、エッジ検出部１１、タイマ１２、記憶部１３、比較部１４、ボーレート算出部１５、受信部１６、送信部１７、制御部１８を備える。なお、スレーブ装置１０にＣＰＵとプログラムとを備え、これら各部あるいはその一部を、ＣＰＵがプログラムを実行することで機能させるようにしてもよい。
【００１３】
エッジ検出部１１は、マスタ装置２０から送信され、バス３０上に存在する２値レベル信号Ｓを入力し、２値レベル信号Ｓの立ち上がりエッジ（例えばＢ、Ｄ、Ｅ等）、立下りエッジ（例えばＡ、Ｃ等）を検出する。タイマ１２は、立下りエッジでスタートし、立上がりエッジでストップする。記憶部１３は、タイマ１２がストップした時にタイマの値を記憶する。比較部１４は、タイマ１２がストップした時に、記憶部１３に既に記憶されている値に対するタイマ１２の値の比を求める。ボーレート算出部１５は、比較部１４が出力する比が所定値、例えば１１以上である場合に、マスタ装置２０が送信した２値レベル信号のボーレートをタイマ１２の値の逆数によって求める。なお、１１という数値は、ＬＩＮプロトコルの仕様に基づくものであり、これに限定されるものではない。受信部１６は、求めたボーレートに従ってバス３０上の２値レベル信号Ｓを受信する。送信部１７は、必要に応じて、受信部１６が受信したデータに対する応答等のデータを、求めたボーレートに従ってバス３０上に送信する。制御部１８は、エッジ検出部１１、タイマ１２、記憶部１３、受信部１６、送信部１７を制御する。
【００１４】
一方、マスタ装置２０は、送信部１７が送信したデータを受信する。なお、スレーブ装置１０、マスタ装置２０では、これら以外に装置を機能させる種々の回路を有するが、本発明に関わらないので図示せず、説明を省略する。
【００１５】
次にスレーブ装置における２値レベル信号Ｓの受信動作について説明する。図２は、本発明の第１の実施例に係るスレーブ装置の動作を表すフローチャートである。図２（ａ）は、メイン処理を、図２（ｂ）は、２値レベル信号Ｓの立下がりエッジにおける割り込み処理を、図２（ｃ）は、２値レベル信号Ｓの立上りエッジにおける割り込み処理を表す。
【００１６】
まず、図２（ａ）のメイン処理について説明する。メイン処理における同期信号検出処理が開始されると、初期化処理として、パルス幅を格納する変数Ｗ１を０にセットし（ステップＳ１１）、パルス幅を格納する変数Ｗ２を０にセットし（ステップＳ１２）、計測中を示す計測フラグＭを計測中状態になるように１にセットする（ステップＳ１３）。そして２値レベル信号Ｓのエッジにおける割り込みを許可する（ステップＳ１４）。
【００１７】
ステップＳ１５において、後述のステップＳ３６で計測が完了となった時に計測フラグＭが０となる計測完了を待つ。すなわち、計測フラグＭが１であるか否かをチェックし、計測フラグＭが１であればステップＳ１５を繰り返す。計測フラグＭが１でなければ（０であれば）、計測が完了したものとしてステップＳ１６に進む。
【００１８】
ステップＳ１６において、エッジにおける割り込みを禁止し、一連の処理を終了する。
【００１９】
このようなメイン処理のステップＳ１５において、エッジ検出部１１によって２値レベル信号Ｓの立下りが検出されると割り込みが生じ、図２（ｂ）の立下り割り込み処理が実行される。立下り割り込み処理では、タイマ１２の初期化（ステップＳ２１）と、タイマ１２の起動（ステップＳ２２）とを実行し、割り込み処理を終了し、ステップＳ１５に戻る。
【００２０】
次に、図２（ｃ）の立上り割り込み処理について説明する。ステップＳ１５において、エッジ検出部１１によって２値レベル信号Ｓの立上りが検出されると割り込みが生じ、図２（ｃ）の立上り割り込み処理が実行される。立上り割り込み処理では、タイマ１２を停止し（ステップＳ３１）、タイマ１２の値を変数Ｗ２にセットする（ステップＳ３２）。
【００２１】
ステップＳ３３において、Ｗ１／Ｗ２≧１１をチェックし、Ｗ１／Ｗ２≧１１であれば、フレームの先頭を検出したものとしてステップＳ３５に進み、Ｗ１／Ｗ２＜１１であれば、フレームの先頭を検出したものでないとしてステップＳ３４に進む。なお、処理開始最初にステップＳ３３を通る場合には、Ｗ１は０であるのでステップＳ３４に進むこととなる。
【００２２】
ステップＳ３４において、変数Ｗ２を変数Ｗ１に代入し、割り込み処理を終了し、次のパルス幅計測を待つために、ステップＳ１５に戻る。
【００２３】
ステップＳ３５において、変数Ｗ２には１ビット幅に相当するタイマのカウント値が入っているので、ボーレートを１／（ｔ×Ｗ２）として求める。ここでｔは、タイマ１２の分解能である。例えば、分解能ｔが１μ秒で、変数Ｗ２の値が１０４であれば、ボーレートは、１／（０．０００００１×１０４）＝９６１５ｂｐｓとして求められる。
【００２４】
ステップＳ３６において、ボーレートが計測できたとして計測フラグＭを０にセットし、割り込み処理を終了し、ステップＳ１５に戻る。
【００２５】
以上のように、スレーブ装置１０は、動作し、１番目のパルス幅（Ｗ１）と２番目のパルス幅（Ｗ２）の比を求め、比が１１以上であれば、１番目のパルスがSynch Break Fieldであり、２番目のパルスに続く２値レベル信号をSynch Fieldであると判断する。そして変数Ｗ２の値から、以降のデータ受信のためのボーレートを算出することができる。
【実施例２】
【００２６】
図３は、本発明の第２の実施例に係るスレーブ装置の動作を表すフローチャートである。図３（ａ）は、メイン処理、図３（ｂ）は、２値レベル信号Ｓの立下がりエッジにおける割り込み処理、図３（ｃ）は、２値レベル信号Ｓの立上りエッジにおける割り込み処理を表す。第１の実施例では、タイマが立下り割り込みで起動され、立上り割り込みで停止される例を示したが、第２の実施例では、タイマが動作したままで時間経過をカウントしてパルス幅を求める例を示す。
【００２７】
まず、図３（ａ）のメイン処理について説明する。メイン処理における同期信号検出処理が開始されると、初期化処理として、パルス幅を格納する変数Ｗ１、Ｗ２を０にセットし（ステップＳ４１）、タイマ値を格納する変数Ｔ１、Ｔ２を０にセットし（ステップＳ４２）、計測中を示す計測フラグＭを１にセットする（ステップＳ４３）。そしてタイマをスタートさせ（ステップＳ４４）、２値レベル信号Ｓのエッジにおける割り込みを許可する（ステップＳ４５）。
【００２８】
ステップＳ４６において、後述のステップＳ６８で計測が完了となった時に計測フラグＭが０となる計測完了を待つ。すなわち、計測フラグＭが１であるか否かをチェックし、計測フラグＭが１であればステップＳ４６を繰り返す。計測フラグＭが１でなければ（０であれば）、計測が完了したものとしてステップＳ４７に進む。
【００２９】
ステップＳ４７において、エッジにおける割り込みを禁止する。さらに、タイマをストップさせ（ステップＳ４８）、一連の処理を終了する。なお、タイマを常時動作させるようにしてもよく、この場合には、ステップＳ４４、Ｓ４８を省くことができる。
【００３０】
このようなメイン処理のステップＳ４６において、エッジ検出部１１によって２値レベル信号Ｓの立下りが検出されると割り込みが生じ、図３（ｂ）の立下り割り込み処理が実行される。立下り割り込み処理では、タイマの値を変数Ｔ１に格納し（ステップＳ５１）、割り込み処理を終了し、ステップＳ４６に戻る。
【００３１】
次に、図３（ｃ）の立上り割り込み処理について説明する。ステップＳ４６において、エッジ検出部１１によって２値レベル信号Ｓの立上りが検出されると割り込みが生じ、図３（ｃ）の立上り割り込み処理が実行される。立上り割り込み処理では、タイマの値を変数Ｔ２にセットする（ステップＳ６１）。
【００３２】
ステップＳ６２において、Ｔ２＞Ｔ１をチェックし、Ｔ２＞Ｔ１であればステップＳ６３に進み、Ｔ２≦Ｔ１であればステップＳ６４に進む。
【００３３】
ステップＳ６３において、Ｔ２−Ｔ１を変数Ｗ２に代入し、ステップＳ６５に進む。
【００３４】
ステップＳ６４において、タイマがオーバフローしたと判断されるので、Ｔ１からタイマの最大値間での計測値にタイマの最低値すなわち０からＴ２までの計測値を加算したもの（タイマ最大値−Ｔ１＋Ｔ２）を変数Ｗ２に代入する。そして、ステップＳ６５に進む。
【００３５】
ステップＳ６５〜Ｓ６８は、それぞれステップＳ３３〜Ｓ３６と同一の処理をおこなうので、説明を省略する。
【００３６】
以上のように、スレーブ装置１０は、動作し、実施例１で説明したと同様にデータ受信のためのボーレートを算出することができる。
【００３７】
以上本発明を上記実施例に即して説明したが、本発明は、上記実施例にのみ限定されるものではなく、本願特許請求の範囲の各請求項の発明の範囲内で当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【図面の簡単な説明】
【００３８】
【図１】本発明の実施例に係るデータ受信装置の構成を示すブロック図である。
【図２】本発明の第１の実施例に係るデータ受信装置の動作を表すフローチャートである。
【図３】本発明の第２の実施例に係るデータ受信装置の動作を表すフローチャートである。
【符号の説明】
【００３９】
１０  スレーブ装置
１１  エッジ検出部
１２  タイマ
１３  記憶部
１４  比較部
１５  ボーレート算出部
１６  受信部
１７  送信部
１８  制御部
２０  マスタ装置
３０  バス
【図１】
2006311237.tif 000003
【図２】
2006311237.tif 000004
【図３】
2006311237.tif 000005