(57)【特許請求の範囲】
【請求項１】
ボーレート設定データ入力により所定の周波数のボーレートに受信器を設定するクロックイネーブル信号を出力するボーレート設定器と、
クロック入力により前記ボーレートの所定の整数倍周波数のオーバーサンプルクロックを出力する受信オーバーサンプルクロック生成器と、
前記オーバーサンプルクロックにより受信シリアルデータ入力のインパルス雑音を除去する雑音除去フィルタと、
前記オーバーサンプルクロックと前記クロックイネーブル信号により前記雑音除去フィルタの出力の有効データビットの開始を示すスタートビットを検出しそのスタートビットを表す制御ビット信号を出力する制御ビット検出器と、
前記制御ビット信号と前記オーバーサンプルクロックと前記クロックイネーブル信号で前記雑音除去フィルタの出力の有効データビットをサンプリングするサンプルクロックを出力するサンプルクロック生成器と、
前記雑音除去フィルタの出力の有効データビットを前記サンプルクロックでサンプリングし有効受信データを出力する受信データサンプリングと、
前記オーバーサンプルクロックと前記クロックイネーブル信号により前記有効受信データをシリアルパラレル変換するシルアルパラレル変換器と、
を備えた非同期受信装置。
【請求項２】
ボーレート設定データ入力により所定の周波数のボーレートに受信器を設定するクロックイネーブル信号を出力するボーレート設定器と、
クロック入力により前記ボーレートの所定の整数倍周波数のオーバーサンプルクロックを出力する受信オーバーサンプルクロック生成器と、
前記オーバーサンプルクロックと前記クロックイネーブル信号により受信シリアルデータ入力の立ち下がりと立ち上がりエッジの間隔をカウントしそのカウント値を出力するパルス幅検出器と、
前記オーバーサンプルクロックと前記クロックイネーブル信号により前記カウント値が所定の範囲の値のときの受信シリアルデータ入力立ち下がりエッジのみ有効データビットの開始を示すスタートビットとしそのスタートビットを表す制御ビット信号を出力する制御ビット検出器と、
前記制御ビット信号と前記オーバーサンプルクロックと前記クロックイネーブル信号で前記受信シリアルデータ入力の有効データビットをサンプリングするサンプルクロックを出力するサンプルクロック生成器と、
前記受信シリアルデータ入力の有効データビットを前記サンプルクロックでサンプリングし有効受信データを出力する受信データサンプリングと、
前記オーバーサンプルクロックと前記クロックイネーブル信号により前記有効受信データをシリアルパラレル変換するシルアルパラレル変換器と、
を備えた非同期受信装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ通信方法において非同期式でデータ送受信する場合の受信側装置である非同期受信装置に関するものである。
【０００２】
【従来の技術】
以下に、従来の非同期受信装置について説明する。
データ通信方法には各種の分類方法があるが、ここではその分類方法の一つである同期式と非同期式の違いについて若干説明する。データ通信において送信側から受信側へデータをサンプリングするためのクロック情報とデータ及び通信制御情報を送信する方法を同期式、クロック情報を送信せずデータ及び通信制御情報のみを送信する方法を非同期式と呼ぶ。非同期式はクロック情報を送信しないため送信情報量を削減できるので信号線も減らせる可能性があるという長所があるが、クロック情報がないため受信側で同期式ほど正確にデータ及び通信制御情報を受信できないという短所がある。この非同期式データ通信の受信側装置が非同期受信装置である。
【０００３】
図９は従来の非同期受信装置及び非同期送信装置のブロック図を示すものである。ボーレート設定データ入力によりボーレート設定器９０８で非同期送信機９１３から送信する信号のボーレートを設定する。クロック入力からボーレート設定器９０８により設定されたボーレートになるように送信クロック生成器９０９で送信クロックを生成する。送信パラレルデータ入力を送信クロックによりパラレルシリアル変換する。送信制御器９１１で送信制御データ、例えば有効データの開始を示すスタートビット、終了を示すストップビット、等を生成する。送信データフォーマッタ９１２は変換したシリアルデータに送信制御器９１１で作成した送信制御データを付加し、所定のフォーマットに変換し、送信シリアルデータとして出力する。この送信シリアルデータを受信するのが非同期受信器９０７である。ボーレート設定データ入力で非同期送信器９１３と同じボーレートにボーレート設定器９０１で非同期送信器９０７を設定する。クロック入力からボーレート設定器９０１により設定されたボーレートになるように受信クロック生成器９０３で受信クロックを生成する。受信シリアルデータ入力の送信制御データであるスタートビット及びストップビットを制御ビット検出器９０４で検出し制御ビット信号を出力する。制御ビット信号で示す有効データをサンプリングするよう受信クロックをサンプルクロック生成器９０５でマスクしサンプルクロックを出力する。受信データサンプリング９０２でサンプルクロックにより有効データのみサンプリングする。その有効データをシリアルパラレル変換器９０６でパラレルデータに変換し受信パラレルデータを出力する。データ送受信に誤りがなければ送信パラレルデータと受信パラレルデータは一致する。
【０００４】
【発明が解決しようとする課題】
しかしながら上記従来の構成では、以下のような４つの課題を有していた。
１つ目の課題は次のようなものである。ここで図１０は従来の非同期送信装置における各信号のタイミングチャートである。信号（ａ）は受信シリアルデータ入力で、例えば受信データフォーマットが非送信状態はハイレベルでローレベルのスタートビット、Ｄ０（ＬＳＢ：Ｌｅａｓｔ Ｓｉｇｎｉｆｉｃａｎｔ Ｂｉｔ、最下位ビット）、Ｄ１、Ｄ２…というビット並びで送信される場合を示している。最初の短いローレベルパルスはインパルス雑音で、次のローレベルがスタートビット、その次のハイレベルはＤ０、その次のローレベルはＤ１である。インパルス雑音があるためその雑音を制御ビット検出器がサンプリングするとそのローレベルをスタートビットとみなし、（ｄ）のようなタイミングで制御ビット検出信号を出力する。すると受信データサンプリングの出力は（ｅ）のようにスタートビットをＤ０、Ｄ１をＤ０、Ｄ２をＤ１とデータがシフトしたような誤った信号となる。本来の制御ビット検出器出力で、正常にデータサンプリングすると（ｇ）のようなデータとなる。すなわち、シリアルデータを電送する信号線の品質が悪い等の原因で受信シリアルデータに比較的パルス幅が小さいインパルス（例えばボーレート周期の１０分の１以下のパルス幅）雑音が重畳され、受信シリアルデータの立ち下がり及び立ち上がりエッジを検出する制御データ検出器が誤動作し、結果的に正確な受信ができず受信パラレルデータ出力が誤ったものになるという課題である。
【０００５】
２つ目の課題は次のようなものである。１つ目の課題と同様であるが、非同期送信器の性能が悪い等の原因で受信シリアルデータに比較的パルス幅が大きいインパルス（例えばボーレート周期の２分の１以下のパルス幅）の雑音が受信シリアルデータに重畳されると、制御データ検出器が誤動作するという課題である。
【０００６】
３つ目の課題は次のようなものである。ここで図１１は従来の非同期送信装置における各信号のタイミングチャートである。信号（ａ）は受信シリアルデータ入力で、（ｂ）に示すように最初のローレベルが１番目シリアルデータのスタートビット、次のハイレベルがＤ０、次のローレベルがＤ１である。途中タイミングを省略してｎ番目シリアルデータを示している。ｎは十分大きな値、例えば１０００で、連続してデータを受信している場合である。ｎ番目のシリアルデータの最初のローレベルがスタートビット、次のハイレベルがＤ０、次のローレベルがＤ１である。（ｃ）はサンプルクロック生成器出力のサンプリングクロックで、１番目シリアルデータをサンプリングするとＤ０データ期間中ほぼ中心位置をサンプリングできるが、ｎ番目シリアルデータになるとサンプルクロック位相が次第にずれてその立ち上がりエッジがデータ変化点に合致し結果的にサンプリングしたデータは不定となる。このように受信側では必然的に送信側と同じボーレートに設定しデータ受信するが、マスターとなるクロック周波数及び位相が送信側と受信側で厳密には一致しないため連続してデータ送受信した場合に受信データと受信データをサンプリングするクロックの位相が徐々にずれてサンプリング不可となるタイミングに陥り、データを正確に受信できないという課題である。
【０００７】
４つ目の課題は次のようなものである。送信側と受信側は必然的に同じボーレートに設定しなければデータ受信できないが、送信側ボーレートが不明の場合試行錯誤でボーレートを推測し受信側ボーレートを設定する必要がある、あるいは送信側ボーレートが判明している場合でも送信側ボーレートを変更する毎に受信側ボーレートも変更する必要があるという課題である。
【０００８】
本発明は上記従来の課題を解決するもので、１つ目の課題に対しては比較的パルス幅が小さいインパルスが受信シリアルデータに重畳していても正確にデータ受信できる非同期受信装置を提供し、２つ目の課題に対しては比較的パルス幅が大きいインパルスが受信シリアルデータに重畳していても正確にデータ受信できる非同期受信装置を提供し、３つ目の課題に対しては連続してデータ送受信した場合にも安定して正確にデータ受信できる非同期受信装置を提供し、４つ目の課題に対しては装置外部から受信側ボーレートを設定する必要がない非同期受信装置を提供することを目的とする。
【０００９】
【課題を解決するための手段】
この目的を達成するために第１の発明の非同期受信装置は、ボーレート設定データ入力により所定の周波数のポーレートに受信器を設定するクロックイネーブル信号を出力するボーレート設定器と、クロック入力によりボーレートの所定の整数倍周波数のオーバーサンプルクロックを出力する受信オーバーサンプルクロック生成器と、受信シリアルデータ入力の比較的パルス幅が小さいインパルス雑音を除去する雑音除去フィルタとを備えている。
【００１０】
第２の発明の非同期受信装置は、オーバーサンプルクロックとクロックイネーブル信号により受信シリアルデータ入力の立ち下がり及び立ち上がりエッジの間隔をカウントしそのカウント値を出力するパルス幅カウンタと、オーバーサンプルクロックとクロックイネーブル信号によりカウント値が所定の範囲の値のときの受信シリアルデータ入力立ち下がりエッジのみ有効データビットの開始を示すスタートビットとしそのスタートビットを表す制御ビット信号を出力する制御ビット検出器とを備えている。
【００１１】
第３の発明の非同期受信装置は、オーバーサンプルクロックとクロックイネーブル信号と制御ビット信号により受信シリアルデータ入力の有効データの位相を検出しその位相情報を出力するデータ位相検出器と、位相情報と制御ビット信号とオーバーサンプルクロックとクロックイネーブル信号で受信シリアルデータ入力の出力の有効データビットの所定位相位置をサンプリングする位相補償サンプルクロックを出力するサンプルクロック生成器と、受信シリアルデータ入力の有効データビットを位相補償サンプルクロックでサンプリングし有効受信データを出力する受信データサンプリングとを備えている。
【００１２】
第４の発明の非同期受信装置は、オーバーサンプルクロックとクロックイネーブル信号と制御ビット信号により受信シリアルデータ入力の有効データのボーレートを検出しクロックイネーブル信号を出力するボーレート検出器を備えている。
【００１３】
【発明の実施の形態】
第１の発明は上記した構成により、以下のような作用がある。クロック入力によりボーレートの所定の整数倍周波数のオーバーサンプルクロックを出力する受信オーバーサンプルクロック生成器によりボーレート以上の周波数で受信シリアルデータ入力をサンプリング可能となりその比較的パルス幅が小さいインパルス雑音、例えばオーバーサンプルクロック１周期分のローレベルパルスであればオーバーサンプルクロックでサンプリング後そのローレベルをハイレベルにすげ替える処理を雑音除去フィルタ行いそのインパルス雑音を除去するので制御データ検出器が誤動作することなく正確にデータ受信できるという作用である。
【００１４】
第２の発明は上記した構成により、以下のような作用がある。受信シリアルデータに比較的パルス幅が大きいインパルス、例えばオーバーサンプルクロック１０周期分のローレベルパルスであれば、パルス幅カウンタで受信シリアルデータ入力の立ち下がりと立ち上がりエッジの間隔をオーバーサンプルクロックでカウントし、制御ビット検出器でそのカウント値が２０周期分以下であれば有効データビットの開始を示すスタートビットではなくインパルス雑音とみなすようにすれば制御データ検出器は誤動作することなく正確にデータ受信できるという作用である。
【００１５】
第３の発明は上記した構成により、以下のような作用がある。例えばスタートビット位置からオーバーサンプルクロックでカウントアップし設定ボーレート周期の半分の位置であるという位相情報をデータ位相検出器がサンプルクロック生成器に入力し、サンプルクロック生成器で常に受信データの中心位置でサンプリングするタイミングで受信データサンプリング用サンプルクロックを発生させれば、受信データを正確にサンプリングできるという作用である。
【００１６】
第４の発明は上記した構成により、以下のような作用がある。例えば受信データフォーマットが非送信状態はハイレベルでローレベルのスタートビット、Ｄ０（ＬＳＢ：Ｌｅａｓｔ Ｓｉｇｎｉｆｉｃａｎｔ Ｂｉｔ、最下位ビット）、Ｄ１、Ｄ２…というビット並びで送信される場合、Ｄ０ビットがハイレベルとなるような試験データを送信し、ボーレート検出器でスタートビットの立ち下がりエッジからＤ０の立ち上がりエッジをオーバーサンプルクロックでカウントアップすればそのカウント値がすなわちボーレート周期であり、その値に非同期受信器のボーレートを設定すれば自動的にボーレート設定が完了するという作用である。
【００１７】
以下、第１の発明における非同期受信装置の一実施例について、図面を参照しながら説明する。
【００１８】
図１は本発明の一実施例における非同期受信装置の構成を示すブロック図である。また図５は本発明の第１の実施例における非同期受信装置のタイミングチャートである。ただし図９に示した従来の非同期受信装置と同じ構成要素には同一符号を付し、またその動作説明は省略する。ボーレート設定データ入力で非同期送信器と同じボーレートにボーレート設定器１０６で非同期受信器を設定する。クロック入力によりボーレートの所定の整数倍周波数、例えば（ｃ）のような５倍のオーバーサンプルクロックを受信オーバーサンプルクロック生成器１０１は出力する。比較的パルス幅が小さいインパルス雑音、例えばオーバーサンプルクロック１周期分のローレベルパルスが重畳する（ａ）のような受信シリアルデータ入力をオーバーサンプルクロック（ｃ）でサンプリングする。（ｂ）は（ａ）の各ハイレベル、ローレベルの意味を説明するものである。最初のオーバーサンプルクロックで（ｄ）のようにサンプリング後そのローレベルをハイレベルにすげ替える処理、例えば３タップフィルタで具現化する雑音除去フィルタ１０２で行いそのインパルス雑音を除去した（ｅ）のようなシリアルデータを出力する。このシリアルデータを受信データサンプリング（ｆ）でサンプリングし（ｇ）のように正確にサンプリングしたデータを出力する。
【００１９】
図２は本発明の一実施例における非同期受信装置の構成を示すブロック図である。また図６は本発明の第２の実施例における非同期受信装置のタイミングチャートである。ただし図９に示した従来の非同期受信装置、及び図１に示した第１の実施例と同じ構成要素には同一符号を付し、またその動作説明は省略する。比較的パルス幅が大きいインパルス雑音、例えばオーバーサンプルクロック３周期分のローレベルパルスが重畳する（ａ）のような受信シリアルデータ入力をオーバーサンプルクロックでサンプリングする。オーバーサンプルクロックで（ｄ）のようにサンプリング後そのローレベルの期間中（ｅ）のようなパルス幅検出器２０１内のカウンタでオーバーサンプルクロックによりカウントする。インパルス雑音のカウント値は”３”でリセットされ、”０”になり正規のボーレートパルス幅”５”までカウントアップしない。この結果をパルス幅検出器２０１は制御ビット検出器２０２に伝え、制御ビット検出器２０２は（ａ）からインパルス雑音を除去し、（ｆ）のように正規のボーレートパルス幅の信号のみをサンプルクロック生成器に入力する。
【００２０】
図３は本発明の一実施例における非同期受信装置の構成を示すブロック図である。また図７は本発明の第３の実施例における非同期受信装置のタイミングチャートである。ただし図９に示した従来の非同期受信装置、及び図１に示した第１の実施例と同じ構成要素には同一符号を付し、またその動作説明は省略する。（ａ）は受信シリアルデータ入力で、（ｂ）に示すように最初のローレベルが１番目シリアルデータのスタートビット、次のハイレベルがＤ０、次のローレベルがＤ１である。途中タイミングを省略してｎ番目シリアルデータを示している。ｎは十分大きな値、例えば１０００で、連続してデータを受信している場合である。ｎ番目のシリアルデータの最初のローレベルがスタートビット、次のハイレベルがＤ０、次のローレベルがＤ１である。オーバーサンプルクロック（ｃ）を使いデータ位相検出器３０１で、（ａ）の立ち下がりあるいは立ち上がりから各データＤ０、Ｄ１のスタートビットに対する位相を検出する。この位相信号に基づきサンプルクロックが各データＤ０、Ｄ１を正確にサンプリングできるよう、すなわち各データに対するサンプルクロックのセットアップ時間及びホールド時間を十分確保するようにサンプルクロック生成器３０２でサンプルクロックを生成する。例えばサンプルクロックは（ｄ）のように各データの時間的に中心位置をサンプルするようなものであればよく、ｎ番目のシリアルデータに関しても同様に常に中心位置をサンプリングする。
【００２１】
図４は本発明の一実施例における非同期受信装置の構成を示すブロック図である。また図８は本発明の第４の実施例における非同期受信装置のタイミングチャートである。ただし図９に示した従来の非同期受信装置、及び図１に示した第１の実施例と同じ構成要素には同一符号を付し、またその動作説明は省略する。（ａ）は受信シリアルデータ入力で、まずボーレート設定用シリアルデータを非同期受信装置で受信する。すなわちローレベルのスタートビットの次のデータＤ０が必ずハイレベルとなるようなシリアルデータである。この設定用シリアルデータをオーバーサンプリングクロック（ｃ）で、Ｄ０のハイレベルパルス幅をカウントすると”５”となり、オーバーサンプリングクロック周波数の５倍の周波数のボーレート周波数であることがわかる。この検出したボーレートを制御ビット検出器１０３、サンプルクロック生成器１０４、シリアルパラレル変換器１０５に入力する。
【００２２】
【発明の効果】
以上のように第１の発明は、クロック入力によりボーレートの所定の整数倍周波数、例えば５倍のオーバーサンプルクロックを受信オーバーサンプルクロック生成器１０１は出力する。比較的パルス幅が小さいインパルス雑音、例えばオーバーサンプルクロック１周期分のローレベルパルスが重畳する受信シリアルデータ入力をオーバーサンプルクロックでサンプリングする。最初のオーバーサンプルクロックでサンプリング後そのローレベルをハイレベルにすげ替える処理、例えば３タップフィルタで具現化する雑音除去フィルタ１０２で行いそのインパルス雑音を除去したシリアルデータを出力する。このようにオーバーサンプリングクロックを用い簡単な構成のフィルタで雑音を除去し非同期受信装置の安定した受信を保証できる。また、オーバーサンプリングクロックをこのように５倍程度ではなくより周波数が高いものにすればより周波数が高い雑音も除去できることはいうまでもない。
【００２３】
第２の発明は、比較的パルス幅が大きいインパルス雑音、例えばオーバーサンプルクロック３周期分のローレベルパルスが重畳する受信シリアルデータ入力をオーバーサンプルクロックでサンプリングする。オーバーサンプルクロックでサンプリング後そのローレベルの期間中、パルス幅検出器２０１内のカウンタでオーバーサンプルクロックによりカウントする。インパルス雑音のカウント値は”３”でリセットされ、”０”になり正規のボーレートパルス幅”５”までカウントアップしない。この結果をパルス幅検出器２０１は制御ビット検出器２０２に伝え、制御ビット検出器２０２はインパルス雑音を除去し、正規のボーレートパルス幅の信号のみをサンプルクロック生成器に入力することができる。これは第１の発明に対し、タップフィルタではなくシリアルデータであることを活かしカウンタにより雑音を検出するので、比較的パルス幅が長い雑音も除去可能である。
【００２４】
第３の発明は、オーバーサンプルクロックを使いデータ位相検出器３０１で、受信シリアルデータ入力の立ち下がりあるいは立ち上がりから各データのスタートビットに対する位相を検出する。この位相信号に基づきサンプルクロックが各データを正確にサンプリングできるよう、すなわち各データに対するサンプルクロックのセットアップ時間及びホールド時間を十分確保するようにサンプルクロック生成器３０２でサンプルクロックを生成する。例えばサンプルクロックは各データの時間的に中心位置をサンプルするようなものであればよく、ｎ番目のシリアルデータに関しても同様に常に中心位置をサンプリングする。よってサンプリングのセットアップエラー及びホールドタイムエラーによる受信不可を常に回避でき非常に安定した受信が可能となる。
【００２５】
第４の発明は、まずボーレート設定用シリアルデータを非同期受信装置で受信する。すなわちローレベルのスタートビットの次のデータＤ０が必ずハイレベルとなるようなシリアルデータである。この設定用シリアルデータをオーバーサンプリングクロックで、Ｄ０のハイレベルパルス幅をカウントするとそのカウント値により、オーバーサンプリングクロック周波数の所定倍の周波数のボーレート周波数であることがわかる。この検出したボーレートを制御ビット検出器１０３、サンプルクロック生成器１０４、シリアルパラレル変換器１０５に入力する。このように自動的にボーレート設定が完了するので、送信側ボーレートが不明の場合でも受信側を同じボーレートに設定可能で、また送信側ボーレートを変更する場合、設定用シリアルデータを送信するだけで受信側ボーレート設定が完了する。
【００２６】
このように、第１の発明、第２の発明、第３の発明、及び第４の発明によれば非同期受信装置を具現化する際、非常に安定したシリアルデータの受信が可能で、工業的価値は極めて大きい。
【図面の簡単な説明】
【図１】第１の発明における非同期受信装置の構成を示すブロック図
【図２】第２の発明における非同期受信装置の構成を示すブロック図
【図３】第３の発明における非同期受信装置の構成を示すブロック図
【図４】第４の発明における非同期受信装置の構成を示すブロック図
【図５】第１の発明における非同期受信装置のタイミングチャート
【図６】第２の発明における非同期受信装置のタイミングチャート
【図７】第３の発明における非同期受信装置のタイミングチャート
【図８】第４の発明における非同期受信装置のタイミングチャート
【図９】従来の非同期受信装置の構成を示すブロック図
【図１０】従来の非同期受信装置のタイミングチャート
【図１１】従来の非同期受信装置のタイミングチャート
【符号の説明】
１０１  受信オーバーサンプルクロック生成器
１０２  雑音除去フィルタ
１０３  制御ビット検出器
１０４  サンプルクロック生成器
２０１  パルス幅検出器
３０１  データ位相検出器
４０１  ボーレート検出器
【図１】
0004439635.tif 000002
【図２】
0004439635.tif 000003
【図３】
0004439635.tif 000004
【図４】
0004439635.tif 000005
【図５】
0004439635.tif 000006
【図６】
0004439635.tif 000007
【図７】
0004439635.tif 000008
【図８】
0004439635.tif 000009
【図９】
0004439635.tif 000010
【図１０】
0004439635.tif 000011
【図１１】
0004439635.tif 000012