(57)【要約】【課題】より確実に通信を行う。【解決手段】CCI（I3C DDR）処理部は、I3Cマスタからリードアクセスが要求されたときに、インデックスの状態を判定する。そして、エラー対応部は、インデックスの状態に基づいてエラーの発生を検出し、I3CマスタによりDDRモードの終了またはリスタートが行われるまでの間、一切の通信を無視するとともに、I3Cマスタから送信されてくる信号に対する確認応答処理を行う際にはNACK応答を行うように、I3Cスレーブ１３を制御する。本技術は、例えば、I3Cバスに適用できる。【選択図】図２
2019032626.tif 000002
【特許請求の範囲】
【請求項１】
バスを介した通信を制御する主導的な通信装置による制御に従って通信を行う従属的な通信装置であって、
前記主導的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、
前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層と
を備え、
前記上位階層は、
前記主導的な通信装置からリードアクセスが要求されたときに、前記インデックスの状態を判定する上位階層通信処理部と、
前記インデックスの状態に基づいてエラーの発生を検出し、前記主導的な通信装置により少なくとも前記高速通信モードの終了またはリスタートが行われるまでの間、一切の通信を無視するとともに、前記主導的な通信装置から送信されてくる信号に対する確認応答処理を行う際にはNACK応答を行うように、前記下位階層を制御する上位階層エラー対応部と
を有する
通信装置。
【請求項２】
前記上位階層通信処理部は、前記上位階層エラー対応部によりエラーが検出されるのに応じて、前記インデックスをクリアし、未定義の状態とする
請求項１に記載の通信装置。
【請求項３】
バスを介した通信を制御する主導的な通信装置による制御に従って通信を行う従属的な通信装置であって、かつ、前記主導的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層とを備える従属的な通信装置が、
前記主導的な通信装置からリードアクセスが要求されたときに、前記インデックスの状態を判定することと、
前記インデックスの状態に基づいてエラーの発生を検出し、前記主導的な通信装置により少なくとも前記高速通信モードの終了またはリスタートが行われるまでの間、一切の通信を無視するとともに、前記主導的な通信装置から送信されてくる信号に対する確認応答処理を行う際にはNACK応答を行うように、前記下位階層を制御することと
を含む通信方法。
【請求項４】
バスを介した通信を制御する主導的な通信装置による制御に従って通信を行う従属的な通信装置であって、かつ、前記主導的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層とを備える従属的な通信装置のコンピュータに、
前記主導的な通信装置からリードアクセスが要求されたときに、前記インデックスの状態を判定することと、
前記インデックスの状態に基づいてエラーの発生を検出し、前記主導的な通信装置により少なくとも前記高速通信モードの終了またはリスタートが行われるまでの間、一切の通信を無視するとともに、前記主導的な通信装置から送信されてくる信号に対する確認応答処理を行う際にはNACK応答を行うように、前記下位階層を制御することと
を含む通信処理を実行させるためのプログラム。
【請求項５】
バスを介した通信を制御する主導的な通信装置であって、
制御に従って通信を行う従属的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、
前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層と
を備え、
前記上位階層は、前記下位階層によりエラーが検出された場合、または、前記従属的な通信装置から送信されてくるNACK応答を受信したことの報告を受領した場合、内部のインデックスをクリアし、未定義の状態にする上位階層通信処理部を有する
通信装置。
【請求項６】
前記上位階層通信処理部は、前記下位階層によりエラーが検出された後に、または、前記従属的な通信装置から送信されてくるNACK応答を受信したことの報告を受領した後に、前記下位階層において通信を復帰した次の転送開始時において、カレントリードの使用を禁止する
請求項５に記載の通信装置。
【請求項７】
バスを介した通信を制御する主導的な通信装置であって、かつ、制御に従って通信を行う従属的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層とを備える主導的な通信装置が、
前記下位階層によりエラーが検出された場合、または、前記従属的な通信装置から送信されてくるNACK応答を受信したことの報告を受領した場合、内部のインデックスをクリアし、未定義の状態にすること
を含む通信方法。
【請求項８】
バスを介した通信を制御する主導的な通信装置であって、かつ、制御に従って通信を行う従属的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層とを備える主導的な通信装置のコンピュータに、
前記下位階層によりエラーが検出された場合、または、前記従属的な通信装置から送信されてくるNACK応答を受信したことの報告を受領した場合、内部のインデックスをクリアし、未定義の状態にすること
を含む通信処理を実行させるためのプログラム。
【請求項９】
バスを介した通信を制御する主導的な通信装置と、前記主導的な通信装置による制御に従って通信を行う従属的な通信装置とが接続されて構成される通信システムであって、
前記従属的な通信装置は、
前記主導的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、
前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層と
を備え、
前記上位階層は、
前記主導的な通信装置からリードアクセスが要求されたときに、前記インデックスの状態を判定する上位階層通信処理部と、
前記インデックスの状態に基づいてエラーの発生を検出し、前記主導的な通信装置により少なくとも前記高速通信モードの終了またはリスタートが行われるまでの間、一切の通信を無視するとともに、前記主導的な通信装置から送信されてくる信号に対する確認応答処理を行う際にはNACK応答を行うように、前記下位階層を制御する上位階層エラー対応部と
を有し、
前記主導的な通信装置は、
前記従属的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、
前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層と
を備え、
前記上位階層は、前記下位階層によりエラーが検出された場合、または、前記従属的な通信装置から送信されてくるNACK応答を受信したことの報告を受領した場合、内部のインデックスをクリアし、未定義の状態にする上位階層通信処理部を有する
通信システム。
【請求項１０】
バスを介した通信を制御する主導的な通信装置による制御に従って通信を行う従属的な通信装置であって、
前記主導的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、
前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層と
を備え、
前記上位階層は、
通信で送受信されるデータのバイト数として予め通知された送受信バイト数を超えてライトデータが続くか否かを判定する上位階層通信処理部と、
前記送受信バイト数を超えてライトデータが続くと判定されたことに基づいてエラーの発生を検出し、前記主導的な通信装置により少なくとも前記高速通信モードの終了またはリスタートが行われるまでの間、一切の通信を無視するとともに、前記主導的な通信装置から送信されてくる信号に対する確認応答処理を行う際にはNACK応答を行うように、前記下位階層を制御する上位階層エラー対応部と
を有する
通信装置。
【請求項１１】
前記上位階層通信処理部は、前記送受信バイト数の次に受信したプリアンブルがデータの受信が継続することを示す場合、前記送受信バイト数を超えてライトデータが続くと判定する
請求項１０に記載の通信装置。
【請求項１２】
バスを介した通信を制御する主導的な通信装置による制御に従って通信を行う従属的な通信装置であって、かつ、前記主導的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層とを備える従属的な通信装置が、
通信で送受信されるデータのバイト数として予め通知された送受信バイト数を超えてライトデータが続くか否かを判定することと、
前記送受信バイト数を超えてライトデータが続くと判定されたことに基づいてエラーの発生を検出し、前記主導的な通信装置により少なくとも前記高速通信モードの終了またはリスタートが行われるまでの間、一切の通信を無視するとともに、前記主導的な通信装置から送信されてくる信号に対する確認応答処理を行う際にはNACK応答を行うように、前記下位階層を制御することと
を含む通信方法。
【請求項１３】
バスを介した通信を制御する主導的な通信装置による制御に従って通信を行う従属的な通信装置であって、かつ、前記主導的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層とを備える従属的な通信装置のコンピュータに、
通信で送受信されるデータのバイト数として予め通知された送受信バイト数を超えてライトデータが続くか否かを判定することと、
前記送受信バイト数を超えてライトデータが続くと判定されたことに基づいてエラーの発生を検出し、前記主導的な通信装置により少なくとも前記高速通信モードの終了またはリスタートが行われるまでの間、一切の通信を無視するとともに、前記主導的な通信装置から送信されてくる信号に対する確認応答処理を行う際にはNACK応答を行うように、前記下位階層を制御することと
を含む通信処理を実行させるためのプログラム。
【請求項１４】
バスを介した通信を制御する主導的な通信装置であって、
制御に従って通信を行う従属的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、
前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層と
を備え、
前記上位階層は、通信で送受信されるデータのバイト数として予め通知した送受信バイト数を超えてリードデータが続くか否かを判定する前記上位階層通信処理部を有し、
前記下位階層は、前記送受信バイト数を超えてリードデータが続くと判定されたことに基づいてエラーの発生を検出したとき、前記上位階層にインデックスをクリアさせ、通信を打ち切って、少なくとも前記高速通信モードの終了またはリスタートを行った後、エラーを解除するエラー対応部を有する
通信装置。
【請求項１５】
前記上位階層通信処理部は、前記送受信バイト数の次の１バイト目のリードデータを受信した後、次に受信したプリアンブルがデータの受信が継続することを示す場合、前記送受信バイト数を超えてリードデータが続くと判定する
請求項１４に記載の通信装置。
【請求項１６】
バスを介した通信を制御する主導的な通信装置であって、かつ、制御に従って通信を行う従属的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層とを備える主導的な通信装置が、
一度の送受信でリードできる通信で送受信されるデータのバイト数として予め通知した送受信バイト数を超えてリードデータが続くか否かを判定することと、
前記送受信バイト数を超えてリードデータが続くと判定されたことに基づいてエラーの発生を検出したとき、前記上位階層にインデックスをクリアさせ、通信を打ち切って、少なくとも前記高速通信モードの終了またはリスタートを行った後、エラーを解除することと
を含む通信方法。
【請求項１７】
バスを介した通信を制御する主導的な通信装置であって、かつ、制御に従って通信を行う従属的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層とを備える主導的な通信装置のコンピュータに、
一度の送受信でリードできる通信で送受信されるデータのバイト数として予め通知した送受信バイト数を超えてリードデータが続くか否かを判定することと、
前記送受信バイト数を超えてリードデータが続くと判定されたことに基づいてエラーの発生を検出したとき、前記上位階層にインデックスをクリアさせ、通信を打ち切って、少なくとも前記高速通信モードの終了またはリスタートを行った後、エラーを解除することと
を含む通信処理を実行させるためのプログラム。
【請求項１８】
バスを介した通信を制御する主導的な通信装置と、前記主導的な通信装置による制御に従って通信を行う従属的な通信装置とが接続されて構成される通信システムであって、
前記従属的な通信装置は、
前記主導的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、
前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層と
を備え、
前記上位階層は、
通信で送受信されるデータのバイト数として予め通知した送受信バイト数を超えてライトデータが続くか否かを判定する上位階層通信処理部と、
前記送受信バイト数を超えてライトデータが続くと判定されたことに基づいてエラーの発生を検出し、前記主導的な通信装置により少なくとも前記高速通信モードの終了またはリスタートが行われるまでの間、一切の通信を無視するとともに、前記主導的な通信装置から送信されてくる信号に対する確認応答処理を行う際にはNACK応答を行うように、前記下位階層を制御する上位階層エラー対応部と
を有し、
前記主導的な通信装置は、
制御に従って通信を行う従属的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、
前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層と
を備え、
前記上位階層は、通信で送受信されるデータのバイト数として予め通知した送受信バイト数を超えてリードデータが続くか否かを判定する前記上位階層通信処理部を有し、
前記下位階は、前記送受信バイト数を超えてリードデータが続くと判定されたことに基づいてエラーの発生を検出したとき、前記上位階層にインデックスをクリアさせ、通信を打ち切って、少なくとも前記高速通信モードの終了またはリスタートを行った後、エラーを解除するエラー対応部
を有する
通信システム。
【請求項１９】
バスを介した通信を制御する主導的な通信装置による制御に従って通信を行う従属的な通信装置であって、
前記主導的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、
前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層と
を備え、
前記上位階層は、
一度の送受信でライトできる最大転送バイト数を超えるライトデータを受信したか否かを判定する上位階層通信処理部と、
前記最大転送バイト数を超えるライトデータを受信したと判定されたことに基づいてエラーの発生を検出し、前記主導的な通信装置により少なくとも前記高速通信モードの終了またはリスタートが行われるまでの間、一切の通信を無視するとともに、前記主導的な通信装置から送信されてくる信号に対する確認応答処理を行う際にはNACK応答を行うように、前記下位階層を制御する上位階層エラー対応部と
を有する
通信装置。
【請求項２０】
前記上位階層通信処理部は、所定のバイト数目のライトデータを受信した後、次に受信したプリアンブルがデータの受信が継続することを示す場合、前記最大転送バイト数を超えるライトデータを受信すると判定する
請求項１９に記載の通信装置。
【請求項２１】
バスを介した通信を制御する主導的な通信装置による制御に従って通信を行う従属的な通信装置であって、かつ、前記主導的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層とを備える従属的な通信装置が、
一度の送受信でライトできる最大転送バイト数を超えるライトデータを受信したか否かを判定することと、
前記最大転送バイト数を超えるライトデータを受信したと判定されたことに基づいてエラーの発生を検出し、前記主導的な通信装置により少なくとも前記高速通信モードの終了またはリスタートが行われるまでの間、一切の通信を無視するとともに、前記主導的な通信装置から送信されてくる信号に対する確認応答処理を行う際にはNACK応答を行うように、前記下位階層を制御することと
を含む通信方法。
【請求項２２】
バスを介した通信を制御する主導的な通信装置による制御に従って通信を行う従属的な通信装置であって、かつ、前記主導的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層とを備える従属的な通信装置のコンピュータに、
一度の送受信でライトできる最大転送バイト数を超えるライトデータを受信したか否かを判定することと、
前記最大転送バイト数を超えるライトデータを受信したと判定されたことに基づいてエラーの発生を検出し、前記主導的な通信装置により少なくとも前記高速通信モードの終了またはリスタートが行われるまでの間、一切の通信を無視するとともに、前記主導的な通信装置から送信されてくる信号に対する確認応答処理を行う際にはNACK応答を行うように、前記下位階層を制御することと
を含む通信処理を実行させるためのプログラム。
【請求項２３】
バスを介した通信を制御する主導的な通信装置であって、
制御に従って通信を行う従属的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、
前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層と
を備え、
前記上位階層は、一度の送受信でリードできる最大転送バイト数を超えるリードデータを受信したか否かを判定する上位階層通信処理部を有し、
前記下位階層は、前記最大転送バイト数を超えるリードデータを受信したと判定されたことに基づいてエラーの発生を検出したとき、通信を打ち切って、少なくとも前記高速通信モードの終了またはリスタートを行った後、エラーを解除するエラー対応部を有する
通信装置。
【請求項２４】
前記上位階層通信処理部は、前記最大転送バイト数のリードデータの次の１バイト目のリードデータを受信した後、次に受信したプリアンブルがデータの受信が継続することを示す場合、前記最大転送バイト数を超えるリードデータを受信したと判定する
請求項２３に記載の通信装置。
【請求項２５】
バスを介した通信を制御する主導的な通信装置であって、かつ、制御に従って通信を行う従属的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層とを備える主導的な通信装置が、
一度の送受信でリードできる最大転送バイト数を超えるリードデータを受信したか否かを判定することと、
前記最大転送バイト数を超えるリードデータを受信したと判定されたことに基づいてエラーの発生を検出したとき、通信を打ち切って、少なくとも前記高速通信モードの終了またはリスタートを行った後、エラーを解除することと
を含む通信方法。
【請求項２６】
バスを介した通信を制御する主導的な通信装置であって、かつ、制御に従って通信を行う従属的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層とを備える主導的な通信装置のコンピュータに、
一度の送受信でリードできる最大転送バイト数を超えるリードデータを受信したか否かを判定することと、
前記最大転送バイト数を超えるリードデータを受信したと判定されたことに基づいてエラーの発生を検出したとき、通信を打ち切って、少なくとも前記高速通信モードの終了またはリスタートを行った後、エラーを解除することと
を含む通信処理を実行させるためのプログラム。
【請求項２７】
バスを介した通信を制御する主導的な通信装置と、前記主導的な通信装置による制御に従って通信を行う従属的な通信装置とが接続されて構成される通信システムであって、
前記従属的な通信装置は、
前記主導的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、
前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層と
を備え、
前記上位階層は、
一度の送受信でライトできる最大転送バイト数を超えるライトデータを受信したか否かを判定する上位階層通信処理部と、
前記最大転送バイト数を超えるライトデータを受信したと判定されたことに基づいてエラーの発生を検出し、前記主導的な通信装置により少なくとも前記高速通信モードの終了またはリスタートが行われるまでの間、一切の通信を無視するとともに、前記主導的な通信装置から送信されてくる信号に対する確認応答処理を行う際にはNACK応答を行うように、前記下位階層を制御する上位階層エラー対応部と
を有し、
前記主導的な通信装置は、
制御に従って通信を行う従属的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、
前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層と
を備え、
前記上位階層は、一度の送受信でリードできる最大転送バイト数を超えるリードデータを受信したか否かを判定する上位階層通信処理部を有し、
前記下位階層は、前記最大転送バイト数を超えるリードデータを受信したと判定されたことに基づいてエラーの発生を検出したとき、通信を打ち切って、少なくとも前記高速通信モードの終了またはリスタートを行った後、エラーを解除するエラー対応部を有する
通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、通信装置、通信方法、プログラム、および、通信システムに関し、特に、より確実に通信を行うことができるようにした通信装置、通信方法、プログラム、および、通信システムに関する。
【背景技術】
【０００２】
従来、各種のデバイスにおけるレジスタを制御するためのバスＩＦ（Interface）としてCCI（Camera Control Interface）が広く使用されており、CCIでは、物理層にI2C（Inter-Integrated Circuit）規格が採用されている。また、近年、I2Cの高速化を実現することが求められており、次世代の規格としてI3C（Improved Inter Integrated Circuit）の規定が策定され、その改定が進められている。
【０００３】
例えば、I2CおよびI3Cは、バスＩＦを介した通信の主導権を有するマスタによる制御に従って、バスＩＦに接続されているスレーブと通信を行うことができるように構成される。さらに、I3Cでは、I2Cのデバイスと通信を行うことができるように互換性を維持する機能や、バスＩＦに途中からスレーブが参加することを可能とするホットジョインと称される機能、複数のマスタどうしでマスタ権限を譲渡する機能などが提供される。
【０００４】
また、特許文献１には、I3Cにおいて、通信のスタートやストップなどの誤検出に伴って通信不能となることを回避するようにエラー検出方法を定義することで、より確実に通信を行うことが可能な通信装置が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】国際公開第２０１７／０６１３３０号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、I2Cと、I2Cの上位層規格であるCCIは、規格上、エラーを検出する機能は定義されていなかったのに対し、I3Cの規格では、エラーの検出方法および復帰方法が定義されている。しかしながら、例えば、後述するようなインデックスのエラー、または、FIFO（First In, First Out）オーバーフローが発生した場合には、通信を正常に行うことができない状態になる恐れがある。そこで、それらのエラーに対する対策を施して、より確実に通信を行えるようにすることが求められている。
【０００７】
本開示は、このような状況に鑑みてなされたものであり、より確実に通信を行うことができるようにするものである。
【課題を解決するための手段】
【０００８】
本開示の第１の側面の通信装置は、バスを介した通信を制御する主導的な通信装置による制御に従って通信を行う従属的な通信装置であって、前記主導的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層とを備え、前記上位階層は、前記主導的な通信装置からリードアクセスが要求されたときに、前記インデックスが未定義の状態であるか否かを判定する上位階層通信処理部と、前記インデックスが未定義の状態であると判定されたことに基づいてエラーの発生を検出し、前記主導的な通信装置により前記高速通信モードの終了またはリスタートが行われるまでの間、一切の通信を無視するとともに、前記主導的な通信装置から送信されてくる信号に対する確認応答処理を行う際には常にNACK応答を行うように、前記下位階層に指令する上位階層エラー対応部とを有する。
【０００９】
本開示の第１の側面の通信方法は、バスを介した通信を制御する主導的な通信装置による制御に従って通信を行う従属的な通信装置であって、かつ、前記主導的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層とを備える従属的な通信装置が、前記主導的な通信装置からリードアクセスが要求されたときに、前記インデックスが未定義の状態であるか否かを判定することと、前記インデックスが未定義の状態であると判定されたことに基づいてエラーの発生を検出し、前記主導的な通信装置により前記高速通信モードの終了またはリスタートが行われるまでの間、一切の通信を無視するとともに、前記主導的な通信装置から送信されてくる信号に対する確認応答処理を行う際には常にNACK応答を行うように、前記下位階層に指令することとを含む。
【００１０】
本開示の第１の側面のプログラムは、バスを介した通信を制御する主導的な通信装置による制御に従って通信を行う従属的な通信装置であって、かつ、前記主導的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層とを備える従属的な通信装置のコンピュータに、前記主導的な通信装置からリードアクセスが要求されたときに、前記インデックスが未定義の状態であるか否かを判定することと、前記インデックスが未定義の状態であると判定されたことに基づいてエラーの発生を検出し、前記主導的な通信装置により前記高速通信モードの終了またはリスタートが行われるまでの間、一切の通信を無視するとともに、前記主導的な通信装置から送信されてくる信号に対する確認応答処理を行う際には常にNACK応答を行うように、前記下位階層に指令することとを含む通信処理を実行させる。
【００１１】
本開示の第１の側面においては、主導的な通信装置からリードアクセスが要求されたときに、インデックスが未定義の状態であるか否かが判定され、インデックスが未定義の状態であると判定されたことに基づいてエラーの発生を検出し、主導的な通信装置により高速通信モードの終了またはリスタートが行われるまでの間、一切の通信を無視するとともに、主導的な通信装置から送信されてくる信号に対する確認応答処理を行う際には常にNACK応答を行うように、下位階層に指令される。
【００１２】
本開示の第２の側面の通信装置は、バスを介した通信を制御する主導的な通信装置であって、制御に従って通信を行う従属的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層とを備え、前記上位階層は、前記下位階層によりエラーが検出された場合、または、前記従属的な通信装置から送信されてくるNACK応答を受信したことの報告を受領した場合、内部のインデックスをクリアし、未定義の状態にする上位階層通信処理部を有する。
【００１３】
本開示の第２の側面の通信方法は、バスを介した通信を制御する主導的な通信装置であって、かつ、制御に従って通信を行う従属的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層とを備える主導的な通信装置が、前記上位階層は、前記下位階層によりエラーが検出された場合、または、前記従属的な通信装置から送信されてくるNACK応答を受信したことの報告を受領した場合、内部のインデックスをクリアし、未定義の状態にすることを含む。
【００１４】
本開示の第２の側面のプログラムは、バスを介した通信を制御する主導的な通信装置であって、かつ、制御に従って通信を行う従属的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層とを備える主導的な通信装置のコンピュータに、前記上位階層は、前記下位階層によりエラーが検出された場合、または、前記従属的な通信装置から送信されてくるNACK応答を受信したことの報告を受領した場合、内部のインデックスをクリアし、未定義の状態にすることを含む通信処理を実行させる。
【００１５】
本開示の第２の側面においては、下位階層によりエラーが検出された場合、または、従属的な通信装置から送信されてくるNACK応答を受信したことの報告を受領した場合、内部のインデックスがクリアされて、未定義の状態にされる。
【００１６】
本開示の第３の側面の通信システムは、バスを介した通信を制御する主導的な通信装置と、前記通信装置による制御に従って通信を行う従属的な通信装置とが接続されて構成される通信システムであって、前記従属的な通信装置は、前記主導的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層とを備え、前記上位階層は、前記主導的な通信装置からリードアクセスが要求されたときに、前記インデックスが未定義の状態であるか否かを判定する上位階層通信処理部と、前記インデックスが未定義の状態であると判定されたことに基づいてエラーの発生を検出し、前記主導的な通信装置により前記高速通信モードの終了またはリスタートが行われるまでの間、一切の通信を無視するとともに、前記主導的な通信装置から送信されてくる信号に対する確認応答処理を行う際には常にNACK応答を行うように、前記下位階層に指令する上位階層エラー対応部とを有し、前記主導的な通信装置は、前記従属的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層とを備え、前記上位階層は、前記下位階層によりエラーが検出された場合、または、前記従属的な通信装置から送信されてくるNACK応答を受信したことの報告を受領した場合、内部のインデックスをクリアし、未定義の状態にする上位階層通信処理部を有する。
【００１７】
本開示の第３の側面においては、従属的な通信装置では、主導的な通信装置からリードアクセスが要求されたときに、インデックスが未定義の状態であるか否かが判定され、インデックスが未定義の状態であると判定されたことに基づいてエラーの発生を検出し、主導的な通信装置により高速通信モードの終了またはリスタートが行われるまでの間、一切の通信を無視するとともに、主導的な通信装置から送信されてくる信号に対する確認応答処理を行う際には常にNACK応答を行うように、下位階層に指令される。一方、主導的な通信装置では、下位階層によりエラーが検出された場合、または、従属的な通信装置から送信されてくるNACK応答を受信したことの報告を受領した場合、内部のインデックスがクリアされて、未定義の状態にされる。
【００１８】
本開示の第４の側面の通信装置は、バスを介した通信を制御する主導的な通信装置による制御に従って通信を行う従属的な通信装置であって、前記主導的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層とを備え、前記上位階層は、通信で送受信されるデータのバイト数として予め通知された送受信バイト数を超えてライトデータが続くか否かを判定する上位階層通信処理部と、前記送受信バイト数を超えてライトデータが続くと判定されたことに基づいてエラーの発生を検出し、前記主導的な通信装置により少なくとも前記高速通信モードの終了またはリスタートが行われるまでの間、一切の通信を無視するとともに、前記主導的な通信装置から送信されてくる信号に対する確認応答処理を行う際にはNACK応答を行うように、前記下位階層を制御する上位階層エラー対応部とを有する。
【００１９】
本開示の第４の側面の通信方法は、バスを介した通信を制御する主導的な通信装置による制御に従って通信を行う従属的な通信装置であって、かつ、前記主導的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層とを備える従属的な通信装置が、通信で送受信されるデータのバイト数として予め通知された送受信バイト数を超えてライトデータが続くか否かを判定することと、前記送受信バイト数を超えてライトデータが続くと判定されたことに基づいてエラーの発生を検出し、前記主導的な通信装置により少なくとも前記高速通信モードの終了またはリスタートが行われるまでの間、一切の通信を無視するとともに、前記主導的な通信装置から送信されてくる信号に対する確認応答処理を行う際にはNACK応答を行うように、前記下位階層を制御することとを含む。
【００２０】
本開示の第４の側面のプログラムは、バスを介した通信を制御する主導的な通信装置による制御に従って通信を行う従属的な通信装置であって、かつ、前記主導的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層とを備える従属的な通信装置のコンピュータに、通信で送受信されるデータのバイト数として予め通知された送受信バイト数を超えてライトデータが続くか否かを判定することと、前記送受信バイト数を超えてライトデータが続くと判定されたことに基づいてエラーの発生を検出し、前記主導的な通信装置により少なくとも前記高速通信モードの終了またはリスタートが行われるまでの間、一切の通信を無視するとともに、前記主導的な通信装置から送信されてくる信号に対する確認応答処理を行う際にはNACK応答を行うように、前記下位階層を制御することと
を含む通信処理を実行させる。
【００２１】
本開示の第４の側面においては、通信で送受信されるデータのバイト数として予め通知された送受信バイト数を超えてライトデータが続くか否かが判定され、送受信バイト数を超えてライトデータが続くと判定されたことに基づいてエラーの発生を検出し、主導的な通信装置により少なくとも高速通信モードの終了またはリスタートが行われるまでの間、一切の通信を無視するとともに、主導的な通信装置から送信されてくる信号に対する確認応答処理を行う際にはNACK応答を行うように、下位階層が制御される。
【００２２】
本開示の第５の側面の通信装置は、バスを介した通信を制御する主導的な通信装置であって、制御に従って通信を行う従属的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層とを備え、前記上位階層は、通信で送受信されるデータのバイト数として予め通知した送受信バイト数を超えてリードデータが続くか否かを判定する前記上位階層通信処理部を有し、前記下位階層は、前記送受信バイト数を超えてリードデータが続くと判定されたことに基づいてエラーの発生を検出したとき、前記上位階層にインデックスをクリアさせ、通信を打ち切って、少なくとも前記高速通信モードの終了またはリスタートを行った後、エラーを解除するエラー対応部を有する。
【００２３】
本開示の第５の側面の通信方法は、バスを介した通信を制御する主導的な通信装置であって、かつ、制御に従って通信を行う従属的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層とを備える主導的な通信装置が、通信で送受信されるデータのバイト数として予め通知した送受信バイト数を超えてリードデータが続くか否かを判定することと、前記送受信バイト数を超えてリードデータが続くと判定されたことに基づいてエラーの発生を検出したとき、前記上位階層にインデックスをクリアさせ、通信を打ち切って、少なくとも前記高速通信モードの終了またはリスタートを行った後、エラーを解除することとを含む。
【００２４】
本開示の第５の側面のプログラムは、バスを介した通信を制御する主導的な通信装置であって、かつ、制御に従って通信を行う従属的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層とを備える主導的な通信装置のコンピュータに、通信で送受信されるデータのバイト数として予め通知した送受信バイト数を超えてリードデータが続くか否かを判定することと、前記送受信バイト数を超えてリードデータが続くと判定されたことに基づいてエラーの発生を検出したとき、前記上位階層にインデックスをクリアさせ、通信を打ち切って、少なくとも前記高速通信モードの終了またはリスタートを行った後、エラーを解除することとを含む通信処理を実行させる。
【００２５】
本開示の第５の側面においては、通信で送受信されるデータのバイト数として予め通知した送受信バイト数を超えてリードデータが続くか否かが判定され、送受信バイト数を超えてリードデータが続くと判定されたことに基づいてエラーの発生を検出したとき、上位階層にインデックスをクリアさせ、通信を打ち切って、少なくとも高速通信モードの終了またはリスタートを行った後、エラーが解除される。
【００２６】
本開示の第６の側面の通信システムは、バスを介した通信を制御する主導的な通信装置と、前記主導的な通信装置による制御に従って通信を行う従属的な通信装置とが接続されて構成される通信システムであって、前記従属的な通信装置は、前記主導的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層とを備え、前記上位階層は、通信で送受信されるデータのバイト数として予め通知した送受信バイト数を超えてライトデータが続くか否かを判定する上位階層通信処理部と、前記送受信バイト数を超えてライトデータが続くと判定されたことに基づいてエラーの発生を検出し、前記主導的な通信装置により少なくとも前記高速通信モードの終了またはリスタートが行われるまでの間、一切の通信を無視するとともに、前記主導的な通信装置から送信されてくる信号に対する確認応答処理を行う際にはNACK応答を行うように、前記下位階層を制御する上位階層エラー対応部とを有し、前記主導的な通信装置は、制御に従って通信を行う従属的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層とを備え、前記上位階層は、通信で送受信されるデータのバイト数として予め通知した送受信バイト数を超えてリードデータが続くか否かを判定する前記上位階層通信処理部を有し、前記下位階は、前記送受信バイト数を超えてリードデータが続くと判定されたことに基づいてエラーの発生を検出したとき、前記上位階層にインデックスをクリアさせ、通信を打ち切って、少なくとも前記高速通信モードの終了またはリスタートを行った後、エラーを解除するエラー対応部を有する。
【００２７】
本開示の第６の側面においては、従属的な通信装置では、通信で送受信されるデータのバイト数として予め通知された送受信バイト数を超えてライトデータが続くか否かが判定され、送受信バイト数を超えてライトデータが続くと判定されたことに基づいてエラーの発生を検出し、主導的な通信装置により少なくとも高速通信モードの終了またはリスタートが行われるまでの間、一切の通信を無視するとともに、主導的な通信装置から送信されてくる信号に対する確認応答処理を行う際にはNACK応答を行うように、下位階層が制御される。一方、主導的な通信装置では、通信で送受信されるデータのバイト数として予め通知した送受信バイト数を超えてリードデータが続くか否かが判定され、送受信バイト数を超えてリードデータが続くと判定されたことに基づいてエラーの発生を検出したとき、上位階層にインデックスをクリアさせ、通信を打ち切って、少なくとも高速通信モードの終了またはリスタートを行った後、エラーが解除される。
【００２８】
本開示の第７の側面の通信装置は、バスを介した通信を制御する主導的な通信装置による制御に従って通信を行う従属的な通信装置であって、前記主導的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層とを備え、前記上位階層は、一度の送受信でライトできる最大転送バイト数を超えるライトデータを受信したか否かを判定する上位階層通信処理部と、前記最大転送バイト数を超えるライトデータを受信したと判定されたことに基づいてエラーの発生を検出し、前記主導的な通信装置により少なくとも前記高速通信モードの終了またはリスタートが行われるまでの間、一切の通信を無視するとともに、前記主導的な通信装置から送信されてくる信号に対する確認応答処理を行う際にはNACK応答を行うように、前記下位階層を制御する上位階層エラー対応部とを有する。
【００２９】
本開示の第７の側面の通信方法は、バスを介した通信を制御する主導的な通信装置による制御に従って通信を行う従属的な通信装置であって、かつ、前記主導的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層とを備える従属的な通信装置が、一度の送受信でライトできる最大転送バイト数を超えるライトデータを受信したか否かを判定することと、前記最大転送バイト数を超えるライトデータを受信したと判定されたことに基づいてエラーの発生を検出し、前記主導的な通信装置により少なくとも前記高速通信モードの終了またはリスタートが行われるまでの間、一切の通信を無視するとともに、前記主導的な通信装置から送信されてくる信号に対する確認応答処理を行う際にはNACK応答を行うように、前記下位階層を制御することとを含む。
【００３０】
本開示の第７の側面のプログラムは、バスを介した通信を制御する主導的な通信装置による制御に従って通信を行う従属的な通信装置であって、かつ、前記主導的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層とを備える従属的な通信装置のコンピュータに、一度の送受信でライトできる最大転送バイト数を超えるライトデータを受信したか否かを判定することと、前記最大転送バイト数を超えるライトデータを受信したと判定されたことに基づいてエラーの発生を検出し、前記主導的な通信装置により少なくとも前記高速通信モードの終了またはリスタートが行われるまでの間、一切の通信を無視するとともに、前記主導的な通信装置から送信されてくる信号に対する確認応答処理を行う際にはNACK応答を行うように、前記下位階層を制御することとを含む通信処理を実行させる。
【００３１】
本開示の第７の側面においては、一度の送受信でライトできる最大転送バイト数を超えるライトデータを受信したか否かが判定され、最大転送バイト数を超えるライトデータを受信したと判定されたことに基づいてエラーの発生を検出し、主導的な通信装置により少なくとも高速通信モードの終了またはリスタートが行われるまでの間、一切の通信を無視するとともに、主導的な通信装置から送信されてくる信号に対する確認応答処理を行う際にはNACK応答を行うように、下位階層が制御される。
【００３２】
本開示の第８の側面の通信装置は、バスを介した通信を制御する主導的な通信装置であって、制御に従って通信を行う従属的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層とを備え、前記上位階層は、一度の送受信でリードできる最大転送バイト数を超えるリードデータを受信したか否かを判定する上位階層通信処理部を有し、前記下位階層は、前記最大転送バイト数を超えるリードデータを受信したと判定されたことに基づいてエラーの発生を検出したとき、通信を打ち切って、少なくとも前記高速通信モードの終了またはリスタートを行った後、エラーを解除するエラー対応部を有する。
【００３３】
本開示の第８の側面の通信方法は、バスを介した通信を制御する主導的な通信装置であって、かつ、制御に従って通信を行う従属的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層とを備える主導的な通信装置が、一度の送受信でリードできる最大転送バイト数を超えるリードデータを受信したか否かを判定することと、前記最大転送バイト数を超えるリードデータを受信したと判定されたことに基づいてエラーの発生を検出したとき、通信を打ち切って、少なくとも前記高速通信モードの終了またはリスタートを行った後、エラーを解除することとを含む。
【００３４】
本開示の第８の側面のプログラムは、バスを介した通信を制御する主導的な通信装置であって、かつ、制御に従って通信を行う従属的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層とを備える主導的な通信装置のコンピュータに、一度の送受信でリードできる最大転送バイト数を超えるリードデータを受信したか否かを判定することと、前記最大転送バイト数を超えるリードデータを受信したと判定されたことに基づいてエラーの発生を検出したとき、通信を打ち切って、少なくとも前記高速通信モードの終了またはリスタートを行った後、エラーを解除することとを含む通信処理を実行させる。
【００３５】
本開示の第８の側面においては、一度の送受信でリードできる最大転送バイト数を超えるリードデータを受信したか否かが判定され、前記最大転送バイト数を超えるリードデータを受信したと判定されたことに基づいてエラーの発生を検出したとき、通信を打ち切って、前記高速通信モードの終了またはリスタートを行った後、エラーが解除される。
【００３６】
本開示の第９の側面の通信システムは、バスを介した通信を制御する主導的な通信装置と、前記通信装置による制御に従って通信を行う従属的な通信装置とが接続されて構成される通信システムであって、前記従属的な通信装置は、前記主導的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層とを備え、前記上位階層は、一度の送受信でライトできる最大転送バイト数を超えるライトデータを受信したか否かを判定する上位階層通信処理部と、前記最大転送バイト数を超えるライトデータを受信したと判定されたことに基づいてエラーの発生を検出し、前記主導的な通信装置により前記高速通信モードの終了またはリスタートが行われるまでの間、一切の通信を無視するとともに、前記主導的な通信装置から送信されてくる信号に対する確認応答処理を行う際には常にNACK応答を行うように、前記下位階層に指令する上位階層エラー対応部とを有し、前記主導的な通信装置は、制御に従って通信を行う従属的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層とを備え、前記上位階層は、一度の送受信でリードできる最大転送バイト数を超えるリードデータを受信したか否かを判定する上位階層通信処理部を有し、前記下位階層は、前記最大転送バイト数を超えるリードデータを受信したと判定されたことに基づいてエラーの発生を検出したとき、通信を打ち切って、少なくとも前記高速通信モードの終了またはリスタートを行った後、エラーを解除するエラー対応部を有する。
【００３７】
本開示の第９の側面においては、従属的な通信装置では、一度の送受信でライトできる最大転送バイト数を超えるライトデータを受信したか否かが判定され、最大転送バイト数を超えるライトデータを受信したと判定されたことに基づいてエラーの発生を検出し、主導的な通信装置により高速通信モードの終了またはリスタートが行われるまでの間、一切の通信を無視するとともに、主導的な通信装置から送信されてくる信号に対する確認応答処理を行う際には常にNACK応答を行うように、下位階層に指令される。一方、主導的な通信装置では、一度の送受信でリードできる最大転送バイト数を超えるリードデータを受信したか否かが判定され、前記最大転送バイト数を超えるリードデータを受信したと判定されたことに基づいてエラーの発生を検出したとき、通信を打ち切って、前記高速通信モードの終了またはリスタートを行った後、エラーが解除される。
【発明の効果】
【００３８】
本開示の第１乃至第９の側面によれば、より確実に通信を行うことができる。
【００３９】
なお、ここに記載された効果は必ずしも限定されるものではなく、本開示中に記載されたいずれかの効果であってもよい。
【図面の簡単な説明】
【００４０】
【図１】本技術を適用したI3Cバスの一実施の形態の構成例を示すブロック図である。
【図２】I3Cバスを利用したI3C通信システムの構成例を示すブロック図である。
【図３】I3CスレーブのI3C（SDR）処理部の構成例を示すブロック図である。
【図４】I3CスレーブのI3C（DDR）処理部の構成例を示すブロック図である。
【図５】マスタ側のI3C階層で行われる通信処理を説明するフローチャートである。
【図６】マスタ側のCCI階層で行われる通信処理を説明するフローチャートである。
【図７】スレーブ側のCCI階層で行われるSDR通信処理を説明するフローチャートである。
【図８】スレーブ側のCCI階層で行われるCCI（I3C DDR）処理を説明するフローチャートである。
【図９】エラー対応処理を説明するフローチャートである。
【図１０】スレーブ側のI3C階層で行われるSDR通信処理を説明するフローチャートである。
【図１１】確認応答処理を説明するフローチャートである。
【図１２】ライト受信処理を説明するフローチャートである。
【図１３】CCC受信処理を説明するフローチャートである。
【図１４】リード受信処理を説明するフローチャートである。
【図１５】HDR開始処理を説明するフローチャートである。
【図１６】スレーブ側のI3C階層で行われるI3C（DDR）処理を説明するフローチャートである。
【図１７】DDRライト処理を説明するフローチャートである。
【図１８】DDRリード処理を説明するフローチャートである。
【図１９】DDR確認応答処理を説明するフローチャートである。
【図２０】フレーミングエラー対応処理を説明するフローチャートである。
【図２１】パリティエラー対応処理を説明するフローチャートである。
【図２２】CRCエラー対応処理を説明するフローチャートである。
【図２３】インデックスのエラーについて説明する図である。
【図２４】スレーブ側におけるエラーの定義を示す図である。
【図２５】マスタ側におけるエラーの定義を示す図である。
【図２６】SD0エラーの動作例を示す図である。
【図２７】カレントリードによりSS0エラーが発生する動作例を示す図である。
【図２８】SD1エラーの動作例を示す図である。
【図２９】MD0エラーが発生したときの動作例を示す図である。
【図３０】SD2エラーの動作例を示す図である。
【図３１】本技術を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【発明を実施するための形態】
【００４１】
以下、本技術を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
【００４２】
＜バスＩＦの構成例＞
図１は、本技術を適用したI3Cバスの一実施の形態の構成例を示すブロック図である。
【００４３】
図１に示されているI3Cバス１１は、I3Cマスタ１２と３台のI3Cスレーブ１３−１乃至１３−３とが、シリアルデータSDAを伝送するデータ信号線１４と、シリアルクロックSCLを伝送するクロック信号線１５とを介して接続されて構成される。
【００４４】
I3Cマスタ１２は、I3Cバス１１における通信の主導権を有しており、データ信号線１４およびクロック信号線１５を介して、I3Cスレーブ１３−１乃至１３−３との通信を制御する。
【００４５】
I3Cスレーブ１３−１乃至１３−３は、I3Cマスタ１２による制御に従って、I3Cバス１１を介した通信を行うことができる。なお、以下適宜、I3Cスレーブ１３−１乃至１３−３それぞれを区別する必要がない場合、単に、I3Cスレーブ１３と称する。
【００４６】
このように構成されるI3Cバス１１では、I3Cの規格に準じた通信が行われる。例えば、I3Cバス１１では、データの転送レートに応じて、通常の転送レートでデータ転送を行うSDR（Single Data Rate）モードと、SDRモードよりも高い転送レートでデータ転送を行うHDR（High Data Rate）モードとが規定されている。また、HDRモードでは、DDR（Double Data Rate）モード、TSP（Ternary Symbol Pure-Bus）モード、および、TSL（Ternary Symbol Legacy-inclusive-Bus）モードの３つの転送モードが規格で定義されている。
【００４７】
また、I3Cでは、コモンコマンドコード（CCC ：Common Command Code）を利用して、１台または複数台のI3Cスレーブ１３に対して一斉にコマンドを送信したり、動的に割り当てられるアドレス（DAA：Dynamic Address Assignment）を設定したりすることができる。
【００４８】
＜I3C通信システムの構成例＞
図２は、I3Cバス１１を利用したI3C通信システム２１の構成例を示すブロック図である。
【００４９】
図２に示す構成では、I3Cマスタ１２は、マスタデバイス２２の物理層（下位階層）として組み込まれ、マスタデバイス２２は、I3Cマスタ１２に対して上位階層となるCCIマスタ１６を備える。また、I3Cマスタ１２およびCCIマスタ１６は、I3Cドライバ１７を介して接続されている。
【００５０】
また、I3Cスレーブ１３は、スレーブデバイス２３の物理層（下位階層）として組み込まれ、スレーブデバイス２３は、I3Cスレーブ１３に対して上位となるCCIスレーブ１８を備える。
【００５１】
I3Cマスタ１２は、エラーの発生が検出されたときに、そのエラーに対して対応する処理を行うエラー対応部３１、および、I3Cスレーブ１３において信号の確認応答処理を行った結果に応じて送信してくるACK応答またはNACK応答を確認するACK確認部３２を有している。
【００５２】
I3Cスレーブ１３は、I3Cの通信がSDRモードであるときの物理層での通信処理を行うI3C（SDR）処理部４１、I3Cの通信がDDRモードであるときの物理層での通信処理を行うI3C（DDR）処理部４２、および、エラーの発生が検出されたときに、そのエラーに対して対応する処理を行うエラー対応部４３を有している。
【００５３】
CCIマスタ１６は、I3Cの通信がSDRモードであるときの上位階層としての通信処理を行うCCI（I3C SDR）処理部５１、および、I3Cの通信がDDRモードであるときの上位階層としての通信処理を行うCCI（I3C DDR）処理部５２を有している。
【００５４】
CCIスレーブ１８は、I3Cの通信がSDRモードであるときの上位階層としての通信処理を行うCCI（I3C SDR）処理部６１、I3Cの通信がDDRモードであるときの上位階層としての通信処理を行うCCI（I3C DDR）処理部６２、および、エラーの発生が検出されたときに、そのエラーに対して対応する処理を行うエラー対応部６３を有している。
【００５５】
図３は、I3Cスレーブ１３のI3C（SDR）処理部４１の構成例を示すブロック図である。
【００５６】
図３に示すように、I3C（SDR）処理部４１は、確認応答処理部７１、ライト受信処理部７２、CCC受信処理部７３、リード受信処理部７４、HDR開始処理部７５、および、エラー対応部７６を備えて構成される。
【００５７】
確認応答処理部７１は、図１１のフローチャートを参照して説明するような確認応答処理を行う。例えば、確認応答処理部７１は、I3Cの規定に従ってI3C階層としてはACKでよいと判定しても、CCI階層からNACK応答するように指令があったときには、ACK応答を行わずに、NACK応答を行う。
【００５８】
ライト受信処理部７２は、図１２のフローチャートを参照して説明するようなライト受信処理を行う。例えば、ライト受信処理部７２は、I3Cマスタ１２から送信されてくるライトデータを受信し、CCIスレーブ１８へ送付する際に、そのライトデータにパリティエラーが発生しているか否かを判定する。そして、ライトデータにパリティエラーが発生していると判定された場合、エラー対応部７６によって、ライトデータにパリティエラーが発生していることを示すS2エラーが、CCIスレーブ１８に通知される。
【００５９】
CCC受信処理部７３は、図１３のフローチャートを参照して説明するようなCCC受信処理を行う。例えば、CCC受信処理部７３は、I3Cマスタ１２から送信されてくるCCCにパリティエラーが発生しているか否かを判定する。そして、CCCにパリティエラーが発生していると判定された場合、エラー対応部７６によって、CCCにパリティエラーが発生していることを示すS1エラーが、CCIスレーブ１８に通知される。
【００６０】
リード受信処理部７４は、図１４のフローチャートを参照して説明するようなリード受信処理を行う。例えば、リード受信処理部７４は、CCIスレーブ１８から受領したリードデータを、I3Cバス１１を介して送信しているときに、I3Cバス１１上の信号を監視して、その信号がリードデータと一致しているか否かを判定する。そして、I3Cバス１１上の信号がリードデータと一致していないと判定された場合、エラー対応部７６によって、I3Cバス１１上の信号がリードデータと一致していないことを示すS6エラーが、CCIスレーブ１８に通知される。
【００６１】
HDR開始処理部７５は、図１５のフローチャートを参照して説明するようなHDR開始処理を行う。例えば、HDR開始処理部７５は、I3Cマスタ１２から送信されてくるHDRモードの開始を指示するCCC（ENTHDRx）に従って、DDRモード、TSPモード、およびTSLモードの何れを開始するか判定し、その判定の結果を示すモードを、CCIスレーブ１８に通知する。
【００６２】
エラー対応部７６は、確認応答処理部７１、ライト受信処理部７２、CCC受信処理部７３、およびリード受信処理部７４が、それぞれ行う処理の中で、エラーの発生に対して対応する各種の処理を行う。
【００６３】
図４は、I3Cスレーブ１３のI3C（DDR）処理部４２の構成例を示すブロック図である。
【００６４】
図４に示すように、I3C（DDR）処理部４２は、DDRライト処理部８１、DDRリード処理部８２、DDR確認応答処理部８３、および、エラー対応部８４を備えて構成される。
【００６５】
DDRライト処理部８１は、図１７のフローチャートを参照して説明するようなDDRライト処理を行う。例えば、DDRライト処理部８１は、データの配置（フレーミング）や、パリティ、CRCワードなどに従って、I3Cマスタ１２から送信されてくるライトデータにエラーが発生しているか否かを判定する。
【００６６】
DDRリード処理部８２は、図１８のフローチャートを参照して説明するようなDDRリード処理を行う。例えば、DDRリード処理部８２は、CCIスレーブ１８から受領したリードデータをI3Cマスタ１２に送信する。
【００６７】
DDR確認応答処理部８３は、図１９のフローチャートを参照して説明するようなDDR確認応答処理を行う。例えば、DDR確認応答処理部８３は、I3Cの規定に従ってI3C階層としてはACKでよいと判定しても、CCI階層からNACK応答するように指令があったときには、ACK応答を行わずに、NACK応答を行う。
【００６８】
エラー対応部８４は、図２０のフローチャートを参照して説明するようなフレーミングエラー対応処理、図２１のフローチャートを参照して説明するようなパリティエラー対応処理、および、図２２のフローチャートを参照して説明するようなCRCエラー対応処理を行う。例えば、エラー対応部８４は、それぞれのエラーが発生したことをCCIスレーブ１８に通知する。
【００６９】
以上のようにI3C通信システム２１は構成されており、I3Cマスタ１２およびI3Cスレーブ１３がI3Cバス１１を介して通信を行い、I3Cマスタ１２は主導的に通信を制御し、I3Cスレーブ１３はI3Cマスタ１２による制御に従って従属的に通信を行う。また、マスタデバイス２２では、CCIマスタ１６が上位層とし、I3Cマスタ１２が下位層として通信処理を行う。同様に、スレーブデバイス２３では、CCIスレーブ１８が上位層とし、I3Cスレーブ１３が下位層として通信処理を行う。そして、CCIマスタ１６およびCCIスレーブ１８は、互いに共通するインデックスに従って、データを読み出す処理（リード）、および、データを書き込む処理（ライト）を行うことができる。
【００７０】
なお、例えば、CCIマスタ１６が有するCCI（I3C SDR）処理部５１およびCCI（I3C DDR）処理部５２は、ソフトウエアによって実装され、I3Cマスタ１２が有するエラー対応部３１およびACK確認部３２は、半導体回路のようなハードウエアで実装される。同様に、CCIスレーブ１８が有するCCI（I3C SDR）処理部６１、CCI（I3C DDR）処理部６２、およびエラー対応部６３は、ソフトウエアによって実装され、I3Cスレーブ１３が有するI3C（SDR）処理部４１、I3C（DDR）処理部４２、およびエラー対応部４３は、半導体回路のようなハードウエアで実装される。もちろん、このような実装方法が考えられるが必ずしもこれに限定されることはなく、その他の実装方法を採用してもよい。
【００７１】
＜I3Cバスの通信処理＞
図５乃至図２２を参照して、I3C通信システム２１で行われる通信処理の一例について説明する。
【００７２】
図５は、I3Cマスタ１２によりマスタ側のI3C階層で行われる通信処理を説明するフローチャートである。
【００７３】
例えば、マスタデバイス２２に電力が供給されて、I3Cマスタ１２が起動すると処理が開始され、ステップＳ１１において、I3Cマスタ１２は、CCIマスタ１６からの指示に応じて、I3Cスレーブ１３との通信をSDRモードおよびDDRモードのどちらで行うかを判定する。
【００７４】
ステップＳ１１において、SDRモードで通信を行うと判定された場合、処理はステップＳ１２に進み、I3Cマスタ１２は、I3Cスレーブ１３とSDRモードで通常の通信を行うSDR通常処理を行う。例えば、I3Cマスタ１２は、エラー対応部３１がエラーを検出するまで、ACK確認部３２がNACK応答を受信するまで、または、通信が終了するまでSDR通常処理を行う。そして、SDR通常処理が終了したとき、処理はステップＳ１３に進む。
【００７５】
ステップＳ１３において、I3Cマスタ１２は、ステップＳ１２のSDR通常処理を終了したのは、通信終了によるものなのか、エラー検出またはNACK受信によるものなのかを判定する。
【００７６】
ステップＳ１３において、SDR通常処理を終了したのは通信終了によるものであると判定された場合、処理はステップＳ１２に戻り、I3Cマスタ１２は、SDR通常処理による通信を継続して行う。
【００７７】
一方、ステップＳ１３において、SDR通常処理を終了したのはエラー検出またはNACK受信によるものであると判定された場合、処理はステップＳ１４に進み、I3Cマスタ１２は、エラー検出またはNACK受信があったことをI3Cドライバ１７に通知する。
【００７８】
ステップＳ１５において、I3Cドライバ１７は、エラー検出またはNACK受信があったことを、CCIマスタ１６のCCI（I3C SDR）処理部５１に通知する。そして、ステップＳ１６において、I3Cドライバ１７は、I3C規格が定める復帰方法に従って、復帰処理を実施するようにI3Cマスタ１２に対する指令を行う。なお、ステップＳ１５およびＳ１６の処理はソフトウエアによる処理が可能である。
【００７９】
ステップＳ１７において、I3Cマスタ１２は、ステップＳ１６でのI3Cドライバ１７からの指令に従って復帰処理を実行した後、処理はステップＳ１２に戻り、以下、同様の処理が繰り返して行われる。例えば、I3Cマスタ１２のエラー対応部３１は、マスタアボートを送信し、ストップまたはリスタートを送信した後、エラーを解除する。これにより、I3Cスレーブ１３をエラーから復帰させる。
【００８０】
一方、ステップＳ１１において、DDRモードで通信を行うと判定された場合、処理はステップＳ１８に進み、I3Cマスタ１２は、I3Cスレーブ１３とDDRモードで通常の通信を行うDDR通常処理を行う。例えば、I3Cマスタ１２は、エラー対応部３１がエラーを検出するまで、ACK確認部３２がNACK応答を受信するまで、または、通信が終了するまでDDR通常処理を行う。そして、DDR通常処理が終了したとき、処理はステップＳ１９に進む。
【００８１】
ステップＳ１９において、I3Cマスタ１２は、ステップＳ１８のDDR通常処理を終了したのは、通信終了によるものなのか、エラー検出またはNACK受信によるものなのかを判定する。
【００８２】
ステップＳ１９において、DDR通常処理を終了したのは通信終了によるものであると判定された場合、処理はステップＳ１８に戻り、I3Cマスタ１２は、DDR通常処理による通信を継続して行う。
【００８３】
一方、ステップＳ１９において、DDR通常処理を終了したのはエラー検出またはNACK受信によるものであると判定された場合、処理はステップＳ２０に進み、I3Cマスタ１２は、エラー検出またはNACK受信があったことをI3Cドライバ１７に通知する。
【００８４】
ステップＳ２１において、I3Cドライバ１７は、エラー検出またはNACK受信があったことを、CCIマスタ１６のCCI（I3C DDR）処理部５２に通知する。そして、ステップＳ２２において、I3Cドライバ１７は、I3C規格が定める復帰方法に従って、復帰処理を実施するようにI3Cマスタ１２に対する指令を行う。なお、ステップＳ２１およびＳ２２の処理はソフトウエアによる処理が可能である。
【００８５】
ステップＳ２３において、I3Cマスタ１２は、ステップＳ２２でのI3Cドライバ１７からの指令に従って復帰処理を実行した後、処理はステップＳ１８に戻り、以下、同様の処理が繰り返して行われる。例えば、エラー対応部３１が、マスタアボートを送信した後、HDR ExitまたはHDR Restartを送信することで、I3Cスレーブ１３をエラーから復帰させる。
【００８６】
図６は、CCIマスタ１６によりマスタ側のCCI階層で行われる通信処理を説明するフローチャートである。なお、この通信処理はソフトウエアによる処理が可能である。
【００８７】
例えば、マスタデバイス２２に電力が供給されてCCIマスタ１６が起動し、図示しない上位の制御部から通信を行うように指示があると処理が開始され、ステップＳ３１において、CCIマスタ１６は、SDRモードおよびDDRモードのどちらで通信を行うかを判定する。例えば、CCIマスタ１６は、通信の開始時にはSDRモードで通信を行うと判定し、その後にDDRモードに通信を切り替える処理が行われていれば、DDRモードで通信を行うと判定する。
【００８８】
ステップＳ３１において、CCIマスタ１６が、SDRモードで通信を行うと判定した場合、処理はステップＳ３２に進み、CCI（I3C SDR）処理部５１は、SDR通常処理を行う。例えば、CCI（I3C SDR）処理部５１は、図５のステップＳ１４でI3Cドライバ１７からエラー検出またはNACK受信があったという報告をI3Cマスタ１２から受領するまで、または、通信が終了するまでSDR通常処理を行う。そして、SDR通常処理が終了したとき、処理はステップＳ３３に進む。
【００８９】
ステップＳ３３において、CCI（I3C SDR）処理部５１は、SDR通常処理を終了したのは、通信終了によるものなのか、エラー検出またはNACK受信があったという報告を受領したことによるものなのかを判定する。
【００９０】
ステップＳ３３において、SDR通常処理を終了したのは通信終了によるものであると判定された場合、処理はステップＳ３２に戻り、CCI（I3C SDR）処理部５１は、SDR通常処理による通信を継続して行う。
【００９１】
一方、ステップＳ３３において、SDR通常処理が終了したのはエラー検出またはNACK受信があったという報告を受領したことによるものであると判定された場合、処理はステップＳ３４に進む。
【００９２】
ステップＳ３４において、CCI（I3C SDR）処理部５１は、内部のインデックスをクリアし、無効化する。
【００９３】
ステップＳ３５において、CCI（I3C SDR）処理部５１は、次の転送は、現在のアドレス位置のデータを読み出すCCI（SDR）カレントリードであるか否かを判定する。
【００９４】
ステップＳ３５において、次の転送はCCI（SDR）カレントリードでないと判定された場合、処理はステップＳ３２に戻り、次の転送からSDR通常処理が再開される。
【００９５】
一方、ステップＳ３５において、次の転送はCCI（SDR）カレントリードであると判定された場合、処理はステップＳ３６に進む。ステップＳ３６において、CCI（I3C SDR）処理部５１は、カレントリードを禁止して、ランダムリードに変更し、または、カレントリードをスキップする。ステップＳ３６の処理後、処理はステップＳ３２に戻り、以下、同様の処理が繰り返して行われる。
【００９６】
一方、ステップＳ３１において、CCIマスタ１６が、DDRモードで通信を行うと判定した場合、処理はステップＳ３７に進み、CCI（I3C DDR）処理部５２は、DDR通常処理を行う。例えば、CCI（I3C DDR）処理部５２は、図５のステップＳ２１でI3Cドライバ１７からエラー検出またはNACK受信があったという報告を受領するまで、MD0エラーまたはMD1エラーが検出されるまで、または、通信が終了するまでDDR通常処理を行う。そして、DDR通常処理が終了したとき、処理はステップＳ３８に進む。
【００９７】
ステップＳ３８において、CCI（I3C DDR）処理部５２は、DDR通常処理を終了したのは、通信終了によるものなのか、エラー検出またはNACK受信があったという報告を受領したことによるものなのか、あるいは、MD0エラーまたはMD1エラーが検出されたことによるものなのかを判定する。
【００９８】
ステップＳ３８において、DDR通常処理を終了したのは通信終了によるものであると判定された場合、処理はステップＳ３７に戻り、CCI（I3C DDR）処理部５２は、DDR通常処理による通信を継続して行う。
【００９９】
一方、ステップＳ３３において、DDR通常処理が終了したのはエラー検出またはNACK受信があったという報告を受領したことによるもの、あるいは、MD0エラーまたはMD1エラーが検出されたことによるものであると判定された場合、処理はステップＳ３９に進む。
【０１００】
ステップＳ３９において、CCI（I3C DDR）処理部５２は、は、内部のインデックスをクリアし、無効化する。
【０１０１】
ステップＳ４０において、CCI（I3C DDR）処理部５２は、次の転送は、現在のアドレス位置のデータを読み出すCCI（DDR）カレントリードであるか否かを判定する。
【０１０２】
ステップＳ４０において、次の転送はCCI（DDR）カレントリードでないと判定された場合、処理はステップＳ３７に戻り、次の転送からDDR通常処理が再開される。
【０１０３】
一方、ステップＳ４０において、次の転送はCCI（DDR）カレントリードであると判定された場合、処理はステップＳ４１に進む。ステップＳ４１において、CCI（I3C DDR）処理部５２は、カレントリードを禁止して、ランダムリードに変更し、または、カレントリードをスキップする。ステップＳ４１の処理後、処理はステップＳ３７に戻り、以下、同様の処理が繰り返して行われる。
【０１０４】
図７は、CCIスレーブ１８のCCI（I3C SDR）処理部６１によりスレーブ側のCCI階層で行われるSDR通信処理を説明するフローチャートである。
【０１０５】
例えば、スレーブデバイス２３に電力が供給されてCCIスレーブ１８が起動すると処理が開始される。ステップＳ５１において、CCI（I3C SDR）処理部６１は、I3Cマスタ１２により通信のスタートまたはリスタートが行われて、その通信のスタートまたはリスタートをI3Cスレーブ１３が検出するまで処理を待機する。そして、通信のスタートまたはリスタートをI3Cスレーブ１３が検出すると、処理はステップＳ５２に進む。
【０１０６】
ステップＳ５２において、CCI（I3C SDR）処理部６１は、I3Cスレーブ１３がI3Cマスタ１２から送信されてくる信号を受信するのを待機する。そして、CCI（I3C SDR）処理部６１は、I3Cマスタ１２から送信されてきた信号をI3Cスレーブ１３が受信し、その信号をI3Cスレーブ１３から受領すると、処理はステップＳ５３に進む。
【０１０７】
ステップＳ５３において、CCI（I3C SDR）処理部６１は、ステップＳ５２で受領した信号に基づいて、HDRモード遷移するか否かを判定する。
【０１０８】
ステップＳ５３において、CCI（I3C SDR）処理部６１が、HDRモード遷移しないと判定した場合、処理はステップＳ５４に進む。
【０１０９】
ステップＳ５４において、エラー対応部６３は、ステップＳ５２でCCI（I3C SDR）処理部６１が受領した信号に基づくワードついて、エラーが発生しているエラー受信、または、正常に受信することができた正常ワード受信のどちらであるかを判定する。
【０１１０】
ステップＳ５４において、エラー対応部６３が、エラー受信であると判定した場合、処理はステップＳ５５に進む。ステップＳ５５において、エラー対応部６３は、インデックスをクリアし、無効化する。その後、処理はステップＳ５１に戻り、以下、同様の処理が繰り返して行われる。
【０１１１】
一方、ステップＳ５４において、エラー対応部６３が、正常ワード受信であると判定した場合、処理はステップＳ５６に進む。ステップＳ５６において、CCI（I3C SDR）処理部６１は、正常に受信したワードの意味を判定する。
【０１１２】
ステップＳ５６において、CCI（I3C SDR）処理部６１が、ワードの意味がスレーブアドレスおよびライトコマンドであると判定した場合、処理はステップＳ５７に進む。ステップＳ５７において、CCI（I3C SDR）処理部６１は、I3Cスレーブ１３から次に受領するワードをサブアドレスとして扱うものとし、処理はステップＳ５２に戻る。
【０１１３】
一方、ステップＳ５６において、CCI（I3C SDR）処理部６１が、ワードの意味がサブアドレスであると判定した場合、処理はステップＳ５８に進む。ステップＳ５８において、CCI（I3C SDR）処理部６１は、そのワードの値をインデックスに保持する。
【０１１４】
ステップＳ５９において、CCI（I3C SDR）処理部６１は、サブアドレスのｎバイトの受領が完了したか否かを判定する。
【０１１５】
ステップＳ５９において、CCI（I3C SDR）処理部６１が、サブアドレスのｎバイトの受領が完了していないと判定した場合、処理はステップＳ５７に進み、以下、上述した処理が行われる。
【０１１６】
一方、ステップＳ５９において、CCI（I3C SDR）処理部６１が、サブアドレスのｎバイトの受領が完了したと判定した場合、処理はステップＳ６０に進む。ステップＳ６０において、CCI（I3C SDR）処理部６１は、I3Cスレーブ１３から次に受領するワードをライトデータとして扱うものとし、処理はステップＳ５２に戻る。
【０１１７】
一方、ステップＳ５６において、CCI（I3C SDR）処理部６１が、ワードの意味がライトデータであると判定した場合、処理はステップＳ６１に進む。ステップＳ６１において、CCI（I3C SDR）処理部６１は、そのデータの値を、保持しているインデックス番地に書き込む。
【０１１８】
ステップＳ６２において、CCI（I3C SDR）処理部６１は、インデックスをインクリメント（＋１）し、ステップＳ６３において、ストップまたはリスタート（Repeated Start）をI3Cスレーブ１３から受領したか否かを判定する。
【０１１９】
ステップＳ６３において、CCI（I3C SDR）処理部６１が、ストップまたはリスタートを受領していないと判定した場合、処理はステップＳ６０に進み、以下、上述した処理が行われる。
【０１２０】
一方、ステップＳ６３において、CCI（I3C SDR）処理部６１が、ストップまたはリスタートを受領したと判定した場合、処理はステップＳ６４に進む。ステップＳ６４において、CCI（I3C SDR）処理部６１は、I3Cスレーブ１３から次に受領するワードをライトデータとしないこととした後、処理はステップＳ７６に進む。
【０１２１】
一方、ステップＳ５６において、CCI（I3C SDR）処理部６１が、ワードの意味がスレーブアドレスおよびリードコマンドであると判定した場合、処理はステップＳ６５に進む。
【０１２２】
ステップＳ６５において、CCI（I3C SDR）処理部６１は、保持しているインデックス値が有効であるか否かを判定する。
【０１２３】
ステップＳ６５において、CCI（I3C SDR）処理部６１が、保持しているインデックス値が有効である（例えば、インデックスが正しく定義されている）と判定した場合、処理はステップＳ６６に進む。ステップＳ６６において、CCI（I3C SDR）処理部６１は、保持しているインデックス番地のデータを読み込む。
【０１２４】
ステップＳ６７において、CCI（I3C SDR）処理部６１は、ステップＳ６６で読み込んだデータをI3Cスレーブ１３に渡し、ステップＳ６８において、インデックスをインクリメント（＋１）する。
【０１２５】
ステップＳ６９において、CCI（I3C SDR）処理部６１は、次のリードデータの準備が完了したか否かを判定する。ステップＳ６９において、CCI（I3C SDR）処理部６１が、次のリードデータの準備が完了したと判定した場合、処理はステップＳ７０に進み、CCI（I3C SDR）処理部６１は、I3Cスレーブ１３からマスタアボートを受信した連絡があったか否かを判定する。
【０１２６】
ステップＳ７０において、CCI（I3C SDR）処理部６１が、I3Cスレーブ１３からマスタアボートを受信した連絡がなかったと判定した場合、処理はステップＳ６７に戻り、データの読み込みが続けて行われる。
【０１２７】
一方、ステップＳ６９において、次のリードデータの準備が完了していないと判定された場合、または、ステップＳ７０において、I3Cスレーブ１３からマスタアボートを受信した連絡があったと判定された場合、処理はステップＳ７１に進む。ステップＳ７１において、CCI（I3C SDR）処理部６１は、ストップまたはリスタートを待機した後、I3Cスレーブ１３からストップまたはリスタートを受領すると、処理はステップＳ７６に進む。
【０１２８】
一方、ステップＳ６５において、CCI（I3C SDR）処理部６１が、保持しているインデックス値が有効でない（例えば、インデックスが未定義であって無効である）と判定した場合、処理はステップＳ７２に進む。ステップＳ７２において、エラー対応部６３は、CCI（I3C SDR）処理部６１により保持しているインデックス値が有効でないと判定されたことに基づいて、SS0エラーが発生したことを検出する。
【０１２９】
ステップＳ７３において、エラー対応部６３は、I3Cスレーブ１３に対して、SS0エラーを解除するまでNACK応答を行うことを指令する。
【０１３０】
ステップＳ７４において、エラー対応部６３は、ストップまたはリスタートを待機した後、I3Cスレーブ１３からストップまたはリスタートを受領すると、処理はステップＳ７５に進む。
【０１３１】
ステップＳ７５において、エラー対応部６３は、ステップＳ７４でストップまたはリスタートを受領したのに応じて、SS0エラーを解除した後、処理はステップＳ７６に進む。
【０１３２】
ステップＳ７６において、CCI（I3C SDR）処理部６１は、I3Cスレーブ１３からストップまたはリスタートのどちらを受領したのかを判定する。
【０１３３】
ステップＳ７６において、CCI（I3C SDR）処理部６１が、リスタートを受領したと判定した場合には処理はステップＳ５２に戻り、ストップを受領したと判定した場合には処理はステップＳ５１に戻って、以下、同様の処理が繰り返して行われる。
【０１３４】
一方、ステップＳ５３において、CCI（I3C SDR）処理部６１が、HDRモード遷移すると判定した場合、処理はステップＳ７７に進む。
【０１３５】
ステップＳ７７において、CCI（I3C SDR）処理部６１は、ステップＳ５３でHDRモードに遷移すると判定した信号に従って、モードを判定する。
【０１３６】
ステップＳ７７において、CCI（I3C SDR）処理部６１は、ステップＳ５３でHDRモードに遷移すると判定した信号がENTHDR0である場合、DDRモードに遷移すると判定し、処理はステップＳ７８に進む。ステップＳ７８において、CCI（I3C DDR）処理部６２が、CCI（I3C DDR）処理（後述する図８）を実行した後、処理はステップＳ８１に進む。
【０１３７】
一方、ステップＳ７７において、CCI（I3C SDR）処理部６１は、ステップＳ５３でHDRモードに遷移すると判定した信号がENTHDR1である場合、TSPモードに遷移すると判定し、処理はステップＳ７９に進む。ステップＳ７９においてCCI（I3C TSP）処理が実行された後、処理はステップＳ８１に進む。
【０１３８】
一方、ステップＳ７７において、CCI（I3C SDR）処理部６１は、ステップＳ５３でHDRモードに遷移すると判定した信号がENTHDR2である場合、TSLモードに遷移すると判定し、処理はステップＳ８０に進む。ステップＳ８０においてCCI（I3C TSL）処理が実行された後、処理はステップＳ８１に進む。
【０１３９】
ステップＳ８１において、CCI（I3C SDR）処理部６１は、I3Cスレーブ１３からストップまたはリスタートを受領するのを待機した後、ストップまたはリスタートを受領すると処理はステップＳ７６に進み、以下、上述した処理が行われる。
【０１４０】
図８は、CCIスレーブ１８のCCI（I3C DDR）処理部６２によりスレーブ側のCCI階層で行われるCCI（I3C DDR）処理（図７のステップＳ７８）を説明するフローチャートである。
【０１４１】
ステップＳ９１において、CCI（I3C DDR）処理部６２は、I3Cスレーブ１３がI3Cマスタ１２から送信されてくる信号を受信するのを待機する。そして、CCI（I3C DDR）処理部６２は、I3Cマスタ１２から送信されてきた信号をI3Cスレーブ１３が受信し、その信号をI3Cスレーブ１３から受領すると、処理はステップＳ９２に進む。
【０１４２】
ステップＳ９２において、エラー対応部６３は、ステップＳ９１でCCI（I3C DDR）処理部６２が受領した信号に基づくワードついて、エラーが発生しているエラー受信、または、正常に受信することができた正常ワード受信のどちらであるかを判定する。
【０１４３】
ステップＳ９２において、エラー対応部６３が、エラー受信であると判定した場合、処理はステップＳ９３に進み、エラー対応部６３は、インデックスをクリアし、無効化する。その後、処理はステップＳ９４に進み、CCI（I3C DDR）処理部６２は、HDR ExitまたはHDR Restartを待機した後、I3Cスレーブ１３からHDR ExitまたはHDR Restartを受領すると、処理はステップＳ１１６に進む。
【０１４４】
一方、ステップＳ９２において、エラー対応部６３が、正常ワード受信であると判定した場合、処理はステップＳ９５に進む。ステップＳ９５において、CCI（I3C DDR）処理部６２は、正常に受信したワードの意味を判定する。
【０１４５】
ステップＳ９５において、CCI（I3C DDR）処理部６２が、ワードの意味がライトコマンドおよびスレーブアドレスであると判定した場合、処理はステップＳ９６に進む。ステップＳ９６において、CCI（I3C DDR）処理部６２は、I3Cスレーブ１３から次に受領するワードを送受信バイト数（LENGTH）として扱うものとし、処理はステップＳ９１に戻る。
【０１４６】
一方、ステップＳ９５において、CCI（I3C DDR）処理部６２が、ワードの意味が送受信バイト数であると判定した場合、処理はステップＳ９７に進む。ステップＳ９７において、CCI（I3C DDR）処理部６２は、送受信バイト数の値（Ｌバイト）を保持する。
【０１４７】
ステップＳ９８において、CCI（I3C DDR）処理部６２は、送受信バイト数について、所定バイト分の受領が完了したか否かを判定する。ステップＳ９８において、CCI（I3C DDR）処理部６２が、所定バイト分の受領が完了していないと判定した場合、処理はステップＳ９６に進み、以下、上述した処理が行われる。
【０１４８】
一方、ステップＳ９８において、CCI（I3C DDR）処理部６２が、所定バイト分の受領が完了したと判定した場合、処理はステップＳ９９に進む。ステップＳ９９において、CCI（I3C DDR）処理部６２は、I3Cスレーブ１３から次に受領するワードをサブアドレスとして扱うものとし、処理はステップＳ９１に戻る。
【０１４９】
一方、ステップＳ９５において、CCI（I3C DDR）処理部６２が、ワードの意味がサブアドレスであると判定した場合、処理はステップＳ１００に進む。ステップＳ１００において、CCI（I3C DDR）処理部６２は、そのサブアドレスの値をインデックスに保持する。
【０１５０】
ステップＳ１０１において、CCI（I3C DDR）処理部６２は、サブアドレスについて、所定バイト分の受領が完了したか否かを判定する。ステップＳ１０１において、CCI（I3C DDR）処理部６２が、所定バイト分の受領が完了していないと判定した場合には処理はステップＳ９９に進み、以下、上述した処理が行われ、所定バイト分の受領が完了したと判定した場合には処理はステップＳ９１に戻る。
【０１５１】
一方、ステップＳ９５において、CCI（I3C DDR）処理部６２が、ワードの意味がライトデータであると判定した場合、処理はステップＳ１０２に進む。ステップＳ１０２において、CCI（I3C DDR）処理部６２は、そのデータを、保持しているインデックス番地に書き込む。
【０１５２】
ステップＳ１０３において、CCI（I3C DDR）処理部６２は、インデックスをインクリメント（＋１）し、ステップＳ１０４において、これまでに受信したライトデータが送受信バイト数（Ｌバイト）を超えたか否かを判定する。
【０１５３】
ステップＳ１０４において、CCI（I3C DDR）処理部６２が、ライトデータが送受信バイト数（Ｌバイト）を超えたと判定した場合、処理はステップＳ１０５に進む。ステップＳ１０５において、エラー対応部６３は、SD1エラーが発生したことを検出し、エラー対応処理（後述する図９）を行った後、処理はステップＳ１１６に進む。
【０１５４】
一方、ステップＳ１０４において、CCI（I3C DDR）処理部６２が、ライトデータが送受信バイト数（Ｌバイト）を超えていないと判定した場合、処理はステップＳ１０６に進む。ステップＳ１０６において、CCI（I3C DDR）処理部６２は、これまでに受信したライトデータが所定バイト数（Ｋバイト）を超えたか否かを判定する。
【０１５５】
ステップＳ１０６において、CCI（I3C DDR）処理部６２が、ライトデータが所定バイト数（Ｋバイト）を超えたと判定した場合、処理はステップＳ１０７に進む。ステップＳ１０７において、エラー対応部６３は、SD2エラーが発生したことを検出し、エラー対応処理（後述する図９）を行った後、処理はステップＳ１１６に進む。一方、ステップＳ１０６において、CCI（I3C DDR）処理部６２が、ライトデータが所定バイト数（Ｋバイト）を超えていないと判定した場合には処理はステップＳ９１に戻る。
【０１５６】
一方、ステップＳ９５において、CCI（I3C DDR）処理部６２が、ワードの意味がCRCワードであると判定した場合、処理はステップＳ９４に進み、以下、上述した処理が行われる。
【０１５７】
一方、ステップＳ９５において、CCI（I3C DDR）処理部６２が、ワードの意味がリードコマンドおよびスレーブアドレスであると判定した場合、処理はステップＳ１０８に進む。ステップＳ１０８において、CCI（I3C DDR）処理部６２は、保持しているインデックス値が有効であるか否かを判定する。
【０１５８】
一方、ステップＳ１０８において、CCI（I3C DDR）処理部６２が、保持しているインデックス値が有効である（例えば、インデックスが正しく定義されている）と判定した場合、処理はステップＳ１０９に進む。ステップＳ１０９において、CCI（I3C DDR）処理部６２は、保持しているインデックス番地のデータを読み込む。
【０１５９】
ステップＳ１１０において、CCI（I3C DDR）処理部６２は、ステップＳ１０９で読み込んだデータをI3Cスレーブ１３に渡し、ステップＳ１１１において、インデックスをインクリメント（＋１）する。
【０１６０】
ステップＳ１１２において、CCI（I3C DDR）処理部６２は、これまでに送信したリードデータが送受信バイト数（Ｌバイト）を超えたか否かを判定する。ステップＳ１１２において、CCI（I3C DDR）処理部６２が、リードデータが送受信バイト数（Ｌバイト）を超えていないと判定した場合、処理はステップＳ１１３に進む。
【０１６１】
ステップＳ１１３において、CCI（I3C DDR）処理部６２は、I3Cスレーブ１３からマスタアボートを受信した連絡があったか否かを判定する。ステップＳ１１３において、CCI（I3C DDR）処理部６２が、I3Cスレーブ１３からマスタアボートを受信した連絡がなかったと判定した場合、処理はステップＳ１１０に戻り、データの読み込みが続けて行われる。一方、ステップＳ１１３において、CCI（I3C DDR）処理部６２が、I3Cスレーブ１３からマスタアボートを受信した連絡があったと判定した場合、処理はステップＳ９４に進み、以下、上述した処理が行われる。
【０１６２】
一方、ステップＳ１１２において、リードデータが送受信バイト数（Ｌバイト）を超えたと判定された場合、処理はステップＳ１１４に進む。ステップＳ１１４において、CCI（I3C DDR）処理部６２は、ＣＲＣワードを送信し、その後、処理はステップＳ９４に進み、以下、上述した処理が行われる。
【０１６３】
一方、ステップＳ１０８において、CCI（I3C DDR）処理部６２が、保持しているインデックス値が有効でない（例えば、インデックスが未定義であって無効である）と判定した場合、処理はステップＳ１１５に進む。ステップＳ１１５において、エラー対応部６３は、CCI（I3C SDR）処理部６１が、保持しているインデックス値が有効でないと判定したことに基づいて、SD0エラーが発生したことを検出し、エラー対応処理（後述する図９）を行った後、処理はステップＳ１１６に進む。
【０１６４】
ステップＳ１１６において、CCI（I3C DDR）処理部６２は、I3Cスレーブ１３からHDR RestartまたはHDR Exitのどちらを受領したのかを判定する。
【０１６５】
ステップＳ１１６において、CCI（I3C DDR）処理部６２が、HDR Restartを受領したと判定した場合、処理はステップＳ９１に戻り、以下、同様の処理が繰り返して行われる。一方、ステップＳ１１６において、CCI（I3C DDR）処理部６２が、HDR Exitを受領したと判定した場合、処理は終了される。
【０１６６】
図９は、図８のステップＳ１０５、ステップＳ１０７、またはステップＳ１１５において、CCIスレーブ１８のエラー対応部６３により行われるエラー対応処理を説明するフローチャートである。
【０１６７】
ステップＳ１２１において、エラー対応部６３は、I3Cスレーブ１３に対して、エラー（SD0エラー、SD1エラー、またはSD2エラー）を解除するまでNACK応答を行うことを指令する。
【０１６８】
ステップＳ１２２において、エラー対応部６３は、HDR ExitまたはHDR Restartを待機した後、I3Cスレーブ１３からHDR ExitまたはHDR Restartを受領すると、処理はステップＳ１２３に進む。
【０１６９】
ステップＳ１２３において、エラー対応部６３は、ステップＳ１２２でHDR ExitまたはHDR Restartを受領したのに応じて、エラー（SD0エラー、SD1エラー、またはSD2エラー）を解除した後、処理は終了される。
【０１７０】
図１０は、I3C（SDR）処理部４１によりスレーブ側のI3C階層で行われるSDR通信処理を説明するフローチャートである。
【０１７１】
例えば、スレーブデバイス２３に電力が供給されてI3Cスレーブ１３が起動すると処理が開始される。ステップＳ１３１において、I3C（SDR）処理部４１は、I3Cマスタ１２により通信のスタートまたはリスタートが行われて、その通信のスタートまたはリスタートを検出するまで処理を待機する。そして、I3C（SDR）処理部４１が、通信のスタートまたはリスタートを検出すると、処理はステップＳ１３２に進む。
【０１７２】
ステップＳ１３２において、I3C（SDR）処理部４１は、通信のスタートまたはリスタートに続いて送信されてくる１ワード目を確認し、ステップＳ１３３において、その１ワード目が禁止アドレスであるか否かを判定する。
【０１７３】
ステップＳ１３３において、I3C（SDR）処理部４１が、１ワード目が禁止アドレスであると判定した場合、処理はステップＳ１３４に進む。ステップＳ１３４において、エラー対応部４３は、I3C（SDR）処理部４１により１ワード目が禁止アドレスであると判定されたことに基づいて、S0エラーが発生したことを検出する。
【０１７４】
ステップＳ１３５において、エラー対応部４３は、CCIスレーブ１８に対してS0エラーが発生したことを通知する。
【０１７５】
ステップＳ１３６において、I3C（SDR）処理部４１は、HDR Exitを待機する。ステップＳ１３７において、I3C（SDR）処理部４１は、HDR Exitを受信したか否かを判定し、HDR Exitを受信していないと判定した場合、処理はステップＳ１３６に戻り、HDR Exitの待機が継続される。
【０１７６】
一方、ステップＳ１３７において、I3C（SDR）処理部４１が、HDR Exitを受信したと判定した場合、処理はステップＳ１３８に進む。ステップＳ１３８において、エラー対応部４３は、ステップＳ１３７でI3C（SDR）処理部４１がHDR Exitを受信したのに応じて、S0エラーを解除した後、処理はステップＳ１５０に進む。
【０１７７】
一方、ステップＳ１３３において、I3C（SDR）処理部４１が、１ワード目が禁止アドレスでないと判定した場合、処理はステップＳ１３９に進む。ステップＳ１３９において、I3C（SDR）処理部４１は、１ワード目がI3Cバス１１に接続されている全てのI3Cスレーブ１３を対象としたリードコマンド（7’h7E+R）であるか否かを判定する。
【０１７８】
ステップＳ１３９において、I3C（SDR）処理部４１が、１ワード目がリードコマンド（7’h7E+R）であると判定した場合、処理はステップＳ１３４に進んでS0エラーが発生したことが検出され、以下、上述した処理が行われる。
【０１７９】
一方、ステップＳ１３９において、I3C（SDR）処理部４１が、１ワード目がリードコマンド（7’h7E+R）でないと判定した場合、処理はステップＳ１４０に進む。ステップＳ１４０において、I3C（SDR）処理部４１は、１ワード目がI3Cバス１１に接続されている全てのI3Cスレーブ１３を対象としたライトコマンド（7’h7E+W）であるか否かを判定する。
【０１８０】
ステップＳ１４０において、I3C（SDR）処理部４１が、１ワード目がライトコマンド（7’h7E+W）であると判定した場合、処理はステップＳ１４１に進み、確認応答処理部７１による確認応答処理（後述する図１１）が行われる。
【０１８１】
ステップＳ１４２において、I3C（SDR）処理部４１は、ステップＳ１４１の確認応答処理においてACK応答またはNACK応答のどちらが行われたかを判定する。
【０１８２】
ステップＳ１４２において、I3C（SDR）処理部４１が、ACK応答が行われたと判定した場合、処理はステップＳ１４３に進む。ステップＳ１４３において、I3C（SDR）処理部４１は、次にリスタートが来たか否かを判定し、次にリスタートが来たと判定した場合には処理はステップＳ１３２に戻る。
【０１８３】
一方、ステップＳ１４３において、I3C（SDR）処理部４１が、次にリスタートが来ていないと判定した場合には処理はステップＳ１４４に進む。即ち、この場合、１ワード目はCCCであり、CCC受信処理部７３によるCCC受信処理（後述する図１３）が行われた後、処理はステップＳ１５０に進む。
【０１８４】
一方、１４２において、I3C（SDR）処理部４１が、NACK応答が行われたと判定した場合、処理はステップＳ１４５に進み、ストップまたはリスタートを待機した後、ストップまたはリスタートを受信すると、処理はステップＳ１５０に進む。
【０１８５】
一方、ステップＳ１４０において、I3C（SDR）処理部４１が、１ワード目がライトコマンド（7’h7E+W）でないと判定した場合、処理はステップＳ１４６に進む。即ち、この場合、１ワード目は、I3Cバス１１に接続されている複数のI3Cスレーブ１３のうちの、いずれか１台のアドレスであり、ステップＳ１４６において、I3C（SDR）処理部４１は、その１ワード目が自分のアドレスと一致しているか否かを判定する。
【０１８６】
ステップＳ１４６において、I3C（SDR）処理部４１が、１ワード目が自分のアドレスと一致していないと判定した場合、処理はステップＳ１４５に進む。即ち、この場合、その１ワード目は他のI3Cスレーブ１３のアドレスであるため、I3C（SDR）処理部４１は、ステップＳ１４５において、ストップまたはリスタートを待機する。
【０１８７】
一方、ステップＳ１４６において、I3C（SDR）処理部４１が、１ワード目が自分のアドレスと一致していると判定した場合、処理はステップＳ１４７に進む。ステップＳ１４７において、I3C（SDR）処理部４１は、自分のアドレスとともに送信されてきたコマンドが、ライトコマンドまたはリードコマンドのどちらであるかを判定する。
【０１８８】
ステップＳ１４７において、I3C（SDR）処理部４１が、ライトコマンドであると判定した場合、処理はステップＳ１４８に進み、ライト受信処理部７２によるライト受信処理（後述する図１２）が行われた後、処理はステップＳ１５０に進む。
【０１８９】
一方、ステップＳ１４７において、I3C（SDR）処理部４１が、リードコマンドであると判定した場合、処理はステップＳ１４９に進み、リード受信処理部７４によるリード受信処理（後述する図１４）が行われた後、処理はステップＳ１５０に進む。
【０１９０】
ステップＳ１５０において、I3C（SDR）処理部４１は、ストップまたはリスタートのどちらを受信したのかを判定する。
【０１９１】
ステップＳ１５０において、I3C（SDR）処理部４１が、リスタートを受信したと判定した場合には処理はステップＳ１３２に戻り、ストップを受信したと判定した場合には処理はステップＳ１３１に戻って、以下、同様の処理が繰り返して行われる。
【０１９２】
図１１は、図１０のステップＳ１４１において、確認応答処理部７１により行われる確認応答処理を説明するフローチャートである。
【０１９３】
ステップＳ１６１において、確認応答処理部７１は、I3Cスレーブ１３として、上述したライトコマンド（7’h7E+W）に対してACK応答でよいか否かを判定する。例えば、確認応答処理部７１は、コマンドやデータなどを正常に受信することができた場合、ACK応答を行うと判定し、コマンドやデータなどにエラーが発生している場合、ACK応答を行わない（即ち、NACK応答する）と判定する。
【０１９４】
ステップＳ１６１において、確認応答処理部７１が、I3Cスレーブ１３としてACK応答でよいと判定した場合、処理はステップＳ１６２に進む。
【０１９５】
ステップＳ１６２において、エラー対応部７６は、ステップＳ１６１において確認応答処理部７１によるACK応答でよいとした判定結果に対して、CCIスレーブ１８からNACKに上書きする要求があるか否かを判定する。例えば、CCIスレーブ１８は、上述したようにSS0エラーが解除されるまでは、I3Cの規格によらず、NACKに上書きするように要求する。
【０１９６】
ステップＳ１６２において、エラー対応部７６が、CCIスレーブ１８からNACKに上書きする要求がないと判定した場合、処理はステップＳ１６３に進み、確認応答処理部７１は、ACK応答を行った後、処理は終了される。
【０１９７】
一方、ステップＳ１６１において、確認応答処理部７１が、I3Cスレーブ１３としてACK応答でよくない（即ち、NACK応答する）と判定した場合、処理はステップＳ１６４に進む。同様に、ステップＳ１６２において、エラー対応部７６が、CCIスレーブ１８からNACKに上書きする要求があると判定した場合、処理はステップＳ１６４に進む。ステップＳ１６４において、確認応答処理部７１は、NACK応答を行った後、処理は終了される。
【０１９８】
図１２は、図１０のステップＳ１４８において、ライト受信処理部７２により行われるライト受信処理を説明するフローチャートである。
【０１９９】
ステップＳ１７１において、ライト受信処理部７２は、受信したスレーブアドレスおよびライトコマンドをCCIスレーブ１８へ送付する。
【０２００】
ステップＳ１７２において、確認応答処理部７１による確認応答処理（上述した図１１）が行われ、ステップＳ１７３において、ライト受信処理部７２は、その確認応答処理においてACK応答またはNACK応答のどちらが行われたかを判定する。
【０２０１】
ステップＳ１７３において、ライト受信処理部７２が、ACK応答が行われたと判定した場合、処理はステップＳ１７４に進む。ステップＳ１７４において、ライト受信処理部７２は、次のワードをライトデータとして受信し、CCIスレーブ１８へ送付する。
【０２０２】
ステップＳ１７５において、ライト受信処理部７２は、ステップＳ１７３で受信したライトデータにパリティエラーがあるか否かを判定する。
【０２０３】
ステップＳ１７５において、パリティエラーがないと判定された場合、処理はステップＳ１７６に進み、ライト受信処理部７２は、次にリスタートまたはストップが来たか否かを判定する。ステップＳ１７６において、ライト受信処理部７２が、次にリスタートまたはストップが来ていないと判定した場合、処理はステップＳ１７４に戻り、以下、同様の処理が繰り返される。
【０２０４】
一方、ステップＳ１７６においてリスタートまたはストップが来たと判定された場合、処理は終了される。
【０２０５】
一方、ステップＳ１７５において、ライト受信処理部７２が、パリティエラーがあると判定した場合、処理はステップＳ１７７に進む。ステップＳ１７７において、エラー対応部７６は、ライト受信処理部７２によりパリティエラーがあると判定されたことに基づいて、S2エラーが発生したことを検出する。
【０２０６】
ステップＳ１７８において、エラー対応部７６は、CCIスレーブ１８に対してS2エラーが発生したことを通知する。
【０２０７】
ステップＳ１７９において、ライト受信処理部７２は、ストップまたはリスタートを待機し、ステップＳ１８０において、ストップまたはリスタートを受信したか否かを判定する。
【０２０８】
ステップＳ１８０において、ライト受信処理部７２が、ストップまたはリスタートを受信していないと判定した場合、処理はステップＳ１７９に戻り、ストップまたはリスタートの待機が継続される。
【０２０９】
一方、ステップＳ１８０において、ライト受信処理部７２が、ストップまたはリスタートを受信したと判定した場合、処理はステップＳ１８１に進む。ステップＳ１８１において、エラー対応部４３は、ステップＳ１８０でライト受信処理部７２がストップまたはリスタートを受信したのに応じて、Ｓ2エラーを解除した後、処理は終了される。
【０２１０】
一方、ステップＳ１７３において、ライト受信処理部７２が、NACK応答が行われたと判定した場合、処理はステップＳ１８２に進む。ステップＳ１８２において、ライト受信処理部７２は、ストップまたはリスタートを待機した後、ストップまたはリスタートを受信すると、処理は終了される。
【０２１１】
図１３は、図１０のステップＳ１４４において、CCC受信処理部７３により行われるCCC受信処理を説明するフローチャートである。
【０２１２】
ステップＳ１９１において、CCC受信処理部７３は、CCCにパリティエラーがあるか否かを判定する。
【０２１３】
ステップＳ１９１において、CCC受信処理部７３が、パリティエラーがあると判定した場合、処理はステップＳ１９２に進む。ステップＳ１９２において、エラー対応部７６は、CCC受信処理部７３によりパリティエラーがあると判定されたのに基づいて、S1エラーが発生したことを検出する。
【０２１４】
ステップＳ１９３において、エラー対応部７６は、CCIスレーブ１８に対してS1エラーが発生したことを通知する。
【０２１５】
ステップＳ１９４において、CCC受信処理部７３は、HDR Exitを待機し、ステップＳ１９５において、CCC受信処理部７３は、HDR Exitを受信したか否かを判定する。ステップＳ１９５において、CCC受信処理部７３が、HDR Exitを受信していないと判定した場合、処理はステップＳ１９４に戻り、HDR Exitの待機が継続される。
【０２１６】
一方、ステップＳ１９５において、CCC受信処理部７３が、HDR Exitを受信したと判定した場合、処理はステップＳ１９６に進む。ステップＳ１９６において、エラー対応部７６は、ステップＳ１９５でCCC受信処理部７３がHDR Exitを受信したのに応じて、S1エラーを解除した後、処理は終了される。
【０２１７】
一方、ステップＳ１９１において、CCC受信処理部７３が、パリティエラーがないと判定した場合、処理はステップＳ１９７に進む。ステップＳ１９７において、CCC受信処理部７３は、CCCによる指示内容を判定する。
【０２１８】
ステップＳ１９７において、CCC受信処理部７３が、CCCによる指示内容がダイナミックアドレスの割り当てを指示するCCC（ENTDAA）である場合、処理はステップＳ１９８に進む。
【０２１９】
ステップＳ１９８において、ダイナミックアドレスを割り当てるCCC（ENTDAA）処理が行われる。
【０２２０】
ステップＳ１９９において、エラー対応部７６は、ステップＳ１９８のCCC（ENTDAA）処理において、S3エラーの発生を検出したか否かを判定する。
【０２２１】
ステップＳ１９９において、エラー対応部７６が、S3エラーの発生を検出したと判定した場合、処理はステップＳ２００に進む。ステップＳ２００において、エラー対応部７６は、CCIスレーブ１８に対してS3エラーの発生を検出したことを通知する。
【０２２２】
一方、ステップＳ１９９において、エラー対応部７６が、S3エラーの発生を検出しなかったと判定した場合、処理はステップＳ２０１に進む。ステップＳ２０１において、エラー対応部７６は、ステップＳ１９８のCCC（ENTDAA）処理において、S4エラーの発生を検出したか否かを判定する。
【０２２３】
ステップＳ２０１において、エラー対応部７６が、S4エラーの発生を検出したと判定した場合、処理はステップＳ２００に進む。この場合、ステップＳ２００において、エラー対応部７６は、CCIスレーブ１８に対してS4エラーを検出したことを通知する。
【０２２４】
ステップＳ２００の処理後、処理はステップＳ２０２に進む。同様に、ステップＳ２０１において、エラー対応部７６が、S4エラーの発生を検出しなかったと判定した場合、即ち、S3エラーおよびS4エラーのどちらの発生も検出されていない場合、処理はステップＳ２０２に進む。
【０２２５】
ステップＳ２０２において、CCC受信処理部７３は、ストップを受信したか否かを判定する。ステップＳ２０２において、CCC受信処理部７３が、ストップを受信していないと判定した場合には処理はステップＳ１９８に戻り、以下、同様の処理が繰り返され、ストップを受信したと判定した場合には処理は終了される。
【０２２６】
一方、ステップＳ１９７において、CCC受信処理部７３が、CCCによる指示内容が各種の情報の送信を要求して取得することを指示するCCC（GET系）である場合、処理はステップＳ２０３に進む。
【０２２７】
ステップＳ２０３において、各種の情報の送信を要求して取得するCCC（GET系）処理が行われる。
【０２２８】
ステップＳ２０４において、エラー対応部７６は、ステップＳ２０３のCCC（GET系）処理において、S5エラーの発生を検出したか否かを判定する。
【０２２９】
ステップＳ２０４において、エラー対応部７６が、S5エラーの発生を検出したと判定した場合、処理はステップＳ２０５に進む。ステップＳ２０５において、エラー対応部７６は、CCIスレーブ１８に対してS5エラーを検出したことを通知する。
【０２３０】
ステップＳ２０５の処理後、または、ステップＳ２０４でS5エラーが検出されなかったと判定された場合、処理はステップＳ２０６に進む。ステップＳ２０６において、CCC受信処理部７３は、ストップまたはリスタートを受信したか否かを判定する。
【０２３１】
ステップＳ２０６において、CCC受信処理部７３が、ストップまたはリスタートを受信していないと判定した場合には処理はステップＳ２０３に戻り、以下、同様の処理が繰り返され、ストップまたはリスタートを受信したと判定した場合には処理は終了される。
【０２３２】
一方、ステップＳ１９７において、CCC受信処理部７３が、CCCによる指示内容がHDRモードを開始すること指示するCCC（ENTHDRx）である場合、処理はステップＳ２０７に進む。
【０２３３】
ステップＳ２０７において、HDR開始処理部７５によりHDRモードを開始するCCC（ENTHDRx）処理が行われる。
【０２３４】
ステップＳ２０８では、ステップＳ２０７のCCC（ENTHDRx）処理において、HDR Exitと、ストップまたはリスタートとを受信したか否かが判定される。そして、HDR Exitと、ストップまたはリスタートとを受信したと判定されるまで、CCC（ENTHDRx）処理が継続して行われ、HDR Exitと、ストップまたはリスタートとを受信したと判定されると処理は終了される。
【０２３５】
なお、図１３では、CCC（ENTDAA）処理、CCC（GET系）処理、およびCCC（ENTHDRx）処理について例示したが、その他、多数のCCCが用いられる。
【０２３６】
図１４は、図１０のステップＳ１４９において、リード受信処理部７４により行われるリード受信処理を説明するフローチャートである。
【０２３７】
ステップＳ２１１において、リード受信処理部７４は、受信したスレーブアドレスおよびリードコマンドをCCIスレーブ１８へ送付する。
【０２３８】
ステップＳ２１２において、確認応答処理部７１による確認応答処理（上述した図１１）が行われ、ステップＳ２１３において、リード受信処理部７４は、その確認応答処理においてACK応答またはNACK応答のどちらが行われたかを判定する。
【０２３９】
ステップＳ２１３において、リード受信処理部７４が、ACK応答が行われたと判定した場合、処理はステップＳ２１４に進む。ステップＳ２１４において、リード受信処理部７４は、CCIスレーブ１８から受領したリードデータをI3Cマスタ１２へ送信する。
【０２４０】
ステップＳ２１５において、リード受信処理部７４は、送信中のI3Cバス１１上の信号が送信データと一致しているか否かを判定する。
【０２４１】
ステップＳ２１５において、リード受信処理部７４が、送信中のI3Cバス１１上の信号が送信データと一致していると判定した場合、処理はステップＳ２１６に進む。ステップＳ２１６において、リード受信処理部７４は、CCIスレーブ１８から次のリードデータを受領したか否かを判定する。
【０２４２】
ステップＳ２１６において、リード受信処理部７４が、CCIスレーブ１８から次のリードデータを受領していないと判定した場合、処理はステップＳ２１７に進む。ステップＳ２１７において、リード受信処理部７４は、データエンド（End-of-Data）をI3Cマスタ１２に送信する。その後、リード受信処理部７４は、ストップまたはリスタートを待機した後、ストップまたはリスタートを受信すると、処理は終了される。
【０２４３】
一方、ステップＳ２１６において、リード受信処理部７４が、CCIスレーブ１８から次のリードデータを受領したと判定した場合、処理はステップＳ２１８に進む。ステップＳ２１８において、リード受信処理部７４は、I3Cマスタ１２からのアボート要求を受領したか否かを判定する。
【０２４４】
ステップＳ２１８において、リード受信処理部７４が、I3Cマスタ１２からのアボート要求を受領していないと判定した場合、処理はステップＳ２１４に戻り、以下、同様の処理が繰り返される。
【０２４５】
一方、ステップＳ２１８において、リード受信処理部７４が、I3Cマスタ１２からのアボート要求を受領したと判定した場合、処理はステップＳ２１９に進む。ステップＳ２１９において、リード受信処理部７４は、アボート要求を受領したことをCCIスレーブ１８へ通知する。その後、リード受信処理部７４は、ストップまたはリスタートを待機した後、ストップまたはリスタートを受信すると、処理は終了される。
【０２４６】
一方、ステップＳ２１５において、リード受信処理部７４が、送信中のI3Cバス１１上の信号が送信データと一致していないと判定した場合、処理はステップＳ２２０に進む。ステップＳ２２０において、エラー対応部７６は、ステップＳ２１５でリード受信処理部７４により送信中のI3Cバス１１上の信号が送信データと一致していないと判定されたことに基づいて、S6エラーが発生したことを検出する。
【０２４７】
ステップＳ２２１において、エラー対応部７６は、CCIスレーブ１８に対してS6エラーが発生したことを通知し、ステップＳ２２２において、リード受信処理部７４は、リードデータの送信を停止する。
【０２４８】
ステップＳ２２３において、リード受信処理部７４は、ストップまたはリスタートを待機し、ステップＳ２２４において、ストップまたはリスタートを受信したか否かを判定する。ステップＳ２２４において、リード受信処理部７４が、ストップまたはリスタートを受信していないと判定した場合、処理はステップＳ２２３に戻り、ストップまたはリスタートの待機が継続される。
【０２４９】
一方、ステップＳ２２４において、リード受信処理部７４が、ストップまたはリスタートを受信したと判定した場合、処理はステップＳ２２５に進む。ステップＳ２２５において、エラー対応部４３は、ステップＳ２２４でリード受信処理部７４がストップまたはリスタートを受信したのに応じて、Ｓ6エラーを解除した後、処理は終了される。
【０２５０】
一方、ステップＳ２１３において、リード受信処理部７４が、NACK応答が行われたと判定した場合、処理はステップＳ２２６に進む。ステップＳ２２６において、リード受信処理部７４は、ストップまたはリスタートを待機する。そして、リード受信処理部７４は、ストップまたはリスタートを受信すると、処理は終了される。
【０２５１】
図１５は、図１３のステップＳ２０７において、HDR開始処理部７５により行われるHDR開始処理を説明するフローチャートである。
【０２５２】
ステップＳ２３１において、HDR開始処理部７５は、受信したCCC（ENTHDRx）に従って、HDRのモードを判定する。
【０２５３】
ステップＳ２３１において、HDR開始処理部７５が、受信したCCCがENTHDR0であると判定した場合、DDRモードを開始すると判定し、処理はステップＳ２３２に進む。ステップＳ２３２において、HDR開始処理部７５は、CCIスレーブ１８に対してDDRモードを開始することを通知し、ステップＳ２３３において、I3C（DDR）処理部４２によりDDR処理（後述する図１６）が行われた後、処理は終了される。
【０２５４】
一方、ステップＳ２３１において、HDR開始処理部７５が、受信したCCCがENTHDR1であると判定した場合、TSPモードを開始すると判定し、処理はステップＳ２３４に進む。ステップＳ２３４において、HDR開始処理部７５は、CCIスレーブ１８に対してTSPモードを開始することを通知し、ステップＳ２３５においてTSP処理が行われた後、処理は終了される。
【０２５５】
一方、ステップＳ２３１において、HDR開始処理部７５が、受信したCCCがENTHDR2であると判定した場合、TSLモードを開始すると判定し、処理はステップＳ２３６に進む。ステップＳ２３６において、HDR開始処理部７５は、CCIスレーブ１８に対してTSLモードを開始することを通知し、ステップＳ２３７においてTSL処理が行われた後、処理は終了される。
【０２５６】
一方、ステップＳ２３１において、HDR開始処理部７５が、受信したCCCが、ENTHDR0，ENTHDR1、およびENTHDR2以外の、その他であると判定した場合、処理はステップＳ２３８に進む。ステップＳ２３８において、HDR開始処理部７５は、HDR Exitを待機した後、HDR Exitを受信すると、処理は終了される。
【０２５７】
図１６は、図１５のステップＳ２３３において、I3C（DDR）処理部４２によりスレーブ側のI3C階層で行われるI3C（DDR）処理を説明するフローチャートである。
【０２５８】
ステップＳ２４１において、I3C（DDR）処理部４２は、CCC（ENTHDRx）に続けて送信されてくるプリアンブルを確認し、プリアンブルを判定する。
【０２５９】
ステップＳ２４１において、I3C（DDR）処理部４２が、プリアンブルが2’b01であると判定した場合、処理はステップＳ２４２に進む。
【０２６０】
ステップＳ２４２において、I3C（DDR）処理部４２は、コマンドを待機し、コマンドを受信すると処理はステップＳ２４３に進む。ステップＳ２４３において、I3C（DDR）処理部４２は、スレーブアドレスを待機し、スレーブアドレスを受信すると処理はステップＳ２４４に進む。
【０２６１】
ステップＳ２４４において、I3C（DDR）処理部４２は、ステップＳ２４２で受信したコマンド、および、ステップＳ２４３で受信したスレーブアドレスに、パリティエラーが発生しているか否かを判定する。ステップＳ２４４において、I3C（DDR）処理部４２が、パリティエラーが発生していないと判定した場合、処理はステップＳ２４５に進む。
【０２６２】
ステップＳ２４５において、I3C（DDR）処理部４２は、ステップＳ２４３で受信したアドレスが、自分のアドレスと一致しているか否かを判定し、自分のアドレスと一致していると判定した場合、処理はステップＳ２４６に進む。ステップＳ２４６において、I3C（DDR）処理部４２は、ステップＳ２４２で受信したコマンド、および、ステップＳ２４３で受信したスレーブアドレスをCCIスレーブ１８へ送付する。
【０２６３】
ステップＳ２４７において、I3C（DDR）処理部４２は、ステップＳ２４２で受信したコマンドが、ライトコマンドまたはリードコマンドのどちらであるかを判定する。
【０２６４】
ステップＳ２４７において、I3C（DDR）処理部４２が、ライトコマンドであると判定した場合、処理はステップＳ２４８に進み、DDRライト処理部８１によりDDRライト処理が行われた後、処理はステップＳ２５２に進む。
【０２６５】
一方、ステップＳ２４７において、I3C（DDR）処理部４２が、リードコマンドであると判定した場合、処理はステップＳ２４９に進み、DDRリード処理部８２によりDDRリード処理が行われた後、処理はステップＳ２５２に進む。
【０２６６】
一方、ステップＳ２４４において、I3C（DDR）処理部４２が、パリティエラーが発生していると判定した場合、処理はステップＳ２５０に進み、エラー対応部８４によるパリティエラー対応処理（後述する図２１）が行われた後、処理はステップＳ２５２に進む。
【０２６７】
一方、ステップＳ２４１において、I3C（DDR）処理部４２が、プリアンブルが2'b00であると判定された場合、処理はステップＳ２５２に進む。
【０２６８】
一方、ステップＳ２４１において、I3C（DDR）処理部４２が、プリアンブルが2’b01および2’b00以外の、その他であると判定した場合、処理はステップＳ２５１に進み、エラー対応部８４によるフレーミングエラー対応処理（後述する図２０）が行われた後、処理はステップＳ２５２に進む。
【０２６９】
ステップＳ２５２において、I3C（DDR）処理部４２は、HDR ExitまたはHDR Restartを待機する。そして、I3C（DDR）処理部４２がHDR ExitまたはHDR Restartを受信すると、処理はステップＳ２５３に進む。
【０２７０】
ステップＳ２５３において、I3C（DDR）処理部４２は、ステップＳ２５２でHDR ExitまたはHDR Restartのどちらを受信したのかを判定する。ステップＳ２５３において、I3C（DDR）処理部４２が、HDR Restartを受信したと判定した場合には処理はステップＳ２４１に戻って、以下、同様の処理が行われ、HDR Exitを受信したと判定した場合には処理は終了される。
【０２７１】
図１７は、図１６のステップＳ２４８において、DDRライト処理部８１により行われるDDRライト処理を説明するフローチャートである。
【０２７２】
ステップＳ２６１において、DDRライト処理部８１は、プリアンブルを確認し、プリアンブルを判定する。
【０２７３】
ステップＳ２６１において、DDRライト処理部８１が、プリアンブルが2’b10であると判定した場合、処理はステップＳ２６２に進む。
【０２７４】
ステップＳ２６２において、DDRライト処理部８１は、ライトデータを待機し、ライトデータを受信すると処理はステップＳ２６３に進む。
【０２７５】
ステップＳ２６３において、DDRライト処理部８１は、ステップＳ２６２で受信したライトデータに、パリティエラーが発生しているか否かを判定する。ステップＳ２６３において、DDRライト処理部８１が、パリティエラーが発生していないと判定した場合、処理はステップＳ２６４に進む。
【０２７６】
ステップＳ２６４において、DDRライト処理部８１は、ステップＳ２６２で受信したライトデータをCCIスレーブ１８へ送付する。
【０２７７】
ステップＳ２６５において、DDRライト処理部８１は、プリアンブルを確認し、プリアンブルを判定する。
【０２７８】
ステップＳ２６５において、DDRライト処理部８１が、プリアンブルが2’b11であると判定した場合、処理はステップＳ２６２に戻り、以下、ライトデータの受信が継続して行われる。
【０２７９】
一方、ステップＳ２６５において、DDRライト処理部８１が、プリアンブルが2’b01であると判定した場合、処理はステップＳ２６６に進む。ステップＳ２６６において、DDRライト処理部８１は、CRCを待機し、CRCを受信すると処理はステップＳ２６７に進む。
【０２８０】
ステップＳ２６７において、DDRライト処理部８１は、ヘッダ（4’hC）を受信したか否かを判定する。ステップＳ２６７において、DDRライト処理部８１が、ヘッダ（4’hC）を受信したと判定した場合、処理はステップＳ２６８に進む。
【０２８１】
ステップＳ２６８において、DDRライト処理部８１は、ステップＳ２６６で受信したCRCにCRCエラーが発生しているか否かを判定する。ステップＳ２６８において、DDRライト処理部８１が、CRCエラーが発生していないと判定した場合、処理はステップＳ２６９に進む。
【０２８２】
ステップＳ２６９において、DDRライト処理部８１は、ステップＳ２６６で受信したCRCのワードをCCIスレーブ１８へ送付した後、処理は終了される。
【０２８３】
一方、ステップＳ２６８において、DDRライト処理部８１が、CRCエラーが発生していると判定した場合、処理はステップＳ２７０に進む。ステップＳ２７０において、エラー対応部８４によるCRCエラー対応処理（後述する図２２）が行われた後、処理は終了される。
【０２８４】
一方、ステップＳ２６７において、DDRライト処理部８１が、ヘッダ（4’hC）を受信していないと判定した場合、処理はステップＳ２７１に進む。ステップＳ２７１において、エラー対応部８４によるフレーミングエラー対応処理（後述する図２０）が行われた後、処理は終了される。
【０２８５】
一方、ステップＳ２６５において、DDRライト処理部８１が、プリアンブルが2’b00であると判定した場合、処理は終了される。
【０２８６】
一方、ステップＳ２６５において、DDRライト処理部８１が、プリアンブルが2'b11，2'b01，2’b00以外の、その他であると判定した場合、処理はステップＳ２７２に進む。ステップＳ２７２において、エラー対応部８４によるフレーミングエラー対応処理（後述する図２０）が行われた後、処理は終了される。
【０２８７】
一方、ステップＳ２６３において、DDRライト処理部８１が、パリティエラーが発生していると判定した場合、処理はステップＳ２７３に進む。ステップＳ２７３において、エラー対応部８４によるパリティエラー対応処理（後述する図２１）が行われた後、処理は終了される。
【０２８８】
ステップＳ２６１において、DDRライト処理部８１が、プリアンブルが2’b00であると判定した場合、処理は終了される。
【０２８９】
ステップＳ２６１において、DDRライト処理部８１が、プリアンブルが2’b10，2’b00以外の、その他であると判定した場合、処理はステップＳ２７４に進む。ステップＳ２７４において、エラー対応部８４によるフレーミングエラー対応処理（後述する図２０）が行われた後、処理は終了される。
【０２９０】
図１８は、図１６のステップＳ２４９において、DDRリード処理部８２により行われるDDRリード処理を説明するフローチャートである。
【０２９１】
ステップＳ２８１において、DDR確認応答処理部８３によるDDR確認応答処理が行われ、ステップＳ２８２において、DDRリード処理部８２は、その確認応答処理においてACK応答またはNACK応答のどちらが行われたかを判定する。
【０２９２】
ステップＳ２８２において、DDRリード処理部８２が、ACK処理が行われたと判定した場合、処理はステップＳ２８３に進む。ステップＳ２８３において、DDRリード処理部８２は、CCIスレーブ１８から受領したリードデータをI3Cマスタ１２へ送信する。
【０２９３】
ステップＳ２８４において、DDRリード処理部８２は、CCIスレーブ１８から次のリードデータを受領したか否かを判定する。
【０２９４】
ステップＳ２８４において、DDRリード処理部８２が、CCIスレーブ１８から次のリードデータを受領したと判定した場合、処理はステップＳ２８５に進み、プリアンブル（preamble[1]=1’b1）を送信する。
【０２９５】
ステップＳ２８６において、DDRリード処理部８２は、受信したプリアンブル（preamble[0]）の受信は、1’b1または1’b0のどちらであるかを判定する。
【０２９６】
ステップＳ２８６において、DDRリード処理部８２が、1’b1であると判定した場合、処理はステップＳ２８３に戻り、以下、同様の処理が繰り返して行われ、1’b0であると判定した場合、処理は終了される。
【０２９７】
一方、ステップＳ２８４において、DDRリード処理部８２が、CCIスレーブ１８から次のリードデータを受領していないと判定した場合、処理はステップＳ２８７に進む。ステップＳ２８７において、DDRリード処理部８２は、プリアンブル（2’b01）を送信し、ステップＳ２８８においてＣＲＣワードを送信した後、処理は終了される。
【０２９８】
一方、ステップＳ２８２において、DDRリード処理部８２が、NACK処理が行われたと判定した場合、処理は終了される。
【０２９９】
図１９は、図１８のステップＳ２８１において、DDR確認応答処理部８３により行われるDDR確認応答処理を説明するフローチャートである。
【０３００】
ステップＳ２９１において、DDR確認応答処理部８３は、I3Cスレーブ１３として、上述したリードコマンドに対してACK応答でよいか否かを判定する。例えば、DDR確認応答処理部８３は、コマンドやデータなどを正常に受信することができた場合、ACK応答を行うと判定し、コマンドやデータなどにエラーが発生している場合、ACK応答を行わない（即ち、NACK応答する）と判定する。
【０３０１】
ステップＳ２９１において、DDR確認応答処理部８３が、I3Cスレーブ１３としてACK応答でよいと判定した場合、処理はステップＳ２９２に進む。
【０３０２】
ステップＳ２９２において、エラー対応部８４は、ステップＳ２９１においてDDR確認応答処理部８３によるACK応答でよいとした判定結果に対して、CCIスレーブ１８からNACKに上書きする要求があるか否かを判定する。例えば、CCIスレーブ１８は、上述したようにSS0エラーが解除されるまでは、I3Cの規格によらず、NACKに上書きするように要求する。
【０３０３】
ステップＳ２９２において、エラー対応部８４が、CCIスレーブ１８からNACKに上書きする要求がないと判定した場合、処理はステップＳ２９３に進み、DDR確認応答処理部８３は、ACK応答を行う。
【０３０４】
一方、ステップＳ２９１において、DDR確認応答処理部８３が、I3Cスレーブ１３としてACK応答でよくない（即ち、NACK応答する）と判定した場合、処理はステップＳ２９４に進む。同様に、ステップＳ２９２において、エラー対応部８４が、CCIスレーブ１８からNACKに上書きする要求があると判定した場合、処理はステップＳ２９４に進む。ステップＳ２９４において、確認応答処理部７１は、NACK応答を行った後、処理は終了される。
【０３０５】
図２０は、図１６のステップＳ２５１、並びに、図１７のステップＳ２７１，Ｓ２７２、およびＳ２７４において、エラー対応部８４により行われるフレーミングエラー対応処理を説明するフローチャートである。
【０３０６】
ステップＳ３０１において、エラー対応部８４は、CCIスレーブ１８に、フレーミングエラーを通知し、処理は終了される。
【０３０７】
図２１は、図１６のステップＳ２５０、および、図１７のステップＳ２７３において、エラー対応部８４により行われるパリティエラー対応処理を説明するフローチャートである。
【０３０８】
ステップＳ３１１において、エラー対応部８４は、CCIスレーブ１８に、パリティエラーを通知し、処理は終了される。
【０３０９】
図２２は、図１７のステップＳ２７０において、エラー対応部８４により行われるCRCエラー対応処理を説明するフローチャートである。
【０３１０】
ステップＳ３２１において、エラー対応部８４は、CCIスレーブ１８に、CRCエラーを通知し、処理は終了される。
【０３１１】
以上のように、I3Cバス１１を利用したI3C通信システム２１において、スレーブデバイス２３では、I3Cスレーブ１３の階層でエラーを検出すると、そのエラーを検出したワードから、I3Cスレーブ１３が復帰し、SDRモードおよびDDRモードともにスレーブアドレスとライトコマンドとを受信するまで、CCIスレーブ１８の階層は、I3Cスレーブ１３からの一切の受信データを無視する。これは、ライト転送には、必ずサブアドレスが付いているからである。
【０３１２】
なお、本実施の形態の第１の変形例として、例えば、スレーブデバイス２３では、I3Cスレーブ１３がエラーを検出すると、そのエラーを検出したワードからI3Cスレーブ１３が復帰して、CCIスレーブ１８のCCI（I3C SDR）処理部６１およびCCI（I3C DDR）処理部６２がともにスレーブアドレスおよびライトコマンドを受信するまで、I3Cスレーブ１３からの一切の受信データを無視するようにしてもよい。これは、スレーブアドレスおよびライトコマンドの後には必ず、サブアドレスが付随しているからである。
【０３１３】
この間、I3Cスレーブ１３は、I3C規格に沿ってACK応答またはNACK応答を行おうとするが、例外的に、CCI（I3C SDR）のスレーブアドレスおよびリードコマンドの次のACK応答は、CCIスレーブ１８によりNACK応答に上書きされる。このような上書きを行うのは、他の箇所、例えば、７E+Wの次にNACK応答すると、I3Cマスタ１２およびI3Cスレーブ１３が１対１の構成である場合、意図せずに、I3C規格で規定されているM2エラー（No response to Broadcast Address）が検出されて誤動作するからである。なお、必要に応じて、特定のコマンドだけは、NACK応答に上書きしないように実装してもよい。
【０３１４】
また、本実施の形態の第２の変形例として、I3Cバス１１を利用したI3C通信システム２１において、スレーブデバイス２３は、I3Cスレーブ１３の階層でエラーを検出したら、そのエラーを検出したワードからI3Cスレーブ１３が復帰し、SDRモードおよびDDRモードともに次のスタートまたはリスタートと、スレーブアドレスと、ライトコマンドと、インデックスとを受信するまで、CCIスレーブ１８の階層は、I3Cスレーブ１３からの一切の受信データを無視する。この間、I3Cスレーブ１３は、I3C規格に沿ってACK応答またはNACK応答を行おうとするが、例外的に、CCI（I3C SDR）のスレーブアドレスおよびリードコマンドの次のACK応答は、CCIスレーブ１８によりNACK応答に上書きされる。これにより、インデックスは確実に受信することができる。
【０３１５】
なお、SD0エラー、SD1エラー、またはSD2エラーの発生が検出されたときに、I3Cスレーブ１３が、スレーブアボートを出力して、I3Cスレーブ１３側から通信を打ち切るようにしてもよい。
【０３１６】
＜エラー対策について＞
図２３乃至図３０を参照して、インデックスのエラー対策、送受信バイト数以上のデータの送受信エラー対策、およびFIFOオーバーフロー対策について、さらに説明する。
【０３１７】
まず、図２３を参照して、インデックスのエラーについて説明する。
【０３１８】
図２３には、一例として、CCI(I3C DDR)規格での、ランダムロケーションからのシーケンシャルリード（Sequential Read Starting from a Random Location with 8-bit length and 8-bit index ( odd byte read transfer )）において発生するパリティエラーが示されている。ここで、I3Cスレーブ１３は、I3C規格上のパリティエラーをサブアドレス（Sub Address[7:0]）の受信中に検出した場合、I3C規格上、HDR ExitまたはHDR Restartを検出するまで、受信信号を一切無視することになる。このため、CCIスレーブ１８は、サブアドレス以降について、図２３に示すように、HDR Restartまで一切の信号を受信することができず、例えば、送受信バイト数（LENGTH）を更新することができない。
【０３１９】
一方、I3Cスレーブ１３は、次のHDR Restartでエラーから復帰し、リードコマンドを受信し、そのリードコマンドをCCIスレーブ１８に通知する。しかしながら、CCIスレーブ１８は、インデックスを更新できなかったため、どのサブアドレスに対するリードコマンドであるのか正しく解釈することができない。その結果、以前に設定したレジスタアドレスに対するリードデータをI3Cマスタ１２に送信してしまう恐れがある。
【０３２０】
さらに、インデックスの更新が、以前に設定したサブアドレスに基づいて計算されてしまうため、次にカレントリードが続いた場合、そのまま間違ったリードデータをI3Cマスタ１２に送信することになる。即ち、１つのエラーによって連鎖的にエラーが発生してしまうが、その値が誤っていることにI3Cマスタ１２が気付くことは非常に困難である。
【０３２１】
また、送受信バイト数以上のデータの送受信エラーについて説明する。
【０３２２】
CCI（I3C DDR）では、CCI（I3C SDR）にも使用されているサブアドレスに加えて、送受信バイト数（LENGTH）が新たにフレーム構造に追加された。これは、送受信バイト数が不明な場合、I3C DDRの規格上、I3Cスレーブ１３が、リード転送を終了させることができないからである。
【０３２３】
ここで、何らかのエラーによって、送受信バイト数（LENGTH）の値と、実際の送受信バイト数とが一致しない場合、例えば、実際の送受信バイト数が、送受信バイト数（LENGTH）の値よりも多い、または、少ないことが発生する可能性がある。このうち、送受信バイト数（LENGTH）の値よりも少ないバイト数を送受信することは、CCI（I3C DDR）のフレーム構造上、正常な転送時にも存在するとともに、I3Cマスタ１２は、優先度の関係などの要因で意図的に通信を打ち切ることがあるため、エラーとして扱うことは適切ではない。
【０３２４】
これに対し、送受信バイト数（LENGTH）の値よりも多いバイト数を送受信する場合には、深刻なエラーを引き起こす可能性があるため、エラーとして扱って、通信を安全に停止させる必要がある。例えば、I3Cマスタ１２を制御するソフトウエアのデバイスディスクリプタが、予め送受信バイト数（LENGTH）分だけメモリ上に確保したデータバッファを超えるデータを受信した場合、メモリの領域外のアクセスが発生するため、システムが停止する恐れがある。
【０３２５】
また、FIFOオーバーフローについて説明する。
【０３２６】
I3C規格は、例えば、一度の送受信でリードできる最大転送バイト数（MRL：Max Read Length）、および、一度の送受信でライトできる最大転送バイト数（MWL：Max Write Length）を、各I3Cスレーブ１３が定義し、その値をI3Cマスタ１２が取得することができる。しかしながら、I3Cマスタ１２が、意図せず、最大転送バイト数（MWL：Max Write Length）を超えるライトデータを送信した場合、I3Cスレーブ１３では、FIFOがオーバーフローし、正しくレジスタへデータが書き込めない恐れがある。
【０３２７】
そこで、I3C通信システム２１では、図２４および図２５に示すように、インデックスのエラー、送受信バイト数以上のデータの送受信エラー、およびFIFOオーバーフローに対する検出方法および復帰方法を定義する。
【０３２８】
まず、インデックスのエラー対策について説明する。
【０３２９】
例えば、スレーブデバイス２３では、図２４に示すように、CCIスレーブ１８の階層において新たに定義されるSD0エラーが利用される。即ち、I3Cスレーブ１３は、I3C DDRで規定されているフレーミングエラー、パリティエラー、またはCRC5エラーの発生を検出すると、それぞれのエラーが発生したことをCCIスレーブ１８のCCI（I3C DDR）処理部６２に通知し、CCIスレーブ１８は、それまで記憶していたインデックスの情報をクリアする。
【０３３０】
そして、CCIスレーブ１８は、インデックスがクリアされた状態で、I3Cスレーブ１３がリードコマンドを受信した場合、SD0エラーの発生を検出すること（図８のステップＳ１１５）ができる。このように、SD0エラーの発生を検出すると、図２４に示すように、CCIスレーブ１８は、ストップまたはリスタートを受信するまで、一切の通信を無視する。
【０３３１】
このとき、I3Cスレーブ１３がACK応答またはNACK応答をする場合には、I3Cの規定によらず、SD0エラーから復帰するまでは、CCIスレーブ１８は、I3Cスレーブ１３に対してNACK応答をするように指令（図９のステップＳ１２１）する。
【０３３２】
また、図２６には、SD0エラーの動作例が示されている。図示するように、CCIスレーブ１８は、HDR Restartの後のリードコマンドを受信する時に、SD0エラーを検出することができるようになるため、誤ったサブアドレスに対するリードデータをI3Cマスタ１２に送信することは回避される。
【０３３３】
また、マスタデバイス２２において、I3Cマスタ１２は、フレーミングエラー、パリティエラー、またはCRC5エラーの発生を検出した場合、あるいは、NACK応答を受信した場合、エラーの検出またはNACK応答の受信をCCI（I3C DDR）処理部５２に通知（図５のステップＳ２０およびＳ２１）する。これに応じて、CCI（I3C DDR）処理部５２は、それまで記憶していたインデックス情報をクリアする。
【０３３４】
その後、I3Cマスタ１２は、I3C規格で定める手順に従ってエラーから復帰（図５のステップＳ２３）する。そして、CCI（I3C DDR）処理部５２は、次の転送の開始時には、CCI（SDR）カレントリード（”Sequential Read Starting from the Current Location” or “Single Read Starting from the Current Location”）を使用することを禁止する。即ち、I3Cマスタ１２側でエラー発生時にはインデックスがクリアされており、I3Cスレーブ１３との間でインデックスにずれが生じてしまい、意図したレジスタのリード値を得ることができないためである。さらに、CCIスレーブ１８において、エラー発生時にインデックスがクリアされており、次の転送でカレントリードを使用した場合には、必ずSS0エラーが発生してしまうため、その使用が禁止される。
【０３３５】
図２７には、カレントリードによりSS0エラーが発生する動作例が示されている。
【０３３６】
図２７に示すように、I3Cスレーブ１３においてパリティエラーが検出されると、CCIスレーブ１８のインデックスがクリアされる。その後、I3Cスレーブ１３は、HDR Restartを受信すると、パリティエラーが解除される。そして、CCIスレーブ１８は、SD0エラーを検出してNACK応答し、HDR Exitを受信することで、SD0エラーが解除される。ここで、次の転送でカレントリードを使用した場合には、必ずSS0エラーが発生することになる。そのため、上述したように、カレントリードの使用が禁止される。
【０３３７】
次に、送受信バイト数以上のデータの送受信エラー対策について説明する。
【０３３８】
例えば、スレーブデバイス２３では、上述の図２４に示すように、CCIスレーブ１８の階層において新たに定義されるSD1エラーが利用される。即ち、I3Cスレーブ１３は、送受信バイト数（LENGTH）の次の１バイト目のライトデータの受信後、さらにライトデータが続く場合に、SD1エラー（Write over LENGTH Error）を検出する。具体的には、送受信バイト数（LENGTH）の次の１バイト目のライトデータの受信後、次に受信したプリアンブルが、データの受信が継続することを示す2’b11(Data follows)の場合、SD1エラーが発生したことが検出される。
【０３３９】
そして、CCIスレーブ１８は、SD1エラーの発生を検出した後、インデックスをクリアし、HDR ExitまたはHDR Restartを受信するまで、一切の通信を無視する。従って、送受信バイト数（LENGTH）の次の１バイトを超えた受信データはレジスタへ書き込まれることが回避される。このとき、I3Cスレーブ１３がACK応答またはNACK応答をする場合には、I3Cの規定によらず、SD1エラーから復帰するまでは、CCIスレーブ１８は、I3Cスレーブ１３に対してNACK応答をするように指令（図９のステップＳ１２１）する。
【０３４０】
また、図２８には、SD1エラーの動作例が示されている。図示するように、送受信バイト数（LENGTH）を超えてライトデータが続く場合に、SD1エラーの発生が検出され、インデックスをクリアした後、HDR ExitまたはHDR Restartを受信することで、SD1エラーが解除される。
【０３４１】
また、マスタデバイス２２において、上述の図２５に示すように、新たに定義されるMD0エラーが利用される。即ち、CCI（I3C DDR）処理部５２は、送受信バイト数（LENGTH）の次の１バイト目のリードデータの受信後、さらにリードデータが続く場合に、MD0エラー（Read over LENGTH Error）を検出する。具体的には、送受信バイト数（LENGTH）の次の１バイト目のリードデータの受信後、次に受信したプリアンブルが、データの受信が継続することを示す1’b1の場合、MD0エラーが発生したことが検出される。
【０３４２】
そして、I3Cマスタ１２のCCI（I3C DDR）処理部５２は、MD0エラーの発生を検出した後、インデックスをクリアする。さらに、マスタアボートを送信した後、HDR ExitまたはHDR Restartを送信する。このように、HDR ExitまたはHDR Restartを送信した後、MD0エラーは解除され、I3Cマスタ１２は、通常動作に復帰することができる。なお、I3Cマスタ１２は、マスタアボートを送信せずに、HDR ExitまたはHDR Restartを送信するまで、リードデータを全て無視してもよい。
【０３４３】
図２９には、MD0エラーが発生したときの動作例が示されている。図示するように、送受信バイト数（LENGTH）を超えてリードデータが続く場合に、MD0エラーが検出されて、HDR Exitを送信した後、MD0エラーは解除される。
【０３４４】
次に、FIFOオーバーフロー対策について説明する。
【０３４５】
I3Cマスタ１２は、通信を開始する前に、最大転送バイト数の送信を指示するコマンド（GETMRLまたはGETMWL）を用いて、最大転送バイト数（MRLまたはMWL）を取得することができる。なお、ユーザが、各I3Cスレーブ１３のデータシートから最大転送バイト数（MRLまたはMWL）を読み取って、I3Cマスタ１２に対して設定してもよい。これにより、I3Cマスタ１２は、最大転送バイト数（MRLまたはMWL）を超えるデータの転送を要求することを防止することができる。
【０３４６】
しかしながら、このような対策を施していても、何らかのエラーによって、FIFOオーバーフローが発生することに対して、対策が必要となる。
【０３４７】
例えば、I3Cマスタ１２が、最大転送バイト数（MWL）を超えるバイト数のライトをI3Cスレーブ１３に要求してきた場合、I3Cver1.0 DDRの規格上、I3Cスレーブ１３が、ライト転送を止めるすべを持たないため、受けきれなかったデータはI3Cスレーブ１３側で捨てられてしまうことになる。
【０３４８】
そこで、I3Cスレーブ１３は、上述の図２４に示すように、新たに定義されるSD2エラーが利用される。即ち、I3Cスレーブ１３は、Kバイト目のライトデータを受信した後、さらにライトデータが続く場合に、SD2エラー（Write over MWL）を検出する。具体的には、Kバイト目のライトデータを受信した後、次に受信したプリアンブルがデータの受信を継続することを示す2’b11（Data follows）の場合、SD2エラーが発生したことが検出される。なお、Kバイト目の値を求める計算式は、図３０の左下に示す通りである。
【０３４９】
そして、CCIスレーブ１８は、SD2エラーを検出した後、インデックスをクリアし、HDR ExitまたはHDR Restartを受信するまで、一切の通信を無視する。従って、Kバイトを超えた受信データはレジスタへ書き込まれることが回避される。このとき、I3Cスレーブ１３がACK応答またはNACK応答をする場合には、I3Cの規定によらず、SD2エラーから復帰するまでは、CCIスレーブ１８は、I3Cスレーブ１３に対してNACK応答をするように指令（図９のステップＳ１２１）する。
【０３５０】
また、図３０には、SD2エラーの動作例が示されている。図示するように、Kバイトを超えてライトデータが続く場合に、SD2エラーの発生が検出され、インデックスをクリアした後、HDR ExitまたはHDR Restartを受信することで、SD2エラーが解除される。
【０３５１】
ところで、I3Cマスタ１２が最大転送バイト数（MRL）を超えたバイト数のリードをI3Cスレーブ１３に要求してきた場合、CCI（I3C DDR）で定義されている通常の転送（Concatenated Sequential Read Starting from a Random Location）で起こり得るため、エラーとする必要はない。例えば、I3Cスレーブ１３が、このような要求を受けた場合、I3Cスレーブ１３は、最大転送バイト数（MRL）で定める上限までリードデータをI3Cマスタ１２に往診した後、CRC5を送信することで、一旦転送を終了する。
【０３５２】
例えば、I3Cマスタ１２側の対策として想定されるケースとしては、上述したような通常の転送時に、I3Cスレーブ１３が意図せずに最大転送バイト数（MRL）の設定値を超えるデータを送信することが想定される。この場合、I3Cマスタ１２側でメモリの領域外のアクセスが発生することが懸念されるため、エラーとして検出する必要がある。
【０３５３】
そこで、上述の図２５に示すように、新たに定義されるMD1エラーが利用される。CCI（I3C DDR）処理部５２は、最大転送バイト数（MRL）目のリードデータを受信した後、さらにリードデータが続く場合にMD1エラー（Read over MRL）の発生を検出する。具体的には、最大転送バイト数（MRL）目のリードデータを受信した後、次に受信したプリアンブルがデータの受信を継続することを示す1’b1の場合、MD1エラーの発生が検出される。
【０３５４】
そして、I3Cマスタ１２のCCI（I3C DDR）処理部５２は、MD1エラーを検出した後、インデックスをクリアする。さらに、マスタアボートを送信した後、HDR ExitまたはHDR Restartを送信する。このように、HDR ExitまたはHDR Restartを送信した後、MD1エラーは解除され、I3Cマスタ１２は、通常動作に復帰することができる。
【０３５５】
＜コンピュータの構成例＞
なお、上述のフローチャートを参照して説明した各処理は、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理（例えば、並列処理あるいはオブジェクトによる処理）も含むものである。また、プログラムは、単一の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１０４にインストールしたり、更新したりすることができる。
【０３６０】
＜構成の組み合わせ例＞
なお、本技術は以下のような構成も取ることができる。
（１）
バスを介した通信を制御する主導的な通信装置による制御に従って通信を行う従属的な通信装置であって、
前記主導的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、
前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層と
を備え、
前記上位階層は、
前記主導的な通信装置からリードアクセスが要求されたときに、前記インデックスの状態を判定する上位階層通信処理部と、
前記インデックスの状態に基づいてエラーの発生を検出し、前記主導的な通信装置により少なくとも前記高速通信モードの終了またはリスタートが行われるまでの間、一切の通信を無視するとともに、前記主導的な通信装置から送信されてくる信号に対する確認応答処理を行う際にはNACK応答を行うように、前記下位階層を制御する上位階層エラー対応部と
を有する
通信装置。
（２）
前記上位階層通信処理部は、前記上位階層エラー対応部によりエラーが検出されるのに応じて、前記インデックスをクリアし、未定義の状態とする
上記（１）に記載の通信装置。
（３）
バスを介した通信を制御する主導的な通信装置による制御に従って通信を行う従属的な通信装置であって、かつ、前記主導的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層とを備える従属的な通信装置が、
前記主導的な通信装置からリードアクセスが要求されたときに、前記インデックスの状態を判定することと、
前記インデックスの状態に基づいてエラーの発生を検出し、前記主導的な通信装置により少なくとも前記高速通信モードの終了またはリスタートが行われるまでの間、一切の通信を無視するとともに、前記主導的な通信装置から送信されてくる信号に対する確認応答処理を行う際にはNACK応答を行うように、前記下位階層を制御することと
を含む通信方法。
（４）
バスを介した通信を制御する主導的な通信装置による制御に従って通信を行う従属的な通信装置であって、かつ、前記主導的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層とを備える従属的な通信装置のコンピュータに、
前記主導的な通信装置からリードアクセスが要求されたときに、前記インデックスの状態を判定することと、
前記インデックスの状態に基づいてエラーの発生を検出し、前記主導的な通信装置により少なくとも前記高速通信モードの終了またはリスタートが行われるまでの間、一切の通信を無視するとともに、前記主導的な通信装置から送信されてくる信号に対する確認応答処理を行う際にはNACK応答を行うように、前記下位階層を制御することと
を含む通信処理を実行させるためのプログラム。
（５）
バスを介した通信を制御する主導的な通信装置であって、
制御に従って通信を行う従属的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、
前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層と
を備え、
前記上位階層は、前記下位階層によりエラーが検出された場合、または、前記従属的な通信装置から送信されてくるNACK応答を受信したことの報告を受領した場合、内部のインデックスをクリアし、未定義の状態にする上位階層通信処理部を有する
通信装置。
（６）
前記上位階層通信処理部は、前記下位階層によりエラーが検出された後に、または、前記従属的な通信装置から送信されてくるNACK応答を受信したことの報告を受領した後に、前記下位階層において通信を復帰した次の転送開始時において、カレントリードの使用を禁止する
上記（５）に記載の通信装置。
（７）
バスを介した通信を制御する主導的な通信装置であって、かつ、制御に従って通信を行う従属的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層とを備える主導的な通信装置が、
前記下位階層によりエラーが検出された場合、または、前記従属的な通信装置から送信されてくるNACK応答を受信したことの報告を受領した場合、内部のインデックスをクリアし、未定義の状態にすること
を含む通信方法。
（８）
バスを介した通信を制御する主導的な通信装置であって、かつ、制御に従って通信を行う従属的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層とを備える主導的な通信装置のコンピュータに、
前記下位階層によりエラーが検出された場合、または、前記従属的な通信装置から送信されてくるNACK応答を受信したことの報告を受領した場合、内部のインデックスをクリアし、未定義の状態にすること
を含む通信処理を実行させるためのプログラム。
（９）
バスを介した通信を制御する主導的な通信装置と、前記主導的な通信装置による制御に従って通信を行う従属的な通信装置とが接続されて構成される通信システムであって、
前記従属的な通信装置は、
前記主導的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、
前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層と
を備え、
前記上位階層は、
前記主導的な通信装置からリードアクセスが要求されたときに、前記インデックスの状態を判定する上位階層通信処理部と、
前記インデックスの状態に基づいてエラーの発生を検出し、前記主導的な通信装置により少なくとも前記高速通信モードの終了またはリスタートが行われるまでの間、一切の通信を無視するとともに、前記主導的な通信装置から送信されてくる信号に対する確認応答処理を行う際にはNACK応答を行うように、前記下位階層を制御する上位階層エラー対応部と
を有し、
前記主導的な通信装置は、
前記従属的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、
前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層と
を備え、
前記上位階層は、前記下位階層によりエラーが検出された場合、または、前記従属的な通信装置から送信されてくるNACK応答を受信したことの報告を受領した場合、内部のインデックスをクリアし、未定義の状態にする上位階層通信処理部を有する
通信システム。
（１０）
バスを介した通信を制御する主導的な通信装置による制御に従って通信を行う従属的な通信装置であって、
前記主導的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、
前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層と
を備え、
前記上位階層は、
通信で送受信されるデータのバイト数として予め通知された送受信バイト数を超えてライトデータが続くか否かを判定する上位階層通信処理部と、
前記送受信バイト数を超えてライトデータが続くと判定されたことに基づいてエラーの発生を検出し、前記主導的な通信装置により少なくとも前記高速通信モードの終了またはリスタートが行われるまでの間、一切の通信を無視するとともに、前記主導的な通信装置から送信されてくる信号に対する確認応答処理を行う際にはNACK応答を行うように、前記下位階層を制御する上位階層エラー対応部と
を有する
通信装置。
（１１）
前記上位階層通信処理部は、前記送受信バイト数の次に受信したプリアンブルがデータの受信が継続することを示す場合、前記送受信バイト数を超えてライトデータが続くと判定する
上記（１０）に記載の通信装置。
（１２）
バスを介した通信を制御する主導的な通信装置による制御に従って通信を行う従属的な通信装置であって、かつ、前記主導的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層とを備える従属的な通信装置が、
通信で送受信されるデータのバイト数として予め通知された送受信バイト数を超えてライトデータが続くか否かを判定することと、
前記送受信バイト数を超えてライトデータが続くと判定されたことに基づいてエラーの発生を検出し、前記主導的な通信装置により少なくとも前記高速通信モードの終了またはリスタートが行われるまでの間、一切の通信を無視するとともに、前記主導的な通信装置から送信されてくる信号に対する確認応答処理を行う際にはNACK応答を行うように、前記下位階層を制御することと
を含む通信方法。
（１３）
バスを介した通信を制御する主導的な通信装置による制御に従って通信を行う従属的な通信装置であって、かつ、前記主導的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層とを備える従属的な通信装置のコンピュータに、
通信で送受信されるデータのバイト数として予め通知された送受信バイト数を超えてライトデータが続くか否かを判定することと、
前記送受信バイト数を超えてライトデータが続くと判定されたことに基づいてエラーの発生を検出し、前記主導的な通信装置により少なくとも前記高速通信モードの終了またはリスタートが行われるまでの間、一切の通信を無視するとともに、前記主導的な通信装置から送信されてくる信号に対する確認応答処理を行う際にはNACK応答を行うように、前記下位階層を制御することと
を含む通信処理を実行させるためのプログラム。
（１４）
バスを介した通信を制御する主導的な通信装置であって、
制御に従って通信を行う従属的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、
前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層と
を備え、
前記上位階層は、通信で送受信されるデータのバイト数として予め通知した送受信バイト数を超えてリードデータが続くか否かを判定する前記上位階層通信処理部を有し、
前記下位階層は、前記送受信バイト数を超えてリードデータが続くと判定されたことに基づいてエラーの発生を検出したとき、前記上位階層にインデックスをクリアさせ、通信を打ち切って、少なくとも前記高速通信モードの終了またはリスタートを行った後、エラーを解除するエラー対応部を有する
通信装置。
（１５）
前記上位階層通信処理部は、前記送受信バイト数の次の１バイト目のリードデータを受信した後、次に受信したプリアンブルがデータの受信が継続することを示す場合、前記送受信バイト数を超えてリードデータが続くと判定する
上記（１４）に記載の通信装置。
（１６）
バスを介した通信を制御する主導的な通信装置であって、かつ、制御に従って通信を行う従属的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層とを備える主導的な通信装置が、
一度の送受信でリードできる通信で送受信されるデータのバイト数として予め通知した送受信バイト数を超えてリードデータが続くか否かを判定することと、
前記送受信バイト数を超えてリードデータが続くと判定されたことに基づいてエラーの発生を検出したとき、前記上位階層にインデックスをクリアさせ、通信を打ち切って、少なくとも前記高速通信モードの終了またはリスタートを行った後、エラーを解除することと
を含む通信方法。
（１７）
バスを介した通信を制御する主導的な通信装置であって、かつ、制御に従って通信を行う従属的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層とを備える主導的な通信装置のコンピュータに、
一度の送受信でリードできる通信で送受信されるデータのバイト数として予め通知した送受信バイト数を超えてリードデータが続くか否かを判定することと、
前記送受信バイト数を超えてリードデータが続くと判定されたことに基づいてエラーの発生を検出したとき、前記上位階層にインデックスをクリアさせ、通信を打ち切って、少なくとも前記高速通信モードの終了またはリスタートを行った後、エラーを解除することと
を含む通信処理を実行させるためのプログラム。
（１８）
バスを介した通信を制御する主導的な通信装置と、前記主導的な通信装置による制御に従って通信を行う従属的な通信装置とが接続されて構成される通信システムであって、
前記従属的な通信装置は、
前記主導的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、
前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層と
を備え、
前記上位階層は、
通信で送受信されるデータのバイト数として予め通知した送受信バイト数を超えてライトデータが続くか否かを判定する上位階層通信処理部と、
前記送受信バイト数を超えてライトデータが続くと判定されたことに基づいてエラーの発生を検出し、前記主導的な通信装置により少なくとも前記高速通信モードの終了またはリスタートが行われるまでの間、一切の通信を無視するとともに、前記主導的な通信装置から送信されてくる信号に対する確認応答処理を行う際にはNACK応答を行うように、前記下位階層を制御する上位階層エラー対応部と
を有し、
前記主導的な通信装置は、
制御に従って通信を行う従属的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、
前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層と
を備え、
前記上位階層は、通信で送受信されるデータのバイト数として予め通知した送受信バイト数を超えてリードデータが続くか否かを判定する前記上位階層通信処理部を有し、
前記下位階は、前記送受信バイト数を超えてリードデータが続くと判定されたことに基づいてエラーの発生を検出したとき、前記上位階層にインデックスをクリアさせ、通信を打ち切って、少なくとも前記高速通信モードの終了またはリスタートを行った後、エラーを解除するエラー対応部
を有する
通信システム。
（１９）
バスを介した通信を制御する主導的な通信装置による制御に従って通信を行う従属的な通信装置であって、
前記主導的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、
前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層と
を備え、
前記上位階層は、
一度の送受信でライトできる最大転送バイト数を超えるライトデータを受信したか否かを判定する上位階層通信処理部と、
前記最大転送バイト数を超えるライトデータを受信したと判定されたことに基づいてエラーの発生を検出し、前記主導的な通信装置により少なくとも前記高速通信モードの終了またはリスタートが行われるまでの間、一切の通信を無視するとともに、前記主導的な通信装置から送信されてくる信号に対する確認応答処理を行う際にはNACK応答を行うように、前記下位階層を制御する上位階層エラー対応部と
を有する
通信装置。
（２０）
前記上位階層通信処理部は、所定のバイト数目のライトデータを受信した後、次に受信したプリアンブルがデータの受信が継続することを示す場合、前記最大転送バイト数を超えるライトデータを受信すると判定する
上記（１９）に記載の通信装置。
（２１）
バスを介した通信を制御する主導的な通信装置による制御に従って通信を行う従属的な通信装置であって、かつ、前記主導的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層とを備える従属的な通信装置が、
一度の送受信でライトできる最大転送バイト数を超えるライトデータを受信したか否かを判定することと、
前記最大転送バイト数を超えるライトデータを受信したと判定されたことに基づいてエラーの発生を検出し、前記主導的な通信装置により少なくとも前記高速通信モードの終了またはリスタートが行われるまでの間、一切の通信を無視するとともに、前記主導的な通信装置から送信されてくる信号に対する確認応答処理を行う際にはNACK応答を行うように、前記下位階層を制御することと
を含む通信方法。
（２２）
バスを介した通信を制御する主導的な通信装置による制御に従って通信を行う従属的な通信装置であって、かつ、前記主導的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層とを備える従属的な通信装置のコンピュータに、
一度の送受信でライトできる最大転送バイト数を超えるライトデータを受信したか否かを判定することと、
前記最大転送バイト数を超えるライトデータを受信したと判定されたことに基づいてエラーの発生を検出し、前記主導的な通信装置により少なくとも前記高速通信モードの終了またはリスタートが行われるまでの間、一切の通信を無視するとともに、前記主導的な通信装置から送信されてくる信号に対する確認応答処理を行う際にはNACK応答を行うように、前記下位階層を制御することと
を含む通信処理を実行させるためのプログラム。
（２３）
バスを介した通信を制御する主導的な通信装置であって、
制御に従って通信を行う従属的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、
前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層と
を備え、
前記上位階層は、一度の送受信でリードできる最大転送バイト数を超えるリードデータを受信したか否かを判定する上位階層通信処理部を有し、
前記下位階層は、前記最大転送バイト数を超えるリードデータを受信したと判定されたことに基づいてエラーの発生を検出したとき、通信を打ち切って、少なくとも前記高速通信モードの終了またはリスタートを行った後、エラーを解除するエラー対応部を有する
通信装置。
（２４）
前記上位階層通信処理部は、前記最大転送バイト数のリードデータの次の１バイト目のリードデータを受信した後、次に受信したプリアンブルがデータの受信が継続することを示す場合、前記最大転送バイト数を超えるリードデータを受信したと判定する
上記（２３）に記載の通信装置。
（２５）
バスを介した通信を制御する主導的な通信装置であって、かつ、制御に従って通信を行う従属的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層とを備える主導的な通信装置が、
一度の送受信でリードできる最大転送バイト数を超えるリードデータを受信したか否かを判定することと、
前記最大転送バイト数を超えるリードデータを受信したと判定されたことに基づいてエラーの発生を検出したとき、通信を打ち切って、少なくとも前記高速通信モードの終了またはリスタートを行った後、エラーを解除することと
を含む通信方法。
（２６）
バスを介した通信を制御する主導的な通信装置であって、かつ、制御に従って通信を行う従属的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層とを備える主導的な通信装置のコンピュータに、
一度の送受信でリードできる最大転送バイト数を超えるリードデータを受信したか否かを判定することと、
前記最大転送バイト数を超えるリードデータを受信したと判定されたことに基づいてエラーの発生を検出したとき、通信を打ち切って、少なくとも前記高速通信モードの終了またはリスタートを行った後、エラーを解除することと
を含む通信処理を実行させるためのプログラム。
（２７）
バスを介した通信を制御する主導的な通信装置と、前記主導的な通信装置による制御に従って通信を行う従属的な通信装置とが接続されて構成される通信システムであって、
前記従属的な通信装置は、
前記主導的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、
前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層と
を備え、
前記上位階層は、
一度の送受信でライトできる最大転送バイト数を超えるライトデータを受信したか否かを判定する上位階層通信処理部と、
前記最大転送バイト数を超えるライトデータを受信したと判定されたことに基づいてエラーの発生を検出し、前記主導的な通信装置により少なくとも前記高速通信モードの終了またはリスタートが行われるまでの間、一切の通信を無視するとともに、前記主導的な通信装置から送信されてくる信号に対する確認応答処理を行う際にはNACK応答を行うように、前記下位階層を制御する上位階層エラー対応部と
を有し、
前記主導的な通信装置は、
制御に従って通信を行う従属的な通信装置と前記バスを介して通信を行い、通常の転送レートよりも高い転送レートでデータ転送を行う高速通信モードで通信を行うことができる下位階層と、
前記下位階層に対して上位となり、インデックスに従ってデータのリードおよびライトを行う上位階層と
を備え、
前記上位階層は、一度の送受信でリードできる最大転送バイト数を超えるリードデータを受信したか否かを判定する上位階層通信処理部を有し、
前記下位階層は、前記最大転送バイト数を超えるリードデータを受信したと判定されたことに基づいてエラーの発生を検出したとき、通信を打ち切って、少なくとも前記高速通信モードの終了またはリスタートを行った後、エラーを解除するエラー対応部を有する
通信システム。
【０３６１】
なお、本実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。また、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
【符号の説明】
【０３６２】
１１  I3Cバス，  １２  I3Cマスタ，  １３  I3Cスレーブ，  １４  データ信号線，  １５  クロック信号線，  １６  CCIマスタ，  １７  I3Cドライバ，  １８  CCIスレーブ，  ２１  I3C通信システム，  ２２  マスタデバイス，  ２３  スレーブデバイス，  ３１  エラー対応部，  ３２  ACK確認部，  ４１  I3C（SDR）処理部，  ４２  I3C（DDR）処理部，  ４３  エラー対応部，  ５１  CCI（I3C SDR）処理部，  ５２  CCI（I3C DDR）処理部，  ６１  CCI（I3C SDR）処理部，  ６２  CCI（I3C DDR）処理部，  ６３  エラー対応部，  ７１  確認応答処理部，  ７２  ライト受信処理部，  ７３  CCC受信処理部，  ７４  リード受信処理部，  ７５  HDR開始処理部，  ７６  エラー対応部，  ８１  DDRライト処理部，  ８２  DDRリード処理部，  ８３  DDR確認応答処理部，  ８４  エラー対応部
【図１】
2019032626.tif 000003
【図２】
2019032626.tif 000004
【図３】
2019032626.tif 000005
【図４】
2019032626.tif 000006
【図５】
2019032626.tif 000007
【図６】
2019032626.tif 000008
【図７】
2019032626.tif 000009
【図８】
2019032626.tif 000010
【図９】
2019032626.tif 000011
【図１０】
2019032626.tif 000012
【図１１】
2019032626.tif 000013
【図１２】
2019032626.tif 000014
【図１３】
2019032626.tif 000015
【図１４】
2019032626.tif 000016
【図１５】
2019032626.tif 000017
【図１６】
2019032626.tif 000018
【図１７】
2019032626.tif 000019
【図１８】
2019032626.tif 000020
【図１９】
2019032626.tif 000021
【図２０】
2019032626.tif 000022
【図２１】
2019032626.tif 000023
【図２２】
2019032626.tif 000024
【図２３】
2019032626.tif 000025
【図２４】
2019032626.tif 000026
【図２５】
2019032626.tif 000027
【図２６】
2019032626.tif 000028
【図２７】
2019032626.tif 000029
【図２８】
2019032626.tif 000030
【図２９】
2019032626.tif 000031
【図３０】
2019032626.tif 000032
【図３１】
2019032626.tif 000033