図面 (/)

技術 情報処理装置、制御方法及びプログラム

出願人 キヤノン株式会社
発明者 久我剛山内一徳
出願日 2018年2月28日 (2年0ヶ月経過) 出願番号 2018-035524
公開日 2019年9月12日 (6ヶ月経過) 公開番号 2019-152907
状態 未査定
技術分野 情報転送方式 付属装置、全体制御 プリンティングのための記録情報の処理 FAX画像情報の記憶
主要キーワード 取り込み判定 インナーガイド リセット対象 取り込みデータ 入力操作画面 平積み ライト設定 スマートホン
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2019年9月12日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (14)

課題

受信バッファに誤取り込みデータが格納されていたことを特定することを目的とする情報処理装置制御方法及びプログラムを提供する。

解決手段

情報処理装置は、所定の記憶領域の第1のアドレスに格納されているデータが第2受信バッファによって受信されたことに応じて少なくとも1つのプロセッサー転送されたデータに基づいて、第1のデータが第1受信バッファに送信された時に第1受信バッファに既にデータが格納されていたか否かを判定する判定処理を実行する判定手段を有する。

概要

背景

受信バッファを有する情報処理装置が知られている。そして、そのような情報処理装置においては、受信バッファによって、データの通信が行われる(特許文献1参照)。

概要

受信バッファに誤取り込みデータが格納されていたことを特定することを目的とする情報処理装置、制御方法及びプログラムを提供する。情報処理装置は、所定の記憶領域の第1のアドレスに格納されているデータが第2受信バッファによって受信されたことに応じて少なくとも1つのプロセッサー転送されたデータに基づいて、第1のデータが第1受信バッファに送信された時に第1受信バッファに既にデータが格納されていたか否かを判定する判定処理を実行する判定手段を有する。

目的

本発明は、上述の課題を解決するために、受信バッファに誤取り込みデータが格納されていたことを特定することを目的とする

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

(分野番号表示ON)※整理標準化データをもとに当社作成

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

少なくとも1つのプロセッサーと、所定の記憶領域と、データを受信し、受信したデータを前記所定の記憶領域に格納する第1受信バッファと、データを受信し、受信したデータを前記少なくとも1つのプロセッサーに転送する第2受信バッファと、を有する情報処理装置であって、前記所定の記憶領域の第1のアドレス格納先として指定して、前記第1のデータを前記第1受信バッファに送信する送信手段と、前記所定の記憶領域の前記第1のアドレスに格納されているデータを、前記第2受信バッファによって、前記第1のデータが前記第1受信バッファに送信された後に受信する受信手段と、前記所定の記憶領域の前記第1のアドレスに格納されているデータが前記第2受信バッファによって受信されたことに応じて前記少なくとも1つのプロセッサーに転送されたデータに基づいて、前記第1のデータが前記第1受信バッファに送信された時に前記第1受信バッファに既にデータが格納されていたか否かを判定する判定処理を実行する判定手段と、を有することを特徴とする情報処理装置。

請求項2

前記第1のデータが前記第1受信バッファに送信された時に前記第1受信バッファに既にデータが格納されていたと判定された場合、所定の処理を実行する実行手段を更に有することを特徴とする請求項1に記載の情報処理装置。

請求項3

前記所定の処理は、前記第1の受信バッファに格納されているデータを削除する処理であることを特徴とする請求項2に記載の情報処理装置。

請求項4

前記所定の記憶領域の前記第1のアドレスに格納されているデータが前記第2受信バッファによって受信されたことに応じて前記少なくとも1つのプロセッサーに転送されたデータが、前記第1のデータである場合、前記第1のデータが前記第1受信バッファに送信された時に前記第1受信バッファに既にデータが格納されていなかったと判定され、前記所定の記憶領域の前記第1のアドレスに格納されているデータが前記第2受信バッファによって受信されたことに応じて前記少なくとも1つのプロセッサーに転送されたデータが、前記第1のデータでない場合、前記第1のデータが前記第1受信バッファに送信された時に前記第1受信バッファに既にデータが格納されていたと判定されることを特徴とする請求項1乃至3のいずれか記載の情報処理装置。

請求項5

前記所定の記憶領域の前記第1のアドレスが格納先として指定されて、前記第1のデータと異なる第2のデータが前記第1受信バッファに、前記第1のデータが前記第1受信バッファに送信される前に送信され、前記所定の記憶領域の前記第1のアドレスに格納されているデータが、前記第2受信バッファによって、前記第1のデータ及び前記第2のデータが前記第1受信バッファに送信された後に受信されることを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。

請求項6

前記所定の記憶領域の前記第1のアドレスが格納先として指定されて、前記第1受信バッファが有する格納領域の段数と同じ回数、前記第2のデータが前記第1受信バッファに、前記第1のデータが前記第1受信バッファに送信される前に送信され、前記第1受信バッファが実行する1回のデータ受信において、1段の前記格納領域が用いられることを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。

請求項7

前記第1受信バッファが受信したデータにエラーが生じているかどうかを判定するエラー判定手段と、前記第1受信バッファが受信したデータにエラーが生じていると判定された場合に、前記判定処理が実行されることを特徴とする請求項1乃至6のいずれか1項に記載の情報処理装置。

請求項8

前記第1受信バッファが受信したデータにエラーが生じている場合に発行される割り込みを、前記少なくとも1つのプロセッサーにより受け付ける受け付け手段をさらに有し、前記割り込みが前記少なくとも1つのプロセッサーにより受け付けられた場合、前記判定処理が実行されることを特徴とする請求項7に記載の情報処理装置。

請求項9

巡回冗長検査により、前記第1受信バッファが受信したデータにエラーが生じているかどうかが判定されることを特徴とする請求項7又は8に記載の情報処理装置。

請求項10

前記第1受信バッファがデータを受信することに基づいて前記所定の記憶領域に格納された所定のデータを、前記所定の記憶領域と異なる他の記憶領域に送信する第2送信手段をさらに有し、前記所定のデータが、前記他の記憶領域に送信される前に、前記判定処理が実行されることを特徴とする請求項1乃至9のいずれか1項に記載の情報処理装置。

請求項11

前記他の記憶領域は、ElectricallyErasableProgrammableRead−OnlyMemoryであることを特徴とする請求項10に記載の情報処理装置。

請求項12

前記所定のデータは、前記情報処理装置が有するいずれかの構成の温度を調節するためのデータであることを特徴とする請求項10に記載の情報処理装置。

請求項13

前記所定の記憶領域の前記第1のアドレスと異なる第2のアドレスに格納されているデータを、前記第2受信バッファによって受信する第2受信手段と、前記所定の記憶領域の前記第2のアドレスに格納されているデータが前記第2受信バッファによって受信されたことに応じて前記少なくとも1つのプロセッサーに転送されたデータに基づいて、前記所定の記憶領域の前記第2のアドレスに格納されているデータが前記第2受信バッファに送信された時に前記第2受信バッファに既にデータが格納されていたか否かを判定する第2判定処理を実行する第2判定手段と、をさらに有することを特徴とする請求項1乃至12のいずれか1項に記載の情報処理装置。

請求項14

前記所定の記憶領域の前記第2のアドレスに格納されているデータが前記第2受信バッファに送信された時に前記第2受信バッファに既にデータが格納されていたと判定された場合、特定の処理を実行する第2実行手段と、をさらに有することを特徴とする請求項13に記載の情報処理装置。

請求項15

前記特定の処理は、前記第2の受信バッファに格納されているデータを削除する処理であることを特徴とする請求項14に記載の情報処理装置。

請求項16

前記所定の記憶領域の前記第2のアドレスには、第3のデータが格納されており、前記所定の記憶領域の前記第2のアドレスに格納されているデータが前記第2受信バッファによって受信されたことに応じて前記少なくとも1つのプロセッサーに転送されたデータが、前記第3のデータである場合、前記所定の記憶領域の前記第2のアドレスに格納されているデータが前記第2受信バッファに送信された時に前記第2受信バッファに既にデータが格納されていなかったと判定され、前記所定の記憶領域の前記第2のアドレスに格納されているデータが前記第2受信バッファによって受信されたことに応じて前記少なくとも1つのプロセッサーに転送されたデータが、前記第3のデータでない場合、前記所定の記憶領域の前記第2のアドレスに格納されているデータが前記第2受信バッファに送信された時に前記第2受信バッファに既にデータが格納されていたと判定されることを特徴とする請求項13乃至15のいずれか1項に記載の情報処理装置。

