(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024112066
(43)【公開日】2024-08-20
(54)【発明の名称】通信装置、通信方法および通信システム
(51)【国際特許分類】
H04L 7/04 20060101AFI20240813BHJP
H04L 25/38 20060101ALI20240813BHJP
【FI】
H04L7/04 400
H04L25/38 T
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2023016906
(22)【出願日】2023-02-07
(71)【出願人】
【識別番号】000116024
【氏名又は名称】ローム株式会社
(74)【代理人】
【識別番号】100105924
【弁理士】
【氏名又は名称】森下 賢樹
(74)【代理人】
【識別番号】100133215
【弁理士】
【氏名又は名称】真家 大樹
(72)【発明者】
【氏名】工藤 拓麿
【テーマコード(参考)】
5K029
5K047
【Fターム(参考)】
5K029EE07
5K029KK22
5K047GG11
5K047JJ03
5K047LL10
(57)【要約】
【課題】調歩同期方式のシリアル通信において、正確なデータの送受信をより簡便に実現できる通信装置、通信方法および通信システムを提供する。
【解決手段】通信装置20は、調歩同期方式でシリアル通信を行う。通信装置20は、1ビットのLowデータ出力区間で構成されたスタート部ST1,ST2、立ち上がりで始まるデータ部DA1,DA2およびストップ部SP1,SP2の順で構成された受信データDATA1,DATA2を受信する受信部200と、Lowデータ出力区間を含む区間のパルス幅を測定する測定部220と、測定部220が測定したパルス幅に基づくボーレートで送信データDATA3を送信する送信部260とを備える。
【選択図】
図5
【特許請求の範囲】
【請求項1】
調歩同期方式でシリアル通信を行う通信装置であって、
1ビットのLowデータ出力区間で構成されたスタート部、立ち上がりで始まるデータ部およびストップ部の順で構成された受信データを受信する受信部と、
前記Lowデータ出力区間を含む区間のパルス幅を測定する測定部と、
前記測定部が測定したパルス幅に基づくボーレートで送信データを送信する送信部とを備える、
通信装置。
【請求項2】
前記測定部は、前記Lowデータ出力区間のパルス幅を測定し、
前記送信部は、前記測定部が測定した前記Lowデータ出力区間のパルス幅に対応するボーレートで前記送信データを送信する、
請求項1に記載の通信装置。
【請求項3】
前記送信データは、1ビットのスタート部、データ部およびストップ部の順で構成される、
請求項1に記載の通信装置。
【請求項4】
前記受信データを読み取る読み取り部をさらに備え、
前記受信データのデータ部は、1ビットのHighデータ出力区間で始まるように構成されており、
前記測定部は、前記Lowデータ出力区間のパルス幅および前記Highデータ出力区間のパルス幅を測定し、
前記読み取り部は、前記測定部が測定した前記Lowデータ出力区間のパルス幅および前記Highデータ出力区間のパルス幅に基づくボーレートで前記受信データを読み取る、
請求項1に記載の通信装置。
【請求項5】
前記データ部は、1ビットのHighデータ出力区間で始まるように構成されており、
前記測定部は、前記Lowデータ出力区間のパルス幅および前記Highデータ出力区間のパルス幅を測定し、
前記送信部は、前記測定部が測定した前記Lowデータ出力区間のパルス幅および前記Highデータ出力区間のパルス幅に基づくボーレートで前記送信データを送信する、
請求項1に記載の通信装置。
【請求項6】
調歩同期方式でシリアル通信を行う通信方法であって、
1ビットのLowデータ出力区間で構成されたスタート部、立ち上がりで始まるデータ部およびストップ部の順で構成された受信データを受信することと、
前記Lowデータ出力区間を含む区間のパルス幅を測定することと、
測定したパルス幅に基づくボーレートで送信データを送信することとを含む、
通信方法。
【請求項7】
調歩同期方式でシリアル通信を行う通信システムであって、
請求項1に記載の通信装置と、
前記通信装置と通信する他の通信装置と、を備える、
通信システム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、通信装置、通信方法および通信システムに関する。
【背景技術】
【0002】
シリアル通信によるデータ通信の方式として、調歩同期方式が知られている。調歩同期方式では、データの先頭にデータの送信開始を示す情報を付け、データの末尾にデータの送信終了を示す情報を付けてデータの送受信が行われる。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、受信側の装置は、受信するデータのボーレートを知らないと、そのデータを正確に読み取れない。このため、受信側の装置が受信するデータを正確に読み取るためには、受信側の装置にそのデータのボーレートを予め設定しておく必要がある。
【0005】
本開示はこうした状況に鑑みてなされたものであり、その例示的な目的の一つは、調歩同期方式のシリアル通信において、正確なデータの送受信をより簡便に実現できる通信装置、通信方法および通信システムを提供することにある。
【課題を解決するための手段】
【0006】
本開示のある態様の通信装置は、調歩同期方式でシリアル通信を行う通信装置であって、1ビットのLowデータ出力区間で構成されたスタート部、立ち上がりで始まるデータ部およびストップ部の順で構成された受信データを受信する受信部と、Lowデータ出力区間を含む区間のパルス幅を測定する測定部と、測定部が測定したパルス幅に基づくボーレートで送信データを送信する送信部とを備える。
【0007】
本開示の別の態様は、通信方法である。通信方法は、調歩同期方式でシリアル通信を行う通信装置であって、1ビットのLowデータ出力区間で構成されたスタート部、立ち上がりで始まるデータ部およびストップ部の順で構成された受信データを受信することと、Lowデータ出力区間を含む区間のパルス幅を測定することと、測定したパルス幅に基づくボーレートで送信データを送信することとを含む。
【0008】
本開示の別の態様は、通信システムである。通信システムは、調歩同期方式でシリアル通信を行う通信システムであって、上記通信装置と、上記通信装置と通信する他の通信装置と、を備える。
【0009】
なお、以上の構成要素の任意の組合せ、本開示の表現を方法、装置、システムなどの間で変換したものもまた、本開示の態様として有効である。
【発明の効果】
【0010】
本開示によれば、調歩同期方式のシリアル通信において、正確なデータの送受信をより簡便に実現できる通信装置、通信方法および通信システムを提供できる。
【図面の簡単な説明】
【0011】
【
図1】
図1は、従来技術に係る調歩同期方式のシリアル通信において、一方の装置が他方の装置に送信するデータのタイミングチャートの一例を示す図である。
【
図2】
図2は、従来技術の課題の解決策の一例を説明するための図である。
【
図3】
図3(a)は、デバイスが汎用のコントローラから受信データを受信する様子の一例を示す図である。
図3(b)は、デバイスが汎用のコントローラに送信データを送信する様子の一例を示す図である。
【
図4】
図4は、本開示の一実施形態に係る通信システムの構成の一例を模式的に示すブロック図である。
【
図5】
図5は、同実施形態に係るデバイスの機能ブロック図である。
【
図6】
図6は、同実施形態に係るデバイスの動作の一例を説明するための図である。
【
図7】
図7(a)および
図7(b)は、コントローラから出力されるデータのHighデータ出力区間のパルス幅およびLowデータ出力区間のパルス幅が異なる例を説明するための図である。
【
図8】
図8は、本開示の一実施形態に係るデバイスがコントローラから受信データを受信する様子の一例を示す図である。
【
図9】
図9は、同実施形態に係る通信システムにおけるデバイスの動作の一例を示すフローチャートである。
【発明を実施するための形態】
【0012】
(概要)
本開示のいくつかの例示的な実施形態の概要を説明する。この概要は、後述する詳細な説明の前置きとして、実施形態の基本的な理解を目的として、1つまたは複数の実施形態のいくつかの概念を簡略化して説明するものであり、発明あるいは開示の広さを限定するものではない。この概要は、考えられるすべての実施形態の包括的な概要ではなく、すべての実施形態の重要な要素を特定することも、一部またはすべての態様の範囲を線引きすることも意図していない。便宜上、「一実施形態」は、本明細書に開示するひとつの実施形態(実施例や変形例)または複数の実施形態(実施例や変形例)を指すものとして用いる場合がある。
【0013】
一実施形態に係る通信装置は、調歩同期方式でシリアル通信を行う通信装置である。この通信装置は、1ビットのLowデータ出力区間で構成されたスタート部、立ち上がりで始まるデータ部およびストップ部の順で構成された受信データを受信する受信部と、Lowデータ出力区間を含む区間のパルス幅を測定する測定部と、測定部が測定したパルス幅に基づくボーレートで送信データを送信する送信部とを備える。
【0014】
この構成によれば、調歩同期方式のシリアル通信において、正確なデータの送受信をより簡便に実現できる。
【0015】
一実施形態において、測定部は、Lowデータ出力区間のパルス幅を測定してよい。送信部は、測定部が測定したLowデータ出力区間のパルス幅に対応するボーレートで送信データを送信してよい。
【0016】
一実施形態において、送信データは、1ビットのスタート部、データ部およびストップ部の順で構成されてよい。
【0017】
一実施形態において、通信装置は、受信データを読み取る読み取り部をさらに備えてよい。受信データのデータ部は、1ビットのHighデータ出力区間で始まるように構成されてよい。測定部は、Lowデータ出力区間のパルス幅およびHighデータ出力区間のパルス幅を測定してよい。読み取り部は、測定部が測定したLowデータ出力区間のパルス幅およびHighデータ出力区間のパルス幅に基づくボーレートで受信データを読み取ってよい。
【0018】
一実施形態において、データ部は、1ビットのHighデータ出力区間で始まるように構成されてよい。測定部は、Lowデータ出力区間のパルス幅およびHighデータ出力区間のパルス幅を測定してよい。送信部は、測定部が測定したLowデータ出力区間のパルス幅およびHighデータ出力区間のパルス幅に基づくボーレートで送信データを送信してよい。
【0019】
一実施形態に係る通信方法は、調歩同期方式でシリアル通信を行う通信方法である。この通信方法は、1ビットのLowデータ出力区間で構成されたスタート部、立ち上がりで始まるデータ部およびストップ部の順で構成された受信データを受信することと、Lowデータ出力区間を含む区間のパルス幅を測定することと、測定したパルス幅に基づくボーレートで送信データを送信することとを含む。
【0020】
一実施形態に係る通信システムは、調歩同期方式でシリアル通信を行う通信システムである。この通信システムは、上記通信装置と、上記通信装置と通信する他の通信装置と、を備える。
【0021】
(課題)
図1~
図3を参照しながら、従来技術の課題を説明する。
図1は、従来技術に係る調歩同期方式のシリアル通信において、一方の装置が他方の装置に送信するデータのタイミングチャートの一例を示す図である。
図1には、予め設定されたボーレートで送信されるデータDATA90とそのボーレートからずれたボーレートで送信されるデータDATA92とを示す。
図1に示すように、データDATA90は、スタート部ST90、データ部DA90およびストップ部SP90の順で構成される。データDATA92は、スタート部ST92、データ部DA92およびストップ部SP92の順で構成される。
【0022】
スタート部ST90は、1ビットのLowデータ出力区間で構成され、ストップ部SP90は、1ビットのHighデータ出力区間で構成される。ここで、Lowデータ出力区間は、0(Low)のデータが出力される区間であり、Highデータ出力区間は、1(High)のデータが出力される区間である。スタート部ST90のLowデータ出力区間のパルス幅PW90は、通信のボーレートに対応する幅となるように、予め決められている。受信側の装置は、データ部DA90およびストップ部SP90に含まれるLowデータ出力区間およびHighデータ出力区間のそれぞれの中央を読み取る。具体的には、受信側の装置は、データDATA90を受信すると、スタート部ST90のLowデータ出力区間の中央のタイミングt0からパルス幅PW90に対応する時間T90が経過するタイミングt1において、データ部DA90の先頭のビットを読み取る。以降、受信側の装置は、パルス幅PW90の時間が経過する度に、具体的にはタイミングt2~t9において、データ部DA90およびストップ部SP90を読み取る。
【0023】
しかしながら、送信側の装置において送信のボーレートを規定するクロックにずれが生じ、送信のボーレートがずれていることがある。その場合、
図1の下段に示すように、データDATA90とずれたデータDATA92が送信される。この場合、受信側の装置がデータDATA90を読み取る場合と同様にデータDATA92を読み取ろうとすると、受信側の装置が読み取るタイミングがデータ部DA92およびストップ部SP92のHighデータ出力区間およびLowデータ出力区間の中央からずれる。この結果、受信側の装置が正確にデータ部DA92およびストップ部SP92を読み取れないことがある。受信側の装置においてボーレートを規定するクロックのずれが生じている場合においても、受信側の装置が正確に受信したデータを読み取れない。
【0024】
このようなクロックのずれに起因して正確にデータを読み取れないことを抑制するために、クロックの周波数の精度を向上させることが考えられる。しかしながら、クロックの周波数の精度を向上させるためには、クロックのトリミングおよび外付けクリスタルの配置などが必要となり、コストが発生する。
【0025】
図2は、上述した従来技術の課題の解決策の一例を説明するための図である。
図2には、調歩同期方式のシリアル通信において、一方の装置が他方の装置に送信するデータDATA94のタイミングチャートの一例を示す。
図2に示すデータDATA94は、スタート部ST94、データ部DA94およびストップ部SP94の順で構成される。
【0026】
スタート部ST94は、2ビットの交番データで構成されており、具体的には、1ビットのLowデータ出力区間および1ビットのHighデータ出力区間の順で構成されている。受信側の装置は、スタート部ST94のLowデータ出力区間のパルス幅PW94を測定し、その測定結果を用いてデータ部94およびストップ部SP94を読み取る。具体的には、受信側の装置は、スタート部ST94のHighデータ出力区間の中央のタイミングt11から、測定したパルス幅PW94に対応する時間が経過する度に、具体的にはタイミングt12~t19において、データ部DA94およびストップ部SP94を読み取る。これにより、送信側の装置のクロックまたは受信側の装置のクロックにずれが生じていたとしても、受信側の装置は、正確にデータDATA94を読み取ることができる。
【0027】
このように、スタート部を2ビットの交番データで構成することにより、受信側の装置が正確にデータを読み取ることができる。しかしながら、この場合には、受信側の装置が送信側の装置にデータを送信する場合には、不具合が生じることがある。
【0028】
図3(a)および
図3(b)を参照して、2つの装置間における調歩同期方式のシリアル通信に際して、
図2を参照して説明した方法でデータが送信される例を説明する。
図3(a)は、デバイス92が汎用のコントローラ90から受信データDATA96を受信する様子の一例を示す図である。
図3(b)は、デバイス92が汎用のコントローラ90に送信データDATA98を送信する様子の一例を示す図である。
【0029】
図3(a)に示す受信データDATA96は、スタート部ST96、データ部DA96およびストップ部SP96の順で構成される。スタート部ST96は、2ビット(1ビットのLowデータ出力区間および1ビットのHighデータ出力区間)の交番データで構成される。データ部DA96は、0111110(3Eh)の7ビットで構成される。
【0030】
デバイス92は、スタート部ST96が2ビットで構成されることを知っていると、データ部DA96がスタート部ST96とストップ部SP96との間の7ビットで構成されることが分かる。デバイス92は、スタート部ST96のLowデータ出力区間のパルス幅に対応するボーレートで、データ部DA96およびストップ部SP96を読み取ることができる。この結果、デバイス92は、データ部DA96から0111110の7ビットを読み取れる。
【0031】
図3(b)に示す送信データDATA98は、スタート部ST98、データ部DA98およびストップ部SP98の順で構成される。スタート部ST98は、受信データDATA96のスタート部ST96と同様に、2ビットの交番データで構成され、データ部DA98は、0111110(3Eh)の7ビットで構成される。
【0032】
コントローラ90が、スタート部ST98が2ビットで構成されることを知らず、スタート部ST98が1ビットで構成されているものとしてデータ部DA98を読み取ろうとすると、正確にデータ部DA98を読み取れない。具体的には、コントローラ90は、スタート部ST92の2ビット目のHighデータ出力区間をデータ部DA98の先頭のビットであるものとして読み取る。その結果、コントローラ90は、01111101(7Dh)をデータ部DA98の情報として読み取る。したがって、コントローラ90は、デバイスから送信される0111110の7ビットを読み取ることができない。なお、ここで読み取られる8ビットの01111101の先頭の「0」は、
図3(b)に示すデータ部DA98の右端の0に対応し、読み取られる8ビットは、データ部DA98の各ビットを右から順に並べて、末尾にスタート部ST98の「1」をつけたものとなる。
【0033】
このように、汎用のコントローラ90は、スタート部ST98が2ビットの交番データで構成されることを知らないと、送信データDATA98に含まれるデータ部DA98を正確に読み取れない。また、デバイス92が送信する送信データDATA98のボーレートは、送信データによって異なるため、コントローラ90は、送信データのボーレートが分からず、送信データを読み取れないことがある。
【0034】
また、デバイス92は、コントローラ90に送信データDATA98を送信するとき、送信データDATA98に合わせたボーレートを決定し、そのボーレートで送信データDATA98を送信する。このボーレートは、コントローラ90が受信データDATA96を送信する際のボーレートとは異なる。このため、コントローラ90には、デバイス92が決定したボーレートで送信される送信データDATA98を読み取るために、予めの設定が必要となる。
【0035】
さらに、デバイス92は、受信データDATA96に含まれるスタート部ST96Lowデータ出力区間のパルス幅を利用するものの、受信データDATA96のHighデータ出力区間のパルス幅を考慮しない。このため、受信データDATA96のHighデータ出力区間とLowデータ出力区間とでパルス幅が異なると、デバイス92は、受信データDATA96を正確に読み取れないことがある。
【0036】
(実施形態)
以下、好適な実施形態について、図面を参照しながら説明する。各図面に示される同一または同等の構成要素、部材、処理には、同一の符号を付するものとし、適宜重複した説明は省略する。また、実施形態は、開示および発明を限定するものではなく例示であって、実施形態に記述されるすべての特徴やその組み合わせは、必ずしも開示および発明の本質的なものであるとは限らない。
【0037】
図4は、本開示の一実施形態に係る通信システム1の構成の一例を模式的に示すブロック図である。通信システム1は、コントローラ10およびデバイス20を備える。コントローラ10およびデバイス20は、通信バス12を介して互いに通信可能に構成される。コントローラ10およびデバイス20は、調歩同期方式のシリアル通信で互いに通信する。コントローラ10およびデバイス20は、CPU(Central Processing Unit)、RAM(Random Access Memory)およびROM(Read Only Memory)をそれぞれ備えてよい。
【0038】
図5は、本開示の一実施形態に係るデバイス20(通信装置)の機能ブロック図である。デバイス20は、受信部200、測定部220、データ処理部240および送信部260を備える。
【0039】
受信部200は、外部の装置からデータを受信するインタフェースである。たとえば、受信部200は、コントローラ10から受信データを受信できる。受信データは、たとえば、スタート部、データ部およびストップ部の順で構成される。スタート部は、1ビットのLowデータ出力区間で構成される。データ部は、複数のビットで構成されるものであり、立ち上がりで始まり、より具体的には1ビットのHighデータ出力区間で始まるように構成される。ストップ部は、1ビットのHighデータ出力区間で構成されてよい。受信部200が受信した受信データは、測定部220およびデータ処理部240に伝達される。
【0040】
測定部220は、受信データのスタート部のLowデータ出力区間を含む区間のパルス幅を測定し、その測定結果をデータ処理部240に伝達する。たとえば、測定部220は、受信データのスタート部に含まれる1ビットのLowデータ出力区間のパルス幅を測定する。また、測定部220は、受信データのデータ部に含まれる先頭の1ビットのHighデータ出力区間のパルス幅を測定してよい。さらに、測定部220は、スタート部の立ち下がりからデータ部の先頭の立ち下がりまでの区間(以下、「立ち下がりエッジ区間」ともいう。)のパルス幅を測定してよい。
【0041】
データ処理部240は、各種のデータ処理を行うものであり、具体的には、受信データを読み取ったり、送信データを生成したりできる。データ処理部240の機能は、読み取り部242およびデータ生成部244が協働することにより実現される。
【0042】
読み取り部242は、受信データを読み取り、読み取った結果をデータ生成部244に伝達する。具体的には、読み取り部242は、測定部220によるパルス幅の測定結果に基づいて、受信データを読み取る。たとえば、読み取り部242は、測定部220が測定した受信部のスタート部に含まれるLowデータ出力区間のパルス幅に対応するボーレートで、受信データを読み取ってよい。これにより、たとえばコントローラ10のクロックにずれが生じているような場合であっても、読み取り部242は、実際に送信された受信データに合ったボーレートで読み取りを行い、正確に受信データを読み取ることができる。
【0043】
また、読み取り部242は、測定部220が測定したデータ部の先頭のHighデータ出力区間のパルス幅に対応するボーレートで受信データを読み取ってよい。さらに、読み取り部242は、測定部220が測定したスタート部のLowデータ出力区間のパルス幅および測定部220が測定したデータ部の先頭のHighデータ出力区間のパルス幅のそれぞれに対応するボーレートで受信データを読み取ってよい。
【0044】
たとえば、読み取り部242は、受信データのデータ部において「0」のビットが続く区間については、測定されたスタート部のLowデータ出力区間のパルス幅に対応するボーレートで読み取りを行ってよい。また、読み取り部242は、受信データのデータ部において「1」のビットが続く区間については、測定されたデータ部の先頭のHighデータ出力区間のパルス幅に対応するボーレートで読み取りを行ってよい。
【0045】
読み取り部242は、測定部220が測定したスタート部のLowデータ出力区間のパルス幅および測定部220が測定したデータ部の先頭のHighデータ出力区間のパルス幅に基づくボーレートで受信データを読み取ってよい。たとえば、読み取り部242は、測定部220が測定したスタート部のLowデータ出力区間のパルス幅およびデータ部の先頭のHighデータ出力区間のパルス幅の平均時間に対応するボーレートで受信データを読み取ってよい。
【0046】
また、読み取り部242は、立ち下がりエッジ区間に基づき、受信データを読み取ってよい。具体的には、読み取り部242は、立ち下がりエッジ区間のパルス幅の半分の時間に対応するボーレートで受信データを読み取ってよい。たとえば、読み取り部242は、受信データにおいて「0」と「1」とが交互に入れ替わる区間については、このボーレートで受信データを読み取ってよい。
【0047】
データ生成部244は、デバイス20が外部に送信する送信データを生成し、そのデータを送信部260に伝達する。データ生成部244は、読み取り部242が受信データを読み取った結果に応じて、送信データを生成してよい。
【0048】
送信データは、スタート部、データ部およびストップ部の順で構成される。送信データに含まれるスタート部は、1ビットのLowデータ出力区間で構成され、送信データに含まれるストップ部は、1ビットのHighデータ出力区間で構成される。また、送信データに含まれるデータ部は、複数のビットで構成され、たとえば8ビットで構成されてよい。
【0049】
送信部260は、外部の装置にデータを送信するためのインタフェースである。たとえば、送信部260は、データ生成部244が生成した送信データをコントローラ10に送信してよい。
【0050】
送信部260は、測定部220によるパルス幅の測定結果に基づくボーレートで送信データを送信してよい。具体的には、送信部260は、測定部220が測定した受信データのストップ部に含まれるLowデータ出力区間のパルス幅に対応するボーレートで送信データを送信してよい。また、送信部260は、測定部220が測定した受信データに含まれるデータ部の先頭のHighデータ出力区間のパルス幅に対応するボーレートで送信データを送信してよい。
【0051】
また、送信部260は、測定されたスタート部のLowデータ出力区間のパルス幅および測定されたデータ部の先頭のHighデータ出力区間のパルス幅のそれぞれに対応するボーレートで、送信データを送信してよい。たとえば、送信部260は、送信データのデータ部において「0」のビットが続く区間については、測定されたスタート部のLowデータ出力区間のパルス幅に対応するボーレートで送信してよい。また、送信部260は、送信データのデータ部において「1」のビットが続く区間については、測定されたデータ部の先頭のHighデータ出力区間のパルス幅に対応するボーレートで送信してよい。
【0052】
また、送信部260は、測定されたストップ部のLowデータ出力区間のパルス幅および測定されたデータ部の先頭のHighデータ出力区間のパルス幅の測定結果に基づくボーレートで送信データを送信してよい。具体的には、送信部260は、測定されたスタート部のLowデータ出力区間のパルス幅および測定されたデータ部の先頭のHighデータ出力区間のパルス幅の平均時間に対応するボーレートで送信データを送信してよい。
【0053】
また、送信部260は、測定された立ち下がりエッジ区間のエッジ幅の半分の時間に対応するボーレートで送信データを送信してよい。たとえば、送信部260は、送信データにおいて「0」と「1」とが交互に入れ替わる区間については、このボーレートで送信データを送信してよい。
【0054】
図6を参照して、本実施形態に係るデバイス20の動作の一例を説明する。
図6には、受信データDATA1の一例を示す。受信データDATA1は、スタート部ST1、データ部DA1およびストップ部SP1の順で構成される。スタート部ST1は、1ビットのLowデータ出力区間で構成される。データ部DA1は、「10」の2ビット(1ビットのHighデータ出力区間と1ビットのHighデータ出力区間の順で構成される2ビット)で始まる8ビットで構成される。測定部220は、スタート部ST1のLowデータ出力区間のパルス幅PW21、データ部DA1の先頭のHighデータ出力区間のパルス幅PW22、および立ち下がりエッジ区間のパルス幅PW23を測定できる。
【0055】
読み取り部242は、パルス幅の測定結果に基づくボーレートでデータ部DA1およびストップ部SP1を読み取る。具体的には、測定されたパルス幅PW21、パルス幅PW22およびパルス幅PW23の半分の時間の少なくともいずれかに対応するボーレートでデータ部DA1およびストップ部SP1を読み取ることができる。たとえば、読み取り部242は、時間間隔ΔTをパルス幅PW21、パルス幅PW22およびパルス幅PW23の半分の時間のいずれかとする。読み取り部242は、データ部DA1に含まれる先頭のHighデータ出力区間の中央のタイミングt21からΔTが経過したタイミングt22において、データ部DA1の2ビット目を読み取る。以降、読み取り部242は、時間間隔ΔTが経過する度に、タイミングt23~t29において、データ部DA1およびストップ部SP1を読み取る。これにより、読み取り部242は、正確にデータ部DA1およびストップSP1を読み取ることができる。
【0056】
また、読み取り部242は、データ部DA1のビットの状態に応じて、読み取りの時間間隔を異ならせてよい。具体的には、読み取り部242は、データ部DA1の「0」のビットが続く区間については、測定されたパルス幅PW21の時間間隔で読み取りを行ってよい。また、読み取り部242は、データ部DA1の「1」のビットが続く区間については、測定されたパルス幅PW22の時間間隔で読み取りを行ってよい。さらに、読み取り部242は、データ部DA1の「0」と「1」とが交互に続く区間については、測定されたパルス幅PW23の半分の時間間隔で読み取りを行ってよい。これにより、受信データのLowデータ出力区間とHighデータ出力区間とでパルス幅が異なる場合であっても、読取り部242は、受信データを正確に読み取ることができる。
【0057】
また、送信部260は、パルス幅の測定結果に応じたボーレートで送信データを送信する。具体的には、送信部260は、測定されたパルス幅PW21、パルス幅PW22およびパルス幅PW23の半分の時間の少なくともいずれかに対応するボーレートで送信データを送信できる。たとえば、送信部260は、測定されたパルス幅PW21、パルス幅PW22およびパルス幅PW23の半分の時間のいずれかを選び、選んだ時間の間隔で各ビットが送信されるように、送信データを送信してよい。さらに、送信部260は、送信データのデータ部のビットの状態に応じて、送信するビットの時間間隔を異ならせてよい。
【0058】
図7(a)および
図7(b)を参照して、コントローラ10から出力されるデータのHighデータ出力区間のパルス幅およびLowデータ出力区間のパルス幅が異なる例を説明する。コントローラ10は、トランジスタ100および出力ポート102を含む。出力ポート102は、デバイス20につながる端子124に接続された、抵抗素子122が接続された経路120を通じて、データをデバイス20に送信する。
図7(a)に示す例では、コントローラ10は、トランジスタ100のドレインが出力ポート102に接続されているオープンドレインとなっている。オープンドレインの場合、データのHighデータ出力区間とLowデータ出力区間とでパルス幅が異なる。
【0059】
図7(b)には、出力ポート102から出力されるデータ信号S1の一例を示している。出力ポート102から出力されるデータ信号S1のHighデータ出力区間PW11およびLowデータ出力区間PW12は互いに異なる。この場合、デバイス20は、Lowデータ出力区間PW11またはLowデータ出力区間PW12の一方のパルス幅を用いるよりも、両区間のパルス幅を用いることにより、より適切にデータの読み取りを行い、データの送信を行うことができる。
【0060】
図8(a)は、本実施形態に係るデバイス20がコントローラ10から受信データDATA2を受信する様子の一例を示す図である。受信データDATA2は、1ビットのLowデータ出力区間で構成されたスタート部ST2、10111110の8ビットで構成されたデータ部DA2およびストップ部SP2の順で構成される。デバイス20は、スタート部ST2のLowデータ出力区間のパルス幅(および必要に応じてデータ部DA2の先頭のHighデータ出力区間のパルス幅)に対応するボーレートでデータ部DA2およびストップ部SP2を読み取る。この結果、デバイス20は、データ部DA2の先頭の1ビットを除く0111110(3Eh)の7ビットを読み取ることができる。
【0061】
図8(b)は、本実施形態に係るデバイス20がコントローラ10に送信データDATA3を送信する様子の一例を示す図である。送信データDATA3は、1ビットのLowデータ出力区間で構成されたスタート部ST3、00111110(3Eh)の8ビットで構成されたデータ部DA3およびストップ部SP3の順で構成される。ここで、00111110は、
図8(b)に示すデータ部DA3の各ビットを右から順に並べたものである。なお、送信データDATA3に含まれるデータ部DA3は、受信データDATA2のデータ部DA2と異なり、先頭が「10」の2ビットで構成される必要がなく、本例のように0で始まるように構成されてよい。
【0062】
このとき、送信データDATA3のスタート部ST3は、通常の1ビットで構成されるため、コントローラ10は、通常通り、送信データDATA3の2ビット目から9ビット目までをデータ部DA3として読み取りを行い、00111110の8ビットを読み取ることができる。また、コントローラ10には、受信データDATA2を送信した際のLowデータ出力区間(およびHighデータ出力区間)のパルス幅に応じたボーレートで送信データDATA3が送信される。このため、コントローラ10に特別な設定をしなくても、コントローラ10は、送信データDATA3を正確に読み取ることができる。このようにコントローラ10に特別な設定を施す必要がないため、汎用の装置をコントローラ10として利用できる。また、デバイス20においても、データを送受信する際のボーレートを予め設定しておく必要がない。このように、本実施形態に係る通信システム1によれば、調歩同期方式のシリアル通信において、正確なデータの送受信をより簡便に実現できる。
【0063】
また、本実施形態によれば、スタート部ST2,ST3が1ビットであるため、
図2を参照して説明したようにスタート部ST94を2ビットにした場合と比べて、データ全体の量を同じとした場合、1ビット多い8ビットのデータ部DA2,DA3をコントローラ10およびデバイス20との間で送受信できる。さらに、本実施形態に係るデバイス20は、受信の際に用いたボーレートを送信の際に用いることができるため、送信のために必要なデバイス20の構成を簡略化できる。
【0064】
図9は、本開示の一実施形態に係る通信システム1におけるデバイス20の動作の一例を示すフローチャートである。以下、
図9に示すフローチャートに沿って、デバイス20の動作の一例を説明する。
【0065】
まず、受信部200は、コントローラ10から受信データを受信する(S101)。次いで、測定部220は、受信データからパルス幅を測定する(S103)。このとき、測定部220は、たとえば、受信データに含まれるスタート部のLowデータ出力区間のパルス幅を測定する。
【0066】
次いで、読み取り部242は、ステップS103において測定されたパルス幅に基づくボーレートで受信データを読み取る(S105)。次いで、データ生成部244は、送信データを生成する(S107)。次いで、送信部260は、S103において測定されたパルス幅に基づくボーレートで送信データを送信する(S109)。
【0067】
(補足)
本開示に係る実施形態について、具体的な用語を用いて説明したが、この説明は、理解を助けるための例示に過ぎず、本開示あるいは請求の範囲を限定するものではなく、本発明の範囲は、請求の範囲によって規定されるものである。また、実施形態のみでなく、ここでは説明しない実施形態、実施例、変形例も、本発明の範囲に含まれる。
【0068】
(付記)
本明細書に開示される技術は、一側面において以下のように把握できる。
【0069】
(項目1)
調歩同期方式でシリアル通信を行う通信装置であって、
1ビットのLowデータ出力区間で構成されたスタート部、立ち上がりで始まるデータ部およびストップ部の順で構成された受信データを受信する受信部と、
前記Lowデータ出力区間を含む区間のパルス幅を測定する測定部と、
前記測定部が測定したパルス幅に基づくボーレートで送信データを送信する送信部とを備える、
通信装置。
【0070】
(項目2)
前記測定部は、前記Lowデータ出力区間のパルス幅を測定し、
前記送信部は、前記測定部が測定した前記Lowデータ出力区間のパルス幅に対応するボーレートで前記送信データを送信する、
項目1に記載の通信装置。
【0071】
(項目3)
前記送信データは、1ビットのスタート部、データ部およびストップ部の順で構成される、
項目1または2に記載の通信装置。
【0072】
(項目4)
前記受信データを読み取る読み取り部をさらに備え、
前記受信データのデータ部は、1ビットのHighデータ出力区間で始まるように構成されており、
前記測定部は、前記Lowデータ出力区間のパルス幅および前記Highデータ出力区間のパルス幅を測定し、
前記読み取り部は、前記測定部が測定した前記Lowデータ出力区間のパルス幅および前記Highデータ出力区間のパルス幅に基づくボーレートで前記受信データを読み取る、
項目1~3のいずれか一項に記載の通信装置。
【0073】
(項目5)
前記データ部は、1ビットのHighデータ出力区間で始まるように構成されており、
前記測定部は、前記Lowデータ出力区間のパルス幅および前記Highデータ出力区間のパルス幅を測定し、
前記送信部は、前記測定部が測定した前記Lowデータ出力区間のパルス幅および前記Highデータ出力区間のパルス幅に基づくボーレートで前記送信データを送信する、
項目1または2に記載の通信装置。
【0074】
(項目6)
調歩同期方式でシリアル通信を行う通信方法であって、
1ビットのLowデータ出力区間で構成されたスタート部、立ち上がりで始まるデータ部およびストップ部の順で構成された受信データを受信することと、
前記Lowデータ出力区間を含む区間のパルス幅を測定することと、
測定したパルス幅に基づくボーレートで送信データを送信することとを含む、
通信方法。
【0075】
(項目7)
調歩同期方式でシリアル通信を行う通信システムであって、
項目1に記載の通信装置と、
前記通信装置と通信する他の通信装置と、を備える、
通信システム。
【符号の説明】
【0076】
1 通信システム、10 コントローラ(他の通信装置)、20 デバイス(通信装置)、200 受信部、220 測定部、240 データ処理部、242 読み取り部、244 データ生成部、260 送信部、DATA1,DATA2 受信データ、DATA3 送信データ、ST1,ST2,ST3 スタート部、DA1,DA2,DA3 データ部、SP1,SP2,SP3 ストップ部。