(57)【要約】【課題】シリアル通信におけるシンクフィールドの異常波形を検出すること。【解決手段】ボーレートエラー検出回路は、エッジディテクタと、スタートビットサンプリング回路と、異常波形検出回路とを備える。エッジディテクタは、シリアル通信のボーレートを調整するためのシンクフィールドを受け取り、シンクフィールド中のエッジに応答してエッジ検出信号を生成する。スタートビットサンプリング回路は、エッジ検出信号及び内部クロック信号に基づいてシンクフィールドのスタートビットのビット幅を計測し、計測されたビット幅を期待値として示す期待値信号を生成する。異常波形検出回路は、エッジ検出信号及び内部クロック信号に基づいてスタートビット以降のエッジ間の幅を計測し、エッジ間幅と期待値信号で示される期待値との間の誤差が所定の許容誤差範囲を超える場合に異常波形検出信号を生成する。【選択図】図６
2011035473.tif 000002
【特許請求の範囲】
【請求項１】
シリアル通信のボーレートを調整するためのシンクフィールドを受け取り、前記シンクフィールド中のエッジに応答してエッジ検出信号を生成するエッジディテクタと、
前記エッジ検出信号及び内部クロック信号に基づいて前記シンクフィールドのスタートビットのビット幅を計測し、前記計測されたビット幅を期待値として示す期待値信号を生成するスタートビットサンプリング回路と、
前記エッジ検出信号及び前記内部クロック信号に基づいて前記スタートビット以降のエッジ間の幅を計測し、前記エッジ間幅と前記期待値信号で示される前記期待値との間の誤差が所定の許容誤差範囲を超える場合に異常波形検出信号を生成する異常波形検出回路と
を備える
ボーレートエラー検出回路。
【請求項２】
請求項１に記載のボーレートエラー検出回路であって、
前記スタートビットサンプリング回路は、前記内部クロック信号に同期してカウント動作を行い、前記スタートビットの前記ビット幅に相当するカウント値を前記期待値として取得し、
前記異常波形検出回路は、
前記内部クロック信号に同期してカウント動作を行い、カウント値を示すカウント値信号を生成するカウンタと、
前記エッジ検出信号に応答して前記カウンタの前記カウント値を初期値にリセットする判定回路と
を備え、
前記エッジ間幅は、前記初期値と、前記判定回路が前記エッジ検出信号を受け取ったときの前記カウント信号で示される前記カウント値との差分に相当し、
前記判定回路は、前記カウント値信号を参照し、前記エッジ間幅と前記期待値との間の前記誤差が前記所定の許容誤差範囲を超える場合に前記異常波形検出信号を生成する
ボーレートエラー検出回路。
【請求項３】
請求項２に記載のボーレートエラー検出回路であって、
前記カウンタは、前記内部クロック信号に同期してダウンカウント動作を行うダウンカウンタであり、
前記初期値は、前記期待値信号で示される前記期待値であり、
前記エッジ間幅と前記期待値との間の前記誤差は、前記判定回路が前記エッジ検出信号を受け取ったときの前記カウント値信号で示される前記カウント値である
ボーレートエラー検出回路。
【請求項４】
請求項３に記載のボーレートエラー検出回路であって、
前記判定回路は、前記カウント値信号で示される前記カウント値が前記所定の許容誤差範囲の下限を下回った場合にも、前記異常波形検出信号を生成する
ボーレートエラー検出回路。
【請求項５】
請求項１乃至４のいずれか一項に記載のボーレートエラー検出回路であって、
前記エッジ間幅と前記期待値との間の前記誤差に基づいてボーレートを補正するボーレート補正回路と、
前記ボーレート補正回路によって得られたボーレート補正値を保持するボーレート補正値レジスタと
を更に備える
ボーレートエラー検出回路。
【請求項６】
請求項５に記載のボーレートエラー検出回路であって、
前記所定の許容誤差範囲は、前記ボーレート補正値に基づき、ＣＰＵによって更新される
ボーレートエラー検出回路。
【請求項７】
請求項１乃至６のいずれか一項に記載のボーレートエラー検出回路であって、
前記エッジディテクタによって検出されたエッジ数を前記エッジ検出信号に基づいてカウントするエッジカウンタを更に備え、
前記エッジカウンタは、前記スタートビットの終了と共に前記異常波形検出回路を活性化し、前記シンクフィールドの終了と共に前記異常波形検出回路を非活性化する
ボーレートエラー検出回路。
【請求項８】
シリアル通信のボーレートを設定するためのシンクフィールドを受け取るステップと、
前記シンクフィールド中のエッジに応答してエッジ検出信号を生成するステップと、
前記エッジ検出信号及び内部クロック信号に基づいて前記シンクフィールドのスタートビットのビット幅を計測し、前記計測されたビット幅を期待値として示す期待値信号を生成するステップと、
前記エッジ検出信号及び前記内部クロック信号に基づいて前記スタートビット以降のエッジ間の幅を計測するステップと、
前記エッジ間幅と前記期待値信号で示される前記期待値との間の誤差が所定の許容誤差範囲を超える場合に、異常波形検出信号を生成するステップと
を含む
ボーレートエラー検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シリアル通信におけるボーレートエラー検出技術に関する。
【背景技術】
【０００２】
近年、自動車に搭載されるＥＣＵ（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ：電子制御装置）同士を結ぶ車載ネットワークが広く普及している。代表的な車載ネットワークのシリアル通信プロトコルとしては、ＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）やＬＩＮ（Ｌｏｃａｌ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  Ｎｅｔｗｏｒｋ）が知られている。ＬＩＮは、ＣＡＮと比較して低コストで実現され、ＣＡＮほどの帯域幅と多様性を必要としない装置間の通信に用いられている。例えば、ＬＩＮは、各種センサからの情報の通信に利用されている。
【０００３】
シリアル通信システムとしてのＬＩＮ通信システムは、典型的には、１つのマスタノードと複数のスレーブノードから構成される。ここで、マスタノードとスレーブノードとの間でボーレート（ｂａｕｄ  ｒａｔｅ）を一致させるために、ＬＩＮプロトコルでは「シンクフィールド（ＳＹＮＣ−ＦＩＥＬＤ）」が用意されている。
【０００４】
より詳細には、マスタノードがスレーブノードに対して通信を開始する際、マスタノードからスレーブノードに送られるフレームヘッダには、シンクブレークフィールドとシンクフィールドが含まれている。シンクブレークフィールドは、１３ビット以上のＬｏｗレベル（ドミナントレベル）の信号である。スレーブノードは、１１ビット以上のＬｏｗレベルを検出してシンクブレークフィールドと判定する。シンクブレークフィールドに続くシンクフィールドには、データ値「０ｘ５５」（＝０１０１０１０１）が格納される。スレーブノードは、このシンクフィールドを用いることによって自身のボーレートを調整する。すなわち、スレーブノードは、シンクブレークフィールドを検出した後、後続するシンクフィールドに基づいてボーレートの調整を行い、それ以降は調整後のボーレートでデータを受信する。
【０００５】
特許文献１（特開２００７−３２４６７９号公報）は、スレーブノードで用いられるシリアル通信用ボーレートジェネレータを開示している。図１は、当該ボーレートジェネレータ１２Ａを含む構成を示すブロック図である。図２は、当該ボーレートジェネレータ１２Ａの動作を示すタイミングチャートである。
【０００６】
クロックジェネレータ１１は、内部クロック（システムクロック）５１をＣＰＵ１０やボーレートジェネレータ１２Ａに出力する。ＣＰＵ１０は、内部クロック５１に基づいて各種処理を実行する。ボーレートジェネレータ１２Ａは、内部クロック５１に基づいてボーレートを決定する。Ｉ／Ｏインタフェース１４は、ボーレートジェネレータ１２Ａで決定されたボーレートに従って、データ送受信を行う。
【０００７】
ボーレートジェネレータ１２Ａは、エッジディテクタ２１、エッジカウンタ２２、シンクフィールド測定タイマ２３、ボーレート補正回路２４Ａ、ボーレート補正値格納レジスタ２５、ボーレート初期値設定レジスタ２６、セレクタ２７、カウンタ２８、及び一致検出回路２９を備えている。このボーレートジェネレータ１２Ａには、Ｉ／Ｏインタフェース１４を通してシリアルデータが入力される。
【０００８】
ボーレートジェネレータ１２Ａにシンクブレークフィールドが入力されると、エッジディテクタ２１にシンクブレークフィールド検出信号３０が入力される。エッジディテクタ２１は、シンクブレークフィールド検出信号３０に応答して、シリアルデータの立ち下がりエッジ検出動作を開始する。エッジディテクタ２１は、シンクフィールド４２のスタートビットの立ち下がりエッジを検出すると、シンクフィールド開始信号３１をエッジカウンタ２２及びシンクフィールド測定タイマ２３に出力する。その後、エッジディテクタ２１は、シンクフィールド４２の立ち下がりエッジを検出する毎に、エッジ検出信号４０をエッジカウンタ２２に出力する。
【０００９】
エッジカウンタ２２は、シンクフィールド開始信号３１に応答して、カウント動作を開始する。具体的には、エッジカウンタ２２は、エッジディテクタ２１から受け取るエッジ検出信号４０をカウントする。シンクフィールド開始信号３１の受信後、エッジ検出信号４０を４回カウントすると（図２参照）、エッジカウンタ２２は、シンクフィールド終了信号３２をシンクフィールド測定タイマ２３及びボーレート補正回路２４Ａに出力する。
【００１０】
シンクフィールド測定タイマ２３は、内部クロック５１をカウントすることによって時間を計測する。具体的には、図２に示されるように、シンクフィールド測定タイマ２３は、シンクフィールド開始信号３１の受信からシンクフィールド終了信号３２の受信までの時間（測定時間３３）を計測する。すなわち、シンクフィールド測定タイマ２３は、８ビットのシンクフィールド４２に対応する８ビット期間を計測し、測定時間３３は、その８ビット期間に相当するクロック数となる。シンクフィールド測定タイマ２３は、得られた測定時間３３をボーレート補正回路２４Ａに通知する。
【００１１】
ボーレート補正回路２４Ａは、シンクフィールド終了信号３２を受け取ると、測定時間３３からボーレート補正値３４を算出する。ボーレート補正値３４は、ボーレートを補正するためのパラメータであり、１／２ビット期間に相当するクロック数である。ボーレート補正回路２４Ａは、ボーレート補正値３４をボーレート補正値格納レジスタ２５に格納する。ボーレート補正値格納レジスタ２５は、ボーレート補正値３４をセレクタ２７に出力する。
【００１２】
その一方で、ＣＰＵ１０は、ボーレート初期値３５をボーレート初期値設定レジスタ２６に予め格納している。ここで、ボーレート初期値３５は、１／２ビット期間に相当するクロック数の“理論値”であり、マスタノードのボーレートに一致するように予め算出されている。ボーレート初期値設定レジスタ２６は、ボーレート初期値３５をセレクタ２７に出力する。
【００１３】
ＣＰＵ１０は、ボーレート選択信号５２をセレクタ２７に出力する。ボーレート選択信号５２が“０”の場合、セレクタ２７は、ボーレート初期値３５をボーレート選択出力３６として一致検出回路２９に出力する。一方、ボーレート選択信号５２が“１”の場合、セレクタ２７は、ボーレート補正値３４をボーレート選択出力３６として一致検出回路２９に出力する。
【００１４】
カウンタ２８は、内部クロック５１をカウントし、カウント値３７を一致検出回路２９に出力する。一致検出回路２９は、ボーレート選択出力３６とカウント値３７とが一致するタイミングで、一致検出信号３８をＩ／Ｏインタフェース１４に出力する。すなわち、一致検出回路２９は、補正前あるいは補正後の１／２ビット期間毎に、一致検出信号３８をＩ／Ｏインタフェース１４に出力する。一致検出信号３８は、Ｉ／Ｏインタフェース１４の内部で分周回路によって分周され、それにより、データ送受信に必要なクロック信号（サンプリングクロック、シフトクロック）が生成される。
【００１５】
このように、スレーブノードのボーレートジェネレータ１２Ａは、マスタノードから転送されるシンクフィールド４２を利用して８ビット期間を計測し、その８ビット期間に基づいて自身のボーレートを補正する。
【先行技術文献】
【特許文献】
【００１６】
【特許文献１】特開２００７−３２４６７９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１７】
本願発明者は、次の点に着目した。図１及び図２で示された関連技術の場合、スレーブノードが異常波形を有するシンクフィールドを受け取ったとしても、それが見逃されてしまう。何故なら、シンクフィールドの判定が、スタートビットの立ち下がりエッジの検出と、その後の４回の立ち下がりエッジの検出だけで行われているからである。この場合、１ビット毎の波形は確認されず、異常波形が見逃されてしまう。
【００１８】
図３〜図５は、シンクフィールドの様々な異常波形の例を示している。図３の例では、Ｈｉｇｈビットの幅が短すぎる。図４の例では、ノイズの立ち下がりエッジが、シンクフィールドの規定の立ち下がりエッジとしてカウントされている。図５の例では、規定の信号ではなくノイズがカウントされている。このような異常波形が見逃されることは、スレーブノードにおけるボーレートエラーを招く。
【課題を解決するための手段】
【００１９】
本発明の１つの観点において、ボーレートエラー検出回路が提供される。そのボーレートエラー検出回路は、エッジディテクタと、スタートビットサンプリング回路と、異常波形検出回路とを備える。エッジディテクタは、シリアル通信のボーレートを調整するためのシンクフィールドを受け取り、シンクフィールド中のエッジに応答してエッジ検出信号を生成する。スタートビットサンプリング回路は、エッジ検出信号及び内部クロック信号に基づいてシンクフィールドのスタートビットのビット幅を計測し、計測されたビット幅を期待値として示す期待値信号を生成する。異常波形検出回路は、エッジ検出信号及び内部クロック信号に基づいてスタートビット以降のエッジ間の幅を計測し、エッジ間幅と期待値信号で示される期待値との間の誤差が所定の許容誤差範囲を超える場合に異常波形検出信号を生成する。
【００２０】
本発明の他の観点において、ボーレートエラー検出方法が提供される。そのボーレートエラー検出方法は、（Ａ）シリアル通信のボーレートを設定するためのシンクフィールドを受け取るステップと、（Ｂ）シンクフィールド中のエッジに応答してエッジ検出信号を生成するステップと、（Ｃ）エッジ検出信号及び内部クロック信号に基づいてシンクフィールドのスタートビットのビット幅を計測し、計測されたビット幅を期待値として示す期待値信号を生成するステップと、（Ｄ）エッジ検出信号及び内部クロック信号に基づいてスタートビット以降のエッジ間の幅を計測するステップと、（Ｅ）エッジ間幅と期待値信号で示される期待値との間の誤差が所定の許容誤差範囲を超える場合に、異常波形検出信号を生成するステップと、を含む。
【発明の効果】
【００２１】
本発明によれば、シンクフィールドの異常波形を検出することが可能となる。
【図面の簡単な説明】
【００２２】
【図１】図１は、関連技術に記載されているボーレートジェネレータを含む構成を示すブロック図である。
【図２】図２は、関連技術に記載されているボーレートジェネレータの動作を示すタイミングチャートである。
【図３】図３は、シンクフィールドの異常波形の一例を示すタイミングチャートである。
【図４】図４は、シンクフィールドの異常波形の他の例を示すタイミングチャートである。
【図５】図５は、シンクフィールドの異常波形の更に他の例を示すタイミングチャートである。
【図６】図６は、本発明の第１の実施の形態に係るボーレートエラー検出回路を含むスレーブノードの構成を示すブロック図である。
【図７】図７は、ダウンカウンタの動作例を説明するための概念図である。
【図８】図８は、本実施の形態に係るボーレートエラー検出回路の動作の一例を示すタイミングチャートである。
【図９】図９は、本実施の形態に係るボーレートエラー検出回路の動作の他の例を示すタイミングチャートである。
【図１０】図１０は、本実施の形態に係るボーレートエラー検出回路の動作の更に他の例を示すタイミングチャートである。
【図１１】図１１は、本発明の第２の実施の形態に係るボーレートエラー検出回路を含むスレーブノードの構成を示すブロック図である。
【図１２】図１２は、本発明の第３の実施の形態に係るボーレートエラー検出回路を含むスレーブノードの構成を示すブロック図である。
【発明を実施するための形態】
【００２３】
添付図面を参照して、本発明の実施の形態を説明する。
【００２４】
本実施の形態では、シリアル通信システムの一例として、ＬＩＮ通信プロトコルを利用したＬＩＮ通信システムを考える。ＬＩＮ通信システムは、典型的には、１つのマスタノードと複数のスレーブノードから構成される。マストノード及びスレーブノードとして、マイコン（ＭＣＵ：Ｍｉｃｒｏ  Ｃｏｎｔｒｏｌｌｅｒ  Ｕｎｉｔ）が例示される。
【００２５】
マスタノードがスレーブノードに対して通信を開始する際、マスタノードからスレーブノードに送られるフレームヘッダには、シンクブレークフィールドとシンクフィールド（ＳＹＮＣ−ＦＩＥＬＤ）が含まれている。シンクブレークフィールドとシンクフィールドのフォーマットは、ＬＩＮ通信プロトコルで規定されている。
【００２６】
具体的には、シンクブレークフィールドは、１３ビット以上のＬｏｗレベル（ドミナントレベル）の信号である。受信装置としてのスレーブノードは、１１ビット以上のＬｏｗレベルを検出してシンクブレークフィールドと判定する。シンクブレークフィールドに続くシンクフィールドには、データ値「０ｘ５５」（＝０１０１０１０１）が格納される。受信装置としてのスレーブノードは、このシンクフィールドを用いることによって自身のボーレートを調整する。すなわち、スレーブノードは、シンクブレークフィールドを検出した後、後続するシンクフィールドに基づいてボーレートの調整を行い、それ以降は調整後のボーレートでデータを受信する。
【００２７】
以下、ＬＩＮ通信システムにおける受信装置としてのスレーブノード、及びそのスレーブノードにおいて用いられるボーレートエラー検出回路を詳細に説明する。
【００２８】
１．第１の実施の形態
図６は、本発明の第１の実施の形態に係るスレーブノード１の構成を示すブロック図である。スレーブノード１は、Ｉ／Ｏインタフェース１００、ボーレートエラー検出回路２００、クロックジェネレータ３００、及びＣＰＵ４００を備えている。
【００２９】
Ｉ／Ｏインタフェース１００は、バスを介して、マスタノードや他のスレーブノードとの間でデータ送受信を行う。シンクフィールド（ＳＹＮＣ−ＦＩＥＬＤ）を含むシリアルデータＤＡＴは、このＩ／Ｏインタフェース１００を通してボーレートエラー検出回路２００に入力される。クロックジェネレータ３００は、内部クロック信号ＣＬＫ（システムクロック）を生成し、その内部クロック信号ＣＬＫをＣＰＵ４００やボーレートエラー検出回路２００に供給する。ＣＰＵ４００は、内部クロック信号ＣＬＫに基づいて各種処理を実行する。
【００３０】
ボーレートエラー検出回路２００は、Ｉ／Ｏインタフェース１００を通して、シンクフィールド（ＳＹＮＣ−ＦＩＥＬＤ）を含むシリアルデータＤＡＴを受け取る。このボーレートエラー検出回路２００は、エッジディテクタ２１０、エッジカウンタ２２０、スタートビットサンプリング回路２３０、許容誤差設定回路２４０、及び異常波形検出回路２５０を備えている。
【００３１】
シリアルデータＤＡＴ中のシンクブレークフィールドが図示されない回路によって検出されると、エッジディテクタ２１０が活性化される。このエッジディテクタ２１０は、シリアルデータＤＡＴを受け取り、エッジ検出を行う。具体的には、エッジディテクタ２１０は、シリアルデータＤＡＴに含まれるシンクフィールド中のエッジ（立ち上がりエッジ及び立ち下がりエッジ）に応答して、エッジ検出信号ＳＥを生成する。そして、エッジディテクタ２１０は、エッジ検出信号ＳＥを、エッジカウンタ２２０、スタートビットサンプリング回路２３０及び異常波形検出回路２５０に出力する。
【００３２】
シリアルデータＤＡＴ中のシンクブレークフィールドが図示されない回路によって検出されると、エッジカウンタ２２０が初期化される。このエッジカウンタ２２０は、エッジディテクタ２１０から受け取るエッジ検出信号ＳＥの数をカウントする。すなわち、エッジカウンタ２２０は、エッジ検出信号ＳＥを参照することによって、エッジディテクタ２１０によって検出されたエッジ数をカウントする。
【００３３】
この検出エッジ数を参照することによって、シンクフィールドのスタートビットの開始／終了やシンクフィールドの終了を把握することができる。エッジカウンタ２２０は、その検出エッジ数に応じて制御信号ＣＯＮを生成する。制御信号ＣＯＮは、スタートビットサンプリング回路２３０及び異常波形検出回路２５０の動作を制御するための信号であり、スタートビットサンプリング回路２３０及び異常波形検出回路２５０に送られる。
【００３４】
例えば、検出エッジ数が１になった場合、それはシンクフィールドのスタートビットの開始を意味する。このとき、エッジカウンタ２２０は、スタートビットサンプリング回路２３０を活性化し、且つ、異常波形検出回路２５０を非活性化する制御信号ＣＯＮを生成する。検出エッジ数が２になった場合、それはシンクフィールドのスタートビットの終了を意味する。このとき、エッジカウンタ２２０は、スタートビットサンプリング回路２３０を非活性化し、且つ、異常波形検出回路２５０を活性化する制御信号ＣＯＮを生成する。検出エッジ数がシンクフィールドの規定ビット数に応じた規定数になった場合、それはシンクフィールドの終了を意味する。このとき、エッジカウンタ２２０は、異常波形検出回路２５０を非活性化する制御信号ＣＯＮを生成する。
【００３５】
スタートビットサンプリング回路２３０は、エッジディテクタ２１０からエッジ検出信号ＳＥを受け取り、クロックジェネレータ３００から内部クロック信号ＣＬＫを受け取る。このスタートビットサンプリング回路２３０は、エッジ検出信号ＳＥ及び内部クロック信号ＣＬＫに基づいて、シンクフィールドのスタートビットのビット幅を計測する。
【００３６】
より詳細には、スタートビットサンプリング回路２３０は、内部クロック信号ＣＬＫに同期してカウント動作を行うカウンタを有している。１回目のエッジ検出信号ＳＥを受け取ると、スタートビットサンプリング回路２３０は、カウント動作を開始する。続く２回目のエッジ検出信号ＳＥを受け取ると、スタートビットサンプリング回路２３０は、カウント動作を停止する。そのときのカウント値が、１回目と２回目のエッジ検出信号ＳＥの間の期間、すなわち、スタートビットのビット幅に相当する。このようにして、スタートビットサンプリング回路２３０は、シンクフィールドのスタートビットのビット幅を計測することができる。
【００３７】
本実施の形態では、このようにして得られたスタートビットのビット幅（カウント値）が、シンクフィールドの後続ビットのビット幅の“期待値”として用いられる。そのために、スタートビットサンプリング回路２３０は、スタートビットのビット幅を“期待値”として示す期待値信号ＥＸＰを生成する。そして、スタートビットサンプリング回路２３０は、期待値信号ＥＸＰを異常波形検出回路２５０に出力する。
【００３８】
許容誤差設定回路２４０には、後に説明される「ビット幅の許容誤差値」が格納される。この許容誤差値は、ＣＰＵ４００によって決定され、許容誤差設定回路２４０に予め格納される。許容誤差設定回路２４０は、許容誤差値を示す許容誤差信号ＡＥＲを異常波形検出回路２５０に出力する。
【００３９】
異常波形検出回路２５０は、エッジディテクタ２１０からエッジ検出信号ＳＥを受け取り、クロックジェネレータ３００から内部クロック信号ＣＬＫを受け取り、スタートビットサンプリング回路２３０から期待値信号ＥＸＰを受け取り、許容誤差設定回路２４０から許容誤差信号ＡＥＲを受け取る。この異常波形検出回路２５０は、エッジ検出信号ＳＥ及び内部クロック信号ＣＬＫに基づいて、スタートビット以降のエッジ間の幅を計測する。そして、異常波形検出回路２５０は、計測されたエッジ間幅（後続ビットのビット幅）と期待値信号ＥＸＰで示される期待値との間の誤差が、許容誤差信号ＡＥＲで規定される許容誤差範囲を超えるか否かを判定する。当該誤差が許容誤差範囲を超えると判定された場合、異常波形検出回路２５０は、異常波形検出信号ＡＢＷを生成し、外部に出力する。
【００４０】
より詳細には、異常波形検出回路２５０は、判定回路２６０とカウンタ２７０を含んでいる。判定回路２６０は、エッジ検出信号ＳＥに応答して、カウンタ２７０にリセット信号ＲＳＴを出力し、カウンタ２７０のカウント値を初期値にリセットする。カウンタ２７０は、内部クロック信号ＣＬＫに同期してカウント動作を行い、カウント値を示すカウント値信号ＣＮＴを生成する。判定回路２６０は、そのカウント値信号ＣＮＴを参照することによって「判定処理」を行う。
【００４１】
判定処理は、次の通りである。シンクフィールドのエッジ間幅（後続ビットのビット幅）は、連続するエッジ検出信号ＳＥ間の期間に相当する。すなわち、エッジ間幅は、カウント値の初期値と、判定回路２６０がエッジ検出信号ＳＥを受け取った時点のカウント値との差分に相当する。従って、判定回路２６０は、エッジ検出信号ＳＥとカウント値信号ＣＮＴを参照することによって、シンクフィールドのエッジ間幅を把握することができる。そして、判定回路２６０は、エッジ間幅と期待値信号ＥＸＰで示される期待値との間の誤差が、許容誤差信号ＡＥＲで規定される許容誤差範囲を超えるか否かを判定することができる。当該誤差が許容誤差範囲を超える場合、判定回路２６０は、異常波形検出信号ＡＢＷを生成し、外部に出力する。
【００４２】
図７を参照して、カウンタ２７０が「ダウンカウンタ」の場合を説明する。この場合、判定回路２６０は、ダウンカウンタ２７０の初期値を、期待値信号ＥＸＰで示される期待値（スタートビットのビット幅）に設定する。ダウンカウンタ２７０は、内部クロック信号ＣＬＫに同期してダウンカウント動作を行う。エッジ間幅は、初期値（期待値）と、次のエッジ検出信号ＳＥを受け取った時点のカウント値との差分に相当する。結果として、エッジ間幅と期待値との間の誤差は、次のエッジ検出信号ＳＥを受け取った時点のカウント値そのものになる。従って、判定回路２６０は、エッジ検出信号ＳＥ、カウント値信号ＣＮＴ及び許容誤差信号ＡＥＲを参照することによって、判定処理を容易に行うことが可能である。
【００４３】
尚、カウンタ２７０は、アップカウンタであってもよい。その場合、初期値は０に設定される。エッジ間幅は、エッジ検出信号ＳＥを受け取った時点のカウント値に相当する。この場合、判定回路２６０は、期待値信号ＥＸＰで示される期待値とカウント値信号ＣＮＴで示されるカウント値との差分を上記誤差として算出する。
【００４４】
以下、カウンタ２７０がダウンカウンタの場合の動作例を説明する。
【００４５】
図８に示されるように、ダウンカウンタ２７０は、スタートビット終了時の立ち上がりエッジからダウンカウント動作を開始する。ダウンカウンタ２７０の初期値は、スタートビットサンプリング回路２３０によって得られた期待値（スタートビットのビット幅）である。判定回路２６０は、スタートビット以降の各エッジ間幅に関して判定処理を行う。具体的には、判定回路２６０は、エッジ検出時のカウント値が許容誤差範囲内に含まれているか否かを判定する。
【００４６】
図８は、シンクフィールドが理想的な波形を有している場合を示している。この場合、エッジ検出時のカウント値は、許容誤差範囲内に含まれている。言い換えれば、カウント値が許容誤差範囲に含まれている期間内に、次のエッジが検出されている。従って、判定回路２６０は、シンクフィールドの波形は正常であると判定し、ダウンカウンタ２７０をリセットする。シンクフィールドが終了するまで、同様の動作が繰り返される。
【００４７】
図９は、シンクフィールドの異常波形の例として、Ｌｏｗ幅が長すぎる場合、及び、Ｈｉｇｈ幅が短すぎる場合を示している。これらの場合、エッジ検出時のカウント値が、許容誤差範囲を超えてしまっている。言い換えれば、カウント値が許容誤差範囲に含まれている期間内に、次のエッジが検出されていない。従って、判定回路２６０は、シンクフィールドの波形は異常であると判定し、異常波形検出信号ＡＢＷを出力する。
【００４８】
尚、図９の例で示されるように、カウント値が許容誤差範囲の下限を下回った場合、次のエッジ検出を待つまでもなく、異常判定が確定する。従って、判定回路２６０は、カウント値信号ＣＮＴで示されるカウント値が許容誤差範囲の下限を下回った時点で、異常波形検出信号ＡＢＷを生成、出力してもよい。
【００４９】
図１０は、既出の図３で示されたものと同じ異常波形の場合を示している。図１０に示されるように、スタートビットの次のＨｉｇｈビットの時点で異常波形が検出されている。すなわち、シンクフィールド全体を計測することなく、異常が素早く検出されている。
【００５０】
以上に説明されたように、本実施の形態によれば、シンクフィールドのスタートビットがサンプリングされ、そのビット幅が期待値として自動的に生成される。そして、後続のビット毎に、ビット幅が期待値と比較される。その結果、シンクフィールドの異常波形を検出することが可能となる。
【００５１】
更に、本実施の形態では、スタートビットのビット幅が期待値として自動的に得られるため、図１で示されたようなボーレート初期値設定レジスタ２６が不要になる。このことは、回路規模の縮小に寄与する。
【００５２】
また、図１で示されたシンクフィールド測定タイマ２３は、少なくとも８ビット分の期間を計測する必要がある。一方、本実施の形態で用いられるカウンタ２７０は、せいぜい正常ビット２個分の期間を計測できれば十分である。このことも、回路規模の縮小に寄与する。
【００５３】
２．第２の実施の形態
図１１は、本発明の第２の実施の形態に係る構成を示している。第２の実施の形態に係るボーレートエラー検出回路２００は、第１の実施の形態に係る構成に加えて、ボーレート補正回路２８０及びボーレート補正値レジスタ２９０を更に備えている。第１の実施の形態と重複する説明は適宜省略される。
【００５４】
本実施の形態において、異常波形検出回路２５０は、上述の「エッジ間幅と期待値との間の誤差」を示す誤差信号ＥＲＲを生成する。そして、異常波形検出回路２５０は、生成した誤差信号ＥＲＲを順次ボーレート補正回路２８０に出力する。
【００５５】
ボーレート補正回路２８０は、受け取った誤差信号ＥＲＲを自身のレジスタに格納する。そして、ボーレート補正回路２８０は、シンクフィールドの受信が完了したタイミングで、誤差信号ＥＲＲに基づいてボーレートの補正を行う。ボーレートの補正方法としては、様々考えられる。そのボーレートの補正によって、ボーレート補正値ＣＢＲが得られる。ボーレート補正回路２８０は、得られたボーレート補正値ＣＢＲをボーレート補正値レジスタ２９０に格納する。ボーレート補正値レジスタ２９０は、ボーレート補正値ＣＢＲを保持する。
【００５６】
ＣＰＵ４００は、ボーレート補正値レジスタ２９０からボーレート補正値ＣＢＲを読み出す。ＣＰＵ４００は、そのボーレート補正値ＣＢＲに基づいて、上述の許容誤差値を更新する。すなわち、ＣＰＵ４００は、ボーレート補正値ＣＢＲを参照して、次回のシンクフィールド受信時の許容誤差値を決定する。そして、ＣＰＵ４００は、決定した許容誤差値を許容誤差設定回路２４０に新たに格納する。このようにして、異常波形検出処理時の許容誤差範囲が更新される。その結果、実際の通信状態における異常波形の検出精度が向上する。
【００５７】
３．第３の実施の形態
図１２は、本発明の第３の実施の形態に係る構成を示している。第３の実施の形態において、許容誤差設定回路２４０に格納される許容誤差値は固定値である。ＣＰＵ４００は、許容誤差値の設定・更新を行わない。許容誤差設定回路２４０には、固定値が許容誤差値として予め格納される。その他は第１の実施の形態と同じである。
【００５８】
以上、本発明の実施の形態が添付の図面を参照することにより説明された。但し、本発明は、上述の実施の形態に限定されず、要旨を逸脱しない範囲で当業者により適宜変更され得る。
【符号の説明】
【００５９】
１    スレーブノード
１００    Ｉ／Ｏインタフェース
２００    ボーレートエラー検出回路
２１０    エッジディテクタ
２２０    エッジカウンタ
２３０    スタートビットサンプリング回路
２４０    許容誤差設定回路
２５０    異常波形検出回路
２６０    判定回路
２７０    カウンタ
２８０    ボーレート補正回路
２９０    ボーレート補正値レジスタ
３００    クロックジェネレータ
４００    ＣＰＵ
ＳＥ    エッジ検出信号
ＡＢＷ    異常波形検出信号
ＡＥＲ    許容誤差信号
ＣＢＲ    ボーレート補正値
ＣＬＫ    内部クロック信号
ＣＮＴ    カウント値信号
ＣＯＮ    制御信号
ＤＡＴ    シリアルデータ
ＥＸＰ    期待値信号
ＥＲＲ    誤差信号
ＲＳＴ    リセット信号
【図１】
2011035473.tif 000003
【図２】
2011035473.tif 000004
【図３】
2011035473.tif 000005
【図４】
2011035473.tif 000006
【図５】
2011035473.tif 000007
【図６】
2011035473.tif 000008
【図７】
2011035473.tif 000009
【図８】
2011035473.tif 000010
【図９】
2011035473.tif 000011
【図１０】
2011035473.tif 000012
【図１１】
2011035473.tif 000013
【図１２】
2011035473.tif 000014