請求項17

前記所定の記憶領域の前記第2のアドレスに格納されているデータが、前記第2受信バッファによって、前記所定の記憶領域の前記第1のアドレスに格納されているデータが前記第2受信バッファによって受信された後に受信されることを特徴とする請求項13乃至16のいずれか1項に記載の情報処理装置。

請求項18

前記所定の記憶領域の前記第2のアドレスに格納されているデータが、前記第2受信バッファによって、前記第2受信バッファが有する格納領域の段数と同じ回数、前記所定の記憶領域の前記第1のアドレスに格納されているデータが前記第2受信バッファによって受信された後に受信され、前記第2受信バッファが実行する1回のデータ受信において、1段の前記格納領域が用いられることを特徴とする請求項13乃至17のいずれか1項に記載の情報処理装置。

請求項19

前記所定の記憶領域と異なる他の記憶領域から送信された特定のデータを、前記第2受信バッファによって受信する第2受信手段をさらに有し、前記特定のデータが前記第2受信バッファによって受信される前に、前記第2判定処理が実行されることを特徴とする請求項13乃至18のいずれか1項に記載の情報処理装置。

請求項20

記録剤によって記録媒体印刷を実行する印刷手段をさらに有することを特徴とする請求項1乃至19のいずれか1項に記載の情報処理装置。

請求項21

少なくとも1つのプロセッサーと、所定の記憶領域と、データを受信し、受信したデータを前記少なくとも1つのプロセッサーに転送する受信バッファと、を有する情報処理装置であって、前記所定の記憶領域の所定のアドレスに格納されているデータを、前記受信バッファによって受信する受信手段と、前記所定の記憶領域の前記所定のアドレスに格納されているデータが前記受信バッファによって受信されたことに応じて前記少なくとも1つのプロセッサーに転送されたデータに基づいて、前記所定のデータが前記受信バッファに送信された時に前記受信バッファに既にデータが格納されていたか否かを判定する判定処理を実行する判定手段と、を有することを特徴とする情報処理装置。

請求項22

前記所定のデータが前記受信バッファに送信された時に前記受信バッファに既にデータが格納されていたと判定された場合、所定の処理を実行する実行手段と、をさらに有することを特徴とする請求項21に記載の情報処理装置。

請求項23

前記所定の処理は、前記受信バッファに格納されているデータを削除する処理であることを特徴とする請求項22に記載の情報処理装置。

請求項24

前記所定の記憶領域の前記所定のアドレスには、所定のデータが格納されており、前記所定の記憶領域の前記所定のアドレスに格納されているデータが前記受信バッファによって受信されたことに応じて前記少なくとも1つのプロセッサーに転送されたデータが、前記所定のデータである場合、前記所定のデータが前記受信バッファに送信された時に前記受信バッファに既にデータが格納されていなかったと判定され、前記所定の記憶領域の前記所定のアドレスに格納されているデータが前記受信バッファによって受信されたことに応じて前記少なくとも1つのプロセッサーに転送されたデータが、前記所定のデータでない場合、前記所定のデータが前記受信バッファに送信された時に前記受信バッファに既にデータが格納されていたと判定されることを特徴とする請求項21乃至23のいずれか1項に記載の情報処理装置。

請求項25

前記所定の記憶領域の前記所定のアドレスに格納されているデータが、前記受信バッファによって、前記所定の記憶領域の前記所定のアドレスと異なる他のアドレスに格納されているデータが前記受信バッファによって受信された後に受信されることを特徴とする請求項24に記載の情報処理装置。

請求項26

前記所定の記憶領域の前記所定のアドレスに格納されているデータが、前記受信バッファによって、前記受信バッファが有する格納領域の段数と同じ回数、前記所定の記憶領域の前記他のアドレスに格納されているデータが前記受信バッファによって受信された後に受信されることを特徴とする請求項25に記載の情報処理装置。

請求項27

前記受信バッファが受信したデータにエラーが生じているかどうかを判定するエラー判定手段と、前記受信バッファが受信したデータにエラーが生じていると判定された場合に、前記判定処理が実行されることを特徴とする請求項21乃至26のいずれか1項に記載の情報処理装置。

請求項28

前記受信バッファが受信したデータにエラーが生じている場合に発行される割り込みを、前記少なくとも1つのプロセッサーにより受け付ける受け付け手段をさらに有し、前記割り込みが前記少なくとも1つのプロセッサーにより受け付けられた場合、前記判定処理が実行されることを特徴とする請求項27に記載の情報処理装置。

請求項29

巡回冗長検査により、前記第1受信バッファが受信したデータにエラーが生じているかどうかが判定されることを特徴とする請求項27又は28に記載の情報処理装置。

請求項30

前記所定の記憶領域と異なる他の記憶領域から送信された特定のデータを、前記受信バッファによって受信する第2受信手段をさらに有し、前記特定のデータが前記受信バッファによって受信される前に、前記判定処理が実行されることを特徴とする請求項21乃至29のいずれか1項に記載の情報処理装置。

請求項31

記録剤によって記録媒体に印刷を実行する印刷手段をさらに有することを特徴とする請求項21乃至30のいずれか1項に記載の情報処理装置。

請求項32

少なくとも1つのプロセッサーと、所定の記憶領域と、データを受信し、受信したデータを前記所定の記憶領域に格納する第1受信バッファと、データを受信し、受信したデータを前記少なくとも1つのプロセッサーに転送する第2受信バッファと、を有する情報処理装置の制御方法であって、前記所定の記憶領域の第1のアドレスを格納先として指定して、前記第1のデータを前記第1受信バッファに送信する送信ステップと、前記所定の記憶領域の前記第1のアドレスに格納されているデータを、前記第2受信バッファによって、前記第1のデータが前記第1受信バッファに送信された後に受信する受信ステップと、前記所定の記憶領域の前記第1のアドレスに格納されているデータが前記第2受信バッファによって受信されたことに応じて前記少なくとも1つのプロセッサーに転送されたデータに基づいて、前記第1のデータが前記第1受信バッファに送信された時に前記第1受信バッファに既にデータが格納されていたか否かを判定する判定処理を実行する判定ステップと、を有することを特徴とする制御方法。

請求項33

少なくとも1つのプロセッサーと、所定の記憶領域と、データを受信し、受信したデータを前記少なくとも1つのプロセッサーに転送する受信バッファと、を有する情報処理装置の制御方法であって、前記所定の記憶領域の所定のアドレスに格納されているデータを、前記受信バッファによって受信する受信ステップと、前記所定の記憶領域の前記所定のアドレスに格納されているデータが前記受信バッファによって受信されたことに応じて前記少なくとも1つのプロセッサーに転送されたデータに基づいて、前記所定のデータが前記受信バッファに送信された時に前記受信バッファに既にデータが格納されていたか否かを判定する判定処理を実行する判定ステップと、を有することを特徴とする制御方法。

請求項34

請求項1乃至31のいずれか1項に記載の情報処理装置の各手段としてコンピュータを動作させることを特徴とするプログラム

技術分野

0001

本発明は、情報処理装置制御方法及びプログラムに関する。

背景技術

0002

受信バッファを有する情報処理装置が知られている。そして、そのような情報処理装置においては、受信バッファによって、データの通信が行われる(特許文献1参照)。

先行技術

0003

特開平9−97164号公報

発明が解決しようとする課題

0004

ところで、受信バッファによるデータ通信時に外来からのノイズが生じることで、通信されたデータが変質してしまうことがある。そして、データの変質が原因となって受信バッファに誤取り込みデータ蓄積した状態で、受信バッファによるデータ通信が実行されると、適正なデータ通信が実行されないことがある。受信バッファに誤取り込みデータが格納されていたならば、ユーザへの通知や、受信バッファを空にする等の処理が実行されるべきである。しかしながら、いずれの処理が実行されるにせよ、受信バッファに誤取り込みデータが格納されていたことを特定することが必要となる。受信バッファによる通信を行う情報処理装置が普及するにつれ、受信バッファに誤取り込みデータが格納されていたことを特定することが一層求められている。

0005

そこで本発明は、上述の課題を解決するために、受信バッファに誤取り込みデータが格納されていたことを特定することを目的とする。

課題を解決するための手段

0006

