(57)【要約】【課題】不揮発性の記憶手段にデータを記憶させる際の異常発生原因の特定を容易にする。【解決手段】書込用データ８０を受信し、その書込用データ８０のチェックサム値ＳＵＭを演算し、そのチェックサム値ＳＵＭと設定値Ｓとが一致するか否かを判定し、その判定結果を第１判定結果としてＥＥＰＲＯＭ７１に記憶させる。また、受信された書込用データ８０をフラッシュメモリー１０１によって記憶させ、その後、フラッシュメモリー１０１に記憶された書込用データ８０を読み出し、その読み出された書込用データ８０のチェックサム値ＳＵＭを演算し、そのチェックサム値ＳＵＭと設定値Ｓとが一致するか否かを判定し、その判定結果を第２判定結果としてＥＥＰＲＯＭ７１に記憶させる。【選択図】図６
2014106758.tif 000002
【特許請求の範囲】
【請求項１】
データを記憶する不揮発性記憶部と、
前記不揮発性記憶部にデータを記憶させる処理における異常の有無を記憶するための異常記憶部と、
チェックサム値が予め設定された設定値と等しいデータである書込用データを取得する第１データ取得処理を実行する第１データ取得部と、
前記第１データ取得部によって受信された書込用データのチェックサム値を演算する第１演算処理を実行する第１演算処理部と、
前記第１演算処理部によって演算されたチェックサム値と前記設定値とが一致するか否かを判定する第１判定処理を実行する第１判定部と、
前記第１判定部による判定結果を第１判定結果として前記異常記憶部に記憶させる第１判定結果記録処理を実行する第１判定結果記録部と、
前記第１データ取得部によって受信された書込用データを前記不揮発性記憶部によって記憶させる書込処理を実行する書込部と、
前記書込処理が実行された後、前記不揮発性記憶部に記憶された書込用データを読み出す読出し処理を実行する第２データ取得部と、
前記第２データ取得部によって読み出された書込用データのチェックサム値を演算する第２演算処理を実行する第２演算処理部と、
前記第２演算処理部によって演算されたチェックサム値と前記設定値とが一致するか否かを判定する第２判定処理を実行する第２判定部と、
前記第２判定部による判定結果を第２判定結果として前記異常記憶部に記憶させる第２判定結果記録処理を実行する第２判定結果記録部とを備えるデータ書込回路。
【請求項２】
前記不揮発性記憶部への新たな書込用データの書込を要求する書込要求を受け付ける書込要求受付部と、
前記受付部によって前記書込要求が受け付けられたとき、前記不揮発性記憶部に記憶されているデータを読み出す第３データ取得部と、
前記第３データ取得部によって読み出されたデータのチェックサム値を演算する第３演算処理を実行する第３演算処理部と、
前記第３演算処理部によって演算されたチェックサム値と前記設定値とが一致するか否かを判定する第３判定処理を実行する第３判定部と、
前記第３判定部による判定結果を第３判定結果として前記異常記憶部に記憶させる第３判定結果記録処理を実行する第３判定結果記録部とを備え、
前記第１データ取得部は、前記第３判定結果記録処理が実行された後に、前記第１データ取得処理における前記書込用データとして前記新たな書込用データを受信する請求項１記載のデータ書込回路。
【請求項３】
前記不揮発性記憶部に既に記憶されているデータを確認するデータ確認処理を実行するか否かを決定する処理決定部と、
前記処理決定部によって前記データ確認処理を実行すると決定されたとき、前記不揮発性記憶部に記憶されているデータを読み出す初期データ取得部と、
前記初期データ取得部によって読み出されたデータのチェックサム値を演算する初期演算処理を実行する初期演算処理部と、
前記初期演算処理部によって演算されたチェックサム値と前記設定値とが一致するか否かを判定する初期判定処理を実行する初期判定部と、
前記初期判定部による判定結果を初期判定結果として前記異常記憶部に記憶させる初期判定結果記録処理を実行する初期判定結果記録部とを備える請求項１又は２記載のデータ書込回路。
【請求項４】
請求項１〜３のいずれか１項に記載のデータ書込回路と、
用紙に画像を形成する画像形成部とを備え、
前記書込用データは、前記画像形成部の動作を制御するためのプログラムを含む画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性の記憶手段にデータを記憶させるデータ書込回路、及びこれを備えた画像形成装置に関する。
【背景技術】
【０００２】
近年、画像形成装置などの高機能化に伴い、装置の動作を制御するためのプログラム、いわゆるファームウェアのプログラムサイズが増大しつつある。そして、このような装置の高機能化、及びプログラムサイズの増大に伴い、工場から出荷された後に、例えばユーザーのオフィス等に設置された後に、ファームウェアのアップデート（更新）が行われるようになってきた。
【０００３】
一方、装置で障害が発生した場合、障害発生のトレース情報や障害ログ情報を記憶装置に記憶しておき、保守作業者が記憶装置からこれらの情報を読み出すことで、障害の発生原因を調査できるようにした画像形成装置が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−３２８４２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、ファームウェアのアップデートに失敗した場合、画像形成装置のＣＰＵ（Central Processing Unit）がファームウェアを実行すると、ＣＰＵは正常に動作せず、いわゆるＣＰＵの暴走状態となる。この場合、ＣＰＵは、障害に関する情報を収集することができないから、障害発生のトレース情報や障害ログ情報を記憶装置に記憶することができない。ファームウェアのアップデートを行ったときにＣＰＵの暴走が発生した場合、保守作業者には、ファームウェアのデータを記憶装置に記憶させる処理で異常が発生したことは判る。しかしながら、記憶装置自体に異常があるのか、記憶装置にデータを記憶させる回路に異常があるのか、その異常箇所を特定することが困難であるという、不都合があった。
【０００６】
本発明の目的は、不揮発性の記憶手段にデータを記憶させる際の異常発生原因を特定することが容易なデータ書込回路、及びこれを備えた画像形成装置を提供することである。
【課題を解決するための手段】
【０００７】
本発明に係るデータ書込回路は、データを記憶する不揮発性記憶部と、前記不揮発性記憶部にデータを記憶させる処理における異常の有無を記憶するための異常記憶部と、チェックサム値が予め設定された設定値と等しいデータである書込用データを取得する第１データ取得処理を実行する第１データ取得部と、前記第１データ取得部によって受信された書込用データのチェックサム値を演算する第１演算処理を実行する第１演算処理部と、前記第１演算処理部によって演算されたチェックサム値と前記設定値とが一致するか否かを判定する第１判定処理を実行する第１判定部と、前記第１判定部による判定結果を第１判定結果として前記異常記憶部に記憶させる第１判定結果記録処理を実行する第１判定結果記録部と、前記第１データ取得部によって受信された書込用データを前記不揮発性記憶部によって記憶させる書込処理を実行する書込部と、前記書込処理が実行された後、前記不揮発性記憶部に記憶された書込用データを読み出す読出し処理を実行する第２データ取得部と、前記第２データ取得部によって読み出された書込用データのチェックサム値を演算する第２演算処理を実行する第２演算処理部と、前記第２演算処理部によって演算されたチェックサム値と前記設定値とが一致するか否かを判定する第２判定処理を実行する第２判定部と、前記第２判定部による判定結果を第２判定結果として前記異常記憶部に記憶させる第２判定結果記録処理を実行する第２判定結果記録部とを備える。
【０００８】
この構成によれば、不揮発性記憶部に書込用データを記憶させる前に、書込用データのチェックサム値が正しいか否かが確認されて、その判定結果が第１判定結果として異常記憶部に記憶される。また、書込用データが一旦不揮発性記憶部に記憶された後、再び読み出されてそのチェックサム値が正しいか否かが確認され、その判定結果が第２判定結果として異常記憶部に記憶される。従って、例えば保守作業者は、異常記憶部に記憶された第１及び第２判定結果を確認することによって、書込用データに異常が生じたのが、不揮発性記憶部への書き込み前か後かが判断できるので、不揮発性の記憶手段にデータを記憶させる際の異常発生原因を特定することが容易となる。
【０００９】
また、前記不揮発性記憶部への新たな書込用データの書込を要求する書込要求を受け付ける書込要求受付部と、前記受付部によって前記書込要求が受け付けられたとき、前記不揮発性記憶部に記憶されているデータを読み出す第３データ取得部と、前記第３データ取得部によって読み出されたデータのチェックサム値を演算する第３演算処理を実行する第３演算処理部と、前記第３演算処理部によって演算されたチェックサム値と前記設定値とが一致するか否かを判定する第３判定処理を実行する第３判定部と、前記第３判定部による判定結果を第３判定結果として前記異常記憶部に記憶させる第３判定結果記録処理を実行する第３判定結果記録部とを備え、前記第１データ取得部は、前記第３判定結果記録処理が実行された後に、前記第１データ取得処理における前記書込用データとして前記新たな書込用データを受信することが好ましい。
【００１０】
この構成によれば、不揮発性記憶部へ、新たな書込用データを記憶させる前に、すでに不揮発性記憶部に記憶されている書込用データのチェックサムが正しいか否かが確認され、その判定結果が第３判定結果として異常記憶部に記憶される。その後、上述の第１及び第２判定結果が異常記憶部に記憶される。この場合、例えば保守作業者は、異常記憶部に記憶されている判定結果を確認することによって、例えば、第１及び第２判定結果はチェックサム値が正しい（設定値と一致する）ことを示し、第３判定結果はチェックサム値が誤りである（設定値と一致しない）ことを示す場合、第１データ取得部、書込部、及び第２データ取得部は正常に動作していると判断することができ、不揮発性記憶部による書込用データの長期記憶に異常がある可能性が高いと判断できる。このように、不揮発性の記憶手段にデータを記憶させる際の異常発生原因を特定することがより容易となる。
【００１１】
また、前記不揮発性記憶部に既に記憶されているデータを確認するデータ確認処理を実行するか否かを決定する処理決定部と、前記処理決定部によって前記データ確認処理を実行すると決定されたとき、前記不揮発性記憶部に記憶されているデータを読み出す初期データ取得部と、前記初期データ取得部によって読み出されたデータのチェックサム値を演算する初期演算処理を実行する初期演算処理部と、前記初期演算処理部によって演算されたチェックサム値と前記設定値とが一致するか否かを判定する初期判定処理を実行する初期判定部と、前記初期判定部による判定結果を初期判定結果として前記異常記憶部に記憶させる初期判定結果記録処理を実行する初期判定結果記録部とを備えることが好ましい。
【００１２】
不揮発性記憶部にファームウェア等のデータを記憶させる場合、装置を製造する前に、予め不揮発性記憶部にデータを記憶させておき、このようにすでにデータが記憶された状態の不揮発性記憶部を装置に組み込んで装置を完成させる場合がある。このような場合に、この構成によれば、不揮発性記憶部によって予め記憶されていたデータのチェックサム値が確認され、そのチェックサム値が正しいか否かが初期判定結果として異常記憶部に記憶される。その結果、作業者などは、異常記憶部に記憶された初期判定結果を確認することにより、予め不揮発性記憶部に記憶されたデータが正しいか否かを確認することができる。
【００１３】
また、本発明に係る画像形成装置は、上述のデータ書込回路と、用紙に画像を形成する画像形成部とを備え、前記書込用データは、前記画像形成部の動作を制御するためのプログラムを含んでいる。
【００１４】
この構成によれば、画像形成部の動作を制御するためのプログラムが不揮発性記憶部に記憶される。そして、不揮発性記憶部にデータを記憶させる際の異常発生原因を特定することが容易となる。
【発明の効果】
【００１５】
このような構成のデータ書込回路、及びこれを備えた画像形成装置は、不揮発性の記憶手段にデータを記憶させる際の異常発生原因を特定することが容易となる。
【図面の簡単な説明】
【００１６】
【図１】本発明の一実施形態に係る画像形成装置の一例である複写機の内部構成を概略的に示す構造図である。
【図２】図１に示す複写機の電気的構成の一例を示すブロック図である。
【図３】図２に示すデータ書込回路の構成の一例を示すブロック図である。
【図４】図３に示すＵＳＢメモリーに記憶される書込用データの構成の一例を示す説明図である。
【図５】図３に示すデータ書込回路の動作の一例を示すフローチャートである。
【図６】図３に示すデータ書込回路の動作の一例を示すフローチャートである。
【図７】図３に示すデータ書込回路の動作の一例を示すフローチャートである。
【図８】図３に示すＥＥＰＲＯＭに記憶される初回フラグの一例を示す説明図である。
【図９】図３に示すＥＥＰＲＯＭに記憶されるフラグＡ，Ｂ，Ｃの一例を示す説明図である。
【発明を実施するための形態】
【００１７】
以下、本発明に係る実施形態を図面に基づいて説明する。なお、各図において同一の符号を付した構成は、同一の構成であることを示し、その説明を省略する。図１は、本発明の一実施形態に係る画像形成装置の一例である複写機の内部構成を概略的に示す構造図である。図２は、図１に示す複写機１の電気的構成の一例を示すブロック図である。なお、画像形成装置は、複写機に限られず、プリンタ、ファクシミリ、あるいはこれらの機能を兼ね備えた複合機等であってもよい。
【００１８】
この複写機１は、本体部２と、本体部２の左方に配設されたスタックトレイ３と、本体部２の上部に配設された原稿読取部５と、原稿読取部５の上方に配設された原稿給送部６と、本体部２の内部に配設された制御部１００と、データ書込回路７とを有している。
【００１９】
複写機１のフロント部には、略長方形の操作パネル部４７が設けられている。操作パネル部４７は、表示部４７３と、操作キー部４７６とを備えている。表示部４７３は、例えばタッチパネル機能を有する液晶ディスプレイ等によって構成されている。操作キー部４７６は、例えばユーザーが印刷実行指示を入力するためのスタートキーや、印刷部数等を入力するためのテンキー等の各種キースイッチを備えている。
【００２０】
原稿読取部５は、ＣＣＤ（Charge Coupled Device）５１２及び露光ランプ５１１等からなるスキャナ部５１と、ガラス等の透明部材により構成された原稿台５２及び原稿読取スリット５３とを備える。スキャナ部５１は、図略の駆動部によって移動可能に構成され、原稿台５２に載置された原稿を読み取るときは、原稿台５２に対向する位置で原稿面に沿って移動され、原稿画像を走査しつつ取得した画像データを制御部１００へ出力する。また、スキャナ部５１は、原稿給送部６により給送された原稿を読み取るときは、原稿読取スリット５３と対向する位置に移動され、原稿読取スリット５３を介して原稿給送部６による原稿の搬送動作と同期して原稿の画像を取得し、その画像データを制御部１００へ出力する。
【００２１】
原稿給送部６は、原稿を載置するための原稿載置部６１と、画像読み取り済みの原稿を排出するための原稿排出部６２と、原稿載置部６１に載置された原稿を１枚ずつ繰り出して原稿読取スリット５３に対向する位置へ搬送し、原稿排出部６２へ排出する原稿搬送機構６３とを備える。
【００２２】
本体部２は、複数の給紙カセット４６１と、給紙カセット４６１から用紙を１枚ずつ繰り出して画像形成部４０へ搬送する給紙ローラー４６２と、給紙カセット４６１から搬出されてきた用紙に画像を形成する画像形成部４０と、装置全体の動作制御を司る制御部１００とを備える。
【００２３】
画像形成部４０は、用紙搬送部４１１、光走査装置４２、感光体ドラム４３、現像部４４、転写部４１、及び定着部４５を備えている。用紙搬送部４１１は、画像形成部４０内の用紙搬送路中に設けられ、給紙ローラー４６２によって搬送されてきた用紙を感光体ドラム４３に供給する搬送ローラー４１２や、用紙をスタックトレイ３又は排出トレイ４８まで搬送する搬送ローラー４６３，４６４等を備えている。
【００２４】
光走査装置４２は、制御部１００から出力された画像データに基づきレーザ光等を出力して感光体ドラム４３を露光することで、感光体ドラム４３上に静電潜像を形成する。現像部４４は、感光体ドラム４３上の静電潜像をトナー現像してトナー像を形成する。転写部４１は、感光体ドラム４３上のトナー像を用紙に転写する。定着部４５は、トナー像が転写された用紙を加熱してトナー像を用紙に定着させる。
【００２５】
制御部１００は、例えば所定の演算処理を実行するＣＰＵ（Central Processing Unit）と、いわゆるファームウェアである制御プログラムが記憶されたフラッシュメモリー１０１（不揮発性記憶部の一例）と、データを一時的に記憶するＲＡＭ（Random Access Memory）と、これらの周辺回路等とを備えて構成されている。制御部１００には、原稿読取部５、画像形成部４０、及び操作パネル部４７が接続されている。なお、不揮発性記憶部は、不揮発性の記憶装置であればよく、フラッシュメモリーに限らない。不揮発性記憶部は、例えば、ＥＥＰＲＯＭ（Electrically Erasable and Programmable Read Only Memory）、ＨＤＤ（Hard Disk Drive）、あるいは光ディスクであってもよい。
【００２６】
制御部１００は、フラッシュメモリー１０１に記憶された制御プログラムを実行することにより、装置内の各部の動作を制御して、原稿画像の複写を実行する。具体的には、制御部１００は、原稿読取部５によって原稿から読み取られた画像データを画像形成部４０へ送信し、画像形成部４０によって、給紙カセット４６１から繰り出された用紙に当該画像の画像形成を実行させる。
【００２７】
フラッシュメモリー１０１は、ＮＯＲ型であってもよく、ＮＡＮＤ型であってもよく、その方式によって限定されない。
【００２８】
データ書込回路７は、フラッシュメモリー１０１に記憶されているデータ、すなわちファームウェアを書き替える。複写機１は、データ書込回路７を備えることによって、ファームウェアのアップデートを行うことが可能にされている。
【００２９】
図３は、図２に示すデータ書込回路７の構成の一例を示すブロック図である。図７に示すデータ書込回路７は、例えばＡＳＩＣ（Application Specific Integrated Circuit）を用いて構成されている。
【００３０】
データ書込回路７は、書込制御部７０、ＥＥＰＲＯＭ７１（異常記憶部の一例）、チェックサム演算器７２、ＵＳＢ（Universal Serial Bus）インターフェイス回路７３、メモリーインターフェイス回路７４、ＤＲＡＭ（Dynamic Random Access Memory）７５、及び接続端子７６，７７を備えている。
【００３１】
書込制御部７０は、例えば所定の演算処理を実行するＣＰＵ（Central Processing Unit）と、所定の制御プログラムが記憶されたＲＯＭ（Read Only Memory）と、データを一時的に記憶するＲＡＭ（Random Access Memory）と、これらの周辺回路等とを備えて構成されている。書込制御部７０は、ＲＯＭに記憶された制御プログラムを実行することにより、モード設定部７００、書込要求受付部７０１、データ取得部７０２、書込部７０３、演算処理部７０４、判定部７０５、及び判定結果記録部７０６として機能する。なお、書込制御部７０は、ＣＰＵを用いるものに限られず、例えばシーケンサーや論理回路等を用いて構成されていてもよい。
【００３２】
メモリーインターフェイス回路７４は、フラッシュメモリー１０１の読出し、及び書き込みを行うインターフェイス回路である。メモリーインターフェイス回路７４は、ＮＯＲ型とＮＡＮＤ型との両方のフラッシュメモリーに対応している。
【００３３】
ＵＳＢインターフェイス回路７３は、いわゆるＵＳＢ方式の通信を行うインターフェイス回路である。ユーザーや保守作業者が、ＵＳＢインターフェイス回路７３にＵＳＢメモリー８を脱着することが可能にされている。ＵＳＢインターフェイス回路７３は、ＵＳＢメモリー８が取り付けられると、ＵＳＢメモリー８の取り付けを示す取付検出信号を書込要求受付部７０１へ送信する。
【００３４】
保守作業者等が、フラッシュメモリー１０１に記憶されているプログラム（ファームウエア）を更新するときは、プログラム更新（アップデート）用のデータである書込用データをＵＳＢメモリー８に記憶させてＵＳＢメモリー８をＵＳＢインターフェイス回路７３に取り付けることによって、データ書込回路７がフラッシュメモリー１０１をアップデートするようになっている。
【００３５】
図４は、図３に示すＵＳＢメモリー８に記憶される書込用データ８０の構成の一例を示す説明図である。書込用データ８０は、アップデートされるプログラムであるプログラム８１と、チェックサム調節用データ８２とから構成されている。チェックサム調節用データ８２は、プログラム８１とチェックサム調節用データ８２とを合わせた書込用データ８０全体のチェックサム値が、予め設定された設定値Ｓになるように、書込用データ８０のチェックサム値を設定するための調整用のデータである。すなわち、書込用データ８０のチェックサム値は設定値Ｓと等しい。設定値Ｓは、例えば００００ｈである（ｈは１６進数を表す）。
【００３６】
なお、ＵＳＢインターフェイス回路７３には、ＵＳＢメモリー８が取り付けられる例に限らない。例えば、ＵＳＢインターフェイス回路７３には、ＵＳＢケーブルを介してコンピューターや端末装置等の外部機器が接続されてもよい。そして、ＵＳＢインターフェイス回路７３は、その外部機器から書込要求や書込用データ８０を受信するようにしてもよい。また、ＵＳＢインターフェイス回路７３の代わりに他のインターフェイス回路や通信手段を備えてもよい。
【００３７】
チェックサム演算器７２は、演算処理部７０４からの制御信号に応じて、メモリーインターフェイス回路７４によって受信されたデータ、またはＤＲＡＭ７５に記憶されたデータのいずれかについて、チェックサムを算出し、判定部７０５へ出力する。チェックサム演算器７２は、例えば、処理対象のデータを１６ビットで加算することにより、チェックサムを算出する。すなわち、チェックサム演算器７２は、処理対象のデータの合計の下位１６ビットをチェックサムとして算出する。
【００３８】
接続端子７６は、後述するテストモードの設定ピンである。接続端子７６には、切替スイッチ９が接続されている。切替スイッチ９は、ユーザーや作業者が切り替え可能な操作スイッチであり、作業者等がデータ書込回路７の動作モードを、通常モードとテストモードのいずれかに設定するために用いられる。切替スイッチ９は、接点９１，９２，９３を備えており、接点９１の接続先を、接点９２と接点９３との間で切り替え可能にされている。接点９１は接続端子７６に接続され、接点９２は例えばデータ書込回路７の動作用電源Ｅに接続され、接点９３は回路グラウンドに接続されている。
【００３９】
これにより、切替スイッチ９によって接点９１と接点９２とが接続されると、接続端子７６がハイレベルにされる。また、切替スイッチ９によって接点９１と接点９３とが接続されると、接続端子７６がローレベルにされる。
【００４０】
モード設定部７００は、接続端子７６がハイレベルになるとテストモードを設定し、接続端子７６がローレベルになると通常モードを設定する。テストモードは、フラッシュメモリー１０１に既に記憶されているデータのチェックサム値が設定値Ｓ（００００ｈ）と等しいか否かを確認するデータ確認処理を実行するモードである。モード設定部７００は、処理決定部の一例に相当している。
【００４１】
書込要求受付部７０１は、ＵＳＢメモリー８の取り付けを示す取付検出信号を、書込要求として受信する。なお、書込要求受付部７０１は、取付検出信号の代わりに外部機器から送信された書込要求を受け付ける構成としてもよい。
【００４２】
データ取得部７０２は、ＵＳＢインターフェイス回路７３によってＵＳＢメモリー８から書込用データ８０を読み出させたり、メモリーインターフェイス回路７４によってフラッシュメモリー１０１に記憶されているデータを読み出させたりすることによって、チェックサム演算器７２によるチェックサム値算出の対象となるデータを取得する。データ取得部７０２は、第１、第２、第３データ取得部、及び初期データ取得部の一例に相当している。
【００４３】
書込部７０３は、ＵＳＢインターフェイス回路７３によってＵＳＢメモリー８から読み出された書込用データ８０を、メモリーインターフェイス回路７４によってフラッシュメモリー１０１に記憶させる書込処理を実行する。
【００４４】
演算処理部７０４は、データ取得部７０２によって取得されたデータのチェックサム値をチェックサム演算器７２によって算出させる。演算処理部７０４及びチェックサム演算器７２は、第１、第２、第３演算処理部、及び初期演算処理部の一例に相当している。
【００４５】
判定部７０５は、チェックサム演算器７２によって算出されたチェックサム値と設定値Ｓとが一致するか否かを判定する。そして、判定部７０５は、チェックサム値と設定値Ｓとが一致しなかった場合、異常が生じたことを示すエラー信号ＥＲＲを接続端子７７へ出力する。例えばエラー信号ＥＲＲを通信によって外部へ送信してもよく、例えばエラー信号ＥＲＲによってＬＥＤ（Light Emitting Diode）を点灯させるなどして異常の発生を報知するようにしてもよい。判定部７０５は、第１、第２、第３判定部、及び初期判定部の一例に相当している。
【００４６】
判定結果記録部７０６は、判定部７０５による判定結果を、その判定対象となるチェックサム値が算出された処理段階と対応付けてＥＥＰＲＯＭ７１に記憶させる。判定結果記録部７０６は、第１、第２、第３判定結果記録部、及び初期判定結果記録部の一例に相当している。
【００４７】
ＥＥＰＲＯＭ７１に記憶された判定結果は、例えば保守作業者がデータ書込回路７に端末装置を接続するなどに手段によって、外部へ読み出せるようになっている。
【００４８】
図５、図６、図７は、図３に示すデータ書込回路７の動作の一例を示すフローチャートである。まず、モード設定部７００によって、接続端子７６の信号レベルが確認される（ステップＳ１）。モード設定部７００は、接続端子７６がハイレベルであればテストモードを実行するべくステップＳ２へ移行し（ステップＳ１でＹＥＳ）、接続端子７６がローレベルであれば通常モードを実行するべくステップＳ１１へ移行する（ステップＳ１でＮＯ）。
【００４９】
複写機１の生産工場において、制御部１００を構成する回路基板を製造するとき、通常、フラッシュメモリー１０１を回路基板に実装する前に、フラッシュメモリー１０１の素子単体でファームウェア（制御部１００においては書込用データ８０）の書込が行われる。そして、書込用データ８０が記憶された状態のフラッシュメモリー１０１が回路基板に実装される。テストモードは、このように書込用データ８０が記憶された状態のフラッシュメモリー１０１が回路基板に実装されたとき、フラッシュメモリー１０１に、正しく書込用データ８０が記憶されているか否かを確認するための動作モードである。
【００５０】
テストモードを実行するとき、例えば作業者は、切替スイッチ９を、接点９１と接点９２とを接続するように切り替える。そうすると、接続端子７６がハイレベルになって、テストモードを実行するべくステップＳ２へ移行することになる（ステップＳ１でＹＥＳ）。
【００５１】
ステップＳ２において、データ取得部７０２は、フラッシュメモリー１０１に記憶されている書込用データ８０を、メモリーインターフェイス回路７４によって読み出させることによって取得し、その書込用データ８０をメモリーインターフェイス回路７４からチェックサム演算器７２へ出力させる（ステップＳ２）。
【００５２】
次に、演算処理部７０４は、チェックサム演算器７２によって、メモリーインターフェイス回路７４から出力された書込用データ８０のチェックサム値ＳＵＭを算出させる（ステップＳ３、初期演算処理）。
【００５３】
次に、判定部７０５は、チェックサム演算器７２によって算出されたチェックサム値ＳＵＭと設定値Ｓ（例えば００００ｈ）とが一致するか否かを判定する（ステップＳ４、初期判定処理）。そして、判定部７０５は、チェックサム値ＳＵＭと設定値Ｓとが一致した場合（ステップＳ４でＹＥＳ）ステップＳ５へ移行し、チェックサム値ＳＵＭと設定値Ｓとが一致しなかった場合（ステップＳ４でＮＯ）ステップＳ６へ移行する。
【００５４】
ステップＳ５（初期判定結果記録処理）において、判定結果記録部７０６は、ＥＥＰＲＯＭ７１の初回フラグに対応するビットを“１”として処理を終了する。また、ステップＳ６（初期判定結果記録処理）において、判定結果記録部７０６は、ＥＥＰＲＯＭ７１の初回フラグに対応するビットを“０”とし、ステップＳ７へ移行する。
【００５５】
図８は、図３に示すＥＥＰＲＯＭ７１に記憶される初回フラグの一例を示す説明図である。図８に示すように、ＥＥＰＲＯＭ７１のアドレスＡｄｄ０のビットｂ０が初回フラグとして設定されている。そして、初回フラグが“１”となっていれば、フラッシュメモリー１０１から書込用データ８０が正しく読み出せたことを示し、初回フラグが“０”となっていれば、フラッシュメモリー１０１から読み出された書込用データ８０に誤りがあったことを示している。
【００５６】
書込用データ８０に誤りがあった場合（ステップＳ４でＮＯ）、ステップＳ６の後ステップＳ７において、判定部７０５によって、異常が生じたことを示すエラー信号ＥＲＲが接続端子７７へ出力され、処理を終了する。ステップＳ２〜Ｓ６の処理が、データ確認処理の一例に相当している。
【００５７】
なお、モード設定部７００は、ステップＳ１において、接続端子７６のレベルに応じてテストモードを実行するか否かを判断する例を示したが、例えば、ステップＳ１において、ＥＥＰＲＯＭ７１に記憶されているデータを参照し、初回フラグが“１”となっていれば既にテストモードが実行されたものと判断してステップＳ１１へ移行し、初回フラグが“０”となっていればまだテストモードが実行されていないものと判断してステップＳ２へ移行するようにしてもよい。
【００５８】
一方、ステップＳ１１では、通常モードの実行を行うべく、書込要求受付部７０１によって、ＵＳＢメモリー８の取り付けを示す取付検出信号、すなわち書込要求の有無が確認される（ステップＳ１１）。そして、書込要求受付部７０１は、ＵＳＢメモリー８の取り付けを示す取付検出信号を受信すると（ステップＳ１１でＹＥＳ）、ステップＳ１２へ移行する。
【００５９】
ステップＳ１２において、データ取得部７０２は、フラッシュメモリー１０１に記憶されている書込用データ８０を、メモリーインターフェイス回路７４によって読み出させることによって取得し、その書込用データ８０をメモリーインターフェイス回路７４からチェックサム演算器７２へ出力させる（ステップＳ１２）。
【００６０】
次に、演算処理部７０４は、チェックサム演算器７２によって、メモリーインターフェイス回路７４から出力された書込用データ８０のチェックサム値ＳＵＭを算出させる（ステップＳ１３、第３演算処理）。
【００６１】
次に、判定部７０５は、チェックサム演算器７２によって算出されたチェックサム値ＳＵＭと設定値Ｓ（例えば００００ｈ）とが一致するか否かを判定する（ステップＳ１４、第３判定処理）。そして、判定部７０５は、チェックサム値ＳＵＭと設定値Ｓとが一致した場合（ステップＳ１４でＹＥＳ）ステップＳ１５（第３判定結果記録処理）へ移行し、チェックサム値ＳＵＭと設定値Ｓとが一致しなかった場合（ステップＳ１４でＮＯ）ステップＳ１６（第３判定結果記録処理）へ移行する。
【００６２】
ステップＳ１５において、判定結果記録部７０６は、ＥＥＰＲＯＭ７１のフラグＡに対応するビットを“１”とし、ステップＳ１７へ移行する。また、ステップＳ１６において、判定結果記録部７０６は、ＥＥＰＲＯＭ７１のフラグＡに対応するビットを“０”とし、ステップＳ１７へ移行する。
【００６３】
図９は、図３に示すＥＥＰＲＯＭ７１に記憶されるフラグＡ，Ｂ，Ｃの一例を示す説明図である（フラグＢ，Ｃについては後述する）。図９に示すように、ＥＥＰＲＯＭ７１の例えばアドレスＡｄｄ１〜Ａｄｄ１０のアドレス範囲において、ビットｂ２がフラグＡ、ビットｂ１がフラグＢ、ビットｂ０がフラグＣに対応している。また、アドレスＡｄｄ１が１回目の判定結果、アドレスＡｄｄ２が２回目の判定結果というように、通常モードによる判定が行われる都度、前回の判定結果を残したまま、異なるアドレスに新たな判定結果が記録されるようになっている。
【００６４】
フラグＡが“１”となっていれば、フラッシュメモリー１０１から書込用データ８０が正しく読み出せたことを示し、フラグＡが“０”となっていれば、フラッシュメモリー１０１から読み出された書込用データ８０に誤りがあったことを示している。
【００６５】
図９では、アドレスＡｄｄ１〜Ａｄｄ１０の範囲が通常モードによる判定結果の記録領域とされている例を示しており、１０回分の判定結果がＥＥＰＲＯＭ７１に記憶されるようになっている。すべての記録領域（アドレスＡｄｄ１〜Ａｄｄ１０）に判定結果が記録された後は、例えば再びアドレスＡｄｄ１から順に新たな判定結果の記録を行うようにしてもよい。
【００６６】
次に、ステップＳ１７において、データ取得部７０２は、ＵＳＢメモリー８に記憶されている書込用データ８０を、ＵＳＢインターフェイス回路７３によって読み出させることによって取得し（第１データ取得処理）、その書込用データ８０をＤＲＡＭ７５に記憶させる。そして、書込部７０３は、ＤＲＡＭ７５に記憶された書込用データ８０（すなわちデータ取得部７０２によってＵＳＢメモリー８から受信された書込用データ８０）を、メモリーインターフェイス回路７４によってフラッシュメモリー１０１に記憶させる書込処理を実行する。また、書込部７０３による書込処理と並行して、演算処理部７０４は、チェックサム演算器７２によって、ＤＲＡＭ７５に記憶された書込用データ８０のチェックサム値ＳＵＭを算出させる（第１演算処理）。
【００６７】
なお、第１データ取得処理、書込処理、及び第１演算処理のタイミングを調節するためにＤＲＡＭ７５を用いたが、ＤＲＡＭ７５を備えず、ＵＳＢメモリー８から読み出された書込用データ８０に対して直接書込処理、及び第１演算処理が実行されるようにしてもよい。
【００６８】
次に、判定部７０５は、チェックサム演算器７２によって算出されたチェックサム値ＳＵＭと設定値Ｓ（例えば００００ｈ）とが一致するか否かを判定する（ステップＳ１８、第１判定処理）。そして、判定部７０５は、チェックサム値ＳＵＭと設定値Ｓとが一致した場合（ステップＳ１８でＹＥＳ）ステップＳ１９（第１判定結果記録処理）へ移行し、チェックサム値ＳＵＭと設定値Ｓとが一致しなかった場合（ステップＳ１８でＮＯ）ステップＳ２０（第１判定結果記録処理）へ移行する。
【００６９】
ステップＳ１９において、判定結果記録部７０６は、ＥＥＰＲＯＭ７１のフラグＢに対応するビットを“１”とし、ステップＳ２１へ移行する。また、ステップＳ２０において、判定結果記録部７０６は、ＥＥＰＲＯＭ７１のフラグＢに対応するビットを“０”とし、ステップＳ２１へ移行する。
【００７０】
フラグＢが“１”となっていれば、ＵＳＢメモリー８から読み出された書込用データ８０から読み出された書込用データ８０が正しいことを示し、フラグＢが“０”となっていれば、ＵＳＢメモリー８からから読み出された書込用データ８０に誤りがあったことを示している。
【００７１】
ステップＳ２１において、データ取得部７０２は、フラッシュメモリー１０１に記憶されている書込用データ８０を、メモリーインターフェイス回路７４によって読み出させることによって取得し、その書込用データ８０をメモリーインターフェイス回路７４からチェックサム演算器７２へ出力させる（ステップＳ２１、読出し処理）。
【００７２】
次に、演算処理部７０４は、チェックサム演算器７２によって、書込用データ８０のチェックサム値ＳＵＭを算出させる（ステップＳ２２、第２演算処理）。
【００７３】
次に、判定部７０５は、チェックサム演算器７２によって算出されたチェックサム値ＳＵＭと設定値Ｓ（例えば００００ｈ）とが一致するか否かを判定する（ステップＳ２３、第２判定処理）。そして、判定部７０５は、チェックサム値ＳＵＭと設定値Ｓとが一致した場合（ステップＳ２３でＹＥＳ）ステップＳ２４（第２判定結果記録処理）へ移行し、チェックサム値ＳＵＭと設定値Ｓとが一致しなかった場合（ステップＳ２３でＮＯ）ステップＳ２５（第２判定結果記録処理）へ移行する。
【００７４】
ステップＳ２４において、判定結果記録部７０６は、ＥＥＰＲＯＭ７１のフラグＣに対応するビットを“１”とし、ステップＳ２６へ移行する。また、ステップＳ２４において、判定結果記録部７０６は、ＥＥＰＲＯＭ７１のフラグＣに対応するビットを“０”とし、ステップＳ２６へ移行する。
【００７５】
フラグＣが“１”となっていれば、フラッシュメモリー１０１から書込用データ８０が正しく読み出せたことを示し、フラグＣが“０”となっていれば、フラッシュメモリー１０１から読み出された書込用データ８０に誤りがあったことを示している。
【００７６】
ステップＳ２６において、判定部７０５は、（今回の）フラグＡ，Ｂ，Ｃのうち一つでも“０”となっていれば、異常が生じたことを示すエラー信号ＥＲＲを接続端子７７へ出力する。また、判定部７０５は、（今回の）フラグＡ，Ｂ，Ｃがすべて“１”となっていれば、エラー信号ＥＲＲを接続端子７７へ出力することなく処理を終了する。なお、判定部７０５は、エラー信号ＥＲＲと共に、あるいはエラー信号ＥＲＲの代わりに、例えば表示部４７３に、保守作業者等に対してファームウェアのアップデートを再度繰り返すように要求するメッセージを表示したり、保守作業者（サービスマン）を呼ぶように要求するメッセージを表示したりしてもよい。
【００７７】
また、判定結果記録部７０６は、ステップＳ１１〜Ｓ２６が繰り返される都度、判定結果であるフラグＡ，Ｂ，Ｃを異なるアドレスに記憶することにより、異常発生の履歴がＥＥＰＲＯＭ７１に記憶されるようになっている。なお、判定結果記録部７０６は、フラグＡ，Ｂ，Ｃを１回分だけ記憶させる構成であってもよい。
【００７８】
また、例えば制御部１００が、フラッシュメモリー１０１を複数備えていた場合、判定結果記録部７０６は、各フラッシュメモリー１０１に対応してそれぞれ初期フラグ及びフラグＡ，Ｂ，ＣをＥＥＰＲＯＭ７１に記憶させる構成であってもよい。この場合、例えばデータ取得部７０２が、各フラッシュメモリー１０１から書込用データ８０を読み出す際に、各フラッシュメモリー１０１を選択するためのチップセレクト信号を監視し、アクティブとなったチップセレクト信号によって選択されるフラッシュメモリー１０１を示す情報を、フラグＡ，Ｂ，Ｃと対応付けてＥＥＰＲＯＭ７１に記憶させるようにしてもよい。
【００７９】
接続端子７７からエラー信号ＥＲＲが出力された場合、例えば保守作業者は、例えば保守作業用の端末装置をＥＥＰＲＯＭ７１に接続し、初期フラグ、及びフラグＡ，Ｂ，Ｃを読み出すことにより、初期フラグ、及びフラグＡ，Ｂ，Ｃに基づき、フラッシュメモリー１０１にデータを記憶させる際の異常発生原因を特定することが容易となる。
【００８０】
例えば、初期フラグが“０”であれば、フラッシュメモリー１０１の素子不良、フラッシュメモリー１０１の回路基板への実装不良、あるいはメモリーインターフェイス回路７４の異常が生じている可能性が高いと考えられる。
【００８１】
初期フラグが“１”であって、フラグＡが“０”であれば、書込用データ８０が一度は正しくフラッシュメモリー１０１に記憶されたにも関わらず、その後に書込用データ８０のデータ化けが生じたことになるから、フラッシュメモリー１０１の記憶保持に問題がある可能性が高く、従って、フラッシュメモリー１０１の素子不良が生じている可能性が高いと考えられる。
【００８２】
フラグＢが“０”であれば、書込用データ８０がＵＳＢメモリー８から正しく読み出せなかったことになるから、ＵＳＢメモリー８又はＵＳＢインターフェイス回路７３に異常がある可能性が高いと考えられる。
【００８３】
フラグＡ，Ｂが“１”であって、フラグＣが“０“であれば、メモリーインターフェイス回路７４によるデータの読出しは正常であり、かつＵＳＢメモリー８から正しい書込用データ８０が取得されたにもかかわらず、フラッシュメモリー１０１から正しい書込用データ８０が読み出せないことになるから、メモリーインターフェイス回路７４によるフラッシュメモリー１０１へのデータの書き込みの異常、あるいはフラッシュメモリー１０１の素子不良が生じている可能性が高いと考えられる。
【００８４】
このように、ステップＳ１〜Ｓ２６の処理により、初期フラグ、及びフラグＡ，Ｂ，ＣをＥＥＰＲＯＭ７１に記憶させることにより、フラッシュメモリー１０１にデータを記憶させる際の異常発生原因を特定することが容易となる。
【００８５】
なお、ステップＳ２１〜Ｓ２５を実行しない構成としてもよい。また、ステップＳ１２〜Ｓ１６を実行しない構成としてもよい。また、ステップＳ７やステップＳ２６を実行しない構成としてもよい。
【符号の説明】
【００８６】
１  複写機
２  本体部
７  データ書込回路
８  ＵＳＢメモリー
９  切替スイッチ
４０  画像形成部
４７  操作パネル部
７０  書込制御部
７１  ＥＥＰＲＯＭ
７２  チェックサム演算器
７３  ＵＳＢインターフェイス回路
７４  メモリーインターフェイス回路
７６，７７  接続端子
８０  書込用データ
８１  プログラム
８２  チェックサム調節用データ
１００  制御部
１０１  フラッシュメモリー
４７３  表示部
７００  モード設定部
７０１  書込要求受付部
７０２  データ取得部
７０３  書込部
７０４  演算処理部
７０５  判定部
７０６  判定結果記録部
ＥＲＲ  エラー信号
【図１】
2014106758.tif 000003
【図２】
2014106758.tif 000004
【図３】
2014106758.tif 000005
【図４】
2014106758.tif 000006
【図５】
2014106758.tif 000007
【図６】
2014106758.tif 000008
【図７】
2014106758.tif 000009
【図８】
2014106758.tif 000010
【図９】
2014106758.tif 000011