(57)【要約】【課題】  搭載するメモリ数を少なくしてコスト削減を図る。【解決手段】  プログラム用フラッシュメモリ２は、特殊コマンドによってのみアクセス可能な特殊領域であるセキュリティエリアを備えた不揮発性メモリである。制御部１は、上記セキュリティエリアに対して機器固有情報を記憶する。上記機器固有情報としては、装置上で実行されるプログラム、ネットワーク通信をするときに使用するＭＡＣアドレス、制御基板に搭載している回路の補正値、プリンタコントローラに搭載しているヘッド駆動Ｉ／Ｆの補正値がある。さらに、セキュリティエリアに記憶した特性値に基いてプログラム用フラッシュメモリに読み書きを行う制御を行う。【選択図】        図１
2013041450.tif 000002
【特許請求の範囲】
【請求項１】
セキュリティ情報を記憶し、予め決められたコマンドによってのみアクセス可能な特殊領域を備えた不揮発性記憶手段に対して、前記予め決められたコマンドによって前記不揮発性記憶手段の前記特殊領域にアクセスし、前記特殊領域の空き領域に機器固有情報を書き込む手段を備えたことを特徴とする情報処理装置。
【請求項２】
前記機器固有情報は、情報処理装置で実行されるプログラムであることを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記機器固有情報は、情報処理装置がネットワーク通信をするときに使用するＭＡＣアドレスであることを特徴とする請求項１記載の情報処理装置。
【請求項４】
前記機器固有情報は、情報処理装置の制御基板に搭載している回路の補正値であることを特徴とする請求項１記載の情報処理装置。
【請求項５】
前記機器固有情報は、情報処理装置のプリンタコントローラに搭載しているヘッド駆動回路の補正値であることを特徴とする請求項１記載の情報処理装置。
【請求項６】
前記機器固有情報は前記不揮発性記憶手段の特性値であり、該特性値に基いて前記不揮発性記憶手段に読み書きを行う手段を有することを特徴とする請求項１記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ファクシミリ装置、プリンタ、複写機、複合機、パーソナルコンピュータ等を含む情報処理装置に関する。
【背景技術】
【０００２】
ファクシミリ装置、プリンタ、複写機、複合機、パーソナルコンピュータ等を含む情報処理装置では、内蔵されている電子基板には様々な種類のメモリが搭載されている。
上記メモリは、揮発性メモリと不揮発性メモリに分類され、それぞれさらに用途毎のメモリが搭載されている。
不揮発性メモリでは、プログラムの格納にはフラッシュメモリが、装置固有のデータの格納にはＥＥＰＲＯＭがそれぞれ多く用いられている。
従来、通信制御プログラムを記憶した不揮発性メモリを設けた情報処理装置（例えば、特許文献１参照）があった。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかしながら、従来の情報処理装置では、用途毎にメモリを搭載することになる。
したがって、多くのメモリが搭載されることとなり、情報処理装置の製造コストを上昇させるという問題があった。
この発明は上記の点に鑑みてなされたものであり、搭載するメモリ数を少なくしてコスト削減を図ることを目的とする。
【課題を解決するための手段】
【０００４】
この発明は上記の目的を達成するため、セキュリティ情報を記憶し、予め決められたコマンドによってのみアクセス可能な特殊領域を備えた不揮発性記憶手段に対して、上記予め決められたコマンドによって上記不揮発性記憶手段の上記特殊領域にアクセスし、上記特殊領域の空き領域に機器固有情報を書き込む手段を備えた情報処理装置を提供する。
【発明の効果】
【０００５】
この発明による情報処理装置は、搭載するメモリ数を少なくしてコスト削減を図ることができる。
【図面の簡単な説明】
【０００６】
【図１】発明の一実施形態であるプリンタコントローラの機能構成を示すブロック図である。
【図２】図１に示すプログラム用フラッシュメモリのエリア内容を示す説明図である。
【図３】図１に示す制御部が図２に示すプログラム用フラッシュメモリのセキュリティエリアに書き込みを行う処理を示すフローチャート図である。
【図４】図１に示す制御部が図２に示すプログラム用フラッシュメモリのセキュリティエリアをロックする処理を示すフローチャート図である。
【図５】図１に示す制御部が図２に示したプログラム用フラッシュメモリのセキュリティエリアをリードする処理を示すフローチャート図である。
【図６】発明の他の実施形態であるコントローラの機能構成を示すブロック図である。
【図７】発明のまた他の実施形態であるプリンタコントローラの機能構成を示すブロック図である。
【０００７】
【図８】図１又は図７に示すプリンタコントローラに搭載しているヘッド駆動Ｉ／Ｆの補正値の一例を示す図である。
【図９】図１又は図７に示すプログラム用フラッシュメモリのデバイス特性値の一覧を示す説明図である。
【図１０】図１又は図７に示すプログラム用フラッシュメモリの動作のタイミングチャート図である。
【図１１】図１、図６、図７にそれぞれ示す制御部がプログラム用フラッシュメモリにアクセスするタイミングチャート図である。
【図１２】図１１に示すアクセスタイミングの各期間の詳細の説明図である。
【図１３】図１、図６、図７にそれぞれ示す制御部におけるプログラム用フラッシュメモリのアクセスに関する設定レジスタの詳細を示す説明図である。
【発明を実施するための形態】
【０００８】
以下、この発明を実施するための形態を図面に基づいて具体的に説明する。
図１は、発明の一実施形態であるプリンタコントローラの機能構成を示すブロック図である。
このプリンタコントローラは、ファクシミリ装置、プリンタ、複写機、及び複合機を含む画像形成装置に設けられ、その画像形成装置におけるプリントを制御する情報処理装置である。
【０００９】
このプリンタコントローラは、制御部１、プログラム用フラッシュメモリ２、発振器（ＸＴＬ）３と８、エスエスシージー（Ｓｐｒｅａｄ  Ｓｐｅｃｔｒｕｍ  Ｃｌｏｃｋ  Ｇｅｎｅｒａｔｏｒ：ＳＳＣＧ）４、ＣＰＵ５、クロックドライバ（ＣＬＫドライバ）６、ディーディーアールエスディーラム（Ｄｏｕｂｌｅ−Ｄａｔａ−Ｒａｔｅ  Ｓｙｎｃｈｒｏｎｏｕｓ  Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ：ＤＤＲ  ＳＤＲＡＭ）７、パーソナルコンピュータインタフェース（ＰＣ  Ｉ／Ｆ）９、ローカルエリアネットワークコントローラ（ＬＡＮ  Ｃｔｌ）１０を備えている。
【００１０】
また、このプリンタコントローラは、フォント用マスクＲＯＭ１１、インクカートリッジイーイーピーロムインタフェース（（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ：ＥＥＰＲＯＭ）Ｉ／Ｆ）１２、本体ＥＥＰＲＯＭ１３、操作パネルＩ／Ｆ１４、各センサＩ／Ｆ１５、各アクチュエータＩ／Ｆ１６、及びヘッド駆動Ｉ／Ｆ１７を備えている。
【００１１】
制御部１は、プリンタコントローラの全体の制御を司り、不揮発性記憶手段の恒久的にロック可能な領域に情報を記憶する手段の機能を果たす。
プログラム用フラッシュメモリ２は、恒久的にロック可能な領域を備えた不揮発性メモリであり、プリンタコントローラで実行されるプログラムを記憶する。また、恒久的にロック可能な領域に、機器固有情報（「装置固有情報」ともいう）、ＭＡＣアドレス、プリンタコントローラに搭載している回路の補正値、プリンタコントローラに搭載しているヘッド駆動Ｉ／Ｆの補正値、プログラム用フラッシュメモリ２の特性値を記憶する。
【００１２】
ＸＴＬ３と８は、基準クロックを発生する。
ＳＳＣＧ４は、ＸＴＬ３の発生する基準クロックの周波数に対して微小な範囲でゆっくりした周期で周波数変調をしてＥＭＩスペクトラムを積分的に平坦化し、必要なタイミング信号を生成する。
ＣＰＵ５は、ＳＳＣＧ４が生成するタイミング信号に基いて印刷動作を制御する。
ＣＬＫドライバ６は、ＳＳＣＧ４が生成するタイミング信号に基いてＤＤＲ  ＳＤＲＡＭ７への読み書きを制御する。
【００１３】
ＤＤＲ  ＳＤＲＡＭ７は、各種の情報を記憶する読み書き可能なメモリである。
ＰＣ  Ｉ／Ｆ９は、図示を省略したＰＣと接続し、そのＰＣとのデータ通信を司る。
ＬＡＮ  Ｃｔｌ１０は、図示を省略したＬＡＮ上のＰＣ、画像形成装置と接続し、そのＰＣ、画像形成装置とのデータ通信を司る。
フォント用マスクＲＯＭ１１は、印刷に使用される文字のデータを記憶した不揮発性メモリである。
【００１４】
インクカートリッジＥＥＰＲＯＭ  Ｉ／Ｆ１２は、ＫＣＹＭの各インクカートリッジに設けられたＥＥＰＲＯＭとの読み書きを行う。
本体ＥＥＰＲＯＭ１３は、ＫＣＹＭの各インクカートリッジに設けられたＥＥＰＲＯＭに記憶されている情報を取り込んで所定の処理が行われた後に記憶する不揮発性メモリである。
操作パネルＩ／Ｆ１４は、図示を省略した操作パネルから入力された操作情報と操作パネルに表示する表示情報を操作パネルとの間でやり取りする。
【００１５】
各センサＩ／Ｆ１５は、画像形成装置の各所に設けられたセンサの情報の入力を制御する。
各アクチュエータＩ／Ｆ１６は、図示を省略した記録ヘッドの各インクジェットヘッドにおける、圧電素子，気泡発生用ヒータを含むアクチュエータを選択的に駆動する制御を司る。
ヘッド駆動Ｉ／Ｆ１７は、記録ヘッドを用紙に対して主走査方向及び副走査方向に駆動する制御を司る。
【００１６】
図２は、図１に示したプログラム用フラッシュメモリ２のエリア内容を示す説明図である。
プログラム用フラッシュメモリ２は、通常エリア（通常領域）１８とセキュリティエリア（セキュリティ領域）１９とを備えている。
通常エリア１８は、数メガバイト（ＭＢ）〜数十メガバイト（ＭＢ）の容量（サイズ）であり、この容量は製品の使用によって決定される。
【００１７】
すなわち、通常エリア１８は、フラッシュメモリの一般的な仕様が適用されるエリアである。
例えば、フラッシュメモリの４メガバイト品とは、通常エリアの容量が４メガバイトということになる。
この通常エリア１８にはプログラムを記憶する。
この通常エリア１８は不揮発性であり、ソフトウェア、ハードウェアによって書き込みと消去を禁止するプロテクト機能を備えている。
【００１８】
また、電気的な一括消去、プログラムができる。
そして、コマンドやデバイスの端子処理等でロックをかけることは可能であるが、ソフト暴走、電源のオン時又はオフ時の電圧の乱れ等の原因で書き換わりの可能性はゼロではない。
すなわち、恒久的にロック可能な領域ではないため、情報の書き替えの条件が発生すると書替えられる可能性がある領域である。
【００１９】
一方、セキュリティエリア１９は、通常エリア１８とは異なる特殊な領域である。
このセキュリティエリア１９にアクセスする際には特殊なコマンドが必要であり、恒久的なロックをかけることができる。
すなわち、このセキュリティエリア１９は、恒久的にロック可能な領域であり、通常は書き換えが発生しない。
【００２０】
そして、本来はデバイスのシリアルＮｏ、課金情報等のセキュリティ情報の記憶を目的としたエリアである。
このセキュリティ情報は、装置の出荷後に出荷元を特定するのに使用されたり、利用許可を得ずして使用できないようにするために使用される。
例えば、利用制限をする場合、コントローラ処理の際に読み出したセキュリティ情報が想定外の値の場合には動作しないように停止させる制御を行うようにすることができる。
【００２１】
ただし、デバイスのシリアルＮｏの格納として使用するのではなく、一般ユーザも使用可能であり、任意のデータの書き込みを行い、恒久的なロックをかけることが可能な領域でもある。
容量は一般的に小さい。例えば、２５６バイトの容量（サイズ）である。
そのため、シリアルＮｏ用のエリアというイメージが強く、ユーザが活用可能なことはあまり知られていない。
セキュリティエリア１９は、ソフト的にプログラムが可能なのでＰＣＢのアセンブリ後、製品ファームを書き込むタイミングで任意の値を書き込むことができる。
しかも、恒久的なロックが可能である。
【００２２】
通常、マスクロム（ＭＡＳＫ  ＲＯＭ）のような恒久的に保持するデバイスはソフトで任意に情報を書き込むことができない。
また、通常エリア１８とは異なるエリアとして独立して存在しているため、通常エリア１８が仮にファームのバージョンアップをした際にプログラムの容量が変わったとしても影響を受けないというメリットもある。
したがって、コントローラの組立時に任意の数値を書き込みたい場合や、独立して恒久的な保護が要求されるような情報の記憶に最適なエリアである。
【００２３】
そこで、プログラム用フラッシュメモリ２の今まで使用していなかったセキュリティエリア１９に機器固有情報を記憶することにより、従来使用していたＥＥＰＲＯＭを削減することができる。
この機器固有情報とは、上述したセキュリティ情報が重要な情報であるのに対して、プリンタコントローラと一対一の情報であり、この情報が無くても動作は可能であるが、プリンタコントローラを最適な状態で動作させるために必要な情報である。
【００２４】
例えば、後述するＭＡＣアドレス、画像形成装置の制御基板に搭載している回路の特性値、ヘッド駆動Ｉ／Ｆの補正値などである。
まず、プログラム用フラッシュメモリ２のセキュリティエリア１９に機器固有情報の１つであるプログラムを書き込む処理を説明する。
このプログラムは、情報処理装置で実行されるプログラムである。
【００２５】
図３は、図１に示した制御部１が図２に示したプログラム用フラッシュメモリのセキュリティエリア１９に書き込みを行う処理を示すフローチャート図である。
図１の制御部１は、図２のセキュリティエリア１９にプログラムを書き込む場合、セキュリティエリア１９に対してアクセス状態にする必要があり、図３のステップ（図中「Ｓ」で示す）１で、セキュリティエリア開始コマンドを発行し、ステップ２へ進む。
ステップ２では、プログラムコマンドシーケンスのライトを行い、ステップ３へ進む。
このプログラムコマンドシーケンスのライトの処理は、図２の通常エリア１８へのプログラムの書き込みと同じである。
【００２６】
ステップ３では、システムからのベリファイデータのポーリングを行い、ステップ４へ進む。
ステップ４では、ベリファイデータＯＫか否かを判断し、ＯＫと判断したら（Ｙの場合）、ステップ５へ進む。
上記ステップ３と４の処理は、自動プログラムアルゴリズムで実行することができる。
一方、ステップ４でベリファイデータＯＫではないと判断したら（Ｎの場合）、ステップ３へ戻る。
【００２７】
ステップ５では、ラストアドレスか否かを判断し、ラストアドレスと判断したら（Ｙの場合）、ステップ６に進む。
また、ステップ５でラストアドレスではないと判断したら（Ｎの場合）、ステップ８に進み、次アドレスに移行し、ステップ２へ戻って次のプログラムの書き込みに進む。
ステップ６では、プログラム書き込み完了で、書き込む全てのアドレスに書き込みが完了したら、ステップ７で最後にセキュリティエリア終了コマンドを発行して通常状態に戻り、この処理を終了する。
【００２８】
このように、プログラム用フラッシュメモリ２のセキュリティエリア１９にその他の機器固有情報を書き込む場合も、上述と同様にして書き込むことができる。
このようにして、ＥＥＰＲＯＭで記憶していた情報をフラッシュメモリのセキュリティエリアで記憶することにより、ＥＥＰＲＯＭの削減によるコントローラ製造のコストダウンを図ることができる。
【００２９】
図４は、図１に示した制御部１が図２に示したプログラム用フラッシュメモリのセキュリティエリア１９をロックする処理を示すフローチャート図である。
図１の制御部１は、図２のセキュリティエリア１９をロックする場合、セキュリティエリア１９に対してアクセス状態にする必要があり、図４のステップ（図中「Ｓ」で示す）１１で、セキュリティエリア開始コマンドを発行し、ステップ１２へ進む。
ステップ１２では、ロックコマンドを発行し、ステップ１３へ進む。
このロックコマンドの発行からの処理は、図２の通常エリア１８へのロックの場合と同じである。
【００３０】
ステップ１３では、ロック完了確認のポーリングを行い、ステップ１４へ進む。
ステップ１４では、ロック完了か否かを判断し、ロック完了と判断したら（Ｙの場合）、ステップ１５へ進む。
一方、ステップ１４でロック完了ではないと判断したら（Ｎの場合）、ステップ１３へ戻ってロック完了確認のポーリングを再実行する。
【００３１】
ステップ１５では、ロック完了で、ステップ１６へ進む。
ステップ１６では、最後にセキュリティエリア終了コマンドを発行して通常状態に戻り、この処理を終了する。
上述した機器固有情報の書き込みとロックの処理は、ＰＣＢの製造工程もしくはコントローラの製造工程で行うと良い。
【００３２】
図５は、図１に示した制御部１が図２に示したプログラム用フラッシュメモリのセキュリティエリア１９をリードする処理を示すフローチャート図である。
図１の制御部１は、図２のセキュリティエリア１９のデータリードをする場合、セキュリティエリア１９に対してアクセス状態にする必要があり、図５のステップ（図中「Ｓ」で示す）２１で、セキュリティエリア開始コマンドを発行し、ステップ２２へ進む。
ステップ２２では、リードコマンドを発行し、ステップ２３へ進む。
【００３３】
ステップ２３では、ラストアドレスか否かを判断し、ラストアドレスと判断したら（Ｙの場合）、ステップ２４に進む。
また、ステップ２３でラストアドレスではないと判断したら（Ｎの場合）、ステップ２６に進み、次アドレスに移行し、ステップ２２へ戻って次のデータリードに進む。
ステップ２４では、データリード完了で、読み出す全てのデータの読み出しが完了したら、ステップ２５で最後にセキュリティエリア終了コマンドを発行して通常状態に戻り、この処理を終了する。
【００３４】
次に、他の実施形態を説明する。
図６は、発明の他の実施形態であるコントローラの機能構成を示すブロック図である。
図６のコントローラにおいて、ＸＴＬ２３と２８、ＳＳＣＧ２４、ＣＰＵ２５、ＣＬＫドライバ２６、ＤＤＲ  ＳＤＲＡＭ２７、ＰＣ  Ｉ／Ｆ２９、及びＬＡＮ  Ｃｔｌ３０は、それぞれ図１に示したＸＴＬ３と８、ＳＳＣＧ４、ＣＰＵ５、ＣＬＫドライバ６、ＤＤＲ  ＳＤＲＡＭ７、ＰＣ  Ｉ／Ｆ９、及びＬＡＮ  Ｃｔｌ１０と同じ機能を果たすので、それらの説明を省略する。
ホストＩ／Ｆ３１は、ホスト装置とのデータのやり取りのインタフェースを司る。
【００３５】
このコントローラは、ファクシミリ装置、プリンタ、複写機、及び複合機を含む画像形成装置に設けられ、その画像形成装置におけるネットワーク通信を制御する情報処理装置である。
上記機器固有情報の他の例として、ネットワーク通信に使用するＭＡＣアドレスがある。
従来のコントローラでは、ネットワーク通信に使用するＭＡＣアドレスを固有情報として記憶するためのＥＥＰＲＯＭを設けている。
ＭＡＣアドレスはアップデートする必要がなく、なるべく書き換わりが起こらないようなメモリで保持する必要がある。
【００３６】
そこで、図６に示したコントローラでは、プログラム用フラッシュメモリ２１のセキュリティエリア（図２のセキュリティエリア１９）にＭＡＣアドレス２２を記憶する。
このように、ＭＡＣアドレスを格納するために専用に設けるＥＥＰＲＯＭを削減することが可能になる。
プログラム用フラッシュメモリ２１のセキュリティエリア１９へのＭＡＣアドレスの書き込み、その書き込み後のロック、およびセキュリティエリア１９に書き込まれたＭＡＣアドレスのリードの処理は、制御部２０が、図３〜図５にそれぞれ示した処理と同様にして実行する。
【００３７】
次に、また他の実施形態を説明する。
図７は、この発明のさらに他の実施形態であるプリンタコントローラの機能構成を示すブロック図である。
図７に示すプリンタコントローラにおいて、図１と共通する部分には同一符号を付し、それらの説明を省略する。
上記機器固有情報の他の例として、画像形成装置の制御基板に搭載している回路の特性値がある。
画像形成装置の制御基板に搭載しているアナログＩＣを含む回路はその特性値にばらつきがあり、その精度を上げることはコストアップにつながる。
【００３８】
そこで、回路の特性値を測定し、それらの特性値を上げるための補正値を求め、その補正値によって補正を行うことにより、回路に必要な精度を確保する方式をとる場合がある。
上記補正値は制御基板に実装されたＩＣと１対１の情報となる。
従来のプリンタコントローラでは、上記補正値を固有情報として記憶するためのＥＥＰＲＯＭを設けている。
上記補正値はアップデートする必要がなく、なるべく書き換わりが起こらないようなメモリで保持する必要がある。
【００３９】
そこで、図７に示したプリンタコントローラでは、プログラム用フラッシュメモリ２′のセキュリティエリア（図２のセキュリティエリア１９）に回路の補正値３２を記憶する。
このように、回路の補正値を格納するために専用に設けるＥＥＰＲＯＭを削減することが可能になる。
プログラム用フラッシュメモリ２′のセキュリティエリア１９への回路の補正値の書き込み、その書き込み後のロック、およびセキュリティエリア１９に書き込まれた回路の補正値のリードの処理は、制御部１′が、図３〜図５にそれぞれ示した処理と同様にして実行する。
【００４０】
次に、さらに他の実施形態を説明する。
上記回路の特性値として、ヘッド駆動Ｉ／Ｆの特性値を用いた場合を説明する。
図１又は図７に示したプリンタコントローラを搭載した画像形成装置では、インクを吐出するのにアナログ駆動波形を用いる。
例えば、その駆動波形を生成するＤＡコンバータのばらつき（このばらつきの特性として出力のオフセット電圧がある。）を抑えることで印刷時の画質の向上につながる。
まず、画像形成装置の制御基板（ＰＣＢ）が実装された時点で検査を行い、制御基板上の各回路を補正値毎にランク分けする。
【００４１】
図８は、図１又は図７に示したプリンタコントローラに搭載しているヘッド駆動Ｉ／Ｆの補正値の一例を示す図である。
図８には、１〜５のランク毎にヘッド駆動Ｉ／Ｆの出力電圧の補正値の一例を示している。
図１のプログラム用フラッシュメモリ２又は図７のプログラム用フラッシュメモリ２′のセキュリティエリア（図２のセキュリティエリア１９）に、図８に示した補正値の一覧を記録したテーブルデータを記憶する。
【００４２】
プログラム用フラッシュメモリ２又は２′のセキュリティエリア１９への補正値の書き込み、その書き込み後のロック、およびセキュリティエリア１９に書き込まれた補正値のリードの処理は、制御部１又は１′が、図３〜図５にそれぞれ示した処理と同様にして実行する。
【００４３】
上記補正値は、ヘッド駆動Ｉ／Ｆの部品がプリント基板（ＰＷＢ）に実装されて初めて決定されるものであり、その決定後はすぐにプログラム用フラッシュメモリ２又は２′のセキュリティエリア１９へ書き込むようにすると良い。この書き込み後は、補正値を書き換わらないようにすると良い。
図８において、例えば、ランク１の回路の場合、制御部１又は１′は、その回路の出力電圧に−４Ｖの補正を行う。
【００４４】
こうして、画像形成装置の制御基板上の各回路についてそれぞれ出力電圧の補正を行うことにより、各回路の特性にバラツキのない印刷を実行することができ、高画質の印刷を実現できる。
このように、図８に示した補正値の一覧をプログラム用フラッシュメモリ２又は２′に記憶することにより、専用のＥＥＰＲＯＭの廃止が可能になる。
【００４５】
次に、さらにまた他の実施形態を説明する。
図９は、図１に示したプログラム用フラッシュメモリ２又は図７に示したプログラム用フラッシュメモリ２′のデバイス特性値の一覧を示す説明図である。
この実施形態では、図１に示したプログラム用フラッシュメモリ２又は図７に示したプログラム用フラッシュメモリ２′の図２に示したセキュリティエリア１９をデバイス特性記憶領域として利用する。
【００４６】
そして、図９に示した図１に示したプログラム用フラッシュメモリ２又は図７に示したプログラム用フラッシュメモリ２′の特性値を記憶し、図１の制御部１又は図７の制御部１′は、デバイス特性記憶領域に記憶した特性値に基いてプログラム用フラッシュメモリ２又は２′の読み書きを行う。
このようにすれば、プログラム用フラッシュメモリ２又は２′毎にそれぞれの特性値にあわせたアクセスを行うことでデータの読み書きについて最適なパフォーマンスが実現できる。
【００４７】
図９の各特性値の内容については公知なので次に簡単に説明する。
１．アドレス０に格納した「ｔＲＣ」はリードサイクルタイムである。
２．アドレス１に格納した「ｔＡＣＣ」はアドレスアクセスタイムである。
３．アドレス２に格納した「ｔＣＥ」はチップイネーブルからデータ出力までのタイムである。
４．アドレス３に格納した「ｔＰＡＣＣ」はページアクセスタイムである。
５．アドレス４に格納した「ｔＯＥ」はアウトプットイネーブルからデータ出力までのタイムである。
６．アドレス５に格納した「ｔＤＦ」はチップイネーブルから出力フローティングまでのタイムである。
７．アドレス６に格納した「ｔＯＨ」は前サイクルデータの出力保持タイムである。
８．アドレス７に格納した「ｔＯＥＨ」は出力イネーブルホールドタイムである。
【００４８】
図１０は、図１に示したプログラム用フラッシュメモリ２又は図７に示したプログラム用フラッシュメモリ２′の動作のタイミングチャート図である。
図１０に示したタイミングチャート図には、それぞれのＡＣ特性値が記載している。
例えば、ｔＡＣＣは図１に示したプログラム用フラッシュメモリ２又は図７に示したプログラム用フラッシュメモリ２′へのアクセスが開始されてデータが出力されるまでの特性値である。
この特性値の数値が小さいほど応答性がよく、アクセススピード向上につなげることができる。
【００４９】
この特性値には個別のバラツキが存在する。例えば、１２０ｎｓかかるものもあれば７０ｎｓのものもある。
そこで、図９に示した図１に示したプログラム用フラッシュメモリ２又は図７に示したプログラム用フラッシュメモリ２′の特性値を測定する。
また、プログラム用フラッシュメモリ２又はプログラム用フラッシュメモリ２′のセキュリティエリア１９をデバイス特性記憶領域に割り当てる。
そして、上記デバイス特性記憶領域に図９に示した各特性値を記憶する。
【００５０】
上記デバイス特性記憶領域への特性値の書き込み、その書き込み後のロック、およびセキュリティエリア１９に書き込まれた特性値のリードの処理は、制御部１又は１′が、図３〜図５にそれぞれ示した処理と同様にして実行する。
また、制御部１又は１′は、それぞれのプログラム用フラッシュメモリ２又はプログラム用フラッシュメモリ２′に対する読み書きの際、デバイス特性記憶領域に記録されている特性値に基いて制御を実行する。
【００５１】
このようにして、プログラム用フラッシュメモリの個別の特性値をプログラム用フラッシュメモリのロック可能な領域であるセキュリティエリア（デバイス特性記憶領域）に記憶することにより、専用の不揮発性メモリを搭載する必要がなくなる。
したがって、メモリ数を削減して装置製造のコストを低減することができる。
また、プログラム用フラッシュメモリに読み書きする際、個別の特性値に応じた動作を行えるので、データ読み書きについて最適なパフォーマンスが実現できる。
【００５２】
次に、さらにまた他の実施形態を説明する。
図１１は、図１に示した制御部１、図６に示した制御部２０、又は図７に示した制御部１′がプログラム用フラッシュメモリにアクセスするタイミングチャート図である。
図１２は、図１１に示したアクセスタイミングの各期間の詳細の説明図である。
図１３は、図１に示した制御部１、図６に示した制御部２０、又は図７に示した制御部１′におけるプログラム用フラッシュメモリのアクセスに関する設定レジスタの詳細を示す説明図である。
【００５３】
図１に示した制御部１、図６に示した制御部２０、又は図７に示した制御部１′は、それぞれ図１１に示したタイミングでそれぞれのプログラム用フラッシュメモリ２、２１、２′にアクセスする。
図１１中のｔＡ２Ｃ、ｔＣ２Ｏ、ｔＷＯＥ、ｔＲＥＬの各期間は、図１２に示すように設計されている。
上記ｔＷＯＥは、制御部１、２０、１′内の図示を省略した設定レジスタで設定をすることにより、自由に期間を変えられる部分である。
【００５４】
そこで、プログラム用フラッシュメモリ２、２１、２′が応答速度の速いデバイスの場合、上記ｔＷＯＥの期間を短く設定する。
また、プログラム用フラッシュメモリ２、２１、２′が応答速度の遅いデバイスの場合、上記ｔＷＯＥの期間を長く設定する。
このように設定することにより、制御部１、２０、１′が、それぞれのプログラム用フラッシュメモリ２、２１、２′を読み書きする際、メモリ毎の特性値のバラツキに応じた最適な読み書き動作を行うことができ、処理効率を向上させることができる。
【００５５】
次に、制御部１、２０、１′によるｔＷＯＥの設定処理について説明する。
制御部１、２０、１′は、それぞれ図１３に示した設定レジスタのビット（Ｂｉｔ）０７〜０４に数値を設定することによってｔＷＯＥの期間を設定する。
例えば、ｔＷＯＥを７０ｎｓに設定する時は、設定レジスタのビット０７〜０４にそれぞれ“０”“１”“１”“０”の各ビットを設定する。
そうすると、図１２に示したように、ｔＷＯＥの期間はＲＣＳＦＴＩＭ設定値（設定値：６）＋１クロックとなり、合計７クロックで７０ｎｓとなる。
これは、１００ＭＨｚの時、１クロック１０ｎｓとなるためである。
【００５６】
このようにして、プログラム用フラッシュメモリ２、２１、２′のセキュリティエリアに記憶されているデバイスの固有の特性値でレジスタを設定し、個別のバラツキに対して最適な動作を行うことができる。
すなわち、プログラム用フラッシュメモリ２、２１、２′のセキュリティエリアでそれぞれプログラム用フラッシュメモリ２、２１、２′の特性値を記憶して、その特性値に応じて読み書き動作を行えるので、データの読み書き速度のパフォーマンスの最適化を図ることができる。
【００５７】
この実施形態のプリンタコントローラ及びコントローラは、今まで使用していなかったフラッシュメモリのセキュリティエリアに機器固有情報を格納する。
したがって、従来使用していたＥＥＰＲＯＭを削減することができるのでメモリの集約化ができる。
このようにして、搭載するメモリ数を少なくして、プリンタコントローラ及びコントローラの製造コストの削減を図ることができる。
また、最悪の固体の特性値に合わせた固定の動作タイミングで動作することなく、デバイスそれぞれの特性値に合わせた動作タイミングで動作することができるので、メモリの個別の特性値に合わせた動作で最適なパフォーマンスが実現できる。
【符号の説明】
【００５８】
１、１′、２０：制御部    ２、２′、２１：プログラム用フラッシュメモリ    ３、８、２３、２８：ＸＴＬ    ４、２４：ＳＳＣＧ    ５、２５：ＣＰＵ    ６、２６：ＣＬＫドライバ    ７、２７：ＤＤＲ  ＳＤＲＡＭ    ９、２９：ＰＣ  Ｉ／Ｆ    １０、３０：ＬＡＮ  Ｃｔｌ    １１：フォント用マスクＲＯＭ    １２：インクカートリッジＥＥＰＲＯＭ  Ｉ／Ｆ    １３：本体ＥＥＰＲＯＭ    １４：操作パネルＩ／Ｆ    １５：各センサＩ／Ｆ    １６：各アクチュエータＩ／Ｆ    １７：ヘッド駆動Ｉ／Ｆ    １８：通常エリア    １９：セキュリティエリア    ２２：ＭＡＣアドレス    ３１：ホストＩ／Ｆ    ３２：補正値
【先行技術文献】
【特許文献】
【００５９】
【特許文献１】特開２００８−１８６４７６号公報
【図１】
2013041450.tif 000003
【図２】
2013041450.tif 000004
【図３】
2013041450.tif 000005
【図４】
2013041450.tif 000006
【図５】
2013041450.tif 000007
【図６】
2013041450.tif 000008
【図７】
2013041450.tif 000009
【図８】
2013041450.tif 000010
【図９】
2013041450.tif 000011
【図１０】
2013041450.tif 000012
【図１１】
2013041450.tif 000013
【図１２】
2013041450.tif 000014
【図１３】
2013041450.tif 000015