上記の課題を解決するための本発明の情報処理装置は、
少なくとも1つのプロセッサーと、
所定の記憶領域と、
データを受信し、受信したデータを前記所定の記憶領域に格納する第1受信バッファと、
データを受信し、受信したデータを前記少なくとも1つのプロセッサーに転送する第2受信バッファと、
を有する情報処理装置であって、
前記所定の記憶領域の第1のアドレス格納先として指定して、前記第1のデータを前記第1受信バッファに送信する送信手段と、
前記所定の記憶領域の前記第1のアドレスに格納されているデータを、前記第2受信バッファによって、前記第1のデータが前記第1受信バッファに送信された後に受信する受信手段と、
前記所定の記憶領域の前記第1のアドレスに格納されているデータが前記第2受信バッファによって受信されたことに応じて前記少なくとも1つのプロセッサーに転送されたデータに基づいて、前記第1のデータが前記第1受信バッファに送信された時に前記第1受信バッファに既にデータが格納されていたか否かを判定する判定処理を実行する判定手段と、を有することを特徴とする。

発明の効果

0007

本発明により、受信バッファに誤取り込みデータが格納されていたことを特定することができる。

図面の簡単な説明

0008

情報処理装置の内部構成図である。
情報処理装置の制御構成を示すブロック図である。
内部通信部の受信バッファにデータが誤取り込みされたことが、ライトトランザクションに与える影響を説明するためのブロック図である。
内部通信部の受信バッファにデータが誤取り込みされたことが、リード・トランザクションに与える影響を説明するためのブロック図である。
取り込み判定処理が実行されている状態の第2の集積回路チップ及び印刷部のブロック図である。
データの誤取り込みの判定結果と誤取り込みデータの有無の関係を示す表である。
情報処理装置によって実行される誤取り込み判定処理を示すフローチャートである。
誤取り込みデータが検出された場合に情報処理装置によって実行される回復処理を示すフローチャートである。
内部通信部間の通信時において、情報処理装置によって実行される処理を示すフローチャートである。
印刷制御部とEEPROMと間の通信(ライト)時において、情報処理装置によって実行される処理を示すフローチャートである。
印刷制御部とEEPROMと間の通信(リード)時において、情報処理装置によって実行される処理を示すフローチャートである。
印刷制御部とインク吐出部と間の通信時において、情報処理装置によって実行される処理を示すフローチャートである。
誤取り込みデータが検出された場合に情報処理装置によって実行される回復処理を示すフローチャートである。

実施例

0009

(第1実施形態)
本実施形態の情報処理装置について説明する。情報処理装置として、本実施形態では、印刷サービスを提供可能な記録装置を例示しているが、これに限定されない。情報処理装置として、バッファを用いて装置内部ないし外部でデータ通信を行うことが可能な装置であれば、種々のものを適用可能である。例えば、プリンタであれば、インクジェットプリンタフルカラーレーザービームプリンタモノクロプリンタ等を適用可能である。また、プリンタのみならず複写機ファクシミリ装置スマートホン携帯端末パーソナルコンピュータタブレット端末、PDA、デジタルカメラ音楽再生デバイスストレージプロジェクタ等、印刷以外のサービスを提供可能な装置にも適用可能である。

0010

図1は、本実施形態の情報処理装置であるインクジェット記録装置100(以下、記録装置100)の内部構成図である。図において、x方向は水平方向、y方向(垂直方向)は後述する記録ヘッド8において吐出口が配列される方向、z方向は鉛直方向をそれぞれ示す。

0011

記録装置100は、プリント部2とスキャナ部3を備える複合機であり、記録動作と読取動作に関する様々な処理を、プリント部2とスキャナ部3で個別にあるいは連動して実行することができる。スキャナ部3は、ADFオートドキュメントフィーダ)とFBSフラットベッドスキャナ)を備えており、ADFで自動給紙される原稿読み取りと、ユーザによってFBSの原稿台に置かれた原稿の読み取り(スキャン)を行うことができる。なお、本実施形態はプリント部2とスキャナ部3を併せ持った複合機であるが、スキャナ部3を備えない形態であってもよい。図1は、記録装置100が記録動作も読取動作も行っていない待機状態にあるときを示す。

0012

プリント部2において、筐体4の鉛直方向下方の底部には、記録媒体カットシート)Sを収容するための第1カセット5Aと第2カセット5Bが着脱可能に設置されている。第1カセット5AにはA4サイズまでの比較的小さな記録媒体が、第2カセット5BにはA3サイズまでの比較的大きな記録媒体が、平積みに収容されている。第1カセット5A近傍には、収容されている記録媒体を1枚ずつ分離して給送するための第1給送ユニット6Aが設けられている。同様に、第2カセット5B近傍には、第2給送ユニット6Bが設けられている。記録動作が行われる際にはいずれか一方のカセットから選択的に記録媒体Sが給送される。

0013

搬送ローラ7、排出ローラ12、ピンチローラ7a、拍車7b、ガイド18、インナーガイド19およびフラッパ11は、記録媒体Sを所定の方向に導くための搬送機構である。搬送ローラ7は、記録ヘッド8の上流側および下流側に配され、不図示の搬送モータによって駆動される駆動ローラである。ピンチローラ7aは、搬送ローラ7と共に記録媒体Sをニップして回転する従動ローラである。排出ローラ12は、搬送ローラ7の下流側に配され、不図示の搬送モータによって駆動される駆動ローラである。拍車7bは、記録ヘッド8の下流側に配される搬送ローラ7及び排出ローラ12と共に記録媒体Sを挟持して搬送する。

0014

ガイド18は、記録媒体Sの搬送経路に設けられ、記録媒体Sを所定の方向に案内する。インナーガイド19は、y方向に延在する部材で湾曲した側面を有し、当該側面に沿って記録媒体Sを案内する。フラッパ11は、両面記録動作の際に、記録媒体Sが搬送される方向を切り替えるための部材である。排出トレイ13は、記録動作が完了し排出ローラ12によって排出された記録媒体Sを積載保持するためのトレイである。

0015

本実施形態の記録ヘッド8は、フルラインタイプカラーインクジェット記録ヘッドであり、記録データに従ってインクを吐出する吐出口が、図1におけるy方向に沿って記録媒体Sの幅に相当する分だけ複数配列されている。記録ヘッド8が待機位置にあるとき、記録ヘッド8の吐出口面8aは、図1のように鉛直下方を向きキャップユニット10によってキャップされている。記録動作を行う際は、後述するプリントコントローラ202によって、吐出口面8aがプラテン9と対向するように記録ヘッド8の向きが変更される。プラテン9は、y方向に延在する平板によって構成され、記録ヘッド8によって記録動作が行われる記録媒体Sを背面から支持する。

0016

インクタンクユニット14は、記録ヘッド8へ供給される4色のインクをそれぞれ貯留する。インク供給ユニット15は、インクタンクユニット14と記録ヘッド8を接続する流路の途中に設けられ、記録ヘッド8内のインクの圧力及び流量を適切な範囲に調整する。本実施形態では循環型インク供給系を採用しており、インク供給ユニット15は記録ヘッド8へ供給されるインクの圧力と記録ヘッド8から回収されるインクの流量を適切な範囲に調整する。

0017

メンテナンスユニット16は、キャップユニット10とワイピングユニット17を備え、所定のタイミングにこれらを作動させて、記録ヘッド8に対するメンテナンス動作を行う。

0018

以下、上記説明した装置の構成を踏まえ、本発明の好適な実施例について説明する。

0019

図2は、本実施例における、記録装置の制御構成例を示すブロック図である。

0020

記録装置100は本発明に係る情報処理装置である。ホストPC190は、記録装置に対して印刷ジョブの送信等を行う端末装置である。ホストPC190と記録装置100はホストインターフェース191で接続している。ホストインターフェース191は、無線によって通信するインターフェースであっても有線によって通信するインターフェースで合っても良い。ホストインターフェース191は、無線であれば例えば、Wi−FiやBluetooth(登録商標)によって通信し、有線であれば例えば、Universal Serial Bus(USB)や有線LANで通信する。

0021

記録装置100の内部構成を説明する。ROM115、RAM117、UI部119及びホストインターフェース191は第1の集積回路チップ110に接続している。RAM127、印刷部130は第2の集積回路チップ120に接続している。第1の集積回路チップ110と第2の集積回路チップ120は内部バス180で接続している。第2の集積回路チップ120と印刷部130は内部バス181で接続している。

0022

