(57)【要約】【課題】オーバーサンプル方式の非同期シリアル通信におけるクロックの周波数の調整を、低コストで精度高く行うことができるようにする。【解決手段】発振器１２１は、周波数ｆ0の原振クロックを生成し、分周器１２２は、原振クロックを分周して周波数ｆosのオーバーサンプル用クロック信号を生成し、オーバーサンプラ１２３が、受信データをオーバーサンプルする。分周器１２８は、原振クロックを分周して周波数ｆbrの受信用クロック信号を生成する。ボーレート計測部１２５は、信号ライン１２０に伝送される信号のボーレートを計測することで、送信側のクロック周波数を得る。演算部１２６が、分周器１２８に設定すべき分周比ｍを演算し、記憶部１２７に記憶された分周比ｍを１６で除することにより、演算部１２９が分周器１２２に設定する分周比ｏを演算して、記憶部１３０に記憶させる。【選択図】図６
2010041388.tif 000002
【特許請求の範囲】
【請求項１】
発振器が生成する第１の周波数のクロック信号を、分周比ｍで分周することにより、信号ライン上を非同期シリアル通信方式で伝送される非同期シリアルデータをシフトレジスタに保持するための受信用クロック信号を生成する受信用クロック信号生成手段と、
前記発振器が生成する第１の周波数のクロック信号を、分周比ｏで分周することにより、前記非同期シリアルデータをオーバーサンプリングするためのオーバーサンプル用クロック信号を生成するオーバーサンプル用クロック信号生成手段と、
前記非同期シリアルデータのボーレートを計測するボーレート計測手段と、
前記ボーレート計測手段の計測結果に基づいて得られた前記非同期シリアルデータの送信側のクロック周波数と受信用クロック信号の周波数の差分の値が所定の範囲内となるように前記受信用クロック信号生成手段に設定すべき分周比ｍを演算する第１の演算手段と、
前記第１の演算手段の演算結果に基づいて、前記オーバーサンプル用クロック信号生成手段に設定すべき分周比ｏを演算する第２の演算手段と
を備える非同期シリアルデータ受信装置。
【請求項２】
オーバーサンプル用クロック信号に基づいて、前記非同期シリアルデータをオーバーサンプリングするオーバーサンプラと、
前記オーバーサンプラによるStart Bitの検出結果、Stop Bitの検出結果、データリカバリの処理結果を表す信号出力する検出結果出力手段と
をさらに備える請求項１に記載の非同期シリアルデータ受信装置。
【請求項３】
前記検出結果出力手段は、
前記オーバーサンプラによるStart Bitの検出結果、Stop Bitの検出結果、またはデータリカバリの処理結果に基づいて、次の前記非同期シリアルデータの受信待ちの状態で前記信号ラインの電圧レベルの立ち下がりまたは立ち上がりを検出した場合、受信用クロック信号の位相を、前記電圧レベルの立ち下がりまたは立ち上がりのタイミングに同期させるための検出信号を、前記受信用クロック信号生成手段に出力する
請求項２に記載の非同期シリアルデータ受信装置。
【請求項４】
前記検出結果出力手段は、
オーバーサンプル用クロック信号の位相を、前記電圧レベルの立ち下がりまたは立ち上がりのタイミングに同期させるための検出信号を、前記オーバーサンプル用クロック信号生成手段にさらに出力する
請求項３に記載の非同期シリアルデータ受信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、非同期シリアルデータ受信装置に関し、特に、オーバーサンプル方式の非同期シリアル通信におけるクロックの周波数の調整を、低コストで精度高く行うことができるようにする非同期シリアルデータ受信装置に関する。
【背景技術】
【０００２】
非同期シリアル通信におけるクロック／データリカバリ方式として、例えば、オーバーサンプル方式がある。例えば、ATML社のドキュメントATmega165(V) Preliminary (337 pages, revision F, updated 08/06, DOC.# 2753F-AVR-08/06)（非特許文献１）のP.162にあるように、伝送速度の8または16倍の高速クロックでデータをサンプルし、そのサンプル値の変化エッジから高速クロックで決定される1ビット時間の中央付近の3サンプルの値で、伝送クロックの位相やデータ値を決定する方式が提案されている。
【０００３】
非同期シリアル通信において、受信データは単一線の信号ライン上をフレーム単位でシリアルに伝送される。フレーム伝送開始前は、ラインのレベルはHレベルとなっており、フレームの開始は1ビット時間ラインがLになるStart Bitで示され、その後1ビット時間ずつの8ビットの情報が順番に伝送される。また、フレームの最後は、1ビット時間ラインがHになるStop Bitで示される。
【０００４】
すなわち、非同期シリアル通信においては、受信側と送信側では同一のクロックを持たない。このため、予め取り決められた1ビット時間のタイミングをある程度の精度で満たす非同期のクロックを利用して、Start Bitの検出によりそれらの位相を合わせてから、そのタイミングでフレーム内の情報ビットとStop Bitを順次検出確定する。
【０００５】
オーバーサンプル方式ではStart Bitを検出する場合、1ビット時間の16倍（または8倍）の周波数を持つクロックで受信データをサンプルする。そして、受信データがHからLに遷移したタイミングから16倍の場合は9クロック目（8倍の場合は5クロック目）の前後の1クロックの合計3クロック分のサンプル結果により、Start Bitの検出を行う。
【０００６】
例えば、16倍の周波数を持つクロックで受信データをサンプルする場合、ラインのレベルのHからLへの遷移から、8クロック目に受信クロックの位相を合わせ、以後３つのサンプル結果がすべてLであったならばそのビットをStart Bitと判定する。そして、Start Bitに続くビットを0ビットとしてデータの受信が行われる。この処理をクロックリカバリと呼ぶ。
【０００７】
また、データの受信開始後、0ビット目から7ビット目の中央付近の3サンプルの結果により受信データの「０」または「１」の判定、およびフレームの最終ビットであるStop Bitの検出を行う。ここで、0ビットから7ビットのデータを確定する処理をデータリカバリと呼ぶ。
【０００８】
このような、オーバーサンプル方式を実現するために、基準クロック（後述する原振クロック）を分周して、通信クロックの8倍または16倍のオーバーサンプルのクロックを作り出し、オーバーサンプルの基準クロックを更に8または16分周して受信用クロックを作り出す。この受信用クロックの位相の決定には、Start Bitの立ち下がりが用いられる。
【０００９】
図１は、従来の非同期シリアルデータ受信装置１０の構成例を示すブロック図である。
【００１０】
同図において、発振器２１は、高周波数ｆ０のクロック信号を生成して出力する。ここで、発振器２１が生成するクロック信号を原振クロックと称することにする。
【００１１】
分周器２２は、原振クロックを分周して周波数ｆosのオーバーサンプル用クロック信号を生成して出力する。
【００１２】
オーバーサンプラ２３は、オーバーサンプル用クロック信号に基づいて、シリアルに伝送される受信データを、オーバーサンプル方式でサンプルする。
【００１３】
制御部２４は、オーバーサンプラ２３のサンプル結果に基づいて、Start Bitの検出、Stop Bitの検出を行い、上述したように、クロックリカバリの処理、データリカバリの処理を行う。
【００１４】
ところで、オーバーサンプル方式によるシリアル通信においてデータ送信のクロックまたはデータ受信のクロック精度が所望の範囲にない場合、どちらかのクロックの周波数を微調整する必要がある。非同期シリアルデータ受信装置１０は、送信側のクロックに基づいて、自身の受信用クロック信号の周波数を微調整するようになされている。
【００１５】
ボーレート計測部２５は、シリアルに伝送される受信データの周波数、すなわち送信側のクロック周波数を計測し、演算部２６は、ボーレート計測部２５の計測結果に基づいて、非同期シリアルデータ受信装置１０の受信用クロック信号の微調整を行うための演算を行う。ここでは、分周器２２に設定する分周比ｎを特定するための演算が行われる。
【００１６】
演算部２６の演算により特定された分周比ｎは、記憶部２７に記憶される。このように記憶部２７に記憶された分周比ｎにより分周器２２は、原振クロックを分周する。
【００１７】
分周器２２により生成されたクロック信号は、分周器２８にも供給され、分周器２８は、そのクロック信号を分周比８または分周比１６により分周して周波数ｆbrの受信用クロック信号を生成して出力する。
【００１８】
シフトレジスタ２９は、クロック信号に基づいて動作し、シリアルに伝送される受信データを、１フレーム分保持してパラレルデータとして出力する。
【００１９】
このように、従来、例えば、ボーレート計測部２５によりシリアルに伝送される受信データから送信側のクロック周波数を計測し、その結果に基づく演算により分周比を決定するようになされていた。これにより受信用クロック信号を微調整することが可能になる。
【００２０】
【非特許文献１】http://www.atmel.com/dyn/products/product_card.asp?part_id=3432
【発明の開示】
【発明が解決しようとする課題】
【００２１】
しかしながら、分周器２２の分周比が±１変化すると、受信用クロック信号の周波数は、8倍または16倍変化することになり、調整の精度は極めて粗い。
【００２２】
従来の方式において、調整の精度をより高めるためには、例えば、原振クロックの周波数を高くし、分周器２２の分周比を大きくする必要がある。しかし、このような構成は、分周回路の規模増加によるコスト増加や発振周波数の高周波化による不要輻射の悪化、消費電力の増大のため、コスト制約の大きい民生品やモバイル用途など電源に制約の大きい機器での実装が難しい。
【００２３】
あるいはまた、分周比を調整するのではなく、発振回路のバイアス電流などのパラメータを変化させることでアナログ的に基準クロックを微調整する方式も考えられるが、制御の変化点に対する発振回路の応答や、温度特性、ばらつきなどで問題が生じる可能性が高く、量産時に全数安定に動作させるのは難易度が高い。
【００２４】
本発明はこのような状況に鑑みてなされたものであり、オーバーサンプル方式の非同期シリアル通信におけるクロックの周波数の調整を、低コストで精度高く行うことができるようにするものである。
【課題を解決するための手段】
【００２５】
本発明の一側面は、発振器が生成する第１の周波数のクロック信号を、分周比ｍで分周することにより、信号ライン上を非同期シリアル通信方式で伝送される非同期シリアルデータをシフトレジスタに保持するための受信用クロック信号を生成する受信用クロック信号生成手段と、前記発振器が生成する第１の周波数のクロック信号を、分周比ｏで分周することにより、前記非同期シリアルデータをオーバーサンプリングするためのオーバーサンプル用クロック信号を生成するオーバーサンプル用クロック信号生成手段と、前記非同期シリアルデータのボーレートを計測するボーレート計測手段と、前記ボーレート計測手段の計測結果に基づいて得られた前記非同期シリアルデータの送信側のクロック周波数と受信用クロック信号の周波数の差分の値が所定の範囲内となるように前記受信用クロック信号生成手段に設定すべき分周比ｍを演算する第１の演算手段と、前記第１の演算手段の演算結果に基づいて、前記オーバーサンプル用クロック信号生成手段に設定すべき分周比ｏを演算する第２の演算手段とを備える非同期シリアルデータ受信装置である。
【００２６】
オーバーサンプル用クロック信号に基づいて、前記非同期シリアルデータをオーバーサンプリングするオーバーサンプラと、前記オーバーサンプラによるStart Bitの検出結果、Stop Bitの検出結果、データリカバリの処理結果を表す信号出力する検出結果出力手段とをさらに備えるようにすることができる。
【００２７】
前記検出結果出力手段は、前記オーバーサンプラによるStart Bitの検出結果、Stop Bitの検出結果、またはデータリカバリの処理結果に基づいて、次の前記非同期シリアルデータの受信待ちの状態で前記信号ラインの電圧レベルの立ち下がりまたは立ち上がりを検出した場合、受信用クロック信号の位相を、前記電圧レベルの立ち下がりまたは立ち上がりのタイミングに同期させるための検出信号を、前記受信用クロック信号生成手段に出力するようにすることができる。
【００２８】
前記検出結果出力手段は、オーバーサンプル用クロック信号の位相を、前記電圧レベルの立ち下がりまたは立ち上がりのタイミングに同期させるための検出信号を、前記オーバーサンプル用クロック信号生成手段にさらに出力するようにすることができる。
【００２９】
本発明の一側面においては、発振器が生成する第１の周波数のクロック信号を、分周比ｍで分周することにより、信号ライン上を非同期シリアル通信方式で伝送される非同期シリアルデータをシフトレジスタに保持するための受信用クロック信号が生成され、前記発振器が生成する第１の周波数のクロック信号を、分周比ｏで分周することにより、前記非同期シリアルデータをオーバーサンプリングするためのオーバーサンプル用クロック信号が生成され、前記非同期シリアルデータのボーレートが計測され、前記計測結果に基づいて得られた前記非同期シリアルデータの送信側のクロック周波数と受信用クロック信号の周波数の差分の値が所定の範囲内となるようにするために設定すべき分周比ｍが演算され、前記演算結果に基づいて、設定すべき分周比ｏが演算される。
【発明の効果】
【００３０】
本発明によれば、オーバーサンプル方式の非同期シリアル通信におけるクロックの周波数の調整を、低コストで精度高く行うことができる。
【発明を実施するための最良の形態】
【００３１】
以下、図面を参照して、本発明の実施の形態について説明する。
【００３２】
最初に、非同期シリアル通信におけるクロック／データリカバリ方式としてのオーバーサンプル方式について説明する。
【００３３】
図２は、非同期シリアル通信方式で伝送される非同期シリアルデータのフレームの構成例を説明する図である。同図は、横軸が時間とされ、縦軸は、信号ラインの電圧レベルとされ、１フレーム分の非同期シリアルデータの構成が示されている。この例では、１ビットのStart Bit、第０ビット乃至第７ビットの８ビット分のデータ、および１ビットのStop Bitにより１つのフレームが構成されている。
【００３４】
図２に示されるように、非同期シリアル通信において、受信データは単一線の信号ライン上をフレーム単位でシリアルに伝送される。フレーム伝送開始前は、信号ラインの電圧レベルはHレベルとなっており、フレームの開始は1ビット時間、信号ラインの電圧レベルがLになるStart Bitにより示される。その後1ビット時間ずつの8ビットのデータ（情報）が順番に伝送される。また、フレームの最後は、1ビット時間、信号ラインの電圧レベルがHになるStop Bitで示される。
【００３５】
すなわち、非同期シリアル通信においては、受信側と送信側では同一のクロックを持たない。このため、予め取り決められた1ビット時間のタイミングをある程度の精度で満たす非同期のクロックを利用して、Start Bitの検出によりそれらの位相を合わせてから、そのタイミングでフレーム内の情報ビットとStop Bitを順次検出確定するようになされている。
【００３６】
図３は、オーバーサンプル方式によるクロックリカバリの処理を説明する図である。同図は、横軸が時間とされ、縦軸が信号ラインの電圧レベルとされ、図中最も上に、受信データのStart Bitおよび第０ビットの電圧レベルの変化が示されている。
【００３７】
また、図３においては、オーバーサンプル用クロック信号が入力されるタイミングが図中垂直上向きの矢印により表示されている。この例では、受信データのビット周期の16倍の周波数を持つクロック信号（図中「×１６」と表記）と、受信データのビット周期の8倍の周波数を持つクロック信号（図中「×８」と表記）の入力されるタイミングがそれぞれ表示されている。
【００３８】
オーバーサンプル方式では、オーバーサンプル用クロック信号により、受信データをサンプルすることで、まず、Start Bitを検出する。すなわち、信号ラインのレベルがHからLに遷移したタイミングから16倍の周波数のクロック信号（「×１６」）の場合は、9クロック目（8倍のクロック信号（「×８」の場合は、5クロック目）、およびその前後それぞれ1クロックの合計3クロック分のサンプル結果に基づいて、Start Bitの検出が行われる。
【００３９】
すなわち、図３に示されるように、「×１６」の場合は、第８クロック乃至第１０クロック、「×８」の場合は、第４クロック乃至第６クロックによりサンプルされる。
【００４０】
例えば、16倍の周波数を持つクロック信号で受信データをサンプルする場合、信号ラインの電圧レベルのHからLへの遷移から、8クロック目からオーバーサンプル用クロック信号の位相を合わせる。すなわち、8クロック目からオーバーサンプル用クロック信号のパルスに合わせてサンプルを開始する。そして、以後3クロックのサンプル結果がすべてLであったならばそのビットをStart Bitと判定する。そして、Start Bitに続くビットを第０ビットとして信号ライン上をシリアルに伝送されるデータの受信が行われる。この処理をクロックリカバリと呼ぶ。
【００４１】
このようにクロックリカバリの処理が完了すると、その後、第０ビット乃至第７ビットのデータの確定がなされる。すなわち、第０ビット乃至第７ビットのそれぞれが、「０」であるか「１」であるかを確定するのである。さらに、フレームの最後に挿入されたビットであるStop Bitの検出が行われる。この処理を、データリカバリと称する。
【００４２】
図４は、オーバーサンプル方式によるデータリカバリの処理を説明する図である。同図は、横軸が時間とされ、縦軸が信号ラインの電圧レベルとされ、図中最も上に、受信データの第ｎビット（図中「Bit  ｎ」と表記）の電圧レベルの変化が示されている。
【００４３】
また、図４においては、オーバーサンプル用クロック信号が入力されるタイミングが図中垂直上向きの矢印により表示されている。この例では、受信データのビット周期の16倍の周波数を持つクロック信号（図中「×１６」と表記）と、受信データのビット周期の8倍の周波数を持つクロック信号（図中「×８」と表記）の入力されるタイミングがそれぞれ表示されている。
【００４４】
クロックリカバリの処理により位相が合わせられたオーバーサンプル用クロック信号において、中央付近の3サンプルの結果により、図４に示される第ｎビット（実際には、第０ビット乃至第７ビットのそれぞれ）、およびStop Bitの検出が行われる。
【００４５】
例えば、16倍の周波数を持つクロック信号で受信データをサンプルする場合、クロックリカバリの処理の後、第０ビットを確定する処理が行われる。すなわち、クロックリカバリの処理の後、第８クロック乃至第１０クロックのサンプル結果が全てHならば、第０ビットは、「１」と判定される。一方、第８クロック乃至第１０クロックのサンプル結果が全てＬならば、第０ビットは、「０」と判定される。
【００４６】
また、クロックリカバリの処理の後、さらに１６のクロック信号が投入された後、第１ビットを確定する処理が行われる。すなわち、クロックリカバリの処理の後、さらに１６のクロック信号が投入された後、第８クロック乃至第１０クロックのサンプル結果が全てHならば、第１ビットは、「１」と判定される。一方、第８クロック乃至第１０クロックのサンプル結果が全てＬならば、第１ビットは、「０」と判定される。
【００４７】
なお、８倍の周波数を持つクロック信号で受信データをサンプルする場合、第４クロック乃至第６クロックのサンプル結果が用いられることになる。
【００４８】
このようにして、第０ビット乃至第７ビットのそれぞれが、「０」であるか「１」であるかが確定される。
【００４９】
なお、データリカバリ時にサンプルした３つのサンプル結果が一致しない場合、例えば、エラーとして処理されるようにしてもよいし、多数決により「０」または「１」が確定されるようにしてもよい。すなわち、３つのサンプル結果のうち、２つがＨで１つがＬならそのビットは「１」として確定されるようにしてもよい。また、３つのサンプル結果が一致しない場合、データリカバリの処理の実行とともに、伝送路上にノイズが現れた可能性を示す信号が、別途生成されるようにしてもよい。
【００５０】
また、第７ビットの確定後、すなわち、クロックリカバリの処理の後（Start Bitの検出が行われた後）、さらに１２８（＝８×１６）のクロック信号が投入されて第０ビット乃至第７ビットが確定された後、Stop Bitの検出が行われる。すなわち、第７ビットに続く、ビットが「０」であると確定された場合、そのビットがStop Bitとして検出される。これにより、データリカバリの処理は終了し、１フレーム分の非同期シリアルデータの受信が完了したことになる。
【００５１】
ここでは、図２を参照して上述したように、非同期シリアルデータのフレームが構成される場合の例について説明したが、非同期シリアルデータのフレームが別の構成とされるようにしてもよい。例えば、非同期シリアルデータのフレームが図５に示されるように構成されるようにしてもよい。
【００５２】
図５は、非同期シリアルデータのフレームの別の構成例を示す図である。同図は、横軸が時間とされ、縦軸が信号ラインの電圧レベルとされ、１フレーム分の非同期シリアルデータの構成が示されている。この例では、１ビットのStart Bit、第０ビット乃至第ｎビットの（ｎ＋１）ビット分のデータ、１ビットのパリティ、および２ビットのStop Bitにより１つのフレームが構成されている。ここで、パリティは、受信したフレームの信頼性を確認するために設けられるビットであり、例えば、データに含まれる１の数が奇数か偶数かを示すビットとされる。
【００５３】
上述したような、オーバーサンプル方式を実現するために、従来の非同期シリアルデータ受信装置においては、基準クロック（後述する原振クロック）を分周して、受信データのビット周期の8倍または16倍のオーバーサンプルのクロック信号を作り出し、オーバーサンプルの基準クロックを更に8または16の分周比により分周して受信用クロック信号を作り出す。この受信用クロックの位相の決定には、Start Bitの立ち下がりが用いられる。
【００５４】
例えば、受信データのビット周期の16倍の周波数を持つオーバーサンプル用クロック信号が生成され、更に分周比16で分周して受信用クロック信号を生成する場合、オーバーサンプル用クロックの１６クロックが、受信用クロックの１クロックに対応する。そして、Start Bitの立ち下がりから、オーバーサンプル用クロックの１６クロック分の時間がStart Bitの受信時間とされることになる。
【００５５】
ところで、非同期シリアル通信においては、送信側と受信側で別々のクロック信号が用いられることになるので、送信側と受信側とで、それぞれのクロック信号の精度が異なる場合がある。このため、非同期シリアル通信においてデータ送信のクロック信号またはデータ受信のクロック信号の精度が所望の範囲にない場合、どちらかのクロック信号の周波数を微調整する必要がある。
【００５６】
従来の非同期シリアルデータ受信装置は、送信側のクロックを計測して、自身の受信用クロック信号の周波数を、次のように微調整するようになされていた。
【００５７】
すなわち、従来の非同期シリアルデータ受信装置は、ボーレート計測機能などにより、シリアルに伝送される受信データの周波数、すなわち送信側のクロック周波数を計測し、その計測結果に基づいて、受信装置の受信用クロック信号の微調整を行うための演算が行われる。ここでは、例えば、分周器に設定する分周比を特定するための演算が行われる。
【００５８】
そして、演算により特定された分周比により原振クロックが分周されて、新たにオーバーサンプル用クロック信号が生成される。さらに、そのオーバーサンプル用クロック信号が、分周比８または分周比１６により分周されて受信用クロック信号が生成されることになる。
【００５９】
しかしながら、従来の方式では、原振クロックの分周比が±１変化すると、受信用クロック信号の周波数に対して、8倍または16倍変化することになり、調整の精度は極めて粗いものとなる。例えば、受信データのビット周期の16倍の周波数を持つオーバーサンプル用クロック信号が生成される場合、原振クロックの周波数をｆ0で表すと、受信用クロック信号の周波数をｆbrは、次式のように演算される。
【００６０】
ｆbr＝（ｆ0／ｎ）×（１／１６）＝ｆ0／１６ｎ
【００６１】
従って、仮にｎ＝１ならば、ｆbr＝ｆ0／１６となり、仮にｎ＝２ならば、ｆbr＝ｆ0／３２となる。このように、従来の方式では、受信用クロック信号の周波数を微調整にあたり、原振クロックの分周比を１６の倍数単位でしか変更できない。受信用クロック信号は、原振クロックを分周して生成されたオーバーサンプル用クロック信号をさらに分周することで生成されていたからである。
【００６２】
そこで、本発明においては、原振クロックから直接、受信用クロック信号を生成する構成を採用する。
【００６３】
図６は、本発明の一実施の形態に係る非同期シリアルデータ受信装置１００の構成例を示すブロック図である。
【００６４】
同図において、発振器１２１は、充分に高い周波数ｆ0のクロック信号を生成して出力する。ここで、発振器１２１が生成するクロック信号を原振クロックと称することにする。
【００６５】
分周器１２２は、原振クロックを分周して周波数ｆosのオーバーサンプル用クロック信号を生成して出力する。
【００６６】
オーバーサンプラ１２３は、オーバーサンプル用クロック信号に基づいて、シリアルに伝送される受信データを、オーバーサンプル方式でサンプルする。
【００６７】
制御部１２４は、オーバーサンプラ１２３のサンプル結果に基づいて、Start Bitの検出、Stop Bitの検出を行い、上述したように、クロックリカバリの処理、データリカバリの処理を行う。また、制御部１２４は、Start Bitの検出結果、Stop Bitの検出結果、データリカバリの処理結果（例えば、所定のビットの「０」または「１」の判定結果）などを表す信号をステータス信号として出力する。
【００６８】
また、図６の構成においては、分周器１２８は、原振クロックを分周して周波数ｆbrの受信用クロック信号を生成して出力するようになされている。
【００６９】
そして、シフトレジスタ１３１は、受信用クロック信号に基づいて動作し、信号ライン１２０上でシリアルに伝送される受信データを、１フレーム分保持してパラレルデータとして出力するようになされている。
【００７０】
図６の非同期シリアルデータ受信装置１００における受信用クロック信号の周波数の微調整は、次のようにして行われる。
【００７１】
ボーレート計測部１２５は、信号ライン１２０に伝送される信号のボーレートを計測することで、シリアルに伝送される受信データの周波数、すなわち送信側のクロック周波数を計測する。そして、演算部１２６が、ボーレート計測部１２５の計測結果に基づいて、非同期シリアルデータ受信装置１０の受信用クロック信号の微調整を行うための演算を行う。演算部１２６は、送信側のクロック周波数と同じ周波数の受信用クロック信号を生成するために分周器１２８に設定すべき分周比ｍを特定するための演算を行う。例えば、受信用クロック信号の周波数ｆbrが、受信データのビット周期の１倍の周波数となるように、分周比ｍが特定されるようになされている。
【００７２】
なお、必ずしも受信用クロック信号の周波数ｆbrを、受信データのビット周期の１倍の周波数として調整できるとは限らないので、例えば、周波数ｆbrと受信データのビット周期（送信側のクロック周波数）との差分の値が所定の範囲内となるように、分周器１２８に設定すべき分周比ｍを特定するための演算がなされるようにしてもよい。
【００７３】
また、制御部１２４が、次のフレームの受信待ちの状態、または次のデータ（ビット）の受信待ちの状態で信号ラインの電圧レベルの立ち下がりまたは立ち上がりを検出した場合、分周器１２８に対して信号を送出するようになされている。分周器１２８は、制御部１２４からの信号が供給されたタイミングで、受信用クロック信号の位相を合わせるようになされている。すなわち、受信用クロック信号の位相が信号ラインの電圧レベルの立ち下がりまたは立ち下がりのタイミングと同期させられるようになされている。
【００７４】
なお、受信待ちの状態で信号ラインの電圧レベルの立ち下がりまたは立ち上がりを検出した場合の分周器１２８への信号の送出は、特になされないようにしてもよい。
【００７５】
演算部１２６の演算により特定された分周比ｍは、記憶部１２７に記憶される。このように記憶部１２７に記憶された分周比ｍにより分周器１２８は、原振クロックを分周して、直接、受信用クロック信号を生成するようになされている。
【００７６】
記憶部１２７に記憶された分周比ｍに基づいて、演算部１２９が分周器１２２に設定する分周比ｏを演算して、記憶部１３０に記憶させるようになされている。なお、演算部１２９は、例えば、記憶部１２７に記憶された分周比ｍを１６で除することにより、分周比ｏを演算するようになされている。
【００７７】
このようにして、非同期シリアルデータ受信装置１００における受信用クロック信号の周波数の微調整が行われることになる。
【００７８】
すなわち、従来の非同期シリアルデータ受信装置は、図７に示されるように、原振クロックｆ0を分周比ｎにより分周して（１／ｎ）、オーバーサンプル用クロック信号が生成される。また、受信用クロック信号は、原振クロックを分周比ｎにより分周し、さらに分周比１６または分周比８により分周して（１／１６ｏｒ１／８）生成される。このため、受信用クロック信号の周波数の微調整に用いられるパラメータとして、分周比ｎを用いることとなり、パラメータを±１変化させるだけで、受信用クロック信号を生成するための分周比は、16倍または8倍変化してしまう。
【００７９】
これに対して、本発明の非同期シリアルデータ受信装置１００においては、図８に示されるように、原振クロックを分周比ｍにより分周して（１／ｍ）、受信用クロック信号が、直接生成される。また、オーバーサンプル用クロック信号は、原振クロックを分周比ｏにより分周して（１／ｏ）生成される。
【００８０】
このように、本発明においては、受信用クロック信号の周波数ｆbrの微調整に用いられるパラメータとして、分周比ｍを用いることができるので、パラメータを±１変化させるだけで、受信用クロック信号を生成するための分周比が16倍または8倍変化してしまうことはない。その結果、最適な受信用クロック信号を、正確に生成することができる。
【００８１】
図９は、本発明による方式と従来の方式との効果の違いを説明する図である。同図は、オーバーサンプル用クロック信号を受信データのビット周期の１６倍の周波数ｆosとし、受信用クロック信号を受信データのビット周期の１倍の周波数ｆbrとする場合、受信データのビット周期（伝送速度）を9600bpsとしたときの各数値を示した表である。
【００８２】
同図において、「ｆ0」は、原振クロックの周波数を示している。例えば、「本発明  １Ｍ（Hz）」の場合、原振クロックの周波数は、１,０４８,５７６（Hz）とされている。
【００８３】
また、同図において「ｍ，ｎ」は、分周器１２８に設定される分周比ｍの値、または従来の非同期シリアルデータ受信装置の分周器（例えば、図１の分周器２２）に設定される分周比ｎの値を表している。例えば、「本発明  １Ｍ（Hz）」の場合、分周器１２８に設定される分周比ｍの値を、それぞれ１０８、１０９、１１０に設定したときの数値が記載されている。
【００８４】
さらに、同図において、「Baud」は、受信データのボーレートを表しており、いまの場合、受信データのボーレートは、データの伝送速度（ｂｐｓ）と等しい。同図において、「Baud」の列には、図中の「ｆ0」の列に示される原振クロックの周波数を、図中の「ｍ，ｎ」の列に示される分周比で分周して受信用クロック信号を生成した場合のボーレートの値が記述されている。換言すれば、同図において「Baud」の列に記述された数値は、受信用クロック信号の周波数ｆbrの値を表すものである。
【００８５】
また、同図において、「／９６００」は、図中の「Baud」の列に示されるボーレートの値を、ボーレートの真値である９６００（bps）で除した値が記述されている。
【００８６】
さらに、同図の「△%」は、図中の「／９６００」の列に記述された数値を百分率で表し、かつ図中上下に隣り合う「／９６００」の列に記述された数値の差を表したものである。すなわち、同図の「△%」の列に記述される数値は、分周器に設定された分周比の値が±１変化するに当たり、非同期シリアルデータ受信装置のボーレートが真値に対して何％変化するかを表すものである。
【００８７】
例えば、図９において「本発明  １Ｍ（Hz）」の場合、図中の「ｍ，ｎ」の列に示される分周比の値を１０８から１０９に（１だけ）変化させると、非同期シリアルデータ受信装置のボーレートが真値に対して０.９２８％変化する。また、図中の「ｍ，ｎ」の列に示される分周比の値を１０９から１１０に（１だけ）変化させると、非同期シリアルデータ受信装置のボーレートが真値に対して０.９１１％変化する。
【００８８】
非同期シリアルデータの受信において、受信用クロック信号の周波数を微調整する場合、受信用クロック信号の周波数の変化が非同期シリアルデータ受信装置のボーレートが真値に対して０.２％以内となるように微調整できることが望ましい。
【００８９】
図９において「本発明  ８Ｍ（Hz）」の場合、図中の「ｍ，ｎ」の列に示される分周比の値を１だけ変化させると、非同期シリアルデータ受信装置のボーレートが真値に対して０.１１５％（または０.１１４％）だけ変化している。すなわち、本発明によれば、原振クロックの周波数を約８MHz程度に設定すれば、分周器１２８の分周比ｍの値（図中８７２乃至８７４）を変化させて、理想的な、受信用クロック信号の周波数の微調整を行うことができる。
【００９０】
これに対して、図９において「従来  ８Ｍ（Hz）」の場合、図中の「ｍ，ｎ」の列に示される分周比の値（図中５３乃至５５）を１だけ変化させると、非同期シリアルデータ受信装置のボーレートが真値に対して１.７７３％乃至１.９０８％も変化している。
【００９１】
仮に従来の方式を用いて、本発明と同様に、理想的な、受信用クロック信号の周波数の微調整を行うためには、原振クロックの周波数を約１２８MHz程度に設定する必要がある。「従来  １２８Ｍ（Hz）」の場合、図中の「ｍ，ｎ」の列に示される分周比の値を１だけ変化させると、非同期シリアルデータ受信装置のボーレートが真値に対して０.１１５％（または０.１１４％）だけ変化している。
【００９２】
このように、本発明によれば、原振クロックの周波数ｆ0の値を大きくしなくても、理想的な、受信用クロック信号の周波数の微調整を行うことが可能となる。
【００９３】
従来の方式において、調整の精度をより高めるためには、原振クロックの周波数の値を高くする必要がある。しかし、このような構成は、発振周波数の高周波化による不要輻射の悪化、消費電力の増大のため、コスト制約の大きい民生品やモバイル用途など電源に制約の大きい機器での実装が難しい。
【００９４】
あるいはまた、分周比を調整するのではなく、発振回路のバイアス電流などのパラメータを変化させることでアナログ的に原振クロックを微調整する方式も考えられるが、制御の変化点に対する発振回路の応答や、温度特性、ばらつきなどで問題が生じる可能性が高く、量産時に全数安定に動作させるのは難易度が高い。
【００９５】
これに対して、本発明では、原振クロックの周波数ｆ0の値を大きくしなくても、理想的な、受信用クロック信号の周波数の微調整を行うことが可能となるので、非同期シリアル通信におけるクロックの周波数の調整を、低コストで精度高く行うことができる。
【００９６】
図１０は、本発明を適用した非同期シリアルデータ受信装置の別の構成例を示すブロック図である。同図において、発振器２２１乃至シフトレジスタ２３１は、それぞれ図６の発振器１２１乃至シフトレジスタ１３１と同様の機能ブロックなので詳細な説明は省略する。
【００９７】
図１０の例では、制御部２２４が、次のフレームの受信待ちの状態、または次のデータ（ビット）の受信待ちの状態で信号ラインの電圧レベルの立ち下がりまたは立ち上がりを検出した場合、分周器２２８だけでなく分周器２２２に対しても信号を送出するようになされている。分周器２２２は、制御部２２４からの信号が供給されたタイミングで、オーバーサンプル用クロック信号の位相を合わせるようになされている。すなわち、受信用クロック信号と同様に、オーバーサンプル用クロック信号の位相も、信号ラインの電圧レベルの立ち下がりまたは立ち下がりのタイミングと同期させられるようになされている。
【００９８】
なお、図１０のその他の構成は、図６を参照して上述した場合と同様である。
【００９９】
このようにすることで、受信用クロック信号の位相と、オーバーサンプル用クロック信号の位相の関係が、図６の場合と比較してより一定に保たれるようにすることができるので、安定して非同期シリアルデータを受信することが可能となる。
【０１００】
なお、本明細書において上述した一連の処理は、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【図面の簡単な説明】
【０１０１】
【図１】従来の非同期シリアルデータ受信装置の構成例を示すブロック図である。
【図２】非同期シリアル通信方式で伝送される非同期シリアルデータのフレームの構成例を説明する図である。
【図３】オーバーサンプル方式によるクロックリカバリの処理を説明する図である。
【図４】オーバーサンプル方式によるデータリカバリの処理を説明する図である。
【図５】非同期シリアルデータのフレームの別の構成例を示す図である。
【図６】本発明の一実施の形態に係る非同期シリアルデータ受信装置の構成例を示すブロック図である。
【図７】従来の非同期シリアルデータ受信装置におけるクロック信号の生成について説明する図である。
【図８】本発明の非同期シリアルデータ受信装置におけるクロック信号の生成について説明する図である。
【図９】本発明による方式と従来の方式との効果の違いを説明する図である。
【図１０】本発明を適用した非同期シリアルデータ受信装置の別の構成例を示すブロック図である。
【符号の説明】
【０１０２】
１００  非同期シリアルデータ受信装置，  １２０  信号ライン，  １２１  発振器，  １２２  分周器，  １２３  オーバーサンプラ，  １２４  制御部，  １２５  ボーレート計測部，  １２６  演算部，  １２７  記憶部，  １２８  分周器，  １２９  演算部，  １３０  記憶部，  １３１  シフトレジスタ，  ２００  非同期シリアルデータ受信装置，  ２２０  信号ライン，  ２２１  発振器，  ２２２  分周器，  ２２３  オーバーサンプラ，  ２２４  制御部，  ２２５  ボーレート計測部，  ２２６  演算部，  ２２７  記憶部，  ２２８  分周器，  ２２９  演算部，  ２３０  記憶部，  ２３１  シフトレジスタ
【図１】
2010041388.tif 000003
【図２】
2010041388.tif 000004
【図３】
2010041388.tif 000005
【図４】
2010041388.tif 000006
【図５】
2010041388.tif 000007
【図６】
2010041388.tif 000008
【図７】
2010041388.tif 000009
【図８】
2010041388.tif 000010
【図９】
2010041388.tif 000011
【図１０】
2010041388.tif 000012