(57)【要約】      （修正有）【課題】受信バッファに誤取り込みデータが格納されていたことを特定することを目的とする情報処理装置、制御方法及びプログラムを提供する。【解決手段】情報処理装置は、所定の記憶領域の第１のアドレスに格納されているデータが第２受信バッファによって受信されたことに応じて少なくとも１つのプロセッサーに転送されたデータに基づいて、第１のデータが第１受信バッファに送信された時に第１受信バッファに既にデータが格納されていたか否かを判定する判定処理を実行する判定手段を有する。【選択図】図１３
2019152907.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つのプロセッサーと、
所定の記憶領域と、
データを受信し、受信したデータを前記所定の記憶領域に格納する第１受信バッファと、
データを受信し、受信したデータを前記少なくとも１つのプロセッサーに転送する第２受信バッファと、
を有する情報処理装置であって、
前記所定の記憶領域の第１のアドレスを格納先として指定して、前記第１のデータを前記第１受信バッファに送信する送信手段と、
前記所定の記憶領域の前記第１のアドレスに格納されているデータを、前記第２受信バッファによって、前記第１のデータが前記第１受信バッファに送信された後に受信する受信手段と、
前記所定の記憶領域の前記第１のアドレスに格納されているデータが前記第２受信バッファによって受信されたことに応じて前記少なくとも１つのプロセッサーに転送されたデータに基づいて、前記第１のデータが前記第１受信バッファに送信された時に前記第１受信バッファに既にデータが格納されていたか否かを判定する判定処理を実行する判定手段と、を有することを特徴とする情報処理装置。
【請求項２】
前記第１のデータが前記第１受信バッファに送信された時に前記第１受信バッファに既にデータが格納されていたと判定された場合、所定の処理を実行する実行手段を更に有することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記所定の処理は、前記第１の受信バッファに格納されているデータを削除する処理であることを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記所定の記憶領域の前記第１のアドレスに格納されているデータが前記第２受信バッファによって受信されたことに応じて前記少なくとも１つのプロセッサーに転送されたデータが、前記第１のデータである場合、前記第１のデータが前記第１受信バッファに送信された時に前記第１受信バッファに既にデータが格納されていなかったと判定され、
前記所定の記憶領域の前記第１のアドレスに格納されているデータが前記第２受信バッファによって受信されたことに応じて前記少なくとも１つのプロセッサーに転送されたデータが、前記第１のデータでない場合、前記第１のデータが前記第１受信バッファに送信された時に前記第１受信バッファに既にデータが格納されていたと判定されることを特徴とする請求項１乃至３のいずれか記載の情報処理装置。
【請求項５】
前記所定の記憶領域の前記第１のアドレスが格納先として指定されて、前記第１のデータと異なる第２のデータが前記第１受信バッファに、前記第１のデータが前記第１受信バッファに送信される前に送信され、
前記所定の記憶領域の前記第１のアドレスに格納されているデータが、前記第２受信バッファによって、前記第１のデータ及び前記第２のデータが前記第１受信バッファに送信された後に受信されることを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記所定の記憶領域の前記第１のアドレスが格納先として指定されて、前記第１受信バッファが有する格納領域の段数と同じ回数、前記第２のデータが前記第１受信バッファに、前記第１のデータが前記第１受信バッファに送信される前に送信され、
前記第１受信バッファが実行する１回のデータ受信において、１段の前記格納領域が用いられることを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記第１受信バッファが受信したデータにエラーが生じているかどうかを判定するエラー判定手段と、
前記第１受信バッファが受信したデータにエラーが生じていると判定された場合に、前記判定処理が実行されることを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
前記第１受信バッファが受信したデータにエラーが生じている場合に発行される割り込みを、前記少なくとも１つのプロセッサーにより受け付ける受け付け手段をさらに有し、
前記割り込みが前記少なくとも１つのプロセッサーにより受け付けられた場合、前記判定処理が実行されることを特徴とする請求項７に記載の情報処理装置。
【請求項９】
巡回冗長検査により、前記第１受信バッファが受信したデータにエラーが生じているかどうかが判定されることを特徴とする請求項７又は８に記載の情報処理装置。
【請求項１０】
前記第１受信バッファがデータを受信することに基づいて前記所定の記憶領域に格納された所定のデータを、前記所定の記憶領域と異なる他の記憶領域に送信する第２送信手段をさらに有し、
前記所定のデータが、前記他の記憶領域に送信される前に、前記判定処理が実行されることを特徴とする請求項１乃至９のいずれか１項に記載の情報処理装置。
【請求項１１】
前記他の記憶領域は、Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙであることを特徴とする請求項１０に記載の情報処理装置。
【請求項１２】
前記所定のデータは、前記情報処理装置が有するいずれかの構成の温度を調節するためのデータであることを特徴とする請求項１０に記載の情報処理装置。
【請求項１３】
前記所定の記憶領域の前記第１のアドレスと異なる第２のアドレスに格納されているデータを、前記第２受信バッファによって受信する第２受信手段と、
前記所定の記憶領域の前記第２のアドレスに格納されているデータが前記第２受信バッファによって受信されたことに応じて前記少なくとも１つのプロセッサーに転送されたデータに基づいて、前記所定の記憶領域の前記第２のアドレスに格納されているデータが前記第２受信バッファに送信された時に前記第２受信バッファに既にデータが格納されていたか否かを判定する第２判定処理を実行する第２判定手段と、をさらに有することを特徴とする請求項１乃至１２のいずれか１項に記載の情報処理装置。
【請求項１４】
前記所定の記憶領域の前記第２のアドレスに格納されているデータが前記第２受信バッファに送信された時に前記第２受信バッファに既にデータが格納されていたと判定された場合、特定の処理を実行する第２実行手段と、をさらに有することを特徴とする請求項１３に記載の情報処理装置。
【請求項１５】
前記特定の処理は、前記第２の受信バッファに格納されているデータを削除する処理であることを特徴とする請求項１４に記載の情報処理装置。
【請求項１６】
前記所定の記憶領域の前記第２のアドレスには、第３のデータが格納されており、
前記所定の記憶領域の前記第２のアドレスに格納されているデータが前記第２受信バッファによって受信されたことに応じて前記少なくとも１つのプロセッサーに転送されたデータが、前記第３のデータである場合、前記所定の記憶領域の前記第２のアドレスに格納されているデータが前記第２受信バッファに送信された時に前記第２受信バッファに既にデータが格納されていなかったと判定され、
前記所定の記憶領域の前記第２のアドレスに格納されているデータが前記第２受信バッファによって受信されたことに応じて前記少なくとも１つのプロセッサーに転送されたデータが、前記第３のデータでない場合、前記所定の記憶領域の前記第２のアドレスに格納されているデータが前記第２受信バッファに送信された時に前記第２受信バッファに既にデータが格納されていたと判定されることを特徴とする請求項１３乃至１５のいずれか１項に記載の情報処理装置。
【請求項１７】
前記所定の記憶領域の前記第２のアドレスに格納されているデータが、前記第２受信バッファによって、前記所定の記憶領域の前記第１のアドレスに格納されているデータが前記第２受信バッファによって受信された後に受信されることを特徴とする請求項１３乃至１６のいずれか１項に記載の情報処理装置。
【請求項１８】
前記所定の記憶領域の前記第２のアドレスに格納されているデータが、前記第２受信バッファによって、前記第２受信バッファが有する格納領域の段数と同じ回数、前記所定の記憶領域の前記第１のアドレスに格納されているデータが前記第２受信バッファによって受信された後に受信され、
前記第２受信バッファが実行する１回のデータ受信において、１段の前記格納領域が用いられることを特徴とする請求項１３乃至１７のいずれか１項に記載の情報処理装置。
【請求項１９】
前記所定の記憶領域と異なる他の記憶領域から送信された特定のデータを、前記第２受信バッファによって受信する第２受信手段をさらに有し、
前記特定のデータが前記第２受信バッファによって受信される前に、前記第２判定処理が実行されることを特徴とする請求項１３乃至１８のいずれか１項に記載の情報処理装置。
【請求項２０】
記録剤によって記録媒体に印刷を実行する印刷手段をさらに有することを特徴とする請求項１乃至１９のいずれか１項に記載の情報処理装置。
【請求項２１】
少なくとも１つのプロセッサーと、
所定の記憶領域と、
データを受信し、受信したデータを前記少なくとも１つのプロセッサーに転送する受信バッファと、
を有する情報処理装置であって、
前記所定の記憶領域の所定のアドレスに格納されているデータを、前記受信バッファによって受信する受信手段と、
前記所定の記憶領域の前記所定のアドレスに格納されているデータが前記受信バッファによって受信されたことに応じて前記少なくとも１つのプロセッサーに転送されたデータに基づいて、前記所定のデータが前記受信バッファに送信された時に前記受信バッファに既にデータが格納されていたか否かを判定する判定処理を実行する判定手段と、を有することを特徴とする情報処理装置。
【請求項２２】
前記所定のデータが前記受信バッファに送信された時に前記受信バッファに既にデータが格納されていたと判定された場合、所定の処理を実行する実行手段と、をさらに有することを特徴とする請求項２１に記載の情報処理装置。
【請求項２３】
前記所定の処理は、前記受信バッファに格納されているデータを削除する処理であることを特徴とする請求項２２に記載の情報処理装置。
【請求項２４】
前記所定の記憶領域の前記所定のアドレスには、所定のデータが格納されており、
前記所定の記憶領域の前記所定のアドレスに格納されているデータが前記受信バッファによって受信されたことに応じて前記少なくとも１つのプロセッサーに転送されたデータが、前記所定のデータである場合、前記所定のデータが前記受信バッファに送信された時に前記受信バッファに既にデータが格納されていなかったと判定され、
前記所定の記憶領域の前記所定のアドレスに格納されているデータが前記受信バッファによって受信されたことに応じて前記少なくとも１つのプロセッサーに転送されたデータが、前記所定のデータでない場合、前記所定のデータが前記受信バッファに送信された時に前記受信バッファに既にデータが格納されていたと判定されることを特徴とする請求項２１乃至２３のいずれか１項に記載の情報処理装置。
【請求項２５】
前記所定の記憶領域の前記所定のアドレスに格納されているデータが、前記受信バッファによって、前記所定の記憶領域の前記所定のアドレスと異なる他のアドレスに格納されているデータが前記受信バッファによって受信された後に受信されることを特徴とする請求項２４に記載の情報処理装置。
【請求項２６】
前記所定の記憶領域の前記所定のアドレスに格納されているデータが、前記受信バッファによって、前記受信バッファが有する格納領域の段数と同じ回数、前記所定の記憶領域の前記他のアドレスに格納されているデータが前記受信バッファによって受信された後に受信されることを特徴とする請求項２５に記載の情報処理装置。
【請求項２７】
前記受信バッファが受信したデータにエラーが生じているかどうかを判定するエラー判定手段と、
前記受信バッファが受信したデータにエラーが生じていると判定された場合に、前記判定処理が実行されることを特徴とする請求項２１乃至２６のいずれか１項に記載の情報処理装置。
【請求項２８】
前記受信バッファが受信したデータにエラーが生じている場合に発行される割り込みを、前記少なくとも１つのプロセッサーにより受け付ける受け付け手段をさらに有し、
前記割り込みが前記少なくとも１つのプロセッサーにより受け付けられた場合、前記判定処理が実行されることを特徴とする請求項２７に記載の情報処理装置。
【請求項２９】
巡回冗長検査により、前記第１受信バッファが受信したデータにエラーが生じているかどうかが判定されることを特徴とする請求項２７又は２８に記載の情報処理装置。
【請求項３０】
前記所定の記憶領域と異なる他の記憶領域から送信された特定のデータを、前記受信バッファによって受信する第２受信手段をさらに有し、
前記特定のデータが前記受信バッファによって受信される前に、前記判定処理が実行されることを特徴とする請求項２１乃至２９のいずれか１項に記載の情報処理装置。
【請求項３１】
記録剤によって記録媒体に印刷を実行する印刷手段をさらに有することを特徴とする請求項２１乃至３０のいずれか１項に記載の情報処理装置。
【請求項３２】
少なくとも１つのプロセッサーと、
所定の記憶領域と、
データを受信し、受信したデータを前記所定の記憶領域に格納する第１受信バッファと、
データを受信し、受信したデータを前記少なくとも１つのプロセッサーに転送する第２受信バッファと、
を有する情報処理装置の制御方法であって、
前記所定の記憶領域の第１のアドレスを格納先として指定して、前記第１のデータを前記第１受信バッファに送信する送信ステップと、
前記所定の記憶領域の前記第１のアドレスに格納されているデータを、前記第２受信バッファによって、前記第１のデータが前記第１受信バッファに送信された後に受信する受信ステップと、
前記所定の記憶領域の前記第１のアドレスに格納されているデータが前記第２受信バッファによって受信されたことに応じて前記少なくとも１つのプロセッサーに転送されたデータに基づいて、前記第１のデータが前記第１受信バッファに送信された時に前記第１受信バッファに既にデータが格納されていたか否かを判定する判定処理を実行する判定ステップと、を有することを特徴とする制御方法。
【請求項３３】
少なくとも１つのプロセッサーと、
所定の記憶領域と、
データを受信し、受信したデータを前記少なくとも１つのプロセッサーに転送する受信バッファと、
を有する情報処理装置の制御方法であって、
前記所定の記憶領域の所定のアドレスに格納されているデータを、前記受信バッファによって受信する受信ステップと、
前記所定の記憶領域の前記所定のアドレスに格納されているデータが前記受信バッファによって受信されたことに応じて前記少なくとも１つのプロセッサーに転送されたデータに基づいて、前記所定のデータが前記受信バッファに送信された時に前記受信バッファに既にデータが格納されていたか否かを判定する判定処理を実行する判定ステップと、を有することを特徴とする制御方法。
【請求項３４】
請求項１乃至３１のいずれか１項に記載の情報処理装置の各手段としてコンピュータを動作させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、制御方法及びプログラムに関する。
【背景技術】
【０００２】
受信バッファを有する情報処理装置が知られている。そして、そのような情報処理装置においては、受信バッファによって、データの通信が行われる（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平９−９７１６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、受信バッファによるデータ通信時に外来からのノイズが生じることで、通信されたデータが変質してしまうことがある。そして、データの変質が原因となって受信バッファに誤取り込みデータが蓄積した状態で、受信バッファによるデータ通信が実行されると、適正なデータ通信が実行されないことがある。受信バッファに誤取り込みデータが格納されていたならば、ユーザへの通知や、受信バッファを空にする等の処理が実行されるべきである。しかしながら、いずれの処理が実行されるにせよ、受信バッファに誤取り込みデータが格納されていたことを特定することが必要となる。受信バッファによる通信を行う情報処理装置が普及するにつれ、受信バッファに誤取り込みデータが格納されていたことを特定することが一層求められている。
【０００５】
そこで本発明は、上述の課題を解決するために、受信バッファに誤取り込みデータが格納されていたことを特定することを目的とする。
【課題を解決するための手段】
【０００６】
上記の課題を解決するための本発明の情報処理装置は、
少なくとも１つのプロセッサーと、
所定の記憶領域と、
データを受信し、受信したデータを前記所定の記憶領域に格納する第１受信バッファと、
データを受信し、受信したデータを前記少なくとも１つのプロセッサーに転送する第２受信バッファと、
を有する情報処理装置であって、
前記所定の記憶領域の第１のアドレスを格納先として指定して、前記第１のデータを前記第１受信バッファに送信する送信手段と、
前記所定の記憶領域の前記第１のアドレスに格納されているデータを、前記第２受信バッファによって、前記第１のデータが前記第１受信バッファに送信された後に受信する受信手段と、
前記所定の記憶領域の前記第１のアドレスに格納されているデータが前記第２受信バッファによって受信されたことに応じて前記少なくとも１つのプロセッサーに転送されたデータに基づいて、前記第１のデータが前記第１受信バッファに送信された時に前記第１受信バッファに既にデータが格納されていたか否かを判定する判定処理を実行する判定手段と、を有することを特徴とする。
【発明の効果】
【０００７】
本発明により、受信バッファに誤取り込みデータが格納されていたことを特定することができる。
【図面の簡単な説明】
【０００８】
【図１】情報処理装置の内部構成図である。
【図２】情報処理装置の制御構成を示すブロック図である。
【図３】内部通信部の受信バッファにデータが誤取り込みされたことが、ライト・トランザクションに与える影響を説明するためのブロック図である。
【図４】内部通信部の受信バッファにデータが誤取り込みされたことが、リード・トランザクションに与える影響を説明するためのブロック図である。
【図５】誤取り込み判定処理が実行されている状態の第２の集積回路チップ及び印刷部のブロック図である。
【図６】データの誤取り込みの判定結果と誤取り込みデータの有無の関係を示す表である。
【図７】情報処理装置によって実行される誤取り込み判定処理を示すフローチャートである。
【図８】誤取り込みデータが検出された場合に情報処理装置によって実行される回復処理を示すフローチャートである。
【図９】内部通信部間の通信時において、情報処理装置によって実行される処理を示すフローチャートである。
【図１０】印刷制御部とＥＥＰＲＯＭと間の通信（ライト）時において、情報処理装置によって実行される処理を示すフローチャートである。
【図１１】印刷制御部とＥＥＰＲＯＭと間の通信（リード）時において、情報処理装置によって実行される処理を示すフローチャートである。
【図１２】印刷制御部とインク吐出部と間の通信時において、情報処理装置によって実行される処理を示すフローチャートである。
【図１３】誤取り込みデータが検出された場合に情報処理装置によって実行される回復処理を示すフローチャートである。
【発明を実施するための形態】
【０００９】
（第１実施形態）
本実施形態の情報処理装置について説明する。情報処理装置として、本実施形態では、印刷サービスを提供可能な記録装置を例示しているが、これに限定されない。情報処理装置として、バッファを用いて装置内部ないし外部でデータ通信を行うことが可能な装置であれば、種々のものを適用可能である。例えば、プリンタであれば、インクジェットプリンタ、フルカラーレーザービームプリンタ、モノクロプリンタ等を適用可能である。また、プリンタのみならず複写機やファクシミリ装置、スマートホン、携帯端末、パーソナルコンピュータ、タブレット端末、ＰＤＡ、デジタルカメラ、音楽再生デバイス、ストレージ、プロジェクタ等、印刷以外のサービスを提供可能な装置にも適用可能である。
【００１０】
図１は、本実施形態の情報処理装置であるインクジェット記録装置１００（以下、記録装置１００）の内部構成図である。図において、ｘ方向は水平方向、ｙ方向（垂直方向）は後述する記録ヘッド８において吐出口が配列される方向、ｚ方向は鉛直方向をそれぞれ示す。
【００１１】
記録装置１００は、プリント部２とスキャナ部３を備える複合機であり、記録動作と読取動作に関する様々な処理を、プリント部２とスキャナ部３で個別にあるいは連動して実行することができる。スキャナ部３は、ＡＤＦ（オートドキュメントフィーダ）とＦＢＳ（フラットベッドスキャナ）を備えており、ＡＤＦで自動給紙される原稿の読み取りと、ユーザによってＦＢＳの原稿台に置かれた原稿の読み取り（スキャン）を行うことができる。なお、本実施形態はプリント部２とスキャナ部３を併せ持った複合機であるが、スキャナ部３を備えない形態であってもよい。図１は、記録装置１００が記録動作も読取動作も行っていない待機状態にあるときを示す。
【００１２】
プリント部２において、筐体４の鉛直方向下方の底部には、記録媒体（カットシート）Ｓを収容するための第１カセット５Ａと第２カセット５Ｂが着脱可能に設置されている。第１カセット５ＡにはＡ４サイズまでの比較的小さな記録媒体が、第２カセット５ＢにはＡ３サイズまでの比較的大きな記録媒体が、平積みに収容されている。第１カセット５Ａ近傍には、収容されている記録媒体を１枚ずつ分離して給送するための第１給送ユニット６Ａが設けられている。同様に、第２カセット５Ｂ近傍には、第２給送ユニット６Ｂが設けられている。記録動作が行われる際にはいずれか一方のカセットから選択的に記録媒体Ｓが給送される。
【００１３】
搬送ローラ７、排出ローラ１２、ピンチローラ７ａ、拍車７ｂ、ガイド１８、インナーガイド１９およびフラッパ１１は、記録媒体Ｓを所定の方向に導くための搬送機構である。搬送ローラ７は、記録ヘッド８の上流側および下流側に配され、不図示の搬送モータによって駆動される駆動ローラである。ピンチローラ７ａは、搬送ローラ７と共に記録媒体Ｓをニップして回転する従動ローラである。排出ローラ１２は、搬送ローラ７の下流側に配され、不図示の搬送モータによって駆動される駆動ローラである。拍車７ｂは、記録ヘッド８の下流側に配される搬送ローラ７及び排出ローラ１２と共に記録媒体Ｓを挟持して搬送する。
【００１４】
ガイド１８は、記録媒体Ｓの搬送経路に設けられ、記録媒体Ｓを所定の方向に案内する。インナーガイド１９は、ｙ方向に延在する部材で湾曲した側面を有し、当該側面に沿って記録媒体Ｓを案内する。フラッパ１１は、両面記録動作の際に、記録媒体Ｓが搬送される方向を切り替えるための部材である。排出トレイ１３は、記録動作が完了し排出ローラ１２によって排出された記録媒体Ｓを積載保持するためのトレイである。
【００１５】
本実施形態の記録ヘッド８は、フルラインタイプのカラーインクジェット記録ヘッドであり、記録データに従ってインクを吐出する吐出口が、図１におけるｙ方向に沿って記録媒体Ｓの幅に相当する分だけ複数配列されている。記録ヘッド８が待機位置にあるとき、記録ヘッド８の吐出口面８ａは、図１のように鉛直下方を向きキャップユニット１０によってキャップされている。記録動作を行う際は、後述するプリントコントローラ２０２によって、吐出口面８ａがプラテン９と対向するように記録ヘッド８の向きが変更される。プラテン９は、ｙ方向に延在する平板によって構成され、記録ヘッド８によって記録動作が行われる記録媒体Ｓを背面から支持する。
【００１６】
インクタンクユニット１４は、記録ヘッド８へ供給される４色のインクをそれぞれ貯留する。インク供給ユニット１５は、インクタンクユニット１４と記録ヘッド８を接続する流路の途中に設けられ、記録ヘッド８内のインクの圧力及び流量を適切な範囲に調整する。本実施形態では循環型のインク供給系を採用しており、インク供給ユニット１５は記録ヘッド８へ供給されるインクの圧力と記録ヘッド８から回収されるインクの流量を適切な範囲に調整する。
【００１７】
メンテナンスユニット１６は、キャップユニット１０とワイピングユニット１７を備え、所定のタイミングにこれらを作動させて、記録ヘッド８に対するメンテナンス動作を行う。
【００１８】
以下、上記説明した装置の構成を踏まえ、本発明の好適な実施例について説明する。
【００１９】
図２は、本実施例における、記録装置の制御構成例を示すブロック図である。
【００２０】
記録装置１００は本発明に係る情報処理装置である。ホストＰＣ１９０は、記録装置に対して印刷ジョブの送信等を行う端末装置である。ホストＰＣ１９０と記録装置１００はホストインターフェース１９１で接続している。ホストインターフェース１９１は、無線によって通信するインターフェースであっても有線によって通信するインターフェースで合っても良い。ホストインターフェース１９１は、無線であれば例えば、Ｗｉ−ＦｉやＢｌｕｅｔｏｏｔｈ（登録商標）によって通信し、有線であれば例えば、Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ（ＵＳＢ）や有線ＬＡＮで通信する。
【００２１】
記録装置１００の内部構成を説明する。ＲＯＭ１１５、ＲＡＭ１１７、ＵＩ部１１９及びホストインターフェース１９１は第１の集積回路チップ１１０に接続している。ＲＡＭ１２７、印刷部１３０は第２の集積回路チップ１２０に接続している。第１の集積回路チップ１１０と第２の集積回路チップ１２０は内部バス１８０で接続している。第２の集積回路チップ１２０と印刷部１３０は内部バス１８１で接続している。
【００２２】
ＲＯＭ１１５は、第１の集積回路チップ１１０や第２の集積回路チップ１２０が実行する制御プログラムや組込オペレーティングシステム（ＯＳ）プログラム等を記憶する。本実施形態では、ＲＯＭ１１５に記憶されている各制御プログラムは、ＲＯＭ１１５に記憶されている組込ＯＳの管理下で、スケジューリングやタスクスイッチ等のソフトウェア制御を行う。
【００２３】
ＲＡＭ１１７は、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）やＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等で構成されるメモリである。ＲＡＭ１１７は、プログラム制御変数等のデータや、ユーザが登録した設定値やホストＰＣ１９０の管理データ等のデータを記憶する。なお、ＲＡＭ１１７には、第１の集積回路チップ１１０によるプログラムの実行のための各種ワーク用バッファ領域が設けられている。
【００２４】
ＵＩ部１１９は、各種入力操作画面や、記録装置１００の動作状況画面、ステータス状況画面の表示等を行うことができる。本実施形態では、ＵＩ部１１９は、スイッチやパネルによりユーザによる操作を受け付け、ユーザによって操作が実行されたことを検知する操作部の役割もはたす。
【００２５】
第１の集積回路チップ１１０は、記録装置１００のシステムコントローラであり、ホストＰＣ１９０との通信制御により画像データの受信や応答、ＵＩ部１１９の制御等を行う。
【００２６】
第２の集積回路チップ１２０は、記録装置１００のデバイスコントローラであり、第１の集積回路チップ１１０より受信した画像データを印刷データに変換し印刷制御を行う。なお、第１の集積回路チップ１１０は、例えば、画像データを、ホストＰＣ１９０から印刷ジョブとして受信する。
【００２７】
ＲＡＭ１２７は、第２の集積回路チップ１２０によるプログラム実行のための各種ワーク用バッファ領域を含み、画像データを記憶するための読み書き可能なメモリである。なお、第２の集積回路チップ１２０が実行するプログラムは、ＲＯＭ１１５に格納されており、第２の集積回路チップ１２０は、当該プログラムを第１の集積回路チップ１１０から受信する。
【００２８】
印刷部１３０は、第２の集積回路チップ１２０から受信した印刷データに基づき記録媒体上に記録剤によって画像を形成し、印刷物を生成する。本実施形態では、印刷部１３０は、紙等の記録媒体上にインクを吐出することで画像を形成するインクジェット方式によって印刷物を生成する。
【００２９】
第１の集積回路チップ１１０の内部構成を説明する。
【００３０】
ＣＰＵ１１１は第１の集積回路チップ１１０の中央演算処理装置であり、プログラムに従って処理を実行する。
【００３１】
ホスト通信部１１２はホストＰＣ１９０とのデータ通信を行う。本実施形態では、例えば、ホスト通信部１１２は、ホストＰＣ１９０から印刷ジョブを受信する。
【００３２】
ＵＩ制御部１１３は、ＵＩ部１１９に表示させる画面を制御したり、ＵＩ部１１９に対する操作を検知する。
【００３３】
ＲＯＭコントローラ部１１４は、ＲＯＭ１１５との通信を行う。ＲＡＭコントローラ１１６は、ＲＡＭ１１７との通信を行う。内部通信部１１８は、第２の集積回路チップ１２０との通信を行う。
【００３４】
第２の集積回路チップ１２０の内部構成を説明する。
【００３５】
ＣＰＵ１２１は第２の集積回路チップ１２０の中央演算処理装置であり、プログラムに従って処理を実行する。
【００３６】
内部通信部１２４は、印刷部１３０との通信を行う。ＲＡＭコントローラ１２６は、ＲＡＭ１２７との通信を行う。内部通信部１２８は、第１の集積回路チップ１１０との通信を行う。
【００３７】
印刷部１３０の内部構成を説明する。
【００３８】
内部通信部１３１は、第２の集積回路チップ１２０との通信を行う。印刷制御部１３２は、内部通信部１３１からの制御に基づき、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）１５０との通信及びインク吐出部１６０へのデータ転送を行う。印刷制御部１３２は、ＥＥＰＲＯＭ１５０とＩ２Ｃバスで接続され、ＥＥＰＲＯＭ１５０に対するライト・アクセス／リード・アクセスを実行可能である。印刷制御部１３２は、インク吐出部１６０への吐出データの転送や、インク吐出部１６０の温度の検出及び調節等を行う。
【００３９】
図３は、内部通信部の受信バッファにデータが誤取り込みされたことが、ライト・トランザクションに与える影響を説明するためのブロック図である。
【００４０】
本実施形態では、内部バス１８０としてＰＣＩ−Ｅｘｐｒｅｓｓ（以下ＰＣＩｅ）が用いられているものとする。そのため内部通信部１２４及び内部通信部１３１はＰＣＩｅのＩｎｔｅｌｌｅｃｔｕａｌ  Ｐｒｏｐｅｒｔｙ  Ｃｏｒｅ（以下、ＩＰ）である。送信バッファ３１１は内部通信部１２４の送信バッファであり、受信バッファ３１２は内部通信部１２４の受信バッファである。また、受信バッファ３２１は内部通信部１３１の受信バッファであり、送信バッファ３２２は内部通信部１３１の送信バッファである。なお、内部通信部１１８や内部通信部１２８も同様の構成であり、本発明は、内部通信部１１８や内部通信部１２８間の通信においても適用可能である。
【００４１】
第２の集積回路チップ１２０は、送信バッファ３１１に格納されたデータを受信バッファ３２１に送信することで、印刷部１３０にデータを送信する。ところで、受信バッファ３２１へのデータの送信の際、ＰＣＩｅ通信ラインにノイズが重畳されることにより、受信バッファ３２１へ送信されるデータの内容が変質し、壊れたデータが受信バッファ３２１に受信されてしまうことがある。そして、壊れたデータが、印刷部１３０の内部回路に渡されず、受信バッファ３２１に蓄積されてしまうことがある。
【００４２】
また、例えば、受信バッファ３２１が、巡回冗長検査（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ（ＣＲＣ））等により、受信バッファ３２１に受信されたデータが壊れていないかどうかを確認する機能を有していることがある。このような機能を有している受信バッファ３２１は、受信されたデータが壊れていることを確認したならば、データの再送を送信バッファ３１１に依頼する。送信バッファ３１１はデータの再送が依頼されたならば、先に送信したデータと同じデータを受信バッファ３２１に再送する。なお、このように、再送により回復可能な範囲で壊れている（変質している、エラーが生じている）データが受信されることを、コレクタブル・エラー（Ｃｏｒｒｅｃｔａｂｌｅ・Ｅｒｒｏｒ）という。
【００４３】
しかしながら、再送されたデータを受信した受信バッファ３２１は、壊れたデータを印刷部１３０の内部回路に渡してしまい、再送されたデータを受信バッファ３２１に蓄積させてしまうことがある。なお、印刷部１３０の内部回路に渡されたデータは、受信バッファ３２１から削除される。
【００４４】
上述のようにして、受信バッファ３２１に蓄積されてしまうデータ（壊れたデータや、再送されたデータ）を、以下、誤取り込みデータという。図３（ａ）は、受信バッファ３２１に誤取り込みデータが蓄積された状態の第２の集積回路チップ１２０及び印刷部１３０の図である。
【００４５】
図３（ｂ）は、受信バッファ３２１に誤取り込みデータが蓄積された状態で、第２の集積回路チップ１２０側の内部回路がライト・アクセス（印刷部１３０へのデータの送信のためのアクセス）した場合の第２の集積回路チップ１２０及び印刷部１３０の図である。なお、第２の集積回路チップ１２０側の内部回路とは、例えばＣＰＵ１２１やＤＭＡＣである。印刷部１３０側の内部回路とは、例えば印刷制御部１３２である。
【００４６】
第２の集積回路チップ１２０は、ライトデータを送信バッファ３１１に一度格納し、ＰＣＩｅのプロトコルに従って、ライト先のアドレス等を指定した後、ライトデータを受信バッファ３２１に送信する。ライトデータを受信した受信バッファ３２１は、本来であれば、当該ライトデータを印刷部１３０の内部回路の指定されたアドレスにライト（格納）
するはずである。しかしながら、受信バッファ３２１は、先に受信されたデータを優先して内部回路にライトするため、受信バッファ３２１に誤取り込みデータが存在すると、誤取り込みデータを印刷部１３０の内部回路の指定されたアドレスにライトしてしまう。その結果、誤取り込みデータが受信バッファ３２１から削除され、指定されたライトデータが受信バッファ３２１に蓄積されてしまう。すなわち、所望のアドレスに所望のデータが書き込まれないことがあるという課題が生じる。
【００４７】
図３（ｃ）は、誤取り込みデータがライトデータの代わりに印刷部１３０の内部回路にライトされてしまったことにより、ライトデータが受信バッファ３２１に蓄積された（残された）状態の第２の集積回路チップ１２０及び印刷部１３０の図である。この後、さらに次のライトデータが受信バッファ３２１によって受信されても、当該次のライトデータのライト先のアドレスに、受信バッファ３２１に蓄積されていた前のライトデータがライトされてしまう。すなわち、次のライトデータも、前のライトデータも、所望のアドレスに書き込まれないことがあるという課題がある。
【００４８】
図４は、内部通信部の受信バッファにデータが誤取り込みされたことが、リード・トランザクションに与える影響を説明するためのブロック図である。
【００４９】
図４（ａ）は、受信バッファ３１２に誤取り込みデータが蓄積された状態の第２の集積回路チップ１２０及び印刷部１３０の図である。
【００５０】
図４（ｂ）は、受信バッファ３１２に誤取り込みデータが蓄積された状態で、第２の集積回路チップ１２０側の内部回路がリード・アクセス（印刷部１３０からのデータ受信のためのアクセス）した場合の第２の集積回路チップ１２０及び印刷部１３０の図である。第２の集積回路チップ１２０は、印刷部１３０からデータを受信するために、受信したいデータが格納されているアドレスを指定してリード・リクエストをＰＣＩｅを介して内部通信部１３１に送信する。なお、リード・リクエストは受信バッファ３２１に蓄積されない。内部通信部１３１を介して印刷部１３０の内部回路にリード・リクエストが到達すると、内部通信部１３１は印刷部１３０の内部回路からリードデータを受信する。リードデータは送信バッファ３２２に一度格納され、ＰＣＩｅのプロトコルに従って受信バッファ３１２に送信される。リードデータを受信した受信バッファ３１２は、本来であれば、当該リードデータをリード・リクエストの発行元である第２の集積回路チップ１２０の内部回路に転送するはずである。しかしながら、受信バッファ３１２は、先に受信されたデータを優先して内部回路に転送するため、受信バッファ３１２に誤取り込みデータが存在すると、誤取り込みデータを第２の集積回路チップ１２０の内部回路に転送してしまう。その結果、誤取り込みデータが受信バッファ３１２から削除され、指定されたリードデータが受信バッファ３１２に蓄積されてしまう。すなわち、第２の集積回路チップ１２０の内部回路が、指定したアドレスに格納されているデータとして本来読み出すべきデータを読み出すことができないという課題が生じる。
【００５１】
図４（ｃ）は、誤取り込みデータがリードデータの代わりに第２の集積回路チップ１２０の内部回路にリードされてしまったことにより、リードデータが受信バッファ３１２に蓄積された状態の第２の集積回路チップ１２０及び印刷部１３０の図である。この後、さらに次のリードデータが受信バッファ３１２によって受信されても、当該次のリードデータに優先して、受信バッファ３２１に既に蓄積されていたリードデータが内部回路に転送されてしまう。すなわち、次のリードデータを読み出す際に指定したアドレスから取得したデータが、次のリードデータではなく、前のリードデータとなってしまうという課題がある。
【００５２】
上述の課題を解決するために、本実施形態では、データの誤取り込みが発生している（誤取り込みデータが受信バッファに蓄積されている）ことを検知するための誤取り込み判定処理を実行する。そして、誤取り込み判定処理の結果に応じて、リセット処理を実行する。
【００５３】
図５は、誤取り込み判定処理が実行されている状態の第２の集積回路チップ１２０及び印刷部１３０の図である。
【００５４】
本実施形態では、第２の集積回路チップ１２０は、受信バッファ３２１における誤取り込みデータを検知するために、誤取り込み判定処理のためのライト・トランザクションと、誤取り込み判定処理のためのリード・トランザクションの両方を実行する。
【００５５】
内部回路５００は印刷部１３０の内部回路である。内部回路５００には、読み書き可能な第１のレジスタ（レジスタ５０１）及び第２のレジスタ（レジスタ５０２）が含まれる。なお、レジスタ５０２は、読み出しのみ可能な（リード・オンリー）レジスタであっても良い。本実施形態において受信バッファ３２１及び３１２は、８段の格納領域を有しているものとする。なお、１回のトランザクション（１回のデータ受信）ごとに１段の格納領域が用いられる。図５（ａ）は、誤取り込み判定処理のためのライト・トランザクションの説明図である。
【００５６】
まず第２の集積回路チップ１２０の内部回路に含まれるＣＰＵ１２１は、レジスタ５０１に対する第１の値（ここでは０ｘ５５５５＿５５５５）のライトを、受信バッファ３２１が有する格納領域の段数と同じ回数（本実施形態では８回）行う。すなわち、ＣＰＵ１２１は、受信バッファ３２１が有する格納領域の段数と同じ回数のライトを、同一のアドレスのレジスタを指定して行う。
【００５７】
次にＣＰＵ１２１は、第１の値のライト先と同一のアドレスのレジスタ（ここではレジスタ５０１）に対する、先に書き込んだ第１の値と異なる第２の値（ここでは、０ｘＡＡＡＡ＿ＡＡＡＡ）のライトを１回行う。この結果、レジスタ５０１に書かれている値は、受信バッファ３２１に誤読み込みデータが無い場合、第２の値となる。一方で、レジスタ５０１に書かれている値は、受信バッファ３２１に誤読み込みデータが有る場合、第１の値となる。
【００５８】
これは上述したように、受信バッファ３２１にデータが格納された場合、受信バッファ３２１に先に受信されたデータが印刷部１３０の内部回路に優先的に渡され、レジスタに書き込まれるためである。誤取り込みデータが受信バッファ３２１にある状態でライトが開始されると、まず、誤取り込みデータが受信バッファ３２１からなくなるまで、レジスタ５０１には誤取り込みデータが書き込まれる。そして、誤取り込みデータが受信バッファ３２１からなくなった後のライトにより、第１の値がレジスタ５０１に書き込まれる。結果、第２の値のライト・トランザクション（最後のライト）では、第２の値がレジスタ５０１には書き込まれず、第１の値がレジスタ５０１に書き込まれる。
【００５９】
ここで、誤取り込み判定処理のためのライトとして、受信バッファ３２１が有する格納領域の段数と同じ回数の第１の値のライトを行った後、第２の値のライトを行う理由について説明する。ノイズによるデータの破壊が複数回行われた場合、複数段にわたり誤取り込みデータが受信バッファ３２１に格納されることがある。そして、誤取り込み判定処理のためのライトとして、誤取り込みデータが格納されている格納領域の数以下の回数しか第１の値のライトが行われないとする。その場合、誤取り込みデータが格納されている格納領域の段数がライト回数より多ければ、誤取り込み判定処理のためのライトが終わった後に、レジスタ５０１には、誤取り込みデータが書き込まれていることになる。
【００６０】
ところで、ライトされるデータがノイズにより壊れると、データ内容が変更されるため、例えば、誤取り込みデータの内容が、第１の値や第２の値と偶然同じ値になることもある。そして、例えば、レジスタ５０１に書き込まれた誤取り込みデータが、第１の値や第２の値と偶然同じ値になっている場合は、ＣＰＵ１２１は、後述の判定処理において誤判定を生じさせてしまうことがある。すなわち、ＣＰＵ１２１は、誤取り込みデータを参照して、誤取り込み判定処理を実行しないことが好ましい。
【００６１】
誤取り込み判定処理のためのライトとして、受信バッファ３２１が有する格納領域の段数と同じ回数の第１の値のライトが行われることで、レジスタ５０１の状態は、誤取り込みデータが書き込まれていない状態になる。そのため、誤取り込みデータを参照することによる判定が行われなくなるため、誤判定を抑制できる。
【００６２】
なお、誤取り込み判定処理のためのライトにかかる時間の抑制を優先しても良い。その場合、例えば、誤取り込み判定処理のためのライトとして、受信バッファ３２１が有する格納領域の段数より少ない回数の第１の値のライト行った後、第２の値のライトが実行されても良い。また例えば、誤取り込み判定処理のためのライトとして、１回の第２の値のライトを行い、第１の値のライトを行わなくとも良い。
【００６３】
図５（ｂ）は、誤取り込み判定処理のためのリード・トランザクションの説明図である。誤取り込み判定処理のためのリード・トランザクションは、誤取り込み判定処理のためのライト・トランザクションに続いて実行される。
【００６４】
まずＣＰＵ１２１は、レジスタ５０１に格納されている値のリードを、受信バッファ３１２が有する格納領域の段数より１以上大きい回数（本実施形態では９回）行う。すなわち、ＣＰＵ１２１は、受信バッファ３１２が有する格納領域の段数より１以上大きい回数のリードを、同一のアドレスのレジスタを指定して行う。そして、ＣＰＵ１２１は、リードによりＣＰＵ１２１に転送された値が、第１の値であれば、第１の値の書き込み時に受信バッファ３２１に誤取り込みデータが格納されていたと判定する。なお、第１の値の書き込み時に受信バッファ３２１に誤取り込みデータが格納されていれば、第２の値の書き込み時に受信バッファ３２１に第１の値が格納されていたことになる。そのため、ＣＰＵ１２１は、リードによりＣＰＵ１２１に転送された値が、第１の値であれば、第２の値の書き込み時に受信バッファ３２１に第１の値が格納されていたと判定しても良い。そして、ＣＰＵ１２１は、リードによりＣＰＵ１２１に転送された値が、第２の値であれば、第１の値の書き込み時に受信バッファ３２１に誤取り込みデータが格納されていなかったと判定する。なお、第１の値の書き込み時に受信バッファ３２１に誤取り込みデータが格納されていなければ、第２の値の書き込み時に受信バッファ３２１に第１の値が格納されていなかったことになる。そのため、ＣＰＵ１２１は、リードによりＣＰＵ１２１に転送された値が、第２の値であれば、第２の値の書き込み時に受信バッファ３２１に第１の値が格納されていなかったと判定しても良い。  次にＣＰＵ１２１は、受信バッファ３１２における誤取り込みデータを検知するために、誤取り込み判定処理のためのリード・トランザクションを実行する。具体的には、ＣＰＵ１２１は、レジスタ５０１と異なるアドレスのレジスタ（ここではレジスタ５０２）に格納されている値のリードを１回行う。なお、レジスタ５０２には、ＣＰＵ１２１が把握している第３の値（０ｘＢＢＢＢ＿ＢＢＢＢ）が格納されているものとする。
【００６５】
ＣＰＵ１２１は、リードによりＣＰＵ１２１に転送された値が、第３の値であれば、レジスタ５０１からの読み取り時に受信バッファ３１２に誤取り込みデータが格納されていなかったと判定する。一方、ＣＰＵ１２１は、リードによりＣＰＵ１２１に転送された値が、レジスタ５０１に格納されている値（第１の値か第２の値）であれば、レジスタ５０１からの読み取り時に受信バッファ３１２に誤取り込みデータが格納されていたと判定する。
【００６６】
ここで、誤取り込み判定処理のためのリードとして、受信バッファ３１２が有する格納領域の段数より１大きい回数のリードを行うのは、誤取り込み判定処理のためのライトと同様、誤判定の抑制のためである。
【００６７】
なお、誤取り込み判定処理のためのリードにかかる時間の抑制を優先しても良い。その場合、例えば、誤取り込み判定処理のためのレジスタ５０１からのリードとして、受信バッファ３１２が有する格納領域の段数より１大きい回数より少ない回数のリードを行った後、レジスタ５０２からのリードが実行されても良い。
【００６８】
図６は、データの誤取り込みの判定結果と誤取り込みデータの有無の関係を示す表である。
【００６９】
９回目のリード・リクエストによりＣＰＵ１２１に転送された値が第２の値（０ｘＡＡＡＡ＿ＡＡＡＡ）の場合（６０１、６０３）、第１の値の書き込み時に、受信バッファ３２１に誤取り込みデータが無かったと判定される。一方、９回目のリード・リクエストによりＣＰＵ１２１に転送された値が第１の値（０ｘ５５５５＿５５５５）の場合（６０２、６０４）、第１の値の書き込み時に、受信バッファ３２１に誤取り込みデータが有ったと判定される。また、１０回目のリード・リクエストによりＣＰＵ１２１に転送された値が第３の値（０ｘＢＢＢＢ＿ＢＢＢＢ）の場合（６０１、６０２）、レジスタ５０１からの読み取り時に、受信バッファ３１２に誤取り込みデータが無かったと判定される。一方、１０回目のリード・リクエストによりＣＰＵ１２１に転送された値がそれ以外の値の場合（６０３、６０４）、レジスタ５０１からの読み取り時に、受信バッファ３１２に誤取り込みデータが有ったと判定される。
【００７０】
図７は、記録装置１００によって実行される、上述の誤取り込み判定処理を示すフローチャートである。本フローチャートは、例えば、ＲＯＭ１１５等のメモリに格納されたプログラムを第２の集積回路チップ１２０のＣＰＵ１２１がＲＡＭ１２７に読み出して実行することにより実現される。
【００７１】
まずＣＰＵ１２１は、Ｓ７０１において、印刷部１３０の内部レジスタ５０１の第１のアドレスを格納先として指定して、第１の値のライトを、受信バッファ３２１が有する格納領域の段数と同じ回数実行する。ここで、第１のアドレスは、０ｘ８０００＿００１８であり、第１の値は、０ｘ５５５５＿５５５５であるものとする。
【００７２】
次にＣＰＵ１２１は、Ｓ７０２において、第１のアドレスを格納先として指定して、第２の値（０ｘＡＡＡＡ＿ＡＡＡＡ）のライトを１回実行する。
【００７３】
次にＣＰＵ１２１は、Ｓ７０３において、第１のアドレスから、第１のアドレスに格納されている値を、受信バッファ３１２が有する格納領域の段数と同じ回数リードする。ＣＰＵ１２１は、このリードによってＣＰＵ１２１に転送されたデータについては参照しない。受信バッファ３１２に誤取り込みデータが蓄積されていたとしても、この処理によって受信バッファ３１２から誤取り込みデータが取り除かれるため、誤判定を抑制できる。
【００７４】
次にＣＰＵ１２１は、Ｓ７０４において、第１のアドレスから、第１のアドレスに格納されている値を、１回リードする。ＣＰＵ１２１は、このリードによってＣＰＵ１２１に転送された値をデータ（Ａ）とし、ＲＡＭ１２７等のメモリに保存しておく。Ｓ７０３とＳ７０４により、第１のアドレスから受信バッファ３２１が有する格納領域の段数より１大きい回数のリードが行われる。
【００７５】
次にＣＰＵ１２１は、Ｓ７０５において、第２のアドレス（０ｘ８０００＿００２０）から、第１のアドレスに格納されている値を、１回リードする。なお、第２のアドレスには、ＣＰＵ１２１が予め認識している第３の値（０ｘＢＢＢＢ＿ＢＢＢＢ）が格納されている。
【００７６】
ＣＰＵ１２１は、このリードによってＣＰＵ１２１に転送された値をデータ（Ｂ）とし、ＲＡＭ１２７等のメモリに保存しておく。
【００７７】
次にＣＰＵ１２１は、Ｓ７０６において、データ（Ａ）が第２の値と一致するか否かを判定する。ＣＰＵ１２１は、ＹＥＳ判定である場合には、第２の値のライト時に受信バッファ３２１にデータが既に格納されていなかったと判定し、Ｓ７０７を実行する。一方、ＣＰＵ１２１は、ＮＯ判定である場合には、第２の値のライト時に受信バッファ３２１にデータが既に格納されていたと判定し、Ｓ７０８を実行する。
【００７８】
次にＣＰＵ１２１は、Ｓ７０７において、データ（Ｂ）がＣＰＵ１２１が予め認識している第３の値と一致するか否かを判定する。ＣＰＵ１２１は、ＹＥＳ判定である場合には、第３の値のリード時に受信バッファ３１２にデータが既に格納されていなかったと判定する。すなわち、ＣＰＵ１２１は、誤取り込みデータが第２の集積回路チップ１２０の内部通信部１２４にも印刷部１３０の内部通信部１３１にもなかったことを特定し、誤取り込みデータ検出フラグを立てずに処理を終了する。一方、ＣＰＵ１２１は、ＮＯ判定である場合には、第３の値のリード時に受信バッファ３１２にデータが既に格納されていたと判定し、Ｓ７０８を実行する。
【００７９】
ＣＰＵ１２１は、Ｓ７０８において、誤取り込みデータが第２の集積回路チップ１２０の内部通信部１２４と印刷部１３０の内部通信部１３１のうち少なくとも一方にあったことを特定し、誤取り込みデータ検出フラグを立てて処理を終了する。
【００８０】
図８は、誤取り込みデータが検出された場合に記録装置１００によって実行される回復処理を示すフローチャートである。本フローチャートは、例えば、ＲＯＭ１１５等のメモリに格納されたプログラムを第２の集積回路チップ１２０のＣＰＵ１２１がＲＡＭ１２７に読み出して実行することにより実現される。
【００８１】
ＣＰＵ１２１は、Ｓ８０１において、第２の集積回路チップ１２０の内部通信部１２４及び印刷部１３０の内部通信部１３１をリセットするためのリセット処理を開始する。具体的には、ＣＰＵ１２１は、内部通信部１２４が有する格納領域から、当該格納領域に蓄積されている全てのデータを削除し、当該格納領域を空にする処理を開始する。また、ＣＰＵ１２１は、内部通信部１３１が有する格納領域から、全てのデータが取り除かれるためのリセット信号を内部通信部１３１に送信する。これにより、誤取り込みデータや、誤取り込みデータが存在していたことにより内部回路に送信されずに残っているデータが、それぞれの内部通信部が有する格納領域から削除される。
【００８２】
ＣＰＵ１２１は、Ｓ８０２において、それぞれの内部通信部が有する格納領域が空になったことを特定し、リセット処理を終了（解除）する。
【００８３】
ＣＰＵ１２１は、Ｓ８０３において、第２の集積回路チップ１２０の内部通信部１２４による通信及び印刷部１３０の内部通信部１３１による通信を再開するための通信設定を実行する。当該設定は、具体的には、転送速度の設定や通信に利用されるアドレスの設定等である。
【００８４】
なお、回復処理は、例えば、誤取り込みデータが存在したことをユーザに通知する通知処理等であっても良い。
【００８５】
以下に、本発明の誤取り込み判定処理を含む一連の処理を示すフローチャートについて説明する。すなわち、以下に説明するフローチャートが示す処理が実行される場合に、本発明の誤取り込み判定処理が実行される。
【００８６】
図９は、内部通信部１２４と内部通信部１３１と間の通信時において、記録装置１００によって実行される処理を示すフローチャートである。本フローチャートは、例えば、ＲＯＭ１１５等のメモリに格納されたプログラムを第２の集積回路チップ１２０のＣＰＵ１２１がＲＡＭ１２７に読み出して実行することにより実現される。また、本フローチャートが示す処理は、内部通信部１２４と内部通信部１３１と間の通信が開始された場合に開始される。内部通信部１２４と内部通信部１３１と間の通信は、例えば、内部通信部１２４による、印刷データのライト・トランザクションや、吐出データの履歴情報のリード・トランザクションである。また、内部通信部１２４によるライト・トランザクションが行われる場合は、内部通信部１３１が、コレクタブル・エラーが生じたか否かを巡回冗長検査によって検知しているものとする。また、内部通信部１２４によるリード・トランザクションが行われる場合は、内部通信部１２４が、コレクタブル・エラーが生じたか否かを巡回冗長検査によって検知しているものとする。コレクタブル・エラーが生じたことが検知された場合、コレクタブル・エラーの通知のための割り込みがＣＰＵ１２１に対して発生する。巡回冗長検査は、１回のトランザクション毎に実行される。
【００８７】
ＣＰＵ１２１は、Ｓ９０１において、コレクタブル・エラーの通知のための割り込みが発生したか否かを判定する。ＣＰＵ１２１は、ＹＥＳ判定であれば、コレクタブル・エラーが発生したことを特定し、Ｓ９０２の処理を実行し、ＮＯ判定であれば、コレクタブル・エラーが発生していないことを特定し、Ｓ９０１の処理を再び実行する。
【００８８】
ＣＰＵ１２１は、Ｓ９０２において、内部通信部１２４と内部通信部１３１と間の通信を一時停止する。
【００８９】
ＣＰＵ１２１は、Ｓ９０３において、図７に示す誤取り込み判定処理を実行する。
【００９０】
ＣＰＵ１２１は、Ｓ９０４において、Ｓ９０３の誤取り込み判定処理により、内部通信部１２４と内部通信部１３１のうち少なくとも一方において誤取り込みデータがあることが検出されたか否かを判定する。具体的にはＣＰＵ１２１は、誤取り込みデータ検出フラグが立っているかどうかを判定する。ＣＰＵ１２１は、ＹＥＳ判定であれば、Ｓ９０５の処理を実行し、ＮＯ判定であれば、Ｓ９０６の処理を実行する。なお、コレクタブル・エラーが発生したにも関わらず、誤取り込みデータがないケースとは、コレクタブル・エラーの発生により再送されたデータが、内部回路に正しく受け渡されたケースである。
【００９１】
ＣＰＵ１２１は、Ｓ９０５において、図８に示す回復処理を実行する。なおこの時、ＣＰＵ１２１は、誤取り込みデータの存在により適切にライトもしくはリードされなかった情報を、再度ライトもしくはリードしても良い。
【００９２】
ＣＰＵ１２１は、Ｓ９０６において、Ｓ９０２で停止した通信を再開する。
【００９３】
図１０は、印刷制御部１３２とＥＥＰＲＯＭ１５０と間の通信（ライト）時において、記録装置１００によって実行される処理を示すフローチャートである。本フローチャートは、例えば、ＲＯＭ１１５等のメモリに格納されたプログラムを第２の集積回路チップ１２０のＣＰＵ１２１がＲＡＭ１２７に読み出して実行することにより実現される。すなわち、印刷制御部１３２とＥＥＰＲＯＭ１５０と間の通信は、内部通信部１２４と内部通信部１３１と間の通信を介してＣＰＵ１２１により遠隔で制御される。また、本フローチャートが示す処理は、印刷制御部１３２とＥＥＰＲＯＭ１５０との間の通信が開始される場合に開始される。
【００９４】
ＣＰＵ１２１は、Ｓ１００１において、ＥＥＰＲＯＭ１５０との通信に利用するＥＥＰＲＯＭ１５０内の格納領域のアドレス（ライト先のアドレス）を設定する。具体的には、ＣＰＵ１２１は、ライト先のアドレスに関する情報を内部通信部１２４によって内部通信部１３１に対してライトする。なお、内部通信部１３１に対してライトされた情報は、印刷制御部１３２に受け渡される。
【００９５】
ＣＰＵ１２１は、Ｓ１００２において、Ｓ１００１において設定したアドレスに書き込むデータを設定する。具体的には、ＣＰＵ１２１は、Ｓ１００１において設定したアドレスに書き込むデータを内部通信部１２４によって内部通信部１３１に対してライトする。
【００９６】
ＣＰＵ１２１は、Ｓ１００３において、Ｓ１００１において設定したデータを、ライトするためのライト設定を実行する。具体的には、ＣＰＵ１２１は、ライト設定に関するデータを内部通信部１２４によって内部通信部１３１に対してライトする。
【００９７】
ＣＰＵ１２１は、Ｓ１００４において、図７に示す誤取り込み判定処理を実行する。
【００９８】
ＣＰＵ１２１は、Ｓ１００５において、Ｓ１００４の誤取り込み判定処理により、内部通信部１２４と内部通信部１３１のうち少なくとも一方において誤取り込みデータがあることが検出されたか否かを判定する。具体的にはＣＰＵ１２１は、誤取り込みデータ検出フラグが立っているかどうかを判定する。ＣＰＵ１２１は、ＹＥＳ判定であれば、Ｓ１００６の処理を実行し、ＮＯ判定であれば、Ｓ１００７の処理を実行する。
【００９９】
ＣＰＵ１２１は、Ｓ１００６において、図８に示す回復処理を実行する。その後、ＣＰＵ１２１は、Ｓ１００１からの処理を再び実行する。
【０１００】
ＣＰＵ１２１は、Ｓ１００７において、Ｓ１００１〜Ｓ１００３で通信されたデータに基づいて、Ｓ１００２において設定されたデータを印刷制御部１３２によってＥＥＰＲＯＭ１５０に対してライトする。
【０１０１】
なお、Ｓ１００１〜Ｓ１００３における内部通信部１２４と内部通信部１３１と間の通信時には、図９に示す処理が実行されている。
【０１０２】
図９に示す処理では、コレクタブル・エラーの通知のための割り込みが発生した場合に、誤取り込み判定処理（Ｓ９０３）が実行される。しかしながら、コレクタブル・エラーが発生した時間と、割り込みがＣＰＵ１２１に届く時間との間に時差が生じる場合がある。すなわち、コレクタブル・エラーが発生した時間と、Ｓ９０３の処理が実行される時間との間に時差が生じる場合がある。すなわち、この時差においては、誤取り込みデータが発生していても、誤取り込みデータが検知されないが、この時差において通信されたデータに基づいて、印刷制御部１３２とＥＥＰＲＯＭ１５０との間の通信が実行されてしまうことがある。その場合、ＥＥＰＲＯＭ１５０の正しいアドレスに正しいデータがライトされないことがある。この事態を回避するために、本実施形態では、印刷制御部１３２とＥＥＰＲＯＭ１５０との間の通信が実行される前（Ｓ１００４）にも、誤取り込み判定処理を実行する。これにより、ＥＥＰＲＯＭ１５０の正しいアドレスに正しいデータがライトされないことを抑制できる。
【０１０３】
なお、ＥＥＰＲＯＭ１５０に対して書き込み可能な回数は限られている。すなわち、受信バッファ３１２に誤取り込みデータがあり正確な書き込みが行われない状態にも関わらずＥＥＰＲＯＭ１５０に対して書き込みをしてしまうと、ＥＥＰＲＯＭ１５０の寿命を無駄に縮めてしまう。本処理により、ＥＥＰＲＯＭ１５０への書き込み前に誤取り込み判定処理が実行されるため、ＥＥＰＲＯＭ１５０の寿命が無駄に縮待ってしまうことを抑制できる。
【０１０４】
図１１は、印刷制御部１３２とＥＥＰＲＯＭ１５０と間の通信（リード）時において、記録装置１００によって実行される処理を示すフローチャートである。本フローチャートは、例えば、ＲＯＭ１１５等のメモリに格納されたプログラムを第２の集積回路チップ１２０のＣＰＵ１２１がＲＡＭ１２７に読み出して実行することにより実現される。すなわち、印刷制御部１３２とＥＥＰＲＯＭ１５０と間の通信は、内部通信部１２４と内部通信部１３１と間の通信を介してＣＰＵ１２１により遠隔で制御される。また、本フローチャートが示す処理は、印刷制御部１３２とＥＥＰＲＯＭ１５０との間の通信が開始される場合に開始される。
【０１０５】
ＣＰＵ１２１は、Ｓ１１０１において、ＥＥＰＲＯＭ１５０との通信に利用するＥＥＰＲＯＭ１５０内の格納領域のアドレス（リード先のアドレス）を設定する。具体的には、ＣＰＵ１２１は、リード先のアドレスに関する情報を内部通信部１２４によって内部通信部１３１に対してライトする。
【０１０６】
ＣＰＵ１２１は、Ｓ１１０２において、Ｓ１１０１において設定したアドレスからデータをリードするためのリード設定を実行する。具体的には、ＣＰＵ１２１は、リード設定に関するデータを内部通信部１２４によって内部通信部１３１に対してライトする。
【０１０７】
ＣＰＵ１２１は、Ｓ１１０３において、図７に示す誤取り込み判定処理を実行する。
【０１０８】
ＣＰＵ１２１は、Ｓ１１０４において、Ｓ１１０３の誤取り込み判定処理により、内部通信部１２４と内部通信部１３１のうち少なくとも一方において誤取り込みデータがあることが検出されたか否かを判定する。具体的にはＣＰＵ１２１は、誤取り込みデータ検出フラグが立っているかどうかを判定する。ＣＰＵ１２１は、ＹＥＳ判定であれば、Ｓ１１０５の処理を実行し、ＮＯ判定であれば、Ｓ１１０６の処理を実行する。
【０１０９】
ＣＰＵ１２１は、Ｓ１１０５において、図８に示す回復処理を実行する。その後、ＣＰＵ１２１は、Ｓ１１０１からの処理を再び実行する。
【０１１０】
ＣＰＵ１２１は、Ｓ１１０６において、Ｓ１１０１、Ｓ１１０２で通信されたデータに基づいて、Ｓ１１０１において設定されたアドレスからデータを印刷制御部１３２によってＥＥＰＲＯＭ１５０からリードする。印刷制御部１３２によってリードされたデータは、内部通信部１２４と内部通信部１３１と間の通信を介してＣＰＵ１２１に送信される。
【０１１１】
このように、本実施形態では、印刷制御部１３２とＥＥＰＲＯＭ１５０との間の通信が実行される前（Ｓ１１０３）にも、誤取り込み判定処理を実行する。これは、図１０の説明にて述べたように、コレクタブル・エラーが発生した時間と、Ｓ９０３の処理が実行される時間との間に時差が生じる場合があるためである。これにより、ＥＥＰＲＯＭ１５０の正しいアドレスからデータがリードされないことを抑制できる。
【０１１２】
なお、ＥＥＰＲＯＭ１５０から情報を読み取り可能な回数は限られている。すなわち、受信バッファ３２１に誤取り込みデータがあり正確な読み取りが行われない状態にも関わらずＥＥＰＲＯＭ１５０から読み取りをしてしまうと、ＥＥＰＲＯＭ１５０の寿命を無駄に縮めてしまう。本処理により、ＥＥＰＲＯＭ１５０からの読み取り前に誤取り込み判定処理が実行されるため、ＥＥＰＲＯＭ１５０の寿命が無駄に縮待ってしまうことを抑制できる。
【０１１３】
図１２は、印刷制御部１３２とインク吐出部１６０と間の通信（ヘッド温度パラメータ設定）時において、記録装置１００によって実行される処理を示すフローチャートである。本フローチャートは、例えば、ＲＯＭ１１５等のメモリに格納されたプログラムを第２の集積回路チップ１２０のＣＰＵ１２１がＲＡＭ１２７に読み出して実行することにより実現される。すなわち、印刷制御部１３２とインク吐出部１６０と間の通信は、内部通信部１２４と内部通信部１３１と間の通信を介してＣＰＵ１２１により遠隔で制御される。また、本フローチャートが示す処理は、印刷制御部１３２とインク吐出部１６０との間の通信が開始される場合に開始される。
【０１１４】
ＣＰＵ１２１は、Ｓ１２０１において、インク吐出のためのインク吐出部１６０の昇温温度パラメータを設定する。具体的には、ＣＰＵ１２１は、インク吐出のためのインク吐出部１６０の昇温温度パラメータを内部通信部１２４によって内部通信部１３１に対してライトする。
【０１１５】
ＣＰＵ１２１は、Ｓ１２０２において、図７に示す誤取り込み判定処理を実行する。
【０１１６】
ＣＰＵ１２１は、Ｓ１２０３において、Ｓ１２０２の誤取り込み判定処理により、内部通信部１２４と内部通信部１３１のうち少なくとも一方において誤取り込みデータがあることが検出されたか否かを判定する。具体的にはＣＰＵ１２１は、誤取り込みデータ検出フラグが立っているかどうかを判定する。ＣＰＵ１２１は、ＹＥＳ判定であれば、Ｓ１２０４の処理を実行し、ＮＯ判定であれば、Ｓ１２０５の処理を実行する。
【０１１７】
ＣＰＵ１２１は、Ｓ１２０４において、図８に示す回復処理を実行する。その後、ＣＰＵ１２１は、Ｓ１２０１からの処理を再び実行する。
【０１１８】
ＣＰＵ１２１は、Ｓ１２０５において、Ｓ１２０１で通信されたデータに基づいて、昇温温度パラメータを、インク吐出部１６０にライトする。インク吐出部１６０は、昇温温度パラメータのライトを受け付けた場合、昇温温度パラメータに基づいて、インク吐出部１６０の温度を調整する。
【０１１９】
このように、本実施形態では、印刷制御部１３２とインク吐出部１６０との間の通信が実行される前（Ｓ１２０２）にも、誤取り込み判定処理を実行する。これは、図１０の説明にて述べたように、コレクタブル・エラーが発生した時間と、Ｓ９０３の処理が実行される時間との間に時差が生じる場合があるためである。これにより、インク吐出部１６０に正しいデータがライトされないことを抑制できる。
【０１２０】
また、昇温温度パラメータとして、インク吐出部１６０に正しいデータがライトされない場合、インク吐出部１６０の温度が適切に調整されず、印刷品位等に影響が生じてしまうことがある。本処理により、昇温温度パラメータが書き込まれる前に誤取り込み判定処理が実行されるため、印刷品位等に影響が生じてしまうことを抑制できる。
【０１２１】
なお、昇温温度パラメータが通信される前以外にも、重要なデータが通信される前には、誤取り込み判定処理が実行されることが好ましい。
【０１２２】
また、本実施形態では、第２の集積回路チップ１２０と印刷部１３０の間の通信において誤取り込み検知処理が実行される形態を説明したが、これに限定されない。例えば、第１の集積回路チップ１１０と第２の集積回路チップ１２０の間の通信においても同様に誤取り込み検知処理を実行可能である。
【０１２３】
（第２実施形態）
第１実施形態では、内部通信部１２４と内部通信部１３１のうち少なくとも一方において誤取り込みデータがあることが検出された場合に、内部通信部１２４と内部通信部１３１の両方に対してリセット処理が実行される形態について説明した。本実施形態では、誤取り込み判定処理において取得されたデータに基づいて、リセット処理が実行される領域を変更する形態について説明する。
【０１２４】
なお、回復処理以外の処理のシーケンスや、記録装置１００の構成は、第１実施形態と同様であるものとする。
【０１２５】
図１３は、誤取り込みデータが検出された場合に記録装置１００によって実行される回復処理を示すフローチャートである。本フローチャートは、例えば、ＲＯＭ１１５等のメモリに格納されたプログラムを第２の集積回路チップ１２０のＣＰＵ１２１がＲＡＭ１２７に読み出して実行することにより実現される。
【０１２６】
ＣＰＵ１２１は、Ｓ１３０１において、印刷部１３０の受信バッファ３２１に誤取り込みデータがなかったか否かを判定する。具体的には、ＣＰＵ１２１は、データ（Ａ）が第２の値と一致するか否かを判定する。ＣＰＵ１２１は、ＹＥＳ判定である場合には、Ｓ１３０３を実行し、ＮＯ判定である場合には、Ｓ１３０４を実行する。
【０１２７】
ＣＰＵ１２１は、Ｓ１３０２において、第２の集積回路チップ１２０の受信バッファ３１２に誤取り込みデータがなかったか否かを判定する。具体的には、ＣＰＵ１２１は、データ（Ｂ）が第３の値と一致するか否かを判定する。ＣＰＵ１２１は、ＹＥＳ判定である場合には、Ｓ１３０４を実行し、ＮＯ判定である場合には、Ｓ１３０５を実行する。
【０１２８】
ＣＰＵ１２１は、Ｓ１３０３において、第２の集積回路チップ１２０の受信バッファ３１２をリセットするためのリセット処理を開始する。具体的には、ＣＰＵ１２１は、第２の集積回路チップ１２０の受信バッファ３１２が有する格納領域から、全てのデータを取り除き、当該格納領域を空にする処理を開始する。なお、Ｓ１３０１がＹＥＳ判定である場合に必ずＳ１３０３が実行されるのは、図７の処理で既に誤取り込みデータが検知されている以上、Ｓ１３０１がＹＥＳ判定である場合には、受信バッファ３１２に誤取り込みデータがあったためである。
【０１２９】
ＣＰＵ１２１は、Ｓ１３０４において、印刷部１３０の受信バッファ３２１をリセットするためのリセット処理を開始する。具体的には、ＣＰＵ１２１は、印刷部１３０の受信バッファ３２１が有する格納領域から、全てのデータが取り除かれるためのリセット信号を内部通信部１３１に送信する。
【０１３０】
ＣＰＵ１２１は、Ｓ１３０５において、第２の集積回路チップ１２０の受信バッファ３１２及び印刷部１３０の受信バッファ３２１をリセットするためのリセット処理を開始する。
【０１３１】
ＣＰＵ１２１は、Ｓ１３０６において、リセット対象の受信バッファが有する格納領域が空になったことを特定し、リセット処理を終了（解除）する。
【０１３２】
ＣＰＵ１２１は、Ｓ１３０７において、第２の集積回路チップ１２０の内部通信部１２４による通信及び印刷部１３０の内部通信部１３１による通信を再開するための通信設定を実行する。
【０１３３】
図６に示すように、誤取り込み判定処理によって取得されるデータ（Ａ）やデータ（Ｂ）の内容に応じて、いずれの受信バッファに誤取り込みデータが存在していたかが特定される。そのため、本実施形態により、誤取り込みデータが存在していた受信バッファにのみ、リセット処理を実行することができる。すなわち、回復処理に係る時間を短縮することができる。
【０１３４】
なお、本実施形態は、Ｓ７０６がＮＯ判定の場合と、Ｓ７０７がＮＯ判定の場合とで、同じフラグが立っている形態としたが、例えば、それぞれの場合で異なるフラグが立つような形態としても良い。そして、回復処理では、いずれのフラグが立っているかどうかを判定することで、Ｓ１３０３〜Ｓ１３０５のうちいずれの処理を実行するかを判定しても良い。
【０１３５】
（その他の実施形態）
上述では、誤取り込み判定処理においてレジスタ５０１からのリードが行われた後に、レジスタ５０２からのリードが行われる形態を説明したが、この形態に限定されない。誤取り込み判定処理において、レジスタ５０２からのリードが先に行われ、受信バッファ３１２に誤取り込みデータが格納されていたか否かを先に判定して良い。
【０１３６】
上述の実施形態における誤取り込み判定処理は、ライト・トランザクションとリード・トランザクションの両方を実行する。この誤取り込み判定処理は、第２の集積回路チップ１２０がライトのみを実行するパターンと、第２の集積回路チップ１２０がライトとリードを並行して実行するパターンにおいて特に有効である。なお、第２の集積回路チップ１２０がリードのみを実行するパターンにおいては、ＣＰＵ１２１は、ライト・トランザクションを実行せず、リード・トランザクションのみ実行する誤取り込み判定処理を実行して良い。
【０１３７】
具体的には、ＣＰＵ１２１は、誤取り込み判定処理におけるライト・トランザクションを実行せず、レジスタ５０２以外のレジスタに格納されている値のリードを、受信バッファ３２１が有する格納領域の段数と同じ回数行う。すなわち、ＣＰＵ１２１は、受信バッファ３２１が有する格納領域の段数と同じ回数のリードを、同一のアドレスのレジスタを指定して行う。その後、ＣＰＵ１２１は、レジスタ５０２に格納されている値のリードを、一回行う。そして、ＣＰＵ１２１は、最後に実行したリードによってＣＰＵ１２１に転送された値が、第３の値であれば、受信バッファ３１２に誤取り込みデータが格納されていなかったと判定する。すなわち、ＣＰＵ１２１は、第３の値のリード時に、既に受信バッファ３１２にデータが格納されていなかったと判定する。一方、ＣＰＵ１２１は、最後に実行したリードによってＣＰＵ１２１に転送された値が、第３の値以外の値であれば、受信バッファ３１２に誤取り込みデータが格納されていなかったと判定する。すなわち、ＣＰＵ１２１は、第３の値のリード時に、既に受信バッファ３１２にデータが格納されていたと判定する。
【０１３８】
なお、誤取り込み判定処理のためのリードにかかる時間の抑制を優先しても良い。その場合、例えば、誤取り込み判定処理のためのレジスタ５０２以外のレジスタからのリードとして、受信バッファ３１２が有する格納領域の段数と同じ回数より少ない回数のリードを行った後、レジスタ５０２からのリードが実行されても良い。また例えば、レジスタ５０２に格納されている値のリードを１回のみ行う形態とし、レジスタ５０２以外のレジスタからのリードを行わない形態としても良い。
【０１３９】
また、上述では、コレクタブル・エラーの通知のための割り込みが発生した場合、誤取り込み判定処理におけるライト・トランザクションが開始されていた。例えば、割り込みの発生源に応じて、処理が切り替えられる構成でも良い。具体的には、受信バッファ３２１が受信したデータにコレクタブル・エラーが発生したことにより割り込みが生じていたならば、誤取り込み判定処理におけるライト・トランザクション及びリード・トランザクションが開始されても良い。また、受信バッファ３１２が受信したデータにコレクタブル・エラーが発生したことにより割り込みが生じていたならば、誤取り込み判定処理におけるライト・トランザクションを実行せず、リード・トランザクションのみ実行しても良い。
【符号の説明】
【０１４０】
１１０  第１の集積回路チップ
１２０  第２の集積回路チップ
１３０  印刷部
【図１】
2019152907.tif 000003
【図２】
2019152907.tif 000004
【図３】
2019152907.tif 000005
【図４】
2019152907.tif 000006
【図５】
2019152907.tif 000007
【図６】
2019152907.tif 000008
【図７】
2019152907.tif 000009
【図８】
2019152907.tif 000010
【図９】
2019152907.tif 000011
【図１０】
2019152907.tif 000012
【図１１】
2019152907.tif 000013
【図１２】
2019152907.tif 000014
【図１３】
2019152907.tif 000015