ROM115は、第1の集積回路チップ110や第2の集積回路チップ120が実行する制御プログラムや組込オペレーティングシステム(OS)プログラム等を記憶する。本実施形態では、ROM115に記憶されている各制御プログラムは、ROM115に記憶されている組込OSの管理下で、スケジューリングタスクスイッチ等のソフトウェア制御を行う。

0023

RAM117は、SRAM(Static Random Access Memory)やDRAM(Dynamic Random Access Memory)等で構成されるメモリである。RAM117は、プログラム制御変数等のデータや、ユーザが登録した設定値やホストPC190の管理データ等のデータを記憶する。なお、RAM117には、第1の集積回路チップ110によるプログラムの実行のための各種ワーク用バッファ領域が設けられている。

0024

UI部119は、各種入力操作画面や、記録装置100の動作状況画面ステータス状況画面の表示等を行うことができる。本実施形態では、UI部119は、スイッチやパネルによりユーザによる操作を受け付け、ユーザによって操作が実行されたことを検知する操作部の役割もはたす。

0025

第1の集積回路チップ110は、記録装置100のシステムコントローラであり、ホストPC190との通信制御により画像データの受信や応答、UI部119の制御等を行う。

0026

第2の集積回路チップ120は、記録装置100のデバイスコントローラであり、第1の集積回路チップ110より受信した画像データを印刷データに変換し印刷制御を行う。なお、第1の集積回路チップ110は、例えば、画像データを、ホストPC190から印刷ジョブとして受信する。

0027

RAM127は、第2の集積回路チップ120によるプログラム実行のための各種ワーク用バッファ領域を含み、画像データを記憶するための読み書き可能なメモリである。なお、第2の集積回路チップ120が実行するプログラムは、ROM115に格納されており、第2の集積回路チップ120は、当該プログラムを第1の集積回路チップ110から受信する。

0028

印刷部130は、第2の集積回路チップ120から受信した印刷データに基づき記録媒体上に記録剤によって画像を形成し、印刷物を生成する。本実施形態では、印刷部130は、紙等の記録媒体上にインクを吐出することで画像を形成するインクジェット方式によって印刷物を生成する。

0029

第1の集積回路チップ110の内部構成を説明する。

0030

CPU111は第1の集積回路チップ110の中央演算処理装置であり、プログラムに従って処理を実行する。

0031

ホスト通信部112はホストPC190とのデータ通信を行う。本実施形態では、例えば、ホスト通信部112は、ホストPC190から印刷ジョブを受信する。

0032

UI制御部113は、UI部119に表示させる画面を制御したり、UI部119に対する操作を検知する。

0033

ROMコントローラ部114は、ROM115との通信を行う。RAMコントローラ116は、RAM117との通信を行う。内部通信部118は、第2の集積回路チップ120との通信を行う。

0034

第2の集積回路チップ120の内部構成を説明する。

0035

CPU121は第2の集積回路チップ120の中央演算処理装置であり、プログラムに従って処理を実行する。

0036

内部通信部124は、印刷部130との通信を行う。RAMコントローラ126は、RAM127との通信を行う。内部通信部128は、第1の集積回路チップ110との通信を行う。

0037

印刷部130の内部構成を説明する。

0038

内部通信部131は、第2の集積回路チップ120との通信を行う。印刷制御部132は、内部通信部131からの制御に基づき、EEPROM(Electrically Erasable Programmable Read−Only Memory)150との通信及びインク吐出部160へのデータ転送を行う。印刷制御部132は、EEPROM150とI2Cバスで接続され、EEPROM150に対するライト・アクセス/リード・アクセスを実行可能である。印刷制御部132は、インク吐出部160への吐出データの転送や、インク吐出部160の温度の検出及び調節等を行う。

0039

図3は、内部通信部の受信バッファにデータが誤取り込みされたことが、ライト・トランザクションに与える影響を説明するためのブロック図である。

0040

本実施形態では、内部バス180としてPCI−Express(以下PCIe)が用いられているものとする。そのため内部通信部124及び内部通信部131はPCIeのIntellectual Property Core(以下、IP)である。送信バッファ311は内部通信部124の送信バッファであり、受信バッファ312は内部通信部124の受信バッファである。また、受信バッファ321は内部通信部131の受信バッファであり、送信バッファ322は内部通信部131の送信バッファである。なお、内部通信部118や内部通信部128も同様の構成であり、本発明は、内部通信部118や内部通信部128間の通信においても適用可能である。

0041

第2の集積回路チップ120は、送信バッファ311に格納されたデータを受信バッファ321に送信することで、印刷部130にデータを送信する。ところで、受信バッファ321へのデータの送信の際、PCIe通信ラインにノイズが重畳されることにより、受信バッファ321へ送信されるデータの内容が変質し、壊れたデータが受信バッファ321に受信されてしまうことがある。そして、壊れたデータが、印刷部130の内部回路に渡されず、受信バッファ321に蓄積されてしまうことがある。

0042

また、例えば、受信バッファ321が、巡回冗長検査(Cyclic Redundancy Check(CRC))等により、受信バッファ321に受信されたデータが壊れていないかどうかを確認する機能を有していることがある。このような機能を有している受信バッファ321は、受信されたデータが壊れていることを確認したならば、データの再送を送信バッファ311に依頼する。送信バッファ311はデータの再送が依頼されたならば、先に送信したデータと同じデータを受信バッファ321に再送する。なお、このように、再送により回復可能な範囲で壊れている(変質している、エラーが生じている)データが受信されることを、コレクタブル・エラー(Correctable・Error)という。

0043

しかしながら、再送されたデータを受信した受信バッファ321は、壊れたデータを印刷部130の内部回路に渡してしまい、再送されたデータを受信バッファ321に蓄積させてしまうことがある。なお、印刷部130の内部回路に渡されたデータは、受信バッファ321から削除される。

0044

上述のようにして、受信バッファ321に蓄積されてしまうデータ(壊れたデータや、再送されたデータ)を、以下、誤取り込みデータという。図3(a)は、受信バッファ321に誤取り込みデータが蓄積された状態の第2の集積回路チップ120及び印刷部130の図である。

0045

図3(b)は、受信バッファ321に誤取り込みデータが蓄積された状態で、第2の集積回路チップ120側の内部回路がライト・アクセス(印刷部130へのデータの送信のためのアクセス)した場合の第2の集積回路チップ120及び印刷部130の図である。なお、第2の集積回路チップ120側の内部回路とは、例えばCPU121やDMACである。印刷部130側の内部回路とは、例えば印刷制御部132である。

0046

第2の集積回路チップ120は、ライトデータを送信バッファ311に一度格納し、PCIeのプロトコルに従って、ライト先のアドレス等を指定した後、ライトデータを受信バッファ321に送信する。ライトデータを受信した受信バッファ321は、本来であれば、当該ライトデータを印刷部130の内部回路の指定されたアドレスにライト(格納)
するはずである。しかしながら、受信バッファ321は、先に受信されたデータを優先して内部回路にライトするため、受信バッファ321に誤取り込みデータが存在すると、誤取り込みデータを印刷部130の内部回路の指定されたアドレスにライトしてしまう。その結果、誤取り込みデータが受信バッファ321から削除され、指定されたライトデータが受信バッファ321に蓄積されてしまう。すなわち、所望のアドレスに所望のデータが書き込まれないことがあるという課題が生じる。

0047

図3(c)は、誤取り込みデータがライトデータの代わりに印刷部130の内部回路にライトされてしまったことにより、ライトデータが受信バッファ321に蓄積された(残された)状態の第2の集積回路チップ120及び印刷部130の図である。この後、さらに次のライトデータが受信バッファ321によって受信されても、当該次のライトデータのライト先のアドレスに、受信バッファ321に蓄積されていた前のライトデータがライトされてしまう。すなわち、次のライトデータも、前のライトデータも、所望のアドレスに書き込まれないことがあるという課題がある。

0048

図4は、内部通信部の受信バッファにデータが誤取り込みされたことが、リード・トランザクションに与える影響を説明するためのブロック図である。

0049

図4(a)は、受信バッファ312に誤取り込みデータが蓄積された状態の第2の集積回路チップ120及び印刷部130の図である。

0050

