(57)【要約】  本開示は、伝送方式の切り替えを確実に行うことができるようにするデータ伝送装置およびデータ伝送方法、受信装置および受信方法、プログラム、並びにデータ伝送システムに関する。複数の伝送方式を切り替えてデータを伝送することができる送信部から、伝送方式を切り替えることを指示する切り替えコマンドを送信する。そして、切り替えコマンドを伝送する際に発生する誤りに対する対策として、切り替えコマンドに発生する誤りを訂正する誤り訂正符号の送信、または、送信された切り替えコマンドに対する誤り検出の結果に基づいて、切り替えコマンドの受信成功または受信失敗の確認が行われる。本技術は、例えば、バスＩＦに適用できる。
2017022463.tif 000002
【特許請求の範囲】
【請求項１】
複数の伝送方式を切り替えてデータを伝送することができ、前記伝送方式を切り替えることを指示する切り替えコマンドを送信する送信部と、
前記切り替えコマンドを伝送する際に発生する誤りに対する対策を行うエラー対策部と
を備えるデータ伝送装置。
【請求項２】
前記エラー対策部は、前記切り替えコマンドに発生する誤りを訂正する誤り訂正符号を送信する
請求項１に記載のデータ伝送装置。
【請求項３】
前記誤り訂正符号として、ハミング符号、または、ハミング符号の短縮化符号が用いられる
請求項２に記載のデータ伝送装置。
【請求項４】
前記誤り訂正符号として、リード・ソロモン符号、または、リード・ソロモン符号の短縮化符号が用いられる
請求項２に記載のデータ伝送装置。
【請求項５】
前記誤り訂正符号として、繰り返し符号が用いられる
請求項２に記載のデータ伝送装置。
【請求項６】
前記エラー対策部は、送信された前記切り替えコマンドに対する誤り検出の結果に基づいて、前記切り替えコマンドの受信成功または受信失敗の確認を行い、
前記送信部は、前記エラー対策部により前記切り替えコマンドの受信成功が確認された場合、伝送方式の切り替えを行う
請求項１に記載のデータ伝送装置。
【請求項７】
前記エラー対策部は、前記切り替えコマンドの送信後に待機する所定の待機期間を設け、その待機期間において受信した前記誤り検出の結果に基づいて、前記切り替えコマンドの受信成功または受信失敗の判定を行う
請求項６に記載のデータ伝送装置。
【請求項８】
前記エラー対策部は、複数台の受信装置すべてを対象として一斉にコマンドを送信することを通知するブロードキャストコマンドを表す所定数のビット列のうちの、少なくともいずれか１つのビットを反転させた所定数のビット列の使用を禁止し、
前記送信部は、前記ブロードキャストコマンドを送信した後、前記切り替えコマンドに続いて送信される前記誤り訂正符号を、前記切り替えコマンド以外の送信に用いられる前記誤り訂正符号とは異なるものとする
請求項１に記載のデータ伝送装置。
【請求項９】
複数の伝送方式を切り替えてデータを伝送することができる送信部を備えるデータ伝送装置のデータ伝送方法において、
前記伝送方式を切り替えることを指示する切り替えコマンドを送信し、
前記切り替えコマンドを伝送する際に発生する誤りに対する対策を行う
ステップを含むデータ伝送方法。
【請求項１０】
複数の伝送方式を切り替えてデータを伝送することができる送信部を備えるデータ伝送装置のコンピュータに実行させるプログラムにおいて、
前記伝送方式を切り替えることを指示する切り替えコマンドを送信し、
前記切り替えコマンドを伝送する際に発生する誤りに対する対策を行う
ステップを含むプログラム。
【請求項１１】
複数の伝送方式を切り替えてデータを伝送することができるデータ伝送装置から送信されてくる、前記伝送方式を切り替えることを指示する切り替えコマンドを受信する受信部と、
前記切り替えコマンドを伝送する際に発生する誤りに対する前記データ伝送装置における対策に対応する処理を行うエラー対応部と
を備える受信装置。
【請求項１２】
前記エラー対応部は、前記データ伝送装置における対策として送信されてくる誤り訂正符号を用いた前記切り替えコマンドを復号する処理を行う
請求項１１に記載の受信装置。
【請求項１３】
前記エラー対応部は、前記切り替えコマンドに対する誤り検出を行い、前記データ伝送装置における対策として前記切り替えコマンドの受信成功または受信失敗の確認を行わせるために、前記誤り検出を行った結果を送信する処理を行う
請求項１１に記載の受信装置。
【請求項１４】
前記エラー対応部は、複数台の受信装置すべてを対象として一斉にコマンドを送信することを通知するブロードキャストコマンドを表す所定数のビット列から少なくともいずれか１つのビットが反転された所定数のビット列を前記受信部が受信した後、前記切り替えコマンドに続いて受信される前記誤り訂正符号が、前記切り替えコマンド以外の送信に用いられる前記誤り訂正符号とは異なるものである場合、前記ブロードキャストコマンドを表す所定数のビット列から少なくともいずれか１つのビットが反転された所定数のビット列は、前記ブロードキャストコマンドであると判断する
請求項１１に記載の受信装置。
【請求項１５】
複数の伝送方式を切り替えてデータを伝送することができるデータ伝送装置から送信されてくる、前記伝送方式を切り替えることを指示する切り替えコマンドを受信し、
前記切り替えコマンドを伝送する際に発生する誤りに対する前記データ伝送装置における対策に対応する処理を行う
ステップを含む受信方法。
【請求項１６】
複数の伝送方式を切り替えてデータを伝送することができるデータ伝送装置から送信されてくる、前記伝送方式を切り替えることを指示する切り替えコマンドを受信し、
前記切り替えコマンドを伝送する際に発生する誤りに対する前記データ伝送装置における対策に対応する処理を行う
ステップを含むプログラム。
【請求項１７】
複数の伝送方式を切り替えてデータを伝送することができ、前記伝送方式を切り替えることを指示する切り替えコマンドを送信する送信部と、前記切り替えコマンドを伝送する際に発生する誤りに対する対策を行うエラー対策部とを有するデータ伝送装置と、
前記切り替えコマンドを受信する受信部と、前記エラー対策部による対策に対応する処理を行うエラー対応部とを有する受信装置と
を備えるデータ伝送システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、データ伝送装置およびデータ伝送方法、受信装置および受信方法、プログラム、並びにデータ伝送システムに関し、特に、伝送方式の切り替えを確実に行うことができるようにしたデータ伝送装置およびデータ伝送方法、受信装置および受信方法、プログラム、並びにデータ伝送システムに関する。
【背景技術】
【０００２】
従来、複数のデバイスが実装されたボード内でバスを介したデバイス間の通信に用いられるバスＩＦ（Interface）として、例えば、I2C（Inter-Integrated Circuit）が多く利用されている。【０００３】
例えば、特許文献１には、ホスト・プロセッサとサブシステム・コントローラとを、I2Cにより相互接続するディジタル・データ処理システムが開示されている。また、特許文献２には、標準I2Cプロトコルの上部に層状に配置された通信プロトコルを実現する方法が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−９９４４８号公報
【特許文献２】特開２００２−１７５２６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、近年、I2Cの高速化を実現することが求められており、例えば、通信速度の異なる複数の伝送方式を規定し、それらの伝送方式を切り替えて通信を行うことが想定されている。このように、伝送方式の切り替え可能なバスＩＦにおいて、伝送方式の切り替えを確実に行うことができなければ、安全な通信を行うことは困難となる。【０００６】
本開示は、このような状況に鑑みてなされたものであり、伝送方式の切り替えを確実に行うことができるようにするものである。
【課題を解決するための手段】
【０００７】
本開示の第１の側面のデータ伝送装置は、複数の伝送方式を切り替えてデータを伝送することができ、前記伝送方式を切り替えることを指示する切り替えコマンドを送信する送信部と、前記切り替えコマンドを伝送する際に発生する誤りに対する対策を行うエラー対策部とを備える。【０００８】
本開示の第１の側面のデータ伝送方法またはプログラムは、前記伝送方式を切り替えることを指示する切り替えコマンドを送信し、前記切り替えコマンドを伝送する際に発生する誤りに対する対策を行うステップを含む。【０００９】
本開示の第１の側面においては、伝送方式を切り替えることを指示する切り替えコマンドが送信され、その切り替えコマンドを伝送する際に発生する誤りに対する対策が行われる。【００１０】
本開示の第２の側面の受信装置は、複数の伝送方式を切り替えてデータを伝送することができるデータ伝送装置から送信されてくる、前記伝送方式を切り替えることを指示する切り替えコマンドを受信する受信部と、前記切り替えコマンドを伝送する際に発生する誤りに対する前記データ伝送装置における対策に対応する処理を行うエラー対応部とを備える。【００１１】
本開示の第２の側面のデータ伝送方法またはプログラムは、複数の伝送方式を切り替えてデータを伝送することができるデータ伝送装置から送信されてくる、前記伝送方式を切り替えることを指示する切り替えコマンドを受信し、前記切り替えコマンドを伝送する際に発生する誤りに対する前記データ伝送装置における対策に対応する処理を行うステップを含む。【００１２】
本開示の第２の側面においては、複数の伝送方式を切り替えてデータを伝送することができるデータ伝送装置から送信されてくる、前記伝送方式を切り替えることを指示する切り替えコマンドが受信され、前記切り替えコマンドを伝送する際に発生する誤りに対する前記データ伝送装置における対策に対応する処理が行われる。【００１３】
本開示の第３の側面のデータ伝送システムは、複数の伝送方式を切り替えてデータを伝送することができ、前記伝送方式を切り替えることを指示する切り替えコマンドを送信する送信部と、前記切り替えコマンドを伝送する際に発生する誤りに対する対策を行うエラー対策部とを有するデータ伝送装置と、前記切り替えコマンドを受信する受信部と、前記エラー対策部による対策に対応する処理を行うエラー対応部とを有する受信装置とを備える。【００１４】
本開示の第３の側面においては、伝送方式を切り替えることを指示する切り替えコマンドが送信され、その切り替えコマンドを伝送する際に発生する誤りに対する対策が行われる。さらに、切り替えコマンドが受信され、誤りに対する対策に対応する処理が行われる。
【発明の効果】
【００１５】
本開示の第１乃至第３の側面によれば、伝送方式の切り替えを確実に行うことができる。
【図面の簡単な説明】
【００１６】
【図１】本技術を適用したバスＩＦの一実施の形態の構成例を示すブロック図である。
【図２】伝送方式を切り替えてデータを伝送する一例を示す図である。
【図３】伝送方式を切り替えてデータを伝送する際に行われる第１のエラー対策を示す図である。
【図４】第１のデータ伝送方法を説明するフローチャートである。
【図５】伝送方式を切り替えてデータを伝送する際に行われる第２のエラー対策を示す図である。
【図６】第２のデータ伝送方法を説明するフローチャートである。
【図７】ブロードキャストコマンドに対するエラー対策を説明する図である。
【図８】本技術を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【発明を実施するための形態】
【００１７】
以下、本技術を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
【００１８】
＜バスＩＦの構成例＞
【００１９】
図１は、本技術を適用したバスＩＦの一実施の形態の構成例を示すブロック図である。
【００２０】
図１に示されているバスＩＦ１１は、マスタ１２と３台のスレーブ１３−１乃至１３−３とが、２本の信号線１４−１および１４−２を介して接続されて構成される。
【００２１】
マスタ１２は、バスＩＦ１１における制御の主導権を有しており、信号線１４−１および１４−２を介してスレーブ１３−１乃至１３−３と通信を行う。
【００２２】
スレーブ１３−１乃至１３−３は、マスタ１２による制御に従って、信号線１４−１および１４−２を介してマスタ１２と通信を行うことができる。なお、スレーブ１３−１乃至１３−３は、それぞれ同様に構成されており、以下、それらを区別する必要がない場合、単にスレーブ１３と称する。
【００２３】
信号線１４−１および１４−２は、マスタ１２およびスレーブ１３の間でデータを伝送するのに用いられる。例えば、信号線１４−１を介して、１ビットずつ逐次的にシリアルデータ（SDA：Serial Data）が伝送され、信号線１４−２を介して、所定の周波数のシリアルクロック（SCL：Serial Clock）が伝送される。
【００２４】
このように構成されるバスＩＦ１１において、マスタ１２は、スレーブ１３−１乃至１３−３すべてを対象として一斉にデータを伝送したり、スレーブ１３−１乃至１３−３それぞれをアドレスで指定して個々にデータを伝送したりすることができる。
【００２５】
また、バスＩＦ１１では、通信速度が異なる複数の伝送方式が規定されており、マスタ１２は、それらの伝送方式を切り替えることができる。例えば、バスＩＦ１１では、データの転送レートに応じて、通常の転送レートでデータを送信するSDR（Standard Data Rate）と、SDRよりも高い転送レートでデータを送信するHDR（High Data Rate）とが規定されている。
【００２６】
つまり、マスタ１２が備える送受信部２１、および、スレーブ１３−１乃至１３−３それぞれが備える送受信部３１−１乃至３１−３は、SDRとHDRとで伝送方式を切り替えてデータを送受信することができる。そして、マスタ１２が備えるエラー対策部２２は、コマンドを伝送する際に発生する誤りに対する対策（例えば、後述するような誤り訂正符号の送信やパリティチェック結果の確認など）を行うことができる。一方、スレーブ１３−１乃至１３−３それぞれが備えるエラー対応部３２−１乃至３２−３は、エラー対策部２２による対策に対応する処理（例えば、誤り訂正符号を用いた復号やパリティチェック結果の送信など）を行うことができる。
【００２７】
例えば、図２には、バスＩＦ１１において、伝送方式をSDRからHDRに切り替えてデータを伝送する一例が示されている。
【００２８】
まず、マスタ１２は、バスＩＦ１１をスタートコンディションにして、通信の開始を宣言する。例えば、バスＩＦ１１において通信が行われていない待機状態においてSDAおよびSCLは共にＨレベルとされ、マスタ１２は、SCLがＨレベルである状態でSDAをＨレベルからＬレベルに変化させることで、バスＩＦ１１をスタートコンディションにする。なお、通信の開始時における伝送方式は、SDRに設定されている。
【００２９】
そして、マスタ１２は、スレーブ１３−１乃至１３−３すべてを対象として一斉にコマンドを送信することを通知するブロードキャストコマンドを送信し、続いて、ACK（Acknowledge）を用いた受信成功確認を行う。例えば、スレーブ１３−１乃至１３−３それぞれは、ブロードキャストコマンドの受信が完了すると受信完了通知としてACK（例えば、１ビットの０）を返送する。従って、マスタ１２は、ACKが返送されたことによって、ブロードキャストコマンドの受信に成功したことを確認する。
【００３０】
その後、マスタ１２は、伝送方式をHDRに切り替えることを指示するコモンコマンドコードをスレーブ１３−１乃至１３−３に送信し、続いて、１ビットパリティ（1 bit parity）を送信する。この１ビットパリティは、スレーブ１３−１乃至１３−３において、コモンコマンドコードの誤りを検出するのに用いられる。
【００３１】
このように、伝送方式をHDRに切り替えることを指示するコモンコマンドコードを送信した後、マスタ１２は、HDRでデータの伝送を開始し、HDRコマンドやHDRデータなどを送信する。そして、マスタ１２は、HDRによる伝送を終了させるときに、HDRから抜け出すことを指示するHDR終了コマンドを送信する。
【００３２】
その後、マスタ１２は、バスＩＦ１１をストップコンディションにして、通信の終了を宣言する。例えば、マスタ１２は、SCLがＨレベルである状態でSDAをＬレベルからＨレベルに変化させることで、バスＩＦ１１をストップコンディションにする。なお、バスＩＦ１１では、SDR時には通信の開始または終了を宣言するとき以外では、SCLがＨレベルであるときに、SDAが変化することがないように規定されている。
【００３３】
ところで、スレーブ１３−１乃至１３−３のうち、いずれか１台でもコモンコマンドコードを正常に受信することができなければ、そのスレーブ１３は、伝送方式がHDRに遷移したことを認識することができない。そのため、伝送方式がHDRに遷移したことを認識することができなかったスレーブ１３が、HDRで伝送されるデータを誤って解釈した場合、バスＩＦ１１に悪影響を及ぼしてしまうことがあり、安全な通信を行うことができない状態になることが想定される。
【００３４】
また、図２に示すように、コモンコマンドコードの直後に１ビットパリティが付加されているが、スレーブ１３は、この１ビットパリティによりエラー検出を行うことしかできない。即ち、スレーブ１３は、１ビットパリティによって、受信したコモンコマンドコードにエラーが発生していることを検出することができたとしても、そのコモンコマンドコードが伝送方式をHDRに切り替えることを指示するものであることは認識することができない。このため、スレーブ１３は、HDRの信号をSDRとして解釈してしまうことが想定される。
【００３５】
そこで、バスＩＦ１１では、伝送方式の切り替えを確実に行わせるために、マスタ１２によってエラー対策が行われる。
【００３６】
＜第１のエラー対策＞
【００３７】
図３には、バスＩＦ１１において、伝送方式をSDRからHDRに切り替えてデータを伝送する際に行われる第１のエラー対策が示されている。
【００３８】
図３に示すように、マスタ１２は、バスＩＦ１１をスタートコンディションにした後、ブロードキャストコマンドを送信してACKを用いた受信成功確認を行い、コモンコマンドコードおよび１ビットパリティを送信する。そして、マスタ１２は、１ビットパリティの送信と伝送方式の切り替えとの間に、エラー対策として、コモンコマンドコードに発生する誤りを訂正する誤り訂正符号（ECC for CCC）を送信する。
【００３９】
つまり、マスタ１２は、コモンコマンドコードを送信し、１ビットパリティを送信した後、誤り訂正符号を送信してから、伝送方式をSDRからHDRに切り替えてHDRコマンドやHDRデータなどの送信を開始する。
【００４０】
このように、バスＩＦ１１において、マスタ１２が、コモンコマンドコードに発生する誤りを訂正する誤り訂正符号を送信することで、スレーブ１３において、コモンコマンドコードに誤りが発生したときに、その誤りを訂正することができる。つまり、マスタ１２のエラー対策部２２は、コモンコマンドコードを伝送する際に発生する誤りに対する対策として、誤り訂正符号を送信する。一方、スレーブ１３のエラー対応部３２は、エラー対策部２２による対策に対応する処理として、その誤り訂正符号を用いたコモンコマンドコードの復号を行う。従って、コモンコマンドコードに誤りが発生することによって伝送方式がHDRに遷移したことをスレーブ１３において認識されない状態となることを回避することができ、バスＩＦ１１では、伝送方式をSDRからHDRに確実に切り替えることができる。これにより、バスＩＦ１１において、より安全な通信を行うことができる。
【００４１】
例えば、誤り訂正符号としては、パリティが８ビットに収まり、１ビットの誤りを訂正することができる符号が用いられ、具体的には、ハミング符号やリード・ソロモン符号、繰り返し符号が用いられる。
【００４２】
例えば、ハミング符号（(15,11)Hamming符号）は、４ビットのパリティで１ビットの誤りを訂正することができる。また、リード・ソロモン符号（GF(4)上の(15,13)Reed-Solomon符号）は、１シンボル（＝４ビット）で、２シンボル（８ビット）のパリティがあれば、１シンボルの訂正を行うことができる。なお、ハミング符号の短縮化符号、または、リード・ソロモン符号の短縮化符号を用いてもよい。
【００４３】
また、繰り返し符号は、コモンコマンドコードおよび１ビットパリティをもう一度繰り返して送信し、スレーブ１３側で、パリティが正しく取れた方のコモンコマンドコードを採用することができる。
【００４４】
次に、図４は、マスタ１２が、伝送方式をSDRからHDRに切り替えてデータを伝送する第１のデータ伝送方法を説明するフローチャートである。
【００４５】
例えば、図示しない上位の制御部からデータの伝送を行うようにマスタ１２に対する指示があると、ステップＳ１１において、マスタ１２は、バスＩＦ１１をスタートコンディションにして、通信の開始を宣言する。
【００４６】
ステップＳ１２において、マスタ１２は、ブロードキャストコマンドを送信する。その送信後、マスタ１２は、スレーブ１３からACKが送信されてくるのを待機する所定の待機期間だけ待機して、処理はステップＳ１３に進む。
【００４７】
ステップＳ１３において、マスタ１２は、待機期間において、スレーブ１３からACKが送信されてきたか否かを判定し、いずれかのスレーブ１３からACKが送信されてきたと判定された場合、処理はステップＳ１４に進む。
【００４８】
ステップＳ１４において、マスタ１２は、伝送方式をHDRに切り替えるか否かを判定する。例えば、バスＩＦ１１では、処理内容によってSDRおよびHDRいずれか一方の伝送方式が設定されており、マスタ１２は、現在の処理内容に従って、伝送方式をHDRに切り替えるか否かを決定することができる。
【００４９】
ステップＳ１４において、マスタ１２が、伝送方式をHDRに切り替えると判定した場合、処理はステップＳ１５に進む。ステップＳ１５において、マスタ１２は、伝送方式をHDRに切り替えることを指示するコモンコマンドコードをスレーブ１３に送信し、ステップＳ１６において、マスタ１２は、コモンコマンドコードに対する１ビットパリティを送信する。
【００５０】
ステップＳ１７において、マスタ１２は、コモンコマンドコードに発生する誤りを訂正する誤り訂正符号を送信する。このとき、スレーブ１３は、コモンコマンドコードを受信して、誤り訂正符号を用いてコモンコマンドコードを復号する処理を行う。
【００５１】
ステップＳ１８において、マスタ１２は、伝送方式をSDRからHDRに切り替え、HDRによるデータの伝送を行う。そして、マスタ１２は、HDRによるデータの伝送が終了すると、ステップＳ１９において、HDRから抜け出すことを指示するHDR終了コマンドを送信する。
【００５２】
一方、ステップＳ１４において、マスタ１２が、伝送方式をHDRに切り替えないと判定した場合、処理はステップＳ２０に進み、マスタ１２は、SDRによるデータの伝送を行う。
【００５３】
そして、ステップＳ１９においてHDR終了コマンドを送信した後、または、ステップＳ２０におけるSDRによるデータの伝送が終了した後、処理はステップＳ２１に進む。または、ステップＳ１３で、ひとつのスレーブ１３からもACKが送信されてきていないと判定された場合、処理はステップＳ２１に進む。
【００５４】
ステップＳ２１において、マスタ１２は、バスＩＦ１１をストップコンディションにして、通信の終了を宣言する。
【００５５】
以上のように、バスＩＦ１１では、マスタ１２が、コモンコマンドコードに発生する誤りを訂正する誤り訂正符号を送信することにより、伝送方式の切り替えを確実に行うことができる。
【００５６】
＜第２のエラー対策＞
【００５７】
図５には、バスＩＦ１１において、伝送方式をSDRからHDRに切り替えてデータを伝送する際に行われる第２のエラー対策が示されている。
【００５８】
図５に示すように、マスタ１２は、バスＩＦ１１をスタートコンディションにした後、ブロードキャストコマンドを送信してACKを用いた受信成功確認を行い、コモンコマンドコードおよび１ビットパリティを送信する。そして、マスタ１２は、コモンコマンドコードに対してスレーブ１３が、１ビットパリティを用いてコモンコマンドコードに対するパリティチェックを行い、コモンコマンドコードに誤りが検出されたか否かに基づいたパリティチェック結果（パリティチェック成功またはパリティチェック失敗）が送信されてくるのを待機する所定の待機期間だけ待機して、パリティチェック結果を用いたコモンコマンドコードの受信成功確認（ACK）を行う。
【００５９】
例えば、マスタ１２は、スレーブ１３−１乃至１３−３のうち、いずれか１台でもパリティチェック失敗を送信してきた場合、コモンコマンドコードの受信に失敗したスレーブ１３があったと判断する。この場合、図５のＡに示すように、マスタ１２は、バスＩＦ１１をストップコンディションにして、通信の終了を宣言する。なお、この場合、スタートコンディションから再度、処理を行うことができる。
【００６０】
一方、マスタ１２は、スレーブ１３−１乃至１３−３すべてからパリティチェック成功が送信されてきた場合、コモンコマンドコードの受信成功を確認する。この場合、図５のＢに示すように、マスタ１２は、伝送方式をSDRからHDRに切り替えてHDRコマンドやHDRデータなどの送信を開始する。
【００６１】
このように、バスＩＦ１１において、マスタ１２は、パリティチェック結果を用いた受信成功確認を行うことで、全てのスレーブ１３がコモンコマンドコードの受信に成功した場合のみ、伝送方式をSDRからHDRに切り替える。つまり、マスタ１２のエラー対策部２２は、コモンコマンドコードを伝送する際に発生する誤りに対する対策として、スレーブ１３におけるパリティチェック結果に基づいた受信成功または受信失敗の確認を行う。一方、スレーブ１３のエラー対応部３２は、エラー対策部２２による対策に対応する処理として、コモンコマンドコードに対するパリティチェックを行って、パリティチェック結果（パリティチェック成功またはパリティチェック失敗）を送信する。従って、コモンコマンドコードに誤りが発生することによって伝送方式がHDRに遷移したことがスレーブ１３において認識されない状態のまま、HDRでデータが伝送されてしまうことを回避することができる。これにより、バスＩＦ１１では、伝送方式をSDRからHDRに確実に切り替えることができ、より安全な通信を行うことができる。
【００６２】
次に、図６は、マスタ１２が、伝送方式をSDRからHDRに切り替えてデータを伝送する第２のデータ伝送方法を説明するフローチャートである。
【００６３】
ステップＳ３１からステップＳ３５まで、マスタ１２は、図４のステップＳ１１からステップＳ１５までと同様の処理を行う。
【００６４】
そして、ステップＳ３６において、マスタ１２は、ステップＳ３５で送信したコモンコマンドコードに対する１ビットパリティを送信した後、スレーブ１３からパリティチェック結果が送信されてくるのを待機する所定の待機期間だけ待機して、処理はステップＳ３７に進む。このとき、スレーブ１３は、コモンコマンドコードを受信して、コモンコマンドコードに対するパリティチェックを行って、パリティチェック結果を送信する処理を行う。
【００６５】
ステップＳ３７において、マスタ１２は、待機期間においてスレーブ１３から送信されてきたパリティチェック結果について受信成功および受信失敗のいずれであるかを判定する。例えば、マスタ１２は、全てのスレーブ１３がパリティチェック成功である場合には、パリティチェック結果は受信成功であると判定し、いずれか１台のスレーブ１３でもパリティチェック失敗である場合、パリティチェック結果は受信失敗であると判定する。そして、ステップＳ３７において、マスタ１２がパリティチェック結果は受信成功であると判定した場合、処理はステップＳ３８に進む。
【００６６】
そして、ステップＳ３８におけるHDRによるデータの伝送が終了してステップＳ３９でHDR終了コマンドを送信した後、または、ステップＳ４０におけるSDRによるデータの伝送が終了した後、処理はステップＳ４１に進む。また、ステップＳ３３で、ひとつのスレーブ１３からもACKが送信されてきていないと判定された場合、または、ステップＳ３７でパリティチェック結果は受信失敗であると判定された場合、処理はステップＳ４１に進む。
【００６７】
ステップＳ４１において、マスタ１２は、バスＩＦ１１をストップコンディションにして、通信の終了を宣言する。
【００６８】
以上のように、バスＩＦ１１では、マスタ１２は、パリティチェック結果を用いた受信成功確認を行うことにより、伝送方式の切り替えを確実に行うことができる。
【００６９】
＜ブロードキャストコマンドに対するエラー対策＞
【００７０】
次に、図７を参照して、ブロードキャストコマンドに発生するエラーに対するエラー対策について説明する。
【００７１】
上述したように、バスＩＦ１１において、マスタ１２は、バスＩＦ１１をスタートコンディションにした後、スレーブ１３−１乃至１３−３すべてを対象として一斉にコマンドを送信することを通知するブロードキャストコマンドを送信する。このとき、ブロードキャストコマンドにエラーが発生した場合、スレーブ１３−１乃至１３−３は、ブロードキャストコマンドの後に送信されるコモンコマンドコードを正確に認識することができなくなる。そのため、コモンコマンドコードに従った伝送方式の切り替えを確実に行うことができず、安全な通信を行うことができない状態になることが想定される。
【００７２】
そこで、バスＩＦ１１では、伝送方式の切り替えを確実に行わせるために、マスタ１２のエラー対策部２２によってブロードキャストコマンドに対するエラー対策が行われ、スレーブ１３のエラー対応部３２によってエラー対策に対する対応が行われる。
【００７３】
図７のＡには、図３と同様に、コモンコマンドコードに発生する誤りを訂正する誤り訂正符号（ECC for CCC）を含む信号が示されている。図７のＢには、コモンコマンドコードにより伝送方式を切り替える処理以外の例として、アドレスを指定して書き込みデータを送信する処理における信号が示されている。
【００７４】
例えば、図３を参照して上述したように、伝送方式をSDRからHDRに切り替えてデータを伝送するとき、マスタ１２は、バスＩＦ１１をスタートコンディションにした後、ブロードキャストコマンドを送信する。このとき、図７のＡに示すように、バスＩＦ１１では、ブロードキャストコマンドは、７ビットのビット列0x7E（111_1110）により表されることが定義されている。
【００７５】
一方、図７のＢに示すように、バスＩＦ１１において、マスタ１２からスレーブ１３にデータを書き込むとき、マスタ１２は、バスＩＦ１１をスタートコンディションにした後、データの書き込み先となるアドレスを送信する。その後、マスタ１２は、ACKを用いた受信成功確認を行って、１番目の書き込みデータ１からＮ番目の書き込みデータＮを送信する。
【００７６】
従って、ブロードキャストコマンドとして送信される７ビットのビット列0x7E（111_1110）のいずれか１ビットが、エラーにより反転された場合、スレーブ１３は、エラーの発生したブロードキャストコマンドをアドレスと間違えて、その後の処理を行ってしまうことが想定される。
【００７７】
そこで、このようなエラーに対する対策として、ブロードキャストコマンドを表す７ビットのビット列0x7E（111_1110）のうち、いずれか１ビットを反転させたビット列をアドレスとして使用不可にすることが定義される。つまり、図７のＡに示されていように、ブロードキャストコマンドを表すビット列0x7E（111_1110）からハミング距離１である７種類のビット列0x7F（111_1111），0x7C（111_1100），0x7A（111_1010），0x76（111_0110），0x6E（110_1110），0x5E（101_1110）、および0x3E（011_1110）をアドレスとして使用不可にすることが定義される。
【００７８】
これに加え、コモンコマンドコードに続いて送信される１ビットパリティに偶数（even parity）を用いることが定義される。例えば、バスＩＦ１１では、コモンコマンドコード以外の送信に用いられる１ビットパリティには、通常、奇数（odd parity）を用いることが定義されている。
【００７９】
このように、ブロードキャストコマンドを表す７ビットのビット列0x7E（111_1110）からハミング距離１のビット列をアドレスとして使用不可に定義し、かつ、コモンコマンドコードに続いて送信される１ビットパリティに偶数（even parity）を用いるように定義する。これにより、バスＩＦ１１では、ブロードキャストコマンドに１ビットのエラーが発生しても、そのエラーの発生を検出することができ、コモンコマンドコードを正確に認識することができる。
【００８０】
即ち、スレーブ１３は、ビット列0x7E（111_1110）からハミング距離１である７種類のビット列のいずれかを受信し、コモンコマンドコードに続いて受信される１ビットパリティが偶数（even parity）である場合、ブロードキャストコマンドにエラーが発生したと判断することができる。従って、この場合、スレーブ１３は、受信したビット列は、ブロードキャストコマンドであると判断することで、コモンコマンドコードを正確に認識することができ、伝送方式をSDRからHDRに切り替えてデータの伝送を行うことができる。
【００８１】
なお、例えば、スレーブ１３は、ビット列0x7E（111_1110）からハミング距離１である７種類のビット列のいずれかを受信し、コモンコマンドコードに続いて受信される１ビットパリティが奇数（odd parity）である場合には、受信したビット列は、ブロードキャストコマンドでないと認識して処理を行う。
【００８２】
以上のように、バスＩＦ１１では、マスタ１２のエラー対策部２２は、ブロードキャストコマンドを表す７ビットのビット列0x7E（111_1110）からハミング距離１のビット列をアドレスとしての使用を禁止する。そして、マスタ１２の送受信部２１は、バスＩＦ１１をスタートコンディションにして、ブロードキャストコマンドを送信した後、コモンコマンドコードに続いて送信される１ビットパリティを偶数（even parity）とする。
【００８３】
一方、スレーブ１３のエラー対応部３２は、バスＩＦ１１がスタートコンディションとされ、ブロードキャストコマンドを表す７ビットのビット列0x7E（111_1110）からハミング距離１のビット列を送受信部３１が受信した後、コモンコマンドコードに続いて受信される１ビットパリティが奇数（odd parity）である場合、送受信部３１が受信した７ビットのビット列はブロードキャストコマンドであるとして判断することで、コモンコマンドコードを正確に認識することができる。
【００８４】
このようなブロードキャストコマンドに対するエラー対策を行うことで、バスＩＦ１１では、ブロードキャストコマンドの後に送信されるコモンコマンドコードに従って、伝送方式の切り替えを確実に行うことができる。これにより、バスＩＦ１１において、より安全な通信を行うことができる。
【００８５】
また、ブロードキャストコマンドに対するエラー対策を行うことで、ブロードキャストコマンドにエラーが発生したときに、ブロードキャストコマンドの再送信を行うような構成と比較して、処理が遅延することを回避することができる。
【００８６】
なお、上述したブロードキャストコマンドに対するエラー対策は、ブロードキャストコマンドを表す７ビットのビット列0x7E（111_1110）から１ビットが反転されたビット列の使用不可に限定されることはない。例えば、ブロードキャストコマンドに２ビット以上のエラーが発生することが想定される場合、ブロードキャストコマンドを表す７ビットのビット列0x7E（111_1110）から２ビット以上が反転されたビット列を使用不可としてもよい。
【００８７】
また、１ビットパリティについて、上述した説明から偶数（even parity）と奇数（odd parity）とを反転して用いてもよく、コモンコマンドコードを送信したときだけ、その他のときと異なる１ビットパリティを用いていればよい。
【００８８】
なお、本技術は、I2Cの規格に従ったバスＩＦ１１に限定されることはなく、その他の規格に従ったバスＩＦ１１に適用することができる。また、図１に示すバスＩＦ１１では、スレーブ１３−１乃至１３−３が接続された構成例が示されているが、スレーブ１３は、例えば、１台または２台でもよく、あるいは、３台以上でもよい。さらに、例えば、バスＩＦ１１は、コモンコマンドコードに発生する誤りを訂正する誤り訂正符号の送信と、パリティチェック結果を用いた受信成功の確認との両方を組み合わせて用いてもよい。
【００８９】
なお、上述のフローチャートを参照して説明した各処理は、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理（例えば、並列処理あるいはオブジェクトによる処理）も含むものである。また、プログラムは、１のCPUにより処理されるものであっても良いし、複数のCPUによって分散処理されるものであっても良い。
【００９０】
また、上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラムが記録されたプログラム記録媒体からインストールされる。
【００９１】
＜ハードウエアの構成例＞
【００９２】
図８は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
【００９３】
コンピュータにおいて、CPU（Central Processing Unit）１０１，ROM（Read Only Memory）１０２，RAM（Random Access Memory）１０３、およびEEPROM（Electronically Erasable and Programmable Read Only Memory）１０４は、バス１０５により相互に接続されている。バス１０５には、さらに、入出力インタフェース１０６が接続されており、入出力インタフェース１０６が外部（例えば、図１の信号線１４−１および１４−２）に接続される。
【００９４】
以上のように構成されるコンピュータでは、CPU１０１が、例えば、ROM１０２およびEEPROM１０４に記憶されているプログラムを、バス１０５を介してRAM１０３にロードして実行することにより、上述した一連の処理が行われる。また、コンピュータ（CPU１０１）が実行するプログラムは、ROM１０２に予め書き込んでおく他、入出力インタフェース１０６を介して外部からEEPROM１０４にインストールしたり、更新したりすることができる。
【００９５】
なお、本技術は以下のような構成も取ることができる。
（１）
複数の伝送方式を切り替えてデータを伝送することができ、前記伝送方式を切り替えることを指示する切り替えコマンドを送信する送信部と、
前記切り替えコマンドを伝送する際に発生する誤りに対する対策を行うエラー対策部と
を備えるデータ伝送装置。
（２）
前記エラー対策部は、前記切り替えコマンドに発生する誤りを訂正する誤り訂正符号を送信する
上記（１）に記載のデータ伝送装置。
（３）
前記誤り訂正符号として、ハミング符号、または、ハミング符号の短縮化符号が用いられる
上記（２）に記載のデータ伝送装置。
（４）
前記誤り訂正符号として、リード・ソロモン符号、または、リード・ソロモン符号の短縮化符号が用いられる
上記（２）に記載のデータ伝送装置。
（５）
前記誤り訂正符号として、繰り返し符号が用いられる
上記（２）に記載のデータ伝送装置。
（６）
前記エラー対策部は、前記切り替えコマンドの受信が完了したときに送信されてくる受信完了通知を用いた確認を行う
上記（１）から（５）までのいずれかに記載のデータ伝送装置。
（７）
前記エラー対策部は、前記切り替えコマンドの送信後に待機する所定の待機期間を設け、その待機期間において前記受信完了通知が送信されてきたか否かの判定を行う
上記（６）に記載のデータ伝送装置。
（８）
前記エラー対策部は、複数台の受信装置すべてを対象として一斉にコマンドを送信することを通知するブロードキャストコマンドを表す所定数のビット列のうちの、少なくともいずれか１つのビットを反転させた所定数のビット列の使用を禁止し、
前記送信部は、前記ブロードキャストコマンドを送信した後、前記切り替えコマンドに続いて送信される前記誤り訂正符号を、前記切り替えコマンド以外の送信に用いられる前記誤り訂正符号とは異なるものとする
上記（１）から（７）までのいずれかに記載のデータ伝送装置。
（９）
複数の伝送方式を切り替えてデータを伝送することができる送信部を備えるデータ伝送装置のデータ伝送方法において、
前記伝送方式を切り替えることを指示する切り替えコマンドを送信し、
前記切り替えコマンドを伝送する際に発生する誤りに対する対策を行う
ステップを含むデータ伝送方法。
（１０）
複数の伝送方式を切り替えてデータを伝送することができる送信部を備えるデータ伝送装置をコンピュータに実行させるプログラムにおいて、
前記伝送方式を切り替えることを指示する切り替えコマンドを送信し、
前記切り替えコマンドを伝送する際に発生する誤りに対する対策を行う
ステップを含むプログラム。
（１１）
複数の伝送方式を切り替えてデータを伝送することができるデータ伝送装置から送信されてくる、前記伝送方式を切り替えることを指示する切り替えコマンドを受信する受信部と、
前記切り替えコマンドを伝送する際に発生する誤りに対する前記データ伝送装置における対策に対応する処理を行うエラー対応部と
を備える受信装置。
（１２）
前記エラー対応部は、前記データ伝送装置における対策として送信されてくる誤り訂正符号を用いた前記切り替えコマンドを復号する処理を行う
上記（１１）に記載の受信装置。
（１３）
前記エラー対応部は、前記切り替えコマンドに対する誤り検出を行い、前記データ伝送装置における対策として前記切り替えコマンドの受信成功または受信失敗の確認を行わせるために、前記誤り検出を行った結果を送信する処理を行う
上記（１１）または（１２）に記載の受信装置。
（１４）
前記エラー対応部は、複数台の受信装置すべてを対象として一斉にコマンドを送信することを通知するブロードキャストコマンドを表す所定数のビット列から少なくともいずれか１つのビットが反転された所定数のビット列を前記受信部が受信した後、前記切り替えコマンドに続いて受信される前記誤り訂正符号が、前記切り替えコマンド以外の送信に用いられる前記誤り訂正符号とは異なるものである場合、前記ブロードキャストコマンドを表す所定数のビット列から少なくともいずれか１つのビットが反転された所定数のビット列は、前記ブロードキャストコマンドであると判断する
上記（１１）から（１３）までのいずれかに記載の受信装置。
（１５）
複数の伝送方式を切り替えてデータを伝送することができるデータ伝送装置から送信されてくる、前記伝送方式を切り替えることを指示する切り替えコマンドを受信し、
前記切り替えコマンドを伝送する際に発生する誤りに対する前記データ伝送装置における対策に対応する処理を行う
ステップを含む受信方法。
（１６）
複数の伝送方式を切り替えてデータを伝送することができるデータ伝送装置から送信されてくる、前記伝送方式を切り替えることを指示する切り替えコマンドを受信し、
前記切り替えコマンドを伝送する際に発生する誤りに対する前記データ伝送装置における対策に対応する処理を行う
ステップを含むプログラム。
（１７）
複数の伝送方式を切り替えてデータを伝送することができ、前記伝送方式を切り替えることを指示する切り替えコマンドを送信する送信部と、前記切り替えコマンドを伝送する際に発生する誤りに対する対策を行うエラー対策部とを有するデータ伝送装置と、
前記切り替えコマンドを受信する受信部と、前記エラー対策部による対策に対応する処理を行うエラー対応部とを有する受信装置と
を備えるデータ伝送システム。
【００９６】
なお、本実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【００９７】
１１  バスＩＦ，  １２  マスタ，  １３−１乃至１３−３  スレーブ，  １４−１および１４−２  信号線，  ２１  送受信部，  ２２  エラー対策部，  ３１−１乃至３１−３  送受信部，  ３２−１乃至３２−３  エラー対応部
【図１】
2017022463.tif 000003
【図２】
2017022463.tif 000004
【図３】
2017022463.tif 000005
【図４】
2017022463.tif 000006
【図５】
2017022463.tif 000007
【図６】
2017022463.tif 000008
【図７】
2017022463.tif 000009
【図８】
2017022463.tif 000010
【国際調査報告】
2017022463.tif 000011
2017022463.tif 000012
2017022463.tif 000013
2017022463.tif 000014