(57)【要約】【課題】受信ビット列のエッジにズレが生じている場合でも、同一値データが連続している期間のビット数を検出できる受信装置を提供する。【解決手段】エッジ間長判定部は、受信ビット列に含まれている同一データ値が連続する既知ビット列の始まりを示すフォールエッジの検出タイミングから次の同エッジの検出タイミングまでの第１同一エッジ間隔を計測する。ビット数判定部は、第１同一エッジ間隔に含まれるビット数を基準ビット長情報から検出し、そのビット数から既知のビット列のビット数を減じて、同一データ値が連続する同一値間隔の第１ビット数を検出する。エッジ間長判定部間は更に、同一値間隔の始まりを示すライズエッジの検出タイミングから次の同エッジの検出タイミングまでの第２同一エッジ間隔を計測し、ビット数判定部は更に、第２同一エッジ間隔のビット数を基準ビット長情報から検出し、そのビット数から第１ビット数を減じて連続するデータ値が前記同一値間隔と反転するビット列の第２ビット数を検出する。【選択図】図１
2015008455.tif 000002
【特許請求の範囲】
【請求項１】
受信ビット列に含まれている同一のデータ値が連続する既知のビット列の始まりを示す第１スタートエッジが検出されたタイミングから、次に、前記第１スタートエッジと同じ変化方向のエッジが検出されたタイミングまでの第１同一エッジ間隔を計測するエッジ間隔計測手段（１２，１５，１５Ａ，１６ａ）と、
前記第１同一エッジ間隔に含まれているビット数を基準ビット長情報から検出し、前記ビット数から前記既知のビット列のビット数を減じて、同一データ値が連続している同一値間隔に含まれている第１ビット数を検出するビット数検出手段（１６ｂ，１７）とを備え、
前記エッジ間隔計測手段は更に、前記同一値間隔の始まりを示す第２スタートエッジが検出されたタイミングから、次に、前記第２スタートエッジと同じ変化方向のエッジが検出されたタイミングまでの第２同一エッジ間隔を計測し、
前記ビット数検出手段は更に、前記第２同一エッジ間隔に含まれているビット数を基準ビット長情報から検出し、前記ビット数から前記第１ビット数を減じて、連続するデータ値が前記同一値間隔と反転するビット列の第２ビット数を検出することを特徴とする受信装置。
【請求項２】
前記エッジ間隔計測手段は、前記受信ビット列の冒頭に配置されるプリアンブル期間のデータパターンより得られる基準ビット長情報に基づいて、前記第１及び第２同一エッジ間隔を計測することを特徴とする請求項１記載の受信装置。
【請求項３】
前記エッジ間隔計測手段（１２，１５，１６ａ）は、前記プリアンブル期間の長さを計測し、当該期間の長さより前記基準ビット長情報を得ることを特徴とする請求項２記載の受信装置。
【請求項４】
前記エッジ間隔計測手段（１５Ａ）は、前記プリアンブル期間について同一方向に変化するエッジの間隔を求め、前記間隔に対応するビット数から前記基準ビット長情報を得ることを特徴とする請求項２記載の受信装置。
【請求項５】
前記エッジ間隔計測手段は、前記末部ビットを、冒頭のビットのデータ値と、それに続くビットのデータ値とが異なる２ビット以上のビット列とすることを特徴とする請求項４記載の受信装置。
【請求項６】
前記エッジ間隔計測手段は、前記第１及び第２同一エッジ間隔の計測を、オーバーサンプリングによって行うことを特徴とする請求項１から５の何れか一項に記載の受信装置。
【請求項７】
前記エッジ間隔計測手段は、前記基準ビット長情報に基づいてサンプリングタイミングを決定すると、前記第１及び第２同一エッジ間隔についてデータサンプリングを行い、前記第１及び第２同一エッジ間隔を前記データサンプリング数で計測することを特徴とする請求項１から６の何れか一項に記載の受信装置。
【請求項８】
前記エッジ間隔計測手段は、以降に受信するビット列についても継続して第１及び第２同一エッジ間隔を計測し、
前記ビット数検出手段は、前記第１及び第２同一値間隔に含まれているビット数を検出することを特徴とする請求項１から７の何れか一項に記載の受信装置。
【請求項９】
調歩同期方式により受信ビット列の再生を行うことを特徴とする請求項１から８の何れか一項に記載の受信装置。
【請求項１０】
前記既知のビット列は、前記受信ビット列の冒頭に配置されるプリアンブルの末部に配置されている末部ビットであることを特徴とする請求項１から９の何れか一項に記載の受信装置。
【請求項１１】
前記受信ビット列は、オープンドレイン出力によって生成される信号からなることを特徴とする請求項１から１０の何れか一項に記載の受信装置。
【請求項１２】
前記受信ビット列は、フォトカプラ出力によって生成される信号からなることを特徴とする請求項１から１０の何れか一項に記載の受信装置。
【請求項１３】
受信ビット列に含まれている同一のデータ値が連続する既知のビット列の始まりを示す第１スタートエッジが検出されたタイミングから、次に、前記第１スタートエッジと同じ変化方向のエッジが検出されたタイミングまでの第１同一エッジ間隔を計測する第１ステップと、
前記第１同一エッジ間隔に含まれているビット数を基準ビット長情報から検出し、前記ビット数から前記既知のビット列のビット数を減じて、同一データ値が連続している同一値間隔に含まれている第１ビット数を検出する第２ステップと、
前記同一値間隔の始まりを示す第２スタートエッジが検出されたタイミングから、次に、前記第２スタートエッジと同じ変化方向のエッジが検出されたタイミングまでの第２同一エッジ間隔を計測する第３ステップと、
前記第２同一エッジ間隔に含まれているビット数を基準ビット長情報から検出し、前記ビット数から前記第１ビット数を減じて、連続するデータ値が前記同一値間隔と反転するビット列の第２ビット数を検出する第４ステップとからなることを特徴とする受信ビット列の同一値ビット数検出方法。
【請求項１４】
前記第１ステップにおいて、前記受信ビット列の冒頭に配置されるプリアンブル期間のデータパターンより得られる基準ビット長情報に基づいて、前記第１及び第２同一エッジ間隔を計測することを特徴とする請求項１３記載の受信ビット列の同一値ビット数検出方法。
【請求項１５】
前記プリアンブル期間の長さを計測し、当該期間の長さより前記基準ビット長情報を得ることを特徴とする請求項１４記載の受信ビット列の同一値ビット数検出方法。
【請求項１６】
前記プリアンブル期間について同一方向に変化するエッジの間隔を求め、前記間隔に対応するビット数から前記基準ビット長情報を得ることを特徴とする請求項１４記載の受信ビット列の同一値ビット数検出方法。
【請求項１７】
前記末部ビットを、冒頭ビットのデータ値と、それに続くビットのデータ値とが異なる２ビット以上のビット列とすることを特徴とする請求項１６記載の受信ビット列の同一値ビット数検出方法。
【請求項１８】
前記第１ステップにおいて、前記第１及び第２同一エッジ間隔の計測を、オーバーサンプリングによって行うことを特徴とする請求項１３から１７の何れか一項に記載の受信ビット列の同一値ビット数検出方法。
【請求項１９】
前記第１ステップにおいて、前記基準ビット長情報に基づいてサンプリングタイミングを決定すると、前記第１及び第２同一エッジ間隔についてデータサンプリングを行い、前記第１及び第２同一エッジ間隔を前記データサンプリング数で計測することを特徴とする請求項１３から１７の何れか一項に記載の受信ビット列の同一値ビット数検出方法。
【請求項２０】
前記第１〜第４ステップを繰り返し実行し、以降に受信するビット列についても継続して前記第１及び第２ビット数を検出することを特徴とする請求項１３から１９の何れか一項に記載の受信ビット列の同一値ビット数検出方法。
【請求項２１】
調歩同期方式により受信ビット列の再生を行うものに適用することを特徴とする請求項１３から２０の何れか一項に記載の受信ビット列の同一値ビット数検出方法。
【請求項２２】
前記既知のビット列は、前記受信ビット列の冒頭に配置されるプリアンブルの末部に配置されている末部ビットであることを特徴とする請求項１３から２１の何れか一項に記載の受信ビット列の同一値ビット数検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、受信ビット列に含まれている、同一値を示すデータが連続する部分についてビット数を検出する受信装置及び受信ビット列の同一値ビット数検出方法に関する。
【背景技術】
【０００２】
クロック同期を用いない例えば調歩同期方式やＣＤＲ（Clock Data Recovery）方式の通信に対応した受信装置では、送信側で使用している回路素子の特性等により受信データパルスのデューティにずれが生じると、データの再生精度が劣化する。例えば送信側のドライバがフォトカプラを用いていると、その出力段はオープンドレイン構成となっているため出力応答性が悪く、受信側で再生されたデータのライズエッジ及び／又はフォールエッジのタイミングがずれる。
【０００３】
上述のようにエッジのタイミングにずれが生じると、同じ値のデータビットが連続した際に、そのビット数の検出を誤る場合がある。このような問題を解決する技術として、例えば特許文献１に開示されているものがある。特許文献１では、エッジのタイミングにずれがある場合でも、受信データのＬパルス幅の中央Ｐとなる位相タイミングでサンプリングすることで、ずれの影響を排除することを目的としている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−２０４７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１の技術において、中央Ｐを決定する式
Ｐ＝｛Ｔ−（ｔＨ−ｔＬ）｝／２
について、デューティずれをａとし、ｔＨ＝Ｔ＋ａ，ｔＬ＝Ｔ−ａを代入すると、
Ｐ＝｛Ｔ−（Ｔ＋ａ−（Ｔ−ａ））｝／２＝Ｔ／２−ａ
という結果になる。これは、パルス周期の１／２よりデューティずれａを減じたタイミングであるが、明らかに、デューティずれａを生じたＬパルス幅の中央位相とは異なっている。
すなわち、特許文献１の開示内容からは、具体的にどのような構成を採用することでＬパルス幅の中央Ｐの位相でサンプリングを行うのかが不明であり、実現性が極めて乏しいと考えられる。
【０００６】
本発明は上記事情に鑑みてなされたものであり、その目的は、受信ビット列のエッジにズレが生じている場合でも、同一値データが連続している期間のビット数を検出できる受信装置及び受信ビット列の同一値ビット数検出方法を提供することにある。
【課題を解決するための手段】
【０００７】
請求項１記載の受信装置によれば、エッジ間隔計測手段は、受信ビット列に含まれている同一のデータ値が連続する既知のビット列の始まりを示す第１スタートエッジが検出されたタイミングから、次に、前記第１スタートエッジと同じ変化方向のエッジが検出されたタイミングまでの第１同一エッジ間隔を計測する。
【０００８】
そして、ビット数検出手段は、第１同一エッジ間隔に含まれているビット数を基準ビット長情報から検出し、前記ビット数から前記既知のビット列のビット数を減じて、同一データ値が連続している同一値間隔に含まれている第１ビット数を検出する。すなわち、受信ビット列のデューティずれは、送信部を構成する回路素子の特性を主要因として生じるので、変化方向が同じエッジの間隔，すなわち、ライズエッジの間隔，フォールエッジの間隔についてみれば、ずれの影響は及ばない。そこで、第１同一エッジ間隔のビット数を検出し、そのビット数から既知のビット列のビット数を減じれば、既知のビット列に続く受信ビット列の同一値間隔に含まれている第１ビット数を検出することができる。
【０００９】
また、エッジ間隔計測手段は更に、前記同一値間隔の始まりを示す第２スタートエッジ（第１スタートエッジとは逆方向になる）が検出されたタイミングから、次に、前記第２スタートエッジと同じ変化方向のエッジが検出されたタイミングまでの第２同一エッジ間隔を計測し、ビット数検出手段は更に、第２同一エッジ間隔に含まれているビット数を基準ビット長情報から検出し、前記ビット数から前記第１ビット数を減じて、連続するデータ値が前記同一値間隔と反転するビット列の第２ビット数を検出する。これにより、第１ビット数に続く第２ビット数についても同様に検出できる。
【図面の簡単な説明】
【００１０】
【図１】第１実施形態であり、同一値の受信データが連続する部分のビット数を検出する原理を説明する図
【図２】同一エッジ間について、デューティずれの影響を受けないことを説明する図
【図３】ライズ及びフォールエッジ検出部において、オーバーサンプリングによりエッジを検出する状態の説明図
【図４】（ａ）は通信装置、（ｂ）はデータ再生部の構成を示す機能ブロック図、（ｃ）は（ｂ）におけるライズエッジ／フォールエッジ検出部の構成を示す図
【図５】（ａ）は図４（ａ）に示すドライバの構成を示す図、（ｂ）はレシーバの入出力信号波形を示す図
【図６】データ再生部の作用に対応するフローチャート
【図７】調歩同期方式により受信データを検出する場合を説明する図
【図８】通信速度の変化に対するデューティずれの影響を説明する図
【図９】第２実施形態であり、プリアンブルのビット数が（ａ）偶数の場合と（ｂ）奇数の場合とについて、１ビット数相当期間の取得可否を説明する図
【図１０】図４（ｂ）相当図
【図１１】プリアンブルに続くデータの冒頭を判別する例であり、（ａ）ＳＦＤがある場合と（ｂ）ない場合の図、（ｃ）は（ｂ）について未知のデータの冒頭が「１」の場合の図
【図１２】第３実施形態であり、ＣＡＮ ＦＤに使用されるデータフレームについて本発明を適用する場合を示す図
【発明を実施するための形態】
【００１１】
（第１実施形態）
図４（ａ）に示すように、通信装置１（受信装置）は、レシーバ２，データ再生部３，アプリケーション部（アプリ）４及びドライバ５で構成されている。レシーバ２は、図示しない信号線を介して送信されたシリアルデータを受信し、受信ビット列をデータ再生部３に出力する。データ再生部３は、入力される受信ビット列より二値データを再生してアプリケーション部４に出力する。アプリケーション部４は、マイクロコンピュータなどで構成され、入力される受信データをアプリケーションの内容に応じてソフトウェア処理し、必要に応じてドライバ５を介して通信線上にデータを送信する。
【００１２】
図５（ａ）に示すように、ドライバ５は、発光部としてのＬＥＤ６ａと、受光部としてのフォトトランジスタ６ｂとを備えるフォトカプラ６を備えている。フォトトランジスタ６ｂのコレクタは、抵抗素子７を介して電源＋Ｖにプルアップされており、エミッタはグランドに接続されている。すなわち、フォトカプラ６は、オープンコレクタ出力となっており、入力されるデータはレベルが反転されて出力されるが、コレクタの浮遊容量により出力データ波形には鈍りが生じる（図５（ｂ）参照）。この場合、特にライズエッジ側に大きな鈍りが生じている。
【００１３】
フォトカプラ６の出力信号は、受信側（レシーバ２）においてシュミットトリガバッファやヒステリシスコンパレータなどにより受信される。すると、フォトカプラ６で生じた波形の鈍りによって、受信ビット列として出力される信号パルスのデューティは、入力された信号パルスのデューティより変化する。図５（ｂ）に示す例では、５０％デューティのパルスに対して、ハイデューティが小さく、ローデューティが大きく変化している。このようにエッジのタイミングにずれが生じると、同じ値のデータビットが連続した際に、そのビット数の検出を誤るおそれがある。
【００１４】
尚、ここではフォトカプラ６がドライバ５に含まれる場合を示したが、必ずしもドライバ５に含まれる必要は無く、送信側と受信側Ｔの間に含まれていれば、どこにあっても送受信間での通信に対して同じ様な影響を及ぼす。
【００１５】
次に、本実施形態におけるビット数の検出原理を説明する。上述のように信号パルスのエッジのタイミングにずれが生じている場合でも、図２に示すように、ライズエッジ同士の間隔，フォールエッジ同士の間隔を見るとずれの影響は受けない。つまり、受信ビット列のデューティずれは、上述したように送信部を構成する回路素子の特性を主要因として生じるので、変化方向が同じエッジの間隔についてみれば、ずれの影響が及ばないからである。そこで、図１に示すようにビット数を検出する。
【００１６】
プリアンブルの末尾データ（末部ビット）が「０」であれば、そのデータの始まりを示すフォールエッジ（第１スタートエッジ）と、その次に発生するフォールエッジとの間隔（第１同一エッジ間隔）を検出する。前記間隔が何ビット数に相当するかが判れば、前記末尾データのビット数（３）は「１」であるから、フォールエッジ間隔（２）のビット数より「１」を減じれば、残りのビット数（１）が正確に検出できる。すなわち、
期間（２）−期間（３）＝期間（１）
であるから、図１（ａ）に示すケースでは、
２−１＝１
となり、プリアンブルに続くデータの冒頭（データ再生区間，第１ビット数）が１ビットであることが判る。この方法は、１ビットの場合のみ適用できるわけではなく、図１（ｂ）に示すケースでは、
３−１＝２
となり、データの冒頭が２ビットであることが判る。
【００１７】
次に、図１（ｃ）に示すように、期間（１）を含むライズエッジ（第２スタートエッジ）の間隔を検出し（第２同一エッジ間隔）、当該間隔が何ビットに相当するかを判定する。これを期間（４）とする。また、期間（４）に含まれる未知の連続ビット部分を期間（５）とすると、
期間（４）−期間（１）＝期間（５）
から、期間（５）のビット数（第２ビット数）も判定できる。このように、既知の連続ビット数とその直後の連続ビットを含むライズエッジ間隔又はフォールエッジ間隔のビット数を判定すれば、計算により未知の連続ビット数を算出することが可能となり、この処理を繰り返すことで以降の全てのビット列を得ることができる。
【００１８】
また、上記の処理を繰り返し実行するに当たり、受信ビット列について期間（１）や期間（５）のようにビット数が明らかになった部分は、それ以降は「既知のビット列」として取り扱われることになる。
【００１９】
図４（ｂ）に示すように、データ再生部３では、入力される受信ビット列についてエッジ検出部１１においてエッジ検出を行う。エッジとは、ローレベルからハイレベルへの変化に対応するライズエッジ，及びハイレベルからローレベルへの変化に対応するフォールエッジである。エッジ検出部１１は、例えば図３に示すように、入力データ（受信ビット列）をオーバーサンプリングして、１サンプリング周期前のデータと排他的論理和（ＥＸＯＲ）を取ることでエッジを検出する。すなわち、エッジが検出されたタイミングで「１」（エッジ検出信号）を出力する。前記エッジ検出信号は、プリアンブル期間判定部１２（エッジ間隔計測手段），ライズエッジ検出部１３及びフォールエッジ検出部１４に入力される。
【００２０】
プリアンブル期間判定部１２は、受信ビット列の冒頭に配置される特定のデータパターンであるプリアンブルの期間の長さを判定し、判定結果を１ビット長判定部１５に出力する。１ビット長判定部１５（エッジ間隔計測手段）は、前記期間の長さをプリアンブルのビット数で除すことで１ビット長に相当する期間（基準ビット長情報）を算出すると、その結果をエッジ間長判定部１６（エッジ間隔計測手段）に出力する。
【００２１】
図４（ｃ）に示すように、ライズエッジ検出部１３及びフォールエッジ検出部１４は何れもＡＮＤゲートで構成されている。ライズエッジ検出部１３は、エッジ検出信号が入力された際に、負論理側の入力端子に与えられる１サンプル前のデータ値が「０」であればライズエッジ検出信号をエッジ間長判定部１６に出力する。また、フォールエッジ検出部１４は、エッジ検出信号が入力された際にその１サンプル前のデータ値が「１」であれば、フォールエッジ検出信号をエッジ間長判定部１６に出力する（図３参照）。
【００２２】
エッジ間長判定部１６（ａ，ｂ）には、入力データが直接与えられている。そして、エッジ間長判定部１６は、上記のライズエッジ又はフォールエッジ検出信号が入力されると、１ビット長相当期間の１／２が経過したタイミング、又はその近傍でデータをサンプリングして、同一エッジ間隔の時間を計測する（１６ａ部分）。そして、例えばフォールエッジでサンプリングを開始すると、次にフォールエッジが検出されるまでの間（同一エッジ間隔）に入力データをサンプリングした回数を、「エッジ間長」として何ビットに相当するか判定し（１６ｂ部分，エッジ間隔計測手段）、判定したビット数をビット数判定部１７（ビット数検出手段）に出力する。ビット数判定部１７は、入力されるライズ又はフォールエッジの間隔（サンプリング回数）に相当するビット数と過去の既知データ（同一値間隔のデータ値に変化する直前のデータ）より、未知部分の連続ビット数を判定して出力する。
【００２３】
次に、本実施形態の作用について説明する。図６に示すように、プリアンブル期間判定部１２は、エッジ検出部１１より入力されるエッジ検出信号に基づいてプリアンブルが終了したか否かを判断する（Ｓ１）。例えば図１（ａ）に示す例では、プリアンブルはデータ値「１（ハイ）」，「０（ロー）」が交互に繰り返されるパターンの１０ビットで構成されている。したがって、この場合、エッジ検出信号が１１回入力されると、プリアンブルが終了する（ＹＥＳ）。
【００２４】
プリアンブル期間判定部１２は、プリアンブルの期間の開始を示す最初のライズエッジから、同期間の終了を示す最後のライズエッジまでの期間長を判定して１ビット長判定部１５に出力する。図１に示すパターンの場合、１ビット長判定部１５は、プリアンブル期間をビット数「１０」で除して１ビット長に相当する期間を算出する（Ｓ２）。
【００２５】
エッジ間長判定部１６は、プリアンブルの末尾のデータに応じて最初にエッジ間長を判定する対象とするエッジを決定する（Ｓ３）。図１に示すパターンの場合はフォールエッジであるからフォールエッジ間隔についてデータサンプリングを行い、フォールエッジ間隔の時間（又はそれに相当する量）を計測する（Ｓ４）。それから、フォールエッジ間隔についてのサンプリング回数に相当するビット数をエッジ間長判定部１６にて判定し、判定したビット数をビット数判定部１７に出力する（Ｓ４Ａ）。ビット数判定部１７は、フォールエッジ間隔に相当するビット数とプリアンブルの末尾データのビット数より、同一エッジ間隔に含まれる未知データ部分の第１ビット数を判定して出力する（Ｓ５）。以降は、通信が終了するまでは（Ｓ６：ＮＯ）ステップＳ３〜Ｓ５の処理を継続する。
【００２６】
ここで、調歩同期方式により受信データを検出する場合を例にして説明する。図７（ａ）に示すように、調歩同期方式では最初のデータを、エッジから０．５ビット数に相当するタイミングでサンプリングする。そして、次にエッジが到来するまでは、最初のサンプリングポイントから１ビット数に相当するタイミングが経過する毎にサンプリングする。このようにして、１ビット数の中間となるタイミングでサンプリングを行う。
したがって、図７（ｂ）に示すように、デューティずれ，すなわち、エッジの発生タイミングにずれが生じるとサンプリングポイントがずれることになり、同じ値のデータが連続すると誤判定（データ値「１」が３ビット連続する期間を、２ビットと誤判定）する可能性がある。
【００２７】
これに対して、図７（ｃ）に示す本実施形態の方式では、図７（ｂ）と同様のデューティずれがあっても、フォールエッジ間隔のサンプリング数「４」が得られ、そこから過去の既知データのビット数「１」を減じれば、データ値「１」が連続する期間；３ビットが正しく得られる。
【００２８】
尚、調歩同期方式において、最初のデータサンプリングするタイミングを決定する０．５ビット数に相当する期間を取得するため、図３に示したようにオーバーサンプリングを適用しても良い。例えば１０倍オーバーサンプリングであれば、周波数誤差やジッタの揺らぎがない場合、１ビットは１０サンプルであるから、０．５ビットは５サンプルに相当するタイミングとなる。バイナリ演算であれば、１ビット相当サンプル数「１０」を１ビット右シフトすれば、０．５ビット相当サンプル数「５」が得られる。
１０１０Ｂ  →  ０１０１Ｂ
そして、エッジ間長判定部１６及びビット数判定部１７は、上述のようにプリアンブルとそれに続くビット列との境界部分についてだけでなく、以降に受信する全ての受信ビット列についても同様に同一エッジ間隔を求め、その同一エッジ間隔に含まれている同一値間隔のビット数を求める。
【００２９】
また、デューティずれがない状態で、１ビット期間の中間でサンプリングを行うようにすると、デューティずれが生じた場合、図８（ａ），（ｂ）に示すように通信速度が速くなるのに応じてずれの影響がより大きくなる。これに対して、本実施形態を適用すれば、通信速度が速くなったとしても、デューティずれ影響を排除して受信データの再生を正確に行うことが可能になる。また、図６に示す処理手順を、マイクロコンピュータのソフトウェアにより実現しても良い。
【００３０】
以上のように本実施形態によれば、エッジ間長判定部１６は、受信ビット列の冒頭に配置されるプリアンブルの末部に配置されている末部ビットの始まりを示すフォールエッジが検出されたタイミングから、次に受信ビット列についてフォールエッジが検出されたタイミングまでの第１同一エッジ間隔を計測する。
【００３１】
そして、ビット数判定部１７は、第１同一エッジ間隔に含まれているビット数を基準ビット長情報から検出し、そのビット数から末部ビットのビット数を減じて、同一データ値が連続している同一値間隔に含まれている第１ビット数を検出する。受信ビット列のデューティずれは、送信部を構成する回路素子の特性を主要因として生じるので、変化方向が同じエッジの間隔，すなわち、ライズエッジの間隔，フォールエッジの間隔についてみれば、ずれの影響は及ばない。したがって、第１同一エッジ間隔のビット数から、既知である末部ビットのビット数を減じれば、プリアンブルに続く受信ビット列の同一値間隔に含まれている第１ビット数を検出できる。
【００３２】
また、エッジ間長判定部１６及びビット数判定部１７は、プリアンブルとそれに続くビット列との境界部分だけでなく、以降に受信する全ての受信ビット列についても同様に同一エッジ間隔を求め、その同一エッジ間隔に含まれている同一値間隔のビット数を求めるので、全ての受信ビット列について、同一値間隔に含まれているビット数を検出できる。
すなわち、前記同一値間隔は既知のビット列となるので、同じように既知である同一連続ビットと、それに続く未知である同一連続ビットを含む第２同一エッジ間隔のビット数を判定し、ここから既知である連続ビット数を減ずることで未知である同一連続ビット列のビット数（第２ビット数）が算出可能であり、以降同じ処理を繰り返すことで、全てのデータを正しく得ることができる。
【００３３】
この場合、プリアンブル期間判定部１２がプリアンブル期間の長さを計測すると、エッジ間長判定部１６は、前記期間の長さに基づいて同一エッジ間隔を計測する。より具体的には、１ビット数判定部１５がプリアンブル期間より１ビット数相当期間を求め、エッジ間長判定部１６は、その１ビット数相当期間の長さに基づいてサンプリングタイミングを決定し、同一エッジ間隔についてデータサンプリングを行い、前記同一エッジ間隔を前記サンプリング数で計測する。したがって、そのサンプリング数より既知データのビット数を減じれば、同一値間隔に含まれているビット数を検出できる。
【００３４】
また、エッジ間長判定部１６が、同一エッジ間隔の計測をオーバーサンプリングによって行うことで、調歩同期方式により受信ビット列の再生を行う際に、サンプリングを行うタイミングを定める０．５ビット数に相当する間隔を容易に得ることができる。
【００３５】
（第２実施形態）
第２実施形態は、プリアンブルのビット数が奇数の場合でも、１ビット数を検出できるようにする。図９（ａ）に示すように（第１実施形態と同様）、プリアンブルが１０ビット構成の場合は、ライズエッジ間で得られるプリアンブル期間を「１０」で除すことで１ビット期間が得られる。これに対して図９（ｂ）に示すように、プリアンブルが１１ビット構成の場合は、プリアンブル期間の終了はフォールエッジになり、得られたプリアンブル期間を「１１」で除してもデューティずれの影響を排除した１ビット数に相当する期間を得ることはできない。
【００３６】
そこで第２実施形態では、図９（ｂ）に示すケースについても１ビット期間が得られるようにする。すなわち、図９（ｃ）に示すように、プリアンブルについても、同一エッジ間隔の長さを計測し、当該間隔に含まれているビット数から１ビット数相当期間を得る。プリアンブルが「１０１０…」の繰り返しであれば、ライズエッジ間隔，フォールエッジ間隔は何れも２ビットであるから、同一エッジ間隔の１／２が１ビット数相当期間となる。同様に１１ビット中の１０ビットを用いても良い。また、上記とは異なるパターンの場合は、予め決まっているパターンについて、同一エッジ間隔に含まれるビット数を記憶しておき、求めるようにすれば良い。このため、図１０に示すデータ再生部３Ａでは、１ビット長判定部１５Ａに、ライズエッジ検出部１３及びフォールエッジ検出部１４からの各エッジ検出信号が入力されている。
また、１ビット数相当期間を上記のように取得すれば、プリアンブル期間の終わりが明確に判別できなくても問題はない。したがって、以下のようなケースについても対応が可能となる。
【００３７】
図１１に示すように、プリアンブルの末尾データが「０」であり、それに続くビット列の最初のデータも「０」である場合は、両者の境界にエッジが発生せず、プリアンブル期間の終わりが判別できないが、プリアンブル以降のビット列が特定できれば良い。一般に、通常のフォーマットであれば、プリアンブルに続くデータの冒頭部分にＳＦＤ（Start Frame Delimiter）が配置されている。このＳＦＤも既知のデータパターンであり、しかも通常は、プリアンブルの末尾データが「０」であれば、第１実施形態と同様、両者の境界にエッジが立つように最初のデータは「１」が選択される。
【００３８】
しかし、例えば図１１（ａ）に示すように、ＳＦＤが３ビットでデータパターンが「００１」であっても、プリアンブルのスタートエッジと同じライズエッジとして、プリアンブルの最後のフォールエッジの次に、ライズエッジが到来すれば、末尾データ「０」に続いてＳＦＤの冒頭２ビット「００」まで受信したことを判別できる。したがって、その次のフォールエッジから（ＳＦＤデータ「１」の次から）データ再生を開始すれば良い。
【００３９】
また、図１１（ｂ）に示すように、プリアンブルに続いてＳＦＤが配置されておらず、直接未知のデータが続く仕様であれば、以下のようにデータの冒頭を判別する。プリアンブルの末部ビットを２ビット「１０」として、判定のスタートエッジをライズエッジとし、ライズエッジ間隔Ａを求める。ライズエッジ間隔Ａのビット数が、１ビット数相当期間より「４」であったとすれば、末部ビットの「１０」が既知であるから、続くデータの冒頭は２ビット「００」であることが判る。
【００４０】
そして、図１１（ｃ）に示すようにＳＦＤが配置されておらず、未知のデータの冒頭が「１」であれば両者の境界にエッジが立つ。この場合、上記と同様にライズエッジ間隔Ａを求めれば（Ａ＝Ｂ＋Ｃ）となるが、Ｂ，Ｃは既知の末部ビット「１０」であるから、続く未知のデータの冒頭が「１」であることが判別できる。次に末部ビットの「０」を含むフォールエッジ間隔を求めることで、データ先頭の「１」のビット数を得ることが可能になる。尚、末部ビットは「１００」，「１０００」等であっても良い。また、データパターンが異なるプリアンブルについて、フォールエッジ間隔を求める場合は「０１」，「０１１」，「０００１」等であっても良い。すなわち末部ビットとして、冒頭のビットのデータ値と、それに続くビットのデータ値とが異なる２ビット以上のビット列を選択すれば良い。
【００４１】
以上のように第２実施形態によれば、１ビット長判定部１５Ａは、プリアンブル期間について同一方向に変化するエッジの間隔を求め、前記間隔に対応するビット数から１ビット数相当期間を得る。そして、例えば末部ビットを「１０」として、スタートエッジであるライズエッジ同士の間隔を求めるようにした。これにより、プリアンブルとそれに続く受信ビット列との境界にエッジが立たないケースについても、１ビット数相当期間を求めて前記受信ビット列のデータを特定することができる。
【００４２】
（第３実施形態）
図１２に示すように、車載ＬＡＮの一種であるＣＡＮ ＦＤ（Controller Area Network with Flexible Data rate）に使用されるデータフレームについて本発明を適用することを想定する。ＣＡＮ ＦＤの仕様では、当初は低速（標準ビットレート）で通信を行い、途中から高速（ハイビットレート）で通信を行うように通信速度が変更される場合がある。そのため、低速通信では問題が無くても、高速通信に切り換えると、デューティずれの影響を受けるおそれがある。
そこで、例えば図１２（ａ）に示すように、ハイビットレートに切り換わったコントロールフィールド内にプリアンブルを挿入したり、或いは図１２（ｂ）に示すように、データフィールドの冒頭にプリアンブルを挿入すれば、本発明を適用できる。
【００４３】
本発明は上記した、又は図面に記載した実施形態にのみ限定されるものではなく、以下のような変形又は拡張が可能である。
プリアンブルのデータパターンについては、どのようなパターンでも良い。また、末部ビットのビット数は「３」以上でも良い。
同一エッジ間隔，同一値間隔を、タイマにより時間で計測しても良く、基準ビット長情報も、ビット数間隔を時間で扱って良い。
調歩同期方式やＣＡＮ ＦＤ以外の通信プロトコルに適用しても良い。
【符号の説明】
【００４４】
図面中、１は通信装置（受信装置）、１２はプリアンブル期間判定部（エッジ間隔計測手段）、１３はライズエッジ検出部、１４はフォールエッジ検出部、１５は１ビット長判定部（エッジ間隔計測手段）、１６はエッジ間長判定部（エッジ間隔計測手段、ビット数検出手段）、１７はビット数判定部（ビット数検出手段）を示す。
【図１】
2015008455.tif 000003
【図２】
2015008455.tif 000004
【図３】
2015008455.tif 000005
【図４】
2015008455.tif 000006
【図５】
2015008455.tif 000007
【図６】
2015008455.tif 000008
【図７】
2015008455.tif 000009
【図８】
2015008455.tif 000010
【図９】
2015008455.tif 000011
【図１０】
2015008455.tif 000012
【図１１】
2015008455.tif 000013
【図１２】
2015008455.tif 000014