図4(b)は、受信バッファ312に誤取り込みデータが蓄積された状態で、第2の集積回路チップ120側の内部回路がリード・アクセス(印刷部130からのデータ受信のためのアクセス)した場合の第2の集積回路チップ120及び印刷部130の図である。第2の集積回路チップ120は、印刷部130からデータを受信するために、受信したいデータが格納されているアドレスを指定してリード・リクエストをPCIeを介して内部通信部131に送信する。なお、リード・リクエストは受信バッファ321に蓄積されない。内部通信部131を介して印刷部130の内部回路にリード・リクエストが到達すると、内部通信部131は印刷部130の内部回路からリードデータを受信する。リードデータは送信バッファ322に一度格納され、PCIeのプロトコルに従って受信バッファ312に送信される。リードデータを受信した受信バッファ312は、本来であれば、当該リードデータをリード・リクエストの発行元である第2の集積回路チップ120の内部回路に転送するはずである。しかしながら、受信バッファ312は、先に受信されたデータを優先して内部回路に転送するため、受信バッファ312に誤取り込みデータが存在すると、誤取り込みデータを第2の集積回路チップ120の内部回路に転送してしまう。その結果、誤取り込みデータが受信バッファ312から削除され、指定されたリードデータが受信バッファ312に蓄積されてしまう。すなわち、第2の集積回路チップ120の内部回路が、指定したアドレスに格納されているデータとして本来読み出すべきデータを読み出すことができないという課題が生じる。

0051

図4(c)は、誤取り込みデータがリードデータの代わりに第2の集積回路チップ120の内部回路にリードされてしまったことにより、リードデータが受信バッファ312に蓄積された状態の第2の集積回路チップ120及び印刷部130の図である。この後、さらに次のリードデータが受信バッファ312によって受信されても、当該次のリードデータに優先して、受信バッファ321に既に蓄積されていたリードデータが内部回路に転送されてしまう。すなわち、次のリードデータを読み出す際に指定したアドレスから取得したデータが、次のリードデータではなく、前のリードデータとなってしまうという課題がある。

0052

上述の課題を解決するために、本実施形態では、データの誤取り込みが発生している(誤取り込みデータが受信バッファに蓄積されている)ことを検知するための誤取り込み判定処理を実行する。そして、誤取り込み判定処理の結果に応じて、リセット処理を実行する。

0053

図5は、誤取り込み判定処理が実行されている状態の第2の集積回路チップ120及び印刷部130の図である。

0054

本実施形態では、第2の集積回路チップ120は、受信バッファ321における誤取り込みデータを検知するために、誤取り込み判定処理のためのライト・トランザクションと、誤取り込み判定処理のためのリード・トランザクションの両方を実行する。

0055

内部回路500は印刷部130の内部回路である。内部回路500には、読み書き可能な第1のレジスタ(レジスタ501)及び第2のレジスタ(レジスタ502)が含まれる。なお、レジスタ502は、読み出しのみ可能な(リード・オンリー)レジスタであっても良い。本実施形態において受信バッファ321及び312は、8段の格納領域を有しているものとする。なお、1回のトランザクション(1回のデータ受信)ごとに1段の格納領域が用いられる。図5(a)は、誤取り込み判定処理のためのライト・トランザクションの説明図である。

0056

まず第2の集積回路チップ120の内部回路に含まれるCPU121は、レジスタ501に対する第1の値(ここでは0x5555_5555)のライトを、受信バッファ321が有する格納領域の段数と同じ回数(本実施形態では8回)行う。すなわち、CPU121は、受信バッファ321が有する格納領域の段数と同じ回数のライトを、同一のアドレスのレジスタを指定して行う。

0057

次にCPU121は、第1の値のライト先と同一のアドレスのレジスタ(ここではレジスタ501)に対する、先に書き込んだ第1の値と異なる第2の値(ここでは、0xAAAA_AAAA)のライトを1回行う。この結果、レジスタ501に書かれている値は、受信バッファ321に誤読み込みデータが無い場合、第2の値となる。一方で、レジスタ501に書かれている値は、受信バッファ321に誤読み込みデータが有る場合、第1の値となる。

0058

これは上述したように、受信バッファ321にデータが格納された場合、受信バッファ321に先に受信されたデータが印刷部130の内部回路に優先的に渡され、レジスタに書き込まれるためである。誤取り込みデータが受信バッファ321にある状態でライトが開始されると、まず、誤取り込みデータが受信バッファ321からなくなるまで、レジスタ501には誤取り込みデータが書き込まれる。そして、誤取り込みデータが受信バッファ321からなくなった後のライトにより、第1の値がレジスタ501に書き込まれる。結果、第2の値のライト・トランザクション(最後のライト)では、第2の値がレジスタ501には書き込まれず、第1の値がレジスタ501に書き込まれる。

0059

ここで、誤取り込み判定処理のためのライトとして、受信バッファ321が有する格納領域の段数と同じ回数の第1の値のライトを行った後、第2の値のライトを行う理由について説明する。ノイズによるデータの破壊が複数回行われた場合、複数段にわたり誤取り込みデータが受信バッファ321に格納されることがある。そして、誤取り込み判定処理のためのライトとして、誤取り込みデータが格納されている格納領域の数以下の回数しか第1の値のライトが行われないとする。その場合、誤取り込みデータが格納されている格納領域の段数がライト回数より多ければ、誤取り込み判定処理のためのライトが終わった後に、レジスタ501には、誤取り込みデータが書き込まれていることになる。

0060

ところで、ライトされるデータがノイズにより壊れると、データ内容が変更されるため、例えば、誤取り込みデータの内容が、第1の値や第2の値と偶然同じ値になることもある。そして、例えば、レジスタ501に書き込まれた誤取り込みデータが、第1の値や第2の値と偶然同じ値になっている場合は、CPU121は、後述の判定処理において誤判定を生じさせてしまうことがある。すなわち、CPU121は、誤取り込みデータを参照して、誤取り込み判定処理を実行しないことが好ましい。

0061

誤取り込み判定処理のためのライトとして、受信バッファ321が有する格納領域の段数と同じ回数の第1の値のライトが行われることで、レジスタ501の状態は、誤取り込みデータが書き込まれていない状態になる。そのため、誤取り込みデータを参照することによる判定が行われなくなるため、誤判定を抑制できる。

0062

なお、誤取り込み判定処理のためのライトにかかる時間の抑制を優先しても良い。その場合、例えば、誤取り込み判定処理のためのライトとして、受信バッファ321が有する格納領域の段数より少ない回数の第1の値のライト行った後、第2の値のライトが実行されても良い。また例えば、誤取り込み判定処理のためのライトとして、1回の第2の値のライトを行い、第1の値のライトを行わなくとも良い。

0063

図5(b)は、誤取り込み判定処理のためのリード・トランザクションの説明図である。誤取り込み判定処理のためのリード・トランザクションは、誤取り込み判定処理のためのライト・トランザクションに続いて実行される。

0064

まずCPU121は、レジスタ501に格納されている値のリードを、受信バッファ312が有する格納領域の段数より1以上大きい回数(本実施形態では9回)行う。すなわち、CPU121は、受信バッファ312が有する格納領域の段数より1以上大きい回数のリードを、同一のアドレスのレジスタを指定して行う。そして、CPU121は、リードによりCPU121に転送された値が、第1の値であれば、第1の値の書き込み時に受信バッファ321に誤取り込みデータが格納されていたと判定する。なお、第1の値の書き込み時に受信バッファ321に誤取り込みデータが格納されていれば、第2の値の書き込み時に受信バッファ321に第1の値が格納されていたことになる。そのため、CPU121は、リードによりCPU121に転送された値が、第1の値であれば、第2の値の書き込み時に受信バッファ321に第1の値が格納されていたと判定しても良い。そして、CPU121は、リードによりCPU121に転送された値が、第2の値であれば、第1の値の書き込み時に受信バッファ321に誤取り込みデータが格納されていなかったと判定する。なお、第1の値の書き込み時に受信バッファ321に誤取り込みデータが格納されていなければ、第2の値の書き込み時に受信バッファ321に第1の値が格納されていなかったことになる。そのため、CPU121は、リードによりCPU121に転送された値が、第2の値であれば、第2の値の書き込み時に受信バッファ321に第1の値が格納されていなかったと判定しても良い。 次にCPU121は、受信バッファ312における誤取り込みデータを検知するために、誤取り込み判定処理のためのリード・トランザクションを実行する。具体的には、CPU121は、レジスタ501と異なるアドレスのレジスタ(ここではレジスタ502)に格納されている値のリードを1回行う。なお、レジスタ502には、CPU121が把握している第3の値(0xBBBB_BBBB)が格納されているものとする。

0065

CPU121は、リードによりCPU121に転送された値が、第3の値であれば、レジスタ501からの読み取り時に受信バッファ312に誤取り込みデータが格納されていなかったと判定する。一方、CPU121は、リードによりCPU121に転送された値が、レジスタ501に格納されている値(第1の値か第2の値)であれば、レジスタ501からの読み取り時に受信バッファ312に誤取り込みデータが格納されていたと判定する。

0066

ここで、誤取り込み判定処理のためのリードとして、受信バッファ312が有する格納領域の段数より1大きい回数のリードを行うのは、誤取り込み判定処理のためのライトと同様、誤判定の抑制のためである。

0067

なお、誤取り込み判定処理のためのリードにかかる時間の抑制を優先しても良い。その場合、例えば、誤取り込み判定処理のためのレジスタ501からのリードとして、受信バッファ312が有する格納領域の段数より1大きい回数より少ない回数のリードを行った後、レジスタ502からのリードが実行されても良い。

0068

図6は、データの誤取り込みの判定結果と誤取り込みデータの有無の関係を示す表である。

0069

回目のリード・リクエストによりCPU121に転送された値が第2の値(0xAAAA_AAAA)の場合(601、603)、第1の値の書き込み時に、受信バッファ321に誤取り込みデータが無かったと判定される。一方、9回目のリード・リクエストによりCPU121に転送された値が第1の値(0x5555_5555)の場合(602、604)、第1の値の書き込み時に、受信バッファ321に誤取り込みデータが有ったと判定される。また、10回目のリード・リクエストによりCPU121に転送された値が第3の値(0xBBBB_BBBB)の場合(601、602)、レジスタ501からの読み取り時に、受信バッファ312に誤取り込みデータが無かったと判定される。一方、10回目のリード・リクエストによりCPU121に転送された値がそれ以外の値の場合(603、604)、レジスタ501からの読み取り時に、受信バッファ312に誤取り込みデータが有ったと判定される。

0070

図7は、記録装置100によって実行される、上述の誤取り込み判定処理を示すフローチャートである。本フローチャートは、例えば、ROM115等のメモリに格納されたプログラムを第2の集積回路チップ120のCPU121がRAM127に読み出して実行することにより実現される。

0071

まずCPU121は、S701において、印刷部130の内部レジスタ501の第1のアドレスを格納先として指定して、第1の値のライトを、受信バッファ321が有する格納領域の段数と同じ回数実行する。ここで、第1のアドレスは、0x8000_0018であり、第1の値は、0x5555_5555であるものとする。

0072

次にCPU121は、S702において、第1のアドレスを格納先として指定して、第2の値(0xAAAA_AAAA)のライトを1回実行する。

0073

次にCPU121は、S703において、第1のアドレスから、第1のアドレスに格納されている値を、受信バッファ312が有する格納領域の段数と同じ回数リードする。CPU121は、このリードによってCPU121に転送されたデータについては参照しない。受信バッファ312に誤取り込みデータが蓄積されていたとしても、この処理によって受信バッファ312から誤取り込みデータが取り除かれるため、誤判定を抑制できる。

0074

次にCPU121は、S704において、第1のアドレスから、第1のアドレスに格納されている値を、1回リードする。CPU121は、このリードによってCPU121に転送された値をデータ(A)とし、RAM127等のメモリに保存しておく。S703とS704により、第1のアドレスから受信バッファ321が有する格納領域の段数より1大きい回数のリードが行われる。

0075

次にCPU121は、S705において、第2のアドレス(0x8000_0020)から、第1のアドレスに格納されている値を、1回リードする。なお、第2のアドレスには、CPU121が予め認識している第3の値(0xBBBB_BBBB)が格納されている。

0076

CPU121は、このリードによってCPU121に転送された値をデータ(B)とし、RAM127等のメモリに保存しておく。

0077

次にCPU121は、S706において、データ(A)が第2の値と一致するか否かを判定する。CPU121は、YES判定である場合には、第2の値のライト時に受信バッファ321にデータが既に格納されていなかったと判定し、S707を実行する。一方、CPU121は、NO判定である場合には、第2の値のライト時に受信バッファ321にデータが既に格納されていたと判定し、S708を実行する。

0078

次にCPU121は、S707において、データ(B)がCPU121が予め認識している第3の値と一致するか否かを判定する。CPU121は、YES判定である場合には、第3の値のリード時に受信バッファ312にデータが既に格納されていなかったと判定する。すなわち、CPU121は、誤取り込みデータが第2の集積回路チップ120の内部通信部124にも印刷部130の内部通信部131にもなかったことを特定し、誤取り込みデータ検出フラグを立てずに処理を終了する。一方、CPU121は、NO判定である場合には、第3の値のリード時に受信バッファ312にデータが既に格納されていたと判定し、S708を実行する。

0079

CPU121は、S708において、誤取り込みデータが第2の集積回路チップ120の内部通信部124と印刷部130の内部通信部131のうち少なくとも一方にあったことを特定し、誤取り込みデータ検出フラグを立てて処理を終了する。

0080

図8は、誤取り込みデータが検出された場合に記録装置100によって実行される回復処理を示すフローチャートである。本フローチャートは、例えば、ROM115等のメモリに格納されたプログラムを第2の集積回路チップ120のCPU121がRAM127に読み出して実行することにより実現される。

0081

CPU121は、S801において、第2の集積回路チップ120の内部通信部124及び印刷部130の内部通信部131をリセットするためのリセット処理を開始する。具体的には、CPU121は、内部通信部124が有する格納領域から、当該格納領域に蓄積されている全てのデータを削除し、当該格納領域を空にする処理を開始する。また、CPU121は、内部通信部131が有する格納領域から、全てのデータが取り除かれるためのリセット信号を内部通信部131に送信する。これにより、誤取り込みデータや、誤取り込みデータが存在していたことにより内部回路に送信されずに残っているデータが、それぞれの内部通信部が有する格納領域から削除される。

0082

CPU121は、S802において、それぞれの内部通信部が有する格納領域が空になったことを特定し、リセット処理を終了(解除)する。

0083

CPU121は、S803において、第2の集積回路チップ120の内部通信部124による通信及び印刷部130の内部通信部131による通信を再開するための通信設定を実行する。当該設定は、具体的には、転送速度の設定や通信に利用されるアドレスの設定等である。

0084

なお、回復処理は、例えば、誤取り込みデータが存在したことをユーザに通知する通知処理等であっても良い。

0085

以下に、本発明の誤取り込み判定処理を含む一連の処理を示すフローチャートについて説明する。すなわち、以下に説明するフローチャートが示す処理が実行される場合に、本発明の誤取り込み判定処理が実行される。

0086

図9は、内部通信部124と内部通信部131と間の通信時において、記録装置100によって実行される処理を示すフローチャートである。本フローチャートは、例えば、ROM115等のメモリに格納されたプログラムを第2の集積回路チップ120のCPU121がRAM127に読み出して実行することにより実現される。また、本フローチャートが示す処理は、内部通信部124と内部通信部131と間の通信が開始された場合に開始される。内部通信部124と内部通信部131と間の通信は、例えば、内部通信部124による、印刷データのライト・トランザクションや、吐出データの履歴情報のリード・トランザクションである。また、内部通信部124によるライト・トランザクションが行われる場合は、内部通信部131が、コレクタブル・エラーが生じたか否かを巡回冗長検査によって検知しているものとする。また、内部通信部124によるリード・トランザクションが行われる場合は、内部通信部124が、コレクタブル・エラーが生じたか否かを巡回冗長検査によって検知しているものとする。コレクタブル・エラーが生じたことが検知された場合、コレクタブル・エラーの通知のための割り込みがCPU121に対して発生する。巡回冗長検査は、1回のトランザクション毎に実行される。

0087

CPU121は、S901において、コレクタブル・エラーの通知のための割り込みが発生したか否かを判定する。CPU121は、YES判定であれば、コレクタブル・エラーが発生したことを特定し、S902の処理を実行し、NO判定であれば、コレクタブル・エラーが発生していないことを特定し、S901の処理を再び実行する。

0088

CPU121は、S902において、内部通信部124と内部通信部131と間の通信を一時停止する。

0089

CPU121は、S903において、図7に示す誤取り込み判定処理を実行する。

0090

