(57)【要約】【課題】シリアル通信装置のパルス発振回路に、精度は悪いが安価なＣＲ発振回路を用いてコストの低減を図りながら、シリアル通信装置間の通信は正常に行われるようにする。【解決手段】８ビットのデータビットの内後方の３ビットＤ５〜Ｄ７を“Ｈ”に固定して送信することにより、ＣＲ発振回路の発振周波数が正常値よりもずれた場合でも、Ｄ５〜Ｄ７の部分あるいはアイドル状態部でストップビットを検出できるようにし、データビット内のＤ４を分割したデータの上位／下位関係を識別できるようにして送信することにより、通信異常で１フレーム欠落した場合でも、以降のデータを正しく復元することができるようにした。【選択図】図５
2014236404.tif 000002
【特許請求の範囲】
【請求項１】
通信線または無線によって他の通信装置と調歩同期式にてシリアルデータを送受信する通信用の回路を備えた通信装置であって、送信データのデータビット内に上位／下位関係を識別するビットを備え、データ長から１ビット減算したビット以下の予め決められた後方の数ビットをＬレベルまたはＨレベルのいずれか一方に固定して送信することを特長とするシリアル通信装置。
【請求項２】
前記通信装置は、前記送信データをＬレベルまたはＨレベルに固定しない前方の数ビットに分割して送信することを特徴とする請求項１記載のシリアル通信装置。
【請求項３】
前記通信装置は、分割して送信されたデータを分割された回数受信し、前記前方の数ビットと上位／下位識別ビットから元のデータを復元することを特徴とする請求項２に記載のシリアル通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シリアル通信によってデータを送受信するシリアル通信装置に関するものである。
【背景技術】
【０００２】
従来この種のシリアル通信装置はマスタとスレーブとに別れており、マスタとスレーブはシリアル通信で結ばれている。その通信方式としては、調歩同期方式が選択されている。調歩同期方式は、マスタとスレーブの双方に一定周波数のパルスを発生する発振回路を設け、それによりタイミングを取って通信を行う。
【０００３】
図１１は、従来のシリアル通信装置の概略構成図である。マスタ１は、通信ライン４を介して、スレーブ２と通信を行う。マスタ１、スレーブ２は、それぞれＣＰＵ１１、ＣＰＵ２１により通信が行われるが、それらには発振回路１５、２５が設けられていて、それぞれ一定周波数のパルスを発生するようにしている。
【０００４】
図１２はマスタ１からスレーブ２、またはスレーブ２からマスタ１へデータを送信する場合のフォーマットである。通信速度が４８００ｂｐｓである場合、１ビットの時間は、１÷４８００≒２０８．３μ秒となる。すなわち、２０８．３μ秒毎に、順にスタートビット（“Ｌ”固定）、データビットＤ０〜Ｄ７、ストップビット（“Ｈ”固定）を出力していく。
【０００５】
図１３は従来のシリアル通信装置の受信データのサンプリングタイミングを示す図である。データを受信するには、図１２に示すように、スタートビットの立下りエッジを検出した後、ノイズ等の影響で一時的に“Ｌ”になった場合を排除するため、２０８．３μ秒の１／２、すなわち、１０４．１５μ秒が経過した時点でスタートビットが“Ｌ”になっているか否かをチェックする。その後、２０８．３μ秒毎にデータビットＤ０〜Ｄ７、ストップビットが“Ｈ”であれば、正しいデータとして処理する。
【０００６】
マスタとスレーブはそれぞれ異なる発振回路を用いているため、発振回路から出力されるパルスに時間的な誤差があると正常に通信ができなくなる。上記パルスの時間的な誤差が約±２．５％を超えると、サンプリングのタイミングがずれてしまって通信が成り立たなくなる。例えばスレーブの発振回路に安価なＣＲ発振回路を用いた場合、ＣＲ発振回路は、周囲温度等の影響を受けて、発振周波数が大きく変動し、そのため通信速度が規定値より変化し、マスタとスレーブ間で通信できなくなる可能性が大きくなる。
【０００７】
通信速度を遅くすることにより、通信が正常に行われるようになると考えられるかもしれないが、通信の元になる発振周波数の変動が要因であるため、通信速度を２４００ｂｐｓと遅く変更しても改善するものではない。
【０００８】
図１４は従来のシリアル通信装置において改良した通信フォーマットを示した図である。図１４においてスタートビットを２ビット準備し、その後にデータビットＤ０〜Ｄ７、ストップビットを出力するようにし、マスタから送信されたデータをスレーブが受信する際に、ＣＰＵ２１は受信したスタートビット１のエッジ間隔を測定し、それの間隔に基づいてＣＲ発振を修正し、通信できるようにしている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開平１１−１２０４２４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、前記従来の方式では、スタートビット１の間隔を測定する必要があるため、それを測定するための特別な機能を搭載したＣＰＵが必要になるという課題があった。また通常のＣＰＵの機能では非同期通信のフォーマットは決まっており、スタートビットは１ビット、データビットは７ビットまたは８ビット、パリティビットは無し、または１ビット（偶数パリティ、奇数パリティ）、ストップビットは１ビットまたは２ビットであり、スタートビットを２ビットにすることは通常のＣＰＵではできないため特別なＣＰＵが必要となり、ＣＰＵが高価になるという課題があった。
【００１１】
本発明は、前記従来の課題を解決するもので、発振精度は低いが安価なＣＲ発振回路及び通常のＣＰＵを用いてコストの低減を図りながら、マスタとスレーブの間の通信は正常に行われるようにすることを目的とするものである。
【課題を解決するための手段】
【００１２】
前記従来の課題を解決するため、本発明のシリアル通信装置は、通信線または無線によって他の通信装置と調歩同期式にてシリアルデータを送受信する通信用の回路を備えた通信装置であって、送信データのデータビット内に上位／下位関係を識別するビットを持ち、データ長から１ビット減算したビット以下の予め決められた後方の数ビットをＬレベルまたはＨレベルのいずれか一方に固定して送信することを特長とする。このようにすると安価なＣＲ発振回路を用いてコスト低減を図りながら、発振周波数が大きく変動した場合に、ストップビットおよびストップビットに近いデータビットで正規のサンプリングができなくても、予め決められた後方の数ビット分をストップビットとして認識できるようになるため、通信を正常に行うことができる。
【００１３】
また、分割したデータの上位／下位関係を識別できるようにして送受信しているため、通信異常で１フレーム欠落した場合でも、データ復元時にフレーム欠落を検出することができるため、以降のデータを正しく復元することができる。
【００１４】
また本発明のシリアル通信装置は、通信線または無線によって他の通信装置と調歩同期式にてシリアルデータを送受信する通信用の回路を備えた通信装置であって、通信のためのＣＰＵ、前記ＣＰＵに発振周波数を供給するためのＣＲ発振回路、前記ＣＲ発振回路周辺の温度を測定するための検出素子を備え、前記温度検出素子で検出される温度に応じて通信速度設定を補正することにより、通信を正常に行うことができる。
【発明の効果】
【００１５】
本発明のシリアル通信装置は、安価ながら発振周波数の変動が大きいＣＲ発振回路を使用しても正常に通信することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の第１実施形態におけるシリアル通信装置の概略構成図
【図２】同シリアル通信装置の通信フォーマットを示す図
【図３】同シリアル通信装置の受信データのサンプリングタイミングを示す図
【図４】同シリアル通信装置の送信データを示す図
【図５】同シリアル通信装置の実際の送信データを示す図
【図６】同シリアル通信装置において、マスタの発振周波数が変化した場合のスレーブのサンプリングのタイミングを示す図
【図７】同シリアル通信装置のにおいて、スレーブが受信したデータを復元した状態を示す図
【図８】同シリアル通信装置において、アイドル状態の論理が“Ｌ”の場合の送信データを示す図
【図９】本発明の第２実施形態におけるシリアル通信装置の概略構成図
【図１０】同シリアル通信装置のＣＲ発振回路の温度と発振精度との関係を示した図
【図１１】従来のシリアル通信装置の概略図
【図１２】同シリアル通信装置の通信フォーマットを示す図
【図１３】同シリアル通信装置の受信データのサンプリングタイミングを示す図
【図１４】従来の他のシリアル通信装置の通信フォーマットを示す図
【発明を実施するための形態】
【００１７】
以下、本発明の形態を図面に基づいて詳細に説明する。
【００１８】
（実施の形態１）
図１は実施形態１の概略構成図である。マスタ１は通信を行うためのＣＰＵ１１とＣＲ発振回路１２とバッファ１３を備え、同様にスレーブ２は通信を行うためのＣＰＵ２１とＣＲ発振回路２２とバッファ２３を備え、互いに通信ライン４を介して通信する。
【００１９】
図２は通信フォーマットである。スタートビットが１ビット、データビットＤ０〜Ｄ７が８ビット、ストップビット（“Ｈ”固定）で１ビットである。また通信していない期間、通信アイドル時は“Ｈ”とする。図２は従来の通信フォーマットを示す図１２と同じであるため説明を省く。
【００２０】
図３は通信速度が４８００ｂｐｓの場合の受信のサンプリングタイミングを示す図である。図３は従来の受信のサンプリングタイミングを示す図１３と同じであるため説明を省く。
【００２１】
図４のデータ３０は、マスタあるいはスレーブから送信する際の８ビットデータである。図５は通信フォーマットに実際にデータを送信する場合を示す図である。通信はデータを最小ビットから順番に送信していく。データビットのＤ４は送信データの上位／下位関係を識別するためのビットであり、Ｄ５〜Ｄ７は“Ｈ”固定する。
【００２２】
マスタからスレーブにデータ３０を送る場合について説明する。マスタはデータ３０を送信する際、データを上位４ビット、下位４ビットの順に２回に分けて送信する。最初にデータ３０の上位４ビットのＡ７〜Ａ４を通信フォーマットのデータビットＤ３〜Ｄ０に入れ、Ｄ４には先ほどセットしたデータが上位４ビットであることを識別するため“Ｈ”を入れ、Ｄ７〜Ｄ５は“Ｈ”固定にして送信する。スレーブは受信したデータのＤ７〜Ｄ５は破棄して、Ｄ４から上位４ビットと判断し、Ｄ３〜Ｄ０を８ビットのバッファの上位４ビットにセットする。
【００２３】
次にマスタはデータ３０の下位４ビットのＡ３〜Ａ０を通信フォーマットのデータビットＤ３〜Ｄ０に入れ、Ｄ４には先ほどセットしたデータが下位４ビットであることを識別するため“Ｌ”を入れ、Ｄ７〜Ｄ５は“Ｈ”固定にして送信する。スレーブは受信したデータのＤ７〜Ｄ５は破棄して、Ｄ４から下位４ビットと判断し、Ｄ３〜Ｄ０を前記８ビットのバッファの下位４ビットにセットする。このようにスレーブはマスタよりデータ３０を２回で受信することができる。
【００２４】
図６は第１実施形態においてマスタの発振周波数が変化した場合のスレーブのサンプリングのタイミングを示す図である。説明の簡略化のためにスレーブの発振周波数は正常であるとする。（ａ）はマスタの発振周波数が正常の場合、（ｂ）はマスタの発振周波数が
正常値より低い場合、（ｃ）はマスタの発振周波数が正常値よりも高い場合である。
【００２５】
スレーブのサンプリングタイミングは通信速度が４８００ｂｐｓの場合、矢印のタイミングでサンプリングを行う。スレーブにおいて実施されるスタートビットのサンプリングタイミングをＴＳＴＡＲＴ、データビットＤ０〜Ｄ７のサンプリングタイミングをそれぞれＴ０〜Ｔ７、ストップビットのサンプリングタイミングをＴＳＴＯＰとする。
【００２６】
図６（ａ）の場合にはデータビットＤ０〜Ｄ７およびストップビットの中央でサンプリングできている。図６（ｂ）の場合には、ストップビットの受信タイミングでサンプリングが行われず、データビットＤ７でＴ７とＴＳＴＯＰのサンプリングが２回行われている。この場合Ｄ７は“Ｈ”であるため、本来のストップビットのサンプリングではないが、スレーブではストップビットとして正常に認識される。このように送信側の発振周波数が低い場合でもＤ４〜Ｄ７が“Ｈ”固定であるため、受信側でストップビットのサンプリングＴＳＴＯＰがずれてＤ４の受信タイミングでサンプリングが実施されてもストップビットが正常に認識され、正常にデータ受信できる。
【００２７】
また図６（ｃ）の場合には、ストップビットの受信タイミングでサンプリングが行われず、アイドル状態で行われている。この場合、アイドル状態では“Ｈ”であるため、本来のストップビットのサンプリングではないが、ストップビットとして正常に認識される。
【００２８】
このように送信側の発振周波数が高い場合でもアイドル状態が“Ｈ”固定であるため、ストップビットのサンプリングＴＳＴＯＰがずれてアイドル状態サンプリングが実施されてもストップビットが正常に認識され、正常にデータ受信できる。
【００２９】
受信側の発振周波数が正常で、データビットＤ４〜Ｄ７が“Ｈ”固定の場合、受信側で正常にデータを受信できる送信側の発振周波数の許容誤差は、±４．５％であり、前記従来の通信フォーマットの許容誤差±２．５％よりも大幅に発振周波数の誤差を許容できる。
【００３０】
またデータビットＤ１〜Ｄ７の７ビットを“Ｈ”固定にすると前記発振周波数の許容誤差は±８．９％まで拡大できる。このようにデータビットの送信する際の後方の“Ｈ”に固定するビット数を増やすと許容できる発振周波数の誤差は拡大する。
【００３１】
図７は第１実施形態においてスレーブが受信したデータを復元した状態を示す図である。（ａ）はデータ受信が正常だった場合、（ｂ）は通信異常により元データの下位４ビット情報を持つフレームが欠落した場合である。図８（ａ）の場合には正常にデータ受信されているため、正常にデータを復元できる。図８（ｂ）の場合には、下位４ビットの情報が含まれるフレームが欠落しているため、次に受信したデータは次の８ビットデータの上位４ビットである。このままデータ復元を行うと８ビットのバッファの下位４ビットにセットされてしまい、以降のデータが４ビット毎ずれて結合されていってしまう。そこで、上位／下位識別ビットを確認しながらデータ復元行うことで下位４ビットが欠落していることを検出できるため、バッファにセットしてあるデータを一旦破棄し、次の上位４ビットとしてバッファに再度セットすることで以降のデータを正常に復元することができる。
【００３２】
なお、上記第１実施形態では、Ｄ５〜Ｄ７を“Ｈ”に固定したが、ＣＲ発振回路のずれ量によっては“Ｈ”に固定するビット数を変えても良い。“Ｈ”に固定するビット数を増やすと発振のずれを許容する量は増加する。
【００３３】
また、上記第１実施形態では、スレーブを１つとしたが、スレーブが複数あっても良い。なお、上記第１実施形態では、Ｄ５〜Ｄ７を“Ｈ”固定としたが、図８に示すようにア
イドル状態の論理が“Ｌ”の場合には“Ｌ”に固定する。
【００３４】
なお、上記第１実施形態では、データビット長が８ビットであるが、データビット長は７ビットでも良い。データビット長が７ビットの場合、“Ｈ”または“Ｌ”に固定するビット長は６ビット以下とする。
【００３５】
なお、上記第１実施形態では、上位／下位識別ビットの上位４ビットを“Ｈ”、下位４ビットを“Ｌ”としたが、上位４ビットを“Ｌ”、下位４ビットを“Ｈ”としても良い。また、上記第１実施形態では、上位／下位識別ビットを設けているが、このビットを無くし"Ｈ"または"Ｌ"に固定するビットとしても良い。
（実施の形態２）
図９は第２実施形態の概略図である。マスタ１およびスレーブ２のそれぞれには、ＣＲ発振回路周辺の温度を検出するためのサーミスタ１４および２４が搭載されている。電圧とＧＮＤ間にサーミスタは抵抗と直列に接続され、その接続部はＣＰＵのＡＤ変換器に接続され、電圧を検出できるようになっており、電圧に応じた温度の検出が可能である。
【００３６】
図１０はＣＲ発振回路の温度と発振精度との関係を示した図である。この情報をテーブル化してＣＰＵ内部に保持する。
【００３７】
検出温度が１００℃の場合だとＣＲ発振回路の発振周波数が１０％増加するため、補正しない場合はＣＰＵの通信速度設定が４８００ｂｐｓの設定でも実際には４８４８ｂｐｓとなるため、サーミスタによりＣＲ発振回路周辺の温度を検出し、例えば１００℃を検出した場合には、通信速度の設定を４８００（ｂｐｓ）÷（１００＋１０）［％］＝４３６４ｂｐｓに設定することにより、実際の通信速度は４８００ｂｐｓとなり、正常に通信が可能となる。
【００３８】
また検出温度が−５０℃の場合だとＣＲ発振回路の発振周波数が５％減少するため、補正しない場合はＣＰＵの通信速度設定が４８００ｂｐｓの設定でも実際には４５６０ｂｐｓとなるため、サーミスタによりＣＲ発振回路周辺の温度を検出し、例えば１００℃を検出した場合には、通信速度の設定を４８００（ｂｐｓ）÷（１００−５）［％］＝５０５３ｂｐｓに設定することにより、実際の通信速度は４８００ｂｐｓとなり、正常に通信が可能となる。
【００３９】
なお、ＣＲ発振回路、温度検出素子はＣＰＵ内部にあっても良い。
【産業上の利用可能性】
【００４０】
以上のように本発明のシリアル通信装置は、回路が安価にできるため、回路を搭載し、通信を行うモータ等の用途にも適用できる。
【符号の説明】
【００４１】
１  マスタ
２  スレーブ
１１、２１  ＣＰＵ
１２、２２  ＣＲ発振回路
１３、２３  バッファ
１４、２４  サーミスタ
１５、２５  発振回路
３０  データ
【図１】
2014236404.tif 000003
【図２】
2014236404.tif 000004
【図３】
2014236404.tif 000005
【図４】
2014236404.tif 000006
【図５】
2014236404.tif 000007
【図６】
2014236404.tif 000008
【図７】
2014236404.tif 000009
【図８】
2014236404.tif 000010
【図９】
2014236404.tif 000011
【図１０】
2014236404.tif 000012
【図１１】
2014236404.tif 000013
【図１２】
2014236404.tif 000014
【図１３】
2014236404.tif 000015
【図１４】
2014236404.tif 000016