(57)【要約】  マスタデバイスがスレーブデバイスからデータを読み出す通信システムにおいて、通信量の増大を抑制する。  通信システムは、マスタデバイスと、複数のスレーブデバイスとを具備する。複数のスレーブデバイスは、共通に割り当てられた特定のアドレスを受信した場合には各々が順にリードデータを送信する。マスタデバイスは、複数のスレーブデバイスに特定のアドレスを送信した場合には複数のスレーブデバイスから順に前記リードデータを受信する。
2019244410.tif 000002
【特許請求の範囲】
【請求項１】
共通に割り当てられた特定のアドレスを受信した場合には各々が順にリードデータを送信する複数のスレーブデバイスと、
前記複数のスレーブデバイスに前記特定のアドレスを送信した場合には前記複数のスレーブデバイスから順に前記リードデータを受信するマスタデバイスと
を具備する通信システム。
【請求項２】
前記複数のスレーブデバイスのそれぞれには、互いに異なる順番が割り当てられ、前記複数のスレーブデバイスのそれぞれは、割り当てられた前記順番で前記リードデータを送信する
請求項１記載の通信システム。
【請求項３】
前記複数のスレーブデバイスのそれぞれは、所定ビット数の前記リードデータを送信する
請求項１記載の通信システム。
【請求項４】
前記複数のスレーブデバイスのそれぞれは、１ビットの前記リードデータを送信する
請求項３記載の通信システム。
【請求項５】
前記マスタデバイスは、前記リードデータのビット数を前記複数のスレーブデバイスのそれぞれに設定し、
前記複数のスレーブデバイスのそれぞれは、前記設定されたビット数の前記リードデータを送信する
請求項１記載の通信システム。
【請求項６】
前記マスタデバイスは、所定のクロック信号を送信し、
前記複数のスレーブデバイスのそれぞれは、前記クロック信号に同期して計数値を生成し、前記リードデータを送信する順番に前記計数値が一致する際に前記リードデータを送信する
請求項１記載の通信システム。
【請求項７】
前記マスタデバイスは、所定のクロック信号を送信し、
前記複数のスレーブデバイスのそれぞれは、前記クロック信号に同期して計数値を生成し、前記計数値に対して所定の演算を行った値が前記リードデータを送信する順番に一致する際に前記リードデータを送信する
請求項１記載の通信システム。
【請求項８】
前記マスタデバイスと前記スレーブデバイスとは、Ｉ２Ｃ（Inter-Integrated Circuit）通信規格を用いて通信を行う
請求項１記載の通信システム。
【請求項９】
複数のスレーブデバイスに共通に割り当てられた特定のアドレスを前記複数のスレーブデバイスに送信した場合には前記複数のスレーブデバイスから順にリードデータを受信するマスタデバイス。
【請求項１０】
他のスレーブデバイスと共通の特定のアドレスを受信した場合には所定のクロック信号に同期して計数値を計数して前記計数値が所定の順番に一致する際にリードデータを送信するスレーブデバイス。
【請求項１１】
共通に割り当てられた特定のアドレスを複数のスレーブデバイスが受信した場合には前記複数のスレーブデバイスの各々が順にリードデータを送信する送信手順と、
マスタデバイスが、前記複数のスレーブデバイスに前記特定のアドレスを送信した場合には前記複数のスレーブデバイスから順に前記リードデータを受信する受信手順と
を具備する通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、通信システム、マスタデバイス、スレーブデバイスおよび通信方法に関する。詳しくは、マスタデバイスとスレーブデバイスとが通信を行う通信システム、マスタデバイス、スレーブデバイスおよび通信方法に関する。
【背景技術】
【０００２】
従来より、同一基板内のデバイス同士で通信を行う際などに、Ｉ２Ｃ（Inter-Integrated Circuit）通信規格が広く用いられている。例えば、マスタデバイスであるＩＣ（Integrated Circuit）と、スレーブデバイスであるＩ／Ｏ（Input Output）エクスパンダとがＩ２Ｃ通信規格を用いて通信を行う遊技機が提案されている（例えば、特許文献１参照。）。このＩ２Ｃ通信規格において、マスタデバイスがスレーブデバイスからデータを読み出す際には、まずマスタデバイスがスレーブアドレスを送信し、次にスレーブデバイスがマスタデバイスにデータを送信するという手順が実行される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−１９４０４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述の従来技術では、比較的高速なＩ２Ｃ通信規格を用いて、マスタデバイス（ＩＣなど）が、スレーブデバイス（Ｉ／Ｏエクスパンダなど）からデータを読み出すことができる。しかしながら、Ｉ２Ｃ通信規格においてマスタデバイスは、スレーブデバイスにアクセスするたびにスレーブアドレスを送信しなければならない。このため、読出し先のスレーブデバイス数が多くなるほど、リード時に送信するスレーブアドレス数が多くなり、通信量が増大してしまうという問題がある。【０００５】
本技術はこのような状況に鑑みて生み出されたものであり、マスタデバイスがスレーブデバイスからデータを読み出す通信システムにおいて、通信量の増大を抑制することを目的とする。
【課題を解決するための手段】
【０００６】
本技術は、上述の問題点を解消するためになされたものであり、その第１の側面は、共通に割り当てられた特定のアドレスを受信した場合には各々が順にリードデータを送信する複数のスレーブデバイスと、上記複数のスレーブデバイスに上記特定のアドレスを送信した場合には上記複数のスレーブデバイスから順に上記リードデータを受信するマスタデバイスとを具備する通信システム、および、その通信方法である。これにより、特定のアドレスの受信に応じて複数のスレーブデバイスからリードデータが順に送信されるという作用をもたらす。【０００７】
また、この第１の側面において、上記複数のスレーブデバイスのそれぞれには、互いに異なる順番が割り当てられ、上記複数のスレーブデバイスのそれぞれは、割り当てられた上記順番で上記リードデータを送信してもよい。これにより、割り当てられた順番でリードデータが送信されるという作用をもたらす。【０００８】
また、この第１の側面において、上記複数のスレーブデバイスのそれぞれは、所定ビット数の上記リードデータを送信してもよい。これにより、所定ビット数ずつデータが送信されるという作用をもたらす。【０００９】
また、この第１の側面において、上記複数のスレーブデバイスのそれぞれは、１ビットの上記リードデータを送信してもよい。これにより、１ビットずつデータが送信されるという作用をもたらす。【００１０】
また、この第１の側面において、上記マスタデバイスは、上記リードデータのビット数を上記複数のスレーブデバイスのそれぞれに設定し、上記複数のスレーブデバイスのそれぞれは、上記設定されたビット数の上記リードデータを送信してもよい。これにより、設定されたビット数のリードデータが送信されるという作用をもたらす。【００１１】
また、この第１の側面において、上記マスタデバイスは、所定のクロック信号を送信し、上記複数のスレーブデバイスのそれぞれは、上記クロック信号に同期して計数値を生成し、上記リードデータを送信する順番に上記計数値が一致する際に上記リードデータを送信してもよい。これにより、データを送信する順番に対応するクロック数の際にリードデータが送信されるという作用をもたらす。【００１２】
また、この第１の側面において、上記マスタデバイスは、所定のクロック信号を送信し、上記複数のスレーブデバイスのそれぞれは、上記クロック信号に同期して計数値を生成し、上記計数値に対して所定の演算を行った値が上記リードデータを送信する順番に一致する際に上記リードデータを送信してもよい。これにより、計数値を計数するカウンタが削減されるという作用をもたらす。【００１３】
また、この第１の側面において、上記マスタデバイスと上記スレーブデバイスとは、Ｉ２Ｃ（Inter-Integrated Circuit）通信規格を用いて通信を行ってもよい。これにより、Ｉ２Ｃ通信規格を用いる通信システムの通信効率が向上するという作用をもたらす。【００１４】
また、本技術の第２の側面は、複数のスレーブデバイスに共通に割り当てられた特定のアドレスを上記複数のスレーブデバイスに送信した場合には上記複数のスレーブデバイスから順にリードデータを受信するマスタデバイスである。これにより、特定のアドレスの送信に応じて複数のスレーブデバイスからのリードデータが順に受信されるという作用をもたらす。【００１５】
また、本技術の第３の側面は、他のスレーブデバイスと共通の特定のアドレスを受信した場合には所定のクロック信号に同期して計数値を計数して上記計数値が所定の順番に一致する際にリードデータを送信するスレーブデバイスである。これにより、特定のアドレスの受信に応じてリードデータが所定の順番で送信されるという作用をもたらす。
【発明の効果】
【００１６】
本技術によれば、マスタデバイスがスレーブデバイスからデータを読み出す通信システムにおいて、通信量の増大を抑制することができるという優れた効果を奏し得る。なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
【図面の簡単な説明】
【００１７】
【図１】本技術の第１の実施の形態における電子装置の一構成例を示すブロック図である。
【図２】本技術の第１の実施の形態におけるマスタの一構成例を示すブロック図である。
【図３】本技術の第１の実施の形態における補助番号テーブルの一例を示す図である。
【図４】本技術の第１の実施の形態におけるスレーブの一構成例を示すブロック図である。
【図５】本技術の第１の実施の形態におけるスレーブごとに２ビット以上のデータを読み出す場合に送受信されるデータ系列の一例を示す図である。
【図６】本技術の第１の実施の形態における信号線のレベルの一例を示すタイミングチャートである。
【図７】本技術の第１の実施の形態におけるスレーブごとに１ビットのデータを読み出す場合に送受信されるデータ系列の一例を示す図である。
【図８】本技術の第１の実施の形態におけるマスタの動作の一例を示すフローチャートである。
【図９】本技術の第１の実施の形態におけるスレーブの動作の一例を示すフローチャートである。
【図１０】本技術の第２の実施の形態におけるスレーブの一構成例を示すブロック図である。
【図１１】本技術の第２の実施の形態におけるスレーブごとに２ビットのデータを読み出す場合に送受信されるデータ系列の一例を示す図である。
【図１２】本技術の第２の実施の形態におけるマスタの動作の一例を示すフローチャートである。
【図１３】本技術の第２の実施の形態におけるスレーブの動作の一例を示すフローチャートである。
【図１４】本技術の第２の実施の形態の変形例におけるスレーブの動作の一例を示すフローチャートである。
【図１５】本技術の第３の実施の形態におけるスレーブの一構成例を示すブロック図である。
【図１６】本開示に係る技術が適用され得るＩｏＴシステムの概略的な構成の一例を示す図である。
【発明を実施するための形態】
【００１８】
以下、本技術を実施するための形態（以下、実施の形態と称する）について説明する。説明は以下の順序により行う。
１．第１の実施の形態（複数のスレーブデバイスが順にデータを送信する例）
２．第２の実施の形態（複数のスレーブデバイスが順に複数ビットのデータを送信する例）
３．第３の実施の形態（マスタデバイスが送信ビット数を設定し、複数のスレーブデバイスが順にデータを送信する例）
４．応用例
【００１９】
＜１．第１の実施の形態＞
電子装置の構成例］
図１は、本技術の第１の実施の形態における電子装置１００の一構成例を示すブロック図である。この電子装置１００は、マスタデバイス１１０と、複数のスレーブデバイス１２０とを備える。以下、マスタデバイス１１０を単に「マスタ」と称し、スレーブデバイス１２０を「スレーブ」と称する。また、スレーブの個数はＮ（Ｎは整数）であり、以下、ｎ（ｎは１乃至Ｎの整数）番目のスレーブを「スレーブ＃ｎ」と称する。
【００２０】
スレーブのそれぞれには、固有のアドレスであるスレーブアドレスが割り当てられている。また、スレーブのそれぞれには、固有のスレーブアドレスに加え、Ｉ２Ｃ通信規格に規定されていない特定のアドレスであるグローバルアドレスが共通に割り当てられている。このグローバルアドレスは、Ｎ個のスレーブをまとめて読出し先として指定するために用いられるグローバルなアドレスである。
【００２１】
マスタは、スレーブを制御するデバイスであり、スレーブは、マスタの制御に従って動作するデバイスである。マスタと複数のスレーブとは、クロック信号を伝送するＳＣＬ（Serial Clock）線と、データを伝送するＳＤＡ（Serial Data）線とに共通に接続される。マスタと、それぞれのスレーブとはこれらの信号線を介してＩ２Ｃ通信規格を用いて通信する。
【００２２】
また、マスタは、グローバルアドレスを送信し、複数のスレーブから順にリードデータを受信することができる。この通信手順の詳細については後述する。
【００２３】
マスタとしては、ＩＣやプロセッサが想定される。スレーブとしては、各種のセンサーやドライバが想定される。
【００２４】
なお、マスタなどのデバイスの全てを１つの装置内に配置しているが、この構成に限定されない。例えば、マスタを電子装置１００内に配置し、スレーブ（センサーなど）を、電子装置１００の外部に配置してもよい。なお、マスタと複数のスレーブとからなるシステムは、特許請求の範囲に記載の通信システムの一例である。
【００２５】
［マスタの構成例］
図２は、本技術の第１の実施の形態におけるマスタ（マスタデバイス１１０）の一構成例を示すブロック図である。このマスタは、補助番号テーブル１１１および通信処理部１１２を備える。
【００２６】
通信処理部１１２は、Ｉ２Ｃ通信規格を用いてスレーブ（スレーブデバイス１２０）との間で通信を行うものである。
【００２７】
ここで、Ｉ２Ｃ通信規格においてマスタがスレーブとの間で通信を行う際には、まずマスタがスタートコンディションと、アクセス先の固有のスレーブアドレスと、リードまたはライトの要求とを順に送信する。そして、スレーブがＡＣＫ（ACKnowledge）を返し、リードの際はスレーブがリードデータを送信し、ライトの際はマスタがライトデータを送信する。
【００２８】
通信処理部１１２は、スレーブへライトデータを送信する場合と、スレーブから２ビット以上のリードデータを受信する場合とにおいて、上述のＩ２Ｃ通信規格の手順に従って通信を行う。
【００２９】
一方、通信処理部１１２は、複数のスレーブのそれぞれから１ビットのリードデータを受信する場合において、それらのスレーブにグローバルアドレスとリードの要求とを送信する。そして、複数のスレーブのそれぞれから順にリードデータを受信する。
【００３０】
補助番号テーブル１１１は、スレーブごとに補助番号を保持するテーブルである。ここで、補助番号は、グローバルアドレスを受信した際にスレーブがリードデータを送信する順番を示す情報である。
【００３１】
通信処理部１１２は、グローバルアドレスの送信時に補助番号テーブル１１１を参照し、それぞれの順番（補助番号）で送信されたリードデータを、その補助番号に対応するスレーブのデータとして受信し、処理する。
【００３２】
図３は、本技術の第１の実施の形態における補助番号テーブル１１１の一例を示す図である。この補助番号テーブル１１１には、スレーブアドレスのそれぞれに対応付けて補助番号が保持される。例えば、スレーブ＃１のスレーブアドレス１には、補助番号「１」が対応付けられる。スレーブ＃２のスレーブアドレス２には、補助番号「２」が対応付けられる。補助番号「ｎ」は、送信の順番がｎ番目であることを示す。Ｎ個のスレーブアドレスには、互いに異なる補助番号（すなわち、順番）が設定される。
【００３３】
［スレーブの構成例］
図４は、本技術の第１の実施の形態におけるスレーブ（スレーブデバイス１２０）の一構成例を示すブロック図である。このスレーブは、Ｉ２Ｃ通信処理部１２１、グローバルアドレス認識部１２２、ステートマシン１２３、カウンタ１２４、アドレス保持部１２５および補助番号保持部１２６を備える。
【００３４】
アドレス保持部１２５は、スレーブに個別に割り当てられたスレーブアドレスと、全てのスレーブに共通に割り当てられたグローバルアドレスとを保持するものである。補助番号保持部１２６は、スレーブに対応付けられた補助番号を保持するものである。
【００３５】
Ｉ２Ｃ通信処理部１２１は、Ｉ２Ｃ通信規格を用いてマスタとの間で通信を行うものである。このＩ２Ｃ通信処理部１２１は、アドレス保持部１２５からスレーブアドレスを読出し、マスタから受信したアドレスがスレーブアドレスであるか否かを判断する。そして、スレーブアドレスである（すなわち、スレーブアドレスを認識した）場合にＩ２Ｃ通信処理部１２１は、Ｉ２Ｃ通信規格の手順に従って通信を行う。
【００３６】
グローバルアドレス認識部１２２は、アドレス保持部１２５からグローバルアドレスを読出し、マスタから受信したアドレスがグローバルアドレスであるか否かを判断するものである。このグローバルアドレス認識部１２２は、グローバルアドレスである（すなわち、グローバルアドレスを認識した）か否かを示す認識結果をステートマシン１２３に供給する。
【００３７】
ステートマシン１２３は、グローバルアドレスが認識された際にリードデータを送信するものである。このステートマシン１２３は、グローバルアドレスが認識されると、ＡＣＫを返信する際に、カウンタ１２４の計数値ＣＮＴを初期値（例えば、「１」）にする。そして、ステートマシン１２３は、補助番号保持部１２６から補助番号を読み出し、計数値ＣＮＴに応じた値と補助番号とが一致するか否かを判断する。計数値ＣＮＴが補助番号に一致した際にステートマシン１２３は、１ビットのリードデータをＳＤＡ線を介してマスタに送信する。一方、補助番号に一致しない場合にステートマシン１２３は、ＳＣＬ線からのクロック信号に同期してカウンタ１２４に計数値ＣＮＴをカウントアップさせる。
【００３８】
カウンタ１２４は、リードデータが送信された回数を計数して計数値ＣＮＴを生成するものである。この送信回数がスレーブの順番になったときにステートマシン１２３によりリードデータが送信される。
【００３９】
図５は、本技術の第１の実施の形態におけるスレーブ（スレーブデバイス１２０）ごとに２ビット以上のデータを読み出す場合に送受信されるデータの配列を示す図である。同図におけるａは、スレーブ＃１が読出し先の場合に送受信されるデータ系列の一例を示す図である。同図におけるｂは、スレーブ＃２が読出し先の場合に送受信されるデータ系列の一例を示す図である。
【００４０】
マスタは、まず、タイミングＴ０乃至Ｔ１の期間において、スタートコンディションＳを送信し、タイミングＴ１乃至Ｔ２の期間において７ビットのスレーブアドレス１を送信する。次いでマスタは、タイミングＴ２乃至Ｔ３の期間においてリード要求Ｒを送信する。
【００４１】
一方、スレーブ＃１は、タイミングＴ３乃至Ｔ４の期間においてＡＣＫを返し、タイミングＴ４乃至Ｔ５の期間において複数ビット（例えば、８ビット）のリードデータ１をマスタに送信する。
【００４２】
マスタは、タイミングＴ５乃至Ｔ６の期間においてＮＡＫ（Negative AcKnowledgement）を返し、タイミングＴ６以降においてストップコンディションＰを送信する。
【００４３】
また、スレーブ＃２から読み出す際も同様にマスタがスタートコンディションＳ、スレーブアドレス２およびリード要求Ｒを送信する。スレーブは、ＡＣＫおよびリードデータ２を送信し、マスタは、ＮＡＫおよびストップコンディションＰを送信する。
【００４４】
Ｉ２Ｃ通信規格の手順では、同図に例示したように、マスタは、スレーブごとにスレーブアドレスやスタートコンディションＳを送信する必要がある。このため、スレーブ数が多くなるほど、通信量が増大する。仮に、スレーブごとに１ビットしか読み出さない場合であってもＩ２Ｃ通信規格では、スレーブごとにスレーブアドレス等を送信することが要求される。
【００４５】
図６は、本技術の第１の実施の形態における信号線のレベルの遷移の一例を示すタイミングチャートである。
【００４６】
タイミングＴ０乃至Ｔ１の期間においてマスタは、ＳＣＬ線をハイレベルにし、ＳＤＡ線をローレベルにする。この状態はスタートコンディションと呼ばれる。このスタートコンディションＳの次に、マスタは、Ａ［１］乃至Ａ［５］などのデータをクロック信号に同期して順に送信する。Ａ［ｍ］（ｍは整数）は、アドレス内のｍ番目のビットである。
【００４７】
そして、タイミングＴ６以降においてマスタは、ＳＣＬ線をローレベルにし、ＳＤＡ線をローレベルにする。この状態はストップコンディションと呼ばれる。
【００４８】
図７は、本技術の第１の実施の形態におけるスレーブ（スレーブデバイス１２０）ごとに１ビットのデータを読み出す場合に送受信されるデータ系列の一例を示す図である。
【００４９】
マスタは、まず、タイミングＴ０乃至Ｔ１の期間において、スタートコンディションＳを送信し、タイミングＴ１乃至Ｔ２の期間において７ビットのグローバルアドレスを送信する。次いでマスタは、タイミングＴ２乃至Ｔ３の期間においてリード要求Ｒを送信する。
【００５０】
一方、いずれかのスレーブは、タイミングＴ３乃至Ｔ４の期間においてＡＣＫを返す。例えば、補助番号（順番）が「１」のスレーブ＃１によりＡＣＫが返信される。
【００５１】
タイミングＴ４乃至Ｔ５の期間において、Ｎ個のスレーブは、順に１ビットのリードデータを送信する。例えば、補助番号が「１」のスレーブ＃１が、最初にリードデータＤ［１］を送信する。次に補助番号が「２」のスレーブ＃２が、リードデータＤ［２］を送信する。以下、同様に、補助番号の順にデータが送信され、最後に、スレーブ＃ＮによりリードデータＤ［Ｎ］が送信される。このように、複数のスレーブは、順番にリードデータを送信するため、それぞれのスレーブのリードデータの衝突を防止することができる。
【００５２】
そして、マスタは、タイミングＴ５乃至Ｔ６の期間においてＮＡＫを返し、タイミングＴ６以降においてストップコンディションＰを送信する。
【００５３】
なお、ｎ番目にスレーブ＃ｎがデータを送信しているが、送信順序は、この例に限定されない。例えば、最初にスレーブ＃２がデータを送信し、２番目にスレーブ＃Ｎがデータを送信することもできる。
【００５４】
Ｉ２Ｃ通信規格に従った図５の手順と、図７の手順とを比較すると、Ｉ２Ｃ通信規格では、マスタが、スレーブごとにスレーブアドレスを送信する必要があるため、スレーブ数が多くなるほど通信量が増大する。例えば、スレーブアドレスが７ビットであり、スレーブ数がＮである場合には、７×Ｎビットのアドレス群をマスタが送信する必要がある。このため、リードデータのデータサイズが少なくなるほど、通信効率が低下してしまう。ここで、通信効率は、送受信する全データに対するリードデータの比率を示す。
【００５５】
これに対して、図７に例示した手順では、スレーブ数に関わらず、マスタはグローバルアドレスのみを送信すればよいため、通信量の増大を抑制することができる。例えば、グローバルアドレスが７ビットであり、スレーブ数がＮであってもアドレスについて送信するデータは、７ビットで済む。このため、図５の手順と比較して通信効率を向上させることができる。
【００５６】
図７に例示する手順は、例えば、複数のスレーブ（センサーなど）から、そのステータスフラグをマスタが収集する際などに実行される。
【００５７】
［マスタの動作例］
図８は、本技術の第１の実施の形態におけるマスタ（マスタデバイス１１０）の動作の一例を示すフローチャートである。この動作は、例えば、スレーブごとに１ビットを読み出すためのアプリケーションが実行されたときに開始される。マスタは、まず、スタートコンディションの後にグローバスアドレスを送信する（ステップＳ９０１）。
【００５８】
マスタは、リード要求を送信し、ＡＣＫを受信すると変数ｎを初期値「１」に設定する（ステップＳ９０２）。そして、マスタは、補助番号がｎのスレーブから１ビットのリードデータを受信する（ステップＳ９０３）。マスタは、全スレーブからリードデータを受信したか否かを判断する（ステップＳ９０４）。
【００５９】
いずれかのスレーブからリードデータを受信していない場合に（ステップＳ９０４：Ｎｏ）、マスタは、クロック信号に同期してｎをインクリメントし（ステップＳ９０５）、ステップＳ９０３以降を繰り返し実行する。一方、全スレーブからリードデータを受信した場合に（ステップＳ９０４：Ｙｅｓ）、マスタは、ＮＡＫおよびストップコンディションを送信し、リード処理を終了する。
【００６０】
［スレーブの動作例］
図９は、本技術の第１の実施の形態におけるスレーブ（スレーブデバイス１２０）の動作の一例を示すフローチャートである。この動作は、通信のためのアプリケーションが開始された場合に開始される。
【００６１】
スレーブは、グローバルアドレスを認識したか否かを判断する（ステップＳ９５１）。グローバルアドレスを認識しない場合に（ステップＳ９５１：Ｎｏ）、スレーブは、Ｉ２Ｃ通信規格に従って処理を行い、ステップＳ９５１以降を繰り返す。
【００６２】
一方、グローバルアドレスを認識した場合に（ステップＳ９５１：Ｙｅｓ）、スレーブは、ＡＣＫの返信のタイミングでカウンタ１２４の計数値ＣＮＴを「１」にリセットする（ステップＳ９５２）。スレーブは、計数値ＣＮＴが補助番号と一致するか否かを判断する（ステップＳ９５３）。計数値ＣＮＴが補助番号と一致しない場合（ステップＳ９５３：Ｎｏ）、スレーブは、クロック信号に同期して計数値ＣＮＴをインクリメントし（ステップＳ９５５）、ステップＳ９５３以降を繰り返す。
【００６３】
一方、計数値ＣＮＴが補助番号と一致する場合に（ステップＳ９５３：Ｙｅｓ）、スレーブは、１ビットのリードデータを送信し（ステップＳ９５４）、通信を終了する。
【００６４】
このように、本技術の第１の実施の形態によれば、マスタがグローバルアドレスを送信し、スレーブのそれぞれからリードデータを順に受信するため、スレーブごとにスレーブアドレスを送信する場合と比較して通信量の増大を抑制することができる。
【００６５】
＜２．第２の実施の形態＞
上述の第１の実施の形態では、マスタは、スレーブのそれぞれから１ビットのリードデータを順に受信していたが、２ビット以上のリードデータを受信する際はスレーブごとにスレーブアドレスを送信しなければならず、通信量が増大してしまう。この第２の実施の形態の通信システムは、マスタがグローバルアドレスを送信時に、スレーブのそれぞれから２ビット以上のリードデータを順に受信する点において第１の実施の形態と異なる。
【００６６】
図１０は、本技術の第２の実施の形態におけるスレーブ（スレーブデバイス１２０）の一構成例を示すブロック図である。この第２の実施の形態のスレーブは、送信ビット数保持部１２７およびカウンタ１２８をさらに備える点において第１の実施の形態と異なる。
【００６７】
カウンタ１２８は、スレーブが送信したビット数を計数するものである。カウンタ１２４は、第１の実施の形態と同様にリードデータの送信回数を計数するために用いられる。送信ビット数保持部１２７は、スレーブのそれぞれが送信すべきリードデータのビット数を送信ビット数として保持するものである。
【００６８】
図１１は、本技術の第２の実施の形態におけるスレーブ（スレーブデバイス１２０）ごとに２ビットのデータを読み出す場合に送受信されるデータ系列の一例を示す図である。
【００６９】
第２の実施の形態におけるタイミングＴ４までの手順は、第１の実施の形態と同様である。タイミングＴ４乃至Ｔ５の期間において、Ｎ個のスレーブは、順に２ビットのリードデータを送信する。例えば、スレーブ＃１が、最初に、Ｄ［１］およびＤ［２］からなるリードデータを送信する。次にスレーブ＃２が、Ｄ［３］およびＤ［４］からなるリードデータを送信する。以下、同様に、順に２ビットずつデータが送信される。
【００７０】
そして、マスタは、タイミングＴ５乃至Ｔ６の期間においてＮＡＫを返し、タイミングＴ６以降においてストップコンディションＰを送信する。
【００７１】
なお、第２の実施の形態において、グローバルアドレスを受信した際のスレーブごとの送信ビット数を２ビットに設定しているが、送信ビット数は２ビットに限定されない。グローバルアドレスを受信した際に、それぞれのスレーブが、３ビット以上の固定のビット数のリードデータを送信することもできる。
【００７２】
図１２は、本技術の第２の実施の形態におけるマスタ（マスタデバイス１１０）の動作の一例を示すフローチャートである。この第２の実施の形態のマスタの動作は、ステップＳ９０３の代わりにステップＳ９１１が実行される点において第１の実施の形態と異なる。
【００７３】
マスタは、変数ｎを初期値「１」に設定し（ステップＳ９０２）、補助番号がｎのスレーブから２ビットのリードデータを受信する（ステップＳ９１１）。
【００７４】
図１３は、本技術の第２の実施の形態におけるスレーブ（スレーブデバイス１２０）の動作の一例を示すフローチャートである。この第２の実施の形態のスレーブの動作は、ステップＳ９５２の代わりにステップＳ９６１を実行し、ステップＳ９６２乃至Ｓ９６５をさらに実行する点において第１の実施の形態と異なる。
【００７５】
グローバルアドレスを認識した場合に（ステップＳ９５１：Ｙｅｓ）、スレーブは、ＡＣＫの返信のタイミングでカウンタ１２４の計数値ＣＮＴとカウンタ１２８の計数値ｋとを「１」にリセットする（ステップＳ９６１）。スレーブは、計数値ＣＮＴが補助番号と一致するか否かを判断する（ステップＳ９５３）。計数値ＣＮＴが補助番号と一致する場合に（ステップＳ９５３：Ｙｅｓ）、スレーブは、リードデータのうち１ビットを送信する（ステップＳ９５４）。計数値ＣＮＴが補助番号と一致しない場合（ステップＳ９５３：Ｎｏ）、または、ステップＳ９５４の後にスレーブは、計数値ｋをインクリメントする（ステップＳ９６２）。
【００７６】
そして、スレーブは、計数値ｋが送信ビット数と一致するか否かを判断する（ステップＳ９６３）。計数値ｋが送信ビット数と一致しない場合に（ステップＳ９６３：Ｎｏ）、スレーブは、ステップＳ９５４以降を繰り返し実行する。一方、計数値ｋが送信ビット数と一致する場合に（ステップＳ９６３：Ｙｅｓ）、スレーブは、計数値ＣＮＴをインクリメントし（ステップＳ９５５）、計数値ｋをリセットする（ステップＳ９６４）。スレーブは、一定回数のステップＳ９５４の実行により、リードデータの送信が完了したか否かを判断する（ステップＳ９６５）。
【００７７】
送信が完了していない場合（ステップＳ９６５：Ｎｏ）、スレーブは、ステップＳ９５３以降を繰り返し実行する。一方、送信が完了した場合（ステップＳ９６５：Ｙｅｓ）、スレーブは、通信を終了する。
【００７８】
このように、本技術の第２の実施の形態によれば、グローバルアドレスを受信したスレーブのそれぞれが２ビット以上のリードデータを送信するため、第１の実施の形態と比較して通信効率を向上させることができる。
【００７９】
［変形例］
上述の第２の実施の形態では、送信したビット数を計数するためにスレーブ内にカウンタ１２８をさらに設けていたが、カウンタ１２８を追加した分、回路規模が増大してしまう。この第２の実施の形態の変形例のスレーブは、カウンタ１２８を削除し、カウンタ１２８の計数値ｋに対して演算を行う点において第２の実施の形態と異なる。
【００８０】
図１４は、本技術の第２の実施の形態の変形例におけるスレーブ（スレーブデバイス１２０）の動作の一例を示すフローチャートである。この第２の実施の形態の変形例におけるスレーブの動作は、ステップＳ９５４およびＳ９５５の代わりに、ステップＳ９７１乃至Ｓ９７３が実行される点において第１の実施の形態と異なる。
【００８１】
スレーブは、ステップＳ９５２の後に、例えば、計数値ＣＮＴを送信ビット数Ｋにより除算し、端数を処理（四捨五入など）する演算を行う（ステップＳ９７１）。
【００８２】
スレーブは、演算結果が補助番号と一致するか否かを判断する（ステップＳ９７２）。補助番号と一致しない場合（ステップＳ９７２：Ｎｏ）、スレーブは、ステップＳ９５５以降を繰り返す。
【００８３】
一方、演算結果が補助番号と一致する場合に（ステップＳ９７２：Ｙｅｓ）、スレーブは、Ｋビットのリードデータを送信し（ステップＳ９７３）、通信を終了する。
【００８４】
このように、本技術の第２の実施の形態の変形例によれば、スレーブが、計数値ｋを送信ビット数で除算した値と補助番号とを比較するため、送信したビット数を計数するカウンタ１２８を削減することができる。
【００８５】
＜３．第３の実施の形態＞
上述の第２の実施の形態では、送信ビット数を固定値としているが、その固定値よりビット数の多いリードデータをスレーブごとに読み出す際に通信効率が低下するおそれがある。この第３の実施の形態の通信システムは、送信ビット数を可変とし、その値をマスタが設定する点において第２の実施の形態と異なる。
【００８６】
図１５は、本技術の第３の実施の形態におけるスレーブ（スレーブデバイス１２０）の一構成例を示すブロック図である。この第３の実施の形態のスレーブは、Ｉ２Ｃ通信処理部１２１の代わりにＩ２Ｃ通信処理部１２９を備える点において第２の実施の形態と異なる。
【００８７】
Ｉ２Ｃ通信処理部１２９は、マスタから送信ビット数の設定値を受信し、その設定値により送信ビット数保持部１２７の保持値を更新する。
【００８８】
第３の実施の形態のマスタは、例えば、スレーブアドレスの送信によりスレーブのそれぞれに送信ビット数を個別に設定する。なお、マスタは、グローバルアドレスに類似した共通のアドレスの送信により、送信ビット数を全てのスレーブに同時に設定することもできる。
【００８９】
このように、本技術の第３の実施の形態によれば、マスタがスレーブのそれぞれに送信ビット数を設定するため、ビット数の多いリードデータを読み出す際の通信効率の低下を抑制することができる。
【００９０】
＜４．応用例＞
本開示に係る技術は、いわゆる「物のインターネット」であるＩｏＴ（Ｉｎｔｅｒｎｅｔ  ｏｆ  ｔｈｉｎｇｓ）と呼ばれる技術へ応用可能である。ＩｏＴとは、「物」であるＩｏＴデバイス９１００が、他のＩｏＴデバイス９００３、インターネット、クラウド９００５などに接続され、情報交換することにより相互に制御する仕組みである。ＩｏＴは、農業、家、自動車、製造、流通、エネルギー、など様々な産業に利用できる。
【００９１】
図１６は、本開示に係る技術が適用され得るＩｏＴシステム９０００の概略的な構成の一例を示す図である。ＩｏＴデバイス９００１には、温度センサー、湿度センサー、照度センサー、加速度センサー、距離センサー、画像センサー、ガスセンサー、人感センサーなどの各種センサーなどが含まれる。また、ＩｏＴデバイス９００１には、スマートフォン、携帯電話、ウェアラブル端末、ゲーム機器などの端末を含めてもよい。ＩｏＴデバイス９００１は、ＡＣ電源、ＤＣ電源、電池、非接触給電、いわゆるエナジーハーベストなどにより給電される。ＩｏＴデバイス９００１は、有線、無線、近接無線通信などにより通信することができる。通信方式は３Ｇ／ＬＴＥ、ＷｉＦｉ、ＩＥＥＥ８０２．１５．４、Ｂｌｕｅｔｏｏｔｈ、Ｚｉｇｂｅｅ（登録商標）、Ｚ−Ｗａｖｅなどが好適に用いられる。ＩｏＴデバイス９００１は、これらの通信手段の複数を切り替えて通信してもよい。
【００９２】
ＩｏＴデバイス９００１は、１対１、星状、ツリー状、メッシュ状のネットワークを形成してもよい。ＩｏＴデバイス９００１は、直接に、またはゲートウエイ９００２を通して、外部のクラウド９００５に接続してもよい。ＩｏＴデバイス９００１には、ＩＰｖ４、ＩＰｖ６、６ＬｏＷＰＡＮなどによって、アドレスが付与される。ＩｏＴデバイス９００１から収集されたデータは、他のＩｏＴデバイス９００３、サーバ９００４、クラウド９００５などに送信される。ＩｏＴデバイス９００１からデータを送信するタイミングや頻度は好適に調整され、データを圧縮して送信してもよい。このようなデータはそのまま利用してもよく、統計解析、機械学習、データマイニング、クラスタ分析、判別分析、組み合わせ分析、時系列分析など様々な手段でデータをコンピュータ９００８で分析してもよい。このようなデータを利用することにより、コントロール、警告、監視、可視化、自動化、最適化、など様々なサービスを提供することができる。
【００９３】
本開示に係る技術は、家に関するデバイス、サービスにも応用可能である。家におけるＩｏＴデバイス９００１には、洗濯機、乾燥機、ドライヤ、電子レンジ、食洗機、冷蔵庫、オーブン、炊飯器、調理器具、ガス器具、火災報知器、サーモスタット、エアコン、テレビ、レコーダ、オーディオ、照明機器、温水器、給湯器、掃除機、扇風機、空気清浄器、セキュリティカメラ、錠、扉・シャッター開閉装置、スプリンクラー、トイレ、温度計、体重計、血圧計などが含まれる。さらにＩｏＴデバイス９００１には、太陽電池、燃料電池、蓄電池、ガスメータ、電力メータ、分電盤を含んでもよい。
【００９４】
家におけるＩｏＴデバイス９００１の通信方式は、低消費電力タイプの通信方式が望ましい。また、ＩｏＴデバイス９００１は屋内ではＷｉＦｉ、屋外では３Ｇ/ＬＴＥにより通信するようにしてもよい。クラウド９００５上にＩｏＴデバイス制御用の外部サーバ９００６を設置し、ＩｏＴデバイス９００１を制御してもよい。ＩｏＴデバイス９００１は、家庭機器の状況、温度、湿度、電力使用量、家屋内外の人・動物の存否などのデータを送信する。家庭機器から送信されたデータは、クラウド９００５を通じて、外部サーバ９００６に蓄積される。このようなデータに基づき、新たなサービスが提供される。このようなＩｏＴデバイス９００１は、音声認識技術を利用することにより、音声によりコントロールすることができる。
【００９５】
また各種家庭機器からテレビに情報を直接送付することにより、各種家庭機器の状態を可視化することができる。さらには、各種センサーが居住者の有無を判断し、データを空調機、照明などに送付することで、それらの電源をオン・オフすることができる。さらには、各種家庭機器に供えられたディスプレイにインターネットを通じて広告を表示することができる。
【００９６】
以上、本開示に係る技術が適用され得るＩｏＴシステム９０００の一例について説明した。本開示に係る技術は、以上説明した構成のうち、ＩｏＴデバイス９００１に好適に適用され得る。ＩｏＴデバイス９００１に本開示に係る技術を適用することにより、ＩｏＴデバイス９００１内のマスタおよびスレーブ間の通信量を削減して、性能を向上させることができる。
【００９７】
なお、上述の実施の形態は本技術を具現化するための一例を示したものであり、実施の形態における事項と、特許請求の範囲における発明特定事項とはそれぞれ対応関係を有する。同様に、特許請求の範囲における発明特定事項と、これと同一名称を付した本技術の実施の形態における事項とはそれぞれ対応関係を有する。ただし、本技術は実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において実施の形態に種々の変形を施すことにより具現化することができる。
【００９８】
また、上述の実施の形態において説明した処理手順は、これら一連の手順を有する方法として捉えてもよく、また、これら一連の手順をコンピュータに実行させるためのプログラム乃至そのプログラムを記憶する記録媒体として捉えてもよい。この記録媒体として、例えば、ＣＤ（Compact Disc）、ＭＤ（MiniDisc）、ＤＶＤ（Digital Versatile Disc）、メモリカード、ブルーレイディスク（Blu-ray（登録商標）Disc）等を用いることができる。
【００９９】
なお、本明細書に記載された効果はあくまで例示であって、限定されるものではなく、また、他の効果があってもよい。
【０１００】
なお、本技術は以下のような構成もとることができる。
（１）共通に割り当てられた特定のアドレスを受信した場合には各々が順にリードデータを送信する複数のスレーブデバイスと、
前記複数のスレーブデバイスに前記特定のアドレスを送信した場合には前記複数のスレーブデバイスから順に前記リードデータを受信するマスタデバイスと
を具備する通信システム。
（２）前記複数のスレーブデバイスのそれぞれには、互いに異なる順番が割り当てられ、前記複数のスレーブデバイスのそれぞれは、割り当てられた前記順番で前記リードデータを送信する
前記（１）記載の通信システム。
（３）前記複数のスレーブデバイスのそれぞれは、所定ビット数の前記リードデータを送信する
前記（１）または（２）に記載の通信システム。
（４）前記複数のスレーブデバイスのそれぞれは、１ビットの前記リードデータを送信する
前記（３）記載の通信システム。
（５）前記マスタデバイスは、前記リードデータのビット数を前記複数のスレーブデバイスのそれぞれに設定し、
前記複数のスレーブデバイスのそれぞれは、前記設定されたビット数の前記リードデータを送信する
前記（１）から（４）のいずれかに記載の通信システム。
（６）前記マスタデバイスは、所定のクロック信号を送信し、
前記複数のスレーブデバイスのそれぞれは、前記クロック信号に同期して計数値を生成し、前記リードデータを送信する順番に前記計数値が一致する際に前記リードデータを送信する
前記（１）から（５）のいずれかに記載の通信システム。
（７）前記マスタデバイスは、所定のクロック信号を送信し、
前記複数のスレーブデバイスのそれぞれは、前記クロック信号に同期して計数値を生成し、前記計数値に対して所定の演算を行った値が前記リードデータを送信する順番に一致する際に前記リードデータを送信する
前記（１）から（５）のいずれかに記載の通信システム。
（８）前記マスタデバイスと前記スレーブデバイスとは、Ｉ２Ｃ（Inter-Integrated Circuit）通信規格を用いて通信を行う
前記（１）から（７）のいずれかに記載の通信システム。
（９）複数のスレーブデバイスに共通に割り当てられた特定のアドレスを前記複数のスレーブデバイスに送信した場合には前記複数のスレーブデバイスから順にリードデータを受信するマスタデバイス。
（１０）他のスレーブデバイスと共通の特定のアドレスを受信した場合には所定のクロック信号に同期して計数値を計数して前記計数値が所定の順番に一致する際にリードデータを送信するスレーブデバイス。
（１１）共通に割り当てられた特定のアドレスを複数のスレーブデバイスが受信した場合には前記複数のスレーブデバイスの各々が順にリードデータを送信する送信手順と、
マスタデバイスが、前記複数のスレーブデバイスに前記特定のアドレスを送信した場合には前記複数のスレーブデバイスから順に前記リードデータを受信する受信手順と
を具備する通信方法。
【符号の説明】
【０１０１】
１００  電子装置
１１０  マスタデバイス
１１１  補助番号テーブル
１１２  通信処理部
１２１、１２９  Ｉ２Ｃ通信処理部
１２０  スレーブデバイス
１２２  グローバスアドレス認識部
１２３  ステートマシン
１２４、１２８  カウンタ
１２５  アドレス保持部
１２６  補助番号保持部
１２７  送信ビット数保持部
９００１  ＩｏＴデバイス
【図１】
2019244410.tif 000003
【図２】
2019244410.tif 000004
【図３】
2019244410.tif 000005
【図４】
2019244410.tif 000006
【図５】
2019244410.tif 000007
【図６】
2019244410.tif 000008
【図７】
2019244410.tif 000009
【図８】
2019244410.tif 000010
【図９】
2019244410.tif 000011
【図１０】
2019244410.tif 000012
【図１１】
2019244410.tif 000013
【図１２】
2019244410.tif 000014
【図１３】
2019244410.tif 000015
【図１４】
2019244410.tif 000016
【図１５】
2019244410.tif 000017
【図１６】
2019244410.tif 000018
【国際調査報告】
2019244410.tif 000019
2019244410.tif 000020