CPU121は、S904において、S903の誤取り込み判定処理により、内部通信部124と内部通信部131のうち少なくとも一方において誤取り込みデータがあることが検出されたか否かを判定する。具体的にはCPU121は、誤取り込みデータ検出フラグが立っているかどうかを判定する。CPU121は、YES判定であれば、S905の処理を実行し、NO判定であれば、S906の処理を実行する。なお、コレクタブル・エラーが発生したにも関わらず、誤取り込みデータがないケースとは、コレクタブル・エラーの発生により再送されたデータが、内部回路に正しく受け渡されたケースである。

0091

CPU121は、S905において、図8に示す回復処理を実行する。なおこの時、CPU121は、誤取り込みデータの存在により適切にライトもしくはリードされなかった情報を、再度ライトもしくはリードしても良い。

0092

CPU121は、S906において、S902で停止した通信を再開する。

0093

図10は、印刷制御部132とEEPROM150と間の通信(ライト)時において、記録装置100によって実行される処理を示すフローチャートである。本フローチャートは、例えば、ROM115等のメモリに格納されたプログラムを第2の集積回路チップ120のCPU121がRAM127に読み出して実行することにより実現される。すなわち、印刷制御部132とEEPROM150と間の通信は、内部通信部124と内部通信部131と間の通信を介してCPU121により遠隔で制御される。また、本フローチャートが示す処理は、印刷制御部132とEEPROM150との間の通信が開始される場合に開始される。

0094

CPU121は、S1001において、EEPROM150との通信に利用するEEPROM150内の格納領域のアドレス(ライト先のアドレス)を設定する。具体的には、CPU121は、ライト先のアドレスに関する情報を内部通信部124によって内部通信部131に対してライトする。なお、内部通信部131に対してライトされた情報は、印刷制御部132に受け渡される。

0095

CPU121は、S1002において、S1001において設定したアドレスに書き込むデータを設定する。具体的には、CPU121は、S1001において設定したアドレスに書き込むデータを内部通信部124によって内部通信部131に対してライトする。

0096

CPU121は、S1003において、S1001において設定したデータを、ライトするためのライト設定を実行する。具体的には、CPU121は、ライト設定に関するデータを内部通信部124によって内部通信部131に対してライトする。

0097

CPU121は、S1004において、図7に示す誤取り込み判定処理を実行する。

0098

CPU121は、S1005において、S1004の誤取り込み判定処理により、内部通信部124と内部通信部131のうち少なくとも一方において誤取り込みデータがあることが検出されたか否かを判定する。具体的にはCPU121は、誤取り込みデータ検出フラグが立っているかどうかを判定する。CPU121は、YES判定であれば、S1006の処理を実行し、NO判定であれば、S1007の処理を実行する。

0099

CPU121は、S1006において、図8に示す回復処理を実行する。その後、CPU121は、S1001からの処理を再び実行する。

0100

CPU121は、S1007において、S1001〜S1003で通信されたデータに基づいて、S1002において設定されたデータを印刷制御部132によってEEPROM150に対してライトする。

0101

なお、S1001〜S1003における内部通信部124と内部通信部131と間の通信時には、図9に示す処理が実行されている。

0102

図9に示す処理では、コレクタブル・エラーの通知のための割り込みが発生した場合に、誤取り込み判定処理(S903)が実行される。しかしながら、コレクタブル・エラーが発生した時間と、割り込みがCPU121に届く時間との間に時差が生じる場合がある。すなわち、コレクタブル・エラーが発生した時間と、S903の処理が実行される時間との間に時差が生じる場合がある。すなわち、この時差においては、誤取り込みデータが発生していても、誤取り込みデータが検知されないが、この時差において通信されたデータに基づいて、印刷制御部132とEEPROM150との間の通信が実行されてしまうことがある。その場合、EEPROM150の正しいアドレスに正しいデータがライトされないことがある。この事態を回避するために、本実施形態では、印刷制御部132とEEPROM150との間の通信が実行される前(S1004)にも、誤取り込み判定処理を実行する。これにより、EEPROM150の正しいアドレスに正しいデータがライトされないことを抑制できる。

0103

なお、EEPROM150に対して書き込み可能な回数は限られている。すなわち、受信バッファ312に誤取り込みデータがあり正確な書き込みが行われない状態にも関わらずEEPROM150に対して書き込みをしてしまうと、EEPROM150の寿命を無駄に縮めてしまう。本処理により、EEPROM150への書き込み前に誤取り込み判定処理が実行されるため、EEPROM150の寿命が無駄に縮待ってしまうことを抑制できる。

0104

図11は、印刷制御部132とEEPROM150と間の通信(リード)時において、記録装置100によって実行される処理を示すフローチャートである。本フローチャートは、例えば、ROM115等のメモリに格納されたプログラムを第2の集積回路チップ120のCPU121がRAM127に読み出して実行することにより実現される。すなわち、印刷制御部132とEEPROM150と間の通信は、内部通信部124と内部通信部131と間の通信を介してCPU121により遠隔で制御される。また、本フローチャートが示す処理は、印刷制御部132とEEPROM150との間の通信が開始される場合に開始される。

0105

CPU121は、S1101において、EEPROM150との通信に利用するEEPROM150内の格納領域のアドレス(リード先のアドレス)を設定する。具体的には、CPU121は、リード先のアドレスに関する情報を内部通信部124によって内部通信部131に対してライトする。

0106

CPU121は、S1102において、S1101において設定したアドレスからデータをリードするためのリード設定を実行する。具体的には、CPU121は、リード設定に関するデータを内部通信部124によって内部通信部131に対してライトする。

0107

CPU121は、S1103において、図7に示す誤取り込み判定処理を実行する。

0108

CPU121は、S1104において、S1103の誤取り込み判定処理により、内部通信部124と内部通信部131のうち少なくとも一方において誤取り込みデータがあることが検出されたか否かを判定する。具体的にはCPU121は、誤取り込みデータ検出フラグが立っているかどうかを判定する。CPU121は、YES判定であれば、S1105の処理を実行し、NO判定であれば、S1106の処理を実行する。

0109

CPU121は、S1105において、図8に示す回復処理を実行する。その後、CPU121は、S1101からの処理を再び実行する。

0110

CPU121は、S1106において、S1101、S1102で通信されたデータに基づいて、S1101において設定されたアドレスからデータを印刷制御部132によってEEPROM150からリードする。印刷制御部132によってリードされたデータは、内部通信部124と内部通信部131と間の通信を介してCPU121に送信される。

0111

このように、本実施形態では、印刷制御部132とEEPROM150との間の通信が実行される前(S1103)にも、誤取り込み判定処理を実行する。これは、図10の説明にて述べたように、コレクタブル・エラーが発生した時間と、S903の処理が実行される時間との間に時差が生じる場合があるためである。これにより、EEPROM150の正しいアドレスからデータがリードされないことを抑制できる。

0112

なお、EEPROM150から情報を読み取り可能な回数は限られている。すなわち、受信バッファ321に誤取り込みデータがあり正確な読み取りが行われない状態にも関わらずEEPROM150から読み取りをしてしまうと、EEPROM150の寿命を無駄に縮めてしまう。本処理により、EEPROM150からの読み取り前に誤取り込み判定処理が実行されるため、EEPROM150の寿命が無駄に縮待ってしまうことを抑制できる。

0113

図12は、印刷制御部132とインク吐出部160と間の通信(ヘッド温度パラメータ設定)時において、記録装置100によって実行される処理を示すフローチャートである。本フローチャートは、例えば、ROM115等のメモリに格納されたプログラムを第2の集積回路チップ120のCPU121がRAM127に読み出して実行することにより実現される。すなわち、印刷制御部132とインク吐出部160と間の通信は、内部通信部124と内部通信部131と間の通信を介してCPU121により遠隔で制御される。また、本フローチャートが示す処理は、印刷制御部132とインク吐出部160との間の通信が開始される場合に開始される。

0114

CPU121は、S1201において、インク吐出のためのインク吐出部160の昇温温度パラメータを設定する。具体的には、CPU121は、インク吐出のためのインク吐出部160の昇温温度パラメータを内部通信部124によって内部通信部131に対してライトする。

0115

CPU121は、S1202において、図7に示す誤取り込み判定処理を実行する。

0116

