説明

同期信号検出装置

【課題】回路規模を小さくできるようにした同期信号検出装置を提供する。
【解決手段】同期信号仮検出部7が、2値のハイレベルとロウレベルとを順に繰り返して受信する前に1ビット長の2のN乗倍の長さで2値のロウレベルが続いたことを条件として受信した2値のレベルを仮同期信号として検出しているため、ロウレベルが1ビット長の2のN乗倍の長さ未満のときには全て仮同期信号として見なされることがなくなり、同期信号を検出するための煩雑な計算処理を行う頻度を少なくできる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、同期信号を検出するための同期信号検出装置に関する。
【背景技術】
【0002】
マスタとスレーブとの間でバスを通じて通信を行うシステムが提供されている。このシステムにおいて同期信号を用いる通信プロトコルが数多く規定されている。スレーブは、マスタからスレーブに送信されたバス波形をモニタすることで当該信号が同期信号であることを精度良く判定している。
【0003】
例えば、車載LANの通信プロトコルの一例としてLIN(Local Interconnect Network)が挙げられる。このLINの仕様によれば、マスタノードから送信されるフレームのヘッダとして、11ビット以上ロウレベルが継続するSynch Break Fieldの後に、一旦ハイレベルとなり、その後0x55となるSynch Fieldが続くように規定されている。Synch Fieldの後には、Identifier FieldやData Fieldが続く(例えば、特許文献1参照)。スレーブでは、この時間を基準クロックを用いて計数することにより1ビット時間の値を算出し、通信レートを得るようになっている。
【0004】
特許文献1記載の技術思想によれば、タイマで計測したビットの計測値を第1〜第4記憶部に順次転送し、これらの記憶部に記憶された記憶情報を第1〜第3比較部で比較することに基いて、Synch Break Field、Synch Fieldであるか否かを判定している。
【0005】
具体的には、当該特許文献1の第1の実施の形態では、第1比較部が第2記憶部の計測値と第3記憶部の計測値とを比較し、この比が11以上である場合、第1条件を満たしたと判定し、第2比較部が第1記憶部の計測値と第2記憶部の計測値とを比較し、この差が誤差の範囲内である場合、第2条件を満たしたと判定し、これらの第1条件、第2条件の双方を満たした場合、Synch Break Field、Synch Fieldを確定している。また、ボーレート算出部が(第2記憶部の計測値W20×分解能)の逆数をボーレートとして算出している。
【0006】
また、第2の実施の形態では、第1比較部が第3記憶部の計測値と第4記憶部の計測値との比を計測し、この比が11以上である場合に第1条件を満たしたと判定する。第2比較部が第2記憶部の計測値と第3記憶部の計測値との誤差を算出し、第3比較部が第1記憶部の計測値と第3記憶部の計測値との誤差を算出し、これらの差が誤差の範囲内である場合に第2条件、第3条件を満たしたと判定している。これらの第1〜第3条件を満たした場合、Synch Break Field、Synch Fieldを確定している。また、平均値算出部が、ロウレベルの3つのパルス幅の計測値の平均値を保持しているため、これらの第1〜第3条件を満たすときには、このボーレート算出部が(パルス幅の平均値×分解能)の逆数をボーレートとして算出し、これにより計測誤差を少なくしている。
【0007】
また、この種の技術思想として特許文献2の技術思想も開示されている。この特許文献2記載の技術思想によれば、2値レベル信号が第1のレベルである期間に前後してそれぞれ検出される第2のレベルの期間を第1および第2の期間として算出し、第1および第2の期間の比が所定値以上であれば、第2の期間に続く信号を同期信号として同定し、第2の期間の逆数をボーレートとして設定し、その後の信号をIdentifier Fieldとして受信している。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2009−303178号公報
【特許文献2】特開2006−311237号公報
【特許文献3】特表2008−518497号公報
【特許文献4】特表2006−503446号公報
【特許文献5】特開2005−277994号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかしながら、特許文献1記載の技術思想を適用したとしても処理をビット毎に繰り返し行う必要を生じ、記憶部の記憶領域が多くなってしまい、この記憶部の内容に対して煩雑な処理を行う必要があり、例えばハードウェアで構成したときには回路規模が大きくなってしまう。
【0010】
本発明は、上記事情に鑑みてなされたもので、その目的は、煩雑な処理を極力少なくして同期信号を検出できるようにした同期信号検出装置を提供することにある。
【課題を解決するための手段】
【0011】
本発明は、1ビット長の2のN乗倍(Nは1以上の所定の整数)を超える所定ビット長以上で連続した2値の第1レベルが続いた後、当該2値の第2レベルと第1レベルとを1ビット長で順に繰り返して連続するバス信号について、1ビット長で順に繰り返すデータを同期信号として検出する同期信号検出装置を対象としている。
【0012】
請求項1記載の発明によれば、同期信号仮検出部が、2値の第2レベルと第1レベルとを順に繰り返して受信する前に1ビット長の2のN乗倍の長さで2値の第1レベルが続いたことを条件として当該受信した2値のレベルを仮同期信号として検出している。このため、第1レベルが1ビット長の2のN乗倍の長さ未満のときには全て仮同期信号として見なされることがなくなり、同期信号を検出するため、煩雑な処理をする頻度が少なくなる。
【0013】
同期信号確定部は、同期信号仮検出部により仮同期信号として検出されてから仮同期信号が所定ビット長で連続していることを条件として仮同期信号を同期信号として確定しているため、例えば規定のプロトコルに合わせた条件で同期信号を確定することができる。この場合、同期信号確定部は、同期信号として確定する対象データを仮同期信号のみとしているため、例えば規定のプロトコルに合わせた条件で同期信号の確定判定対象データを少なくできる。したがって煩雑な処理をする頻度が少なくなり、例えばハードウェアで構成したときには回路規模を縮小化できる。
【0014】
請求項2記載の発明によれば、タイマは2値の第2レベルから第1レベルに移行する時点から当該第1レベルから第2レベルに移行する時点までの計測値、および/または、第1レベルから第2レベルに移行する時点から当該第2レベルから第1レベルに移行する時点までの計測値を計測して記憶部に保持させており、比較部は記憶部に保持された前回の計測値と、タイマが計測した今回の計測値とを比較し、前回の計測値が今回の計測値の2のN乗倍以上であることを条件として1ビット長の2のN乗倍の長さで2値の第1レベルが続いたと判定して仮同期信号として検出している。この場合、主として2のN乗倍の長さを検出するための機器、タイマ、記憶部、比較部を含んだ構成で仮同期信号として検出できるようになるため、簡単なハードウェア構成により実現することができ、回路規模を縮小化できる。
【0015】
請求項3記載の発明によれば、2のN乗倍の値が、2値の第1レベルの所定ビット長の値を超えない最大数に設定されているため、同期信号仮検出部が仮同期信号として検出する頻度をより低くすることができ、同期信号確定部が煩雑な処理をする頻度をより少なくできる。
【0016】
ところで、特許文献2の技術思想では、第1および第2の期間の比が所定値以上である場合に、第2の期間に続く2値レベル信号を同期信号として同定しているため、同期信号の検出精度が低くなってしまう。例えば、第1の期間と第2の期間のパルス幅の比は、所定値以上かもしれないものの、その後に続く同期信号が規定の通信プロトコルの規定に反している場合(例えば、0x55hではない場合)でも同期信号として認識してしまうため、正しいデータを受信できなくなる。
【0017】
請求項4記載の発明によれば、次のように作用する。タイマは、第2レベルから第1レベルに移行する時点から当該第1レベルから第2レベルに移行する時点までの1ビット長に対応した計測値、および/または、第1レベルから第2レベルに移行する時点から当該第2レベルから第1レベルに移行する時点までの1ビット長に対応した計測値、を計測し、平均時間算出部は、タイマにより計測された計測値の複数の平均値を算出することで1ビット長に対応した平均時間を算出するため、たとえ1ビットのレベル長に変動があったとしても当該変動による検出精度のばらつきを抑制することができ、ばらつきの影響を極力除外して1ビット長の計測値を算出できる。
【0018】
同期信号確定部は、タイマにより検出された計測値について平均時間算出部により算出された1ビット長の平均時間で除した値が所定ビットに対応した値以上であることを条件として所定ビット長で連続した2値の第1レベルを同期信号のヘッダとして確定しているため、たとえデータの1ビットのレベル長が変動したとしても当該変動に伴う検出精度のばらつきを抑制しながら同期信号を精度良く確定できる。
【0019】
また、特許文献2記載の技術思想では、第2の期間の逆数をボーレートとして算出しているため、ボーレートの算出精度が低くなってしまう。
請求項5記載の発明によれば、ボーレート算出部は、平均時間算出部により算出された1ビット長の平均時間についてその逆数をボーレートとして算出するため、ボーレートの算出精度を向上できる。
【0020】
請求項6記載の発明によれば、タイマとしてCR発振器を用いて構成しているため安価に構成できる。特に、当該請求項6記載の発明を請求項4または5記載の発明に適用したときには平均時間算出部によりCR発振器の発振周波数にばらつきがあったとしても当該影響を極力抑制できる。
【0021】
請求項7記載の発明によれば、2値の第1レベルの所定ビット長が11ビット長であったときに、同期信号確定部は、タイマが連続して計測した8区間分の計測値を2の3乗ビット長、2の2乗ビット長、2の0乗ビット長に対応した値でそれぞれ除してからそれぞれの値を加算した11ビット分の加算値を記憶部に記憶された前回の計測値と比較して判定するため、3ビットシフト、2ビットシフト、0ビットシフトによる2値シフト演算し、それぞれの出力信号を加算するのみで実現することができ、回路規模を小さくすることができる。この場合、請求項8記載の発明のようにシフトレジスタを用いて除してからそれぞれの値を加算すると良い。
【図面の簡単な説明】
【0022】
【図1】本発明の一実施形態におけるマスタ装置およびスレーブ装置のブロック構成図
【図2】ハードウェア構成の一例を示す電気的構成図
【図3】LINの同期信号の構成を示す説明図
【図4】同期信号検出動作を概略的に示す流れ図(その1)
【図5】同期信号検出動作を概略的に示す流れ図(その2)
【図6】同期信号非検出時のタイミングチャート
【図7】同期信号検出時のタイミングチャート
【図8】比較例の説明図
【発明を実施するための形態】
【0023】
以下、本発明の一実施形態について図1ないし図7を参照しながら説明する。
車両内の通信処理には、LIN(Local Interconnect Network)プロトコルが適用されることがある。このLINプロトコルは、車載LANの通信プロトコルの一種である。このLINでは、低コストの自動車ネットワークを実現するため、車載用の多重ネットワークを補完しながら、車載ネットワークの品質向上やコスト削減が図られている。
【0024】
図3は、このLINの仕様の一部を表している。この図3に示すように、LINでは、フレームの始まりを表すSynch Break Fieldと、その後に、一旦ハイレベル「H」となるビット、その後、「010101…(0x55:但し、「0」はロウレベル、「1」はハイレベル)」となるSynch Field、が続くように規定されている。LINの仕様では、Synch Break Fieldは、11ビット(所定ビット)以上のロウレベルが継続(連続)するデータとして規定されている。また、Synch Fieldでは、「010101…」のような第1レベル「0」とその逆レベルとなる第2レベル「1」とが例えば10ビット繰り返されるデータとして規定されている。
【0025】
図1は、データ受信装置および同期信号検出装置の要部のブロック構成を概略的に示しており、図2は、スレーブ装置のハードウェア構成についてその要部のブロック構成を概略的に示している。なお、図2に示すハードウェア構成図では、図1に示す機能的構成と同一機能を有する構成については、図1に付した符号と同一又は類似した符号を付して説明を省略する。
【0026】
図1に示すように、バス1には、マスタ装置2、スレーブ装置3が接続されており、バス1を通じて両装置2および3間でバス信号を送受信する。スレーブ装置3は、車両のECU(Electronic Control Unit)やセンサ、アクチュエータに搭載されるワンチップマイクロコンピュータなどにより構成されるもので、制御部4、送信部5、受信部6、同期信号仮検出部7、同期信号確定部8、エッジ検出部9などの各機能部に分かれている。なお、これらの機能部は、例えばマイクロコンピュータの内部に構成されるものであり、本実施形態の特徴部分について示している。
【0027】
バス1では、Synch Fieldがマスタ装置2からスレーブ装置3に伝達されることで、スレーブ装置3がボーレート(通信速度)を算出し、当該算出されたボーレートを元にしてスレーブ装置3がデータ受信する。スレーブ装置3は、Synch Break Field、Synch Fieldを同期して受信すると、その後の信号をIdentifier Field、Data Field…として受信する。
【0028】
スレーブ装置3の送信部5は制御部4の制御信号に基いてデータをマスタ装置2に送信する。マスタ装置2は、送信部5の送信データを受信する。スレーブ装置3の受信部6は、マスタ装置2から送信されるデータを受信し、制御部4に与える。エッジ検出部9は、マスタ装置2からバス1を通じて受信したデータの立下りエッジ、および/または、立上りエッジを検出する。
【0029】
同期信号仮検出部7は、タイマA10、記憶部A11、記憶部B12、比較部A13などの各機能部を含んで構成される。同期信号仮検出部7は、バス信号(パルス)の立下りエッジおよび立上りエッジ間のエッジ検出時間間隔(バス信号が「L」(又は「H」)で続いた間の時間)を計測し、例えば連続して計測された2つのエッジ検出時間間隔を比較部13にて比較し、先のエッジ検出時間間隔が後のエッジ検出時間間隔のある所定値(例えば8=1ビット長の2のN(3)乗倍)以上であれば記憶部A11の保持データを比較部A13が記憶部B12に転送する。
【0030】
ここで、「パルスの立下りエッジ」とは、ハイレベル(第2レベルに相当)からロウレベル(第1レベルに相当)に移行するタイミングを示しており、「パルスの立上りエッジ」とは、ロウレベルからハイレベルに移行するタイミングを示している。尚、所定値を「8」としているが、これは、例えばハードウェアで構成したときにはシフトレジスタを適用することで、2値の3ビットシフト演算によって計算を容易にできるため用いられる数値であり、この所定値は2の累乗倍の値であれば、この限りではない。
【0031】
同期信号確定部8は、タイマB14、ボーレート算出部15、比較部B16などの各機能部を含んで構成される。同期信号確定部8では、比較部A13から記憶部B12に値を転送したときに、タイマB14が起動する。
【0032】
このとき、タイマB14は、タイマA10で計測された値を初期値として計測開始する。この後、エッジ検出部9が立下りエッジを所定回数X回(4回)検出すると、タイマB14を停止する。エッジ検出部9、タイマB14は、このX回(4回)の立下りエッジ検出処理により、X×2ビット(8ビット)分の2値レベルの繰り返し信号を受信したことと判定する。
【0033】
ボーレート算出部15は、このタイマB14の時間(つまりX回の立下りエッジ検出処理により検出されたX×2ビットの2値レベルの繰り返し信号の連続時間)についてX×2(つまり8)で除した値を算出することで、2値レベルの1ビット長に対応した平均時間を算出する。そして、ボーレート算出部15は、記憶部B12に記憶された時間を前記の1ビット長の平均時間で除した値が11以上(つまりSynch Break Fieldが11ビット長以上)であるか判定し、この条件を満たすときに同期信号のヘッダとして確定し、ボーレートを算出する。
【0034】
図4および図5の流れ図、並びに、図6および図7のタイミングチャートを参照して具体例を説明する。図4(a)の立下り割込み処理に示すように、まず制御部4はタイマA10を0に初期化した後(S1)、エッジ検出部9により立下りエッジが検出されるとタイマA10を起動する(S2)(図3、図6、図7の(1)時点参照)。
【0035】
そして、図4(b)の立上り割込み処理に示すように、タイマA10は、当該エッジ検出部9により立上りエッジが検出されると停止する(S3)(図3、図6、図7の(2)時点参照)。
【0036】
この後、今回のタイマA10の計測時間を記憶部A11に保持し、さらに次回のエッジ検出間隔(立下りタイミングから立上りタイミングまでの時間間隔)をタイマA10により検出するが、比較部A13は、記憶部A11に保持されたデータをタイマA10の計測時間で除した値について、ある所定値(例えば8)以上であるか判定し(S4)、この条件を満たさないときには(S4:NO)、タイマA10の値を記憶部A11に記憶保持して(S5)この割り込みルーチンを抜ける。ステップS4の処理は、先のエッジ検出時間間隔が、後のエッジ検出時間間隔の所定値倍以上であるか否かを判定するための処理である。
【0037】
つまり、タイマA10が、図3に示す(1)時点から(2)時点の継続時間の間隔が記憶部A11に記憶保持された後、その後のエッジ検出間隔(立下りタイミング(3)時点から立上りタイミング(4)時点の時間間隔)を計測するが、(1)時点から(2)時点までの継続時間の間隔が(3)時点から(4)時点の時間間隔の所定値(8)倍以上であるか判定する。
【0038】
図6に示すように、前回のタイマA10の計測時間(記憶部A11が保持した前回の計測値)aを今回のタイマA10の計測時間b(今回の計測値)で除した結果、a/所定値<bであるときには仮同期信号として検出、判定されない。この場合、ステップS4においてNOと判定されることになり、Synch Break Fieldを検出していないと判定することになり、ステップS5の処理を経てステップS3から処理が繰り返される。
【0039】
逆に、図7に示すように、前回のタイマA10の計測時間(記憶部A11が保持した前回の計測値)cを今回のタイマA10の計測時間d(今回の計測値)で除した結果、c/所定値≧dであるときには仮同期信号として検出、判定される。この場合、ステップS4においてYESと判定されることになり、Synch Break Fieldを検出したと判定することになり、タイマA10の値が記憶部A11に保持された後(S6)、同期信号仮検出割込み処理が行われる(S7)。これらの仮検出処理は、あくまでも同期信号を仮検出するものであり、前記条件を満たした信号処理が行われれば全ての信号が仮検出される。
【0040】
仮検出処理を設ける理由は、LINプロトコルにおけるSynch Break Fieldの規定が11ビット以上という2値演算(ハードウェア、ソフトウェア)では比較的扱いにくい値であるためである。同期信号検出処理は、バス信号の全データについて検出処理を行う必要があり、素早く確実な処理が要求される。
【0041】
そこで、バス信号について、ロウレベルとなる時間の計測値が11ビットを超えない最大の2の累乗数である8ビット以上となるときに仮同期信号とみなし、この条件を満たした仮同期信号のみについて、後述するようにSynch Break Fieldの規定を厳密に満たすか否かの検出、判定処理を行い、同期信号として確定している。
【0042】
すなわち、仮同期信号を検出するときには、2値シフト演算を3回繰り返すのみであるため、ハードウェアで構成しても比較的処理しやすい形態で処理することができ仮同期信号を素早く検出できる。また、一旦仮同期信号として検出した後、同期信号として確定しているため、Synch Break Fieldの規定を厳密に満たす煩雑な計算処理を全てのバス信号について繰り返し行う必要がなくなり、煩雑な計算処理を少なくすることができる。
【0043】
前述したように、2回のエッジ検出間隔の比が所定値(つまり8)以上であれば一旦仮同期信号として検出するため、本実施形態では、検出された仮同期信号について以下の処理を行うことで同期信号として確定する。
【0044】
図5は、同期信号仮検出割込み処理の動作を概略的に示している。この図5に示すように、同期信号仮検出割込み処理が開始されると、同期信号仮検出部7では、記憶部A11の保持データを記憶部B12に転送し(T1)、タイマB14の初期値をタイマA10の値にしてタイマB14を起動する(T2)。これは、このタイマB14の起動時点では立下り検出時点(図3、図7の(3)時点)からある程度時間経過してしまっているためであり、立下りエッジ検出時点(図3、図7の(3)参照)からその直後の立上りエッジ検出時点(図3、図7の(4)参照)までの時間がタイマA10により計測されているため、その計測値をタイマB14の初期値とすることで、立下り検出時点(図3、図7の(3)時点)からの時間を改めて計測している。
【0045】
この後、受信部6がバス信号について、ハイレベル「H」、ロウレベル「L」を繰り返し受信するときに、タイマB14はエッジ検出部11により立下りエッジを所定回数(例えば4回)検出するまでの時間を計測し(T3)、立下りエッジが所定回数検出されたら(T3:YES)、タイマB14を停止する(T4)。
【0046】
つまり、タイマB14は、バス信号が「H」から「L」に移行した時点(図7の(3)参照)から「L」から「H」に移行する時点(図7の(4)参照)までの1ビット長に対応した計測値と、「L」から「H」に移行した時点(図7の(4)参照)から「H」から「L」に移行する時点(図7の(5)参照)までの1ビット長に対応した計測値と、を連続して8ビット分計測している(図7の(6)参照)。
【0047】
次に、比較部B16は、記憶部B12に記憶された計測値と(タイマB14の計測値)×11/8とを比較し(T5)、この条件を満たしたときに(T5:YES)、Synch Break Field、Synch Fieldを含む部分として同期信号のヘッダとして確定する(T6)。タイマB14の計測値を8で除した値は1ビット長の平均時間を表しているため、「タイマB14の計測値×11/8」は、1ビット長に対応した平均時間×11ビット分を表している。
【0048】
したがって、言い換えると、ステップT5では、図3の(3)時点から(6)時点までの8ビット分の計測時間において1ビットの平均時間を算出し、図3の(1)時点から(2)時点までの継続時間(記憶部B12に記憶された計測値)を前記算出された1ビットの平均時間で除した値が11以上であるか否か判定し、この条件を満たすときに同期信号であると確定している。同期信号確定部8が同期信号であると確定するとトリガを出力する(図7の(h)参照)。そして、ボーレート算出部15は、タイマB14の値を8で除した値の逆数(つまり1ビット長の平均時間の逆数)をボーレートとして設定する(T7)。
【0049】
図2は、実際にハードウェアで構成する場合の例を概略的に示している。
この図2に示すように、タイマA10と比較器A13との間に除算器17を設けて構成している。この除算器17は、タイマA10の計測値を8(2の3乗ビットに対応)で除して比較器A13に出力するものであり、2値シフト演算のみで実現できるため、例えばシフトレジスタにより構成されている。また前述したように、スレーブ装置3がSynch Fieldを受信するときにタイマB14は8ビット(2の3乗ビット)分に対応した時間を計測値とする。
【0050】
タイマB14と比較器B16との間に除算加算器18が設けられている。この除算加算器18は、タイマB14の計測時間(すなわち2の3乗ビット分の計測値)と、タイマB14の計測時間の1/8の値(すなわち2の0乗ビット分の計測値)と、タイマB14の計測時間の1/4の値(すなわち2の1乗ビット分の計測値)とを加算している。すなわち、除算加算器18は、8区間分のエッジ検出時間間隔の平均値を算出し当該平均時間を算出する平均時間算出部として機能するものであり、また当該平均時間を11倍する機能も有しており、結果的にタイマB14の計測値を11/8倍している。除算加算器18は、2値シフト演算のみで実現しているため、例えばシフトレジスタを組み合わせて構成できる。
【0051】
比較器B16は、除算加算器18の計算結果と記憶部B12に保持された記憶値とを比較する。同期信号仮検出部7が仮同期信号と見なしたとき、記憶部B12には、記憶部A11に記憶された前回の計測値がタイマA10で計測された今回の計測値の8倍以上であることを満たした場合の仮同期信号と見なされた前回の計測値が記憶されている。
【0052】
このため、比較器B16が、前回の計測値とタイマB14の今回の計測値の11/8とを比較した結果、前回の計測値がこの今回の計測値の11/8以上となるときに、仮同期信号を同期信号として確定する。
【0053】
図8(a)および図8(b)は、比較例となる構成とその処理動作の概略説明図を示している。これらの図8(a)および図8(b)に示すように、例えば、フレームのスタート(SOF)から(11)ロウレベル「L」となる区間を計測した後、ハイレベル「H」となる区間を経て、(12)8区間分を計測して8で除した値を1ビットの平均時間間隔とみなし、(11)の計測結果を(12)の計測結果で除した値が11以上となる場合に、Synch Break Field、Synch Fieldを確定するという手法が考えられる。
【0054】
しかしながら、この方法では、図8(b)に示すように、記憶された計測結果を順次保持している必要があるため、この例では少なくとも1段目の記憶領域から6段目の記憶領域まで記憶する第1〜第6記憶部を必要としてしまう。これは、特許文献1記載の技術思想と類似する構造となっているものの多数段の記憶領域を必要としてしまい、例えばハードウェアで構成するときには、多数段のバッファを用意する必要があり回路規模が大きくなってしまう。
【0055】
本実施形態によれば、バス信号のデータを記憶する領域が、2つの記憶部A11および記憶部B12による2段分で構成できるため回路規模を小さくすることができる。このようにして回路規模を削減できる。
【0056】
本実施形態によれば、同期信号仮検出部7が、2値のハイレベルとロウレベルとを順に繰り返して受信する前に1ビット長の2のN乗倍の長さで2値のロウレベルが続いたことを条件として、受信した2値のレベルを仮同期信号として検出しているため、ロウレベルが1ビット長の2のN乗倍の長さ未満のときには全て仮同期信号として見なされることがなくなり、同期信号を検出するための煩雑な計算処理を行う頻度を少なくできる。
【0057】
同期信号確定部8は、同期信号仮検出部7により仮同期信号として検出されてから仮同期信号が所定ビット長で連続していることを条件として仮同期信号を同期信号として確定しているため、LINプロトコルに合わせた条件(11ビット以上の長さの場合Synch Break Field)で同期信号の確定判定対象データを少なくできる。したがって、煩雑な計算処理をする頻度が少なくなり回路規模を縮小化できる。
【0058】
タイマA10は、ハイレベルからロウレベルに移行する時点(立下り検出タイミング)から当該ロウレベルからハイレベルに移行する時点(立上り検出タイミング)までのエッジ検出時間間隔の計測値を計測して記憶部A11に保持させている。
【0059】
また、比較部A13は、記憶部A11に保持された前回の計測値と、タイマA10が計測した今回の計測値とを比較し、前回の計測値が今回の計測値の8(所定値)倍以上であることを条件として1ビット長の8倍の長さで2値のロウレベルが続いたと判定して仮同期信号として検出している。すなわち、同期信号仮検出部7では、主として8倍の長さを検出するための除算器17、タイマA10、記憶部A11、比較器A13によって仮同期信号を検出できるため、簡単なハードウェア構成で実現することができ、回路規模を縮小化できる。
【0060】
Synch Break Fieldの11ビットを検出するときに、前回の計測値が今回の計測値の8(所定値)倍以上であることを条件として仮同期信号として検出しているため、当該所定値を2、4などの他の2の累乗倍に設定した場合と比較して、同期信号仮検出部7が仮同期信号として検出する頻度をより低くすることができ、同期信号確定部8が煩雑な処理をする頻度をより少なくできる。
【0061】
除算加算器18は、タイマB14の計測値を11/8として演算することで、Synch Fieldの計測区間のうち8ビット分(8区間分)の平均値を算出し、その後11倍している。この場合、たとえバス信号の1ビットのレベル長に変動があったとしても当該変動による検出精度のばらつきを抑制することができ、ばらつきの影響を極力除外して1ビット長の計測値を算出できる。
【0062】
同期信号確定部8を構成する比較器B16は、タイマB14により検出された今回の計測値を除算加算器18により11/8として得られた演算結果と、記憶部B12に記憶された前回の計測値とを比較して、前回の計測値が演算結果以上であることを条件として同期信号として検出しているため、たとえデータの1ビットのレベル長が変動したとしても当該変動に伴う検出精度のばらつきを抑制しながら同期信号を精度良く確定できる。ボーレート算出部15は、タイマB14の値を8で除した逆数をボーレートとして設定しているため、ボーレートの算出精度を向上できる。
【0063】
スレーブ装置3内では、水晶発振器またはCR発振器を用いて発振器を構築し、タイマA10、タイマB14などを構成する。例えばタイマA10、タイマB14が、安価なCR発振器により構成されているときには、ジッタの影響が大きくなり1ビットの検出期間の精度が悪くなってしまう虞もある。特に、LIN仕様2.0では、マスタ装置2、スレーブ装置3内の発振周波数の許容誤差が、LIN仕様1.3などよりも厳しいものが要求されているため、この要求が満たされるための改善が必要となる。
【0064】
本実施形態に係る構成によれば、たとえ発振器の影響で1ビットの検出時間の精度が悪くなったとしても、1ビット長に対応した計測値の複数の平均値を算出することで1ビット長に対応した平均時間を算出しているため、検出精度の悪化を抑制できる。しかもタイマA10、タイマB14の計測値が、製品毎にばらつきを生じていたとしても1ビット長の平均時間のばらつきを抑制でき、これにより、同期信号の検出精度を向上できると共に、ボーレートの算出精度を向上できる。
【0065】
本実施形態によれば、ボーレート(ビットレート)を自動的に検出しているため、幅広いビットレートに柔軟に対応できる。
タイマA10と共にタイマB14が連続して計測した8区間分の計測値を、除算加算器18が2の3乗ビット長、2の2乗ビット長、2の0乗ビット長に対応した値でそれぞれ除してからそれぞれの値を加算した11ビット分の加算値を、記憶部B12の計測値と比較して判定しているため、2値シフト演算処理するのみで実現することができ、回路規模を縮小化することができる。
【0066】
本実施形態によれば、Synch Break Fieldがマスタ装置2からバス1を通じて何れのタイミングでスレーブ装置3に送信されたとしても、スレーブ装置3では何れのタイミングで受信したとしてもSynch Break Fieldを同期信号の一部として検出することができる。
【0067】
(他の実施形態)
本発明は、上記実施形態に限定されるものではなく、例えば、以下に示す変形または拡張が可能である。
ステップS5において、タイマA10には、立下り検出タイミングから立上り検出タイミングまでの「L」となっている間のエッジ検出時間間隔の計測値を記憶部A11に記憶させるようにした実施形態を示したが、立上り検出タイミングから立下り検出タイミングまでの「H」となっている間のエッジ検出時間間隔の計測値を記憶部A11に記憶させるように構成しても良い。
【0068】
立下り時点から立上り時点までの時間(「0」=「L」である時間)、立上り検出タイミングから立下り検出タイミングまでの時間(「1」=「H」である時間)を8区間連続して積算してタイマB14に記憶させ、その平均値を求めることで1ビットの平均時間を算出した実施形態を示したが、立上り時点から立下り時点(「1」=「H」である時間)の1ビットの時間のみを複数積算してその平均値を算出することで1ビットの平均時間を算出するようにしても良いし、逆に、立下り時点から立上り時点(「0」=「L」である時間)の1ビットの時間のみを複数積算してその平均値を算出することで1ビットの平均時間を算出するようにしても良い。
【0069】
ステップT3では、立下りエッジを4回検出することで8区間分の計測時間とした実施形態を示したが、これに代えて、立上りエッジを4回検出することで8区間分の計測時間として算出しても良い。
【0070】
前述実施形態では、LINのSynch Break Fieldの長さが11ビット以上の長さと規定されているため、仮同期信号として検出する際には、11ビットを超えない最大の2の累乗数である8ビット(N=3)に設定した実施形態を示したが、通信プロトコルの仕様によりNを1以上の所定の整数に切り替えて構成すれば如何なる整数値に対応した構成でも適用できる。この場合、2値演算のNビットシフト演算により算出処理を容易にできるため、仮同期信号を検出する際に回路規模を縮小化しながら容易に構成できる。
【符号の説明】
【0071】
図面中、1はバス、2はマスタ装置、3はスレーブ装置、4は制御部、5は送信部、6は受信部、7は同期信号仮検出部、8は同期信号確定部、9はエッジ検出部、10はタイマA、11は記憶部A、12は記憶部B、13は比較部A(比較器A)、14はタイマB、15はボーレート算出部、16は比較部B(比較器B)、17は除算器、18は除算加算器(平均時間算出部)を示す。

