(57)【要約】      （修正有）【課題】ＳＰＩ通信において、より少ないデータ量で実現でき、通信データを削減し、通信速度を向上させるマスター回路及びスレープ回路を提供する。【解決手段】第１の転送データと、所定の規則で関連付けられた第２の転送データとを送信し、受信側で、所定の規則で関連付けられているかどうか判定することで整合性判定をおこなう。【選択図】図１
2015037211.tif 000002
【特許請求の範囲】
【請求項１】
コマンドデータを生成及び送信するコマンドデータ生成部と、
第１の応答データ部及び第２の応答データ部を含み、コマンドデータに対応する応答データをスレーブ回路から受信するデータ受信部と、
前記第１の応答データ部と前記第２の応答データ部とが所定の規則で関連付けされている否かを判定するデータ処理部と、
を備えているSerial Peripheral Interface通信を用いたマスター回路。
【請求項２】
前記データ処理部は、前記第１の応答データ部及び前記第２の応答データ部それぞれが予め定められたビット値からなるデータである否か、前記第２の応答データ部のビットが前記第１の応答データ部のビット値を反転させたビット値であるか否か、又は、前記第２の応答データ部が前記第１の応答データ部を所定のビット数分シフトさせたビット値であるか否かを判定することによって、前記所定の規則で関連付けされている否かを判定する、請求項１に記載のマスター回路。
【請求項３】
前記第２の応答データ部のデータ量は、前記第１の応答データ部のデータ量及び／又は前記コマンドデータのデータ量と同程度又は同じである、請求項１又は２に記載のマスター回路。
【請求項４】
マスター回路からコマンドデータを受信するコマンドデータ受信部と、
第１の応答データ部と第２の応答データ部とを所定の規則で関連付けすることによって、前記第１の応答データ部及び前記第２の応答データ部を含み、前記コマンドデータに対応する応答データを生成する応答データ生成部と、
前記応答データを前記マスター回路に送信する送信部と、
を備えているSerial Peripheral Interface通信を用いたスレーブ回路。
【請求項５】
前記応答データ生成部は、前記第１の応答データ部及び前記第２の応答データ部それぞれが予め定められたビット値からなるデータとし、前記第２の応答データ部のビット値が前記第１の応答データ部のビット値を反転させたビット値とし、又は、前記第２の応答データ部のビット値が前記第１の応答データ部を所定のビット数分シフトさせたビット値とすることによって、前記第１の応答データ部と前記第２の応答データ部とを所定の規則で関連付けして応答データを生成する、請求項４に記載のスレーブ回路。
【請求項６】
前記第２の応答データ部のデータ量は、前記第１の応答データ部のデータ量及び／又は前記コマンドデータのデータ量と同程度又は同じである、請求項４又は５に記載のスレーブ回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、Serial Peripheral Interface（SPI）通信を用いたマスター回路及びスレーブ回路に関する。
【背景技術】
【０００２】
従来、SPI通信において、マスター回路及びスレーブ回路は、データ通信エラーを回避するために、巡回冗長検査（Cyclic Redundancy Check, CRC）などを用いてデータの整合性を判定していた。
【０００３】
しなしながら、送信対象のデータが１バイト程度である場合であっても、CRCでは、整合性の判定のために、送信対象のデータより大きいデータが必要となっていた。これにより、通信全体で必要となるデータ量が多くなり、通信速度の低下が生じていた。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の実施例は、SPI通信において、より少ないデータ量で実現でき、より簡単なデータ整合性の判定を採用することにより、通信データを削減し、通信速度を向上させる。
【課題を解決するための手段】
【０００５】
本発明の実施例によるSerial Peripheral Interface通信を用いたマスター回路は、コマンドデータを生成及び送信するコマンドデータ生成部と、第１の応答データ部及び第２の応答データ部を含み、コマンドデータに対応する応答データをスレーブ回路から受信するデータ受信部と、第１の応答データ部と第２の応答データ部とが所定の規則で関連付けされている否かを判定するデータ処理部と、を備えることができる。
【０００６】
本発明の実施例によるSerial Peripheral Interface通信を用いたマスター回路は、データ処理部が、第１の応答データ部及び第２の応答データ部それぞれが予め定められたビット値からなるデータである否か、第２の応答データ部のビットが第１の応答データ部のビット値を反転させたビット値であるか否か、又は、第２の応答データ部が第１の応答データ部を所定のビット数分シフトさせたビット値であるか否かを判定することによって、所定の規則で関連付けされている否かを判定することができる。
【０００７】
本発明の実施例によるSerial Peripheral Interface通信を用いたマスター回路は、第２の応答データ部のデータ量が、第１の応答データ部のデータ量及び／又はコマンドデータのデータ量と同程度又は同じであるようにすることができる。
【０００８】
本発明の実施例によるSerial Peripheral Interface通信を用いたスレーブ回路は、マスター回路からコマンドデータを受信するコマンドデータ受信部と、第１の応答データ部と第２の応答データ部とを所定の規則で関連付けすることによって、第１の応答データ部及び第２の応答データ部を含み、コマンドデータに対応する応答データを生成する応答データ生成部と、応答データをマスター回路に送信する送信部と、を備えることができる。
【０００９】
本発明の実施例によるSerial Peripheral Interface通信を用いたスレーブ回路は、応答データ生成部が、第１の応答データ部及び第２の応答データ部それぞれが予め定められたビット値からなるデータとし、第２の応答データ部のビット値が第１の応答データ部のビット値を反転させたビット値とし、又は、第２の応答データ部のビット値が第１の応答データ部を所定のビット数分シフトさせたビット値とすることによって、第１の応答データ部と第２の応答データ部とを所定の規則で関連付けして応答データを生成することができる。
【００１０】
本発明の実施例によるSerial Peripheral Interface通信を用いたスレーブ回路は、第２の応答データ部のデータ量が、第１の応答データ部のデータ量及び／又はコマンドデータのデータ量と同程度又は同じであるようにすることができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、本発明の実施例に係る装置１００を示した図である。
【図２】図２は、マスター回路が生成するコマンドデータの例を示した図である。
【図３】図３は、スレーブ回路が生成する応答データの例を示した図である。
【発明を実施するための形態】
【００１２】
図１は、本発明の実施例に係る装置１００を示した図である。装置１００は、マスター回路１０５及びスレーブ回路１３０を含む。マスター回路１０５及びスレーブ回路１３０は、３つの信号線１６５、１７０、１７５を介して接続されている。マスター回路１０５とスレーブ回路１３０との接続方式には、例えば、シリアル・ペリフェラル・インタフェース(Serial Peripheral Interface, SPI)が用いられる。
【００１３】
マスター回路１０５は、クロック信号生成部１１０、コマンドデータ生成部１１５、データ受信部１２０及びデータ処理部１２２を含む。クロック信号生成部１１０、コマンドデータ生成部１１５、データ受信部１２０及びデータ処理部１２２は、バス１２５介して、それぞれが互いに接続されている。
【００１４】
スレーブ回路１３０は、クロック信号受信部１３５、コマンドデータ受信部１４０、応答データ生成部１４５、処理対象データ生成部１５０及びデータ送信部１５５を含む。クロック信号受信部１３５、コマンドデータ受信部１４０、応答データ生成部１４５、処理対象データ生成部１５０及びデータ送信部１５５は、バス１６０介して、それぞれが互いに接続されている。
【００１５】
クロック信号生成部１１０とクロック信号受信部１３５とは、信号線１６５を介して接続されている。例えば、SPIにおいて、信号線１６５は、Serial Clock（SCLK又はSCK）線として知られている。
【００１６】
コマンドデータ生成部１１５とコマンドデータ受信部１４０とは、信号線１７０を介して接続されている。例えば、SPIにおいて、信号線１７０は、Master Out Slave In（MOSI）線として知られている。
【００１７】
データ受信部１２０とデータ送信部１５５とは、信号線１７５を介して接続されている。例えば、SPIにおいて、信号線１７５は、Master In Slave Out（MISO）線として知られている。
【００１８】
図２は、マスター回路１０５が生成するコマンドデータの例を示した図である。クロック信号生成部１１０は、SCLK１６５で示されるように、２１０の間隔を１クロックとしてクロック信号を発生させる。クロック信号生成部１１０は、クロック信号をSCLK１６５を介してスレーブ回路１３０のクロック信号受信部１３５に送信する。本実施例において、クロック信号生成部１１０は、クロック信号を送信するが、他の実施例において、マスター回路１０５は、クロック信号生成部１１０が生成したクロック信号を送信する送信部を有していてもよい。
【００１９】
コマンドデータ生成部１１５は、１クロック信号間隔２１０に含まれるデータを１ビットとして、コマンドデータを生成する。コマンドデータ生成部１１５は、コマンドデータをMOSI１７０を介してスレーブ回路１３０のコマンドデータ受信部１４０に送信する。本実施例において、コマンドデータ生成部１１５は、コマンドデータを送信するが、他の実施例において、マスター回路１０５は、コマンドデータ生成部１６５が生成したコマンドデータを送信する送信部を有していてもよい。
【００２０】
コマンドデータ生成部１６５が生成するコマンドの処理に対応したコマンドデータは、装置１００において予め定められている所定のビット値、例えば、“１０１００１０１”、“１１１１００００”などとすることができる。
【００２１】
本実施例において、コマンドデータは、１ビットから８ビットまでの１バイトのデータとして説明している。しかしながら、当業者にとって明らかなように、コマンドデータは、他のデータ長（７ビット、２バイト、３バイトなど）も用いることができる。
【００２２】
図３は、スレーブ回路１３０が生成する応答データの例を示した図である。応答データ生成部１４５は、コマンドデータ受信部１４０がマスター回路１０５（又はクロック信号生成部１１０）からコマンドデータを受信すると、そのコマンドデータに対応する応答データを生成する。
【００２３】
応答データ生成部１４５は、１クロック信号間隔２１０に含まれるデータを１ビットとして、応答データを生成する。応答データ生成部１４５は、応答データをデータ送信部１５５に送信する。データ送信部１５５は、応答データをMISO１７５を介してマスター回路１０５のデータ受信部１２０に送信する。
【００２４】
応答データは、第１の応答データ部３１０と第２の応答データ部３２０とを含み、第１の応答データ部３１０と第２の応答データ部３２０とは、所定の規則で関連付けされている。応答データ生成部１４５は、第１の応答データ部３１０と第２の応答データ部３２０とを関連付けして、応答データを生成する。
【００２５】
一実施例において、第２の応答データ部３２０のデータ量は、第１の応答データ部３１０のデータ量及び／又はコマンドデータのデータ量と同程度又は同じとすることができる。同程度の例としては、第２の応答データ部３２０のデータ量は、第１の応答データ部３１０のデータ量及び／又はコマンドデータのデータ量の２倍以内が好ましい。
【００２６】
一実施例において、応答データ生成部１４５は、第１の応答データ部３１０及び第２の応答データ部３２０が、例えば、それぞれが予め定められたビット値からなるデータであるようにすることによって、第１の応答データ部３１０と第２の応答データ部３２０とを関連付けしてもよい。
【００２７】
他の実施例において、応答データ生成部１４５は、第２の応答データ部３２０のビット値が第１の応答データ部３１０のビット値を反転させたビット値とすることによって、第１の応答データ部３１０と第２の応答データ部３２０とを関連付けすることができる。例えば、第１の応答データ部３１０のビット値が“１０１００１０１”である場合、第２の応答データ部３２０のビットは、“０１０１１０１０”とすることができる。
【００２８】
他の実施例において、応答データ生成部１４５は、第２の応答データ部３２０のビット値が第１の応答データ部３１０を所定のビット数分シフトさせたビット値とすることによって、第１の応答データ部３１０と第２の応答データ部３２０とを関連付けすることができる。例えば、第２の応答データ部３２０が第１の応答データ部３１０を１ビット分シフト（８ビット目の値を１ビット目にシフト）させたデータである場合、第１の応答データ部３１０のビット値が“１１１１００００”であるとき、第２の応答データ部３２０のビット値は、“０１１１１０００”となる。
【００２９】
上記の第１の応答データ部３１０と第２の応答データ部３２０とを所定の規則で関連付けする例は、例示であり、第１の応答データ部３１０と第２の応答データ部３２０は、上記例の二以上の組み合わせによる規則又は他の規則に基づいて、関連付けされていてもよい。
【００３０】
応答データ生成部１４５が応答データを生成した後、処理対象データ生成部１５０は、１クロック信号間隔２１０に含まれるデータを１ビットとして、コマンドデータに応じた処理対象データを生成する。例えば、処理対象データ生成部１５０は、コマンドデータの指示に基づいて計算を実行し、処理対象データを生成する。また、処理対象データ生成部１５０は、コマンドデータの指示に基づいて、それが有する又はそれの外部にある記録部（図示せず）からデータを取得し処理対象データを生成することもできる。
【００３１】
処理対象データ生成部１４５は、生成した処理対象データをデータ送信部１５５に送信する。データ送信部１５５は、応答データを送った後、処理対象データをMISO１７５を介してマスター回路１０５のデータ受信部１２０に送信する。
【００３２】
他の実施例において、応答データ生成部１４５及び処理対象データ生成部１５０それぞれは、生成したデータをマスター回路１０５に送信する送信部を有していてもよい。この場合、必要に応じて、データ送信部１５５を排除することができる。
【００３３】
他の実施例において、応答データ生成部１４５と処理対象データ生成部１５０とは、組み合わせて一つの生成部とすることができる。
【００３４】
マスター回路１０５のデータ受信部１２０は、MISO１７５を介して送信された応答データを受信する。データ処理部１２２は、応答データに含まれる第１の応答データ部３１０と第２の応答データ部３２０とが所定の規則で関連付けされているか否かを判定する。
【００３５】
例えば、データ処理部１２２は、第１の応答データ部３１０及び第２の応答データ部３２０それぞれが予め定められたビット値からなるデータであるか否か、第２の応答データ部３２０のビットが第１の応答データ部３１０のビット値を反転させたビット値であるか否か、又は、第２の応答データ部３２０が第１の応答データ部３１０を所定のビット数分シフトさせたビット値であるか否かを判定することができる。
【００３６】
データ処理部１２２が、第１の応答データ部３１０と第２の応答データ部３２０とが所定の規則で関連付けされていると判定した場合、データ受信部１２０は、応答データの後に送られる処理対象データを受信する。マスター回路１０５は、その処理対象データに応じて処理を行う。
【００３７】
データ処理部１２２が、第１の応答データ部３１０と第２の応答データ部３２０とが所定の規則で関連付けされていないと判定した場合、マスター回路１０５は、スレーブ回路１３０との処理を中止することや、処理対象データの破棄などが行える。これにより、マスター回路１０５は、スレーブ回路１３０が生成した応答データの整合性を判定することができる。すなわち、マスター回路１０５は、スレーブ回路１３０が正しい動作を行っている否か、又は、マスター回路１０５とスレーブ回路１３０との信号線の通信が正しく行えているか否かを判定することができる。
【００３８】
また、従来技術において、CRCなどを用いて、応答データの整合性が判定されていたが、CRCを用いた場合、冗長データが２バイト以上必要であり、すなわち、冗長データのデータ量がコマンドデータのデータ量及び／又は応答データのデータ量より大きくなっていた。しなしながら、本発明の実施例は、整合性を判定するためのデータは、第２の応答データ部３２０のみであることから、整合性を判定するためのデータを削減することができる。したがって、本発明の実施例は、整合性を判定するためのデータを削減することができることから、通信対象のデータが削減される。これにより、本発明の実施例は、通信全体の通信速度の向上を実現することができる。
【００３９】
他の従来技術において、応答データの整合性の判定のためにパリティチェックが用いられていた。この場合、データの削減は行えるが、パリティチェックを用いた技術は、整合しないビット箇所を特定することができなかった。本発明の実施例において、第２の応答データ部３２０のビットが第１の応答データ部３１０のビット値を反転させたビット値であること、又は、第２の応答データ部３２０が第１の応答データ部３１０を所定のビット数分シフトさせたビット値であることが所定の規則として用いられた、本発明の実施例は、第１の応答データ部３１０と第２の応答データ部３２０とで整合しないビットの箇所を特定することができる。
【００４０】
本発明の実施例の整合性の判定のロジックは、比較的簡単なため、従来技術に比べて処理速度の向上を実現することができる。また、整合性の判定のロジックが比較的簡単であるため、データ処理部１２２をハードウエアで実現することができる。これにより、本発明の実施例は、さらなる処理速度の向上を実現することができる。
【００４１】
メカトロニクス、ロボット、パチンコ及びパチスロなどを含む遊技機、アーケードゲームなどを含むゲーム機器、エンジンのコントロール、車両ブレーキのコントロール、エレベーターのコントロールなどの分野において、装置１００を用いることができる。
【００４２】
上記の実施例において、ハードウエアで実現するよう説明されたいくつかの要素の一部又は全ては、ソフトウェアで実現することができ、そして、ソフトウェアで実現するよう説明されたいくつかの要素の一部又は全ては、ハードウエアで実現することができることは理解されるであろう。
【００４３】
上記の実施例において、SPI通信を行うマスター回路及びスレーブ回路を説明したが、当業者であれば理解されるように、必要に応じて他の通信方式にも本発明の実施例を適用することができる。
【００４４】
以上に説明した処理又は動作において、あるステップにおいて、そのステップではまだ利用することができないはずのデータを利用しているなどの処理又は動作上の矛盾が生じない限りにおいて、処理又は動作を自由に変更することができる。
【００４５】
以上に説明してきた各実施例は、本発明を説明するための例示であり、本発明はこれらの実施例に限定されるものではない。本発明は、その要旨を逸脱しない限り、種々の形態で実施することができる。
【符号の説明】
【００４６】
１０５                  マスター回路
１１０                  クロック信号生成部
１１５                  コマンドデータ生成部
１２０                  データ受信部
１２５、１６０          バス
１３５                  クロック信号受信部
１４０                  コマンドデータ受信部
１４５                  応答データ生成部
１５０                  処理対象データ生成部
１５５                  データ送信部
１６０、１６５、１７０  信号線 
【図１】
2015037211.tif 000003
【図２】
2015037211.tif 000004
【図３】
2015037211.tif 000005