(57)【要約】【目的】非同期シリアル通信において、機器間での同期ずれが発生することによる受信データの誤りを防ぐことを目的とする。【構成】調歩同期方式や独立同期方式により複数のデータをシリアル伝送する方式の非同期シリアルデータ通信方法において、ｋ個のサンプリング値に０からｋ−１までの番号を付与するサンプリング番号付与部と、ｋ／２番目のサンプリング値とｋ／２−１番目のサンプリング値を比較するサンプリング値比較部と、前記サンプリング値比較部により２つの値が異なる時にｋ−１番目のサンプリング値を受信データとする代表値決定部と、ｋ−１番目のサンプリング位置をｋ／２番目になるようにサンプリング番号を修正するサンプリング番号修正部からなるシリアル通信方式。【選択図】図７
2010206533.tif 000002
【特許請求の範囲】
【請求項１】
調歩同期方式や独立同期方式により複数のデータをシリアル伝送する方式の非同期シリアルデータ通信方法において、
送信側が送信する信号レートの定数ｋ倍のサンプリングレートで受信する受信部と、
前記受信部が受信したｋ個のサンプリング値に０からｋ−１までの番号を付与するサンプリング番号付与部と、
前記サンプリング番号付与部により番号付けられたｋ／２番目のサンプリング値とｋ／２−１番目のサンプリング値を比較する第１のサンプリング値比較部と、
前記サンプリング番号付与部により番号付けられたｋ／２番目のサンプリング値とｋ／２＋１番目のサンプリング値を比較する第２のサンプリング値比較部と、
前記第１のサンプリング値比較部により２つの値が等しく且つ前記第２のサンプリング値比較部により２つの値が等しいと判定された時にｋ／２番目のサンプリング値を受信データとする第１の代表値決定部と、
前記第１のサンプリング値比較部により２つの値が異なると判定された時にｋ−１番目のサンプリング値を受信データとする第２の代表値決定部と、
前記第２の代表値決定部が作動した場合にｋ−１番目のサンプリング位置をｋ／２番目になるようにサンプリング番号を修正する第１のサンプリング番号修正部と、
前記第２のサンプリング値比較部により２つの値が異なると判定された時に０番目のサンプリング値を受信データとする第３の代表値決定部と、
前記第３の代表値決定部が作動した場合に０番目のサンプリング位置をｋ／２番目になるようにサンプリング番号を修正する第２のサンプリング番号修正部と、
からなることを特徴とするシリアル通信方式。
【請求項２】
前記ｋ個のサンプリング値は、前記第１の代表値決定部か前記第２の代表値決定部か前記第３の代表値決定部のいずれかが動作を完了するまでサンプリング値保存部において保存されることを特徴とする、請求項１に記載のシリアル通信方式。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、異なる機器間での非同期シリアルデータ通信方式に係り、特に、機器間での同期ずれが発生することによる受信データの誤りを防ぐために、同期ずれをリアルタイムに修正する方法に関する。
【背景技術】
【０００２】
例えば複数台使用されているコンピュータシステムなどの場合、平常時は、これらの機器は各々独立して動作しているが、各機器間での例えばモニタデータなど、必要な信号については常時、コンピュータに取り込んでいて、異常の発生に備えているのが通例である。
【０００３】
ところで、このようなモニタ用などの信号の伝送に際して、信号が複数ある場合には、伝送すべき信号を夫々独立して伝送するようにした、いわゆるパラレルデータ通信方法が従来から用いられているが、この場合は、データの数だけ通信チャネルを必要とする。
【０００４】
そこで、データの数にかかわらず、１系統の通信チャネルで済む通信方法として非同期シリアルデータ通信方法があり、さらに、この非同期シリアルデータ通信方法の一種に調歩同期方式のシリアルデータ通信方法がある。
【０００５】
この方法は、スタートビット及びストップビットに応じて受信処理を行い、文字単位で同期をとることができるので、通信エラーが起こった場合にも、伝送される情報全体にわたってエラーが起こる可能性が少ないという利点がある。
【０００６】
例えば特許文献１では、同期を取るためのこれらビットの検出を精度良く行う手段が述べられている。
【０００７】
また、文字単位の同期を取る調歩同期方式とは違い、文章単位で同期を取る方法は独立同期方式と呼ばれている。この方式は同期用の信号が調歩同期方式よりも少なくなるので高速データ通信に適しているが、通信エラーが発生した際の影響が大きくなるという欠点もある。
【０００８】
【特許文献１】特開２００１−１７７５８３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかるに、調歩同期方式にしても独立同期方式にしても、同期用の信号に対して通信エラーが発生した際には、情報の誤りや再送を要求する事態になることが避けられない。また、複雑な通信エラーに対処するための誤り訂正に関する処理量も増加してしまう。
【００１０】
そこで本発明は、同期方式にかかわらず、また、誤り訂正信号の付加などによる、さらなる送信信号レートの上昇を発生させることなく、シリアル通信における同期ずれを補正する方法を示すことを目的とする。
【課題を解決するための手段】
【００１１】
前記課題を解決するために、本発明は、
調歩同期方式や独立同期方式により複数のデータをシリアル伝送する方式の非同期シリアルデータ通信方法において、
送信側が送信する信号レートの定数ｋ倍のサンプリングレートで受信する受信部と、
前記受信部が受信したｋ個のサンプリング値に０からｋ−１までの番号を付与するサンプリング番号付与部と、
前記サンプリング番号付与部により番号付けられたｋ／２番目のサンプリング値とｋ／２−１番目のサンプリング値を比較する第１のサンプリング値比較部と、
前記サンプリング番号付与部により番号付けられたｋ／２番目のサンプリング値とｋ／２＋１番目のサンプリング値を比較する第２のサンプリング値比較部と、
前記第１のサンプリング値比較部により２つの値が等しく且つ前記第２のサンプリング値比較部により２つの値が等しいと判定された時にｋ／２番目のサンプリング値を受信データとする第１の代表値決定部と、
前記第１のサンプリング値比較部により２つの値が異なると判定された時にｋ−１番目のサンプリング値を受信データとする第２の代表値決定部と、
前記第２の代表値決定部が作動した場合にｋ−１番目のサンプリング位置をｋ／２番目になるようにサンプリング番号を修正する第１のサンプリング番号修正部と、
前記第２のサンプリング値比較部により２つの値が異なると判定された時に０番目のサンプリング値を受信データとする第３の代表値決定部と、
前記第３の代表値決定部が作動した場合に０番目のサンプリング位置をｋ／２番目になるようにサンプリング番号を修正する第２のサンプリング番号修正部と、
からなることを特徴とするシリアル通信方式。
【００１２】
また、本発明は、前記ｋ個のサンプリング値は、前記第１の代表値決定部か前記第２の代表値決定部か前記第３の代表値決定部のいずれかが動作を完了するまでサンプリング値保存部において保存されることを特徴とするシリアル通信方式とする。
【発明の効果】
【００１３】
本発明によれば、非同期シリアル通信であるところの調歩同期方式や独立同期方式などの方式に関わらず、同期ずれによる受信データの受信誤りを除去することが可能となり、より高精度な情報通信が可能になる。
【００１４】
また、その際、同期ずれを未然に防ぐような送信レートの上昇などといった処理を行わないため、送信側では特殊な処理を行う必要が無いことも特徴である。
【実施例】
【００１５】
以下、本発明によるシリアルデータ通信方法について、図を用いて詳細に説明する。なお、説明中で用いる「代表値」の意味は、シリアル通信において、ある幅をもった一つの受信データの値Ｄに関して、複数のサンプリング点の中から、受信データの値がＤであると決定づけるサンプリング位置を示すものである。例えば図２において、幅の中央を受信データと決めれば、代表値はｅであるとする。
【００１６】
図１は送信側Ａから受信側Ｂへと伝送しているデータ列Ｄｎ（ｎ＝０，１，２，…）を表している。ＡとＢの同期が合っていれば問題なくＢはデータ列を受信でき、例えば図１に示したＸとＹの範囲内であれば、Ｂはどこでサンプリングをしても良い。
【００１７】
例えばサンプリング位置を決めるにあたって、同期のゆらぎを考慮すると、図１のＸとＹの中間点のデータ値を受信データと定めるのが望ましい。従って、送信側の送信クロックよりも高速な受信サンプリングを行い、一つの受信データ内にａからｉまでの９個のサンプリング点を持つとすると、図２に示すｅの位置が同期ずれを考慮した場合には最良の代表値である。なお、ａ〜ｉといったサンプリング位置のラベルは、受信側に設置したサンプリング番号付与部によって与えられる。
【００１８】
しかし図２におけるｅの位置を代表値として、受信データの値を決定すると決めた場合に、同期がずれると、図３に示すように、ｅの位置がデータの幅の中央位置ではなくなる。
【００１９】
本発明は、図３のように、送信クロックの定数倍のサンプリング周期で受信データをサンプリングする場合において、同期が少しずつずれていく場合に、例えばｅのサンプリング位置とｈのサンプリング位置でサンプリング値が変わってしまうことを利用して、同期ずれを修正するものである。
【００２０】
ここでは一例として、中心位置及び、中心位置から一つだけずれたサンプリング位置の計２点のサンプリング位置におけるサンプリング値が異なる場合に、同期がずれたと判定する手段について説明する。
【００２１】
図４は、代表値ｅと、ｅから一つ先のサンプリング位置ｆの２点のサンプリング位置のサンプリング値が異なる場合を示している。
【００２２】
図４のように２点のサンプリング位置のサンプリング値が異なる場合に、本発明では同期ずれが発生したと判定する。次に、このように同期ずれが発生したと判定された場合に、図５に示すように、代表値をｅからａに変更することによって、さらに同期ずれが進行し、次に到来するシリアルデータの代表値がデータ間の境目付近になってしまうことを未然に防ぐ。
【００２３】
同様に図６は、代表値ｅと、ｅよりも一つ手前のサンプリング位置ｄの２点のサンプリング位置のサンプリング値が異なる場合を示している。この場合には代表値をｅからｉに変更することによって、さらに同期ずれが進行し、次に到来するシリアルデータの代表値がデータ間の境目付近になってしまうことを未然に防ぐ。
【００２４】
図７は本発明に掛かる、ここまで説明した処理に関するフローチャートである。
【００２５】
送信側は送信部７０１にてｎＨｚでシリアルデータ送信を行う。受信側は受信部７０３にて送信側のｋ倍のサンプリング周波数ｎｋＨｚで受信データをサンプリングする。次に受信したデータのサンプリング位置に対して、サンプリング番号付与部７０５において、ｋ個のラベルを与え、それぞれの位置におけるサンプリング値をサンプリング値保存部７０７に保存する。
【００２６】
７０７に保存された値を参照し、第１のサンプリング値比較部７０９でｋ／２とｋ／２−１番目のサンプリング値を比較する。同様に第２のサンプリング値比較部７１１でｋ／２とｋ／２＋１番目のサンプリング値を比較する。
【００２７】
７０９と７１１の両方においてそれぞれ２つのサンプリング値が異ならないと判定された場合には、第１の代表値決定部７１３において、現在の代表値をそのまま次回においても用いると決定する。
【００２８】
７０９において、２つのサンプリング値が異なると判定された場合には、第２の代表値決定部７１５において、ｋ−１番目のサンプリング番号の位置を次回の代表値として用いると決定する。さらに、第１のサンプリング番号修正部において、ｋ−１番目のサンプリング番号がｋ／２番目のサンプリング番号になるように、ｋ個のサンプリング番号を修正する。
【００２９】
７１１において、２つのサンプリング値が異なると判定された場合には、第３の代表値決定部７１９において、０番目のサンプリング番号の位置を次回の代表値として用いると決定する。さらに、第２のサンプリング番号修正部において、０番目のサンプリング番号がｋ／２番目のサンプリング番号になるように、ｋ個のサンプリング番号を修正する。
【００３０】
７１３、７１５、７１９において決定された代表値のサンプリング値を最終的に決定されたサンプリング値とし、データ伝送部７２３から受信機内のデータ処理部へ伝送される。以下、データを受信すると前記一連の処理を繰り返し実行する。
【００３１】
全体の処理ブロック図を図８に示す。受信端子８０１からデータを受信すると、ｋ倍サンプリング部８０３で送信側の送信周波数のｋ倍で受信データをサンプリングし、ｋ個のサンプリング値のどれを受信データとするかを代表値決定部８０５で決定し、選択されたサンプリング値をデータ処理装置８０７に伝送する。
【００３２】
代表値決定部８０５のさらに詳細な処理ブロック図を図９に示す。サンプリング番号付与部９０１によって前記ｋ個のサンプリング位置にラベルを与え、サンプリング値比較部９０３によって、ｋ個の中心及び近接する前あるいは近接する後ろのサンプリング値を比較する。
【００３３】
同期ずれ決定部９０５において前記９０３の比較の結果を参照し、２つの値が異なっていたら同期ずれが発生したと判定する。次に、同期ずれ補正部９０７は、ｋ／２番目とｋ／２−１番目の値が異なっていたのか、あるいは、ｋ／２番目とｋ／２＋１番目の値が異なっていたのかによって代表値を移動し、代表値出力部９０９によって伝送される。
【００３４】
以上説明したように、本発明によれば、同期ずれが少しずつ大きくなり、結果として受信データが誤ってしまうことを、代表値の修正を逐次行う事により、未然に防ぐことが可能となる。
【００３５】
なお、本実施例においては、例えば第１のサンプリング値比較部７０９及び、第２のサンプリング値比較部７１１において、比較する２点を、中心部とその１つ前後として説明したが、中心部からの距離は１に限定しない。
【００３６】
また、本実施例においては、第２の代表値決定部７１５及び第１のサンプリング番号修正部において、ｋ−１番目のサンプリング位置を取り上げているが、ｋ個のサンプリング点の一番端であると限定するものではない。
【００３７】
また、本実施例においては、第３の代表値決定部７１９及び第２のサンプリング番号修正部において、０番目のサンプリング位置を取り上げているが、ｋ個のサンプリング点の一番端であると限定するものではない。
【図面の簡単な説明】
【００３８】
【図１】シリアル通信の送受信データ列
【図２】シリアル通信におけるある一つのデータ
【図３】同期ずれが発生した場合の例
【図４】同期ずれによるサンプリング位置とサンプリング値への影響
【図５】代表値の修正１
【図６】代表値の修正２
【図７】処理フローチャート
【図８】処理ブロック図１
【図９】処理ブロック図２
【符号の説明】
【００３９】
７０１…送信部、  ７０３…受信部、  ７０５…サンプリング番号付与部、
７０７…サンプリング値保存部、  ７０９…第１のサンプリング値比較部、
７１１…第２のサンプリング値比較部、  ７１３…第１の代表値決定部、
７１５…第２の代表値決定部、  ７１７…第１のサンプリング番号修正部、
７１９…第３の代表値決定部、  ７２１…第２のサンプリング番号修正部、
７２３…データ伝送部、
８０１…受信端子、  ８０３…ｋ倍サンプリング部、
８０５…代表値決定部、  ８０７…データ処理装置、
９０１…サンプリング番号付与部、  ９０３…サンプリング値比較部、
９０５…同期ずれ判定部、  ９０７…同期ずれ補正部、
９０９…代表値出力部。
【図１】
2010206533.tif 000003
【図２】
2010206533.tif 000004
【図３】
2010206533.tif 000005
【図４】
2010206533.tif 000006
【図５】
2010206533.tif 000007
【図６】
2010206533.tif 000008
【図７】
2010206533.tif 000009
【図８】
2010206533.tif 000010
【図９】
2010206533.tif 000011