(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6035511
(24)【登録日】2016年11月11日
(45)【発行日】2016年11月30日
(54)【発明の名称】シリアル通信方法、シリアル通信装置およびシリアル通信システム
(51)【国際特許分類】
H04L 25/38 20060101AFI20161121BHJP
H04L 7/04 20060101ALI20161121BHJP
H04L 25/40 20060101ALI20161121BHJP
【FI】
H04L25/38 B
H04L7/04 400
H04L25/40 E
【請求項の数】9
【全頁数】10
(21)【出願番号】特願2012-129559(P2012-129559)
(22)【出願日】2012年6月7日
(65)【公開番号】特開2013-255088(P2013-255088A)
(43)【公開日】2013年12月19日
【審査請求日】2015年3月9日
(73)【特許権者】
【識別番号】314012076
【氏名又は名称】パナソニックIPマネジメント株式会社
(74)【代理人】
【識別番号】100106116
【弁理士】
【氏名又は名称】鎌田 健司
(74)【代理人】
【識別番号】100170494
【弁理士】
【氏名又は名称】前田 浩夫
(72)【発明者】
【氏名】横内 保行
(72)【発明者】
【氏名】加藤 康司
(72)【発明者】
【氏名】園田 大輔
【審査官】
阿部 弘
(56)【参考文献】
【文献】
特開平05−063690(JP,A)
【文献】
特開平09−069773(JP,A)
【文献】
特開平04−119045(JP,A)
【文献】
特開昭61−140259(JP,A)
【文献】
国際公開第2008/097613(WO,A1)
【文献】
特開平11−120424(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 25/38
H04L 7/04
H04L 25/40
(57)【特許請求の範囲】
【請求項1】
通信線または無線によってマスタまたはスレーブとなる通信装置間を調歩同期式にてシリアルデータを送受信するシリアル通信方法であって、
前記マスタは、送信データのデータ長から1ビット減算したビット以下の予め決められた最下位の1ビットまたは最下位から連続した後方の数ビット以上をストップビットのLレベルまたはHレベルに合わせてLレベルまたはHレベルのいずれか一方に固定し、
前記送信データをLレベルまたはHレベルに固定しない前方の数ビットに分割してデータを送信し、
前記スレーブは、分割して送信された前記データを分割された回数受信し、前記前方の数ビットから元のデータを復元することを特徴とするシリアル通信方法。
【請求項2】
通信のためのCPUと、前記CPUに発振周波数を供給するための発振回路と、前記発振回路周辺の温度を測定するための温度検出素子とによって、前記温度検出素子で検出される温度に応じて前記発振回路の発振精度を補正することにより、通信速度を補正することを特徴とする請求項1に記載のシリアル通信方法。
【請求項3】
前記温度検出素子で検出される温度と前記発振回路の発振精度との関連をテーブル化して前記CPU内部に保持し、前記温度に応じて前記発振回路の発振精度を補正することにより、通信速度を補正することを特徴とする請求項2記載のシリアル通信方法。
【請求項4】
CPUとコンデンサおよび抵抗による発振回路と調歩同期式のシリアルデータを送受信する通信回路とを備えた通信装置であって、
前記発信回路は、前記CPUに前記シリアルデータ用の発振周波数を供給し、
前記CPUと前記通信回路は、前記シリアルデータを送信する場合は、この送信する送信データのデータ長から1ビット減算したビット以下の予め決められた最下位の1ビットまたは最下位から連続した後方の数ビット以上をストップビットのLレベルまたはHレベルに合わせてLレベルまたはHレベルのいずれか一方に固定し、前記送信データをLレベルまたはHレベルに固定しない前方の数ビットに分割して送信し、
また、前記シリアルデータを受信する場合は、分割して送信されたデータを分割された
回数受信し、前記前方の数ビットから元のデータを復元することを特徴とする通信装置。
【請求項5】
前記発振回路周辺の温度を測定するための温度検出素子をさらに備え、前記温度検出素子で検出される温度に応じて前記発振回路の発振精度を補正することにより、通信速度を補正することを特徴とする請求項4に記載のシリアル通信装置。
【請求項6】
前記温度検出素子で検出される温度と前記発振回路の発振精度との関連をテーブル化して前記CPU内部に保持し、前記温度に応じて前記発振回路の発振精度を補正することにより、通信速度を補正することを特徴とする請求項5記載のシリアル通信装置。
【請求項7】
通信線または無線とマスタとなる通信装置とスレーブとなる通信装置とを備え、調歩同期式にてシリアルデータを前記通信線または前記無線を介して送受信するシリアル通信システムであって、
前記マスタは、送信データのデータ長から1ビット減算したビット以下の予め決められた最下位の1ビットまたは最下位から連続した後方の数ビット以上をストップビットのLレベルまたはHレベルに合わせてLレベルまたはHレベルのいずれか一方に固定し、
前記送信データをLレベルまたはHレベルに固定しない前方の数ビットに分割してデータを送信し、
前記スレーブは、分割して送信された前記データを分割された回数受信し、前記前方の数ビットから元のデータを復元することを特徴とするシリアル通信システム。
【請求項8】
通信のためのCPUと、前記CPUに発振周波数を供給するための発振回路と、前記発振回路周辺の温度を測定するための温度検出素子とによって、前記温度検出素子で検出される温度に応じて前記発振回路の発振精度を補正することにより、通信速度を補正することを特徴とする請求項7に記載のシリアル通信システム。
【請求項9】
前記温度検出素子で検出される温度と前記発振回路の発振精度との関連をテーブル化して前記CPU内部に保持し、前記温度に応じて前記発振回路の発振精度を補正することにより、通信速度を補正することを特徴とする請求項8記載のシリアル通信システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、シリアル通信によってデータを送受信するシリアル通信
、シリアル通信装置およびシリアル通信システムに関するものである。
【背景技術】
【0002】
従来この種のシリアル通信装置はマスタとスレーブとに別れており、マスタとスレーブはシリアル通信で結ばれている。その通信方式としては、調歩同期方式が選択されている。調歩同期方式は、マスタとスレーブの双方に一定周波数のパルスを発生する発振回路を設け、それによりタイミングを取って通信を行う。
【0003】
図10は、従来のシリアル通信装置の概略構成図である。マスタ1は、通信ライン4を介して、スレーブ2と通信を行う。マスタ1、スレーブ2は、それぞれCPU11、CP
U21により通信が行われるが、それらには発振回路15、25が設けられていて、それぞれ一定周波数のパルスを発生するようにしている。
【0004】
図11はマスタ1からスレーブ2、またはスレーブ2からマスタ1へデータを送信する場合のフォーマットである。通信速度が4800bpsである場合、1ビットの時間は、1÷4800≒208.3μ秒となる。すなわち、208.3μ秒毎に、順にスタートビット(“L”固定)、データビットD0〜D7、ストップビット(“H”固定)を出力していく。
【0005】
図12は従来のシリアル通信装置の受信データのサンプリングタイミングを示す図である。データを受信するには、
図12に示すように、スタートビットの立下りエッジを検出した後、ノイズ等の影響で一時的に“L”になった場合を排除するため、208.3μ秒の1/2、すなわち、104.15μ秒が経過した時点でスタートビットが“L”になっているか否かをチェックする。その後、208.3μ秒毎にデータビットD0〜D7、ストップビットが“H”であれば、正しいデータとして処理する。
【0006】
マスタとスレーブはそれぞれ異なる発振回路を用いているため、発振回路から出力されるパルスに時間的な誤差があると正常に通信ができなくなる。上記パルスの時間的な誤差が約±2.5%を超えると、サンプリングのタイミングがずれてしまって通信が成り立たなくなる。例えばスレーブの発振回路に安価なCR発振回路を用いた場合、CR発振回路は、周囲温度等の影響を受けて、発振周波数が大きく変動し、そのため通信速度が規定値より変化し、マスタとスレーブ間で通信できなくなる可能性が大きくなる。
【0007】
通信速度を遅くすることにより、通信が正常に行われるようになると考えられるかもしれないが、通信の元になる発振周波数の変動が要因であるため、通信速度を2400bpsと遅く変更しても改善するものではない。
【0008】
図13は従来のシリアル通信装置において改良した通信フォーマットを示した図である。
図13においてスタートビットを2ビット準備し、その後にデータビットD0〜D7、ストップビットを出力するようにし、マスタから送信されたデータをスレーブが受信する際に、CPU21は受信したスタートビット1のエッジ間隔を測定し、それの間隔に基づいてCR発振を修正し、通信できるようにしている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開平11−120424号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
しかしながら、前記従来の方式では、スタートビット1の間隔を測定する必要があるため、それを測定するための特別な機能を搭載したCPUが必要になるという課題があった。また通常のCPUの機能では非同期通信のフォーマットは決まっており、スタートビットは1ビット、データビットは7ビットまたは8ビット、パリティビットは無し、または1ビット(偶数パリティ、奇数パリティ)、ストップビットは1ビットまたは2ビットであり、スタートビットを2ビットにすることは通常のCPUではできないため特別なCPUが必要となり、CPUが高価になるという課題があった。
【0011】
本発明は、前記従来の課題を解決するもので、発振精度は低いが安価なCR発振回路及び通常のCPUを用いてコストの低減を図りながら、マスタとスレーブの間の通信は正常に行われるようにすることを目的とするものである。
【課題を解決するための手段】
【0012】
前記従来の課題を解決するため、本発明のシリアル通信
方法は、通信線または無線によって他の通信装置と調歩同期式にてシリアルデータを送受信する通信用の回路を備えた通信装置であって、送信データのデータ長から1ビット減算したビット以下の予め決められた後方の数ビットをLレベルまたはHレベルのいずれか一方に固定して送信することを特徴とする。
【0013】
このようにすると安価なCR発振回路を用いてコスト低減を図りながら、発振周波数が大きく変動した場合に、ストップビットおよびストップビットに近いデータビットで正規のサンプリングができなくても、予め決められた後方の数ビット分をストップビットとして認識できるようになるため、通信を正常に行うことができる。
【発明の効果】
【0014】
本発明のシリアル通信
方法、シリアル通信装置およびシリアル通信システムは、安価ながら発振周波数の変動が大きいCR発振回路を使用しても正常に通信することができる。
【図面の簡単な説明】
【0015】
【
図1】本発明の第1実施形態におけるシリアル通信装置の概略構成図
【
図2】同シリアル通信装置の通信フォーマットを示す図
【
図3】同シリアル通信装置の受信データのサンプリングタイミングを示す図
【
図5】同シリアル通信装置の実際の送信データを示す図
【
図6】同シリアル通信装置においてマスタの発振周波数が変化した場合のスレーブのサンプリングのタイミングを示す図
【
図7】同シリアル通信装置においてアイドル状態の論理が“L”の場合の送信データを示す図
【
図8】本発明の第2実施形態におけるシリアル通信装置の概略構成図
【
図9】同シリアル通信装置のCR発振回路の温度と発振精度との関係を示した図
【
図11】同シリアル通信装置の通信フォーマットを示す図
【
図12】同シリアル通信装置の受信データのサンプリングタイミングを示す図
【
図13】従来の他のシリアル通信装置の通信フォーマットを示す図
【発明を実施するための形態】
【0016】
本発明のシリアル通信
方法、シリアル通信装置およびシリアル通信システムは、通信線または無線によって他の通信装置と調歩同期式にてシリアルデータを送受信する通信用の回路を備えた通信
方法であって、送信データのデータ長から1ビット減算したビット以下の予め決められた後方の数ビットをLレベルまたはHレベルのいずれか一方に固定して送信することを特長とする。
【0017】
前記通信
方法、シリアル通信装置およびシリアル通信システムは、前記送信データをLレベルまたはHレベルに固定しない前方の数ビットに分割して送信することが望ましい。
【0018】
また前記通信
方法、シリアル通信装置およびシリアル通信システムは、分割して送信されたデータを分割された回数受信し、前記前方の数ビットから元のデータを復元するようにすることが望ましい。
【0019】
このようにすると安価なCR発振回路を用いてコスト低減を図りながら、発振周波数が大きく変動した場合に、ストップビットおよびストップビットに近いデータビットで正規
のサンプリングができなくても、予め決められた後方の数ビット分をストップビットとして認識できるようになるため、通信を正常に行うことができる。
【0020】
また、本発明のシリアル通信
方法、シリアル通信装置およびシリアル通信システムは、通信のためのCPU、前記CPUに発振周波数を供給するための発振回路、前記発振回路周辺の温度を測定するための検出素子を備え、前記温度検出素子で検出される温度に応じて発振回路の発振精度を補正することにより、通信速度を補正するようにすることが望ましい。
【0021】
また前記温度検出素子で検出される温度と発振回路の発振精度との関連をテーブル化してCPU内部に保持し、前記温度に応じて発振回路の発振精度を補正することにより、通信速度を補正することが望ましい。
【0022】
以下、本発明の形態を図面に基づいて詳細に説明する。
【0023】
(実施の形態1)
図1は、第1実施形態におけるシリアル通信装置の概略構成図である。マスタ1は通信ライン4を介して、スレーブ2と通信を行う。マスタ1およびスレーブ2には通信を行うためのCPU11、21と、CR発振回路12、22と、バッファ13、23を備える。
【0024】
図2は通信フォーマットである。スタートビットが1ビット、データビットD0〜D7が8ビット、ストップビット(“H”固定)で1ビットである。また通信していない期間、通信アイドル時は“H”とする。
図2は従来の通信フォーマットであるが、
図11と同じであるため説明を省く。
【0025】
図3は通信速度が4800bpsの場合の受信のサンプリングタイミングを示す図である。
図3は従来の受信のサンプリングタイミングを示す
図12と同じであるため、ここでの説明を省く。
【0026】
図4の30はマスタあるいはスレーブから送信する際の8ビットデータである。
図5は通信フォーマットに実際にデータを送信する場合を示す図である。通信はデータを最小ビットから順番に送信していく。データビットのD4〜D7は“H”固定する。
【0027】
マスタからスレーブにデータ30を送る場合について説明する。マスタはデータ30を送信する際、データを上位4ビット、下位4ビットの順に2回に分けて送信する。最初にデータ30の上位4ビットのA7〜A4を通信フォーマットのデータビットD3〜D0に入れ、D7〜D4は“H”固定にして送信する。スレーブは受信したデータのD7〜D4は破棄して、D3〜D0を8ビットのバッファの上位4ビットにセットする。
【0028】
次にマスタはデータ30の下位4ビットのA3〜A0を通信フォーマットのデータビットD3〜D0に入れ、D7〜D4は“H”固定にして送信する。スレーブは受信したデータのD7〜D4は破棄して、D3〜D0を前記8ビットのバッファの下位4ビットにセットする。このようにスレーブはマスタよりデータ30を2回で受信することができる。
【0029】
図6は第1実施形態においてマスタの発振周波数が変化した場合のスレーブのサンプリングのタイミングを示す図である。説明の簡略化のためにスレーブの発振周波数は正常であるとする。(a)はマスタの発振周波数が正常の場合、(b)はマスタの発振周波数が正常値より低い場合、(c)はマスタの発振周波数が正常値よりも高い場合である。
【0030】
スレーブのサンプリングタイミングは通信速度が4800bpsの場合、矢印のタイミ
ングでサンプリングを行う。スレーブにおいて実施されるスタートビットのサンプリングタイミングをTSTART、データビットD0〜D7のサンプリングタイミングをそれぞれT0〜T7、ストップビットのサンプリングタイミングをTSTOPとする。
【0031】
図6(a)の場合にはデータビットD0〜D7およびストップビットの中央でサンプリングできている。
図6(b)の場合には、ストップビットの受信タイミングでサンプリングが行われず、データビットD7でT7とTSTOPのサンプリングが2回行われている。この場合D7は“H”であるため、本来のストップビットのサンプリングではないが、スレーブではストップビットとして正常に認識される。このように送信側の発振周波数が低い場合でもD4〜D7が“H”固定であるため、受信側でストップビットのサンプリングTSTOPがずれてD4の受信タイミングでサンプリングが実施されてもストップビットが正常に認識され、正常にデータ受信できる。
【0032】
また
図6(c)の場合には、ストップビットの受信タイミングでサンプリングが行われず、アイドル状態で行われている。この場合、アイドル状態では“H”であるため、本来のストップビットのサンプリングではないが、ストップビットとして正常に認識される。
【0033】
このように送信側の発振周波数が高い場合でもアイドル状態が“H”固定であるため、ストップビットのサンプリングTSTOPがずれてアイドル状態サンプリングが実施されてもストップビットが正常に認識され、正常にデータ受信できる。
【0034】
受信側の発振周波数が正常で、データビットD4〜D7が“H”固定の場合、受信側で正常にデータを受信できる送信側の発振周波数の許容誤差は、±4.5%であり、前記従来の通信フォーマットの許容誤差±2.5%よりも大幅に発振周波数の誤差を許容できる。またデータビットD1〜D7の7ビットを“H”固定にすると前記発振周波数の許容誤差は±8.9%まで拡大できる。このようにデータビットの送信する際の後方の“H”に固定するビット数を増やすと許容できる発振周波数の誤差は拡大する。
【0035】
なお、上記第1実施形態では、D4〜D7を“H”に固定したが、CR発振回路のずれ量によっては“H”に固定するビット数を変えても良い。“H”に固定するビット数を増やすと発振のずれを許容する量は増加する。
【0036】
なお、上記第1実施形態では、スレーブを1つとしたが、スレーブが複数あっても良い。
【0037】
なお、上記第1実施形態では、D4〜D7を“H”固定としたが、
図7に示すようにアイドル状態の論理が“L”の場合には“L”に固定する。
【0038】
なお、上記第1実施形態では、データビット長が8ビットであるが、データビット長は7ビットでも良い。データビット長が7ビットの場合、“H”または“L”に固定するビット長は6ビット以下とする。
【0039】
(実施の形態2)
図8は第2実施形態のシリアル通信装置の概略図である。マスタ1およびスレーブ2にそれぞれCR発振回路周辺の温度を検出するためのサーミスタ14、24を備える。電圧とGND間にサーミスタは抵抗と直列に接続され、その接続部はCPUのAD変換器に接続され、電圧を検出できるようになっており、電圧に応じた温度の検出が可能である。
【0040】
図9はCR発振回路の温度と発振精度との関係を示した図である。この情報をテーブル化してCPU内部に保持する。
【0041】
検出温度が100℃の場合だとCR発振回路の発振周波数が10%増加するため、補正しない場合はCPUの通信速度設定が4800bpsの設定でも実際には4848bpsとなるため、サーミスタによりCR発振回路周辺の温度を検出し、例えば100℃を検出した場合には、通信速度の設定を4800(bps)÷(100+10)[%]=4364bpsに設定することにより、実際の通信速度は4800bpsとなり、正常に通信が可能となる。
【0042】
また検出温度が−50℃の場合だとCR発振回路の発振周波数が5%減少するため、補正しない場合はCPUの通信速度設定が4800bpsの設定でも実際には4560bpsとなるため、サーミスタによりCR発振回路周辺の温度を検出し、例えば100℃を検出した場合には、通信速度の設定を4800(bps)÷(100−5)[%]=5053bpsに設定することにより、実際の通信速度は4800bpsとなり、正常に通信が可能となる。
【0043】
なお、CR発振回路、温度検出素子はCPU内部にあっても良い。
【産業上の利用可能性】
【0044】
以上のように本発明のシリアル通信
方法、シリアル通信装置およびシリアル通信システムは、回路が安価にできるため、回路を搭載し、通信を行うモータ等の用途にも適用できる。
【符号の説明】
【0045】
1 マスタ
2 スレーブ
11、21 CPU
12、22 CR発振回路
13、23 バッファ
14、24 サーミスタ
15、25 発振回路
30 データ