JP2009303178A - データ受信装置、データ受信方法及びデータ受信プログラム - Google Patents

データ受信装置、データ受信方法及びデータ受信プログラム Download PDF

Info

Publication number
JP2009303178A
JP2009303178A JP2008158461A JP2008158461A JP2009303178A JP 2009303178 A JP2009303178 A JP 2009303178A JP 2008158461 A JP2008158461 A JP 2008158461A JP 2008158461 A JP2008158461 A JP 2008158461A JP 2009303178 A JP2009303178 A JP 2009303178A
Authority
JP
Japan
Prior art keywords
pulse width
pulse
unit
value
storage unit
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.)
Granted
Application number
JP2008158461A
Other languages
English (en)
Other versions
JP5238369B2 (ja
Inventor
Nobuyuki Tate
伸幸 舘
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.)
NEC Electronics Corp
Original Assignee
NEC Electronics Corp
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 NEC Electronics Corp filed Critical NEC Electronics Corp
Priority to JP2008158461A priority Critical patent/JP5238369B2/ja
Priority to US12/457,519 priority patent/US8369454B2/en
Priority to DE102009025074A priority patent/DE102009025074A1/de
Publication of JP2009303178A publication Critical patent/JP2009303178A/ja
Application granted granted Critical
Publication of JP5238369B2 publication Critical patent/JP5238369B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/04Speed or phase control by synchronisation signals
    • H04L7/06Speed or phase control by synchronisation signals the synchronisation signals differing from the information signals in amplitude, polarity or frequency or length
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/02Speed or phase control by the received code signals, the signals containing no special synchronisation information
    • H04L7/033Speed or phase control by the received code signals, the signals containing no special synchronisation information using the transitions of the received signal to control the phase of the synchronising-signal-generating means, e.g. using a phase-locked loop
    • H04L7/0331Speed or phase control by the received code signals, the signals containing no special synchronisation information using the transitions of the received signal to control the phase of the synchronising-signal-generating means, e.g. using a phase-locked loop with a digital phase-locked loop [PLL] processing binary samples, e.g. add/subtract logic for correction of receiver clock

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Dc Digital Transmission (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

【課題】LINにおける信号がノイズなどの影響を受けたとしてもSynch Fieldを正確に検出できるデータ受信装置、方法及びプログラムを提供する。
【解決手段】本発明の受信データ装置(100)は、信号の第1信号レベルが継続する第1パルス幅と第2パルス幅と第3パルス幅とを計測する計測部(120)と、第1パルス幅の第1パルスと第2パルス幅の第2パルス及び第2パルスと第3パルス幅の第3パルスは、第1信号レベルと異なる第2信号レベルを挟んで連続し、第1パルス幅の計測値と第2パルス幅の計測値とに基づき、第1パルスが信号の開始であり第2パルスが同期信号であることを判定する第1比較部(140)と、第2パルス幅の計測値と第3パルス幅の計測値とに基づき、第2パルスと第3パルスとが共に同期信号であることを判定する第2比較部(150)と、第1比較部(140)の判定結果と第2比較部(150)の判定結果とに基づき、第2パルスを同期信号の先頭として確定する制御部(160)とを具備する。
【選択図】図5

Description

本発明は、同期信号の送受信に関し、特にデータ受信装置、データ受信方法及びデータ受信プログラムに関する。
近年、車載用のLAN(Local Area Network)のニーズが高まり、車載用LANは各アプリケーションに最適な通信プロトコルが使われている。LIN(Local Interconnect Network)は、車載用LANの通信プロトコルの一種で、マスタ及びスレーブ構成で使用されるシリアル通信プロトコルであって、主にボディ系等を対象とする簡易なシステムにおいて用いられる。LINの通信プロトコルには、フレームの始まりを表すSynch Breakと、それに続くSynch Fieldと呼ばれる同期信号のフィールドが存在する。スレーブ側は、マスタ側から送信された通信データのSynch Fieldを受信し、このSynch Fieldのボーレートに基づいてSynch Fieldに続くIdent FieldやData Fieldなどを受信する(特許文献1参照)。
また、調歩同期式シリアルデータが使われるものとして、ユーザ端末装置と回線装置との間の通信方法が知られている。この通信方法では、ATコマンドと呼ばれる特定のコード(16進数表示で41h及び61h)が最初に送られる。これらの特定コードは、両方とも最下位ビット(LSB)が1なので、これをシリアルインタフェースのLSBファーストのビット列に直すと、通信の始めに必ず1ビット分のスペース(スタートビット)が出現する。通信速度は、このスペースの時間を計測することによって求められる(特許文献2参照)。
また、LINの通信プロトコルにおけるSynch Fieldを正しく検出するデータ受信装置に関する技術が特許文献3に開示されている。図1は、特許文献3の通信システムの構成例を示したブロック図とLINの通信プロトコルにおける2値レベル信号Pの一部を示した図である。図1を参照すると、特許文献3の通信システムは、スレーブ装置10とマスタ装置20とがバス30を介して接続している。マスタ装置20は、2値レベル信号Pをバス30上に送信する。スレーブ装置10は、この2値レベル信号Pを受信し、その後必要に応じてスレーブ装置10とマスタ装置20との間で所定の2値レベル信号Pを送受信する。
ここで、図1のLINの通信プロトコルにおける2値レベル信号Pの一部を参照すると、Synch Breakは、11ビット以上のローレベルが継続するパルスである(KL間)。そして、Synch Fieldは、Synch Breakのローレベルに続きハイレベルとなった後、更に「01010101」(0及び1は、それぞれローレベル及びハイレベルを示す)と続く同期信号である。ところで、Synch Fieldに基づくボーレートを計測するスレーブ装置10が最初に受信する信号がSynch Breakであるとは限らない。何故なら、信号を送信するマスタ装置20がスレーブ装置10の起動時に同期して動作することを保証していないためである。従って、スレーブ装置10が最初のパルスを見送って2番目のパルスに着目し、特許文献2のようにパルス幅を計測してボーレートを求めたとしても、2番目のパルスがSynch Fieldのスタートビットである保証がない。即ち、2番目のパルスによってボーレートを求めて以降のデータを受信しても、正しくデータを受信できないことになる。そこで、特許文献3のスレーブ装置10は、1番目のパルス幅と2番目のパルス幅の比を求めフレームの先頭を見出すため、同期信号を正しく検出することが出来るというものである。
特許文献3のデータ受信装置を説明する。スレーブ装置10は、エッジ検出部11と、タイマ12と、記憶部13と、比較部14と、ボーレート算出部15と、受信部16と、送信部17と、制御部18とを備える。
エッジ検出部11は、マスタ装置20から送信されたバス30上の2値レベル信号を取得し、2値レベル信号Pの立ち上がりエッジ(例えばL、N、O等)及び立下りエッジ(例えばK、M等)を検出する。タイマ12は、立下りエッジでスタートし、立上がりエッジでストップする。記憶部13は、タイマ12がストップした時にタイマの値を記憶する。比較部14は、タイマ12がストップした時に、記憶部13に既に記憶されている値に対するタイマ12の値の比を求める。ボーレート算出部15は、比較部14が出力する比が所定値、例えば11以上である場合に、マスタ装置20が送信した2値レベル信号Pのボーレートをタイマ12の値の逆数によって求める。尚、11という数値は、LINプロトコルの仕様に基づくものである。受信部16は、求めたボーレートに従ってバス30上の2値レベル信号Pを受信する。送信部17は必要に応じて、受信部16が受信したデータに対する応答等のデータを、求めたボーレートに従ってバス30上に送信する。制御部18は、エッジ検出部11と、タイマ12と、記憶部13と、受信部16と、送信部17とを制御する。
スレーブ装置10における2値レベル信号Pの受信動作について説明する。図2の(a)は、特許文献3のスレーブ装置10のメイン処理を示すフローチャートである。図2の(b)は、2値レベル信号Pの立ち下がりエッジにおける割り込み処理を示すフローチャートである。図2の(c)は、2値レベル信号Pの立ち上がりエッジにおける割り込み処理を示すフローチャートである。
まず、図2(a)のメイン処理について説明する。スレーブ装置10は初期化処理として、パルス幅を格納する変数W100を0にセットし(ステップS11)、パルス幅を格納する変数W200を0にセットし(ステップS12)、計測中を示す計測フラグMを計測中状態になるように1にセットする(ステップS13)。そして2値レベル信号Pのエッジにおける割り込みを許可する(ステップS14)。
スレーブ装置10は、後述のステップS36における計測フラグMが0となる計測完了を待つ(ステップS15)。即ちスレーブ装置10は、計測フラグMが1であるか否かをチェックし、計測フラグMが1であればステップS15を繰り返す。計測フラグMが1でなければ(0であれば)、計測が完了したものとしてステップS16に進む。
スレーブ装置10は、エッジ検出の割り込み処理を禁止して一連の処理を終了する(ステップS16)。
次に、図2の(b)を参照して、2値レベル信号Pの立ち下がりエッジにおける割り込み処理を説明する。スレーブ装置10は、エッジ割り込み許可の状態で、エッジ検出部11が2値レベル信号Pの立ち下りを検出すると割り込み処理を開始する。スレーブ装置10は、立ち下り割り込み処理で、タイマ12の初期化(ステップS21)と、タイマ12の起動(ステップS22)とを実行する。スレーブ装置10は、エッジ割り込み許可の状態で計測フラブMを判定するステップS15の処理へ戻る。
次に、図2の(c)を参照して、2値レベル信号Pの立ち上がりエッジにおける割り込み処理を説明する。スレーブ装置10は、エッジ割り込み許可の状態で、エッジ検出部11が2値レベル信号Pの立ち上がりを検出すると割り込み処理を開始する。スレーブ装置10は、立ち上がり割り込み処理で、タイマ12を停止し(ステップS31)、タイマ12の値を変数W200にセットする(ステップS32)。スレーブ装置10は、W100/W200≧11を判定し(ステップS33)、W100/W200≧11であれば、フレームの先頭を検出したものとしてステップS35に進む。一方、W100/W200<11であれば、フレームの先頭を検出したものではないとしてステップS34に進む。尚、処理開始最初にステップS33を通る場合には、W100は0であるのでステップS34に進むこととなる。
スレーブ装置10は、W100/W200<11の場合、変数W200を変数W100に代入する(ステップS34)。そして、立ち上がりエッジにおける割り込み処理を終了し、次のパルス幅計測を待つためにステップS15に戻る。
スレーブ装置10は、W100/W200≧11の場合、変数W200には1ビット幅に相当するタイマのカウント値が入っているので、ボーレートを1/(t×W200)として求める(ステップ35)。ここでtは、タイマ12の分解能である。
スレーブ装置10は、ボーレートを算出した後、計測フラグMを0にセットする(ステップS36)。そして、立ち上がりエッジにおける割り込み処理を終了し、ステップS15に戻る。
以上のように特許文献3のスレーブ装置10は動作し、1番目のパルス幅(W100)と2番目のパルス幅(W200)の比を求める。求めた比が11以上であれば、1番目のパルスがSynch Breakであり、2番目のパルスに続く2値レベル信号をSynch Fieldであると判断する。そして、変数W200の値に基づきボーレートを算出し、以降のデータフィールドを受信する。
特開2004−228945号公報 特開2000−209302号公報 特開2006−311237号公報
図3は、LINの通信プロトコルにおける通常の2値レベル信号Sの一部を示した図である。図3に示したAB間は、LINの通信プロトコルにおけるフレーム始まりを表すSynch Breakを示している。つまりAB間の長さは、11ビット以上のローレベルを転送するのにかかる時間である。ハイレベルを挟んで次のローレベルのCD間は、Synch Fieldの一部を示している。Synch Fieldは、1ビット毎に変調している。つまりCD間は、1ビットを転送するのにかかる時間を示している。更にハイレベルのDF間も、ローレベルのEF間も、CD間と同様のSynch Fieldの一部を示しており、1ビットを転送するのにかかる時間を示している。Synch Fieldの後にはLINの通信プロトコルにおけるデータが続くが、ここでは説明を省略する。
図4は、LINの通信プロトコルにおける2値レベル信号Sに異常パルスが含まれる例を示した図である。図4を参照すると、ab間は通常のローレベルのSynch Breakを示し、cd間は外部ノイズ等に起因する異常パルスを示す。特許文献3の技術は、図4に示した2値レベル信号Sに異常パルスのcd間を含み、更にab間とcd間のパルス幅の比が11以上であるとき、ab間をSynch Breakとし、cd間をSynch Fieldの1ビットを転送するのにかかる時間として誤判断してしまう可能性がある。即ち、特許文献3は、図3のような通常の2値レベル信号Sには対応出来るが、図4のような異常パルスを含む2値レベル信号Sに対応するには十分に対応出来ているとは言えなかった。
以下に、発明を実施するための最良の形態で使用される符号を括弧付きで用いて、課題を解決するための手段を記載する。この符号は、特許請求の範囲の記載と発明を実施するための最良の形態の記載との対応を明らかにするために付加されたものであり、特許請求の範囲に記載されている発明の技術的範囲の解釈に用いてはならない。
本発明の受信データ装置(100)は、信号の第1信号レベルが継続する第1パルス幅と第2パルス幅と第3パルス幅とを計測する計測部(120)と、第1パルス幅の第1パルスと第2パルス幅の第2パルス及び第2パルスと第3パルス幅の第3パルスは第1信号レベルと異なる第2信号レベルを挟んで連続し、第1パルス幅の計測値と第2パルス幅の計測値とに基づき第1パルスが信号の開始であり第2パルスが同期信号であることを判定する第1比較部(140)と、第2パルス幅の計測値と第3パルス幅の計測値とに基づき第2パルスと第3パルスとが共に同期信号であることを判定する第2比較部(150)と、第1比較部(140)の判定結果と第2比較部(150)の判定結果とに基づき、第2パルスを同期信号の先頭として確定する制御部(160)とを具備する。
一般にノイズは時間的にも規模的にもランダムに発生する性質を有している。一方、LINのプロトコル規定により、Synch Fieldは同じ幅のパルス列が連続する性質がある。この性質によって、2つのローレベルのパルス比が設定値以上であることが検出されると、第1パルス幅のパルスはSynch Breakであり、第2パルス幅のパルスはSynch Fieldのスタートビットである可能を含む。本発明の受信データ装置(100)は、第1パルス幅の計測値と第2パルス幅の計測値とに基づいて、第1パルスをSynch Breakとし、第2パルスをSynch Fieldと判定する。また、第2パルス幅の計測値と第3パルス幅の計測値とに基づいて、第2パルス及び第3パルスをSynch Fieldと判定する。そして、2つの判定結果に基づいて第2パルスをSynch Fieldのスタートビットであると確定することが出来る。
本発明の受信データ装置は、LINにおける信号がノイズなどの影響を受けたとしてもSynch Fieldを正確に検出することが出来るため、誤動作を回避し通信の信頼性を高めることが出来る。
以下、添付図面を参照して本発明の実施の形態による受信データ装置(スレーブ装置100)を説明する。
本発明の第1の実施の形態を説明する。図5は、本発明のスレーブ装置100の第1の実施の形態を含む通信システムのハードウエア構成例を示したブロック図である。図5を参照すると、通信システムは、スレーブ装置100と、マスタ装置200と、バス300とを具備する。
スレーブ装置100は、バス300を介してマスタ装置200から送信された2値レベル信号のデータを受信する。また、スレーブ装置100は、バス300を介して受信した2値レベル信号のデータに対する応答を必要に応じてマスタ装置200へ送信する。
マスタ装置200は、バス300を介してスレーブ装置100へ2値レベル信号のデータを送信する。また、マスタ装置200は、バス300を介してスレーブ装置100から送信された2値レベル信号のデータを受信する。
バス300は、スレーブ装置100及びマスタ装置200とが2値レベル信号のデータを送受信可能なように接続する。
スレーブ装置100は、信号検出部110と、タイマ120と、記憶部130と、第1比較部140と、第2比較部150と、制御部160と、ボーレート算出部170と、受信部180と、送信部190とを備える。
信号検出部110は、マスタ装置200から送信された2値レベル信号を受信し、ハイレベルとローレベルを検出する。信号検出部110は、ハイレベル及びローレベルを検出し続けてハイレベル及びローレベルである情報をタイマ120へ提供する。尚、信号検出部110は、2値レベル信号のハイレベルからローレベルへ変わるエッジ及びローレベルからハイレベルへ変わるエッジを検出して、エッジを検出した情報をタイマ120へ提供するように動作してもよい。
ここで、スレーブ装置100がマスタ装置200から送信された図3に示す2値レベル信号S(例えばA〜F)を取得する場合を説明する。信号検出部110は、Aのローレベルを検出し、ローレベルである情報をタイマ120へ提供する。信号検出部110は、ローレベルを検出している間、ローレベルである情報をタイマ120へ提供する。信号検出部110は、Bのローレベルからハイレベルに変化したことを検出し、ハイレベルである情報をタイマ120へ提供する。つまり、信号検出部110は、AB間(第1パルス幅)を検出しているときはローレベルである情報をタイマ120へ提供する。同様に信号検出部110は、BC間を検出しているときはハイレベルである情報をタイマ120へ提供し、CD間(第2パルス幅)を検出しているときはローレベルである情報をタイマ120へ提供する。D以降も同様である。尚、信号検出部110が、エッジを検出した情報のみをタイマ120へ送信する場合には、Aにおいてハイレベルからローレベルに変化したエッジの情報をタイマ120へ送信する。更に、信号検出部110は、Bにおいてローレベルからハイレベルに変化したエッジの情報をタイマ120へ送信する。C以降も同様に動作する。
タイマ120は、信号検出部110から提供されるハイレベル及びローレベルの情報を取得する。タイマ120は、ローレベルの情報を取得している間、計測を実行する。そして、ハイレベルの情報を取得すると計測を停止する。即ち、タイマ120は、マスタ装置200から受信した2値レベル信号のローレベルのパルス幅を計測する。計測は、タイマ120の分解能t(秒)に基づく単位で行われる。つまり、例えばタイマ120のパルス幅の計測値Wが104であり、タイマ120の分解能t(秒)が1μ(秒)である場合、パルス幅の計測値Wの104は、0.000001×104(秒)と時間で表すことが出来る。尚、タイマ120は、ハイレベルの情報を取得している間に計測を実行し、ローレベルの情報を取得すると計測を停止するように動作させることも可能である。また、タイマ120は、信号検出部110からエッジの情報を取得する場合は、ハイレベルからローレベルに変化したエッジの情報に基づいて計測を実行する。そして、タイマ120は、ローレベルからハイレベルに変化したエッジの情報に基づいて計測を停止する。
ここで、図3の2値レベル信号Sを取得する場合、タイマ120は信号検出部110からAB間(第1パルス幅)、CD間(第2パルス幅)、EF間(第3パルス幅)のローレベルの情報を取得する。同様にタイマ120は、BC間、DE間のハイレベルの情報を取得する。タイマ120は、AB間(第1パルス幅)と、CD間(第2パルス幅)と、EF間(第3パルス幅)とのローレベルの情報を取得している間、計測を実行する。タイマ120がエッジの情報を取得する場合も同様に、AB間と、CD間と、EF間とのパルス幅を計測することになる。
タイマ120は、パルス幅の計測値Wを記憶部130へ提供する。タイマ120は、パルス幅の計測が終了する毎に計測値Wを記憶部130へ提供する。
図3の2値レベル信号Sを取得する場合、タイマ120はAB間(第1パルス幅)の計測が終了すると計測値W10を記憶部130へ提供する。同様に、タイマ120は、CD間(第2パルス幅)の計測が終了すると計測値W20を記憶部130へ提供し、EF間(第3パルス幅)の計測が終了すると計測値W30を記憶部130へ提供する。
記憶部130は、タイマ120から提供される計測値Wを取得し、第1比較部140及び第2比較部150へ提供する。記憶部130の具体的な一例を紹介する。記憶部130は、第1記憶部131と、第2記憶部132と、第3記憶部133とを含む。第1記憶部131は、タイマ120から提供される計測値Wを取得する。第1記憶部131は、新たに計測値Wがタイマ120から提供されると、取得している計測値Wを第2記憶部132へ提供する。第2記憶部132は、第1記憶部131から提供される計測値Wを取得する。第2記憶部は、新たに計測値Wが第1記憶部131から提供されると、取得している計測値Wを第3記憶部133へ提供する。第3記憶部133は、第2記憶部132から提供される計測値Wを取得する。第3記憶部133は、新たに計測値Wが第2記憶部132から提供されると、取得している計測値Wを消去する。即ち、記憶部130は、タイマ120から提供される計測値Wを第1記憶部131、第2記憶部132、第3記憶部133と順番にシフトしていく。そして、第1記憶部131は、取得した計測値Wを第2比較部150へ提供する。第2記憶部132は、取得した計測値Wを第1比較部140及び第2比較部150へ提供する。第3記憶部133は、取得した計測値Wを第1比較部140へ提供する。また、尚、記憶部130はこの具体例に限定するものではなく、タイマ120から取得した計測値Wを、第1記憶部131、第2記憶部132、第3記憶部133の各々へ直接格納するようにしてもよい。
図3の2値レベル信号Sを取得する場合、記憶部130は、AB間(第1パルス幅)の計測値W10と、CD間(第2パルス幅)の計測値W20と、EF間(第3パルス幅)の計測値W30とを順番に取得する。つまり、記憶部130がEF間(第3パルス幅)の計測値W30を取得したときは、第1記憶部131がEF間の計測値W30を有し、第2記憶部132がCD間の計測値W20を有し、第3記憶部133がAB間の計測値W10を有している。
第1比較部140は、記憶部130から2つの計測値Wを取得し、取得した計測値Wが条件を満たすか否かを判定する。第1比較部140が判定する条件は、「第3記憶部133の計測値WがSynch Breakであり、第2記憶部132の計測値WがSynch Fieldであること」である。第1比較部140の具体例を紹介する。第1比較部140は、第3記憶部133からの計測値Wと、第2記憶部132からの計測値Wとを取得する。第1比較部140は、前述の条件を判定するための計算式と判定基準を有している。例えば、計算式は(第3記憶部133からの計測値W)/(第2記憶部132からの計測値W)などが挙げられる。そして第1比較部140は、この計算式の計算値と判定基準とに基づき前述の条件を判定する。判定基準は、例えば「計算値が設定値よりも大きいこと」や、「計算値が設定値以上であること」などである。計算値が判定基準を満たせば、条件を満たしたことになる。条件を判定する計算式、判定基準及び設定値などは、ユーザが任意に設定出来るものとする。例えば、第3記憶部133からの計測値WがLINにおけるSynch Breakであり、第2記憶部132からの計測値WがSynch Fieldであるか否かを判定するには、前述の計算式において、LINにおけるSynch Breakの転送時間とSynch Fieldの1ビットを転送するのにかかる時間のとの比率である11を設定値とすればよい。つまり、前述の計算式の計算値が11以上であれば、第3記憶部133からの計測値WがSynch Breakであり、第2記憶部132からの計測値WがSynch Fieldであるとみなせる。但し、スレーブ装置100は、第1比較部140の判定のみではSynch BreakとSynch Fieldとを確定しない。第1比較部140は、取得した計測値Wが条件を満たした場合、判定結果として条件を満たした情報を制御部160へ提供する。尚、第1比較部140は、条件を満たさない場合に情報を制御部160へ提供するように動作することも可能である。
ここで、図3の2値レベル信号Sを取得する場合、第1比較部140は、第3記憶部133からAB間の計測値W10と、第2記憶部132からCD間の計測値W20とを取得する。第1比較部140は、計算式を有しており、計測値W10/計測値W20を計算する。ここで計測値W10がSynch Breakであり、計測値W20がSynch Fieldであることの条件を判定するため、計算値の判定基準は「11以上であること」とする。計算値が11以上であれば、第1比較部140は、判定結果として条件を満たした情報を制御部160へ提供する。
第2比較部150は、記憶部130から2つの計測値Wを取得し、取得した計測値Wが条件を満たすか否かを判定する。第2比較部150が判定する条件は、「第1記憶部131の計測値Wと第2記憶部132の計測値Wとが共にSynch Fieldであること」である。第2比較部150の具体例を紹介する。第2比較部150は、第1記憶部131の計測値Wと第2記憶部132の計測値Wとを取得する。第2比較部150は、前述の条件を判定するために誤差の値を算出する計算式と判定基準を有している。例えば、計算式は(第2記憶部131からの計測値W)−(第1記憶部131からの計測値W)などが挙げられる。そして第2比較部150は、この計算式の計算値(誤差の値)と判定基準とに基づき前述の条件を判定する。判定基準は、例えば「誤差の値が許容誤差以内であること」などである。許容誤差の例としては、「Synch Fieldの1ビットを転送するのにかかる時間の20分の1以内であること」などが挙げられる。誤差の値が判定基準を満たせば、条件を満たしたことになる。条件を判定する計算式、判定基準及び許容誤差は、ユーザが任意に設定出来るものとする。第2比較部150は、第1記憶部131からの計測値Wと、第2記憶部132からの計測値Wとが共にSynch Fieldであることを判定しているため、第2記憶部132からの計測値Wと、第1記憶部131からの計測値Wとの誤差の値が少なければ、共にSynch Fieldであるとみなせる。但し、スレーブ装置100は、第2比較部150の判定のみではSynch Fieldを確定しない。第2比較部150は、条件を満たした場合、判定結果として条件を満たした情報を制御部160へ提供する。尚、第2比較部150は、条件を満たさない場合に情報を制御部160へ提供するように動作することも可能である。
ここで、図3の2値レベル信号Sを取得する場合、第2比較部150は、第2記憶部132からCD間の計測値W20と、第1記憶部131からEF間の計測値W30とを取得する。第2比較部150は、計算式を有しており、(計測値W20−計測値W30)を計算する。ここで計算値W20と計算値W30とがSynch Fieldであることの条件を判定するため、計算値の判定基準は「Synch Fieldの1ビットを転送するのにかかる時間の20分の1以内であること」とする。誤差の値が判定基準を満たせば、第2比較部150は、判定結果として条件を満たした情報を制御部160へ提供する。
制御部160は、第1比較部140と第2比較部150とから判定結果を取得する。そして、制御部160は、第1比較部140と第2比較部150との両方から条件を満たした情報を取得すると、第2記憶部が取得している計測値Wを取得する。そして、取得した計測値Wをボーレート算出部170へ提供する。即ち、制御部160は、第1比較部140と第2比較部150との判定結果に基づいて、第2記憶部132の計測値WがSynch Fieldのスタートビットであると確定している。
また、制御部160は、マスタ装置200から送信された2値レベル信号のデータを受信部180から取得し、スレーブ装置100に備わる各種機能部へ提供する。尚、スレーブ装置100は、装置を機能させる様々な回路等を有するが、本発明に関わらない機能部は説明及び図示を省略する。制御部160は、マスタ装置200へ送信するデータを各種機能部から取得し、送信部190へ提供する。
図3の2値レベル信号を取得する場合、制御部160は、第1比較部140と第2比較部150とから判定結果を取得する。制御部160は、第1比較部140の判定結果として条件を満たした情報と、第2比較部150の判定結果として条件を満たした情報とを取得した場合、第2記憶部132が保持しているCD間の計測値W20を取得する。つまり、スレーブ装置100は、第1比較部140の判定結果(AB間はSynch Breakであり、CD間はSynch Fieldのスタートビットである)と、比較部150の判定結果(CD間がSynch Fielfのスタートビットである)とから、それぞれを確定していることになる。よって、制御部160は、Synch Fieldのスタートビットとして確定した計測値W20の値を第2記憶部132から取得し、取得した計測値W20をボーレート算出部170へ提供する。
ボーレート算出部170は、制御部160から提供される計測値Wを取得する。そして、1/(計測値W×分解能t)(1/秒)としてボーレートを算出する。Synch Fieldは1つの変調当たり1ビットを転送するので、データ転送レートは、1(ビット)/(計測値W×分解能t)(ビット/秒)となる。例えば、分解能tが1μ(秒)であり、計測値Wが104であれば、ボーレートは、1/(0.000001(秒)×104)=9615(1/秒)となる。よって、データ転送レートは、1(ビット)/(0.000001(秒)×104)=9615(ビット/秒)となる。ボーレート算出部170は、算出したボーレートを受信部180へ提供する。
受信部180は、ボーレート算出部170よりボーレートを取得する。受信部180は、取得したボーレートに基づいて、マスタ装置200から送信された2値レベル信号のデータを受信する。受信部180は、受信した2値レベル信号のデータを制御部160へ提供する。
送信部190は、バス300を介して制御部160から提供されるデータをマスタ装置200へ送信する。
図6A及び図6Bは、本発明の第1の実施の形態のスレーブ装置100を含む通信システムの処理動作を示したフローチャートである。図6A及び図6Bを参照して、図3に示した2値レベル信号Sをスレーブ装置100が受信する場合を説明する。
マスタ装置200は、バス300を介して図3に示した2値レベル信号Sのデータを送信する(ステップA01)。
信号検出部110は、Aのローレベルを検出しBまでの間、ローレベルである情報をタイマ120へ提供する。信号検出部110は、エッジの情報のみを提供する場合は、Aのハイレベルからローレベルへ変化するエッジを検出し、エッジの情報をタイマ120へ提供する(ステップA02)。
タイマ120は、Aのローレベルである情報を取得したときに、計測値をリセットする。そして、タイマ120は、AからBまでのローレベルである情報を取得し、AB間の計測を行う。計測はタイマ120の分解能t(秒)を基準に実行される。タイマ120は、信号検出部110からエッジの情報のみを取得する場合は、Aにおけるハイレベルからローレベルへ変化するエッジの情報に基づき計測値をリセットし、その後計測を開始する(ステップA03)。
信号検出部110は、Bのローレベルからハイレベルに変化したことを検出し、タイマ120へハイレベルである情報を提供する。信号検出部110は、エッジの情報のみを提供する場合は、Bにおいてローレベルからハイレベルに変化するエッジの情報をタイマ120へ提供する(ステップA04)。
タイマ120は、Bのハイレベルである情報を信号検出部110から取得すると、計測を停止する。タイマ120は、信号検出部110からエッジの情報のみを取得する場合は、Bにおけるローレベルからハイレベルへ変化するエッジの情報に基づき計測値を停止する(ステップA05)。タイマ120は、AB間の計測値W10を第1記憶部131提供する。
第1記憶部131は、タイマ120からAB間の計測値W10を取得する(ステップA06)。第1記憶部131は、取得したAB間の計測値W10を第2比較部150へ提供する。
第1比較部140は、「第3比較部133の計測値WがSynch Breakであり、第2記憶部132の計測値WがSynch Fieldであること」を条件として有する。そして、条件を判定するために、計算式は(第3記憶部133の計測値W)/(第2記憶部132からの計測値W)とする。判定基準は、「11以上であること」とする。計算値が判定基準を満たせば、条件が満たされたことを表す。第1比較部140は、ここでは計測値Wを取得していないため、条件を満たした情報を制御部160へ提供しない(ステップA07−1)。
第2比較部150は、「第1記憶部131の計測値Wと第2記憶部132の計測値Wとが共にSynch Fieldであること」を条件として有する。そして、条件を判定するために、誤差の値の計算式は(第2記憶部132の計測値W)−(第1記憶部131の計測値W)とする。判定基準は、「Synch Fieldの1ビットを転送するのに掛かる時間の20分の1以内であること」とする。誤差の値が判定基準を満たせば、条件が満たされたことを表す。第2比較部150は、第1記憶部131からAB間の計測値W10を取得する。ここでは第2比較部150は、第2記憶部132から計測値Wを取得していないため、条件を満たさない。よって、第2比較部150は、条件を満たした情報を制御部160へ提供しない(ステップA07−2)。尚、ステップA07−1とステップA07−2との順序は問わないとする。
制御部160は、第1比較部140と第2比較部150との両方から条件を満たす情報を取得したかを判定する(ステップA08)。ここでは、両方から条件を満たす情報を取得していないため、ステップA02へ進む。
次に、スレーブ装置100が図3に示した2値レベル信号のBD間を受信する動作を説明する。信号検出部110は、BからCまでの間、ハイレベルある情報をタイマ120へ提供する。信号検出部110がエッジの情報のみを提供する場合の動作は、AB間の受信と同様であるため説明を省略する。
タイマ120は、BからCまでのハイレベルである情報を取得し、BC間の計測を行わない。
信号検出部110は、Cのハイレベルからローレベルに変化したことを検出し、タイマ120へローレベルである情報を提供する(ステップA02)。
タイマ120は、Cのローレベルである情報を取得すると計測値Wをリセットする。そして、タイマ120は、CからDまでのローレベルである情報を取得し、CD間の計測を行う(ステップA03)。
信号検出部110は、Dのローレベルからハイレベルに変化したことを検出し、タイマ120へハイレベルである情報を提供する(ステップA04)。
タイマ120は、Dのハイレベルである情報を信号検出部110から取得すると、計測を停止する(ステップA05)。タイマ120は、CD間の計測値W20を第1記憶部131提供する。
第1記憶部131は、タイマ120からCD間の計測値W20を取得する(ステップA06)。第1記憶部131は、AB間の計測値W10を第2記憶部132へ提供する。また、第1記憶部131は、取得したCD間の計測値W20を第2比較部150へ提供する。
第2記憶部132は、AB間の計測値W10を取得する。そして、第2記憶部132は、取得したAB間の計測値W10を第1比較部140と第2比較部150とに提供する。
第1比較部140は、第2記憶部131からAB間の計測値W10を取得する。ここでは第1比較部140は、第3記憶部133から計測値Wを取得していないため条件を満たさない。よって、第1比較部140は、条件を満たす情報を制御部160へ提供しない(ステップA07−1)。
第2比較部150は、第1記憶部131からCD間の計測値W20を取得する。更に、第2記憶部132からAB間の計測値W10を取得する。そして、計測値W10と計測値W20との誤差の値を算出する。AB間とCD間とは差が大きく誤差の値が判定基準を満たさないため、第2比較部150は条件を満たす情報を制御部160へ提供しない(ステップA07−2)。
制御部160は、第1比較部140と第2比較部150との両方から条件を満たす情報を取得したかを判定する(ステップA08)。ここでは、両方から条件を満たす情報を取得していないため、ステップA02へ進む。
次に、スレーブ装置100が図3に示した2値レベル信号のDF間を受信する動作を説明する。信号検出部110は、DからEまでの間、ハイレベルある情報をタイマ120へ提供する。信号検出部110がエッジの情報のみを提供する場合の動作は、AB間の受信と同様であるため説明を省略する。
タイマ120は、DからEまでのハイレベルである情報を取得し、DE間の計測を行わない。
信号検出部110は、Eのハイレベルからローレベルに変化したことを検出し、タイマ120へローレベルである情報を提供する(ステップA02)。
タイマ120は、Eのローレベルである情報を取得すると計測値Wをリセットする。そして、タイマ120は、EからFまでのローレベルである情報を取得し、EF間の計測を行う(ステップA03)。
信号検出部110は、Fのローレベルからハイレベルに変化したことを検出し、タイマ120へハイレベルである情報を提供する(ステップA04)。
タイマ120は、Fのハイレベルである情報を信号検出部110から取得すると、計測を停止する(ステップA05)。タイマ120は、EF間の計測値W30を第1記憶部131提供する。
第1記憶部131は、タイマ120からEF間の計測値W30を取得する(ステップA06)。第1記憶部131は、CD間の計測値W20を第2記憶部132へ提供する。また、第1記憶部131は、取得したEF間の計測値W30を第2比較部150へ提供する。
第2記憶部132は、CD間の計測値W20を取得すると共に、AB間の計測値W10を第3記憶部133へ提供する。そして、第2記憶部132は、取得したCD間の計測値W20を第1比較部140と第2比較部150とに提供する。
第3記憶部133は、AB間の計測値W10を取得する。第3記憶部133は、計測値W10を第1比較部140へ提供する。
第1比較部140は、第2記憶部132からCD間の計測値W20を取得する。更に、第3記憶部133からAB間の計測値W10を取得する。第1比較部140は、計測値W10/計測値W20を計算する。第1比較部140は、計算値が11以上であるか否かを判定する。第1比較部140は、計算値が11以上である場合、条件を満たした情報を制御部160へ提供する。計算値が11以上でない場合、条件を満たす情報を制御部160へ提供しない(ステップA07−1)。
第2比較部150は、第1記憶部131からEF間の計測値W30を取得する。更に、第2記憶部132からCD間の計測値W20を取得する。そして、計測値W20と計測値W30との誤差の値を算出する。第2比較部150は、誤差の値が判定基準を満たす場合、条件を満たした情報を制御部160へ提供する。条件を満たさない場合、条件を満たす情報を制御部160へ提供しない(ステップA07−2)。
制御部160は、第1比較部140と第2比較部150との両方から条件を満たす情報を取得すると、第2記憶部132の計測値W20を取得する。つまり、AB間がLINにおけるSynch Breakであり、CD間がSynch Fieldのスタートビットであることが確定したことになる。制御部160は、取得した計測値W20をボーレート算出部170へ提供する(ステップA08、ステップA09)。
ボーレート算出部170は、制御部160から提供される計測値W20を取得する。そして、1/(計測値W20×分解能t)(1/秒)としてボーレートを算出する。Synch Fieldは1つの変調当たり1ビットを転送するので、データ転送レートは、1(ビット)/(計測値W20×分解能t)(ビット/秒)となる。ボーレート算出部170は、算出したボーレートを受信部180へ提供する(ステップA10)。
受信部180は、ボーレート算出部170よりボーレートを取得する。受信部180は、取得したボーレートに基づいて、マスタ装置200から送信された2値レベル信号Sのデータを受信する(ステップA11)。受信部180は、受信したデータを制御部160へ提供する。
制御部160は、マスタ装置200から送信された2値レベル信号Sのデータを受信部180から取得し、スレーブ装置100に備わる各種機能部へ提供する。制御部160は、マスタ装置200へ送信するデータを各種機能部から取得し、送信部190へ提供する。
送信部190は、バス300を介して制御部160から提供されるデータをマスタ装置200へ送信する。
本発明の実施の形態によるデータ受信装置(スレーブ装置100)は、CPUとプログラムとを備え、これらの各部あるいはその一部をCPUがプログラムを実行することで機能させるようにしてもよい。CPUは制御部160に含まれ、プログラムは記憶部130に含まれるとし、図5に示した各ハードウエアをCPUとプログラムに基づく機能ブロックとして説明する。
図7は、本発明のデータ受信装置(スレーブ装置100)の第1の実施の形態によるプログラムのメイン処理動作を示したフローチャートである。図7を参照して、本発明の第1の実施の形態による処理動作を説明する。
記憶部130はパルス幅の計測値Wを格納する変数W1を0にセットする(ステップS41)。
記憶部130は、パルス幅の計測値Wを格納する変数W2を0にセットする(ステップS42)。
制御部160は、Synch BreakとSynch Fieldの組み合わせと仮定したときの同期仮定フラグYを有しており、同期仮定フラグYを0にセットする(ステップS43)。同期仮定フラグYを1にすることは、前述した「第3記憶部133の計測値WがSynch Breakであり、第2記憶部132の計測値WがSynch Fieldであること」の条件を満たしたことに相当する。
信号検出部110は、計測中を示す計測フラグMを有しており、計測フラグMを計測状態になるように1にセットする(ステップS44)。信号検出部110は、2値レベル信号Sのエッジを検出し、エッジおける割り込みを許可する(ステップS45)。
信号検出部110は、計測フラグMが0となる計測完了を待つ(ステップS46)。計測完了となる状態の詳細は後述する。信号検出部110は、計測フラグMが1の場合、ステップS46を繰り返す。信号検出部110は、計測フラグMが1でなければ(0であれば)、計測が完了したものとしてステップS47へ進む。
スレーブ装置100は、計測フラグMが1でなければエッジにおける割り込みを禁止し、一連の処理動作を終了する(ステップS47)
図8は、本発明のデータ受信装置(スレーブ装置100)の第1の実施の形態によるプログラムの立ち下がり割り込み処理動作を示したフローチャートである。図8を参照して、2値レベル信号Sの立ち下がりエッジにおける割り込み処理を説明する。スレーブ装置100は、図7に示したステップS45のエッジ割り込み許可状態において、信号検出部110が2値レベル信号Sの立ち下がり(例えば図3のA)を検出すると、割り込み処理を開始する。信号検出部110は、2値レベル信号Sのハイレベルからローレベルへ変化したエッジの情報をタイマ120へ提供する。タイマ120は、ハイレベルからローレベルへ変化したエッジの情報に基づいて計測値を初期化する(ステップS51)。そして、タイマ120は、計測を開始する(ステップS52)。ステップS51及びステップS52は、図6AのステップA02からA03に対応する。
図9は、本発明のデータ受信装置(スレーブ装置100)の第1の実施の形態によるプログラムの立ち上がり割り込み処理動作を示したフローチャートである。図9を参照して、2値レベル信号Sの立ち上がりエッジにおける割り込み処理を説明する。スレーブ装置100は、図8の処理動作の後、図7に示したステップS45のエッジ割り込み許可状態において、信号検出部110が2値レベル信号Sの立ち上がり(例えば図3のB)を検出すると、割り込み処理を開始する。信号検出部110は、2値レベル信号Sのローレベルからハイレベルへ変化したエッジの情報をタイマ120へ提供する。タイマ120は、ローレベルからハイレベルへ変化したエッジの情報に基づいて、計測を停止する。タイマ120は、計測値Wを記憶部130へ提供する。(ステップS61)。ステップS61は、図6AのステップA04からA06に対応する。
制御部160は、同期仮定フラグYが1又は0であるかを判定する(ステップS62)。
ステップS62において、制御部160が同期仮定フラグYは0であると判定した場合、記憶部130は計測値Wの値を変数W2へ格納する(ステップS63)。記憶部130は、変数W1と変数W2とを第1比較部140へ提供する。
第1比較部140は、「変数W1に格納した計測値WがSynch Breakであり、変数W2に格納した計測値WがSynch Fieldであること」の条件を有している。第1比較部140は、条件を判定するための計算式として「変数W1/変数W2」を有し、判定基準として「11以上であること」を有している。第1比較部140は、計算値が判定基準を満たしたか否かを判定する(ステップS64)。ここで計算値が11以上である場合、第1比較部140は、変数W1に格納した計測値WがLINにおけるSynch Breakであり、変数W2に格納した計測値WがSynch Fieldであるとみなしたことを表す。計算値が11未満である場合は、Synch Break及びSynch Fieldを見つけていないことになる。尚、処理開始最初にステップS64を通る場合は、変数W1は0であるためステップS66へ進む。ステップS64は、図6AのステップA07−1に対応する。
ステップS64において、計算値が11以上の場合、制御部160は同期仮定フラグYを1にセットする(ステップS65)。その後、スレーブ装置100は立ち上がり割り込み処理を終了し、図7に示したステップS45のエッジ割り込み許可の状態になり、次のパルスに基づいてSynch Fieldを確定する。
ステップS64において、計算値が11未満の場合、記憶部130は変数W1の値を消去して、変数1に変数W2の値を提供する(ステップS66)。
制御部160は、同期仮定フラグYを0にセットする(ステップS67)。その後、スレーブ装置100は立ち上がり割り込み処理を終了し、図7に示したステップS45のエッジ割り込み許可の状態になる。
ステップS62において、制御部160が同期仮定フラグYは1であると判定した場合、記憶部130は計測値Wと変数W2とを第2比較部150へ提供する。このとき、同期仮定フラグYが1であることから、「変数W1に格納した計測値WがSynch Breakであり、変数W2に格納した計測値WがSynch Fieldであること」の条件を満たしていることを表している。第2比較部150は、「変数W2に格納した計測値Wと計測値Wとが共にSynch Fieldであること」の条件を有している。第2比較部150は、計測値Wと変数W2との誤差の値を算出する。ここで、第2比較部150は、誤差の計算式として「変数W2−計測値W」を有し、判定基準として「Synch Fieldの1ビットを転送するのにかかる時間の20分の1以内であること」を有しているとする。第2比較部150は、誤差の値が判定基準を満たしているか否かを判定する(ステップS68)。尚、スレーブ装置100の第1の実施の形態によるプログラムとCPUを用いた処理動作の場合、第1比較部140と、第2比較部150とは同一の機能部でもよい。ステップS68は、図6AのステップA07−2に対応する。
ステップS68において、誤差の値が大きく判定基準を満たさない場合は、ステップS66へ進む。つまり、制御部160は、計測値W又は変数W2を、外部ノイズ等に起因する異常パルスであったとみなす。ステップS68において、誤差の値が判定基準を満たす場合は、記憶部130は変数W2をボーレート算出部170に提供する。つまり、変数W2に格納した計測値WはSynch Fieldのスタートビットであることが確定できたことを意味する。ここでの処理動作は、図6BのステップA08、A09に対応する。
ボーレート算出部170は、Synch Fieldのスタートビットとして確定した変数W2を記憶部130から取得する。そして、1/(変数W2×分解能t)(1/秒)としてボーレートを算出する。Synch Fieldは1つの変調当たり1ビットを転送するので、データ転送レートは、1(ビット)/(変数W2×分解能t)(ビット/秒)となる。ボーレート算出部170は、算出したボーレートを受信部180へ提供する(ステップS69)。受信部180は、取得したボーレートに基づいてマスタ装置200から2値レベル信号のデータを受信する。ステップS69は、図6BのステップA10に対応する。
信号検出部110は、計測フラグMを0にセットし、立ち上がり割り込み処理を終了する(ステップS70)。そして、スレーブ装置100は、図7に示したステップS46へ進む。
本発明の第1の実施の形態によるスレーブ装置100は、LINにおける信号がノイズなどの影響を受けたとしてもSynch Fieldを正確に検出することが可能である。何故なら、スレーブ装置100は、受信した2値レベル信号の第1パルス幅と第2パルス幅との比に基づき第2パルス幅のパルスをSynch Fieldと確定するのではなく、更に第2パルス幅と第3パルス幅との誤差を検証した上で第2パルス幅のパルスをSynch Fieldと確定しているからである。LINは、マスタ装置200に対してスレーブ装置100が非同期に動作し、更にSynch Break信号は不定長の規定もあるため、一般的には正確なSynch Fieldの検出は困難である。しかし、本発明のスレーブ装置100は、Synch Fieldをより正確に検出できるため、誤動作を回避して通信の信頼性を高める効果を有している。
次に、本発明の第2の実施の形態を説明する。本発明の第2の実施の形態は、第1の実施の形態と比べて更に精度よくノイズ等に起因する異常パルスを判断して誤動作を回避することが出来る。図10は、本発明のスレーブ装置100の第2の実施の形態を含む通信システムのハードウェア構成例を示したブロック図である。図10を参照すると、通信システムは、スレーブ装置100と、マスタ装置200と、バス300とを具備する。マスタ装置200及びバス300の動作は、第1の実施の形態と同様である。
スレーブ装置100は、信号検出部110と、タイマ120と、記憶部130と、第1比較部140と、第2比較部150と、第3比較部155と、平均値算出部156と、制御部160と、ボーレート算出部170と、受信部180と、送信部190とを備える。記憶部130は、第1記憶部131と、第2記憶部132と、第3記憶部133と、第4記憶部134とを含む。本発明の第2の実施の形態は、第1の実施の形態の構成に、記憶装置130の第4記憶部134と、第3比較部155と、平均値算出部156との構成を更に含んだ構成である。信号検出部110と、タイマ120と、受信部180と、送信部190と、マスタ装置200との構成及び動作は第1の実施の形態と同様である。
記憶部130は、タイマ120から計測値Wを取得する。記憶部130は、取得した計測値Wを第1比較部140、第2比較部150、第3比較部155及び平均値算出部156へ提供する。記憶部130の第2の実施の形態による具体的な一例を紹介する。記憶部130は、第1記憶部131と、第2記憶部132と、第3記憶部133と、第4記憶部134とを含む。記憶部130は、第1の実施の形態と同様に、タイマ120から提供される計測値Wを第1記憶部131、第2記憶部132、第3記憶部133、第4記憶部134へ順番にシフトしていく。また、第1記憶部131は、取得した計測値Wを第3比較部155へ提供する。第2記憶部132は、取得した計測値Wを第2比較部150へ提供する。第3記憶部133は、取得した計測値Wを第1比較部140、第2比較部150及び第3比較部155へ提供する。第4記憶部134は、取得した計測値Wを第1比較部140へ提供する。更に、第1記憶部131、第2記憶部132及び第3記憶部133は、取得した計測値Wを平均値算出部156へ提供する。尚、記憶部130はこの具体例に限定するものではない。
第1比較部140、第2比較部150及び第3比較部155は、記憶部130から2つの計測値Wを取得し、取得した計測値Wが条件を満たすか否かを判定する。第1比較部140が判定する条件は、「第4記憶部134の計測値WがSynch Breakであり、第3記憶部133の計測値WがSynch Fieldであること」である。第1比較部140の具体例を紹介する。第1比較部140は、第3記憶部133からの計測値Wと、第4記憶部134からの計測値Wとを取得する。第1比較部140は、前述の条件を判定するための計算式と判定基準を有している。例えば、計算式は(第4記憶部134からの計測値W)/(第3記憶部133からの計測値W)などが挙げられる。そして、第1比較部140は、この計算式の計算値と判定基準とに基づいて前述の条件を判定する。判定基準は、例えば「11(設定値)以上であること」などが挙げられる。計算値が判定基準を満たせば、条件を満たしたことになる。条件を判定する計算式、判定基準及び設定値などは、ユーザが任意に設定出来るものとする。但し、スレーブ装置100は第1比較部140の判定のみではSynch BreakとSynch Fieldとを確定しない。第1比較部140は、取得した計測値Wが条件を満たした場合、判定結果として条件を満たした情報を制御部160へ提供する。
第2比較部150が判定する条件は、「第2記憶部132の計測値Wと第3記憶部133の計測値Wとが共にSynch Fieldであること」である。第2比較部150の具体例を紹介する。第2比較部150は、第2記憶部132の計測値Wと第3記憶部133の計測値Wとを取得する。第2比較部150は、前述の条件を判定するために誤差を算出する計算式と判定基準とを有している。例えば、計算式は(第3記憶部133の計測値W−第2記憶部132の計測値W)などが挙げられる。第2比較部150は、この計算式の誤差の値が判定基準を満たせば条件を満たしたと判定する。判定基準の例は第1の実施の形態と同様である。条件を判定する計算式、判定基準及び許容誤差は、ユーザが任意に設定出来るものとする。第2比較部150は、第2記憶部132の計測値Wと第3記憶部133の計測値Wとの誤差が少なければ、共にSynch Fieldであるとみなす。但し、ここでもスレーブ装置100は、第2比較部150の判定のみではSynch Fieldを確定しない。第2比較部150は、条件を満たした場合、判定結果として条件を満たした情報を制御部160へ提供する。
第3比較部155は、第2比較部150と同様の判定を行う。第3比較部155が判定する条件は、「第1記憶部131の計測値Wと第3記憶部133の計測値Wとが共にSynch Fieldであること」である。第3比較部155の具体例を紹介する。第3比較部155は、第1記憶部131からの計測値Wと、第3記憶部133からの計測値Wとを取得する。第3比較部155は、第2比較部150と同様に第1記憶部131からの計測値Wと第3記憶部133からの計測値Wとの誤差の値を算出する。第3比較部155は、誤差の値が判定基準を満たせば条件を満たしたと判定する。判定基準の例は第2比較部150と同様である。条件を判定する計算式、判定基準及び許容誤差は、ユーザが任意に設定出来るものとする。第3比較部155は、第2記憶部132の計測値Wと第3記憶部133の計測値Wとの誤差が少なければ、共にSynch Fieldであるとみなす。但し、ここでもスレーブ装置100は、第3比較部155の判定のみではSynch Fieldを確定しない。第3比較部155は、条件を満たした場合、判定結果として条件を満たした情報を制御部160へ提供する。本発明の第2の実施の形態は、第3比較部155を備えることによって、Synch Fieldを確定するために計測するパルス幅の数を増加させ、より正確に判定できるように構成されている。
平均値算出部156は、第1記憶部131、第2記憶部132及び第3記憶部133の各々が保持する計測値Wを取得する。そして、計測値Wの平均値を算出する。
制御部160は、第1比較部140と第2比較部150と第3比較部155とから判定結果を取得する。そして、制御部160は、第1比較部140と第2比較部150と第3比較部155の全てから条件を満たした情報を取得すると、平均値算出部156が取得している平均値を取得する。つまり、制御部160が第1比較部140と第2比較部150と第3比較部155との判定結果に基づき、第4記憶部134の計測値WがSynch Breakであり、第3記憶部の計測値WがSynch Fieldであることを確定したことを表す。第3記憶部133の計測値WがSynch Fieldであることを確定するために、第1記憶部131及び第2記憶部132の計測値Wと第3記憶部133の計測値Wとの誤差が小さいことを判定しており、より正確な判定を行っている。そして制御部160は、取得した平均値をボーレート算出部170へ提供する。
また、制御部160は、第1の実施の形態と同様にマスタ装置200から送信された2値レベル信号のデータを受信部180から取得し、スレーブ装置100に備わる各種機能部へ提供する。更に、制御部160は、マスタ装置200へ送信するデータを各種機能部から取得し、送信部190へ提供する。
ボーレート算出部170は、制御部160から提供される平均値を取得する。そして、第1の実施の形態同様に、1/(平均値×分解能t)(1/秒)としてボーレートを算出する。Synch Fieldは1つの変調当たり1ビットを転送するので、データ転送レートは、1/(平均値×分解能t)(ビット/秒)となる。ボーレート算出部170は、算出したボーレートを受信部180へ提供する。受信部180及び送信部190の動作は第1の実施の形態と同様であるため説明は省略する。
図11A及び図11Bは、本発明の第2の実施の形態のスレーブ装置100を含む通信システムの処理動作を示したフローチャートである。図11A及び図11Bを参照して、図3に示した2値レベル信号Sをスレーブ装置100が受信する場合を説明する。
マスタ装置200は、バス300を介して図3に示した2値レベル信号Sのデータを送信する(ステップB01)。
信号検出部110及びタイマ120の動作(ステップB02からB05)は第1の実施の形態(ステップA02からA05)と同様であるため説明を省略する。第1記憶部131は、タイマ120からAB間の計測値W10を取得する(ステップB06)。第1記憶部131は、取得したAB間の計測値W10を第3比較部155及び平均値算出部156へ提供する。
第1比較部140は、「第4比較部134の計測値WがSynch Breakであり、第3記憶部133の計測値WがSynch Fieldであること」を条件として有する。そして、条件を判定するために、計算式は(第4記憶部134の計測値W)/(第3記憶部133からの計測値W)とする。判定基準は、「11以上であること」とする。計算値が判定基準を満たせば、条件が満たされたことを表す。第1比較部140は、ここでは計測値Wを取得していないため、条件を満たした情報を制御部160へ提供しない(ステップB07−1)。
第2比較部150は、「第2記憶部132の計測値Wと第3記憶部133の計測値Wとが共にSynch Fieldであること」を条件として有する。そして、条件を判定するために、誤差の値の計算式は(第3記憶部133の計測値W)−(第2記憶部132の計測値W)とする。判定基準は、「Synch Fieldの1ビットを転送するのに掛かる時間の20分の1以内であること」とする。誤差の値が判定基準を満たせば、条件が満たされたことを表す。ここでは、第2比較部150は計測値Wを取得していないため条件を満たさない。よって、第2比較部150は、条件を満たした情報を制御部160へ提供しない(ステップB07−2)。尚、ステップA07−1とステップA07−2との順序は問わないとする。
第3比較部155は、「第1記憶部131の計測値Wと第3記憶部133の計測値Wとが共にSynch Fieldであること」を条件として有する。そして、条件を判定するために、誤差の値の計算式は(第3記憶部133の計測値W)−(第1記憶部131の計測値W)とする。判定基準は、「Synch Fieldの1ビットを転送するのに掛かる時間の20分の1以内であること」とする。誤差の値が判定基準を満たせば、条件が満たされたことを表す。第3比較部155は、第1記憶部131からAB間の計測値W10を取得する。そして、誤差を算出する。ここでは第3比較部155は、第3記憶部133から計測値Wを取得していないため、条件を満たさない。よって、第3比較部155は、条件を満たした情報を制御部160へ提供しない(ステップB07−3)。尚、ステップB07−1とステップB07−2とステップB07−3との順序は問わないとする。
制御部160は、第1比較部140と第2比較部150と第3比較部155との全てから条件を満たす情報を取得したかを判定する(ステップB08)。ここでは、全てから条件を満たす情報を取得していないため、ステップB02へ進む。
次に、スレーブ装置100が図3に示した2値レベル信号のBD間を受信する動作を説明する。第1記憶部131は、タイマ120からCD間の計測値W20を取得する(ステップB06)。第1記憶部131は、AB間の計測値W10を第2記憶部132へ提供する。また、第1記憶部131は、取得したCD間の計測値W20を第3比較部155及び平均値算出部156へ提供する。
第2記憶部132は、AB間の計測値W10を取得する。そして、第2記憶部132は、取得したAB間の計測値W10を第2比較部150及び平均値算出部156に提供する。
第1比較部140は、計測値Wを取得していないため、条件を満たした情報を制御部160へ提供しない(ステップB07−1)。
第2比較部150は、第2記憶部132からAB間の計測値W10を取得する。ここでは第2比較部150は、第3記憶部133から計測値Wを取得していないため条件を満たさない。よって、第2比較部150は、条件を満たす情報を制御部160へ提供しない。第3比較部155も同様に、第3記憶部133から計測値Wを取得していないため条件を満たさない(ステップB07−2、ステップB07−3)。
平均値算出部156は、AB間の計測値W10及びCD間の計測値W20を取得する。そして、2つの平均値を算出し、平均値を保持する。
制御部160は、第1比較部140と第2比較部150と第3比較部155との全てから条件を満たす情報を取得したかを判定する(ステップB08)。ここでは、全てから条件を満たす情報を取得していないため、ステップB02へ進む。
次に、スレーブ装置100が図3に示した2値レベル信号のEF間を受信する動作を説明する。第1記憶部131は、タイマ120からEF間の計測値W30を取得する(ステップB06)。第1記憶部131は、CD間の計測値W20を第2記憶部132へ提供する。また、第1記憶部131は、取得したEF間の計測値W30を第3比較部155及び平均値算出部156へ提供する。
第2記憶部132は、CD間の計測値W20を取得すると共に、AB間の計測値W10を第3記憶部133へ提供する。そして、第2記憶部132は、取得したCD間の計測値W20を第2比較部150及び平均値算出部156に提供する。
第3記憶部133は、AB間の計測値W10を取得する。第3記憶部133は、計測値W10を第1比較部140、第2比較部150、第3比較部150及び平均値算出部156へ提供する。
第1比較部140は、第3記憶部133からAB間の計測値W10を取得する。ここでは第1比較部140は、第4記憶部134から計測値Wを取得していないため条件を満たさない。よって、第1比較部140は、条件を満たす情報を制御部160へ提供しない(ステップB07−1)。
第2比較部150は、第2記憶部132からCD間の計測値W20を取得する。更に、第3記憶部133からAB間の計測値W10を取得する。そして、計測値W10と計測値W20との誤差を算出する。AB間とCD間とは差が大きく誤差の値が判定基準を満たさないため、第2比較部150は条件を満たす情報を制御部160へ提供しない(ステップB07−2)。
第3比較部155は、第1記憶部131からEF間の計測値W30を取得する。更に、第3記憶部133からAB間の計測値W10を取得する。そして、計測値W10と計測値W20との誤差を算出する。AB間とEF間とは差が大きく誤差の値が判定基準を満たさないため、第3比較部155は条件を満たす情報を制御部160へ提供しない(ステップB07−3)。
平均値算出部156は、AB間の計測値W10、CD間の計測値W20及びEF間の計測値W30を取得する。そして、3つの平均値を算出し、平均値を保持する。尚、平均値算出部156は以前に算出した平均値は消去する。
制御部160は、第1比較部140と第2比較部150と第3比較部155との全てから条件を満たす情報を取得したかを判定する(ステップB08)。ここでは、全てから条件を満たす情報を取得していないため、ステップB02へ進む。
次に、スレーブ装置100が図3に示した2値レベル信号のGH間を受信する動作を説明する。第1記憶部131は、タイマ120からGH間の計測値W40を取得する(ステップB06)。第1記憶部131は、EF間の計測値W30を第2記憶部132へ提供する。また、第1記憶部131は、取得したGH間の計測値W40を第3比較部155及び平均値算出部156へ提供する。
第2記憶部132は、EF間の計測値W30を取得すると共に、CD間の計測値W20を第3記憶部133へ提供する。そして、第2記憶部132は、取得したEF間の計測値W30を第2比較部150及び平均値算出部156に提供する。
第3記憶部133は、CD間の計測値W20を取得すと共に、AB間の計測値W10を第4記憶部134へ提供する。そして、第3記憶部133は、取得したCD間の計測値W20を第1比較部140、第2比較部150、第3比較部155及び平均値算出部156へ提供する。
第4記憶部134は、AB間の計測値W10を取得する。このとき、第4記憶部134が別の計測値Wを保持している場合は消去する。そして、第3記憶部133は、取得したAB間の計測値W10を第1比較部140へ提供する。
第1比較部140は、第3記憶部133のCD間の計測値W20と第4記憶部134のAB間の計測値W10とを取得する。第1比較部140は、計測値W10/計測値W20を計算する。第1比較部140は、計算値が判定基準の11(設定値)以上であるか否かを判定する。第1比較部140は、計算値が11以上である場合、条件を満たした情報を制御部160へ提供する。このとき条件を満たした情報を制御部160へ提供することは、第1比較部140がAB間の計測値W10がSynch Breakであり、CD間の計測値W20がSynch Fieldであるとみなしていることを表す(ステップB07−1)。
第2比較部150は、第2記憶部132からEF間の計測値W30を取得する。更に、第3記憶部133からCD間の計測値W20を取得する。そして、計測値W30と計測値W20との誤差を算出する。第2比較部150は、誤差の値が判定基準を満たす場合、条件を満たした情報を制御部160へ提供する。このとき条件を満たした情報を制御部160へ提供することは、第2比較部150がCD間の計測値W20及びEF間の計測値W30をSynch Fieldであるとみなしていることを表す(ステップB07−2)。
第3比較部155は、第1記憶部131からGH間の計測値W40を取得する。更に、第3記憶部133からCD間の計測値W20を取得する。そして、計測値W40と計測値W20との誤差を算出する。第3比較部155は、誤差の値が判定基準を満たす場合、条件を満たした情報を制御部160へ提供する。このとき条件を満たした情報を制御部160へ提供することは、第3比較部155がCD間の計測値W20及びGH間の計測値W40をSynch Fieldであるとみなしていることを表す(ステップB07−3)。
平均値算出部156は、CD間の計測値W20、EF間の計測値W30及びGH間の計測値W40を取得する。そして、3つの平均値を算出し、平均値を保持する。
制御部160は、第1比較部140と第2比較部150と第3比較部155の全てから条件を満たす情報を取得すると、平均値算出部156の平均値を取得する。つまり、AB間がLINにおけるSynch Breakであり、CD間がSynch Fieldのスタートビットであることが確定したことになる(ステップB08、B09、B10)。更に、制御部160が取得するSynch Fieldの値は、3つの平均値であるためより正確なスタートビットを取得することが出来る。制御部160は、取得した平均値をボーレート算出部170へ提供する。ステップB11以降の処理動作は、第1の実施の形態のステップA10以降と同様であるため説明を省略する。
本発明の第2の実施の形態によるスレーブ装置100が、CPUとプログラムとを備え、スレーブ装置100の各部あるいはその一部をCPUがプログラムを実行することで機能させるようにしてもよい。CPUは制御部160に含まれ、プログラムは記憶部130に含まれるとし、図10に示した各ハードウエアをCPUとプログラムに基づく機能ブロックとして説明する。また、プログラムのメイン処理動作(図7参照)及び立ち下がり割り込み処理動作(図8参照)は、第1の実施の形態と異なる処理のみ説明をする。尚、図8のステップS51及びステップS52は、図11AのステップB02からB03に対応する。
図7を参照して、本発明の第2の実施の形態による処理動作を説明する。ステップS43において、制御部160は、Synch BreakとSynch Fieldの組み合わせと仮定したときの同期状態変数Zを有している。同期状態変数Zは条件が満たされたか否かを表している。同期状態変数Zの0は、Synch Break及びSynch Fieldが共に検出できていない状態を表す。同期状態変数Zの1は、第1パルス幅のパルスがSynch Breakであり、第2パルス幅のパルスがSynch Fieldのスタートビットであるとみなしている状態であることを表し、且つ第2パルス幅のパルスと第3パルス幅のパルスとが共にSynch Fieldであるとみなしている状態を表す。即ち、前述した「第4比較部134の計測値WがSynch Breakであり、第3記憶部133の計測値WがSynch Fieldであること」と「第2記憶部132の計測値Wと第3記憶部133の計測値Wとが共にSynch Fieldであること」との条件を満たしていることに相当する。同期状態変数Zの2は、第1パルス幅のパルスがSynch Breakであり、第2パルス幅のパルスがSynch Fieldのスタートビットであるとみなしている状態であるが、第2パルス幅のパルスと第3パルス幅のパルスとが共にSynch Fieldであるとみなせていない状態を表す。即ち、前述した「第4比較部134の計測値WがSynch Breakであり、第3記憶部133の計測値WがSynch Fieldであること」の条件のみを満たしたことに相当する。制御部160は、初期設定として同期状態変数Zを0にセットする(ステップS43)。
図12は、本発明のデータ受信装置(スレーブ装置100)の第2の実施の形態によるプログラムの立ち上がり割り込み処理動作を示したフローチャートである。図12を参照して、2値レベル信号Sの立ち上がりエッジにおける割り込み処理を説明する。スレーブ装置100は、立ち下がり割り込み処理同様に、図7に示したステップS45のエッジ割り込み許可状態において、信号検出部110が2値レベル信号Sの立ち上がり(例えば図3のB)を検出すると、割り込み処理を開始する。信号検出部110は、2値レベル信号Sのローレベルからハイレベルへ変化したエッジの情報をタイマ120へ提供する。タイマ120は、ローレベルからハイレベルへ変化したエッジの情報に基づいて計測を停止する。タイマ120は、計測値Wを記憶部130へ提供する。(ステップS71)。ステップS71は、図11AのステップB04からB06に対応する。
記憶部130は、計測値Wを変数W2へ格納する(ステップS72)。記憶部130は、変数W1と変数W2とを第1比較部140へ提供する。
制御部160は、同期状態変数Zが0と、1と、2との何れであるかを判定する(ステップS73)。
ステップS73において、同期状態変数Zが0であると判定した場合、第1比較部140は変数W1/変数W2を計算する。第1比較部140は、「変数W1に格納した計測値WがSynch Breakであり、変数W2に格納した計測値WがSynch Fieldであること」の条件を有している。第1比較部140は、条件を判定するための計算式として「変数W1/変数W2」を有し、判定基準として「11以上であること」を有しているとする。第1比較部140は、計算値が判定基準を満たしたか否かを判定する(ステップS74)。ステップS74は、図11AのステップB07−1に対応する。
ステップS74において、計算値が11以上の場合、制御部160は同期状態変数Zを2にセットする(ステップS75)。この時点で、制御部160は、「変数W1に格納した計測値WがSynch Breakであり、変数W2に格納した計測値WがSynch Fieldであること」の条件を満たした情報を取得したことを表している。
記憶部130は、変数W3の値を消去し、変数W3に変数W2の値を格納する(ステップS76)。その後、スレーブ装置100は立ち上がり割り込み処理を終了し、Synch Fieldを確定するパルスを検出するため、図7に示したステップS45のエッジ割り込み許可の状態になる。
ステップS74において、計算値が11未満の場合、記憶部130は変数W1の値を消去して、変数W1に変数W2の値を格納する(ステップS77)。尚、処理開始最初にステップS74を通る場合は、変数W1は0であるためステップS77へ進む。
制御部160は、同期状態変数Zを0にセットする(ステップS78)。即ち、Synch Break及びSynch Fieldとみなせるパルスを検出できなかったことを表す。その後、スレーブ装置100は立ち上がり割り込み処理を終了し、図7に示したステップS45のエッジ割り込み許可の状態になる。
ステップS73において、制御部160が同期状態変数Zは2であると判定した場合、記憶部130は変数W2と変数W3とを第2比較部150へ提供する。また、ステップS73において、制御部160が同期状態変数Zは1であると判定した場合、記憶部130は変数W2と変数W3とを第3比較部155へ提供する。このとき、同期状態変数が1又は2であることから、制御部160は、「変数W1に格納した計測値WがSynch Breakであり、変数W3に格納した計測値WがSynch Fieldであること」の条件を満たした情報を取得していることを表している。第2比較部150又は第3比較部155は、変数W2と変数W3との誤差を算出する。第2比較部150及び第3比較部155は、「変数W2に格納した計測値Wと変数W3とが共にSynch Fieldであること」の条件を有している。ここで、第2比較部150及び第3比較部155は、誤差の計算式として「変数W3−変数W2」を有し、判定基準として「Synch Fieldの1ビットを転送するのにかかる時間の20分の1以内であること」を有しているとする。第2比較部150又は第3比較部155は、誤差の値が判定基準を満たしているか否かを判定する(ステップS79)。ステップS79は、図11AのステップB07−2及びB07−3に対応する。尚、スレーブ装置100の第2の実施の形態によるプログラムとCPUを用いた処理動作の場合、第1比較部140と、第2比較部150と、第3比較部155とは同一の機能部でもよい。
ステップS79において、誤差の値が大きく判定基準を満たさない場合は、ステップS77へ進む。制御部160は、変数W2又は変数W3を外部ノイズ等に起因する異常パルスであったとみなす。
ステップS79において、制御部160は、第2比較部150又は第3比較部155の計算に基づく誤差の値が小さく判定基準を満たす場合、「変数W2に格納した計測値W及び変数W3に格納した計測値Wとが共にSynch Fieldであること」の条件を満たした情報を取得したことを表す。そのとき、制御部160は、同期状態変数Zの値から1を減算する(ステップS80)。
制御部160は、同期状態変数Zの値が0であるか否かを判定する(ステップS81)。
ステップS81において、同期状態変数Zの値が0でない場合、記憶部130は変数W4の値を消去して、変数W4に変数W2の値を格納する(ステップS82)。これは、Synch Fieldとみなしたパルス幅を2つ(変数W3及び変数W4)まで検出できていることを表している。スレーブ装置100は、立ち上がり割り込み処理を終了し、3つ目のSynch Fieldのパルス幅を取得するために図7に示したステップS45のエッジ割り込み許可の状態になる。
ステップS81において、同期状態変数Zの値が0である場合、記憶部130は変数W2、変数W3及び変数W4の値を平均値算出部156へ提供する。ここで同期状態変数Zの値が0であることは、Synch Fieldのスタートビットとみなしている変数W3に格納された計測値Wを、変数W2及び変数W4に格納された計測値Wとの誤差が少ないため、Synch Fieldのスタートビットであると制御部160が確定できたことを表す。平均値算出部156は、変数W2+変数W2+変数W3+変数W4を算出し、計算値を変数W2とする(ステップS83)。変数W2を2回加算しているのは、次のステップでの平均値を求める際に計算を容易にするためである。ステップS81からステップS83は、図11BのステップB08からステップB09に対応する。
平均値算出部156は、変数W2/4を計算し、求めた平均値を記憶部130へ提供する。記憶部130は、平均値を変数W2へ格納する。また、平均値算出部156はボーレート算出部170に平均値を提供する(ステップS84)。
ボーレート算出部170は、Synch Fieldのスタートビットとして確定した計測値Wの平均値(変数W2)を取得する。そして、1/(平均値(変数W2)×分解能t)(1/秒)としてボーレートを算出する。ボーレート算出部170は、算出したボーレートを受信部180へ提供する(ステップS85)。ステップS85は、図11BのステップB10からステップB11に対応する。
受信部180は、取得したボーレートに基づいてマスタ装置200から2値レベル信号のデータを受信する。ここの動作は、図11BのステップB12に対応する。
信号検出部110は、計測フラグMを0にセットし、立ち上がり割り込み処理を終了する(ステップS86)。そして、スレーブ装置100は、図7に示したステップS46へ進む。
本発明の第2の実施の形態によるスレーブ装置100は、Synch Fieldをより正確に検出することが可能である。何故なら、スレーブ装置100は、第2パルス幅と第3パルス幅と第4パルス幅の誤差を検証した上で第2パルス幅のパルスをSynch Fieldと確定しており、多くのパルス比較に基づいてSynch Fieldを決定しているからである。更に、パルス幅の平均値に基づいてボーレートを算出しているため、計測誤差を少なくする効果も有している。
図1は、特許文献3の通信システムの構成例を示したブロック図とLINの通信プロトコルにおける2値レベル信号Pの一部を示した図である。 図2の(a)は、特許文献3のスレーブ装置10のメイン処理を示すフローチャートである。図2の(b)は、2値レベル信号Pの立ち下がりエッジにおける割り込み処理を示すフローチャートである。図2の(c)は、2値レベル信号Pの立ち上がりエッジにおける割り込み処理を示すフローチャートである。 図3は、LINの通信プロトコルにおける通常の2値レベル信号Sの一部を示した図である。 図4は、LINの通信プロトコルにおける2値レベル信号Sに異常パルスが含まれる例を示した図である。 図5は、本発明のスレーブ装置100の第1の実施の形態を含む通信システムのハードウエア構成例を示したブロック図である。 図6Aは、本発明の第1の実施の形態のスレーブ装置100を含む通信システムの処理動作を示したフローチャートである。 図6Bは、本発明の第1の実施の形態のスレーブ装置100を含む通信システムの処理動作を示したフローチャートである。 図7は、本発明のデータ受信装置(スレーブ装置100)の第1の実施の形態によるプログラムのメイン処理動作を示したフローチャートである。 図8は、本発明のデータ受信装置(スレーブ装置100)の第1の実施の形態によるプログラムの立ち下がり割り込み処理動作を示したフローチャートである。 図9は、本発明のデータ受信装置(スレーブ装置100)の第1の実施の形態によるプログラムの立ち上がり割り込み処理動作を示したフローチャートである。 図10は、本発明のスレーブ装置100の第2の実施の形態を含む通信システムのハードウェア構成例を示したブロック図である。 図11Aは、本発明の第2の実施の形態のスレーブ装置100を含む通信システムの処理動作を示したフローチャートである。 図11Bは、本発明の第2の実施の形態のスレーブ装置100を含む通信システムの処理動作を示したフローチャートである。 図12は、本発明のデータ受信装置(スレーブ装置100)の第2の実施の形態によるプログラムの立ち上がり割り込み処理動作を示したフローチャートである。
符号の説明
10 スレーブ装置
11 エッジ検出部
12 タイマ
13 記憶部
14 比較部
15 ボーレート算出部
16 受信部
17 送信部
18 制御部
20 マスタ装置
30 バス
100 スレーブ装置
110 信号検出部
120 タイマ
130 記憶部
131 第1記憶部
132 第2記憶部
133 第3記憶部
134 第4記憶部
140 第1比較部
150 第2比較部
155 第3比較部
156 平均値算出部
160 制御部
170 ボーレート算出部
180 受信部
190 送信部
200 マスタ装置
300 バス

Claims (13)

  1. 信号の第1信号レベルが継続する第1パルス幅と第2パルス幅と第3パルス幅とを計測する計測部と、前記第1パルス幅の第1パルスと前記第2パルス幅の第2パルス及び前記第2パルスと前記第3パルス幅の第3パルスは、前記第1信号レベルと異なる第2信号レベルを挟んで連続し、
    前記第1パルス幅の計測値と前記第2パルス幅の計測値とに基づき、前記第1パルスが前記信号の開始であり前記第2パルスが同期信号であることを判定する第1比較部と、
    前記第2パルス幅の計測値と前記第3パルス幅の計測値とに基づき、前記第2パルスと前記第3パルスとが共に前記同期信号であることを判定する第2比較部と、
    前記第1比較部の判定結果と前記第2比較部の判定結果とに基づき、前記第2パルスを前記同期信号の先頭として確定する制御部と
    を具備する
    データ受信装置。
  2. 請求項1に記載のデータ受信装置であって、
    前記第1比較部は、前記第1パルス幅の計測値と前記第2パルス幅の計測値との比に基づいて判定する
    データ受信装置。
  3. 請求項1又は2に記載のデータ受信装置であって、
    前記第2比較部は、前記第2パルス幅の計測値と前記第3パルス幅の計測値との誤差に基づいて判定する
    データ受信装置。
  4. 請求項1乃至3の何れか一項に記載のデータ受信装置であって、
    前記第2パルス幅に基づきボーレートを算出するボーレート算出部
    を更に具備する
    データ受信装置。
  5. 請求項1乃至3の何れか一項に記載のデータ受信装置であって、
    第3比較部と、
    平均値算出部と
    を更に具備し、
    前記計測部は、前記第3パルスの後に前記第2信号レベルを挟んで連続する前記第1信号レベルの第4パルスの第4パルス幅を計測し、
    前記第3比較部は、前記第2パルス幅の計測値と前記第4パルス幅の計測値とに基づき、前記第2パルスと前記第4パルスとが共に前記同期信号であることを判定し、
    前記平均値算出部は、前記第2パルス幅と前記第3パルス幅と前記第4パルス幅との平均値を算出する
    データ受信装置。
  6. 請求項5に記載のデータ受信装置であって、
    前記平均値に基づきボーレートを算出するボーレート算出部
    を更に具備する
    データ受信装置。
  7. (a)信号の第1信号レベルが継続する第1パルス幅と第2パルス幅と第3パルス幅とを計測するステップと、前記第1パルス幅の第1パルスと前記第2パルス幅の第2パルス及び前記第2パルスと前記第3パルス幅の第3パルスは、前記第1信号レベルと異なる第2信号レベルを挟んで連続し、
    (b)前記第1パルス幅の計測値と前記第2パルス幅の計測値とに基づき、前記第1パルスが前記信号の開始であり前記第2パルスが同期信号であることを判定するステップと、
    (c)前記第2パルス幅の計測値と前記第3パルス幅の計測値とに基づき、前記第2パルスと前記第3パルスとが共に前記同期信号であることを判定するステップと、
    (d)前記第1比較部の判定結果と前記第2比較部の判定結果とに基づき、前記第2パルスを前記同期信号の先頭として確定するステップと
    を具備する
    データ受方法。
  8. 請求項7に記載のデータ受信方法であって、
    前記ステップ(b)は、
    (b1)前記第1パルス幅の計測値と前記第2パルス幅の計測値との比に基づいて判定するステップ
    を備える
    データ受信方法。
  9. 請求項7又は8に記載のデータ受信方法であって、
    前記ステップ(c)は、
    (c1)前記第2パルス幅の計測値と前記第3パルス幅の計測値との誤差に基づいて判定するステップ
    を備える
    データ受信方法。
  10. 請求項7乃至9の何れか一項に記載のデータ受信方法であって、
    (e)前記第2パルス幅に基づきボーレートを算出するステップ
    を更に具備する
    データ受信方法。
  11. 請求項7乃至9の何れか一項に記載のデータ受信方法であって、
    前記ステップ(a)は、
    (a1)前記第3パルスの後に前記第2信号レベルを挟んで連続する前記第1信号レベルの第4パルスの第4パルス幅を計測するステップ
    を備え、
    (f)前記第2パルス幅の計測値と前記第4パルス幅の計測値とに基づき、前記第2パルスと前記第4パルスとが共に前記同期信号であることを判定するステップと、
    (g)前記第2パルス幅と前記第3パルス幅と前記第4パルス幅との平均値を算出するステップと
    を更に具備する
    データ受信方法。
  12. 請求項11に記載のデータ受信方法であって、
    (h)前記平均値に基づきボーレートを算出するステップ
    を更に具備する
    データ受信方法。
  13. 請求項7乃至12の何れか一項に記載の方法をコンピュータに実行させる
    データ受信プログラム。
JP2008158461A 2008-06-17 2008-06-17 データ受信装置、データ受信方法及びデータ受信プログラム Expired - Fee Related JP5238369B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2008158461A JP5238369B2 (ja) 2008-06-17 2008-06-17 データ受信装置、データ受信方法及びデータ受信プログラム
US12/457,519 US8369454B2 (en) 2008-06-17 2009-06-12 Data receiving apparatus and data receiving method
DE102009025074A DE102009025074A1 (de) 2008-06-17 2009-06-16 Datenempfangsgerät und Verfahren zum Datenempfang

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008158461A JP5238369B2 (ja) 2008-06-17 2008-06-17 データ受信装置、データ受信方法及びデータ受信プログラム

Publications (2)

Publication Number Publication Date
JP2009303178A true JP2009303178A (ja) 2009-12-24
JP5238369B2 JP5238369B2 (ja) 2013-07-17

Family

ID=41447417

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008158461A Expired - Fee Related JP5238369B2 (ja) 2008-06-17 2008-06-17 データ受信装置、データ受信方法及びデータ受信プログラム

Country Status (3)

Country Link
US (1) US8369454B2 (ja)
JP (1) JP5238369B2 (ja)
DE (1) DE102009025074A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102011004040A1 (de) 2010-02-22 2011-08-25 DENSO CORPORATION, Aichi-pref. Synchronisationssignalerfassungsvorrichtung
JP2012058183A (ja) * 2010-09-13 2012-03-22 Toshiba Corp 受信装置
JP2014082697A (ja) * 2012-10-18 2014-05-08 New Japan Radio Co Ltd シリアル通信装置

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011035473A (ja) * 2009-07-29 2011-02-17 Renesas Electronics Corp ボーレートエラー検出回路、ボーレートエラー検出方法
US9609482B1 (en) * 2015-12-07 2017-03-28 Google Inc. Cloud-coordinated location system using ultrasonic pulses and radio signals
US11539550B2 (en) * 2020-02-25 2022-12-27 Calamp Corp. Systems and methods for detection of vehicle bus protocol using signal analysis
CN114039807B (zh) * 2021-11-05 2023-06-23 深圳数马电子技术有限公司 波特率自适应方法、装置、计算机设备和存储介质
CN114024795B (zh) * 2021-11-05 2023-08-08 深圳数马电子技术有限公司 波特率自适应方法、装置、计算机设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08163653A (ja) * 1994-12-01 1996-06-21 Nippondenso Co Ltd シリアル通信切替方法
JPH10150438A (ja) * 1996-11-18 1998-06-02 Matsushita Electric Ind Co Ltd ビット同期検出手段
JP2006503466A (ja) * 2002-10-18 2006-01-26 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 通信クロック周波数を識別するデータ処理装置
JP2006311237A (ja) * 2005-04-28 2006-11-09 Nec Electronics Corp データ受信装置および同期信号検出方法ならびにプログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4327441A (en) * 1980-03-31 1982-04-27 Texas Instruments Incorporated Method and apparatus for synchronizing and calibrating a receiver to a pulse width modulation transmitter
US5867533A (en) * 1996-08-14 1999-02-02 International Business Machines Corporation Digital delta mode carrier sense for a wireless LAN
JP3565730B2 (ja) 1999-01-13 2004-09-15 株式会社リコー Atコマンド解析装置
DE10049090A1 (de) * 2000-09-27 2002-04-11 Bosch Gmbh Robert Verfahren, Vorrichtung und Schnittstelle zur Übertragung von Daten
US6959014B2 (en) * 2001-02-01 2005-10-25 Freescale Semiconductor, Inc. Method and apparatus for operating a communication bus
JP2002280973A (ja) 2001-03-21 2002-09-27 Audio Technica Corp 赤外線通信におけるノイズ識別方法
JP2004228945A (ja) 2003-01-23 2004-08-12 Calsonic Kansei Corp 車両用の通信制御装置
DE10345535B4 (de) * 2003-09-30 2005-10-06 Siemens Ag Überprüfung der Verfügbarkeit eines Servers
US7757021B2 (en) * 2004-10-21 2010-07-13 Nxp B.V. Slave bus subscriber for a serial data bus

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08163653A (ja) * 1994-12-01 1996-06-21 Nippondenso Co Ltd シリアル通信切替方法
JPH10150438A (ja) * 1996-11-18 1998-06-02 Matsushita Electric Ind Co Ltd ビット同期検出手段
JP2006503466A (ja) * 2002-10-18 2006-01-26 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 通信クロック周波数を識別するデータ処理装置
JP2006311237A (ja) * 2005-04-28 2006-11-09 Nec Electronics Corp データ受信装置および同期信号検出方法ならびにプログラム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102011004040A1 (de) 2010-02-22 2011-08-25 DENSO CORPORATION, Aichi-pref. Synchronisationssignalerfassungsvorrichtung
JP2011172144A (ja) * 2010-02-22 2011-09-01 Denso Corp 同期信号検出装置
DE102011004040B4 (de) 2010-02-22 2019-09-19 Denso Corporation Synchronisationssignalerfassungsvorrichtung
JP2012058183A (ja) * 2010-09-13 2012-03-22 Toshiba Corp 受信装置
JP2014082697A (ja) * 2012-10-18 2014-05-08 New Japan Radio Co Ltd シリアル通信装置

Also Published As

Publication number Publication date
US20090323877A1 (en) 2009-12-31
JP5238369B2 (ja) 2013-07-17
US8369454B2 (en) 2013-02-05
DE102009025074A1 (de) 2010-02-11

Similar Documents

Publication Publication Date Title
JP5238369B2 (ja) データ受信装置、データ受信方法及びデータ受信プログラム
JP4327764B2 (ja) データ受信装置および同期信号検出方法ならびにプログラム
US10396921B2 (en) Multi-lane synchronization method, synchronization apparatus and system, and computer storage medium
US20110019762A1 (en) Information transmission system, information transmission device, information transmission method, and computer readable medium storing a program for information transmission
JP2004260677A (ja) 通信装置
JP2008017111A (ja) ビット速度判定装置
US6385319B1 (en) Encoding circuit and method of detecting block code boundary and establishing synchronization between scrambler and descrambler
JP4988544B2 (ja) データ処理装置およびデータ処理方法並びにプログラム
US20010053188A1 (en) Transmitting circuit and method thereof, receiving circuit and method thereof, and data communication apparatus
JP3814470B2 (ja) データ転送方法及びデータ転送装置
US10462268B2 (en) Data transmitting/receiving apparatus and data transmitting/receiving method
WO2016177088A1 (zh) 一种检测信号的方法和装置
JP5958335B2 (ja) 通信ノード、及び通信システム
US6970527B2 (en) Transmitting circuit and method thereof, receiving circuit and method thereof, and data communication apparatus
US7106820B2 (en) System and method for establishing word synchronization
JP2002237853A (ja) 差動信号伝送回路および該回路の伝送エラー検出方法
JP2004064616A (ja) ボーレート設定方法、ボーレート設定プログラム、可読記録媒体、通信システムおよび通信方法
KR101565584B1 (ko) Spi 통신 기반의 데이터 전송 장치 및 방법
JP2008236178A (ja) シリアルデータ受信回路
KR100408077B1 (ko) 내장형 시험 패턴 장치를 구비한 티-3급 채널 서비스 유니트
JP2751673B2 (ja) デジタル通信システム用ビット誤り率測定装置
CN108306702A (zh) 一种同步码检测***
JP2005277994A (ja) 同期開始信号検出装置、その検出方法、及びそのプログラム
EP1926024B1 (en) Serial communication control system
JP4511872B2 (ja) 通信装置及びそれに用いる所定レベル信号検出回路

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110317

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121119

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121206

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130201

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: 20130313

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130401

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5238369

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20160405

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees