JP7284751B2 - 通信システム、マスタデバイス、スレーブデバイスおよび通信方法 - Google Patents

通信システム、マスタデバイス、スレーブデバイスおよび通信方法 Download PDF

Info

Publication number
JP7284751B2
JP7284751B2 JP2020525252A JP2020525252A JP7284751B2 JP 7284751 B2 JP7284751 B2 JP 7284751B2 JP 2020525252 A JP2020525252 A JP 2020525252A JP 2020525252 A JP2020525252 A JP 2020525252A JP 7284751 B2 JP7284751 B2 JP 7284751B2
Authority
JP
Japan
Prior art keywords
slave
slave devices
read data
transmits
master device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020525252A
Other languages
English (en)
Other versions
JPWO2019244410A1 (ja
Inventor
彰人 関谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Semiconductor Solutions Corp
Original Assignee
Sony Semiconductor Solutions Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Semiconductor Solutions Corp filed Critical Sony Semiconductor Solutions Corp
Publication of JPWO2019244410A1 publication Critical patent/JPWO2019244410A1/ja
Application granted granted Critical
Publication of JP7284751B2 publication Critical patent/JP7284751B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Small-Scale Networks (AREA)

Description

本技術は、通信システム、マスタデバイス、スレーブデバイスおよび通信方法に関する。詳しくは、マスタデバイスとスレーブデバイスとが通信を行う通信システム、マスタデバイス、スレーブデバイスおよび通信方法に関する。
従来より、同一基板内のデバイス同士で通信を行う際などに、I2C(Inter-Integrated Circuit)通信規格が広く用いられている。例えば、マスタデバイスであるIC(Integrated Circuit)と、スレーブデバイスであるI/O(Input Output)エクスパンダとがI2C通信規格を用いて通信を行う遊技機が提案されている(例えば、特許文献1参照。)。このI2C通信規格において、マスタデバイスがスレーブデバイスからデータを読み出す際には、まずマスタデバイスがスレーブアドレスを送信し、次にスレーブデバイスがマスタデバイスにデータを送信するという手順が実行される。
特開2011-194044号公報
上述の従来技術では、比較的高速なI2C通信規格を用いて、マスタデバイス(ICなど)が、スレーブデバイス(I/Oエクスパンダなど)からデータを読み出すことができる。しかしながら、I2C通信規格においてマスタデバイスは、スレーブデバイスにアクセスするたびにスレーブアドレスを送信しなければならない。このため、読出し先のスレーブデバイス数が多くなるほど、リード時に送信するスレーブアドレス数が多くなり、通信量が増大してしまうという問題がある。
本技術はこのような状況に鑑みて生み出されたものであり、マスタデバイスがスレーブデバイスからデータを読み出す通信システムにおいて、通信量の増大を抑制することを目的とする。
本技術は、上述の問題点を解消するためになされたものであり、その第1の側面は、共通に割り当てられた特定のアドレスを受信した場合には各々が順にリードデータを送信する複数のスレーブデバイスと、上記複数のスレーブデバイスに上記特定のアドレスを送信した場合には上記複数のスレーブデバイスから順に上記リードデータを受信するマスタデバイスとを具備する通信システム、および、その通信方法である。これにより、特定のアドレスの受信に応じて複数のスレーブデバイスからリードデータが順に送信されるという作用をもたらす。
また、この第1の側面において、上記複数のスレーブデバイスのそれぞれには、互いに異なる順番が割り当てられ、上記複数のスレーブデバイスのそれぞれは、割り当てられた上記順番で上記リードデータを送信してもよい。これにより、割り当てられた順番でリードデータが送信されるという作用をもたらす。
また、この第1の側面において、上記複数のスレーブデバイスのそれぞれは、所定ビット数の上記リードデータを送信してもよい。これにより、所定ビット数ずつデータが送信されるという作用をもたらす。
また、この第1の側面において、上記複数のスレーブデバイスのそれぞれは、1ビットの上記リードデータを送信してもよい。これにより、1ビットずつデータが送信されるという作用をもたらす。
また、この第1の側面において、上記マスタデバイスは、上記リードデータのビット数を上記複数のスレーブデバイスのそれぞれに設定し、上記複数のスレーブデバイスのそれぞれは、上記設定されたビット数の上記リードデータを送信してもよい。これにより、設定されたビット数のリードデータが送信されるという作用をもたらす。
また、この第1の側面において、上記マスタデバイスは、所定のクロック信号を送信し、上記複数のスレーブデバイスのそれぞれは、上記クロック信号に同期して計数値を生成し、上記リードデータを送信する順番に上記計数値が一致する際に上記リードデータを送信してもよい。これにより、データを送信する順番に対応するクロック数の際にリードデータが送信されるという作用をもたらす。
また、この第1の側面において、上記マスタデバイスは、所定のクロック信号を送信し、上記複数のスレーブデバイスのそれぞれは、上記クロック信号に同期して計数値を生成し、上記計数値に対して所定の演算を行った値が上記リードデータを送信する順番に一致する際に上記リードデータを送信してもよい。これにより、計数値を計数するカウンタが削減されるという作用をもたらす。
また、この第1の側面において、上記マスタデバイスと上記スレーブデバイスとは、I2C(Inter-Integrated Circuit)通信規格を用いて通信を行ってもよい。これにより、I2C通信規格を用いる通信システムの通信効率が向上するという作用をもたらす。
また、本技術の第2の側面は、複数のスレーブデバイスに共通に割り当てられた特定のアドレスを上記複数のスレーブデバイスに送信した場合には上記複数のスレーブデバイスから順にリードデータを受信するマスタデバイスである。これにより、特定のアドレスの送信に応じて複数のスレーブデバイスからのリードデータが順に受信されるという作用をもたらす。
また、本技術の第3の側面は、他のスレーブデバイスと共通の特定のアドレスを受信した場合には所定のクロック信号に同期して計数値を計数して上記計数値が所定の順番に一致する際にリードデータを送信するスレーブデバイスである。これにより、特定のアドレスの受信に応じてリードデータが所定の順番で送信されるという作用をもたらす。
本技術によれば、マスタデバイスがスレーブデバイスからデータを読み出す通信システムにおいて、通信量の増大を抑制することができるという優れた効果を奏し得る。なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
本技術の第1の実施の形態における電子装置の一構成例を示すブロック図である。 本技術の第1の実施の形態におけるマスタの一構成例を示すブロック図である。 本技術の第1の実施の形態における補助番号テーブルの一例を示す図である。 本技術の第1の実施の形態におけるスレーブの一構成例を示すブロック図である。 本技術の第1の実施の形態におけるスレーブごとに2ビット以上のデータを読み出す場合に送受信されるデータ系列の一例を示す図である。 本技術の第1の実施の形態における信号線のレベルの一例を示すタイミングチャートである。 本技術の第1の実施の形態におけるスレーブごとに1ビットのデータを読み出す場合に送受信されるデータ系列の一例を示す図である。 本技術の第1の実施の形態におけるマスタの動作の一例を示すフローチャートである。 本技術の第1の実施の形態におけるスレーブの動作の一例を示すフローチャートである。 本技術の第2の実施の形態におけるスレーブの一構成例を示すブロック図である。 本技術の第2の実施の形態におけるスレーブごとに2ビットのデータを読み出す場合に送受信されるデータ系列の一例を示す図である。 本技術の第2の実施の形態におけるマスタの動作の一例を示すフローチャートである。 本技術の第2の実施の形態におけるスレーブの動作の一例を示すフローチャートである。 本技術の第2の実施の形態の変形例におけるスレーブの動作の一例を示すフローチャートである。 本技術の第3の実施の形態におけるスレーブの一構成例を示すブロック図である。 本開示に係る技術が適用され得るIoTシステムの概略的な構成の一例を示す図である。
以下、本技術を実施するための形態(以下、実施の形態と称する)について説明する。説明は以下の順序により行う。
1.第1の実施の形態(複数のスレーブデバイスが順にデータを送信する例)
2.第2の実施の形態(複数のスレーブデバイスが順に複数ビットのデータを送信する例)
3.第3の実施の形態(マスタデバイスが送信ビット数を設定し、複数のスレーブデバイスが順にデータを送信する例)
4.応用例
<1.第1の実施の形態>
電子装置の構成例]
図1は、本技術の第1の実施の形態における電子装置100の一構成例を示すブロック図である。この電子装置100は、マスタデバイス110と、複数のスレーブデバイス120とを備える。以下、マスタデバイス110を単に「マスタ」と称し、スレーブデバイス120を「スレーブ」と称する。また、スレーブの個数はN(Nは整数)であり、以下、n(nは1乃至Nの整数)番目のスレーブを「スレーブ#n」と称する。
スレーブのそれぞれには、固有のアドレスであるスレーブアドレスが割り当てられている。また、スレーブのそれぞれには、固有のスレーブアドレスに加え、I2C通信規格に規定されていない特定のアドレスであるグローバルアドレスが共通に割り当てられている。このグローバルアドレスは、N個のスレーブをまとめて読出し先として指定するために用いられるグローバルなアドレスである。
マスタは、スレーブを制御するデバイスであり、スレーブは、マスタの制御に従って動作するデバイスである。マスタと複数のスレーブとは、クロック信号を伝送するSCL(Serial Clock)線と、データを伝送するSDA(Serial Data)線とに共通に接続される。マスタと、それぞれのスレーブとはこれらの信号線を介してI2C通信規格を用いて通信する。
また、マスタは、グローバルアドレスを送信し、複数のスレーブから順にリードデータを受信することができる。この通信手順の詳細については後述する。
マスタとしては、ICやプロセッサが想定される。スレーブとしては、各種のセンサーやドライバが想定される。
なお、マスタなどのデバイスの全てを1つの装置内に配置しているが、この構成に限定されない。例えば、マスタを電子装置100内に配置し、スレーブ(センサーなど)を、電子装置100の外部に配置してもよい。なお、マスタと複数のスレーブとからなるシステムは、特許請求の範囲に記載の通信システムの一例である。
[マスタの構成例]
図2は、本技術の第1の実施の形態におけるマスタ(マスタデバイス110)の一構成例を示すブロック図である。このマスタは、補助番号テーブル111および通信処理部112を備える。
通信処理部112は、I2C通信規格を用いてスレーブ(スレーブデバイス120)との間で通信を行うものである。
ここで、I2C通信規格においてマスタがスレーブとの間で通信を行う際には、まずマスタがスタートコンディションと、アクセス先の固有のスレーブアドレスと、リードまたはライトの要求とを順に送信する。そして、スレーブがACK(ACKnowledge)を返し、リードの際はスレーブがリードデータを送信し、ライトの際はマスタがライトデータを送信する。
通信処理部112は、スレーブへライトデータを送信する場合と、スレーブから2ビット以上のリードデータを受信する場合とにおいて、上述のI2C通信規格の手順に従って通信を行う。
一方、通信処理部112は、複数のスレーブのそれぞれから1ビットのリードデータを受信する場合において、それらのスレーブにグローバルアドレスとリードの要求とを送信する。そして、複数のスレーブのそれぞれから順にリードデータを受信する。
補助番号テーブル111は、スレーブごとに補助番号を保持するテーブルである。ここで、補助番号は、グローバルアドレスを受信した際にスレーブがリードデータを送信する順番を示す情報である。
通信処理部112は、グローバルアドレスの送信時に補助番号テーブル111を参照し、それぞれの順番(補助番号)で送信されたリードデータを、その補助番号に対応するスレーブのデータとして受信し、処理する。
図3は、本技術の第1の実施の形態における補助番号テーブル111の一例を示す図である。この補助番号テーブル111には、スレーブアドレスのそれぞれに対応付けて補助番号が保持される。例えば、スレーブ#1のスレーブアドレス1には、補助番号「1」が対応付けられる。スレーブ#2のスレーブアドレス2には、補助番号「2」が対応付けられる。補助番号「n」は、送信の順番がn番目であることを示す。N個のスレーブアドレスには、互いに異なる補助番号(すなわち、順番)が設定される。
[スレーブの構成例]
図4は、本技術の第1の実施の形態におけるスレーブ(スレーブデバイス120)の一構成例を示すブロック図である。このスレーブは、I2C通信処理部121、グローバルアドレス認識部122、ステートマシン123、カウンタ124、アドレス保持部125および補助番号保持部126を備える。
アドレス保持部125は、スレーブに個別に割り当てられたスレーブアドレスと、全てのスレーブに共通に割り当てられたグローバルアドレスとを保持するものである。補助番号保持部126は、スレーブに対応付けられた補助番号を保持するものである。
I2C通信処理部121は、I2C通信規格を用いてマスタとの間で通信を行うものである。このI2C通信処理部121は、アドレス保持部125からスレーブアドレスを読出し、マスタから受信したアドレスがスレーブアドレスであるか否かを判断する。そして、スレーブアドレスである(すなわち、スレーブアドレスを認識した)場合にI2C通信処理部121は、I2C通信規格の手順に従って通信を行う。
グローバルアドレス認識部122は、アドレス保持部125からグローバルアドレスを読出し、マスタから受信したアドレスがグローバルアドレスであるか否かを判断するものである。このグローバルアドレス認識部122は、グローバルアドレスである(すなわち、グローバルアドレスを認識した)か否かを示す認識結果をステートマシン123に供給する。
ステートマシン123は、グローバルアドレスが認識された際にリードデータを送信するものである。このステートマシン123は、グローバルアドレスが認識されると、ACKを返信する際に、カウンタ124の計数値CNTを初期値(例えば、「1」)にする。そして、ステートマシン123は、補助番号保持部126から補助番号を読み出し、計数値CNTに応じた値と補助番号とが一致するか否かを判断する。計数値CNTが補助番号に一致した際にステートマシン123は、1ビットのリードデータをSDA線を介してマスタに送信する。一方、補助番号に一致しない場合にステートマシン123は、SCL線からのクロック信号に同期してカウンタ124に計数値CNTをカウントアップさせる。
カウンタ124は、リードデータが送信された回数を計数して計数値CNTを生成するものである。この送信回数がスレーブの順番になったときにステートマシン123によりリードデータが送信される。
図5は、本技術の第1の実施の形態におけるスレーブ(スレーブデバイス120)ごとに2ビット以上のデータを読み出す場合に送受信されるデータの配列を示す図である。同図におけるaは、スレーブ#1が読出し先の場合に送受信されるデータ系列の一例を示す図である。同図におけるbは、スレーブ#2が読出し先の場合に送受信されるデータ系列の一例を示す図である。
マスタは、まず、タイミングT0乃至T1の期間において、スタートコンディションSを送信し、タイミングT1乃至T2の期間において7ビットのスレーブアドレス1を送信する。次いでマスタは、タイミングT2乃至T3の期間においてリード要求Rを送信する。
一方、スレーブ#1は、タイミングT3乃至T4の期間においてACKを返し、タイミングT4乃至T5の期間において複数ビット(例えば、8ビット)のリードデータ1をマスタに送信する。
マスタは、タイミングT5乃至T6の期間においてNAK(Negative AcKnowledgement)を返し、タイミングT6以降においてストップコンディションPを送信する。
また、スレーブ#2から読み出す際も同様にマスタがスタートコンディションS、スレーブアドレス2およびリード要求Rを送信する。スレーブは、ACKおよびリードデータ2を送信し、マスタは、NAKおよびストップコンディションPを送信する。
I2C通信規格の手順では、同図に例示したように、マスタは、スレーブごとにスレーブアドレスやスタートコンディションSを送信する必要がある。このため、スレーブ数が多くなるほど、通信量が増大する。仮に、スレーブごとに1ビットしか読み出さない場合であってもI2C通信規格では、スレーブごとにスレーブアドレス等を送信することが要求される。
図6は、本技術の第1の実施の形態における信号線のレベルの遷移の一例を示すタイミングチャートである。
タイミングT0乃至T1の期間においてマスタは、SCL線をハイレベルにし、SDA線をローレベルにする。この状態はスタートコンディションと呼ばれる。このスタートコンディションSの次に、マスタは、A[1]乃至A[5]などのデータをクロック信号に同期して順に送信する。A[m](mは整数)は、アドレス内のm番目のビットである。
そして、タイミングT6以降においてマスタは、SCL線をローレベルにし、SDA線をローレベルにする。この状態はストップコンディションと呼ばれる。
図7は、本技術の第1の実施の形態におけるスレーブ(スレーブデバイス120)ごとに1ビットのデータを読み出す場合に送受信されるデータ系列の一例を示す図である。
マスタは、まず、タイミングT0乃至T1の期間において、スタートコンディションSを送信し、タイミングT1乃至T2の期間において7ビットのグローバルアドレスを送信する。次いでマスタは、タイミングT2乃至T3の期間においてリード要求Rを送信する。
一方、いずれかのスレーブは、タイミングT3乃至T4の期間においてACKを返す。例えば、補助番号(順番)が「1」のスレーブ#1によりACKが返信される。
タイミングT4乃至T5の期間において、N個のスレーブは、順に1ビットのリードデータを送信する。例えば、補助番号が「1」のスレーブ#1が、最初にリードデータD[1]を送信する。次に補助番号が「2」のスレーブ#2が、リードデータD[2]を送信する。以下、同様に、補助番号の順にデータが送信され、最後に、スレーブ#NによりリードデータD[N]が送信される。このように、複数のスレーブは、順番にリードデータを送信するため、それぞれのスレーブのリードデータの衝突を防止することができる。
そして、マスタは、タイミングT5乃至T6の期間においてNAKを返し、タイミングT6以降においてストップコンディションPを送信する。
なお、n番目にスレーブ#nがデータを送信しているが、送信順序は、この例に限定されない。例えば、最初にスレーブ#2がデータを送信し、2番目にスレーブ#Nがデータを送信することもできる。
I2C通信規格に従った図5の手順と、図7の手順とを比較すると、I2C通信規格では、マスタが、スレーブごとにスレーブアドレスを送信する必要があるため、スレーブ数が多くなるほど通信量が増大する。例えば、スレーブアドレスが7ビットであり、スレーブ数がNである場合には、7×Nビットのアドレス群をマスタが送信する必要がある。このため、リードデータのデータサイズが少なくなるほど、通信効率が低下してしまう。ここで、通信効率は、送受信する全データに対するリードデータの比率を示す。
これに対して、図7に例示した手順では、スレーブ数に関わらず、マスタはグローバルアドレスのみを送信すればよいため、通信量の増大を抑制することができる。例えば、グローバルアドレスが7ビットであり、スレーブ数がNであってもアドレスについて送信するデータは、7ビットで済む。このため、図5の手順と比較して通信効率を向上させることができる。
図7に例示する手順は、例えば、複数のスレーブ(センサーなど)から、そのステータスフラグをマスタが収集する際などに実行される。
[マスタの動作例]
図8は、本技術の第1の実施の形態におけるマスタ(マスタデバイス110)の動作の一例を示すフローチャートである。この動作は、例えば、スレーブごとに1ビットを読み出すためのアプリケーションが実行されたときに開始される。マスタは、まず、スタートコンディションの後にグローバスアドレスを送信する(ステップS901)。
マスタは、リード要求を送信し、ACKを受信すると変数nを初期値「1」に設定する(ステップS902)。そして、マスタは、補助番号がnのスレーブから1ビットのリードデータを受信する(ステップS903)。マスタは、全スレーブからリードデータを受信したか否かを判断する(ステップS904)。
いずれかのスレーブからリードデータを受信していない場合に(ステップS904:No)、マスタは、クロック信号に同期してnをインクリメントし(ステップS905)、ステップS903以降を繰り返し実行する。一方、全スレーブからリードデータを受信した場合に(ステップS904:Yes)、マスタは、NAKおよびストップコンディションを送信し、リード処理を終了する。
[スレーブの動作例]
図9は、本技術の第1の実施の形態におけるスレーブ(スレーブデバイス120)の動作の一例を示すフローチャートである。この動作は、通信のためのアプリケーションが開始された場合に開始される。
スレーブは、グローバルアドレスを認識したか否かを判断する(ステップS951)。グローバルアドレスを認識しない場合に(ステップS951:No)、スレーブは、I2C通信規格に従って処理を行い、ステップS951以降を繰り返す。
一方、グローバルアドレスを認識した場合に(ステップS951:Yes)、スレーブは、ACKの返信のタイミングでカウンタ124の計数値CNTを「1」にリセットする(ステップS952)。スレーブは、計数値CNTが補助番号と一致するか否かを判断する(ステップS953)。計数値CNTが補助番号と一致しない場合(ステップS953:No)、スレーブは、クロック信号に同期して計数値CNTをインクリメントし(ステップS955)、ステップS953以降を繰り返す。
一方、計数値CNTが補助番号と一致する場合に(ステップS953:Yes)、スレーブは、1ビットのリードデータを送信し(ステップS954)、通信を終了する。
このように、本技術の第1の実施の形態によれば、マスタがグローバルアドレスを送信し、スレーブのそれぞれからリードデータを順に受信するため、スレーブごとにスレーブアドレスを送信する場合と比較して通信量の増大を抑制することができる。
<2.第2の実施の形態>
上述の第1の実施の形態では、マスタは、スレーブのそれぞれから1ビットのリードデータを順に受信していたが、2ビット以上のリードデータを受信する際はスレーブごとにスレーブアドレスを送信しなければならず、通信量が増大してしまう。この第2の実施の形態の通信システムは、マスタがグローバルアドレスを送信時に、スレーブのそれぞれから2ビット以上のリードデータを順に受信する点において第1の実施の形態と異なる。
図10は、本技術の第2の実施の形態におけるスレーブ(スレーブデバイス120)の一構成例を示すブロック図である。この第2の実施の形態のスレーブは、送信ビット数保持部127およびカウンタ128をさらに備える点において第1の実施の形態と異なる。
カウンタ128は、スレーブが送信したビット数を計数するものである。カウンタ124は、第1の実施の形態と同様にリードデータの送信回数を計数するために用いられる。送信ビット数保持部127は、スレーブのそれぞれが送信すべきリードデータのビット数を送信ビット数として保持するものである。
図11は、本技術の第2の実施の形態におけるスレーブ(スレーブデバイス120)ごとに2ビットのデータを読み出す場合に送受信されるデータ系列の一例を示す図である。
第2の実施の形態におけるタイミングT4までの手順は、第1の実施の形態と同様である。タイミングT4乃至T5の期間において、N個のスレーブは、順に2ビットのリードデータを送信する。例えば、スレーブ#1が、最初に、D[1]およびD[2]からなるリードデータを送信する。次にスレーブ#2が、D[3]およびD[4]からなるリードデータを送信する。以下、同様に、順に2ビットずつデータが送信される。
そして、マスタは、タイミングT5乃至T6の期間においてNAKを返し、タイミングT6以降においてストップコンディションPを送信する。
なお、第2の実施の形態において、グローバルアドレスを受信した際のスレーブごとの送信ビット数を2ビットに設定しているが、送信ビット数は2ビットに限定されない。グローバルアドレスを受信した際に、それぞれのスレーブが、3ビット以上の固定のビット数のリードデータを送信することもできる。
図12は、本技術の第2の実施の形態におけるマスタ(マスタデバイス110)の動作の一例を示すフローチャートである。この第2の実施の形態のマスタの動作は、ステップS903の代わりにステップS911が実行される点において第1の実施の形態と異なる。
マスタは、変数nを初期値「1」に設定し(ステップS902)、補助番号がnのスレーブから2ビットのリードデータを受信する(ステップS911)。
図13は、本技術の第2の実施の形態におけるスレーブ(スレーブデバイス120)の動作の一例を示すフローチャートである。この第2の実施の形態のスレーブの動作は、ステップS952の代わりにステップS961を実行し、ステップS962乃至S965をさらに実行する点において第1の実施の形態と異なる。
グローバルアドレスを認識した場合に(ステップS951:Yes)、スレーブは、ACKの返信のタイミングでカウンタ124の計数値CNTとカウンタ128の計数値kとを「1」にリセットする(ステップS961)。スレーブは、計数値CNTが補助番号と一致するか否かを判断する(ステップS953)。計数値CNTが補助番号と一致する場合に(ステップS953:Yes)、スレーブは、リードデータのうち1ビットを送信する(ステップS954)。計数値CNTが補助番号と一致しない場合(ステップS953:No)、または、ステップS954の後にスレーブは、計数値kをインクリメントする(ステップS962)。
そして、スレーブは、計数値kが送信ビット数と一致するか否かを判断する(ステップS963)。計数値kが送信ビット数と一致しない場合に(ステップS963:No)、スレーブは、ステップS954以降を繰り返し実行する。一方、計数値kが送信ビット数と一致する場合に(ステップS963:Yes)、スレーブは、計数値CNTをインクリメントし(ステップS955)、計数値kをリセットする(ステップS964)。スレーブは、一定回数のステップS954の実行により、リードデータの送信が完了したか否かを判断する(ステップS965)。
送信が完了していない場合(ステップS965:No)、スレーブは、ステップS953以降を繰り返し実行する。一方、送信が完了した場合(ステップS965:Yes)、スレーブは、通信を終了する。
このように、本技術の第2の実施の形態によれば、グローバルアドレスを受信したスレーブのそれぞれが2ビット以上のリードデータを送信するため、第1の実施の形態と比較して通信効率を向上させることができる。
[変形例]
上述の第2の実施の形態では、送信したビット数を計数するためにスレーブ内にカウンタ128をさらに設けていたが、カウンタ128を追加した分、回路規模が増大してしまう。この第2の実施の形態の変形例のスレーブは、カウンタ128を削除し、カウンタ128の計数値kに対して演算を行う点において第2の実施の形態と異なる。
図14は、本技術の第2の実施の形態の変形例におけるスレーブ(スレーブデバイス120)の動作の一例を示すフローチャートである。この第2の実施の形態の変形例におけるスレーブの動作は、ステップS954およびS955の代わりに、ステップS971乃至S973が実行される点において第1の実施の形態と異なる。
スレーブは、ステップS952の後に、例えば、計数値CNTを送信ビット数Kにより除算し、端数を処理(四捨五入など)する演算を行う(ステップS971)。
スレーブは、演算結果が補助番号と一致するか否かを判断する(ステップS972)。補助番号と一致しない場合(ステップS972:No)、スレーブは、ステップS955以降を繰り返す。
一方、演算結果が補助番号と一致する場合に(ステップS972:Yes)、スレーブは、Kビットのリードデータを送信し(ステップS973)、通信を終了する。
このように、本技術の第2の実施の形態の変形例によれば、スレーブが、計数値kを送信ビット数で除算した値と補助番号とを比較するため、送信したビット数を計数するカウンタ128を削減することができる。
<3.第3の実施の形態>
上述の第2の実施の形態では、送信ビット数を固定値としているが、その固定値よりビット数の多いリードデータをスレーブごとに読み出す際に通信効率が低下するおそれがある。この第3の実施の形態の通信システムは、送信ビット数を可変とし、その値をマスタが設定する点において第2の実施の形態と異なる。
図15は、本技術の第3の実施の形態におけるスレーブ(スレーブデバイス120)の一構成例を示すブロック図である。この第3の実施の形態のスレーブは、I2C通信処理部121の代わりにI2C通信処理部129を備える点において第2の実施の形態と異なる。
I2C通信処理部129は、マスタから送信ビット数の設定値を受信し、その設定値により送信ビット数保持部127の保持値を更新する。
第3の実施の形態のマスタは、例えば、スレーブアドレスの送信によりスレーブのそれぞれに送信ビット数を個別に設定する。なお、マスタは、グローバルアドレスに類似した共通のアドレスの送信により、送信ビット数を全てのスレーブに同時に設定することもできる。
このように、本技術の第3の実施の形態によれば、マスタがスレーブのそれぞれに送信ビット数を設定するため、ビット数の多いリードデータを読み出す際の通信効率の低下を抑制することができる。
<4.応用例>
本開示に係る技術は、いわゆる「物のインターネット」であるIoT(Internet of things)と呼ばれる技術へ応用可能である。IoTとは、「物」であるIoTデバイス9100が、他のIoTデバイス9003、インターネット、クラウド9005などに接続され、情報交換することにより相互に制御する仕組みである。IoTは、農業、家、自動車、製造、流通、エネルギー、など様々な産業に利用できる。
図16は、本開示に係る技術が適用され得るIoTシステム9000の概略的な構成の一例を示す図である。IoTデバイス9001には、温度センサー、湿度センサー、照度センサー、加速度センサー、距離センサー、画像センサー、ガスセンサー、人感センサーなどの各種センサーなどが含まれる。また、IoTデバイス9001には、スマートフォン、携帯電話、ウェアラブル端末、ゲーム機器などの端末を含めてもよい。IoTデバイス9001は、AC電源、DC電源、電池、非接触給電、いわゆるエナジーハーベストなどにより給電される。IoTデバイス9001は、有線、無線、近接無線通信などにより通信することができる。通信方式は3G/LTE、WiFi、IEEE802.15.4、Bluetooth、Zigbee(登録商標)、Z-Waveなどが好適に用いられる。IoTデバイス9001は、これらの通信手段の複数を切り替えて通信してもよい。
IoTデバイス9001は、1対1、星状、ツリー状、メッシュ状のネットワークを形成してもよい。IoTデバイス9001は、直接に、またはゲートウエイ9002を通して、外部のクラウド9005に接続してもよい。IoTデバイス9001には、IPv4、IPv6、6LoWPANなどによって、アドレスが付与される。IoTデバイス9001から収集されたデータは、他のIoTデバイス9003、サーバ9004、クラウド9005などに送信される。IoTデバイス9001からデータを送信するタイミングや頻度は好適に調整され、データを圧縮して送信してもよい。このようなデータはそのまま利用してもよく、統計解析、機械学習、データマイニング、クラスタ分析、判別分析、組み合わせ分析、時系列分析など様々な手段でデータをコンピュータ9008で分析してもよい。このようなデータを利用することにより、コントロール、警告、監視、可視化、自動化、最適化、など様々なサービスを提供することができる。
本開示に係る技術は、家に関するデバイス、サービスにも応用可能である。家におけるIoTデバイス9001には、洗濯機、乾燥機、ドライヤ、電子レンジ、食洗機、冷蔵庫、オーブン、炊飯器、調理器具、ガス器具、火災報知器、サーモスタット、エアコン、テレビ、レコーダ、オーディオ、照明機器、温水器、給湯器、掃除機、扇風機、空気清浄器、セキュリティカメラ、錠、扉・シャッター開閉装置、スプリンクラー、トイレ、温度計、体重計、血圧計などが含まれる。さらにIoTデバイス9001には、太陽電池、燃料電池、蓄電池、ガスメータ、電力メータ、分電盤を含んでもよい。
家におけるIoTデバイス9001の通信方式は、低消費電力タイプの通信方式が望ましい。また、IoTデバイス9001は屋内ではWiFi、屋外では3G/LTEにより通信するようにしてもよい。クラウド9005上にIoTデバイス制御用の外部サーバ9006を設置し、IoTデバイス9001を制御してもよい。IoTデバイス9001は、家庭機器の状況、温度、湿度、電力使用量、家屋内外の人・動物の存否などのデータを送信する。家庭機器から送信されたデータは、クラウド9005を通じて、外部サーバ9006に蓄積される。このようなデータに基づき、新たなサービスが提供される。このようなIoTデバイス9001は、音声認識技術を利用することにより、音声によりコントロールすることができる。
また各種家庭機器からテレビに情報を直接送付することにより、各種家庭機器の状態を可視化することができる。さらには、各種センサーが居住者の有無を判断し、データを空調機、照明などに送付することで、それらの電源をオン・オフすることができる。さらには、各種家庭機器に供えられたディスプレイにインターネットを通じて広告を表示することができる。
以上、本開示に係る技術が適用され得るIoTシステム9000の一例について説明した。本開示に係る技術は、以上説明した構成のうち、IoTデバイス9001に好適に適用され得る。IoTデバイス9001に本開示に係る技術を適用することにより、IoTデバイス9001内のマスタおよびスレーブ間の通信量を削減して、性能を向上させることができる。
なお、上述の実施の形態は本技術を具現化するための一例を示したものであり、実施の形態における事項と、特許請求の範囲における発明特定事項とはそれぞれ対応関係を有する。同様に、特許請求の範囲における発明特定事項と、これと同一名称を付した本技術の実施の形態における事項とはそれぞれ対応関係を有する。ただし、本技術は実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において実施の形態に種々の変形を施すことにより具現化することができる。
また、上述の実施の形態において説明した処理手順は、これら一連の手順を有する方法として捉えてもよく、また、これら一連の手順をコンピュータに実行させるためのプログラム乃至そのプログラムを記憶する記録媒体として捉えてもよい。この記録媒体として、例えば、CD(Compact Disc)、MD(MiniDisc)、DVD(Digital Versatile Disc)、メモリカード、ブルーレイディスク(Blu-ray(登録商標)Disc)等を用いることができる。
なお、本明細書に記載された効果はあくまで例示であって、限定されるものではなく、また、他の効果があってもよい。
なお、本技術は以下のような構成もとることができる。
(1)共通に割り当てられた特定のアドレスを受信した場合には各々が順にリードデータを送信する複数のスレーブデバイスと、
前記複数のスレーブデバイスに前記特定のアドレスを送信した場合には前記複数のスレーブデバイスから順に前記リードデータを受信するマスタデバイスと
を具備する通信システム。
(2)前記複数のスレーブデバイスのそれぞれには、互いに異なる順番が割り当てられ、前記複数のスレーブデバイスのそれぞれは、割り当てられた前記順番で前記リードデータを送信する
前記(1)記載の通信システム。
(3)前記複数のスレーブデバイスのそれぞれは、所定ビット数の前記リードデータを送信する
前記(1)または(2)に記載の通信システム。
(4)前記複数のスレーブデバイスのそれぞれは、1ビットの前記リードデータを送信する
前記(3)記載の通信システム。
(5)前記マスタデバイスは、前記リードデータのビット数を前記複数のスレーブデバイスのそれぞれに設定し、
前記複数のスレーブデバイスのそれぞれは、前記設定されたビット数の前記リードデータを送信する
前記(1)から(4)のいずれかに記載の通信システム。
(6)前記マスタデバイスは、所定のクロック信号を送信し、
前記複数のスレーブデバイスのそれぞれは、前記クロック信号に同期して計数値を生成し、前記リードデータを送信する順番に前記計数値が一致する際に前記リードデータを送信する
前記(1)から(5)のいずれかに記載の通信システム。
(7)前記マスタデバイスは、所定のクロック信号を送信し、
前記複数のスレーブデバイスのそれぞれは、前記クロック信号に同期して計数値を生成し、前記計数値に対して所定の演算を行った値が前記リードデータを送信する順番に一致する際に前記リードデータを送信する
前記(1)から(5)のいずれかに記載の通信システム。
(8)前記マスタデバイスと前記スレーブデバイスとは、I2C(Inter-Integrated Circuit)通信規格を用いて通信を行う
前記(1)から(7)のいずれかに記載の通信システム。
(9)複数のスレーブデバイスに共通に割り当てられた特定のアドレスを前記複数のスレーブデバイスに送信した場合には前記複数のスレーブデバイスから順にリードデータを受信するマスタデバイス。
(10)他のスレーブデバイスと共通の特定のアドレスを受信した場合には所定のクロック信号に同期して計数値を計数して前記計数値が所定の順番に一致する際にリードデータを送信するスレーブデバイス。
(11)共通に割り当てられた特定のアドレスを複数のスレーブデバイスが受信した場合には前記複数のスレーブデバイスの各々が順にリードデータを送信する送信手順と、
マスタデバイスが、前記複数のスレーブデバイスに前記特定のアドレスを送信した場合には前記複数のスレーブデバイスから順に前記リードデータを受信する受信手順と
を具備する通信方法。
100 電子装置
110 マスタデバイス
111 補助番号テーブル
112 通信処理部
121、129 I2C通信処理部
120 スレーブデバイス
122 グローバスアドレス認識部
123 ステートマシン
124、128 カウンタ
125 アドレス保持部
126 補助番号保持部
127 送信ビット数保持部
9001 IoTデバイス

Claims (10)

  1. 共通に割り当てられた特定のアドレスを受信した場合には各々が順にリードデータを送信する複数のスレーブデバイスと、
    前記複数のスレーブデバイスに前記特定のアドレスを送信した場合には前記複数のスレーブデバイスから順に前記リードデータを受信するマスタデバイスと
    を具備し、
    前記マスタデバイスと前記スレーブデバイスとは、I2C(Inter-Integrated Circuit)通信規格を用いて通信を行い、
    前記マスタデバイスは、前記特定のアドレスを送信してから前記複数のスレーブデバイスにリード要求を送信し、
    前記複数のスレーブデバイスのいずれかが前記リード要求に対する確認応答を前記マスタデバイスに返信する通信システム。
  2. 前記複数のスレーブデバイスのそれぞれには、互いに異なる順番が割り当てられ、前記複数のスレーブデバイスのそれぞれは、割り当てられた前記順番で前記リードデータを送信する
    請求項1記載の通信システム。
  3. 前記複数のスレーブデバイスのそれぞれは、所定ビット数の前記リードデータを送信する
    請求項1記載の通信システム。
  4. 前記複数のスレーブデバイスのそれぞれは、1ビットの前記リードデータを送信する
    請求項3記載の通信システム。
  5. 前記マスタデバイスは、前記リードデータのビット数を前記複数のスレーブデバイスのそれぞれに設定し、
    前記複数のスレーブデバイスのそれぞれは、前記設定されたビット数の前記リードデータを送信する
    請求項1記載の通信システム。
  6. 前記マスタデバイスは、所定のクロック信号を送信し、
    前記複数のスレーブデバイスのそれぞれは、前記クロック信号に同期して計数値を生成し、前記リードデータを送信する順番に前記計数値が一致する際に前記リードデータを送信する
    請求項1記載の通信システム。
  7. 前記マスタデバイスは、所定のクロック信号を送信し、
    前記リードデータは、2ビット以上のデータであり、
    前記複数のスレーブデバイスのそれぞれは、
    前記クロック信号に同期して計数値を計数するカウンタと、
    前記計数値に対して所定の演算を行った値が前記リードデータを送信する順番に一致する際に前記クロック信号に同期して前記リードデータを送信するステートマシンと
    を備える請求項1記載の通信システム。
  8. 複数のスレーブデバイスとの間でI2C通信規格を用いて通信を行うマスタデバイスであって、前記複数のスレーブデバイスに共通に割り当てられた特定のアドレスを前記複数のスレーブデバイスに送信してから前記複数のスレーブデバイスにリード要求を送信し、前記複数のスレーブデバイスのいずれかから確認応答を受信した場合には前記複数のスレーブデバイスから順にリードデータを受信するマスタデバイス。
  9. 他のスレーブデバイスと共通の特定のアドレスを受信した場合には所定のクロック信号に同期して計数値を計数するカウンタと、
    前記計数値に対して所定の演算を行った値が所定の順番に一致する際に前記クロック信号に同期して2ビット以上のリードデータを送信するステートマシンと
    を具備するスレーブデバイス。
  10. 共通に割り当てられた特定のアドレスを複数のスレーブデバイスが受信した場合には前記複数のスレーブデバイスの各々が順にリードデータを送信する送信手順と、
    マスタデバイスが、前記複数のスレーブデバイスに前記特定のアドレスを送信した場合には前記複数のスレーブデバイスから順に前記リードデータを受信する受信手順と
    を具備し、
    前記マスタデバイスと前記スレーブデバイスとは、I2C通信規格を用いて通信を行い、
    前記マスタデバイスは、前記特定のアドレスを送信してから前記複数のスレーブデバイスにリード要求を送信し、
    前記複数のスレーブデバイスのいずれかは、前記リード要求に対する確認応答を前記マスタデバイスに返信する通信方法。
JP2020525252A 2018-06-18 2019-02-27 通信システム、マスタデバイス、スレーブデバイスおよび通信方法 Active JP7284751B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2018115328 2018-06-18
JP2018115328 2018-06-18
PCT/JP2019/007540 WO2019244410A1 (ja) 2018-06-18 2019-02-27 通信システム、マスタデバイス、スレーブデバイスおよび通信方法

Publications (2)

Publication Number Publication Date
JPWO2019244410A1 JPWO2019244410A1 (ja) 2021-07-08
JP7284751B2 true JP7284751B2 (ja) 2023-05-31

Family

ID=68983658

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020525252A Active JP7284751B2 (ja) 2018-06-18 2019-02-27 通信システム、マスタデバイス、スレーブデバイスおよび通信方法

Country Status (2)

Country Link
JP (1) JP7284751B2 (ja)
WO (1) WO2019244410A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015114810A (ja) 2013-12-11 2015-06-22 セイコーエプソン株式会社 検出装置、センサー、電子機器及び移動体
JP2017518585A (ja) 2014-03-24 2017-07-06 イーエニエーエスセー テック − インスティチュート デ エンゲンハリア デ システマス エ コンピュータドレス テクノロジア エ シエンシアInesc Tec − Instituto De Engenharia De Sistemas E Computadores, Tecnologia E Ciencia 複数のミックスドシグナルのリソース管理のための制御モジュール

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2581813B2 (ja) * 1989-11-13 1997-02-12 富士電機株式会社 自動販売機の制御装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015114810A (ja) 2013-12-11 2015-06-22 セイコーエプソン株式会社 検出装置、センサー、電子機器及び移動体
JP2017518585A (ja) 2014-03-24 2017-07-06 イーエニエーエスセー テック − インスティチュート デ エンゲンハリア デ システマス エ コンピュータドレス テクノロジア エ シエンシアInesc Tec − Instituto De Engenharia De Sistemas E Computadores, Tecnologia E Ciencia 複数のミックスドシグナルのリソース管理のための制御モジュール

Also Published As

Publication number Publication date
WO2019244410A1 (ja) 2019-12-26
JPWO2019244410A1 (ja) 2021-07-08

Similar Documents

Publication Publication Date Title
JP6676689B2 (ja) プロセス制御システムで使用される通信プロトコルを特定するための方法及び装置
CN108431701B (zh) 智能家居设备的控制方法、控制面板及控制系统
CN111491284B (zh) 蓝牙ble时延优化方法、设备和存储介质
JP2012146201A (ja) オンチップルータ及びそれを用いたマルチコアシステム
WO2019177702A1 (en) Communicating packets in a mesh network
WO2019033476A1 (zh) 基于设备分组的数据传输控制方法及相关产品
CN111083180A (zh) 物联网系统、物联网设备联动方法及装置
CN116601601A (zh) 在多过程系统内执行可编程原子单元资源的方法
CN116583831A (zh) 向操作系统注册自定义原子操作
CN110287135A (zh) 一种总线轮询方法和装置
US7827335B2 (en) Remote communication system of a network
CN109257094A (zh) 一种串行解串发送器的预加重值取值方法与装置
JP7284751B2 (ja) 通信システム、マスタデバイス、スレーブデバイスおよび通信方法
JP6191117B2 (ja) 無線通信装置、無線通信システム、無線通信方法、およびプログラム
CN104380273B (zh) 基于环形缓冲器的数据的自适应偏移同步
CN205563123U (zh) 一种控制面板及控制系统
KR101332279B1 (ko) 데이터 패킷 전송 방법 및 디바이스
US20140149616A1 (en) I2c bus structure and address management method
EP4231141A1 (en) Software update gateway and method for updating software of iot device
JP2019012870A (ja) 固体撮像素子、撮像素子、および、固体撮像素子の制御方法
CN111367852B (zh) 一种设备的操作方法、装置、设备和存储介质
US9794197B2 (en) Method and apparatus for transmitting can frame
JP4240299B2 (ja) 多局同期通信装置
JP7317745B2 (ja) データ統合処理方法、プログラム、データ統合処理用サーバ、および、可視化データ処理システム
EP3959600B1 (en) Automatic discovery and configuration of iot devices

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220106

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230113

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230425

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230519

R150 Certificate of patent or registration of utility model

Ref document number: 7284751

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150