(57)【要約】【課題】マンチェスタ符号を用いた調歩同期通信において物理層の誤り検出手段を提供し、クロックが安定しない環境（システム）での使用が可能となる通信方法を提案する。【解決手段】調歩同期通信の受信データの決定を１ビット長単位だけでなく、２ビット長単位でも行う。第１の２ビットデータカウント６−１と第２の２ビットデータカウント６−２をタイムスロット１ビット分ずらして動作させ、交互にデータの確定を行う。この第１の２ビットデータカウント６−１と第２の２ビットデータカウント６−２の出力するタイミング信号によって出力されたデータを通常の１ビット長単位で出力されるデータと対比することで、データの誤検出を行う。【選択図】図８
2011061525.tif 000002
【特許請求の範囲】
【請求項１】
１ビットデータ幅でタイミング信号を出力する１ビットデータカウントの出力で受信信号のデータを確定するパルス幅測定回路と、２ビットデータ幅でタイミング信号を出力する第１の２ビットデータカウント及び第２の２ビットデータカウントの出力で前記受信信号のデータを確定する２データ幅確認回路と、を含むマンチェスタ符号を用いた調歩同期通信に基づく受信器であって、
前記第１の２ビットデータカウントのタイミング信号の出力と前記第２の２ビットデータカウントのタイミング信号の出力は１タイムスロット分前後し、
前記パルス幅測定回路の出力値と前記第１の２ビットデータカウント及び第２の２ビットデータカウントの出力するタイミング信号により確定した受信信号のデータを前記２データ幅確認回路が対比することを特徴とするマンチェスタ符号を用いた調歩同期通信に基づく受信器。
【請求項２】
請求項１記載のマンチェスタ符号を用いた調歩同期通信に基づく受信器において、前記対比の結果、値が相違している場合に前記２データ幅確認回路はエラー報知信号を出力することを特徴とするマンチェスタ符号を用いた調歩同期通信に基づく受信器。
【請求項３】
請求項２記載のマンチェスタ符号を用いた調歩同期通信に基づく受信器において、更にステータスレジスタを有し、
前記エラー報知信号の出力を受けて前記ステータスレジスタが更新されることを特徴とするマンチェスタ符号を用いた調歩同期通信に基づく受信器。
【請求項４】
請求項１記載のマンチェスタ符号を用いた調歩同期通信に基づく受信器において、更に受信データ一時格納バッファを有し、
前記対比の結果、値が一致している場合に、前記２データ幅確認回路は対比したデータを前記受信データ一時格納バッファに書き込むことを特徴とするマンチェスタ符号を用いた調歩同期通信に基づく受信器。
【請求項５】
請求項１ないし４のいずれか１項に記載のマンチェスタ符号を用いた調歩同期通信に基づく受信器を用いることを特徴とする半導体装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マンチェスタ符号を用いた調歩同期通信における処理改善方法、特に物理層における誤り検出手段の提供に関する。
【背景技術】
【０００２】
調歩同期通信とは、シリアル通信の手法の１つであって、実データの前に「スタートビット」、実データの後に「ストップビット」という信号を挿入して、通信する非同期通信のことを言う。
【０００３】
調歩同期通信では送信側、受信側の基準クロックが別々に生成される。したがって、このクロックの同期のために、実データの前に「スタートビット」、実データの後に「ストップビット」という信号を挿入して通信する。送信側がスタートビットを送ることにより受信側双方の同期を取り、また、ストップビットを送ることで、データの終了を受信側に了知させ、かつ同期を維持する。
【０００４】
このように、通信方式自体に一定の同期のずれの発生を防ぐ手段が盛り込まれているものの、送信側と受信側の基準クロックに一定以上の誤差が発生した場合、正常データが受信できなくなるなどの問題が生じる。
【０００５】
これを防ぐ１つの方法として、高速データサンプリングが挙げられる。これは１のタイムスロット中に複数のサンプリングタイミングを設け、それらの結果からデータを確定させる手法である。タイムスロットは通信方式などに応じて定まる一定時間のことであるが、本願明細書においては、１ビットのデータを送信するための時間として規定する。
【０００６】
また、送受信間の基準クロックに周波数や位相のずれが生じることにより一定以上の誤差が発生した場合、正常データが受信できなくなることを防止する手段としては、マンチェスタ符号の採用が挙げられる。従来用いられていたＮＲＺ符号化は１のタイムスロット中に送信すべきデータのビット毎の論理値に応じて高電位または低電位に固定されていた。これに対し、マンチェスタ符号では、１タイムスロット中で高電位から低電位に遷移すれば論理値１、低電位から高電位に遷移すれば論理値０となるように、必ず１のタイムスロット中に電位の変化が起きるようになっている（エッジの生成）。このようにタイムスロット中必ずエッジが生成されることにより、ビット毎に補正を行うことができる。
【０００７】
さらに、パリティビットや、オーバラン、フレーミングと言ったエラー検出・訂正手段を通信路符号化の段階で提供することでも対応することができる。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかし、これらの対策手段にも問題はある。
【０００９】
高速データサンプリングは、その実行に際し計測対象の信号のタイムスロットよりも高速で動作するクロックが不可欠となる。したがって、消費電力の増大を招くと共にコスト的には高価になりがちである。また、クロック回路の高速化には限界があり、一定以上の高速クロックにより動作する受信回路を作るのは非常に難しい。
【００１０】
また、マンチェスタ符号化ではエッジの生成によりビット毎の補正を行うことができる。しかし、スタートビットで同期した通信クロックから一定以上の誤差（１／２位相）が生じると正常なデータの受信ができなくなるなどの問題が発生する。例えば２ビットの“１”からなるスタートビット、８ビットのデータ、３ビットのエラー検出コード、３ビットの“０”からなるストップビットの合計１６ビットで１バイト分のデータを送信する場合、データ及びエラー検出コードの受信中に１／２周期の位相のずれを生じると、３ビットの“０”と検出されるべきストップビットが３ビットの“１”と検出されて、ストップビットの検出ができなくなり、当該データ及び以後のデータ受信では全てが無意味な信号となってしまう。
【００１１】
また通信路符号化でのエラー検出・訂正手段も一定以上の通信路誤差が生じた場合（ハミング距離が一定以上になった場合）、エラーの検出・訂正ができなくなるといった問題が生じる。
【００１２】
本発明の目的は、マンチェスタ符号を用いた調歩同期通信において物理層の誤り検出手段を提供し、クロックが安定しない環境（システム）での使用が可能となる通信方法を提案することにある。
【００１３】
本発明の前記並びにその他の目的と新規な特徴は、本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【００１４】
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次の通りである。
【００１５】
本発明の代表的な実施の形態に基づく半導体装置は、スタートビット、実データ、エラー検出・訂正コード、ストップビットとからなるデータフレームにより調歩同期通信を行い、データフレームの変調においては、ストップビットを構成するビットを除くビット毎の論理値に応じたマンチェスタ符号によりデータを送受信すると共に、ストップビットを構成するビット毎の論理値に応じた所定電位を維持する調歩同期通信を行うことを特徴とする。
【００１６】
この半導体装置は、ストップビットとして受信した維持された所定電位から次のデータフレームのスタートビットを受信したことによる電位の変化に応じてデータの区切りを検出すると共に、受信したデータの適否を判定することを特徴とする。
【００１７】
この調歩同期通信を行う半導体装置の受信器は、１ビットデータ幅でタイミング信号を出力する１ビットデータカウントの出力で受信信号のデータを確定するパルス幅測定回路と、２ビットデータ幅でタイミング信号を出力する第１の２ビットデータカウント及び第２の２ビットデータカウントの出力で受信信号のデータを確定する２データ幅確認回路と、を含み、第１の２ビットデータカウントのタイミング信号の出力と第２の２ビットデータカウントのタイミング信号の出力は１タイムスロット分前後し、パルス幅測定回路の出力値と第１の２ビットデータカウント及び第２の２ビットデータカウントの出力するタイミング信号により確定した受信信号のデータを２データ幅確認回路が対比することを特徴とする。
【００１８】
この調歩同期通信を行う半導体装置の受信器において、対比の結果、値が相違している場合に２データ幅確認回路はエラー報知信号を出力することを特徴としても良い。
【００１９】
この調歩同期通信を行う半導体装置の受信器において、更にステータスレジスタを有し、エラー報知信号の出力を受けてステータスレジスタが更新されることを特徴としても良い。
【００２０】
この調歩同期通信を行う半導体装置の受信器において、更に受信データ一時格納バッファを有し、対比の結果、値が一致している場合に、２データ幅確認回路は対比したデータを受信データ一時格納バッファに書き込むことを特徴としても良い。
【００２１】
これらのマンチェスタ符号を用いた調歩同期通信に基づく受信器を用いることを特徴とする半導体装置も本発明の射程に含まれる。
【発明の効果】
【００２２】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下の通りである。
【００２３】
本発明の代表的な実施の形態に関わる調歩同期通信を行う半導体装置及び受信器によって、調歩同期通信時の誤り検出を物理層の段階で迅速に行うことが可能になる。
【００２４】
また、本発明の代表的な実施の形態に関わる調歩同期通信を行う半導体装置及び受信器によって、パルス幅の微弱な伸張、短縮を原因とする信号の誤検出を回避することが可能となる。
【図面の簡単な説明】
【００２５】
【図１】本発明に関わるシリアル通信用の受信器（送受信器を含む）が実際の通信用ＬＳＩのどの箇所に用いられるかを説明するための概念図である。
【図２】マンチェスタ符号を用いた調歩同期通信用の受信器で検知する通常位相変調の波形パターンを表す図である。
【図３】マンチェスタ符号を用いた調歩同期通信用の受信器で検知する部分位相変調の波形パターンを表す図である。
【図４】本発明に関わるマンチェスタ符号を用いた調歩同期通信用の受信器で部分位相変調の波形パターンを誤って認識した場合の例を表す図である。
【図５】従来の部分位相変調を用いた調歩同期通信用の受信器の受信処理についてのフローチャートである。
【図６】凹パルスが消失している場合の例を表す概念図である。
【図７】凸パルスが消失している場合の例を表す概念図である。
【図８】本発明に関わる調歩同期通信用の受信器の構成を表すブロック図である。
【図９】本発明に関わる調歩同期通信用の受信器の受信処理についての波形図である。
【図１０】本発明に関わる調歩同期通信用の受信器の受信処理についてのフローチャートである。
【図１１】本発明の第３の実施の形態に関わる波形図である。
【発明を実施するための形態】
【００２６】
以下、図を用いて本発明の実施の形態について説明する。
【００２７】
（第１の実施の形態）
図１は本発明に関わるシリアル通信用の受信器（送受信器を含む）が実際の通信用ＬＳＩのどの箇所に用いられるかを説明するための概念図である。なお、この通信用ＬＳＩは自動車用のものを想定する。
【００２８】
この通信用ＬＳＩは、ＣＰＵ１０１、ＣＬＫ１０２、ＤＭＡＣ１０３、ＦＬＡＳＨ１０４、ＲＡＭ１０５、ＩＮＴＣ１０６、ＷＤＴ１０７、ＣＡＮ１０８、ＳＣＩＦ１０９、Ｉ２Ｃ１１０、Ａ／Ｄ１１１、Ｄ／Ａ１１２、ＣＭＴ１１３、ＣＲＣ１１４、Ｉ／Ｏポート１１５を含んで構成される。
【００２９】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１は、ＣＰＵ（中央処理装置）及びその周辺回路を含むＣＰＵコアである。
【００３０】
ＣＬＫ１０２は、動作の基準となる基準動作クロックを出力するクロック回路である。通常、複数の基準動作クロックを出力する構成となっているが、本明細書では、本発明に関わる受信器で用いる基準動作クロックは最低でも出力しているものとして説明する。他の基準動作クロックについては考慮しない。
【００３１】
ＤＭＡＣ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌｅｒ）１０３は通信用ＬＳＩの内部バスを介するデータの送受信に際し、ＣＰＵ１０１を占有せずに送受信を行うためのＤＭＡコントローラである。
【００３２】
ＦＬＡＳＨ１０４は、不揮発性の半導体メモリであるＦｌａｓｈ  ＲＯＭを用いた記憶領域である。またＲＡＭ１０５は揮発性メモリを用いた記憶領域である。用途及びＦＬＡＳＨ１０４の寿命を考慮しつつ、その使い分けがなされる。
【００３３】
ＩＮＴＣ（ＩＮＴｅｒｒｕｐｔ  Ｃｏｎｔｒｏｌｅｒ）１０６は、ハードウェア割り込み及びソフトウェア割り込みの処理を行うための割り込み制御コントローラである。実行中のソフトウェアより優先順位の高い処理についての割り込み要求信号を受けた際に、ＣＰＵ１０１に割り込み信号を出力することが主な処理内容である。
【００３４】
ＷＤＴ（Ｗａｔｃｈ  Ｄｏｇ  Ｔｉｍｅｒ）１０７は、動作するプログラムの障害検出用のウォッチドッグタイマである。
【００３５】
ＣＡＮ（Ｃｏｎｔｒｏｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）１０８は、自動車用車内ＬＡＮを構築するためのＣＡＮインターフェース対応のためのモジュールである。ＳＣＩＦ（Ｓｅｒｉａｌ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｉｎｔｅｒｆａｃｅ）１０９は、シリアル通信用インターフェース対応のためのモジュールである。
【００３６】
Ｉ２Ｃ１１０は、いわゆるマイクロワイヤーに対応するためのモジュールである。このＩ２Ｃプロトコルも調歩同期通信の一種であり、スタートフェイズ及びバス終了フェイズがある。
【００３７】
Ａ／Ｄ１１１は、汎用的なアナログ・デジタル変換器である。またＤ／Ａ１１２は、汎用的なデジタル・アナログ変換器である。
【００３８】
ＣＭＴ１１３は、所定の設定値にタイマの値が達すると割り込み信号を出力する等の機能を有するタイマ回路である。
【００３９】
ＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）１１４は、巡回冗長検査（ＣＲＣ）に関する処理を行うための回路である。冗長ビットの存在する受信信号のエラー検出や、送信信号に冗長ビットを付加する、などの通信路符号化に関する機能はこのＣＲＣ１１４が提供する。
【００４０】
Ｉ／Ｏポート１１５は、この通信用ＬＳＩ内の他の部品との入出力を実行するためのインターフェース回路である。内部回路向けであるため、Ｉ／Ｏポート１１５においては同期通信が用いられることが多い。
【００４１】
本発明に関わる通信方法及び通信用回路はＣＡＮ１０８、ＳＣＩＦ１０９に適用する余地がある。図上では一点鎖線で囲われた箇所である。
【００４２】
次に本発明の課題について説明する。
【００４３】
通常位相変調では全てのビット（スタートビット及びストップビットを含む）に対してデータ変調を行う変調方式であり、一方、部分位相変調ではストップビットを変調の対象から除外する変調方式である。
【００４４】
図２は、マンチェスタ符号を用いた調歩同期通信用の受信器で検知する通常位相変調の波形パターンを表す図である。また、図３は本発明に関わるマンチェスタ符号を用いた調歩同期通信用の受信器で部分位相変調の波形パターンを表す図である。
【００４５】
なお図２及び図３の双方とも、２０ｈ（送信順序による２進数表記：０００００１００）を送信することを目的としている（図４、図９及び図１１も同様）。図上では、本来送られるべきデータが、「送信データ」の箇所に括弧書で記載されている。
【００４６】
この「送信データ」はタイムスロット単位でどのようなデータが送られてくるかを記載している。この形態では、実データ８ビット及びパリティ１ビットの９ビットが送信の対象となる。また、スタートビット１ビットとストップビット２ビットが制御用に送信の対象となる。これらの１２ビット分のデータのうち変調の対象となる１０ビット（実データ、パリティ、スタートビット）に上述の括弧書の「送信データ」が記載されている。なお、この部分位相変調についての実施の形態ではストップビット２ビットは高電位維持であるためこの括弧書は無い。
【００４７】
通常位相変調、部分位相変調はそれぞれ固有の特徴がある。
【００４８】
通常位相変調は連続データ送信時にエラーが発生した場合、次のデータフレームの先頭スタートビットの判別を行うのが困難となる。したがって、エラー発生時には、エラーを検出した以後のデータフレーム全てをエラーにする必要がある。ただし、送信側からすれば、全てのビットを変調対象とするため、回路を小規模に設計することが可能となる。
【００４９】
一方、部分位相変調の場合、ストップビットの判断が時間で管理（＝タイマによる判定）することが可能であり、各データフレームを分離することが容易となる。すなわち、上記各図の例では、実データ８ビット、パリティ１ビット送信すると、電位不変のストップビットが入る。したがって、高電位が一定時間経過した後は、その次の電位の変化（図３では低電位から高電位への変化）がスタートビットのタイムスロットの略中央と容易に把握することができる。ただし、電位が変化しない期間を意図的に設けていることから、送信側及び受信側双方で、別途回路を付加する必要がある。
【００５０】
図２及び図３のいずれの図面においても、初期状態の電位を高電位としている。また、図３では高電位から低電位、図４ではその逆の低電位から高電位への変化点を時間の計測基準とし、その変化点をスタートビットの略中央と判断する。
【００５１】
既述の通り、マンチェスタ符号では１タイムスロット中に低電位から高電位、または、高電位から低電位の信号電位の変化が生ずる。スタートビット、実データ、パリティはそれぞれのビット毎の論理値に応じてマンチェスタ符号で信号変調を行っており、タイムスロットの変化点、またはタイムスロットの略中央付近でのみ電位の変化（＝パルスの立ち上がり、立ち下がり）が生じている。図２及び図３においては、ストップビットも同様にマンチェスタ符号で信号変調を行っている。
【００５２】
マンチェスタ符号では、スタートビットの低電位から高電位への変化点、すなわちスタートビットのタイムスロットの略中央を基準に次の変化点までの期間をカウントする。すなわち、次の変化点までの時間がタイムスロットの１／２周期であれば、スタートビットの変化点を基準としてタイムスロットの１周期で再び低電位から高電位への変化が訪れる。これにより次ビットのデータが判断できる。
【００５３】
逆に、次の変化点（高電位から低電位への変化点）までの時間がタイムスロットの１周期であれば、変化点を感知した時点で次ビットのデータが「１」と認識できる。図２及び図３の５ビットデータがこれに当たる。
【００５４】
しかし、ノイズなどの伝送路中の何らかの要因で、パルスの幅が伸張・短縮することもありうる。図２及び図３の６ビット目データがこれを表す。
【００５５】
すなわち、図３のように６ビット目のパルス幅が前後に延びると、図３の７ビット目の高電位から低電位への変化（図２では低電位から高電位の変化）を「１」と認識する虞がある。また、図２の５ビット目と６ビット目の低電位期間、または図３の６ビット目と７ビット目の間の高電位区間を１／２周期で無く１周期として認識する虞がある。以降、データが全て反転し、ストップビットを正しく検出することができなくなることも生じる。
【００５６】
図４は本発明に関わるマンチェスタ符号を用いた調歩同期通信用の受信器で部分位相変調の波形パターンを誤って認識した場合の例を表す図である。
【００５７】
図３と図４は、波形パターンは同じものである。しかし、受信側が６ビット目と７ビット目の間の変化点を１／２周期で無く１周期として認識した結果、受信データはＡ０ｈ（０００００１０１）、パリティビットが１と誤認識されている。
【００５８】
次に、従来の受信器におけるビットデータの確定処理、エラー検出処理を説明する。
【００５９】
図５は、この従来の部分位相変調を用いた調歩同期通信用の受信器の受信処理についてのフローチャートである。このフローチャートで取り扱う受信器では、タイムスロット中での低電位から高電位への変化を「０」、高電位から低電位への変化を「１」とする。また、スタートビットは低電位から高電位へ変化するタイムスロットを、ストップビットは変調無しのタイムスロット（高電位を維持するもの）をそれぞれ割り当てているものとする。
【００６０】
まず、この受信器は受信信号の立下りエッジ（図３及び図４の＃１）を検出することで受信処理を開始する（フローチャートの「開始」）。その後、受信器は立ち上がり検出を行う（ステップＳ８００１）。
【００６１】
立ち上がりを検出すると（ステップＳ８００１：Ｙｅｓ）、高電位の状態の期間のカウントを開始する。具体的には、低電位から高電位の立ち上がり（図３及び図４の＃２）を検知することで、スタートビットのタイムスロットの略中間点を把握する。そして、この略中間点を起点として、パルス幅（図３及び図４の＃２から＃４までの期間）の検出を開始する（ステップＳ８００２）。
【００６２】
この受信器は、次に高電位から低電位への立下り（図３及び図４の＃４）を検出する（ステップＳ８００３）。高電位から低電位への立下りが検出できたら（ステップＳ８００３：検出）、上記＃２と＃４との間のパルス数が１ビットのタイムスロットに対応した時間幅（以下１ビット幅）を持っているかの確認を行う（ステップＳ８００４及び図３、図４＃５）。
【００６３】
図３及び図４の＃２から＃４までの期間が１ビット幅を持っている場合（ステップＳ８００４：１ビット幅）、スタートビットの次に来るビット０のデータは１になる。そのため、受信器はこの値（１）をデータとして保持する（ステップＳ８００５及び図４＃６）。なお、フローチャート上ではデータ数の確認を行っているが（ステップＳ８００６）、現時点ではスタートビット直後の１ビット目であるので、データ数がオーバーフロー（ステップＳ８００６：Ｙｅｓ）することはない。したがって、受信器は高電位であった期間を確認する（ステップＳ８００７）。
【００６４】
これに対し、図３及び図４の＃２から＃４までの期間が１ビット幅でない場合には（ステップＳ８００４：１ビット幅以外）、半ビットのタイムスロットに対応した時間幅（以下１／２ビット幅）を持っているかの確認を行う。１／２ビット幅であれば（ステップＳ８０１２：１／２ビット幅）、高電位であった期間を確認する処理に移行する（ステップＳ８００７及び図３、図４＃８）。一方、１／２ビット幅で無い場合には（ステップＳ８０１２：エラー検出）、エラー処理（ステップＳ８０１３）に移行する。
【００６５】
高電位であった期間がストップビットを構成する長さに達した場合（ステップＳ８００７：Ｙｅｓ）、ストップビットと認識し、受信完了処理（ステップＳ８００９以降）に移行する。一方、高電位であった期間がストップビットを構成する長さに達していない場合（ステップＳ８００７：Ｎｏ）、高電位から低電位への電位変化を検出する（ステップＳ８００８）。
【００６６】
このストップビットを構成する長さ（ストップビット判定時間）は、例えば３／２ビット幅より長い時間、高電位が維持されるか否かにより判定する。本願の部分位相変調方式では、ストップビットを除く各ビットは隣接するビットの理論値との関係で１／２ビット幅〜１ビット幅の範囲で高電位又は低電位が維持され、ストップビットは２ビットの幅の範囲（隣接するパリティビットの論理値によっては２〜５／２ビット幅）で高電圧が維持される。そのため、ストップビットを除くビット期間においてノイズ等の影響により高電位が伸張されて維持され続ける時間と、ストップビット期間において高電位が圧縮されて維持され続ける時間とを弁別できる時間をストップビット判定時間とすればよい。
【００６７】
高電位から低電位への電位変化を検出できない場合（ステップＳ８００８：Ｎｏ）、ステップ８００７まで立ち戻り、ストップビットの受信完了処理に移行するまで処理を繰り返す。
【００６８】
一方、高電位から低電位への電位変化を検出できた場合（ステップＳ８００８：Ｙｅｓ）、ステップＳ８００４まで立ち返る。以降、ステップＳ８００４からＳ８００８までを繰り返す。
【００６９】
上記の通り、ステップＳ８００４からＳ８００８までの処理から離脱するには、ステップＳ８０１３のエラー処理に移行するか、ステップＳ８００９以降の受信完了処理に進むかのいずれかである。以下、受信完了処理について説明する。
【００７０】
高電位の期間がストップビット判定時間より長時間維持されストップビットの検出がされると（ステップＳ８００７：Ｙｅｓ）、受信完了処理に移行する。受信器は受信したデータが本来受け取るべきビット数に達しているかを確認する（ステップＳ８００９及び図３、図４＃９）。図２ないし図４ではパリティビット込みで９ビットのデータを受信できるはずである。したがって、９ビットなければ（ステップＳ８００９：Ｎｏ）、エラー処理（ステップＳ８０１３）に移行する。
【００７１】
一方、所定の受信データ量を受信できている場合には（ステップＳ８００９：Ｙｅｓ）、パリティ判定を行う（ステップＳ８０１０及び図３、図４＃１０）。
【００７２】
パリティチェックに問題あるようであれば（ステップＳ８０１０：Ｙｅｓ）、受信器はエラー処理（ステップＳ８０１３）に移行する。一方、パリティチェックに問題が無ければ（ステップＳ８０１０：Ｎｏ）、ビットデータをＣＰＵ１０１が利用できるようにレジスタ等に格納する（ステップＳ８０１１）。
【００７３】
この従来の回路における処理は、図６及び図７のようなパルスが完全に消失しているような場合を想定している。図６は凹パルスが消失している場合の例を表す概念図である。また図７は凸パルスが消失している場合の例を表す概念図である。
【００７４】
図６の場合、６ビット目から７ビット目にかけて３／２ビット期間高電位が維持されている。この期間をストップビットとして判別した場合、スタートビットを受信してから該ストップビット判別までの期間に受信したデータ数は９ビットに満たないことからエラーと判別できる。続くパリティビットはスタートビットと同じ信号波形であることから、該パリティビットをスタートビットとして認識したとしても、本来のストップビット期間で再度ストップビット判別をすることになり、スタートビットとして認識したパリティビットからストップビットまでに受信したデータ数は同様に９ビットに満たず、エラー判別が可能である。
【００７５】
また図７の場合、７ビット目の高電位区間を認識していないため係る１ビットのデータが欠損し、ストップビットを判別する。この場合も７ビット目を欠損して受信したことから、受信したデータ数は９ビットに満たず、エラー判定が可能である。
【００７６】
（第２の実施の形態）
第１の実施の形態の受信器の処理フローでは、図４のようなパルス幅の微少な増減に基づくビットデータ誤認を検出することは可能であるが、掛かる誤認に対しては対応できない。
【００７７】
本発明はこの微少なパルス幅の変動に依拠するビットデータ誤認に対応する手段を提供する。
【００７８】
以下、本発明の実施の形態について図を用いて説明する。
【００７９】
図８は本発明に関わる調歩同期通信用の受信器の構成を表すブロック図である。
【００８０】
この受信器は、信号レベル検出回路１、基準クロックジェネレータ２、パルス幅測定回路３、スタートビット検出回路４、ストップビット検出回路５、２データ幅確認回路６、受信データ一時格納バッファ７、データ確認回路８、受信データ・ステータスレジスタ９を含んで構成される。
【００８１】
信号レベル検出回路１は、受信信号のレベルを検出する回路である。既述の通り、マンチェスタ符号においては必ず一つのタイムスロット中に低電位から高電位、または、高電位から低電位の信号電位の変化が生ずる。信号レベル検出回路１は、この電位の変化（エッジ）を検出する。
【００８２】
信号レベル検出回路１が電位の変化を検知した際には、パルス幅測定回路３、スタートビット検出回路４、ストップビット検出回路５、２データ幅確認回路６のそれぞれに対して、電位の変化を通知する。
【００８３】
基準クロックジェネレータ２は、通信部で使用するクロック（基準クロック）を生成するための分周・逓倍回路である。図１のＣＬＫ１０２が動作クロックそのものを出力する場合には、この基準クロックジェネレータ２は不要である。
【００８４】
これらの回路の出力はパルス幅測定回路３、スタートビット検出回路４、ストップビット検出回路５、２データ幅確認回路６に入力される。
【００８５】
パルス幅測定回路３は受信信号のパルスの幅の測定を行う回路である。このパルス幅測定回路３の問題点については図２ないし図７で述べた通りである。パルス幅測定回路３は、スタートビット検出回路４から出力される測定開始信号をトリガとして動作を開始し、ストップビット検出回路５から出力される測定終了信号の受信をもって動作を終了する。
【００８６】
パルス幅測定回路３は認識したデータ、すなわち「０」か「１」かのいずれかを２データ幅確認回路６に対して出力する。この出力結果が２データ幅確認回路６でカウントされる２データ幅での計測結果と対比され合致判定が行われる。
【００８７】
パルスの幅の検出は、基準クロックジェネレータ２から出力されるクロックをカウントすることによって行う。パルス幅測定回路３は、このパルス幅検出用のカウンタ（１ビットデータカウント３−１）を有する。
【００８８】
この１ビットデータカウント３−１はパルスの立ち上がり及び立下りの両エッジで動作するカウンタである。したがって、パルスカウンタが動作する際には、基準クロックジェネレータ２が生成する基準クロックの１／２周期分の時間が経過するのと同じ意味となる。
【００８９】
この１ビットデータカウント３−１の値が１ビット幅分であると、パルス幅測定回路３はそのときに識別されるデータスロットの値を２データ幅確認回路６に出力する。
【００９０】
パルス幅測定回路３でエラーが認識された際には、受信データ・ステータスレジスタ９に対してエラー検出信号が出力される。
【００９１】
スタートビット検出回路４及びストップビット検出回路５は調歩同期回路に不可欠なスタートビット、ストップビットを検出するための受信信号のパルスパターンを確認する回路である。スタートビット検出回路４及びストップビット検出回路５で認識された信号は無意のスタートビット、ストップビットであるため、これらの信号は受信データ一時格納バッファ７に記録されない。
【００９２】
スタートビット検出回路４はスタートビットのパルスパターンを認識すると２データ幅確認回路６に対して初期設定信号を出力する。この初期設定信号の入力をきっかけとして、２データ幅確認回路６の動作が開始される。また、スタートビット確認時に、スタートビット検出回路４はパルス幅測定回路３に対して測定開始信号を出力する。
【００９３】
またストップビット検出回路５はストップビットのパルスパターンを認識するとデータ確認回路８に対してストップ信号を出力する。このストップ信号の入力をきっかけとして、データ確認回路８は受信データ一時格納バッファ７内のデータの変換を行う。
【００９４】
またストップビット検出時に、ストップビット検出回路５はパルス幅測定回路３に対して測定終了信号を出力する。
【００９５】
２データ幅確認回路６は、２データ分のタイムスロットの幅のデータの確認を行う回路である。パルス幅測定回路３同様、基準クロックジェネレータ２の出力をタイミングとしてカウントを行う。しかし、２データ幅確認回路６は、２ビット幅でカウントを行いデータの判定をする点でパルス幅測定回路３と相違する。また、パルス幅測定回路３ではカウンタが一つですむのに対し、２データ幅確認回路６には第１の２ビットデータカウント６−１と第２の２ビットデータカウント６−２という二つのデータカウンタが含まれる点でもパルス幅測定回路３と相違する。
【００９６】
第１の２ビットデータカウント６−１と第２の２ビットデータカウント６−２は２ビット単位で受信データの値を出力するカウンタである。これらのカウンタは１ビットデータカウント３−１同様、パルスの立ち上がり及び立下りの両エッジで動作する。
【００９７】
第１の２ビットデータカウント６−１と第２の２ビットデータカウント６−２はそれぞれ２ビットデータ幅の値に達するとそのときに識別されるデータスロットの値を２データ幅確認回路６に出力する。すなわち、第１の２ビットデータカウント６−１は奇数ビットの値を、第２の２ビットデータカウント６−２は偶数ビットの値を出力することとなる。
【００９８】
２データ幅確認回路６には、パルス幅測定回路３の出力と第１の２ビットデータカウント６−１と第２の２ビットデータカウント６−２のいずれか一方を対比するコンパレータ６−３が含まれる。このコンパレータ６−３の出力はエラー報知信号として、パルス幅測定回路３に出力される。また、これらの二つが一致する際には、２データ幅確認回路６は一致した値を受信データ一時格納バッファ７に対して出力する。
【００９９】
２データ幅確認回路６は、スタートビット検出回路４の出力（初期設定信号）を受信する。この初期設定信号の受信によって、第１の２ビットデータカウント６−１のカウント初期値は０に設定される。これに対し第２の２ビットデータカウント６−２のカウント初期値は１タイムスロット分進んだ後の値に設定される。
【０１００】
受信データ一時格納バッファ７は、２データ幅確認回路６で確認の終わったデータを一時格納するバッファ回路である。
【０１０１】
データ確認回路８は、ストップ信号の入力をきっかけとして、受信データ一時格納バッファ７内のデータのデータ変換を行う回路である。データ長の確認のほかに、実際に送受信される際にはパリティ等の冗長ビットが付加されるため、これらを用いた誤り検出・訂正、及びそれらが終わった後の冗長ビットの削除などを行う。
【０１０２】
受信データ・ステータスレジスタ９は、受信データ及び各ステータス情報を格納するレジスタ回路である。ＣＰＵ１０１ないしＤＭＡＣ１０３がこれらにアクセスすることで受信データの利用及び受信ステータスの把握が可能となる。
【０１０３】
各種エラーが生じたときには、エラーを検知したモジュール（本実施の形態ではパルス幅測定回路３とデータ確認回路８が該当する）が受信データ・ステータスレジスタ９のステータス書き込み領域に所定の値を書き込む。この際、書き込みに用いられる信号がエラー検出信号である。本来は、送信元によって信号名を変えて説明する必要があるが、受信データ・ステータスレジスタ９のステータス書き込み領域に書き込まれる値が相違するだけであるので、本明細書では送信元の相違は無視し、一括してエラー検出信号として取り扱う。
【０１０４】
次に、本発明に関わる調歩同期通信用の受信器の受信処理について説明する。
【０１０５】
図９は、本発明に関わる調歩同期通信用の受信器の受信処理についての波形図である。
【０１０６】
図５のフローチャートの説明でも述べた通り、エラー処理判定を除き、従来は次の変化点までの時間が１ビット幅か、１／２ビット幅かのみを着目していた。このため、パルス幅が広がった場合には、既述のように１／２ビット幅を１ビット幅と誤認する虞があった。
【０１０７】
これに対し本発明では、２ビット幅のタイミングでデータの確認を行う２系統の回路（図８の第１の２ビットデータカウント６−１と第２の２ビットデータカウント６−２）を別に用意することで、この問題を解消する。すなわち、２ビット幅でデータを測定することで、ノイズの影響を受けたビットと、ノイズの影響を受けてないビットを合わせて測定する。この２ビット幅での検出結果と通常の１ビット幅での検出結果を対比することにより、パルス幅の誤認識を削減することが可能となる。
【０１０８】
より具体的には、本発明に関わる調歩同期通信用の受信器では、データ幅の測定系統を三系統用意する。すなわち、従来の１ビット幅、１／２ビット幅を測定する１ビットデータカウント３−１および、本発明の特徴である２ビット幅を測定する２つの２ビットデータカウントである。この２つの２ビットデータカウントは、スタートビットの低電位から高電位への変化点（タイムスロットの略中央）を基準とする第１の２ビットデータカウント６−１と実データである０ビット目のタイムスロットの略中央の変化点を基準とする第２の２ビットデータカウント６−２という相違が存在する。
【０１０９】
このうち、１ビットデータカウント３−１はパルス幅測定回路３に含まれる。これに対し、第１の２ビットデータカウント６−１と第２の２ビットデータカウント６−２は２データ幅確認回路６に含まれる。
【０１１０】
２つの２ビットデータカウントは交互に受信データを出力する。この値と１ビットデータカウントの値を対比することでエラーの発生を防ぐ。図９においては両矢印の１点鎖線によって対比の組み合わせが表されている。これを見ても分かるとおり、０ビットデータにおいては１ビットデータカウント３−１と第２の２ビットデータカウント６−２が対比される。また１ビットデータにおいては１ビットデータカウント３−１と第１の２ビットデータカウント６−１が対比される。このように第１の２ビットデータカウント６−１と第２の２ビットデータカウント６−２とを交互に１ビットデータカウント３−１と対比する。この対比をコンパレータ６−３が行うこととなる。
【０１１１】
２つの２ビットデータカウントによって識別されるデータでは、２ビット分の時間を計測することとなる。このように２ビット分の時間長でデータの取得タイミングを出力することで、ランダムエラーによるパルス幅の伸張・短縮の影響を軽減することを可能ならしめる。
【０１１２】
図９においては、６ビット目と７ビット目の境界における電位の変化をタイムスロットの中央の変化と誤認している。これを２ビットデータカウント（のいずれか）の出力と対比することでこの誤認を防止する。
【０１１３】
図１０は本発明に関わる調歩同期通信用の受信器の受信処理についてのフローチャートである。これを用いて本発明の調歩同期通信用の受信器の受信処理を説明する。なお、図５同様、このフローチャートで取り扱う受信器において、タイムスロット中での低電位から高電位への変化を「０」、高電位から低電位への変化を「１」とする。また、スタートビットは低電位から高電位へ変化するタイムスロットを、ストップビットは変調無しのタイムスロット（高電位を維持するもの）をそれぞれ割り当てているものとする。またパリティ込９ビットの固定長でデータの送受信をするものとする。
【０１１４】
まず、信号レベル検出回路１が受信信号の立下りエッジ（図９のｐ１）を検出することで受信器は処理を開始する。この受信信号の変化はパルス幅測定回路３、スタートビット検出回路４、ストップビット検出回路５、２データ幅確認回路６に対して出力される。
【０１１５】
次にスタートビット検出回路４は図９ｐ２の立ち上がりを待つ（ステップＳ１００１）。図９ｐ２の立ち上がりが生じると、スタートビット検出回路４は、測定開始信号をパルス幅測定回路３に対して、初期設定信号を２データ幅確認回路６に対して、それぞれ出力する。これにより、パルス幅測定回路３内の１ビットデータカウント３−１、２データ幅確認回路６の第１の２ビットデータカウント６−１と第２の２ビットデータカウント６−２のリセットを行う。また、１ビットデータカウント３−１及び第１の２ビットデータカウント６−１のカウントの基点をこの図９ｐ２の立ち上がり（ｐ３）に設定しカウントアップを開始する（ステップＳ１００２）。この際、第２の２ビットデータカウント６−２の初期値が設定される。
【０１１６】
次に、受信信号の立下りエッジを検出する（ステップＳ１００３）。この立下りエッジ時の１ビットデータカウント３−１の値を用いて、パルス幅（図９ｐ２の立ち上がりからｐ４の立下りまでの期間）を確認する。この１ビットデータカウント３−１の値が基準点（ｐ２）から１ビット幅である場合（ステップＳ１００４：１ビット幅）、スタートビットに続く０ビットデータが「０」であることと推定される。したがって、１ビットデータカウント３−１を有するパルス幅測定回路３は、「０」を２データ幅確認回路６に対してこの「推定したデータ」を出力する。なお、「推定」という言葉は、通常「推し量ること」とされるが、ここでの「推定したデータ」は、一のモジュールで導出し、モジュール間での検証が済んでいないデータの意味で用いている。
【０１１７】
一方、この１ビットデータカウント３−１の値が１ビット幅以外である場合（ステップＳ１００４：１ビット幅以外）、更にこのデータが１／２ビット幅であったかの確認を行う（ステップＳ１０１４）。
【０１１８】
仮にこのデータが１／２ビット幅であった場合（ステップＳ１０１４：１／２ビット幅）、図９のｐ４、すなわちスタートビットと０ビットデータの境界であることが確認できる。したがって、ストップビット検出処理に移行する。一方、１／２ビット幅で無かった場合（ステップＳ１０１４：１／２ビット幅以外）すぐにエラー処理（ステップＳ１０１５）に移行する。
【０１１９】
基準点から１ビット幅分経過し（ステップＳ１００４：１ビット幅）、データの推定がなされている際には、２データ幅確認回路６の第１の２ビットデータカウント６−１及び第２の２ビットデータカウント６−２のデータ幅を確認する（ステップＳ１００５）。
【０１２０】
第１の２ビットデータカウント６−１と第２の２ビットデータカウント６−２のいずれを用いるかの判断は、いずれに対しても常時データ幅の確認を行い、データ幅が２ビット分のものを用いれば解消できる。
【０１２１】
いずれにしても２データ幅確認回路６は２ビットデータ幅の出力ができるかを確認する。第１の２ビットデータカウント６−１と第２の２ビットデータカウント６−２のいずれかから２ビットデータ幅の出力ができる場合には（ステップＳ１００５：2ビット幅）、２データ幅確認回路６はパルス幅測定回路３から送られてきた「推定したデータ」及び第１の２ビットデータカウント６−１または第２の２ビットデータカウント６−２のいずれかのタイミングに自身が「推定したデータ」とのデータの合致判定を行う（ステップＳ１００６）。一方、第１の２ビットデータカウント６−１と第２の２ビットデータカウント６−２のいずれかから２ビットデータ幅の出力ができない場合には（ステップＳ１００５：２ビット幅以外）、ストップビット検出処理に移行する。
【０１２２】
ステップＳ１００６の処理は図９のｐ６などでの処理になる。これらのデータの値が合致する場合には（ステップＳ１００６：Ｙｅｓ）、２データ幅確認回路６は合致したデータを受信データ一時格納バッファ７に格納する（ステップＳ１００７）。これらのデータの値が合致しない場合には（ステップＳ１００６：Ｎｏ）、エラー処理（ステップＳ１０１５）に移行する。
【０１２３】
データ数確認回路は、受信データが予定データ量をオーバーしていないか確認を行う回路である。受信データ一時格納バッファ７にデータが格納された際には、格納されたデータの量を確認する（ステップＳ１００８）。この例では既述の通り、パリティビットを含めて９ビットのデータが送信される。したがって受信データ一時格納バッファ７に１０ビット目のデータがセットされようとすると、エラーと判断しエラー処理（ステップＳ１０１５）に移行する（ステップＳ１００８：データ数オーバー）。
【０１２４】
一方、この例で９ビット以内であれば、データの受信中としてストップビット検出処理に移行する（ステップＳ１００８：データ受信中）。
【０１２５】
ストップビット検出処理は、ストップビット検出回路５がデータの送信終了を表すストップビットの検出を行う処理である。すなわち、この実施の形態では高電位固定で所定の期間が経過すると、ストップビットが送信されたものとして取り扱われる。
【０１２６】
ストップビット検出回路５は、現在高電位の状態にあるか、また、その期間がどれだけ継続しているかを確認する（ステップＳ１００９）。
【０１２７】
一定の期間、高電位状態が継続している場合にはストップビットを検出したと判断し（ステップＳ１００９：ストップ検出）、終了処理に移行する。具体的には、ストップビット検出回路５がデータ確認回路８に対してストップ信号を出力する。
【０１２８】
一方、高電位状態が維持されず低電位に変動した際、もしくはずっと低電位を維持していた場合には、ストップビット検出回路５はその状態を維持する（ステップＳ１００９：ストップ非検出）。
【０１２９】
このストップビット検出処理の期間であっても、パルス幅測定回路３は動作している。このストップビット検出処理中に高電位から低電位への変動によるエッジを検出した場合には（ステップＳ１０１０）、ステップＳ１００４の動作を繰り返すこととなる。
【０１３０】
ストップビット検出処理のステップＳ１００９でストップビット検出が行われると、データ確認回路８は、ストップビット検出回路５からのストップ信号を受領する。この受領をトリガとして、データ確認回路８は受信完了確認を行う（ステップＳ１０１１）。上述のとおり、この実施の形態では固定長でデータの送受信を行うことを考えているため、９ビット（データ８ビット＋パリティ１ビット）に足りなければ（ステップＳ１０１１：受信途中）、エラー処理（ステップＳ１０１５）に移行する。
【０１３１】
受信データが９ビットであった場合、データ確認回路８はパリティチェックを行う（ステップＳ１０１２）。パリティチェックの結果が適切であれば（ステップＳ１０１２：エラーなし）、データ確認回路８は受信したデータを受信データ・ステータスレジスタ９に格納する（ステップＳ１０１３）。パリティチェックの結果にエラーがあれば（ステップＳ１０１２：エラー検出）、エラー処理に移行する（ステップＳ１０１５）。
【０１３２】
以上のように、１データ幅でデータの識別を行う１ビットデータカウント３−１の出力と２ビット幅でデータの識別を行う２ビットデータカウントの出力を対比することで、受信信号のパルス幅の若干の長短により生じるデータの誤検出を検出することが可能になる。
【０１３３】
（第３の実施の形態）
次に本発明の第３の実施の形態について説明する。
【０１３４】
第１の実施の形態では、部分位相変調を用いた調歩同期通信への適用という形で説明した。したがって、ストップビットであるかは、高電位を維持する「期間」が一定以上継続することで判断している。
【０１３５】
これに対し、本実施の形態では、このストップビットの波形を改善することで、この高電位を維持する「期間」の経過を待つことなくデータの受信完了確認し、受信データが正常であるかの判別が行えるようにする点に特徴がある。
【０１３６】
図１１は本発明の第３の実施の形態に関わる波形図である。
【０１３７】
図９、すなわち部分位相変調を用いた調歩同期通信の波形図では、パリティビットの後のストップビットは２ビットで構成されている。この２ビットはいずれも高電位を維持する形である。
【０１３８】
このような構成にすると、２ビットのストップビットを受け終わるまでは、ストップビットか否かの判断ができない。この問題を解決するのが図１１の波形図である。
【０１３９】
すなわち、パリティビット直後に位置する、ストップビットの１ビット目まではマンチェスタ符号に基づく変調を行い、それに続くストップビット（図１１では１ビットしか続かないが）が高電位固定を維持する、というものである。
【０１４０】
この波形により、パリティ受信後のストップビット１の立ち上がりを認識することで、受信データが正常であるか否か判断することが可能になる。続く高電位の期間が継続しなかった場合には、受領したデータを破棄する等の処理を行えばよい。
【０１４１】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記の実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更が可能であることは言うまでもない。
【０１４２】
例えば、第１の実施の形態では、エラー報知信号を受けてパルス幅測定回路３が受信データ・ステータスレジスタにエラー状況を書き込んでいた。しかし、これをパルス幅測定回路３とは独立した回路が行うようにしても良い。また、２データ幅確認回路６からコンパレータ６−３を分離して構成させても問題はない。
【産業上の利用可能性】
【０１４３】
本明細書においては、マンチェスタ符号を用いた調歩同期通信、及びそれを適用した車載用通信ＬＳＩについて説明した。しかしこれだけには限られず、他の製品などに適用することも想定している。
【符号の説明】
【０１４４】
１…信号レベル検出回路、２…基準クロックジェネレータ、
３…パルス幅測定回路、３−１…１ビットデータカウント、
４…スタートビット検出回路、５…ストップビット検出回路、
６…２データ幅確認回路、６−１…第１の２ビットデータカウント、
６−２…第２の２ビットデータカウント、６−３…コンパレータ、
７…受信データ一時格納バッファ、８…データ確認回路、
９…受信データ・ステータスレジスタ、
１０１…ＣＰＵ、１０２…ＣＬＫ、１０３…ＤＭＡＣ、１０４…ＦＬＡＳＨ、
１０５…ＲＡＭ、１０６…ＩＮＴＣ、１０７…ＷＤＴ、１０８…ＣＡＮ、
１０９…ＳＣＩＦ、１１０…Ｉ２Ｃ、１１１…Ａ／Ｄ、１１２…Ｄ／Ａ、
１１３…ＣＭＴ、１１４…ＣＲＣ、１１５…Ｉ／Ｏポート。
【図１】
2011061525.tif 000003
【図２】
2011061525.tif 000004
【図３】
2011061525.tif 000005
【図４】
2011061525.tif 000006
【図５】
2011061525.tif 000007
【図６】
2011061525.tif 000008
【図７】
2011061525.tif 000009
【図８】
2011061525.tif 000010
【図９】
2011061525.tif 000011
【図１０】
2011061525.tif 000012
【図１１】
2011061525.tif 000013