【特許請求の範囲】
【請求項1】
1ビット長の2のN乗倍(Nは1以上の所定の整数)を超える所定ビット長以上で連続した2値の第1レベルが続いた後、当該2値の第2レベルと前記第1レベルとを前記1ビット長で順に繰り返して連続するバス信号について、前記1ビット長で順に繰り返すデータを同期信号として検出する同期信号検出装置であって、
前記2値の第2レベルと前記第1レベルとを順に繰り返して受信する前に前記1ビット長の2のN乗倍の長さで前記2値の第1レベルが続いたことを条件として仮同期信号として検出する同期信号仮検出部と、
前記同期信号仮検出部により仮同期信号として検出されてから前記所定ビット長以上で前記2値の第1レベルが続いたことが検出されたことを条件として同期信号のヘッダとして確定する同期信号確定部とを備えたことを特徴とする同期信号検出装置。
【請求項2】
前記同期信号仮検出部は、タイマと、記憶部と、比較部とを備え、
前記タイマは、前記2値の第2レベルから前記第1レベルに移行する時点から当該第1レベルから前記第2レベルに移行する時点までの計測値、および/または、前記第1レベルから前記第2レベルに移行する時点から、当該第2レベルから前記第1レベルに移行する時点までの計測値、を計測して記憶部に保持させ、
前記比較部は、前記記憶部に保持された前回の計測値と、前記タイマが計測した今回の計測値とを比較し、前記前回の計測値が前記今回の計測値の2のN乗倍以上であることを条件として、前記1ビット長の2のN乗倍の長さで前記2値の第1レベルが続いたと判定して仮同期信号として検出することを特徴とする請求項1記載の同期信号検出装置。
【請求項3】
前記2のN乗倍の値が、前記2値の第1レベルの所定ビット長の値を超えない最大数に設定されていることを特徴とする請求項1または2記載の同期信号検出装置。
【請求項4】
前記第2レベルから前記第1レベルに移行する時点から、当該第1レベルから前記第2レベルに移行する時点までの前記1ビット長に対応した計測値、および/または、前記第1レベルから前記第2レベルに移行する時点から、当該第2レベルから前記第1レベルに移行する時点までの前記1ビット長に対応した計測値、を計測するタイマと、
前記タイマにより計測された計測値の複数の平均値を算出することで前記1ビット長に対応した平均時間を算出する平均時間算出部とを備え、
前記同期信号確定部は、前記タイマにより検出された計測値について前記平均時間算出部により算出された1ビット長の平均時間で除した値が前記所定ビットに対応した値以上であることを条件として同期信号のヘッダとして確定することを特徴とする請求項1ないし3の何れかに記載の同期信号検出装置。
【請求項5】
前記第2レベルから前記第1レベルに移行する時点から、当該第1レベルから前記第2レベルに移行する時点までの前記1ビット長に対応した計測値、および/または、前記第1レベルから前記第2レベルに移行する時点から、当該第2レベルから前記第1レベルに移行する時点までの前記1ビット長に対応した計測値、を計測するタイマと、
前記タイマにより計測された計測値の複数の平均値を算出することで前記1ビット長に対応した平均時間を算出する平均時間算出部を備え、
前記平均時間算出部により算出された1ビット長の平均時間についてその逆数をボーレートとして算出するボーレート算出部を備えたことを特徴とする請求項1ないし4の何れかに記載の同期信号検出装置。
【請求項6】
前記タイマとしてCR発振器を用いて構成したことを特徴とする請求項2ないし5の何れかに記載の同期信号検出装置。
【請求項7】
前記2値の第1レベルの所定ビット長は11ビット長であり、
前記同期信号確定部は、前記タイマが連続して計測した8区間分の計測値を2の3乗ビット長、2の2乗ビット長、2の0乗ビット長に対応した値でそれぞれ除してからそれぞれの値を加算した11ビット分の加算値を前記記憶部に保持された前回の計測値と比較して判定することを特徴とする請求項2ないし6の何れかに記載の同期信号検出装置。
【請求項8】
前記2の3乗ビット長、2の2乗ビット長、2の0乗ビット長に対応した値でそれぞれ除してからそれぞれの値を加算するときには、それぞれシフトレジスタを用いて除してからそれぞれの値を加算することを特徴とする請求項7記載の同期信号検出装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2011−172144(P2011−172144A)
【公開日】平成23年9月1日(2011.9.1)
【国際特許分類】
【出願番号】特願2010−35959(P2010−35959)
【出願日】平成22年2月22日(2010.2.22)
【出願人】(000004260)株式会社デンソー (27,639)
【Fターム(参考)】