(57)【要約】【課題】通信をリセットすることなくフェイズずれを修復する。【解決手段】システムＣＰＵとＤＴＴモジュールＣＰＵは、データフェイズにおいてデータを送受信し、ＡＣＫフェイズにおいてＡＣＫを送受信する。フェイズずれが検出された場合、システムＣＰＵは、次のフェイズをフェイズ検出のためのフェイズとして、例外通信処理を実行し、チェックサムエラーが検出されるようなチェックサムデータをつけたダミーデータをＤＴＴモジュールＣＰＵに送信する。ＤＴＴモジュールＣＰＵは、自分自身が管理するフェイズでデータを送信するとともに、システムＣＰＵから受信したデータにおいてチェックサムエラーを検出するので、受信したデータを破棄する。システムＣＰＵは、フェイズ検出のためのフェイズにおいて受信したデータタイプを基に、次のフェイズを検出して、フェイズずれを修復することができる。本発明は、システムＣＰＵに適用できる。【選択図】      図７
2004363677.tif 000002
【特許請求の範囲】
【請求項１】
他の情報処理装置と情報を授受する情報処理装置において、
前記他の情報処理装置から送信された第１の情報を取得する取得手段と、
前記取得手段により取得された前記第１の情報を基に、前記他の情報処理装置との通信の不具合を検出する検出手段と、
前記他の情報処理装置に送信する第２の情報を生成する生成手段と、
前記検出手段による検出結果を基に、通信状態が所定の条件に合致するか否かを判断し、前記所定の条件に合致した場合、前記第２の情報を受信した前記他の情報処理装置に通信の不具合を検出させるための第３の情報が前記第２の情報に含まれるように、前記生成手段による前記第２の情報の生成を制御する制御手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記第３の情報は、正しい合計値とは異なる値のチェックサムデータである
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記情報処理装置と、前記他の情報処理装置との通信においては、データを送受信する第１の通信期間における第１の通信と、通信に関する情報を送受信する第２の通信期間における第２の通信とが、交互に、同期して実行され、
前記検出手段は、前記情報処理装置と前記他の情報処理装置とにおける、前記第１の通信と前記第２の通信との同期のずれを、前記通信の不具合として検出する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記第１の情報は、前記第１の情報が、前記第１の通信により送信されるか、前記第２の通信により送信されるかを示す第４の情報を含み、前記制御手段は、前記第３の情報を含む前記第２の情報が前記他の情報処理装置に送信された通信期間において取得された前記第１の情報に含まれる前記第４の情報を基に、次の通信期間が、前記第１の通信期間または前記第２の通信期間のうちのいずれであるかを検出して、次の通信期間において送信される前記第２の情報の生成を制御する
ことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記第３の情報を含む前記第２の情報が前記他の情報処理装置に送信された通信期間の次の前記第２の通信期間において取得された前記第１の情報から、通信を制御するための第４の情報を抽出する抽出手段を更に備え、前記制御手段は、前記抽出手段により抽出された前記第４の情報を基に、前記他の情報処理装置との通信を更に制御する
ことを特徴とする請求項３に記載の情報処理装置。
【請求項６】
前記検出手段は、前記第１の情報の情報送信元の誤りを前記通信の不具合として検出する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項７】
前記検出手段は、前記第１の情報のチェックサムの誤りを前記通信の不具合として検出する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項８】
前記第３の情報を含む前記第２の情報を受信した前記他の情報処理装置から送信された前記第１の情報から、通信を制御するための第４の情報を抽出する抽出手段を更に備え、
前記制御手段は、前記抽出手段により抽出された前記第４の情報を基に、前記他の情報処理装置との通信を更に制御する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項９】
他の情報処理装置と情報を授受する情報処理装置の情報処理方法において、
前記他の情報処理装置から送信された第１の情報を受信する受信ステップと、前記受信ステップの処理により受信された前記第１の情報を基に、前記他の情報処理装置との通信の不具合を検出する検出ステップと、
前記検出ステップの処理による検出結果を基に、通信状態が所定の条件に合致するか否かを判断し、前記所定の条件に合致した場合、前記他の情報処理装置に通信の不具合を検出させるための情報を含む第２の情報を前記他の情報処理装置に送信する送信ステップと
を含むことを特徴とする情報処理方法。
【請求項１０】
他の情報処理装置と情報を授受する処理をコンピュータに実行させるためのプログラムであって、
前記他の情報処理装置から送信された第１の情報を受信する受信ステップと、前記受信ステップの処理により受信された前記第１の情報を基に、前記他の情報処理装置との通信の不具合を検出する検出ステップと、
前記検出ステップの処理による検出結果を基に、通信状態が所定の条件に合致するか否かを判断し、前記所定の条件に合致した場合、前記他の情報処理装置に通信の不具合を検出させるための情報を含む第２の情報を前記他の情報処理装置に送信する送信ステップと
を含むことを特徴とするプログラム。
【請求項１１】
他の情報処理装置と情報を授受する情報処理装置において、
前記他の情報処理装置から送信された第１の情報を取得する取得手段と、
前記取得手段により取得された前記第１の情報を基に、前記他の情報処理装置との通信の不具合を検出する検出手段と、
前記他の情報処理装置に送信する第２の情報を生成する生成手段と、
前記検出手段による検出結果を基に、通信状態が所定の条件に合致するか否かを判断し、前記所定の条件に合致した場合、通信を制御するための第３の情報が前記第２の情報に含まれるように、前記生成手段による前記第２の情報の生成を制御する制御手段と
を備えることを特徴とする情報処理装置。
【請求項１２】
前記情報処理装置と、前記他の情報処理装置との通信においては、データを送受信する第１の通信期間における第１の通信と、通信に関する情報を送受信する第２の通信期間における第２の通信とが、交互に、同期して実行され、
前記検出手段は、前記情報処理装置と前記他の情報処理装置とにおける、前記第１の通信と前記第２の通信との同期のずれを、前記通信の不具合として検出する
ことを特徴とする請求項１１に記載の情報処理装置。
【請求項１３】
前記情報処理装置と、前記他の情報処理装置との通信においては、データを送受信する第１の通信期間における第１の通信と、通信に関する情報を送受信する第２の通信期間における第２の通信とが、交互に、同期して実行され、
前記制御手段は、前記検出手段による検出結果を基に、前記通信状態が前記所定の条件に合致したと判断した次の第２の通信期間における第２の通信において送信される前記第２の情報に、通信を制御するための第３の情報が含まれるように、前記生成手段による前記第２の情報の生成を制御する
ことを特徴とする請求項１１に記載の情報処理装置。
【請求項１４】
前記検出手段は、前記第１の情報の情報送信元の誤りを前記通信の不具合として検出する
ことを特徴とする請求項１１に記載の情報処理装置。
【請求項１５】
前記検出手段は、前記第１の情報のチェックサムの誤りを前記通信の不具合として検出する
ことを特徴とする請求項１１に記載の情報処理装置。
【請求項１６】
他の情報処理装置と情報を授受する情報処理装置の情報処理方法において、
前記他の情報処理装置から送信された第１の情報を受信する受信ステップと、前記受信ステップの処理により受信された前記第１の情報を基に、前記他の情報処理装置との通信の不具合を検出する検出ステップと、
前記検出ステップの処理による検出結果を基に、通信状態が所定の条件に合致するか否かを判断し、前記所定の条件に合致した場合、通信を制御するための情報を含む第２の情報を前記他の情報処理装置に送信する送信ステップと
を含むことを特徴とする情報処理方法。
【請求項１７】
他の情報処理装置と情報を授受する処理をコンピュータに実行させるためのプログラムであって、
前記他の情報処理装置から送信された第１の情報を受信する受信ステップと、前記受信ステップの処理により受信された前記第１の情報を基に、前記他の情報処理装置との通信の不具合を検出する検出ステップと、
前記検出ステップの処理による検出結果を基に、通信状態が所定の条件に合致するか否かを判断し、前記所定の条件に合致した場合、通信を制御するための情報を含む第２の情報を前記他の情報処理装置に送信する送信ステップと
を含むことを特徴とするプログラム。
【請求項１８】
相互に情報を授受する第１の情報処理装置と第２の情報処理装置で構成される情報通信システムにおいて、
前記第１の情報処理装置は、
前記第２の情報処理装置から送信された第１の情報を取得する第１の取得手段と、
前記第１の取得手段により取得された前記第１の情報を基に、前記第２の情報処理装置との通信の不具合を検出する第１の検出手段と、
前記第２の情報処理装置に送信する第２の情報を生成する第１の生成手段と、
前記第１の検出手段による検出結果を基に、通信状態が所定の条件に合致するか否かを判断し、前記所定の条件に合致した場合、前記第２の情報を受信した前記第２の情報処理装置に通信の不具合を検出させるための第３の情報が前記第２の情報に含まれるように、前記第１の生成手段による前記第２の情報の生成を制御する第１の制御手段と
を備え、
前記第２の情報処理装置は、
前記第１の情報処理装置から送信された前記第２の情報を取得する第２の取得手段と、
前記第２の取得手段により取得された前記第２の情報を基に、前記第１の情報処理装置との通信の不具合を検出する第２の検出手段と、
前記第１の情報処理装置に送信する前記第１の情報を生成する第２の生成手段と
を備えることを特徴とする情報通信システム。
【請求項１９】
前記第３の情報は、正しい合計値とは異なる値のチェックサムデータである
ことを特徴とする請求項１８に記載の情報処理装置。
【請求項２０】
前記第１の情報処理装置と、前記第２の情報処理装置との通信においては、データを送受信する第１の通信期間における第１の通信と、通信に関する情報を送受信する第２の通信期間における第２の通信とが、交互に、同期して実行され、
前記第１の情報は、前記第１の情報が、前記第１の通信により送信されるか、前記第２の通信により送信されるかを示す第４の情報を含み、
前記第１の情報処理装置において、
前記第１の検出手段は、前記第１の情報処理装置と前記第２の情報処理装置とにおける、前記第１の通信と前記第２の通信との同期のずれを、前記通信の不具合として検出し、
前記第１の制御手段は、前記第３の情報を含む前記第２の情報が前記第２の情報処理装置に送信された通信期間において取得された前記第１の情報に含まれる前記第４の情報を基に、次の通信期間が、前記第１の通信期間または前記第２の通信期間のうちのいずれであるかを検出して、次の通信期間において送信される前記第２の情報の生成を制御する
ことを特徴とする請求項１８に記載の情報通信システム。
【請求項２１】
前記第２の情報処理装置は、前記第２の検出手段による検出結果を基に、通信状態が所定の条件に合致するか否かを判断し、前記所定の条件に合致した場合、通信を制御するための第４の情報が前記第１の情報に含まれるように、前記第２の生成手段による前記第１の情報の生成を制御する第２の制御手段を更に備える
ことを特徴とする請求項１８に記載の情報通信システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報処理装置および情報処理方法、プログラム、並びに、情報通信システムに関し、特に、１つの装置内の複数のマイクロコンピュータ間の通信や、複数の装置間の通信において、通信が破綻した場合に、通信をリセットすることなく通信状態を復帰することができるようにした、情報処理装置および情報処理方法、プログラム、並びに、情報通信システムに関する。
【０００２】
【従来の技術】
複数の装置間や、同一の装置内の複数のマイクロコンピュータ（ＣＰＵやＭＰＵなど）間で、さまざまな情報の通信が行われる。
【０００３】
例えば、通信の一方のマイクロコンピュータの電源が一旦切断されたり、処理がリセットされることなどにより、通信が破綻する場合がある。このような場合、通信の状態を正常に戻すために、他方のマイクロコンピュータが通信処理をイニシャライズしたり、専用のプロトコルなどにより通信相手の状態を検出する必要があった。
【０００４】
同様に、例えば、２つの装置が相互に通信を行っているシステムにおいて、電源の瞬断等により一方の装置が初期化されると、通信が破綻してしまう。このようなシステムにおいて、運用者が再設定を行うまで、正常に通信することができる状態に復帰することができないような場合、通信が破綻した状態の継続を防ぐためには、常に運用者が通信状態を監視する必要があった。
【０００５】
そこで、２つの装置が相互に通信を行っているシステムにおいて、通信可能状態中に、いずれかの装置が初期化されても自己復帰することができるようにする技術がある（例えば、特許文献１参照）。
【０００６】
【特許文献１】
特開平５−１１１０２５号公報
【０００７】
この技術によれば、第１の装置において、初期化が開始されるとき、初期化フラグがオンにされ、初期化が終了した後、初期化フラグがオフにされる。第１の装置と通信を行う第２の装置は、初期化フラグを確認し、初期化フラグがオフになっている場合、新たな初期化は行われておらず、通信処理が正しく続行されていると判定できるようになされている。
【０００８】
通信動作中に、例えば、電源の瞬断等のために、第１の装置の電源がオフされた後再度オンされた場合、第１の装置は初期化され、初期化フラグがオンとなる。そして、第１の装置は、バックアップステータスを判定し、このステータスが見付からないとき、メモリ（特許文献１においては顧客情報メモリ）をクリアして、スタンバイ状態となる。この状態で、第２の装置が第１の装置のステータスを読み込むと、その応答によって、初期化フラグがオンであることが検知されるので、第２の装置は、第１の装置においてクリアされた顧客情報を第２の装置にダウンロードするとともに、第１の装置に対して、通信に必要な各種パラメータを供給する。第１の装置は、第２の装置から各種パラメータを受け取って、初期化前の状態に復帰した後、初期化フラグをオフとする。
【０００９】
このように、第２の装置は、第１の装置の初期化フラグの状態を基に、初期化が行われたか否かを判断することができ、ステータスを読み込むことにより、第１の装置が初期構えの状態に復帰するために必要な通信情報を認識して、第１の装置に送信するようにすることができる。
【００１０】
【発明が解決しようとする課題】
しかしながら、上述した技術においては、通信相手の状態を検出するために、一方の装置にフラグやステータスなどの、通常の通信処理においては用いられない情報を用意し、他方の装置が、それらの情報を読み込んで判断する必要があり、通信が破綻したことを検出してから復活するまでの処理が複雑である。更に、通信の状態を認識したり、通信の状態を復活するために、通常の通信処理とは異なる形態の情報を授受する処理を実行する必要があるため、通信の破綻から通信状態の復帰までに時間がかかってしまう。
【００１１】
本発明はこのような状況に鑑みてなされたものであり、通信状態が破綻した場合、通信処理のイニシャライズを行うことなく、短い時間で通信状態を復帰させることができるようにするものである。
【００１２】
【課題を解決するための手段】
本発明の第１の情報処理装置は、他の情報処理装置から送信された第１の情報を取得する取得手段と、取得手段により取得された第１の情報を基に、他の情報処理装置との通信の不具合を検出する検出手段と、他の情報処理装置に送信する第２の情報を生成する生成手段と、検出手段による検出結果を基に、通信状態が所定の条件に合致するか否かを判断し、所定の条件に合致した場合、第２の情報を受信した他の情報処理装置に通信の不具合を検出させるための第３の情報が第２の情報に含まれるように、生成手段による第２の情報の生成を制御する制御手段とを備えることを特徴とする。
【００１３】
第３の情報は、正しい合計値とは異なる値のチェックサムデータであるものとすることができる。
【００１４】
情報処理装置と、他の情報処理装置との通信においては、データを送受信する第１の通信期間における第１の通信と、通信に関する情報を送受信する第２の通信期間における第２の通信とが、交互に、同期して実行されるものとすることができ、検出手段には、情報処理装置と他の情報処理装置とにおける、第１の通信と第２の通信との同期のずれを、通信の不具合として検出させるようにすることができる。
【００１５】
第１の情報は、第１の情報が、第１の通信により送信されるか、第２の通信により送信されるかを示す第４の情報を含むものとすることができ、制御手段には、第３の情報を含む第２の情報が他の情報処理装置に送信された通信期間において取得された第１の情報に含まれる第４の情報を基に、次の通信期間が、第１の通信期間または第２の通信期間のうちのいずれであるかを検出して、次の通信期間において送信される第２の情報の生成を制御させるようにすることができる。
【００１６】
第３の情報を含む第２の情報が他の情報処理装置に送信された通信期間の次の第２の通信期間において取得された第１の情報から、通信を制御するための第４の情報を抽出する抽出手段を更に備えさせるようにすることができ、制御手段には、抽出手段により抽出された第４の情報を基に、他の情報処理装置との通信を更に制御させるようにすることができる。
【００１７】
検出手段には、第１の情報の情報送信元の誤りを通信の不具合として検出させるようにすることができる。
【００１８】
検出手段には、第１の情報のチェックサムの誤りを通信の不具合として検出させるようにすることができる。
【００１９】
第３の情報を含む第２の情報を受信した他の情報処理装置から送信された第１の情報から、通信を制御するための第４の情報を抽出する抽出手段を更に備えさせるようにすることができ、制御手段には、抽出手段により抽出された第４の情報を基に、他の情報処理装置との通信を更に制御させるようにすることができる。
【００２０】
本発明の第１の情報処理方法は、他の情報処理装置から送信された第１の情報を受信する受信ステップと、受信ステップの処理により受信された第１の情報を基に、他の情報処理装置との通信の不具合を検出する検出ステップと、検出ステップの処理による検出結果を基に、通信状態が所定の条件に合致するか否かを判断し、所定の条件に合致した場合、他の情報処理装置に通信の不具合を検出させるための情報を含む第２の情報を他の情報処理装置に送信する送信ステップとを含むことを特徴とする。
【００２１】
本発明の第１のプログラムは、他の情報処理装置から送信された第１の情報を受信する受信ステップと、受信ステップの処理により受信された第１の情報を基に、他の情報処理装置との通信の不具合を検出する検出ステップと、検出ステップの処理による検出結果を基に、通信状態が所定の条件に合致するか否かを判断し、所定の条件に合致した場合、他の情報処理装置に通信の不具合を検出させるための情報を含む第２の情報を他の情報処理装置に送信する送信ステップとを含むことを特徴とする。
【００２２】
本発明の第１の情報処理装置および情報処理方法、並びに、プログラムにおいては、他の情報処理装置から送信された第１の情報が受信されて取得され、第１の情報を基に、他の情報処理装置との通信の不具合が検出され、検出結果を基に、通信状態が所定の条件に合致するか否かが判断され、所定の条件に合致した場合、他の情報処理装置に通信の不具合を検出させるための情報を含む第２の情報の生成が制御されて、第２の情報が送信される。
【００２３】
本発明の第２の情報処理装置は、他の情報処理装置から送信された第１の情報を取得する取得手段と、取得手段により取得された第１の情報を基に、他の情報処理装置との通信の不具合を検出する検出手段と、他の情報処理装置に送信する第２の情報を生成する生成手段と、検出手段による検出結果を基に、通信状態が所定の条件に合致するか否かを判断し、所定の条件に合致した場合、通信を制御するための第３の情報が第２の情報に含まれるように、生成手段による第２の情報の生成を制御する制御手段とを備えることを特徴とする。
【００２４】
情報処理装置と、他の情報処理装置との通信においては、データを送受信する第１の通信期間における第１の通信と、通信に関する情報を送受信する第２の通信期間における第２の通信とが、交互に、同期して実行されるものとすることができ、検出手段には、情報処理装置と他の情報処理装置とにおける、第１の通信と第２の通信との同期のずれを、通信の不具合として検出させるようにすることができる。
【００２５】
情報処理装置と、他の情報処理装置との通信においては、データを送受信する第１の通信期間における第１の通信と、通信に関する情報を送受信する第２の通信期間における第２の通信とが、交互に、同期して実行されるものとすることができ、制御手段には、検出手段による検出結果を基に、通信状態が所定の条件に合致したと判断した次の第２の通信期間における第２の通信において送信される第２の情報に、通信を制御するための第３の情報が含まれるように、生成手段による第２の情報の生成を制御させるようにすることができる。
【００２６】
検出手段には、第１の情報の情報送信元の誤りを通信の不具合として検出させるようにすることができる。
【００２７】
検出手段には、第１の情報のチェックサムの誤りを通信の不具合として検出させるようにすることができる。
【００２８】
本発明の第２の情報処理方法は、他の情報処理装置から送信された第１の情報を受信する受信ステップと、受信ステップの処理により受信された第１の情報を基に、他の情報処理装置との通信の不具合を検出する検出ステップと、検出ステップの処理による検出結果を基に、通信状態が所定の条件に合致するか否かを判断し、所定の条件に合致した場合、通信を制御するための情報を含む第２の情報を他の情報処理装置に送信する送信ステップとを含むことを特徴とする。
【００２９】
本発明の第２のプログラムは、他の情報処理装置から送信された第１の情報を受信する受信ステップと、受信ステップの処理により受信された第１の情報を基に、他の情報処理装置との通信の不具合を検出する検出ステップと、検出ステップの処理による検出結果を基に、通信状態が所定の条件に合致するか否かを判断し、所定の条件に合致した場合、通信を制御するための情報を含む第２の情報を他の情報処理装置に送信する送信ステップとを含むことを特徴とする。
【００３０】
本発明の第２の情報処理装置および情報処理方法、並びに、プログラムにおいては、他の情報処理装置から送信された第１の情報が受信されて取得され、第１の情報を基に、他の情報処理装置との通信の不具合が検出され、検出結果を基に、通信状態が所定の条件に合致するか否かを判断され、所定の条件に合致した場合、他の情報処理装置に送信する第２の情報に通信を制御するための情報が含まれるように、第２の情報の生成が制御されて、第２の情報が送信される。
【００３１】
本発明の情報通信システムは、第１の情報処理装置が、第２の情報処理装置から送信された第１の情報を取得する第１の取得手段と、第１の取得手段により取得された第１の情報を基に、第２の情報処理装置との通信の不具合を検出する第１の検出手段と、第２の情報処理装置に送信する第２の情報を生成する第１の生成手段と、第１の検出手段による検出結果を基に、通信状態が所定の条件に合致するか否かを判断し、所定の条件に合致した場合、第２の情報を受信した第２の情報処理装置に通信の不具合を検出させるための第３の情報が第２の情報に含まれるように、第１の生成手段による第２の情報の生成を制御する第１の制御手段とを備え、第２の情報処理装置が、第１の情報処理装置から送信された第２の情報を取得する第２の取得手段と、第２の取得手段により取得された第２の情報を基に、第１の情報処理装置との通信の不具合を検出する第２の検出手段と、第１の情報処理装置に送信する第１の情報を生成する第２の生成手段とを備えることを特徴とする。
【００３２】
第３の情報は、正しい合計値とは異なる値のチェックサムデータであるものとすることができる。
【００３３】
第１の情報処理装置と、第２の情報処理装置との通信においては、データを送受信する第１の通信期間における第１の通信と、通信に関する情報を送受信する第２の通信期間における第２の通信とが、交互に、同期して実行されるものとすることができ、第１の情報は、第１の情報が、第１の通信により送信されるか、第２の通信により送信されるかを示す第４の情報を含むものとすることができ、第１の情報処理装置において、第１の検出手段には、第１の情報処理装置と第２の情報処理装置とにおける、第１の通信と第２の通信との同期のずれを、通信の不具合として検出させるようにすることができ、第１の制御手段には、第３の情報を含む第２の情報が第２の情報処理装置に送信された通信期間において取得された第１の情報に含まれる第４の情報を基に、次の通信期間が、第１の通信期間または第２の通信期間のうちのいずれであるかを検出して、次の通信期間において送信される第２の情報の生成を制御させるようにすることができる。
【００３４】
第２の情報処理装置には、第２の検出手段による検出結果を基に、通信状態が所定の条件に合致するか否かを判断し、所定の条件に合致した場合、通信を制御するための第４の情報が第１の情報に含まれるように、第２の生成手段による第１の情報の生成を制御する第２の制御手段を更に備えさせるようにすることができる。
【００３５】
本発明の情報通信システムにおいては、第１の情報処理装置で、第２の情報処理装置から送信された第１の情報が取得され、第１の情報を基に、第２の情報処理装置との通信の不具合が検出され、第２の情報処理装置に送信する第２の情報が生成され、検出結果を基に、通信状態が所定の条件に合致するか否かが判断され、所定の条件に合致した場合、第２の情報を受信した第２の情報処理装置に通信の不具合を検出させるための第３の情報が第２の情報に含まれるように、第２の情報の生成が制御され、第２の情報処理装置で、第１の情報処理装置から送信された第２の情報が取得され、第２の情報を基に、第１の情報処理装置との通信の不具合が検出され、第１の情報処理装置に送信する第１の情報が生成される。
【００３６】
【発明の実施の形態】
以下に本発明の実施の形態を説明するが、特許請求の範囲に記載の発明の各手段および各ステップと以下の実施の形態との対応関係を明らかにするために、各手段および各ステップの後の括弧内に、対応する実施の形態（但し一例）を付加して本発明の特徴を記述すると、次のようになる。但しもちろんこの記載は、各手段および各ステップを記載したものに限定することを意味するものではない。
【００３７】
請求項１に記載の情報処理装置（例えば、図１のシステムＣＰＵ１３または図２５のマスタ１５１）は、他の情報処理装置（例えば、図１のＤＴＴモジュールＣＰＵ４１または図２５のスレーブ１５２）から送信された第１の情報を取得する取得手段（例えば、図３の受信情報取得部９１）と、取得手段により取得された第１の情報を基に、他の情報処理装置との通信の不具合（例えば、フェイズずれ、チェックサムエラー、または、情報送信元の誤り）を検出する検出手段（例えば、図３のフェイズずれ検出部９３、チェックサムエラー検出部９４、または、情報送信元検出部９５）と、他の情報処理装置に送信する第２の情報を生成する生成手段（例えば、図３の送信情報生成部１０２）と、検出手段による検出結果を基に、通信状態が所定の条件（例えば、フェイズずれ、または、情報送信元の誤り）に合致するか否かを判断し、所定の条件に合致した場合、第２の情報を受信した他の情報処理装置に通信の不具合を検出させるための第３の情報（例えば、チェックサムエラーとなるような、誤ったチェックサム）が第２の情報に含まれるように、生成手段による第２の情報の生成を制御する制御手段（例えば、図３の送受信制御部９７）とを備えることを特徴とする。
【００３８】
請求項３に記載の情報処理装置（例えば、図１のシステムＣＰＵ１３）は、情報処理装置と、他の情報処理装置（例えば、図１のＤＴＴモジュールＣＰＵ４１）との通信においては、データを送受信する第１の通信期間（例えば、データフェイズ）における第１の通信と、通信に関する情報を送受信する第２の通信期間（例えば、ＡＣＫフェイズ）における第２の通信とが、交互に、同期して実行され、検出手段が、情報処理装置と他の情報処理装置とにおける、第１の通信と第２の通信との同期のずれを、通信の不具合として検出することを特徴とする。
【００３９】
請求項４に記載の情報処理装置（例えば、図１のシステムＣＰＵ１３）は、第１の情報が、第１の情報は第１の通信により送信されるか、第２の通信により送信されるかを示す第４の情報（例えば、図５に示されるヘッダのデータタイプ）を含み、制御手段が、第３の情報を含む第２の情報が他の情報処理装置（例えば、図１のＤＴＴモジュールＣＰＵ４１）に送信された通信期間において取得された第１の情報に含まれる第４の情報を基に、次の通信期間が、第１の通信期間または第２の通信期間のうちのいずれであるかを検出して、次の通信期間において送信される第２の情報の生成を制御することを特徴とする。
【００４０】
請求項５に記載の情報処理装置（例えば、図１のシステムＣＰＵ１３）は、第３の情報を含む第２の情報が他の情報処理装置（例えば、図１のＤＴＴモジュールＣＰＵ４１）に送信された通信期間の次の第２の通信期間において取得された第１の情報から、通信を制御するための第４の情報（例えば、通信情報）を抽出する抽出手段（例えば、図３の受信データ出力部９６）を更に備え、制御手段が、抽出手段により抽出された第４の情報を基に、他の情報処理装置との通信を更に制御することを特徴とする。
【００４１】
請求項８に記載の情報処理装置（例えば、図２５のマスタ１５１）は、第３の情報を含む第２の情報を受信した他の情報処理装置（例えば、図２５のスレーブ１５２）から送信された第１の情報から、通信を制御するための第４の情報（例えば、通信情報）を抽出する抽出手段（例えば、図３の受信データ出力部９６）を更に備え、制御手段が、抽出手段により抽出された第４の情報を基に、他の情報処理装置との通信を更に制御することを特徴とする。
【００４２】
請求項９に記載の情報処理方法、および、請求項１０に記載のプログラムは、他の情報処理装置（例えば、図１のＤＴＴモジュールＣＰＵ４１または図２５のスレーブ１５２）から送信された第１の情報を受信する受信ステップ（例えば、図１０のステップＳ２６、図１２のステップＳ５１、および図１４のステップＳ８２の処理）と、受信ステップの処理により受信された第１の情報を基に、他の情報処理装置との通信の不具合（例えば、フェイズずれ、チェックサムエラー、または、情報送信元の誤り）を検出する検出ステップ（例えば、図１１のステップＳ２８乃至ステップＳ３０、図１２のステップＳ５３乃至ステップＳ５５、および図１４のステップＳ８４乃至ステップＳ８６の処理）と、検出ステップの処理による検出結果を基に、通信状態が所定の条件（例えば、フェイズずれ、または、情報送信元の誤り）に合致するか否かを判断し、所定の条件に合致した場合、他の情報処理装置に通信の不具合を検出させるための情報（例えば、チェックサムエラーとなるような、誤ったチェックサム）を含む第２の情報を他の情報処理装置に送信する送信ステップ（例えば、図１４のステップＳ８１およびステップＳ８２の処理）とを含むことを特徴とする。
【００４３】
請求項１１に記載の情報処理装置（例えば、図１のＤＴＴモジュールＣＰＵ４１または図２５のスレーブ１５２）は、他の情報処理装置（例えば、図１のシステムＣＰＵ１３または図２５のマスタ１５１）から送信された第１の情報を取得する取得手段（例えば、図６の受信情報取得部１２１）と、取得手段により取得された第１の情報を基に、他の情報処理装置との通信の不具合（例えば、フェイズずれ、チェックサムエラー、または、情報送信元の誤り）を検出する検出手段（例えば、図６のフェイズずれ検出部１２３、チェックサムエラー検出部１２４、または、情報送信元検出部１２５）と、他の情報処理装置に送信する第２の情報を生成する生成手段（例えば、図３の送信情報生成部１３２）と、検出手段による検出結果を基に、通信状態が所定の条件（例えば、チェックサムエラー、フェイズずれ、または、情報送信元の誤り）に合致するか否かを判断し、所定の条件に合致した場合、通信を制御するための第３の情報（例えば、通信情報）が第２の情報に含まれるように、生成手段による第２の情報の生成を制御する制御手段（例えば、図６の送受信制御部１２７）とを備えることを特徴とする。
【００４４】
請求項１２に記載の情報処理装置（例えば、図１のＤＴＴモジュールＣＰＵ４１）は、情報処理装置と、他の情報処理装置（例えば、図１のシステムＣＰＵ１３）との通信においては、データを送受信する第１の通信期間（例えば、データフェイズ）における第１の通信と、通信に関する情報を送受信する第２の通信期間（例えば、ＡＣＫフェイズ）における第２の通信とが、交互に、同期して実行され、検出手段が、情報処理装置と他の情報処理装置とにおける、第１の通信と第２の通信との同期のずれを、通信の不具合として検出することを特徴とする。
【００４５】
請求項１６に記載の情報処理方法および請求項１７に記載のプログラムは、他の情報処理装置（例えば、図１のシステムＣＰＵ１３または図２５のマスタ１５１）から送信された第１の情報を受信する受信ステップ（例えば、図２２のステップＳ２５１、または、図２３のステップＳ２８３の処理）と、受信ステップの処理により受信された第１の情報を基に、他の情報処理装置との通信の不具合（例えば、フェイズずれ、チェックサムエラー、または、情報送信元の誤り）を検出する検出ステップ（例えば、図２２のステップＳ２５３乃至ステップＳ２５５、または、図２３のステップＳ２８６乃至ステップＳ２８８の処理）と、検出ステップの処理による検出結果を基に、通信状態が所定の条件（例えば、チェックサムエラー、フェイズずれ、または、情報送信元の誤り）に合致するか否かを判断し、所定の条件に合致した場合、通信を制御するための情報（例えば、通信情報）を含む第２の情報を他の情報処理装置に送信する送信ステップ（例えば、図２３のステップＳ２８１乃至ステップＳ２８３の処理）とを含むことを特徴とする。
【００４６】
請求項１８に記載の情報通信システムは、第１の情報処理装置（例えば、図１のシステムＣＰＵ１３または図２５のマスタ１５１）が、第２の情報処理装置（例えば、図１のＤＴＴモジュールＣＰＵ４１または図２５のスレーブ１５２）から送信された第１の情報を取得する第１の取得手段（例えば、図３の受信情報取得部９１）と、第１の取得手段により取得された第１の情報を基に、第２の情報処理装置との通信の不具合（例えば、フェイズずれ、チェックサムエラー、または、情報送信元の誤り）を検出する第１の検出手段（例えば、図３のフェイズずれ検出部９３、チェックサムエラー検出部９４、または、情報送信元検出部９５）と、第２の情報処理装置に送信する第２の情報を生成する第１の生成手段（例えば、図３の送信情報生成部１０２）と、第１の検出手段による検出結果を基に、通信状態が所定の条件（例えば、フェイズずれ、または、情報送信元の誤り）に合致するか否かを判断し、所定の条件に合致した場合、第２の情報を受信した第２の情報処理装置に通信の不具合を検出させるための第３の情報（例えば、チェックサムエラーとなるような、誤ったチェックサム）が第２の情報に含まれるように、第１の生成手段による第２の情報の生成を制御する第１の制御手段（例えば、図３の送受信制御部９７）とを備え、第２の情報処理装置が、第１の情報処理装置から送信された第２の情報を取得する第２の取得手段（例えば、図６の受信情報取得部１２１）と、第２の取得手段により取得された第２の情報を基に、第１の情報処理装置との通信の不具合（例えば、フェイズずれ、チェックサムエラー、または、情報送信元の誤り）を検出する第２の検出手段（例えば、図６のフェイズずれ検出部１２３、チェックサムエラー検出部１２４、または、情報送信元検出部１２５）と、第１の情報処理装置に送信する第１の情報を生成する第２の生成手段（例えば、図３の送信情報生成部１３２）とを備えることを特徴とする。
【００４７】
請求項２０に記載の情報通信システムは、第１の情報処理装置（例えば、図１のシステムＣＰＵ１３）と、第２の情報処理装置（例えば、図１のＤＴＴモジュールＣＰＵ４１）との通信において、データを送受信する第１の通信期間（例えば、データフェイズ）における第１の通信と、通信に関する情報を送受信する第２の通信期間（例えば、ＡＣＫフェイズ）における第２の通信とが、交互に、同期して実行され、第１の情報は、第１の情報が、第１の通信により送信されるか、第２の通信により送信されるかを示す第４の情報（例えば、図５に示されるヘッダのデータタイプ）を含み、第１の情報処理装置において、第１の検出手段が、第１の情報処理装置と第２の情報処理装置とにおける、第１の通信と第２の通信との同期のずれを、通信の不具合として検出し、第１の制御手段は、第３の情報を含む第２の情報が第２の情報処理装置に送信された通信期間において取得された第１の情報に含まれる第４の情報を基に、次の通信期間が、第１の通信期間または第２の通信期間のうちのいずれであるかを検出して、次の通信期間において送信される第２の情報の生成を制御することを特徴とする。
【００４８】
請求項２１に記載の情報通信システムは、第２の情報処理装置が、第２の検出手段による検出結果を基に、通信状態が所定の条件（例えば、チェックサムエラー、フェイズずれ、または、情報送信元の誤り）に合致するか否かを判断し、所定の条件に合致した場合、通信を制御するための第４の情報（例えば、通信情報）が第１の情報に含まれるように、第２の生成手段による第１の情報の生成を制御する第２の制御手段（例えば、図６の送受信制御部１２７）を更に備えることを特徴とする。
【００４９】
以下、図を参照して、本発明の実施の形態について説明する。
【００５０】
図１は、本発明を適用したデジタルテレビジョン受像機１の構成を示すブロック図である。
【００５１】
アンテナ１１は、デジタル地上波放送の放送波を受信する。チューナモジュール１２のチューナ３１は、システムＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１３、または、ＤＴＴモジュールＣＰＵ４１の制御に基づいて、放送波を選局する。システムＣＰＵ１３は、赤外線受信部１４が受信した、リモートコマンダ２から送信されたユーザの操作入力を示す信号、操作入力部１５から供給されたユーザの操作入力を示す信号、または、ＤＴＴ（Ｄｉｇｉｔａｌ  Ｔｅｒｒｅｓｔｒｉａｌ  Ｔｅｌｅｖｉｓｉｏｎ：デジタル地上波テレビジョン）モジュール１６から供給される信号を基に、デジタルテレビジョン受像機１内の各部を制御する。
【００５２】
リモートコマンダ２には、例えば、ボタン、ジョグダイヤル、十字キー、タッチパネルなどが設けられ、ユーザの操作入力を受けて、赤外線信号により、ユーザの操作入力を示す信号を赤外線受信部１４に送信する。赤外線受信部１４は、リモートコマンダ２から送信された、ユーザの操作入力を示す信号を、システムＣＰＵ１３に供給する。操作入力部１５は、例えば、ボタン、ジョグダイヤル、十字キー、タッチパネルなどで構成され、ユーザの操作入力を受けて、ユーザの操作入力を示す信号を、システムＣＰＵ１３に供給する。
【００５３】
ＤＴＴモジュール１６は、ＤＴＴモジュールＣＰＵ４１、通信用コンパニオンチップ４２、ＩＥＥＥ（Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃ  Ｅｎｇｉｎｅｅｒｓ）１３９４用ＣＰＵ４３、および、ＩＥＥＥ１３９４インターフェース４４で構成され、チューナ１２により選局されたデジタル地上波放送信号に対して、所定の処理を施したり、ＩＥＥＥ１３９４インターフェース４４を介して接続されている外部機器に放送信号を供給するために必要な処理を実行する。
【００５４】
通信用コンパニオンチップ４２は、システムＣＰＵ１３およびチューナ３１と、ＤＴＴモジュール１６内のＤＴＴモジュールＣＰＵ４１、ＩＥＥＥ１３９４用ＣＰＵ４３、および、ＩＥＥＥ１３９４インターフェース４４とのインターフェースである。すなわち、通信用コンパニオンチップ４２は、ＳＰＩ（Ｓｅｒｉａｌ  ｐｅｒｉｐｈｅｒａｌ  ｉｎｔｅｒｆａｃｅ）バス２１を介して、システムＣＰＵ１３から供給された情報を、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バス２３を介して、ＤＴＴモジュールＣＰＵ４１、または、ＩＥＥＥ１３９４用ＣＰＵ４３に供給するとともに、ＰＣＩバス２３を介して、ＤＴＴモジュールＣＰＵ４１または、ＩＥＥＥ１３９４用ＣＰＵ４３から供給された情報を、ＳＰＩバス２１を介して、システムＣＰＵ１３に供給したり、ＩＩＣ（Ｉｎｔｅｒ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）バス２２を介して、チューナ３１に供給する。また、通信用コンパニオンチップ４２は、ＩＩＣバス２２を介して、チューナ３１から供給された情報を、ＰＣＩバス２３を介して、ＩＥＥＥ１３９４インターフェース４４に供給するとともに、ＰＣＩバス２３を介して、ＩＥＥＥ１３９４インターフェース４４から供給された情報を、ＩＩＣバス２２を介して、チューナ３１に供給する。
【００５５】
ＳＰＩバス２１は、ＩＣ間通信に広く採用されている同期式シリアルバスである。ＩＩＣバス２２は、主に同一基板内などの近距離に配置されたデバイス間での高速通信（例えば、１００Ｋｂｐｓ、４００Ｋｂｐｓ、または、３．４Ｍｂｐｓ）を行うためのバスである。ＰＣＩバス２３は、ＰＣＩ  ＳＩＧ（ＰＣＩ  Ｓｐｅｃｉａｌ  Ｉｎｔｅｒｅｓｔ  Ｇｒｏｕｐ）により策定されており、３２ｂｉｔのＣＰＵにあわせて、アドレス／データともに３２ｂｉｔ幅のバス（６４ｂｉｔのＣＰＵのために、６４ｂｉｔバスの規定も含まれている）になっている。
【００５６】
ＤＴＴモジュールＣＰＵ４１は、通信用コンパニオンチップ４２を介して、システムＣＰＵ１３と情報を授受し、システムＣＰＵ１３から供給される制御情報に基づいた処理を実行したり、システムＣＰＵ１３に必要な情報を送信する。
【００５７】
ＩＥＥＥ１３９４用ＣＰＵ４３は、ＩＥＥＥ１３９４インターフェース４４を介して接続されている、例えば、録画再生装置などの外部装置との情報の授受を制御するＣＰＵである。
【００５８】
画像処理モジュール１７は、供給された画像信号を高画質化するための処理を実行する高画質化ＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）５１と、システムＣＰＵ１３の制御に基づいて、高画質化ＩＣ５１を制御する、画像処理モジュールＣＰＵ５２で構成されている。画像処理モジュールＣＰＵ５２は、システムＣＰＵ１３から供給される制御信号を基に、高画質化ＩＣ５１を制御する。高画質化ＩＣ５１は、供給された画像データを所定の方式で高画質化し、映像信号バス２４を介して、映像表示部１８に供給する。
【００５９】
映像表示部１８には、例えば、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）や、ＰＤＰ（ｐｌａｓｍａ  ｄｉｓｐｌａｙ  ｐａｎｅｌ）などが用いられ、供給された、高画質化された映像信号を表示する。なお、映像表示部１８に、アナログディスプレイであるＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）などが用いられている場合、映像表示部１８の内部、または、その信号の入力段に、デジタルアナログ変換部を設けるようにすればよい。
【００６０】
ＬＥＤ１９は、１つ、または複数のＬＥＤで構成され、デジタルテレビジョン受像機１の各種状態をユーザに通知するために、システムＣＰＵ１３により、点灯、または、消灯される。
【００６１】
また、システムＣＰＵ１３には、必要に応じて、ドライブ２０が接続される。ドライブ２０には、磁気ディスク６１、光ディスク６２、光磁気ディスク６３、または、半導体メモリ６４が装着され、情報を授受できるようになされている。
【００６２】
次に、図１のデジタルテレビジョン受像機１のシステムＣＰＵ１３とＤＴＴモジュールＣＰＵ４１で授受される情報について説明する。
【００６３】
システムＣＰＵ１３は、赤外線受信部１４が受信した、リモートコマンダ２から送信されたユーザの操作入力を示す信号、もしくは、操作入力部１５から供給されたユーザの操作入力を示す信号の入力を受ける。例えば、ユーザから、選局されるチャンネルの指定を受けた場合、チャンネル指定選局のためのコマンドを、ＳＰＩバス２１、通信用コンパニオンチップ４２、および、ＰＣＩバス２３を介して、ＤＴＴモジュールＣＰＵ４１に供給する。
【００６４】
ＤＴＴモジュールＣＰＵ４１は、システムＣＰＵ１３から供給されたコマンドを基に、チューナモジュール１２のチューナ３１を制御するための制御信号を生成し、ＰＣＩバス２３、通信用コンパニオンチップ４２、および、ＩＩＣバス２２を介して、チューナ３１に供給する。チューナ３１は、供給された制御信号に基づいて、指定された局の放送波を受信し、ＤＴＴモジュール１６に供給する。ＤＴＴモジュール１６および画像処理モジュール１７により処理された映像信号は、映像表示部１８に供給されて表示される。
【００６５】
システムＣＰＵ１３から、ＳＰＩバス２１、通信用コンパニオンチップ４２、および、ＰＣＩバス２３を介して、ＤＴＴモジュールＣＰＵ４１に供給される情報は、上述したチャンネル指定選局のためのコマンド以外にも、さまざまな情報がある。システムＣＰＵ１３からＤＴＴモジュールＣＰＵ４１に供給される情報のうち、ユーザの操作入力に関する情報には、例えば、１画面表示から２画面表示への切替えなどの、画面の表示モードの切替えを指令するコマンド、ユーザが設定したバンド（ＵＨＦやＣＡＴＶなど）の通知、または、二重音声再生モードの設定などがある。また、システムＣＰＵ１３からＤＴＴモジュールＣＰＵ４１に供給される情報のうち、ＤＴＴモジュール１６の制御に関する情報には、例えば、バージョンの取得や、ＤＴＴモジュールＣＰＵ４１の起動または処理の終了の要求などがある。
【００６６】
また、ＤＴＴモジュール１６のＩＥＥＥ１３９４インターフェース４４を介して接続されている、例えば、録画再生装置などの外部装置の処理に関する情報が、ＩＥＥＥ１３９４用ＣＰＵ４３から、ＰＣＩバス２３を介して、ＤＴＴモジュールＣＰＵ４１に供給される。
【００６７】
例えば、ＩＥＥＥ１３９４インターフェース４４を介して、デジタルテレビジョン受像機１の外部に図示しない録画再生装置が接続されている場合、図示しない録画再生装置の録画処理が開始または終了したとき、ＤＴＴモジュールＣＰＵ４１は、ＰＣＩバス２３、通信用コンパニオンチップ４２、および、ＳＰＩバス２１を介して、システムＣＰＵ１３に、ＩＥＥＥ１３９４接続の外部装置において、録画が開始または録画が終了されたことを示す情報を供給する。また、図示しない録画再生装置の処理をユーザに指令させる必要がある場合、ＤＴＴモジュールＣＰＵ４１は、ＰＣＩバス２３、通信用コンパニオンチップ４２、および、ＳＰＩバス２１を介して、システムＣＰＵ１３に、映像表示部１８に、録画メニューを表示させることを要求するコマンドを出力する。
【００６８】
ＤＴＴモジュールＣＰＵ４１から、ＰＣＩバス２３、通信用コンパニオンチップ４２、および、ＳＰＩバス２１を介して、システムＣＰＵ１３に供給される情報には、上述した以外にも、例えば、バージョンの取得、画面表示モードの変更通知、二重音声再生モードの変更通知、または、ＤＴＴモジュールの処理によりＬＥＤ１９の一部または全部を点灯または消灯する必要が生じた場合のＬＥＤ１９の点灯状態を指令するためのコマンドなどがある。
【００６９】
このようにして、システムＣＰＵ１３とＤＴＴモジュールＣＰＵ４１が必要な情報を授受する場合、その情報の送受信は、基本的に、情報の送受信を行うデータフェイズと、データフェイズにおけるデータ送受信の結果を相手側に返すためのＡＣＫフェイズの２つのフェイズで実行される。データフェイズにおいて、システムＣＰＵ１３とＤＴＴモジュールＣＰＵ４１とは、いずれも、データを送受信し、ＡＣＫフェイズにおいて、システムＣＰＵ１３とＤＴＴモジュールＣＰＵ４１とは、いずれも、ＡＣＫを送受信する。通信が破綻した場合、システムＣＰＵ１３は、通信を復帰させるための処理を実行する。例えば、通信フェイズがずれた場合、システムＣＰＵ１３は、フェイズを再びそろえるための処理を実行する。通信を復帰させるための処理の詳細については、後述する。
【００７０】
通信用コンパニオンチップ４２を介して、システムＣＰＵ１３とＤＴＴモジュールＣＰＵ４１が、データフェイズにおいて授受するデータは、１度のデータ送受信量の上限が定められており、例えば、１度のデータ送受信量の上限が３０バイトである場合、送信側で、それ以上のデータ長のデータを分割して送信し、受信側で、分割されたデータを組み合わせて再構築する必要がある。
【００７１】
システムＣＰＵ１３が上述した通信を行うソフトウェアは、図２に示されるように、アプリケーション層７１、ミドルウェア層７２、およびドライバ層７３で構成される。ドライバ層７３は、デバイスの管理などの処理を担当するものであり、具体的には、システムＣＰＵ１３が有する信号ピンのＨ／Ｌ切替え、または、Ｈ／Ｌの検出、および、ピンのＨ／Ｌの組合せをデータに変更する処理を実行し、ミドルウェア層７２のＰｒｏｘｙ８１から供給された、所定のデータ長のデータを、通信用コンパニオンチップ４２を介して、ＤＴＴモジュールＣＰＵ４１に送信したり、通信用コンパニオンチップ４２を介して、ＤＴＴモジュールＣＰＵ４１から供給された、分割されたデータを、ミドルウェア層７２のＰｒｏｘｙ８１に供給する。
【００７２】
ミドルウェア層７２は、入力切替えなどの処理を担当するものであり、ミドルウェア層７２に含まれるＰｒｏｘｙ８１は、アプリケーション層８１から供給された、コマンドや情報を、所定のデータ長に分割し、ドライバ層７３に供給したり、ドライバ層８３から供給された所定のデータ長のデータを再構築して、アプリケーション層８１に供給する。アプリケーション層８１は、テレビジョン受像機１の各部を制御する処理などの最上位の処理を担当するものであり、例えば、映像表示部１８にメニュー画面を表示させる処理を制御する。
【００７３】
システムＣＰＵ１３と情報を授受するＤＴＴモジュールＣＰＵ４１のソフトウェアも、基本的に、アプリケーション層、ミドルウェア層、およびドライバ層で構成されるので、その詳細な説明は省略する。
【００７４】
図３は、システムＣＰＵ１３のドライバ層７３が実行する詳細な機能を示す機能ブロックである。
【００７５】
受信情報取得部９１は、ＤＴＴモジュールＣＰＵ４１から送信された情報、換言すれば、システムＣＰＵ１３が受信した、データ（ダミーデータを含む）またはＡＣＫのいずれかの受信情報を取得して、ヘッダおよびチェックサム抽出部９２に供給する。具体的には、受信情報取得部９１は、ピンのＨ／Ｌの組合せをデータに変更する処理を実行し、ヘッダおよびチェックサム抽出部９２に供給する。更に、受信情報取得部９１は、所定のピンのＨ／Ｌの状態より、ＤＴＴモジュールＣＰＵ４１の所定のフラグの状態を検出し、送受信制御部９７に供給する。
【００７６】
ヘッダおよびチェックサム抽出部９２は、供給されたデータから、ヘッダおよびチェックサムデータを抽出するとともに、チェックサムを検証するためのアプリケーションデータ０乃至２９に対応する部分の合計値を算出し、抽出したヘッダを、フェイズずれ検出部９３、情報送信元検出部９５、および、送受信制御部９７に供給し、抽出されたチェックサムデータ、および、チェックサムを検出するためのアプリケーションデータ０乃至２９に対応する部分の合計値を、チェックサムエラー検出部９４に供給し、ヘッダおよびチェックサム以外のアプリケーションデータ０乃至２９に対応する部分のデータを、受信データ出力部９６に供給する。
【００７７】
フェイズずれ検出部９３は、供給されたヘッダを基に、システムＣＰＵ１３とＤＴＴモジュールＣＰＵ４１とのデータ授受のフェイズずれを検出し、検出結果を送受信制御部９７に供給する。データ授受のフェイズの詳細については、図７および図８を用いて後述する。チェックサムエラー検出部９４は、供給されたチェックサムデータを基に、チェックサムエラーを検出し、検出結果を送受信制御部９７に供給する。情報送信元検出部９５は、供給されたヘッダを基に、情報送信元がいずれのＣＰＵであるかを検出し、検出結果を送受信制御部９７に供給する。
【００７８】
受信データ出力部９６は、送受信制御部９７の制御に基づいて、供給された受信データをＰｒｏｘｙ層７２に供給するとともに、必要に応じて、送受信制御部９７に供給する。
【００７９】
データ取得部９８は、Ｐｒｏｘｙ層７２から、所定のデータ長に分割された送信するデータの供給を受け、送受信制御部９７に供給する。送受信制御部９７は、フェイズずれ検出部９３、チェックサムエラー検出部９４、および、情報送信元検出部９５から供給されるそれぞれの検出結果に基づいて、レジスタ９９の各種フラグのセットを制御し、データ取得部９８より供給されたデータ、もしくは、ダミーデータを基に、チェックサム算出部１００によるチェックサムデータの算出処理を制御する。
【００８０】
レジスタ９９には、送受信制御部９７が情報の送受信を制御するために必要な、例えば、送受信可能状態であるか否か、送信するべきデータがあるか否か、データ再送回数は何回目であるか、次に受信するデータは再送データであるか否か、または、次の通信フェイズの種類などを示すフラグが保存され、これらのフラグは、送受信制御部９７の制御によりセットされる。また、送受信可能状態であるか否かは、送受信可能フラグがアクティブ状態であるか否かで示され、送信するべきデータがあるか否かは、送信要求フラグがアクティブ状態であるか否かで示され、これらのフラグは、例えば、システムＣＰＵ１３の所定のピンの電位がＨであるかＬであるかに基づいて、ＤＴＴモジュールＣＰＵ４１の受信情報取得部１２９が常に検出可能である。
【００８１】
このシステムにおいては、データの再送回数は３回までとし、３回送信しても、正しく受信されなかったデータは破棄されるものとする。
【００８２】
チェックサム算出部１００は、送受信制御部９７の制御に基づいて、送信するデータに対応するチェックサムデータを算出し、送受信制御部９７に供給する。チェックサムとは、伝送されたデータに誤りがないかどうかをチェックする方法のひとつである。データ送信側は、データの合計の値を予め計算しておき、データの送信のときに、データとともに、合計の値であるチェックサムデータを送信し、受信側において、受信データの合計を計算して、送信側で計算したチェックサムデータと比較する。チェックサムデータの値に誤りがあれば、合計の値は一致しないので、受信側において、データの誤りを検出することができる。ここで、チェックサム算出部１００は、通常においては、送信するデータの合計の値を正しく計算して、チェックサムデータとして、送受信制御部９７に供給するようになされているが、送受信制御部９７の制御に基づいて、送信するデータの合計とは異なる値を算出することができる。
【００８３】
制御情報メモリ１０１は、ＤＴＴモジュールＣＰＵ４１とのデータの授受に必要な制御情報や各種パラメータを記憶するメモリである。また、送受信制御部９７は、必要に応じて、受信データ出力部９６から、ＤＴＴモジュールＣＰＵ４１から供給された通信制御データを取得し、制御情報メモリ１０１に供給して記憶させることも可能である。
【００８４】
そして、送受信制御部９７は、レジスタ９９の状態、および、制御情報メモリ１０１に記憶されている制御情報に基づいて、データ取得部９８より供給されたデータ、または、ダミーデータを、チェックサム算出部１００から供給されたチェックサムデータとともに、送信情報生成部１０２に供給する。
【００８５】
送信情報生成部１０２は、送受信制御部９７による制御に基づいて、図４に示されるように、先頭にヘッダを有し、アプリケーションデータ０乃至アプリケーションデータ２９を含み、最後に、チェックサムデータが備えられている送信情報を生成し、ＤＴＴモジュールＣＰＵ４１に送信する。また、送信情報生成部１０２は、データを再送する必要がある場合に備えて、内部に送信済みのデータを一時保存するメモリを有している。
【００８６】
また、ＤＴＴモジュールＣＰＵ４１から、システムＣＰＵ１３に送信される送信情報も、図４に示されるデータ構成を有する。図４の送信情報のヘッダの詳細を図５に示す。
【００８７】
ヘッダは、送信元情報、データタイプ、ＡＣＫタイプ、リトライナンバー（ＲｅｔｒｙＮｕｍｂｅｒ）を含み、必要に応じて、他の情報を記載することができる予備領域（例えば、図中のＢｉｔ２またはＢｉｔ４のＲｅｓｅｒｖｅｄ）を含むようにしても良い。
【００８８】
送信元情報は、１ビットの情報であり、０のとき、情報（すなわち、データまたはＡＣＫの）送信元がシステムＣＰＵ１３であることを示し、１のとき、情報送信元がＤＴＴモジュールＣＰＵ４１であることを示す。データタイプは、２ビットの情報であり、１のとき、この送信情報がダミーデータであることを示し、２のとき、この送信情報がデータであることを示し、３のとき、この送信情報がＡＣＫであることを示す。データタイプ＝０は、このシステムでは利用されていない。ＡＣＫタイプは、１ビットの情報であり、０のとき、ＡＫＣタイプがＮＧ（いわゆるＮＡＣＫ）であることを示し、１のとき、ＡＫＣタイプがＯＫであることを示す。リトライナンバーは、２ビットの情報であり、１のとき、この送信情報が１回目の送信データであることを示し、２のとき、この送信情報が２回目の送信データであることを示し、３のとき、この送信情報が３回目の送信データであることを示す。リトライナンバー＝０は、このシステムでは利用されていない。
【００８９】
送受信制御部９７は、図４および図５を用いて説明した情報のヘッダまたはチェックサムを基に、フェイズずれ検出部９３、チェックサムエラー検出部９４、および、情報送信元検出部９５が検出したそれぞれの検出結果に基づいて、レジスタ９９の各種フラグのセットを制御し、レジスタ９９の状態を基に、情報の送受信を制御する。
【００９０】
図６は、ＤＴＴモジュールＣＰＵ４１のドライバ層１１１が実行する詳細な機能を示す機能ブロックである。
【００９１】
受信情報取得部１２１乃至受信データ出力部１２６は、図３を用いて説明した、システムＣＰＵ１３のドライバ層７３の受信情報取得部９１乃至受信データ出力部９６と、同様の処理を実行するものであり、データ取得部１２８、および送信情報生成部１３２も、システムＣＰＵ１３のドライバ層７３のデータ取得部９８、および送信情報生成部１０２と、同様の処理を実行するものであるので、その詳細な説明は省略する。
【００９２】
送受信制御部１２７は、フェイズずれ検出部１２３、チェックサムエラー検出部１２４、および、情報送信元検出部１２５から供給されるそれぞれの検出結果に基づいて、レジスタ１２９の各種フラグのセットを制御する。
【００９３】
レジスタ１２９には、送受信制御部１２７が情報の送受信を制御するために必要な、例えば、送受信可能状態であるか否か、送信するべきデータがあるか否か、データ再送回数は何回目であるか、または、次の通信フェイズの種類などを示すフラグが保存され、更に、必要に応じて、次のＡＣＫフェイズにおいて、通信のために必要なパラメータなどを含む通信制御情報を送信する必要があるか否かを示す通信情報送信フラグが保存され、これらのフラグは、送受信制御部１２７の制御によりセットされる。また、送受信可能状態であるか否かは、送受信可能フラグがアクティブ状態であるか否かで示され、送信するべきデータがあるか否かは、送信要求フラグがアクティブ状態であるか否かで示され、これらのフラグは、例えば、ＤＴＴモジュールＣＰＵ４１の所定のピンの電位がＨであるかＬであるかに基づいて、システムＣＰＵ１３の受信情報取得部９１が常に検出可能である。
【００９４】
ＤＴＴモジュールＣＰＵ４１は、システムＣＰＵ１３をマスタとするスレーブとしての動作を行うため、システムＣＰＵ１３が、データの送受信を開始するためにクロックを発生した場合、そのクロックを受けて、データの送受信動作を開始するようになされている。このため、ＤＴＴモジュールＣＰＵ４１は、内部処理を行っている間は、クロックの供給を受けることがないように、システムＣＰＵ１３に対して、必要に応じて、送受信可能フラグをオフにすることにより、ステータスビジーを通知するようになされている。
【００９５】
すなわち、ＤＴＴモジュールＣＰＵ４１は、システムＣＰＵ１３が発生したクロックを検出した場合、レジスタ１２９を参照し、データフェイズフラグ、または、ＡＣＫフェイズフラグのいずれのフラグがアクティブになっているかを基に、の通信がデータフェイズであるか、ＡＣＫフェイズであるかを決定する。ＤＴＴモジュールＣＰＵ４１は、自分自身でフェイズを管理し、データフェイズの次はＡＣＫフェイズとなり、ＡＣＫフェイズの次は、データフェイズとなるように、データフェイズフラグ、または、ＡＣＫフェイズフラグを交互にアクティブにする。
【００９６】
チェックサム算出部１３０は、送信するデータに対応するチェックサムデータを算出し、送受信制御部１２７に供給する。チェックサム算出部１３０は、送信するデータの合計の値を正しく計算して、チェックサムデータとして、送受信制御部１２７に供給するようになされており、図３を用いて説明したチェックサム算出部１００とは異なり、送信するデータの合計とは異なる値を算出する処理を実行しない。
【００９７】
制御情報メモリ１３１は、ＤＴＴモジュールＣＰＵ４１とのデータの授受に必要な制御情報や各種パラメータを記憶するメモリである。また、送受信制御部１２７は、必要に応じて、制御情報メモリ１３１に保存されている制御情報や各種パラメータを読み出し、送信情報生成部１０２に供給して、システムＣＰＵ１３に送信させることも可能である。
【００９８】
そして、送受信制御部１２７は、レジスタ１２９の状態、および、制御情報メモリ１３１に記憶されている制御情報に基づいて、データ取得部１２８より供給されたデータを、チェックサム算出部１３０から供給されたチェックサムデータとともに、送信情報生成部１３２に供給する。
【００９９】
送信情報生成部１３２は、送受信制御部１２７による制御、および、供給されたデータを基に、図４を用いて説明した送信情報を生成し、システムＣＰＵ１３に送信する。また、送信情報生成部１３２は、データを再送する必要がある場合に備えて、内部に送信済みのデータを一時保存するメモリを有している。
【０１００】
図７および図８を用いて、システムＣＰＵ１３と、ＤＴＴモジュールＣＰＵ４１とのデータの授受とフェイズずれが発生した場合の処理について説明する。
【０１０１】
上述したように、データフェイズにおいて、システムＣＰＵ１３とＤＴＴモジュールＣＰＵ４１とは、いずれも、データを送受信し、ＡＣＫフェイズにおいて、システムＣＰＵ１３とＤＴＴモジュールＣＰＵ４１とは、いずれも、ＡＣＫを送受信する。
【０１０２】
図７に示されるように、ＤＴＴモジュールＣＰＵ４１がデータフェイズであると認識しているときに、システムＣＰＵ１３とＤＴＴモジュールＣＰＵ４１とが、フェイズずれを検出した場合、システムＣＰＵ１３は、フェイズずれを検出したフェイズの次のフェイズをフェイズ検出のためのフェイズとして、例外通信処理を実行し、このデータを受信したＤＴＴモジュールＣＰＵ４１において、チェックサムエラーが検出されるようなチェックサムデータをつけたダミーデータを、ＤＴＴモジュールＣＰＵ４１に送信する。
【０１０３】
ＤＴＴモジュールＣＰＵ４１は、自分自身が管理するフェイズでデータを送信する。すなわち、ＤＴＴモジュールＣＰＵ４１は、フェイズずれが検出されたフェイズをデータフェイズであると認識しているため、フェイズずれ検出の次のフェイズをＡＣＫフェイズであると認識する。したがって、ＤＴＴモジュールＣＰＵ４１は、フェイズずれ検出の次のフェイズで、受信したデータから、チェックサムエラーを検出するので、前に送信したデータの再送が必要であることを認識し、受信したデータを破棄するとともに、ＡＣＫをＮＧとして、システムＣＰＵ１３に送信する。
【０１０４】
システムＣＰＵ１３は、フェイズ検出のためのフェイズにおいて、ＡＣＫを受信するので、ＤＴＴモジュールＣＰＵ４１の通信処理において、次のフェイズがデータフェイズであることを検出することができる。
【０１０５】
したがって、システムＣＰＵ１３は、フェイズ検出のためのフェイズの次のフェイズがデータフェイズであることを認識して、送信するべきデータ、または、ダミーデータを送信し、ＤＴＴモジュールＣＰＵ４１は、前に送信したデータを再送するので、ＤＴＴモジュールＣＰＵ４１が、データフェイズまたはＡＣＫフェイズにおいて通常行う処理とは異なる処理を行うことなく、また、システムＣＰＵ１３とＤＴＴモジュールＣＰＵ４１のいずれか一方、または、両方において、通信処理がリセットされることなく、システムＣＰＵ１３とＤＴＴモジュールＣＰＵ４１とのフェイズずれが修復される。
【０１０６】
そして、それ以降、システムＣＰＵ１３とＤＴＴモジュールＣＰＵ４１とは、一致したフェイズで、データの授受を実行することが可能となる。
【０１０７】
また、図８に示されるように、ＤＴＴモジュールＣＰＵ４１がＡＣＫフェイズであると認識しているときに、システムＣＰＵ１３とＤＴＴモジュールＣＰＵ４１とが、フェイズずれを検出した場合、ＤＴＴモジュールＣＰＵ４１は、１つ前のデータフェイズで受信したデータを破棄する。そして、システムＣＰＵ１３は、次のフェイズであるフェイズ検出のためのフェイズにおいて、例外通信処理を実行し、このデータを受信したＤＴＴモジュールＣＰＵ４１において、チェックサムエラーが検出されるようなチェックサムデータをつけたダミーデータを、ＤＴＴモジュールＣＰＵ４１に送信する。
【０１０８】
ＤＴＴモジュールＣＰＵ４１は、フェイズずれ検出後のフェイズをデータフェイズであると認識しているので、システムＣＰＵ１３にデータを再送するとともに、チェックサムエラーを検出する。そして、システムＣＰＵ１３は、再送されたデータを受信するので、ＤＴＴモジュールＣＰＵ４１の通信処理において、次のフェイズがＡＣＫフェイズであることを検出する。
【０１０９】
したがって、システムＣＰＵ１３は、フェイズ検出のためのフェイズの次のフェイズがＡＣＫフェイズであることを認識し、送信するべきＡＣＫを送信し、ＤＴＴモジュールＣＰＵ４１は、フェイズ検出のためのフェイズでチェックサムエラーを検出したため、次のフェイズで、ＡＣＫタイプがＮＧであるＡＣＫを送信する。したがって、ＡＣＫタイプがＮＧであるＡＣＫを受信したシステムＣＰＵ１３は、次のデータフェイズで、フェイズずれを検出したフェイズにおいてＤＴＴモジュールＣＰＵ４１が破棄したデータを再送するので、データが抜けてしまうことがない。このようにすることにより、ＤＴＴモジュールＣＰＵ４１が、データフェイズまたはＡＣＫフェイズにおいて通常行う処理とは異なる処理を行うことなく、また、システムＣＰＵ１３とＤＴＴモジュールＣＰＵ４１のいずれか一方、または、両方において、通信処理がリセットされることなく、システムＣＰＵ１３とＤＴＴモジュールＣＰＵ４１とのフェイズずれが修復される。
【０１１０】
そして、それ以降、システムＣＰＵ１３とＤＴＴモジュールＣＰＵ４１とは、一致したフェイズで、データの授受を実行することが可能となる。
【０１１１】
図７および図８を用いて、フェイズずれが発生した場合の修復の方法について説明したが、フェイズずれ以外によって通信が破綻した場合においても、同様の処理により、通信状態を復活させるようにすることができる。通信状態を復活するために、システムＣＰＵ１３とＤＴＴモジュールＣＰＵ４１とのそれぞれが実行する処理について、図９乃至図２４のフローチャートを用いて説明する。
【０１１２】
図９のフローチャートを参照して、システムＣＰＵ１３の通信処理について説明する。
【０１１３】
ステップＳ１において、システムＣＰＵ１３のドライバ層７３の送受信制御部９７は、レジスタ９９に記憶されているフラグなどの初期化を実行する。
【０１１４】
ステップＳ２において、送受信制御部９７は、レジスタ９９の送受信可能フラグを、アクティブ状態（すなわち、送受信可能状態）にセットする。
【０１１５】
ステップＳ３において、受信情報取得部９１は、ＤＴＴモジュールＣＰＵ４１の送受信可能フラグはセットされているか否かを判断し、判断結果を送受信制御部９７に供給する。ステップＳ３において、ＤＴＴモジュールＣＰＵ４１の送受信可能フラグはセットされていないと判断された場合、送受信フラグがセットされていると判断されるまで、ステップＳ３の処理が繰り返される。
【０１１６】
ステップＳ３において、ＤＴＴモジュールＣＰＵ４１の送受信フラグはセットされていると判断された場合、ステップＳ４において、送受信制御部９７は、受信情報取得部９１がＤＴＴモジュールＣＰＵ４１の送信要求フラグの状態を検出して供給する信号を基に、ＤＴＴモジュールＣＰＵ４１から、データ送信要求が出されているか否かを判断するとともに、データ取得部９８から、送信するべきデータが供給されるか否かを基に、ＤＴＴモジュールＣＰＵ４１へ送信するデータがあるか否かを判断し、ＤＴＴモジュールＣＰＵ４１から、データ送信要求が出されているか、または、ＤＴＴモジュールＣＰＵ４１へ送信するデータがあるかの少なくともいずれか一方がみたされているか否かを判断する。
【０１１７】
ステップＳ４において、ＤＴＴモジュールＣＰＵ４１から、データ送信要求が出されているか、または、ＤＴＴモジュールＣＰＵ４１へ送信するデータがあるかのいずれでもないと判断された場合、ＤＴＴモジュールＣＰＵ４１から、データ送信要求が出されているか、または、ＤＴＴモジュールＣＰＵ４１へ送信するデータがあるかの少なくともいずれか一方がみたされていると判断されるまで、ステップＳ４の処理が繰り返される。
【０１１８】
ステップＳ４において、データ送信要求が出されているか、または、ＤＴＴモジュールＣＰＵ４１へ送信するデータがあるかの少なくともいずれか一方がみたされていると判断された場合、ステップＳ５において、送受信制御部９７は、レジスタ９９の、次の通信フェイズの種類を示すフラグを参照し、次の通信はデータフェイズであるか否かを判断する。
【０１１９】
ここで、システムＣＰＵ１３は、データフェイズ、ＡＣＫフェイズ、および、例外通信処理を行うフェイズずれ検出のためのフェイズの３種類の通信フェイズの状態を取るため、レジスタ９９に、データフェイズフラグ、ＡＣＫフェイズフラグ、および、エラーフラグを有し、データフェイズフラグがセットされている（アクティブである）場合、次の通信はデータフェイズであり、ＡＣＫフェイズフラグがセットされている（アクティブである）場合、次の通信はＡＣＫフェイズであり、エラーフラグがセットされている（アクティブである）場合、次の通信は、例外通信処理を行うフェイズずれ検出のためのフェイズであるものとする。
【０１２０】
なお、ＡＣＫフェイズフラグがアクティブとされる場合、データフェイズフラグはインアクティブとされ、データフェイズフラグがアクティブとされる場合、ＡＣＫフェイズフラグはインアクティブとされる。
【０１２１】
ステップＳ５において、次の通信はデータフェイズであると判断された場合、ステップＳ６において、図１０および図１１、または、図１８および図１９を用いて後述する、システムＣＰＵ１３のデータフェイズ通信処理が実行され、処理は、ステップＳ３に戻り、それ以降の処理が繰り返される。
【０１２２】
ステップＳ５において、次の通信はデータフェイズではないと判断された場合、ステップＳ７において、送受信制御部９７は、レジスタ９９の、次の通信フェイズの種類を示すフラグを参照し、次の通信はＡＣＫフェイズであるか否かを判断する。
【０１２３】
ステップＳ７において、次の通信はＡＣＫフェイズであると判断された場合、ステップＳ８において、図１２および図１３、または、図２０および図２１を用いて後述する、システムＣＰＵ１３のＡＣＫフェイズ通信処理が実行され、処理は、ステップＳ３に戻り、それ以降の処理が繰り返される。
【０１２４】
ステップＳ７において、次の通信はＡＣＫフェイズではないと判断された場合、ステップＳ９において、図１４および図１５を用いて後述する、システムＣＰＵ１３の例外通信処理が実行され、処理は、ステップＳ３に戻り、それ以降の処理が繰り返される。
【０１２５】
このような処理により、システムＣＰＵ１３とＤＴＴモジュールＣＰＵ４１が、いずれも送受信可能状態であり、少なくともいずれか一方が、他方に送信するデータを有している場合、システムＣＰＵ１３においては、データフェイズ、ＡＣＫフェイズ、フェイズ検出のためのフェイズ（例外通信処理）のいずれかのフェイズで、ＤＴＴモジュールＣＰＵ４１と通信を行うようになされている。
【０１２６】
次に、図１０および図１１のフローチャートを参照して、図９のステップＳ６において実行される、システムＣＰＵ１３のデータフェイズ通信処理１について説明する。
【０１２７】
ステップＳ２１において、送受信制御部９７は、データ取得部９８から、ｐｒｏｘｙ層８１から供給された送信データの入力を受けるか否かを基に、ＤＴＴモジュールＣＰＵ４１に送信するデータがあるか否かを判断する。
【０１２８】
ステップＳ２１において、送信するデータがあると判断された場合、ステップＳ２２において、送受信制御部９７は、送信情報生成部１０２に送信するデータをセットするとともに、ヘッダのデータタイプを２（データ）にセットする。
【０１２９】
ステップＳ２１において、送信するデータがないと判断された場合、ステップＳ２３において、送受信制御部９７は、送信情報生成部１０２にダミーデータをセットするとともに、ヘッダのデータタイプを１（ダミー）にセットする。
【０１３０】
ステップＳ２２またはステップＳ２３の処理の終了後、ステップＳ２４において、送受信制御部９７は、受信情報取得部９１がＤＴＴモジュールＣＰＵ４１の送信要求フラグの状態を検出して供給する信号を基に、送信要求は、システムＣＰＵ１３のみが出しているのであるか否かを判断する。
【０１３１】
ステップＳ２４において、送信要求は、システムＣＰＵ１３のみが出していると判断された場合、ステップＳ２５において、送受信制御部９７は、受信情報取得部９１がＤＴＴモジュールＣＰＵ４１の送受信可能フラグの状態を検出して供給する信号を基に、ＤＴＴモジュールＣＰＵ４１は受信可能状態であるか否かを判断する。ステップＳ２５において、ＤＴＴモジュールＣＰＵ４１は受信可能状態ではないと判断された場合、受信可能状態であると判断されるまで、ステップＳ２５の処理が繰り返される。
【０１３２】
ステップＳ２４において、送信要求は、システムＣＰＵ１３のみが出しているのではなく、ＤＴＴモジュールＣＰＵ４１も出していると判断された場合、または、ステップＳ２５において、ＤＴＴモジュールＣＰＵ４１は受信可能状態であると判断された場合、ステップＳ２６において、送受信制御部９７は、送信情報生成部１０２を制御し、チェックサム算出部１００の処理により算出されたチェックサムデータを付加したデータの送信と、受信情報取得部９１の処理による、ＤＴＴモジュールＣＰＵ４１から送信された情報の受信を開始する。
【０１３３】
ここで、ＤＴＴモジュールＣＰＵ４１から送信された情報は、データであることが予測されるが、正確には、データであるか、ＡＣＫであるかは、まだ分からない。
【０１３４】
このとき送信される情報のヘッダにおいて、送信元情報は０（システムＣＰＵ１３）、データタイプは１（ダミー）または２（データ）となっている。ＲｅｔｒｙＮｕｍｂｅｒは、データ送信時のレジスタ９９のデータ再送回数を示すＲｅｔｒｙ回数フラグによって示される値となる。送信されたデータは、送信情報生成部１０２の内部のメモリに一時保存される。また、受信された情報は、受信情報取得部９１からヘッダおよびチェックサム抽出部９２に供給され、抽出されたヘッダが、フェイズずれ検出部９３、情報送信元検出部９５、および、送受信制御部９７に供給されて、抽出されたチェックサムデータとチェックサムを検出するためのアプリケーションデータ０乃至２９に対応する部分の合計値がチェックサムエラー検出部９４に供給され、アプリケーションデータ０乃至２９に対応する部分が、受信データ出力部９６に供給される。
【０１３５】
ステップＳ２７において、送受信制御部９７は、データの送受信が完了したか否かを判断する。ステップＳ２７において、データの送受信が完了していないと判断された場合、データの送受信が完了したと判断されるまで、ステップＳ２７の処理が繰り返される。
【０１３６】
ステップＳ２７において、データの送受信が完了したと判断された場合、ステップＳ２８において、チェックサムエラー検出部９４は、供給されたチェックサムは正しいか否かを判断する。ステップＳ２８において、チェックサムが正しくないと判断された場合、正しい情報を受信することができなかったと判断されるので、処理は、後述するステップＳ３６に進む。
【０１３７】
ステップＳ２８において、チェックサムが正しいと判断された場合、ステップＳ２９において、情報送信元検出部９５は、受信した情報の送信元は、ＤＴＴモジュールＣＰＵ４１であるか否かを判断する。ステップＳ２９において、情報の送信元は、ＤＴＴモジュールＣＰＵ４１ではないと判断された場合、正しい情報を受信することができなかったと判断されるので、処理は、後述するステップＳ３８に進む。
【０１３８】
ステップＳ２９において、受信した情報の送信元は、ＤＴＴモジュールＣＰＵ４１であると判断された場合、ステップＳ３０において、フェイズずれ検出部９３は、受信した情報のデータタイプは、「ＡＣＫ」であるか否かを判断する。ステップＳ３０において、データタイプは、「ＡＣＫ」であると判断された場合、通信フェイズがずれていることが検出されたので、処理は、後述するステップＳ３８に進む。
【０１３９】
ステップＳ３０において、データタイプは、「ＡＣＫ」ではないと判断された場合、ステップＳ３１において、フェイズずれ検出部９３は、受信した情報のデータタイプは「ダミー」であるか否かを判断する。
【０１４０】
ステップＳ３１において、受信した情報のデータタイプは「ダミー」ではないと判断された場合、受信した情報のデータタイプは、「データ」であると判断されるので、ステップＳ３２において、送受信制御部９７は、ヘッダに含まれる、このデータの再送回数を示す情報である、ＲｅｔｒｙＮｕｍｂｅｒが１であるか、すなわち、受信したデータは、１度目に送信された（再送ではない）データであるか否かを判断する。
【０１４１】
ステップＳ３２において、ＲｅｔｒｙＮｕｍｂｅｒが１ではない、すなわち、再送データであると判断された場合、ステップＳ３３において、送受信制御部９７は、レジスタ９９を参照し、この受信データが再送データであることが予測されていたか否かを示すフラグであるＩｓＲｅｔｒｙが１であるか否かを判断する。
【０１４２】
ステップＳ３２において、ＲｅｔｒｙＮｕｍｂｅｒが１ではない、すなわち、再送データであることが検出され、ステップＳ３３において、ＩｓＲｅｔｒｙが１ではない、すなわち、再送データであることが予測されていなかったと判断された場合、システムＣＰＵ１３は、前のデータフェイズにおいて、ＤＴＴモジュールＣＰＵ４１から正しくデータを受信することができたため、次は再送データではないと予測していたにもかかわらず、ＤＴＴモジュールＣＰＵ４１が、前のＡＣＫフェイズにおいて、ＡＣＫを正しく受信することができなかったため、データを再送したものであると考えられる。したがって、このデータをＰｒｏｘｙ層８１に供給してしまっては、同じデータを２度供給することになってしまうので、処理は、ステップＳ３５に進む。
【０１４３】
ステップＳ３２において、ＲｅｔｒｙＮｕｍｂｅｒが１である、すなわち、再送データではないと判断された場合、または、ステップＳ３３において、ＩｓＲｅｔｒｙが１である、すなわち、再送データであることが予測されていたと判断された場合、ステップＳ３４において、送受信制御部９７は、受信データ出力部９６を制御し、アプリケーションデータ０乃至２９を、Ｐｒｏｘｙ層８１に供給し、Ｐｒｏｘｙ層８１によるデータ処理を実行させる。
【０１４４】
ステップＳ３１において、受信した情報のデータタイプは「ダミー」であると判断された場合、ステップＳ３３において、ＩｓＲｅｔｒｙが１ではない、すなわち、再送データであることが予測されていなかったと判断された場合、または、ステップＳ３４の処理の終了後、ステップＳ３５において、送受信制御部９７は、レジスタ９９の、次に送信するＡＣＫタイプを示すフラグをＯＫにセットし、次に受信するデータが再送データであることが予測されていたか否かを示すフラグであるＩｓＲｅｔｒｙを０、すなわち、次に再送ではないデータを受信することが予測されている状態にセットする。
【０１４５】
ステップＳ２８において、チェックサムが正しくないと判断された場合、正しい情報を受信することができなかったと判断されるので、ステップＳ３６において、送受信制御部９７は、レジスタ９９の、次に送信するＡＣＫタイプを示すフラグをＮＧにセットし、次に受信するデータが再送データであることが予測されていたか否かを示すフラグであるＩｓＲｅｔｒｙを１、すなわち、次に再送データを受信することが予測されている状態にセットする。
【０１４６】
ステップＳ３５、または、ステップＳ３６の処理の終了後、ステップＳ３７において、送受信制御部９７は、レジスタ９９の送受信可能フラグ、送信要求フラグ、および、ＡＣＫフェイズフラグをセットし、処理は、図９のステップＳ３に進む。
【０１４７】
ステップＳ２９において、情報の送信元は、ＤＴＴモジュールＣＰＵ４１ではないと判断された場合、または、ステップＳ３０において、データタイプは、「ＡＣＫ」であると判断された場合、正しい情報を受信することができなかった、または、通信フェイズがずれていることが検出されたので、ステップＳ３８において、送受信制御部９７は、次に受信するデータが再送データであることが予測されていたか否かを示すフラグであるＩｓＲｅｔｒｙを１、すなわち、次に再送データを受信することが予測されている状態にセットする。
【０１４８】
ステップＳ３９において、送受信制御部９７は、レジスタ９９の送受信可能フラグ、および、エラーフラグをセットし、処理は、図９のステップＳ３に進む。
【０１４９】
このような処理により、システムＣＰＵ１３は、データフェイズにおいて、受信した情報が正しいか否か、および、ＤＴＴモジュールＣＰＵ４１との通信が破綻していないか否かを判断することができ、その結果に基づいて、受信したデータをＰｒｏｘｙ層８１に供給したり、次のＡＣＫフェイズで、ＤＴＴモジュールＣＰＵ４１にデータの再送を要求するための処理を実行したり、もしくは、フェイズずれなどによる通信の破綻を次のフェイズで復元するための処理を行うようにすることができる。
【０１５０】
次に、図１２および図１３のフローチャートを参照して、図９のステップＳ８において実行される、システムＣＰＵ１３のＡＣＫフェイズ通信処理１について説明する。
【０１５１】
ステップＳ５１において、送受信制御部９７は、送信情報生成部１０２を制御し、チェックサム算出部１００の処理により算出されたチェックサムデータを付加し、レジスタ９９のフラグを参照してヘッダのＡＣＫ情報に対応する値を記載したＡＣＫデータの送信と、受信情報取得部９１の処理による、ＤＴＴモジュールＣＰＵ４１から送信された情報の受信を開始する。
【０１５２】
このとき送信される情報のヘッダにおいて、送信元情報は０（システムＣＰＵ１３）、データタイプは３（ＡＣＫ）、ＡＣＫタイプは、０（ＮＧ）または１（ＯＫ）のいずれか一方となっている。また、受信された情報は、受信情報取得部９１からヘッダおよびチェックサム抽出部９２に供給され、抽出されたヘッダが、フェイズずれ検出部９３、情報送信元検出部９５、および、送受信制御部９７に供給されて、抽出されたチェックサムデータとチェックサムを検出するためのアプリケーションデータ０乃至２９に対応する部分の合計値がチェックサムエラー検出部９４に供給され、アプリケーションデータ０乃至２９に対応する部分が、受信データ出力部９６に供給される。
【０１５３】
ステップＳ５２において、送受信制御部９７は、ＡＣＫの送受信が完了したか否かを判断する。ステップＳ５２において、ＡＣＫの送受信が完了していないと判断された場合、ＡＣＫの送受信が完了したと判断されるまで、ステップＳ５２の処理が繰り返される。
【０１５４】
ステップＳ５２において、ＡＣＫの送受信が完了したと判断された場合、ステップＳ５３において、チェックサムエラー検出部９４は、供給されたチェックサムは正しいか否かを判断する。ステップＳ５３において、チェックサムが正しくないと判断された場合、正しい情報を受信することができなかったと判断されるので、処理は、後述するステップＳ５８に進む。
【０１５５】
ステップＳ５３において、チェックサムが正しいと判断された場合、ステップＳ５４において、情報送信元検出部９５は、受信した情報の送信元は、ＤＴＴモジュールＣＰＵ４１であるか否かを判断する。ステップＳ５４において、情報の送信元は、ＤＴＴモジュールＣＰＵ４１ではないと判断された場合、正しい情報を受信することができなかったと判断されるので、処理は、後述するステップＳ６４に進む。
【０１５６】
ステップＳ５４において、受信した情報の送信元は、ＤＴＴモジュールＣＰＵ４１であると判断された場合、ステップＳ５５において、フェイズずれ検出部９３は、受信した情報のデータタイプは、「ＡＣＫ」であるか否かを判断する。ステップＳ５５において、データタイプは、「ＡＣＫ」ではないと判断された場合、通信フェイズがずれていることが検出されたので、処理は、後述するステップＳ６４に進む。
【０１５７】
ステップＳ５５において、データタイプは、「ＡＣＫ」であると判断された場合、ステップＳ５６において、フェイズずれ検出部９３は、前のデータフェイズで送信したデータのデータタイプは「ダミー」であるか否かを判断する。
【０１５８】
ステップＳ５６において、前のデータフェイズで送信したデータのデータタイプは「ダミー」ではないと判断された場合、前のデータフェイズで送信したデータのデータタイプは、「データ」であると判断されるので、ステップＳ５７において、送受信制御部９７は、受信したＡＣＫのＡＣＫタイプは、ＯＫであるか否かを判断する。
【０１５９】
ステップＳ５３において、チェックサムが正しくないと判断された場合、または、ステップＳ５７において、受信したＡＣＫのＡＣＫタイプはＯＫではないと判断された場合、ステップＳ５８において、送受信制御部９７は、レジスタ９９を参照し、再送データの現在の再送回数は３回であるか否かを判断する。
【０１６０】
ステップＳ５８において、再送データの現在の再送回数は３回ではないと判断された場合、データを再送する必要があるので、ステップＳ５９において、送受信制御部９７は、レジスタ９９の再送回数に１を加え、送信情報生成部１０２のメモリに保存されている再送するデータをセットし、レジスタ９９の送信要求フラグをセットし、処理は、後述するステップＳ６３に進む。
【０１６１】
ステップＳ５７において、受信したＡＣＫのＡＣＫタイプはＯＫであると判断された場合、または、ステップＳ５８において、再送データの現在の再送回数は３回であると判断された場合、データは再送されないので、ステップＳ６０において、送受信制御部９７は、送信情報生成部１０２を制御し、内部のメモリに保存されている、前のデータフェイズで送信されたデータを消去させる。
【０１６２】
ステップＳ５６において、前のデータフェイズで送信したデータのデータタイプは「ダミー」であると判断された場合、または、ステップＳ６０の処理の終了後、ステップＳ６１において、送受信制御部９７は、データ取得部９８がｐｒｏｘｙ層８１から送信データの供給を受けたか否かを基に、ＤＴＴモジュールＣＰＵ４１に対する次の送信データがあるか否かを判断する。ステップＳ６１において、次の送信データがないと判断された場合、ＤＴＴモジュールＣＰＵ４１が送信要求フラグをセットしたときに、通信が継続されるので、処理は、ステップＳ６３に進む。
【０１６３】
ステップＳ６１において、次の送信データがあると判断された場合、ステップＳ６２において、送受信制御部９７は、レジスタ９９の送信要求フラグをセットする。
【０１６４】
ステップＳ５９の処理の終了後、ステップＳ６１において、次の送信データがないと判断された場合、または、ステップＳ６２の処理の終了後、ステップＳ６３において、送受信制御部９７は、レジスタ９９の送受信可能フラグおよびデータフェイズフラグをセットして、処理は、図９のステップＳ３に進む。
【０１６５】
ステップＳ５４において、情報の送信元は、ＤＴＴモジュールＣＰＵ４１ではないと判断された場合、または、ステップＳ５５において、データタイプは、「ＡＣＫ」ではないと判断された場合、正しい情報を受信することができなかった、または、通信フェイズがずれていることが検出されたと判断されるので、ステップＳ６４において、送受信制御部９７は、レジスタ９９の送受信可能フラグ、および、エラーフラグをセットして、処理は、図９のステップＳ３に進む。
【０１６６】
このような処理により、システムＣＰＵ１３は、ＡＣＫフェイズにおいて、前のデータフェイズで正しくデータが送信受信されたか否か、受信した情報が正しいか否か、および、ＤＴＴモジュールＣＰＵ４１との通信が破綻していないか否かを判断することができ、その結果に基づいて、次のデータフェイズで、ＤＴＴモジュールＣＰＵ４１にデータを再送するための処理を実行したり、もしくは、フェイズずれなどによる通信の破綻を次のフェイズで復元するための処理を行うようにすることができる。
【０１６７】
次に、図１４のフローチャートを参照して、図９のステップＳ９において実行される、システムＣＰＵ１３の例外通信処理について説明する。
【０１６８】
ステップＳ８１において、送受信制御部９７は、チェックサム算出部１００およびデータ生成部１０２を制御し、チェックサムエラーが発生するダミーデータをセットする。すなわち、送受信制御部９７は、チェックサム算出部１００に、ダミーデータ部分のデータの合計値と異なる値のチェックサムデータを算出させて、ダミーデータとともに、送信情報生成部１０２にセットして、送信情報を生成させる。
【０１６９】
ステップＳ８２において、送受信制御部９７は、送信情報生成部１０２を制御し、チェックサム算出部１００の処理により算出された、エラーとなるチェックサムデータを付加したダミーデータの送信と、受信情報取得部９１の処理による、ＤＴＴモジュールＣＰＵ４１から送信された情報の受信を開始する。
【０１７０】
このとき送信される情報のヘッダにおいて、送信元情報は０（システムＣＰＵ１３）、データタイプは１（ダミー）となっている。ＲｅｔｒｙＮｕｍｂｅｒは、この情報を受信したＤＴＴモジュールＣＰＵ４１の処理に用いられないので、この場合、どのような値であってもかまわない。ＤＴＴモジュールＣＰＵ４１から受信された情報は、受信情報取得部９１からヘッダおよびチェックサム抽出部９２に供給され、抽出されたヘッダが、フェイズずれ検出部９３、情報送信元検出部９５、および、送受信制御部９７に供給されて、抽出されたチェックサムデータとチェックサムを検出するためのアプリケーションデータ０乃至２９に対応する部分の合計値がチェックサムエラー検出部９４に供給され、アプリケーションデータ０乃至２９に対応する部分が、受信データ出力部９６に供給される。
【０１７１】
ステップＳ８３において、送受信制御部９７は、情報の送受信が完了したか否かを判断する。ステップＳ８３において、情報の送受信が完了していないと判断された場合、情報の送受信が完了したと判断されるまで、ステップＳ８３の処理が繰り返される。
【０１７２】
ステップＳ８３において、情報の送受信が完了したと判断された場合、ステップＳ８４において、チェックサムエラー検出部９４は、供給されたチェックサムは正しいか否かを判断する。ステップＳ８４において、チェックサムが正しくないと判断された場合、正しい情報を受信することができなかったと判断されるので、処理は、後述するステップＳ９１に進む。
【０１７３】
ステップＳ８４において、チェックサムが正しいと判断された場合、ステップＳ８５において、情報送信元検出部９５は、受信した情報の送信元は、ＤＴＴモジュールＣＰＵ４１であるか否かを判断する。ステップＳ８５において、情報の送信元は、ＤＴＴモジュールＣＰＵ４１ではないと判断された場合、正しい情報を受信することができなかったと判断されるので、処理は、後述するステップＳ９１に進む。
【０１７４】
ステップＳ８５において、受信した情報の送信元は、ＤＴＴモジュールＣＰＵ４１であると判断された場合、ステップＳ８６において、フェイズずれ検出部９３は、受信した情報のデータタイプは、「ＡＣＫ」であるか否かを判断する。ステップＳ８６において、データタイプは、「ＡＣＫ」であると判断された場合、処理は、後述するステップＳ９２に進む。
【０１７５】
ステップＳ８６において、データタイプは、「ＡＣＫ」ではないと判断された場合、ステップＳ８７において、フェイズずれ検出部９３は、受信した情報のデータタイプは「ダミー」であるか否かを判断する。
【０１７６】
ステップＳ８７において、受信した情報のデータタイプは「ダミー」ではないと判断された場合、受信した情報のデータタイプは、「データ」であると判断されるので、ステップＳ８８において、送受信制御部９７は、受信データ出力部９６を制御し、アプリケーションデータ０乃至２９を、Ｐｒｏｘｙ層８１に供給し、Ｐｒｏｘｙ層８１によるデータ処理を実行させる。
【０１７７】
例外通信処理においては、図１０および図１１を用いて説明したデータフェイズ通信処理とは異なり、データを受信したと判断された場合、ＤＴＴモジュールＣＰＵ４１が、データを再送したものであるか否かにかかわらず、アプリケーションデータ０乃至２９を、Ｐｒｏｘｙ層８１に供給するものとする。
【０１７８】
ステップＳ８７において、受信した情報のデータタイプは「ダミー」であると判断された場合、または、ステップＳ８８の処理の終了後、ステップＳ８９において、送受信制御部９７は、レジスタ９９の、次に送信するＡＣＫタイプを示すフラグをＯＫにセットする。
【０１７９】
ステップＳ８６において、データタイプは、「ＡＣＫ」ではないと判断された場合、送受信制御部９７は、受信したデータタイプがデータまたはダミーであったことにより、現在、ＤＴＴモジュールＣＰＵ４１は、データフェイズであると認識することができるので、次の通信をＡＣＫフェイズで行うことにより、フェイズをあわせることができる。したがって、ステップＳ９０において、送受信制御部９７は、レジスタ９９の送受信可能フラグ、送信要求フラグ、および、ＡＣＫフェイズフラグをセットし、処理は、図９のステップＳ３に進む。
【０１８０】
ステップＳ８４において、チェックサムが正しくないと判断された場合、または、ステップＳ８５において、情報の送信元は、ＤＴＴモジュールＣＰＵ４１ではないと判断された場合、正しい情報を受信することができなかったと判断されるので、ステップＳ９１において、送受信制御部９７は、レジスタ９９の送受信可能フラグ、および、エラーフラグをセットし、処理は、図９のステップＳ３に進む。
【０１８１】
ステップＳ８６において、データタイプは、「ＡＣＫ」であると判断された場合、送受信制御部９７は、受信したデータタイプがＡＣＫであったことにより、現在、ＤＴＴモジュールＣＰＵ４１は、ＡＣＫフェイズであると認識することができるので、次の通信をデータフェイズで行うことにより、フェイズをあわせることができる。したがって、ステップＳ８６において、データタイプは、「ＡＣＫ」であると判断された場合、ステップＳ９２において、送受信制御部９７は、レジスタ９９の送受信可能フラグ、送信要求フラグ、および、データフェイズフラグをセットし、処理は、図９のステップＳ３に進む。
【０１８２】
このような処理により、システムＣＰＵ１３は、チェックサムエラーとなるダミーデータを生成して、ＤＴＴモジュールＣＰＵ４１に送信するとともに、ＤＴＴモジュールＣＰＵ４１から送信された情報のデータタイプに基づいて、図７および図８を用いて説明したように、次の通信フェイズの種類をあわせるようにすることができるので、通信の破綻を次のフェイズで復元することができる。
【０１８３】
次に、図１５のフローチャートを参照して、図９を用いて説明したシステムＣＰＵ１３の通信処理と並行して実行される、ＤＴＴモジュールＣＰＵ４１の通信処理について説明する。
【０１８４】
ステップＳ１１１において、ＤＴＴモジュールＣＰＵ４１のドライバ層１１１の送受信制御部１２７は、送受信可能フラグをオフにすることにより、ステータスビジーをシステムＣＰＵ１３に通知する。
【０１８５】
ＤＴＴモジュールＣＰＵ４１は、システムＣＰＵ１３をマスタとするスレーブとしての動作を行うため、システムＣＰＵ１３が、データの送受信を開始するためにクロックを発生した場合、そのクロックを受けて、データの送受信動作を開始するようになされている。このため、ＤＴＴモジュールＣＰＵ４１は、内部処理を行っている間は、クロックの供給を受けることがないように、システムＣＰＵ１３に対して、必要に応じて、ステータスビジーを通知するようになされている。
【０１８６】
ステップＳ１１２において、送受信制御部１２７は、レジスタ１２９に記憶されている、送受信可能フラグ以外のフラグなどの初期化を実行する。
【０１８７】
ステップＳ１１３において、送受信制御部１２７は、データ取得部１２８から、送信するべきデータが供給されるか否か、または、送信情報生成部１３２のメモリに保存されていた再送するデータが読み込まれているか否かを基に、システムＣＰＵ１３へ送信するデータがあるか否かを判断する。
【０１８８】
ステップＳ１１３において、システムＣＰＵ１３へ送信するデータがあると判断された場合、送受信制御部１２７は、ステップＳ１１４において、送受信可能フラグをオフにすることにより、ステータスビジーをシステムＣＰＵ１３に通知し、ステップＳ１１５において、送信情報生成部１３２に送信するデータをセットするとともに、ヘッダのデータタイプを２（データ）にセットする。
【０１８９】
ステップＳ１１６において、送受信制御部１２７は、送信要求フラグをセットする。送信要求フラグがセットされた場合、システムＣＰＵ１４に対して、送信するデータがあることが通知されるとともに、システムＣＰＵ１３に対して、システムＣＰＵ１３からデータの授受の開始を指令するクロックの供給を受けられる状態であることが通知されるので、ステップＳ１１４におけるステータスビジーの通知が取り消される。
【０１９０】
ステップＳ１１３において、送信するデータがないと判断された場合、送受信制御部１２７は、ステップＳ１１７において、送受信可能フラグをオフにすることにより、ステータスビジーをシステムＣＰＵ１３に通知し、ステップＳ１１８において、送信情報生成部１３２にダミーデータをセットするとともに、ヘッダのデータタイプを１（ダミー）にセットする。
【０１９１】
ステップＳ１１９において、送受信制御部１２７は、送受信可能フラグをセットすることにより、ステータスノットビジーをシステムＣＰＵ１３に通知する。すなわち、送受信制御部１２７は、システムＣＰＵ１３に対して、システムＣＰＵ１３からデータの授受の開始を指令するクロックの供給を受けられる状態であることを通知する。
【０１９２】
ここで、ＤＴＴモジュールＣＰＵ４１は、データフェイズ、および、ＡＣＫフェイズの２種類の通信フェイズの状態を取るため、システムＣＰＵ１３からデータの授受の開始を指令するクロックの供給を受けた場合、レジスタ１２９を参照し、データフェイズフラグがアクティブである場合、次の通信はデータフェイズであるものとして動作し、ＡＣＫフェイズフラグがアクティブである場合、次の通信はＡＣＫフェイズであるものとして動作するようになされている。
【０１９３】
なお、ＡＣＫフェイズフラグがアクティブとされる場合、データフェイズフラグはインアクティブとされ、データフェイズフラグがアクティブとされる場合、ＡＣＫフェイズフラグはインアクティブとされる。
【０１９４】
したがって、ステップＳ１１６またはステップＳ１１９の処理の終了後、ステップＳ１２０において、システムＣＰＵ１３からデータの授受の開始を指令するクロックの供給を受けることが可能な状態であるＤＴＴモジュールＣＰＵ４１の送受信制御部１２７は、システムＣＰＵ１３からクロックが発振され、ＡＣＫフェイズフラグがセットされているか否かを判断する。
【０１９５】
ステップＳ１２０において、システムＣＰＵ１３からクロックが発振され、ＡＣＫフェイズフラグがセットされていると判断された場合、ステップＳ１２１において、図１７、または、図２３および図２４を用いて後述する、ＤＴＴモジュールＣＰＵ４１のＡＣＫフェイズ通信処理が実行され、処理は、ステップＳ１１３に戻り、それ以降の処理が繰り返される。
【０１９６】
ステップＳ１２０において、システムＣＰＵ１３からクロックが発振されていないか、または、ＡＣＫフェイズフラグがセットされていないと判断された場合、ステップＳ１２２において、送受信制御部１２７は、システムＣＰＵ１３からクロックが発振され、データフェイズフラグがセットされているか否かを判断する。
【０１９７】
ステップＳ１２２において、システムＣＰＵ１３からクロックが発振され、次に送信されるものとして、データまたはダミーデータがセットされていると判断された場合、ステップＳ１２３において、図１６または図２２を用いて後述する、ＤＴＴモジュールＣＰＵ４１のデータフェイズ通信処理が実行され、処理は、ステップＳ１２０に戻り、それ以降の処理が繰り返される。
【０１９８】
ステップＳ１２２において、システムＣＰＵ１３からクロックが発振されていないか、または、データフェイズフラグがセットされていないと判断された場合、ステップＳ１２４において、送受信制御部１２７は、システムＣＰＵ１３からのクロック発振待ちの状態において、送信データがセットされているか否かを判断する。
【０１９９】
ステップＳ１２４において、送信データがセットされていると判断された場合、処理は、ステップＳ１２０に戻り、それ以降の処理が繰り返される。ステップＳ１２４において、送信データがセットされていない、すなわち、ダミーデータがセットされていると判断された場合、ステップＳ１２５において、送受信制御部１２７は、システムＣＰＵ１３からのクロック発振待ちの状態において、データ取得部１２８から、送信するべきデータが供給されるか否かを基に、ＤＴＴモジュールＣＰＵ４１において、システムＣＰＵ１３へ送信するデータが発生したか否かを判断する。
【０２００】
ステップＳ１２５において、システムＣＰＵ１３へ送信するデータが発生したと判断された場合、処理は、ステップＳ１１４に戻り、それ以降の処理が繰り返される。ステップＳ１２５において、システムＣＰＵ１３へ送信するデータが発生していないと判断された場合、処理は、ステップＳ１２０に戻り、それ以降の処理が繰り返される。
【０２０１】
このような処理により、ＤＴＴモジュールＣＰＵ４１は、システムＣＰＵ１３が発振するクロックを受けて、データフェイズ、または、ＡＣＫフェイズのいずれか一方のフェイズで、システムＣＰＵ３１と通信を行うようになされている。
【０２０２】
なお、図１５の説明においては、ステップＳ１２０、および、ステップＳ１２２乃至ステップＳ１２５の処理が、繰り返されて実行されるものとして説明しているが、ＤＴＴモジュールＣＰＵ４１には、例えば、マルチタスクで処理を実行させるようにしても良い。具体的には、ステップＳ１１６またはステップＳ１１９の処理の終了後、システムＣＰＵ１３が発振するクロックの受信待ち状態にしておくことにより、クロックを受けた場合、レジスタ１２９を参照させて、データフェイズフラグとＡＣＫフェイズフラグのいずれのフラグがアクティブであるかに基づいて、ステップＳ１２１、または、ステップＳ１２３の処理に進ませるようにし、ダミーデータがセットされ、かつ、クロックの受信待ち状態であるときに、ＤＴＴモジュールＣＰＵ４１で送信データが発生した場合、処理を、ステップＳ１１４に進ませるようにしても良い。
【０２０３】
次に、図１６のフローチャートを参照して、図１５のステップＳ１２３において実行される、ＤＴＴモジュールＣＰＵ４１のデータフェイズ通信処理１について説明する。
【０２０４】
ステップＳ１４１において、送受信制御部１２７は、送信情報生成部１３２を制御し、図１５のステップＳ１１５においてセットされたデータ、または、ステップＳ１１８においてセットされたダミーデータに、チェックサム算出部１３０の処理により算出されたチェックサムデータを付加して送信するとともに、受信情報取得部１２１の処理による、システムＣＰＵ１３から送信された情報の受信を開始する。
【０２０５】
このとき送信される情報のヘッダにおいて、送信元情報は１（ＤＴＴモジュールＣＰＵ４１）、データタイプは１（ダミー）または２（データ）となっている。ＲｅｔｒｙＮｕｍｂｅｒは、データ送信時のレジスタ１２９のデータ再送回数を示すＲｅｔｒｙ回数フラグによって示される値となる。送信されたデータは、送信情報生成部１３２の内部のメモリに一時保存される。また、受信された情報は、受信情報取得部１２１からヘッダおよびチェックサム抽出部１２２に供給され、抽出されたヘッダが、フェイズずれ検出部１２３、情報送信元検出部１２５、および、送受信制御部１２７に供給されて、抽出されたチェックサムデータとチェックサムを検出するためのアプリケーションデータ０乃至２９に対応する部分の合計値がチェックサムエラー検出部１２４に供給され、アプリケーションデータ０乃至２９に対応する部分が、受信データ出力部１２６に供給される。
【０２０６】
ステップＳ１４２において、送受信制御部１２７は、データの送受信が完了したか否かを判断する。ステップＳ１４２において、データの送受信が完了していないと判断された場合、データの送受信が完了したと判断されるまで、ステップＳ１４２の処理が繰り返される。
【０２０７】
ステップＳ１４２において、データの送受信が完了したと判断された場合、ステップＳ１４３において、チェックサムエラー検出部１２４は、供給されたチェックサムは正しいか否かを判断する。ステップＳ１４３において、チェックサムが正しくないと判断された場合、正しい情報を受信することができなかったと判断されるので、処理は、後述するステップＳ１５１に進む。
【０２０８】
ステップＳ１４３において、チェックサムが正しいと判断された場合、ステップＳ１４４において、情報送信元検出部１２５は、受信した情報の送信元は、システムＣＰＵ１３であるか否かを判断する。ステップＳ１４４において、情報の送信元は、システムＣＰＵ１３ではないと判断された場合、正しい情報を受信することができなかったと判断されるので、処理は、後述するステップＳ１５１に進む。
【０２０９】
ステップＳ１４４において、受信した情報の送信元は、システムＣＰＵ１３であると判断された場合、ステップＳ１４５において、フェイズずれ検出部１２３は、受信した情報のデータタイプは、「ＡＣＫ」であるか否かを判断する。ステップＳ１４５において、データタイプは、「ＡＣＫ」であると判断された場合、通信フェイズがずれていることが検出されたので、処理は、後述するステップＳ１５１に進む。
【０２１０】
ステップＳ１４５において、データタイプは、「ＡＣＫ」ではないと判断された場合、ステップＳ１４６において、フェイズずれ検出部１２３は、受信した情報のデータタイプは「ダミー」であるか否かを判断する。
【０２１１】
ステップＳ１４６において、受信した情報のデータタイプは「ダミー」ではないと判断された場合、受信した情報のデータタイプは、「データ」であると判断されるので、ステップＳ１４７において、送受信制御部１２７は、受信データ出力部１２６を制御し、アプリケーションデータ０乃至２９を、Ｐｒｏｘｙ層８１に供給し、Ｐｒｏｘｙ層８１によるデータ処理を実行させる。
【０２１２】
ステップＳ１４６において、受信した情報のデータタイプは「ダミー」であると判断された場合、または、ステップＳ１４７の処理の終了後、ステップＳ１４８において、送受信制御部１２７は、送受信可能フラグをオフにすることにより、ステータスビジーをシステムＣＰＵ１３に通知し、ステップＳ１４９において、レジスタ１２９の、次に送信するＡＣＫタイプを示すフラグをＯＫとしてＡＣＫをセットし、ステップＳ１５０において、送信要求フラグ、および、ＡＣＫフェイズフラグをセットして、処理は、図１５のステップＳ１２０に戻る。
【０２１３】
ステップＳ１４３において、チェックサムが正しくないと判断された場合、ステップＳ１４４において、情報の送信元は、システムＣＰＵ１３ではないと判断された場合、または、ステップＳ１４５において、データタイプは、「ＡＣＫ」であると判断された場合、正しい情報を受信することができなかった、または、通信フェイズがずれていることが検出されたので、送受信制御部１２７は、ステップＳ１５１において、送受信可能フラグをオフにすることにより、ステータスビジーをシステムＣＰＵ１３に通知し、ステップＳ１５２において、レジスタ１２９の、次に送信するＡＣＫタイプを示すフラグをＮＧとしてＡＣＫをセットし、ステップＳ１５３において、送信要求フラグ、および、ＡＣＫフェイズフラグをセットして、処理は、図１５のステップＳ１２０に戻る。
【０２１４】
なお、ＡＣＫフェイズフラグのセットは、ステップＳ１５０またはステップＳ１５３ではなく、ステップＳ１４２において、データの送受信が終了したと判断された後に行われるようにしてもよい。
【０２１５】
このような処理により、ＤＴＴモジュールＣＰＵ４１は、データフェイズにおいて、受信した情報が正しいか否かを判断することができ、その結果に基づいて、受信したデータをＰｒｏｘｙ層８１に供給したり、次のＡＣＫフェイズで、ＤＴＴモジュールＣＰＵ４１に送信するＡＣＫをＮＧとする処理を行うようにすることができる。
【０２１６】
次に、図１７のフローチャートを参照して、図１５のステップＳ１２１において実行される、ＤＴＴモジュールＣＰＵ４１のＡＣＫフェイズ通信処理１について説明する。
【０２１７】
ステップＳ１６１において、送受信制御部１２７は、送信情報生成部１３２を制御し、チェックサム算出部１３０の処理により算出されたチェックサムデータを付加し、レジスタ１２９のフラグを参照してヘッダのＡＣＫ情報に対応する値を記載したＡＣＫデータの送信と、受信情報取得部１２１の処理による、システムＣＰＵ１３から送信された情報の受信を開始する。
【０２１８】
このとき送信される情報のヘッダにおいて、送信元情報は１（ＤＴＴモジュールＣＰＵ４１）、データタイプは３（ＡＣＫ）、ＡＣＫタイプは、０（ＮＧ）または１（ＯＫ）のいずれか一方となっている。また、受信された情報は、受信情報取得部１２１からヘッダおよびチェックサム抽出部１２２に供給され、抽出されたヘッダが、フェイズずれ検出部１２３、情報送信元検出部１２５、および、送受信制御部１２７に供給されて、抽出されたチェックサムデータとチェックサムを検出するためのアプリケーションデータ０乃至２９に対応する部分の合計値がチェックサムエラー検出部１２４に供給され、アプリケーションデータ０乃至２９に対応する部分が、受信データ出力部１２６に供給される。
【０２１９】
ステップＳ１６２において、送受信制御部１２７は、ＡＣＫの送受信が完了したか否かを判断する。ステップＳ１６２において、ＡＣＫの送受信が完了していないと判断された場合、ＡＣＫの送受信が完了したと判断されるまで、ステップＳ１６２の処理が繰り返される。
【０２２０】
ステップＳ１６２において、ＡＣＫの送受信が完了したと判断された場合、ステップＳ１６３において、送受信制御部１２７は、レジスタ１２９のデータフェイズフラグをセットする。
【０２２１】
ステップＳ１６４において、チェックサムエラー検出部１２４は、供給されたチェックサムは正しいか否かを判断する。ステップＳ１６４において、チェックサムが正しくないと判断された場合、正しい情報を受信することができなかったと判断されるので、処理は、後述するステップＳ１６７に進む。
【０２２２】
ステップＳ１６４において、チェックサムが正しいと判断された場合、ステップＳ１６５において、情報送信元検出部１２５は、受信した情報の送信元は、システムＣＰＵ１３であるか否かを判断する。ステップＳ１６５において、情報の送信元は、システムＣＰＵ１３ではないと判断された場合、正しい情報を受信することができなかったと判断されるので、処理は、後述するステップＳ１６７に進む。
【０２２３】
ステップＳ１６５において、受信した情報の送信元は、システムＣＰＵ１３であると判断された場合、ステップＳ１６６において、フェイズずれ検出部１２３は、受信した情報のデータタイプは、「ＡＣＫ」であるか否かを判断する。ステップＳ１６６において、データタイプは、「ＡＣＫ」ではないと判断された場合、通信フェイズがずれていることが検出されたので、処理は、後述するステップＳ１６７に進む。
【０２２４】
ステップＳ１６４において、チェックサムが正しくないと判断された場合、ステップＳ１６５において、情報の送信元は、システムＣＰＵ１３ではないと判断された場合、または、ステップＳ１６６において、データタイプは、「ＡＣＫ」ではないと判断された場合、ステップＳ１６７において、送受信制御部１２７は、レジスタ１２９を参照し、再送データの現在の再送回数は３回であるか否かを判断する。
【０２２５】
ステップＳ１６７において、再送データの現在の再送回数は３回ではないと判断された場合、データを再送する必要があるので、ステップＳ１６８において、送受信制御部１２７は、レジスタ１２９の再送回数に１を加え、送信情報生成部１３２のメモリに保存されている再送するデータを読み込み、処理は、図１５のステップＳ１１３に戻る。
【０２２６】
ステップＳ１６６において、データタイプは、「ＡＣＫ」であると判断された場合、または、ステップＳ１６７において、再送データの現在の再送回数は３回であると判断された場合、データは再送されないので、ステップＳ１６９において、送受信制御部１２７は、送信情報生成部１３２を制御し、内部のメモリに保存されている、前のデータフェイズで送信されたデータを消去させるとともに、レジスタ１２９の再送回数をリセットして０とする。
【０２２７】
ステップＳ１７０において、送受信制御部１２７は、データ取得部１２８がｐｒｏｘｙ層８１から送信データの供給を受けたか否か基に、システムＣＰＵ１３に対する次の送信データがあるか否かを判断する。ステップＳ１７０において、次の送信データがないと判断された場合、処理は、図１５のステップＳ１１３に戻る。
【０２２８】
ステップＳ１７０において、次の送信データがあると判断された場合、ステップＳ１７１において、データ取得部１２８は、ｐｒｏｘｙ層８１から送信データを取得し、処理は、図１５のステップＳ１１３に戻る。
【０２２９】
このような処理により、ＤＴＴモジュールＣＰＵ４１は、ＡＣＫフェイズにおいて、前のデータフェイズにおいて、正しくデータが送信受信されたか否かを判断することができ、その結果に基づいて、次のデータフェイズで、システムＣＰＵ１３に送信する新たなデータを取得するか、データを再送するための処理を行うようにすることができる。
【０２３０】
図９乃至図１７のフローチャートを用いて説明した処理により、システムＣＰＵ１３とＤＴＴモジュールＣＰＵ４１とは、図７および図８に示されるように、データフェイズとＡＣＫフェイズとを繰り返して、通信を行うことができ、フェイズがずれた場合など、通信が破綻した場合において、通常の通信処理と異なるプロトコルを用いることなく、フェイズを合致させ、正しい通信状態に復帰させるようにすることができる。
【０２３１】
また、システムＣＰＵ１３が、フェイズがずれた場合など、通信の破綻を検出して、ＤＴＴモジュールＣＰＵ４１がチェックサムエラーを検出するようなダミーデータを送信した場合、チェックサムエラーを検出したＤＴＴモジュールＣＰＵ４１が、通信制御に関する情報を、システムＣＰＵ１３に送信するようにすることができる。このことにより、例えば、システムＣＰＵ１３が相互の通信状態を正しい通信状態に復帰させるために、ＤＴＴモジュールＣＰＵ４１が内部に保持している通信制御に関する情報を取得する必要がある場合、それらの情報の送信要求のために、新たなデータセットを用意することなく、通常の通信と同様のプロトコルで、通信制御に関する情報を取得するようにすることができる。
【０２３２】
チェックサムエラーを検出したＤＴＴモジュールＣＰＵ４１が、通信制御に関する情報を、システムＣＰＵ１３に送信するようになされる場合、図９のステップＳ６において、図１８および図１９を用いて後述する、システムＣＰＵ１３のデータフェイズ通信処理２が実行され、ステップＳ８において、図２０および図２１を用いて後述する、システムＣＰＵ１３のＡＣＫフェイズ通信処理２が実行されるとともに、図１５のステップＳ１２３において、図２２を用いて後述する、ＤＴＴモジュールＣＰＵ４１のデータフェイズ通信処理２が実行され、図１５のステップＳ１２１において、図２３および図２４を用いて後述する、ＤＴＴモジュールＣＰＵ４１のＡＣＫフェイズ通信処理２が実行される。
【０２３３】
図１８および図１９のフローチャートを参照して、チェックサムエラーを検出したＤＴＴモジュールＣＰＵ４１が、通信制御に関する情報を、システムＣＰＵ１３に送信するようになされる場合、図９のステップＳ６において実行されるステムＣＰＵ１３のデータフェイズ通信処理２について説明する。
【０２３４】
ステップＳ１９１において、送受信制御部９７は、制御情報メモリ１０１に新たな通信制御データが存在するか否かを判断する。この通信制御データは、後述する図２０のステップＳ２２４の処理において、制御情報メモリ１０１に保存される、ＤＴＴモジュールＣＰＵ４１から送信された通信情報である。
【０２３５】
ステップＳ１９１において、新たな通信制御データが存在すると判断された場合、ステップＳ１９２において、送受信制御部９７は、制御情報メモリ１０１に保存されている新たな通信制御データを用いて、通信パラメータを設定する。
【０２３６】
ステップＳ１９１において、新たな通信制御データが存在しないと判断された場合、または、ステップＳ１９２の処理の終了後、ステップＳ１９３乃至ステップＳ２１１において、図１０および図１１のステップＳ２１乃至ステップＳ３９と同様の処理が実行され、処理は、図９のステップＳ３に進む。
【０２３７】
すなわち、後述する図２０のステップＳ２２４の処理において、制御情報メモリ１０１に、新たな通信制御データが保存されていた場合、その通信制御データを用いて通信パラメータが設定されて、図１０および図１１を用いて説明したシステムＣＰＵ１３のデータフェイズ通信処理１と同様の処理が実行され、制御情報メモリ１０１に、新たな通信制御データが保存されていなかった場合、現在の状態で、図１０および図１１を用いて説明したシステムＣＰＵ１３のデータフェイズ通信処理１と同様の処理が実行される。
【０２３８】
このような処理により、新たな通信制御データが保存されていた場合、この通信制御データを基に、新たな通信パラメータが設定されるので、通信が破綻した場合、ＤＴＴモジュールＣＰＵ４１から送信された通信制御データを基に、通信パラメータを設定しなおすようにすることが可能となる。
【０２３９】
すなわち、ステップＳ２１１の処理により、エラーフラグがセットされた場合、次のフェイズで、図１４を用いて説明したシステムＣＰＵ１３の例外通信処理が実行され、チェックサムエラーとなるダミーデータが、ＤＴＴモジュールＣＰＵ４１に送信される。そして、ＤＴＴモジュールＣＰＵ４１は、データフェイズでチェックサムエラーとなるダミーデータを受信した場合、後述する図２２のステップＳ２６３において、通信情報送信フラグをセットし、次のＡＣＫフェイズ、すなわち、後述する図２３のステップＳ２８１乃至ステップＳ２８３の処理によって、ＡＣＫとともに通信情報（システムＣＰＵ１３の通信を制御するためのパラメータである通信制御データ）を送信するようになされている。
【０２４０】
そして、システムＣＰＵ１３では、後述する図２０のステップＳ２２４の処理において、制御情報メモリ１０１に、新たな通信制御データが保存される。そして、システムＣＰＵ１３のデータフェイズ通信処理２では、新たな通信制御データが保存されていた場合、この通信制御データを基に、新たな通信パラメータが設定される。したがって、システムＣＰＵ１３は、通信が破綻した場合、ＤＴＴモジュールＣＰＵ４１に、特別なデータセットを用いて通信制御データを要求することなく、通信制御データを得ることができ、この通信制御データを基に、通信パラメータを設定しなおすようにすることが可能となる。
【０２４１】
次に、図２０および図２１のフローチャートを参照して、チェックサムエラーを検出したＤＴＴモジュールＣＰＵ４１が、通信制御に関する情報を、システムＣＰＵ１３に送信するようになされる場合、図９のステップＳ８において実行されるシステムＣＰＵ１３のＡＣＫフェイズ通信処理２について説明する。
【０２４２】
ステップＳ２２１およびステップＳ２２２において、図１２のステップＳ５１およびステップＳ５２と同様の処理が実行される。
【０２４３】
すなわち、送受信制御部９７は、送信情報生成部１０２を制御し、チェックサム算出部１００の処理により算出されたチェックサムデータを付加し、レジスタ９９のフラグを参照してヘッダのＡＣＫ情報に対応する値を記載したＡＣＫデータの送信と、受信情報取得部９１の処理による、ＤＴＴモジュールＣＰＵ４１から送信された情報の受信を開始し、ＡＣＫの送受信が完了したか否かを判断し、ＡＣＫの送受信が完了していないと判断された場合、ＡＣＫの送受信が完了したと判断されるまで、ステップＳ２２２の処理が繰り返される。
【０２４４】
ステップＳ２２２において、ＡＣＫの送受信が完了したと判断された場合、ステップＳ２２３において、受信データ出力部９６は、供給されたＡＣＫ情報のヘッダおよびチェックサム以外の、アプリケーションデータ０乃至アプリケーションデータ２９の領域部分に、新たな通信制御データが含まれていたか否かを判断する。
【０２４５】
ステップＳ２２３において、新たな通信制御データが含まれていたと判断された場合、ステップＳ２２４において、受信データ出力部９６は、送受信制御部９７に、新たな通信制御データを供給する。送受信制御部９７は、新たな通信制御データを取得し、制御情報メモリ１０１に保存する。
【０２４６】
ステップＳ２２３において、新たな通信制御データが含まれていなかったと判断された場合、または、ステップＳ２２４の処理の終了後、ステップＳ２２５乃至ステップＳ２３６において、図１２および図１３のステップＳ５３乃至ステップＳ６４と同様の処理が実行され、処理は、図９のステップＳ３に進む。
【０２４７】
すなわち、ＤＴＴモジュールＣＰＵ４１から送信されたＡＣＫデータに新たな通信制御データが含まれていた場合、次のデータフェイズにおいて、この新たな通信制御データを用いて通信パラメータを設定するために、受信された通信制御データが保存されて、ＡＣＫデータのヘッダおよびチェックサムを基に、図１２および図１３を用いて説明した処理と同様にして、次に送信する情報について決定するためのフラグなどをセットする処理が実行される。
【０２４８】
このような処理により、受信したＡＣＫデータに、新たな通信制御データが含まれていた場合、これが保存されるので、システムＣＰＵ１３は、次のデータフェイズにおいて、ＤＴＴモジュールＣＰＵ４１から送信された通信制御データを基に、通信パラメータを設定しなおすようにすることが可能となる。
【０２４９】
すなわち、図１９のステップＳ２１１の処理により、エラーフラグがセットされた場合、次のフェイズで、図１４を用いて説明したシステムＣＰＵ１３の例外通信処理が実行され、チェックサムエラーとなるダミーデータが、ＤＴＴモジュールＣＰＵ４１に送信される。そして、ＤＴＴモジュールＣＰＵ４１は、データフェイズでチェックサムエラーとなるダミーデータを受信した場合、後述する図２２のステップＳ２６３において、通信情報送信フラグをセットし、次のＡＣＫフェイズ、すなわち、後述する図２３のステップＳ２８１乃至ステップＳ２８３の処理によって、ＡＣＫとともに通信情報を送信するようになされている。
【０２５０】
そして、システムＣＰＵ１３では、ステップＳ２２４の処理において、制御情報メモリ１０１に、新たな通信制御データが保存される。そして、図１８および図１９を用いて説明したシステムＣＰＵ１３のデータフェイズ通信処理２では、新たな通信制御データが保存されていた場合、この通信制御データを基に、新たな通信パラメータが設定される。したがって、システムＣＰＵ１３は、通信が破綻した場合、ＤＴＴモジュールＣＰＵ４１に、特別なデータセットを用いて通信制御データを要求することなく、通信制御データを得ることができ、この通信制御データを基に、通信パラメータを設定しなおすようにすることが可能となる。
【０２５１】
次に、図２２のフローチャートを参照して、チェックサムエラーを検出したＤＴＴモジュールＣＰＵ４１が、通信制御に関する情報を、システムＣＰＵ１３に送信するようになされる場合、図１５のステップＳ１２３において実行されるＤＴＴモジュールＣＰＵ４１のデータフェイズ通信処理２について説明する。
【０２５２】
ステップＳ２５１乃至ステップＳ２６２において、図１６のステップＳ１４１乃至ステップＳ１５２と、同様の処理が実行される。
【０２５３】
すなわち、セットされているデータ、または、ダミーデータが送信されるとともに、システムＣＰＵ１３から送信された情報のチェックサムおよびヘッダを基に、チェックサムは正しいか否か、データ送信元はシステムＣＰＵ１３であるか、または、データタイプは何であるかが検出される。そして、チェックサム、情報送信元、および、データタイプが正しい場合、送信されたデータがダミーデータでなければ、Ｐｒｏｘｙ層８１においてデータが処理され、ステータスビジーの通知の後に、ＡＣＫがＯＫにセットされ、送信要求フラグ、およびＡＣＫフェイズフラグがセットされる。また、チェックサム、情報送信元、または、データタイプのいずれかが正しくない場合、ステータスビジーの通知の後に、ＡＣＫがＮＧにセットされる。
【０２５４】
そして、ステップＳ２６３において、送受信制御部１２７は、次のＡＣＫフェイズにおいて、システムＣＰＵ１３に通信情報を送信するために、通信情報送信フラグ、送信要求フラグ、およびＡＣＫフェイズフラグをセットし、処理は、図１５のステップＳ１２０に進む。
【０２５５】
このような処理により、システムＣＰＵ１３との通信の破綻が検出された場合、特別なデータセットにより通信制御データが要求されなくても、新たな通信制御データが送信されるように、フラグがセットされるので、ＤＴＴモジュールＣＰＵ４１は、次のＡＣＫフェイズで、通信制御データを送信することができる。したがって、システムＣＰＵ１３において、この通信制御データを基に、通信パラメータが設定しなおされる。
【０２５６】
すなわち、ＤＴＴモジュールＣＰＵ４１は、システムＣＰＵ１３がチェックサムエラーを誘発させるために送信したダミーデータを受信した場合をはじめとして、通信の破綻を検出した場合、図２２のステップＳ２６３において、通信情報送信フラグをセットし、次のＡＣＫフェイズ、すなわち、後述する図２３のステップＳ２８１乃至ステップＳ２８３の処理によって、ＡＣＫとともに通信情報を送信するようになされている。そして、システムＣＰＵ１３は、図２０のステップＳ２２４の処理において、制御情報メモリ１０１に、新たな通信制御データ（受信した通信情報に含まれている通信制御のためのパラメータ）を保存し、この通信制御データを基に、新たな通信パラメータを設定することができる。
【０２５７】
すなわち、システムＣＰＵ１３は、通信の破綻を検出して、通信パラメータを再設定したい場合、通常の通信処理と異なる特別な情報を用いて通信情報の要求処理などを行うことなく、ＤＴＴモジュールＣＰＵ４１にチェックサムエラーを検出させることにより、通信情報を得ることができる。
【０２５８】
次に、図２３および図２４のフローチャートを参照して、チェックサムエラーを検出したＤＴＴモジュールＣＰＵ４１が、通信制御に関する情報を、システムＣＰＵ１３に送信するようになされる場合、図１５のステップＳ１２１において実行されるＤＴＴモジュールＣＰＵ４１のＡＣＫフェイズ通信処理２について説明する。
【０２５９】
ステップＳ２８１において、送受信制御部１２７は、レジスタ１２９を参照し、通信情報送信フラグがセットされているか否かを判断する。
【０２６０】
ステップＳ２８１において、通信情報送信フラグがセットされていると判断された場合、ステップＳ２８２において、送受信制御部１２７は、送信するＡＣＫデータのアプリケーションデータ０乃至アプリケーションデータ２９の領域に、通信に必要なパラメータなどの情報を含む、通信情報をセットする。
【０２６１】
ステップＳ２８１において、通信情報送信フラグがセットされていないと判断された場合、または、ステップＳ２８２の処理の終了後、ステップＳ２８３乃至ステップＳ２９３において、図１７のステップＳ１６１乃至ステップＳ１７１と同様の処理が実行され、処理は、図１５のステップＳ１１３に進む。
【０２６２】
すなわち、ＤＴＴモジュールＣＰＵ４１は、チェックサムエラーとなるダミーデータを受信したときなど、通信の破綻を検出した場合において、図２２のステップＳ２６６において、通信情報送信フラグをセットし、次のＡＣＫフェイズ、すなわち、図２３のステップＳ２８１乃至ステップＳ２８３の処理によって、通信情報を送信するようになされている。したがって、システムＣＰＵ１３では、図２０のステップＳ２２４の処理において、制御情報メモリ１０１に、新たな通信制御データが保存され、図１８のステップＳ１９２において、この通信制御データを基に、新たな通信パラメータが設定される。
【０２６３】
したがって、システムＣＰＵ１３とＤＴＴモジュールＣＰＵ４１との通信が破綻した場合、通常の通信処理と異なる特別な情報を用いて通信情報の要求処理などを行うことなく、通常の通信処理に則した方法で、通信情報が授受されて、通信パラメータが再設定される。
【０２６４】
このように、図１８乃至図２４を用いて説明した処理では、システムＣＰＵ１３は、通信状態が通信の破綻を示す所定の状態である場合において、ＤＴＴモジュールＣＰＵ４１が通信の不具合を検出するような、例えば、チェックサムエラーが発生するような情報を送信する。そして、ＤＴＴモジュールＣＰＵ４１は、通信の不具合を検出した場合、システムＣＰＵ１３に新たな通信情報（システムＣＰＵ１３における通信制御データ）を送信するようになされている。したがって、システムＣＰＵ１３は、通信をリセットしたり、特別なデータセットを用いて通信制御データを要求することなく、他の情報処理装置が送信した情報を基にフェイズをあわせたり、通信のパラメータを再設定して、通信の状態を復帰させるようにすることができる。
【０２６５】
以上においては、データフェイズとＡＣＫフェイズとの２つのフェイズを交互に実行することによって、情報の授受が行われている場合を例として説明したが、本発明は、例えば、任意のタイミングでデータを送信することができ、データの受信側が、送信されたデータを正しく受信することができたか否かを示すＡＣＫまたはＮＡＣＫを返す場合など、データフェイズとＡＣＫフェイズとの２つのフェイズを交互に実行しないいずれのデータ授受方式においても、適用可能である。
【０２６６】
また、本発明は、同一の装置内の２つのマイクロコンピュータ（ＣＰＵやＭＰＵなど）において適用されるのみならず、３つ以上のマイクロコンピュータにおいて、例えば、マスタとスレーブが予め決められている場合などにおいて、マスタと第１のスレーブ、および、マスタと第２のスレーブとの間で、それぞれ、適用可能であることは言うまでもない。
【０２６７】
更に、本発明は、同一の装置内のマイクロコンピュータ（ＣＰＵやＭＰＵなど）において適用されるのみならず、異なる装置間においても適用可能であることは言うまでもない。
【０２６８】
例えば、図２５に示されるように、異なる機器であるマスタ１５１とスレーブ１５２において、情報の授受がなされる場合においても、本発明は適用可能である。
【０２６９】
マスタ１５１のマスタＣＰＵ１６１は、情報処理部１６２における情報の処理（例えば、画像処理や音声認識処理など、いかなる処理であってもかまわない）および送受信部１６３によるスレーブ１５２との情報の送受信を制御する。スレーブ１５２のスレーブＣＰＵ１７１は、情報処理部１７２における情報の処理（例えば、画像処理や音声認識処理など、いかなる処理であってもかまわない）および送受信部１７３によるマスタ１５１との情報の送受信を制御する。
【０２７０】
マスタ１５１は、フェイズずれを検出しないことを除いて、図３を用いて説明したドライバ層７３と略同様の機能を有し、スレーブ１５２は、フェイズずれを検出しないことを除いて、図６を用いて説明したドライバ層１１１と略同様の機能を有するものとする。
【０２７１】
送受信部１６３と送受信部１７３とは、それぞれ、マスタＣＰＵ１６１およびスレーブＣＰＵ１７１の制御に基づいて、無線、または、有線により、情報を授受する。
【０２７２】
送受信部１６３と送受信部１７３とは、図２６に示されるように、いずれか一方がデータを送信した場合、他方が、データの受信に対するＡＣＫを返すようになされており、データの送信タイミングは任意であり、いずれか一方が、連続してデータを送信するようにしてもかまわない。
【０２７３】
このようなシステムにおいて、マスタ１５１は、通信の破綻の検出時など、スレーブ１５２が有する通信情報を取得する必要が生じた場合、図１４のステップＳ８１において、システムＣＰＵ１３が実行した処理と同様にして、チェックサムエラーとなるダミーデータを生成し、スレーブ１５２に送信する。スレーブ１５２は、チェックサムエラーを検出して、ＡＣＫタイプがＮＧのＡＣＫ（いわゆるＮＡＣＫ）とともに、マスタ１５１に対して、通信情報を送信する。マスタ１５１は、通信情報を受信することにより、通信状態を復元することが可能となる。
【０２７４】
更に、本発明は、２つのマイクロコンピュータ、または、２つの装置間の情報の授受において適用可能であるのみならず、複数の装置間、例えば、１つのマスタと複数のスレーブの間で実行される情報の授受においても適用可能である。
【０２７５】
なお、本発明は、通信の破綻、または、不具合の検出が、チェックサムエラーの検出、情報送信元が正しいか否かの検出、および、データフェイズが正しいか否かの検出などによって行われるものとして説明したが、通信の破綻、または、不具合の検出は、他の方法によって実行されても良いことは言うまでもない。
【０２７６】
上述した一連の処理は、ソフトウェアにより実行することもできる。そのソフトウェアは、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【０２７７】
この記録媒体は、図１に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク６１（フレキシブルディスクを含む）、光ディスク６２（ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ），ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）を含む）、光磁気ディスク６３（ＭＤ（Ｍｉｎｉ−Ｄｉｓｋ）（商標）を含む）、もしくは半導体メモリ６４などよりなるパッケージメディアなどにより構成される。
【０２７８】
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０２７９】
なお、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【０２８０】
【発明の効果】
このように、本発明によれば、他の情報処理装置と通信することができる。特に、通信状態が所定の状態に合致すると判断された場合、他の情報処理装置に通信の不具合を検出させるための、例えば、チェックサムエラーが発生するような情報を送信するようにしたので、通信をリセットすることなく、他の情報処理装置が送信した情報を基にフェイズをあわせたり、通信のパラメータを再設定することができる。
【０２８１】
また、他の本発明によれば、他の情報処理装置と通信することができる他、通信の不具合を検出した場合に、通信を制御するための情報を他の情報処理装置に送信するようにしたので、通信をリセットすることなく、通信状態を復帰させるようにすることができる。
【０２８２】
また、他の本発明によれば、第１の情報処理装置と第２の情報処理装置とで情報を授受することができ、特に、第１の情報処理装置で、通信状態が所定の状態に合致すると判断された場合、他の情報処理装置に通信の不具合を検出させるための、例えば、チェックサムエラーが発生するような情報を送信するようにしたので、通信をリセットすることなく、他の情報処理装置が送信した情報を基にフェイズをあわせたり、通信のパラメータを再設定することができる。
【図面の簡単な説明】
【図１】本発明を適用した、デジタルテレビジョン受像機の構成を示すブロック図である。
【図２】図１のシステムＣＰＵのソフトウェアの構成について説明するための図である。
【図３】図２のドライバ層が有する機能を示す機能ブロック図である。
【図４】送信情報について説明するための図である。
【図５】図４の送信情報のヘッダについて説明するための図である。
【図６】図１のＤＴＴモジュールＣＰＵのドライバ層が有する機能を示す機能ブロック図である。
【図７】図１のシステムＣＰＵとＤＴＴモジュールＣＰＵが実行する通信の通信フェイズおよび通信フェイズずれの検出および復帰について説明するための図である。
【図８】図１のシステムＣＰＵとＤＴＴモジュールＣＰＵが実行する通信の通信フェイズおよび通信フェイズずれの検出および復帰について説明するための図である。
【図９】システムＣＰＵの通信処理について説明するためのフローチャートである。
【図１０】システムＣＰＵのデータフェイズ通信処理１について説明するためのフローチャートである。
【図１１】システムＣＰＵのデータフェイズ通信処理１について説明するためのフローチャートである。
【図１２】システムＣＰＵのＡＣＫフェイズ通信処理１について説明するためのフローチャートである。
【図１３】システムＣＰＵのＡＣＫフェイズ通信処理１について説明するためのフローチャートである。
【図１４】システムＣＰＵの例外通信処理について説明するためのフローチャートである。
【図１５】ＤＴＴモジュールＣＰＵの通信処理について説明するためのフローチャートである。
【図１６】ＤＴＴモジュールＣＰＵのデータフェイズ通信処理１について説明するためのフローチャートである。
【図１７】ＤＴＴモジュールＣＰＵのＡＣＫフェイズ通信処理１について説明するためのフローチャートである。
【図１８】システムＣＰＵのデータフェイズ通信処理２について説明するためのフローチャートである。
【図１９】システムＣＰＵのデータフェイズ通信処理２について説明するためのフローチャートである。
【図２０】システムＣＰＵのＡＣＫフェイズ通信処理２について説明するためのフローチャートである。
【図２１】システムＣＰＵのＡＣＫフェイズ通信処理２について説明するためのフローチャートである。
【図２２】ＤＴＴモジュールＣＰＵのデータフェイズ通信処理２について説明するためのフローチャートである。
【図２３】ＤＴＴモジュールＣＰＵのＡＣＫフェイズ通信処理２について説明するためのフローチャートである。
【図２４】ＤＴＴモジュールＣＰＵのＡＣＫフェイズ通信処理２について説明するためのフローチャートである。
【図２５】マスタとスレーブが異なる装置である場合について説明するための図である。
【図２６】マスタとスレーブが異なる装置である場合について説明するための図である。
【符号の説明】
１  デジタルテレビジョン受像機，  １３  システムＣＰＵ，  １６  ＤＴＴモジュール，  ４１  ＤＴＴモジュールＣＰＵ，  ９１  受信情報取得部，  ９２  ヘッダおよびチェックサム抽出部，  ９３  フェイズずれ検出部，  ９４  チェックサムエラー検出部，  ９５  情報送信元検出部，  ９６  受信データ出力部，  ９７  送受信制御部，  ９８  データ取得部，  ９９  レジスタ，  １００  チェックサム算出部，  １０１  制御情報メモリ，  １０３  送信情報生成部，  １２１  受信情報取得部，  １２２  ヘッダおよびチェックサム抽出部，  １２３  フェイズずれ検出部，  １２４  チェックサムエラー検出部，  １２５  情報送信元検出部，  １２６  受信データ出力部，  １２７  送受信制御部，  １２８  データ取得部，  １２９  レジスタ，  １３０  チェックサム算出部，  ３１  制御情報メモリ，  ３３  送信情報生成部，  １５１  マスタ，１５２  スレーブ，  １６１  マスタＣＰＵ，  １６２  送受信部，  １６３情報処理部，  １７１  スレーブＣＰＵ，  １７２  送受信部，  １７３  情報処理部
【図１】
2004363677.tif 000003
【図２】
2004363677.tif 000004
【図３】
2004363677.tif 000005
【図４】
2004363677.tif 000006
【図５】
2004363677.tif 000007
【図６】
2004363677.tif 000008
【図７】
2004363677.tif 000009
【図８】
2004363677.tif 000010
【図９】
2004363677.tif 000011
【図１０】
2004363677.tif 000012
【図１１】
2004363677.tif 000013
【図１２】
2004363677.tif 000014
【図１３】
2004363677.tif 000015
【図１４】
2004363677.tif 000016
【図１５】
2004363677.tif 000017
【図１６】
2004363677.tif 000018
【図１７】
2004363677.tif 000019
【図１８】
2004363677.tif 000020
【図１９】
2004363677.tif 000021
【図２０】
2004363677.tif 000022
【図２１】
2004363677.tif 000023
【図２２】
2004363677.tif 000024
【図２３】
2004363677.tif 000025
【図２４】
2004363677.tif 000026
【図２５】
2004363677.tif 000027
【図２６】
2004363677.tif 000028