CPU121は、S1203において、S1202の誤取り込み判定処理により、内部通信部124と内部通信部131のうち少なくとも一方において誤取り込みデータがあることが検出されたか否かを判定する。具体的にはCPU121は、誤取り込みデータ検出フラグが立っているかどうかを判定する。CPU121は、YES判定であれば、S1204の処理を実行し、NO判定であれば、S1205の処理を実行する。

0117

CPU121は、S1204において、図8に示す回復処理を実行する。その後、CPU121は、S1201からの処理を再び実行する。

0118

CPU121は、S1205において、S1201で通信されたデータに基づいて、昇温温度パラメータを、インク吐出部160にライトする。インク吐出部160は、昇温温度パラメータのライトを受け付けた場合、昇温温度パラメータに基づいて、インク吐出部160の温度を調整する。

0119

このように、本実施形態では、印刷制御部132とインク吐出部160との間の通信が実行される前(S1202)にも、誤取り込み判定処理を実行する。これは、図10の説明にて述べたように、コレクタブル・エラーが発生した時間と、S903の処理が実行される時間との間に時差が生じる場合があるためである。これにより、インク吐出部160に正しいデータがライトされないことを抑制できる。

0120

また、昇温温度パラメータとして、インク吐出部160に正しいデータがライトされない場合、インク吐出部160の温度が適切に調整されず、印刷品位等に影響が生じてしまうことがある。本処理により、昇温温度パラメータが書き込まれる前に誤取り込み判定処理が実行されるため、印刷品位等に影響が生じてしまうことを抑制できる。

0121

なお、昇温温度パラメータが通信される前以外にも、重要なデータが通信される前には、誤取り込み判定処理が実行されることが好ましい。

0122

また、本実施形態では、第2の集積回路チップ120と印刷部130の間の通信において誤取り込み検知処理が実行される形態を説明したが、これに限定されない。例えば、第1の集積回路チップ110と第2の集積回路チップ120の間の通信においても同様に誤取り込み検知処理を実行可能である。

0123

(第2実施形態)
第1実施形態では、内部通信部124と内部通信部131のうち少なくとも一方において誤取り込みデータがあることが検出された場合に、内部通信部124と内部通信部131の両方に対してリセット処理が実行される形態について説明した。本実施形態では、誤取り込み判定処理において取得されたデータに基づいて、リセット処理が実行される領域を変更する形態について説明する。

0124

なお、回復処理以外の処理のシーケンスや、記録装置100の構成は、第1実施形態と同様であるものとする。

0125

図13は、誤取り込みデータが検出された場合に記録装置100によって実行される回復処理を示すフローチャートである。本フローチャートは、例えば、ROM115等のメモリに格納されたプログラムを第2の集積回路チップ120のCPU121がRAM127に読み出して実行することにより実現される。

0126

CPU121は、S1301において、印刷部130の受信バッファ321に誤取り込みデータがなかったか否かを判定する。具体的には、CPU121は、データ(A)が第2の値と一致するか否かを判定する。CPU121は、YES判定である場合には、S1303を実行し、NO判定である場合には、S1304を実行する。

0127

CPU121は、S1302において、第2の集積回路チップ120の受信バッファ312に誤取り込みデータがなかったか否かを判定する。具体的には、CPU121は、データ(B)が第3の値と一致するか否かを判定する。CPU121は、YES判定である場合には、S1304を実行し、NO判定である場合には、S1305を実行する。

0128

CPU121は、S1303において、第2の集積回路チップ120の受信バッファ312をリセットするためのリセット処理を開始する。具体的には、CPU121は、第2の集積回路チップ120の受信バッファ312が有する格納領域から、全てのデータを取り除き、当該格納領域を空にする処理を開始する。なお、S1301がYES判定である場合に必ずS1303が実行されるのは、図7の処理で既に誤取り込みデータが検知されている以上、S1301がYES判定である場合には、受信バッファ312に誤取り込みデータがあったためである。

0129

CPU121は、S1304において、印刷部130の受信バッファ321をリセットするためのリセット処理を開始する。具体的には、CPU121は、印刷部130の受信バッファ321が有する格納領域から、全てのデータが取り除かれるためのリセット信号を内部通信部131に送信する。

0130

CPU121は、S1305において、第2の集積回路チップ120の受信バッファ312及び印刷部130の受信バッファ321をリセットするためのリセット処理を開始する。

0131

CPU121は、S1306において、リセット対象の受信バッファが有する格納領域が空になったことを特定し、リセット処理を終了(解除)する。

0132

CPU121は、S1307において、第2の集積回路チップ120の内部通信部124による通信及び印刷部130の内部通信部131による通信を再開するための通信設定を実行する。

0133

図6に示すように、誤取り込み判定処理によって取得されるデータ(A)やデータ(B)の内容に応じて、いずれの受信バッファに誤取り込みデータが存在していたかが特定される。そのため、本実施形態により、誤取り込みデータが存在していた受信バッファにのみ、リセット処理を実行することができる。すなわち、回復処理に係る時間を短縮することができる。

0134

なお、本実施形態は、S706がNO判定の場合と、S707がNO判定の場合とで、同じフラグが立っている形態としたが、例えば、それぞれの場合で異なるフラグが立つような形態としても良い。そして、回復処理では、いずれのフラグが立っているかどうかを判定することで、S1303〜S1305のうちいずれの処理を実行するかを判定しても良い。

0135

(その他の実施形態)
上述では、誤取り込み判定処理においてレジスタ501からのリードが行われた後に、レジスタ502からのリードが行われる形態を説明したが、この形態に限定されない。誤取り込み判定処理において、レジスタ502からのリードが先に行われ、受信バッファ312に誤取り込みデータが格納されていたか否かを先に判定して良い。

0136

上述の実施形態における誤取り込み判定処理は、ライト・トランザクションとリード・トランザクションの両方を実行する。この誤取り込み判定処理は、第2の集積回路チップ120がライトのみを実行するパターンと、第2の集積回路チップ120がライトとリードを並行して実行するパターンにおいて特に有効である。なお、第2の集積回路チップ120がリードのみを実行するパターンにおいては、CPU121は、ライト・トランザクションを実行せず、リード・トランザクションのみ実行する誤取り込み判定処理を実行して良い。

0137

具体的には、CPU121は、誤取り込み判定処理におけるライト・トランザクションを実行せず、レジスタ502以外のレジスタに格納されている値のリードを、受信バッファ321が有する格納領域の段数と同じ回数行う。すなわち、CPU121は、受信バッファ321が有する格納領域の段数と同じ回数のリードを、同一のアドレスのレジスタを指定して行う。その後、CPU121は、レジスタ502に格納されている値のリードを、一回行う。そして、CPU121は、最後に実行したリードによってCPU121に転送された値が、第3の値であれば、受信バッファ312に誤取り込みデータが格納されていなかったと判定する。すなわち、CPU121は、第3の値のリード時に、既に受信バッファ312にデータが格納されていなかったと判定する。一方、CPU121は、最後に実行したリードによってCPU121に転送された値が、第3の値以外の値であれば、受信バッファ312に誤取り込みデータが格納されていなかったと判定する。すなわち、CPU121は、第3の値のリード時に、既に受信バッファ312にデータが格納されていたと判定する。

0138

なお、誤取り込み判定処理のためのリードにかかる時間の抑制を優先しても良い。その場合、例えば、誤取り込み判定処理のためのレジスタ502以外のレジスタからのリードとして、受信バッファ312が有する格納領域の段数と同じ回数より少ない回数のリードを行った後、レジスタ502からのリードが実行されても良い。また例えば、レジスタ502に格納されている値のリードを1回のみ行う形態とし、レジスタ502以外のレジスタからのリードを行わない形態としても良い。

0139

また、上述では、コレクタブル・エラーの通知のための割り込みが発生した場合、誤取り込み判定処理におけるライト・トランザクションが開始されていた。例えば、割り込みの発生源に応じて、処理が切り替えられる構成でも良い。具体的には、受信バッファ321が受信したデータにコレクタブル・エラーが発生したことにより割り込みが生じていたならば、誤取り込み判定処理におけるライト・トランザクション及びリード・トランザクションが開始されても良い。また、受信バッファ312が受信したデータにコレクタブル・エラーが発生したことにより割り込みが生じていたならば、誤取り込み判定処理におけるライト・トランザクションを実行せず、リード・トランザクションのみ実行しても良い。

0140

110 第1の集積回路チップ
120 第2の集積回路チップ
130印刷部

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

該当するデータがありません

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

該当するデータがありません

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