(57)【要約】【課題】ＳＫＨＩＧＨｗａｉｔ時間を可変とすることにより３線式シリアルＥＥＰＲＯＭの信頼性を向上させること。【解決手段】読み出しタイミング時間を可変とし、最適な読み出しタイミング時間を求める工程を有する。又、最適な読み出しタイミング時間を求める工程は、ＥＥＰＲＯＭに記憶しているチェックサムとメモリに読み出したＥＥＰＲＯＭのデータのチェックサムを求め、比較する工程とを有する。【選択図】図２
2006099597.tif 000002
【特許請求の範囲】
【請求項１】
ＥＥＰＲＯＭを搭載する電子機器におけるＥＥＰＲＯＭ制御方法であって、読み出しタイミング時間を可変とし、最適な読み出しタイミング時間を求める工程とを有することを特徴とするＥＥＰＲＯＭ制御方法。
【請求項２】
前記最適な読み出しタイミング時間を求める工程は、ＥＥＰＲＯＭに記憶しているチェックサムとメモリに読み出したＥＥＰＲＯＭのデータのチェックサムを求め、比較する工程とを有することを特徴とする請求項１記載のＥＥＰＲＯＭ制御方法。
【請求項３】
前記最適な読み出しタイミング時間を求める工程は、ＥＰＲＯＭのに記憶している固定データを読み出し、読み出したデータが固定データと同じかどうか比較する工程とを有することを特徴とする請求項１記載のＥＥＰＲＯＭ制御方法。
【請求項４】
前記最適な読み出しタイミング時間を求める工程は、ＥＰＲＯＭのに記憶している読み出しタイミング時間を、確実に読み出せる読み出し時間で読み出す工程と、を有することを特徴とする請求項１記載のＥＥＰＲＯＭ制御方法。
【請求項５】
前記読み出しタイミング時間はＳＫをＨＩＧＨにした時間であることを特徴とする請求項１記載のＥＥＰＲＯＭ制御方法。
【請求項６】
読み出し時間エラーを検出する工程と、エラーを検出した場合に読み出し時間をリセットする工程とを有することを特徴とする請求項１記載のＥＥＰＲＯＭ制御方法。
【請求項７】
請求項１〜６の何れか１項に記載のＥＥＰＲＯＭ制御方法を実行することを特徴とするプログラム。
【請求項８】
請求項１〜６の何れか１項に記載のＥＥＰＲＯＭ制御方法を実行するプログラムを記憶したことを特徴とする、コンピュータにより読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不揮発性半導体メモリで特にシリアルＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory ）の制御方法に関するものである。
【背景技術】
【０００２】
近年、様々な電子機器において不揮発性半導体メモリを使用しているものが増えてきている。その中でも特に小型化でき、コスト的にもメリットのあるシリアルＥＥＰＲＯＭが多く利用されている。例えば、図１０に３線式のシリアルＥＥＰＲＯＭのパッケージ例を示す。ここで示された各端子の機能はそれぞれ図１１に示すように、Ｖccは電源、ＧＮＤは全入出力の基準電圧、０Ｖ、ＣＳはチップセレクト入力、ＳＫはシリアルクロック入力、ＤＩは開始ビット、オペコード、アドレス及びシリアルデータ入力、Ｄ０はシリアルデータ出力、ＲＥＡＤＹ／ＢＵＳＹ内部状態表示出力を示している。特に、３線式の場合は図１２に示すように、ＣＰＵからは１つのポートでＥＥＰＲＯＭのＤＩとＤ０を制御可能な回路構成となっている。又、図１４に示すように、ＥＥＰＲＯＭからデータを読み出すタイミングは、ＳＫの立ち上がりに合わせて読み出せるようになっている。ここで、図１３で示したタイミングチャートの各時間を図１４に示す。これらの時間は、メーカーやチップごとに規定されている。
【０００３】
以下に、図８及び図９を参照してＥＥＰＲＯＭのデータの読み出し処理について説明する。
【０００４】
図８はＥＥＰＲＯＭから１６ビットのデータを任意のアドレスから読み出す処理を示したフローチャート、図９はＥＥＰＲＯＭから１ビットのデータを読み出す処理を示したフローチャートである。
【０００５】
先ず、ステップＳ４００でＥＥＰＲＯＭのＤＩとＳＫをＬＯＷに設定する。次に、ステップＳ４０１でＣＳをＨＩＧＨに設定する。次に、ステップＳ４０２でｔＣＳＳ、即ちＣＳセットアップ時間ｗａｉｔする。次に、ステップＳ４０３でＤＩにスタートビットを書き込み、そしてステップＳ４０４で読み出しのオペコードを入力し、次に、ステップＳ４０５で予め指定された任意のアドレスをＤＩに書き込む。アドレスを書き込んだ後、ＳＫの状態はＨＩＧＨになっている。その後、ステップＳ４０６で後述の１ビットデータ読み出し処理を行い、ステップＳ４０７で１６ビット全てを読み出したか判断し、未だであれば全てを読み出すまでステップＳ４０６、ステップＳ４０７を繰り返す。次に、ステップＳ４０８でＣＰＵのポートを出力にし、ステップＳ４０９でＳＫをＬＯＷに設定し、ステップＳ４１０でｔＳＫＬ時間ｗａｉｔし、ステップＳ４１１でＣＳをＬＯＷへ設定し、ステップＳ４１２でｔＤＦ時間ｗａｉｔし、任意のアドレスから１６ビットデータの読み出し処理が終了する。
【０００６】
又、前述したＥＥＰＲＯＭから１ビット読み出す処理は、先ず、ステップＳ３００でＳＫをＬＯＷへ設定し、ステップＳ３０１でｔＳＫＬ時間ｗａｉｔする。次に、ステップＳ３０２でＣＰＵのポートを入力に設定し、ステップＳ３０３でＤ０から１回リードする。次に、ステップＳ３０４でＳＫをＨＩＧＨに設定し、ステップＳ３０５でｔＳＫＨ時間即ちＳＫＨＩＧＨ時間ｗａｉｔして１ビット読み出し処理を終了している。
【０００７】
以上によりＥＥＰＲＯＭからデータを読み出し処理を実現しているが、上述した各待ち時間はプログラム上固定値になっており、変更ができないようになっている（例えば、特許文献１参照）。
【０００８】
【特許文献１】特開平０５−２５０２５５公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、上記特許文献１で示された制御方法や上述したような一般的なＥＥＰＲＯＭの制御方法においては、前述したような回路構成の都合上Ｄ０から読み出す信号が鈍ってしまうため、ｔＰＤ０やｔＰＤ１のデータ“０”出力遅延時間やデータ“１”出力遅延時間が延びてしまったり、浮遊容量や温度、電源の負荷等によって電圧が変化したりするため、各種待ち時間が変化していた。
【００１０】
しかし、プログラム上各種待ち時間は固定値のため、ＥＥＰＲＯＭへデータを正しく書き込めなかったり、ＥＥＰＲＯＭからデータが正しく読めなかったりした。それにより製品が誤動作し、製品の信頼性を落とす場合があった。又、上記待ち時間の最悪ケースを想定し、十分大きな待ち時間で対応したものもあったが、今度はＥＥＰＲＯＭが動作状態が長くなったため、動作中の電源断等によりＥＥＰＲＯＭのデータが壊れる確率が増え、やはり製品の信頼性を落としていた。
【００１１】
本発明は上記課題に鑑みてなされたもので、最適な待ち時間を得るシリアルＥＥＰＲＯＭの制御方法を提供することにより、ＥＥＰＲＯＭの信頼性を向上させることを目的とする。
【課題を解決するための手段】
【００１２】
上記目的を達成するための本発明は、ＥＥＰＲＯＭを搭載する電子機器におけるＥＥＰＲＯＭ制御方法であって、読み出しタイミング時間を可変とし、最適な読み出しタイミング時間を求める工程とを有することを特徴とする。
【発明の効果】
【００１３】
以上説明したように本発明によれば、最適な待ち時間を得るシリアルEEPROMの制御方法を提供することにより、ＥＥＰＲＯＭの信頼性を向上させる効果がある。
【発明を実施するための最良の形態】
【００１４】
以下、添付図面を参照して本発明の好適な実施の形態を詳細に説明する。
【００１５】
図１は本発明の実施の形態に係るＥＥＰＲＯＭを用いた記録装置のハードウェア構成を説明するブロック図である。尚、この実施の形態では、インクジェットプリンタの場合で説明するが、本発明はこれに限定されるものでなく、マルチファンクションプリンタや複写機等のＥＥＰＲＯＭを搭載した電子機器であっても良い。
【００１６】
図１において、１０はこのインクジェットプリンタ全体を制御するＣＰＵ、１１はフラッシュＲＯＭで、ＣＰＵ１０による制御動作を実行させるためのプログラムや各種データが記憶されている。１２はＤＲＡＭで、ＣＰＵ１０による制御動作時にワークエリアとして使用され各種変数やデータを格納するのに使用される。後述のＳＫのＳＫＨＩＧＨｗａｉｔ時間ワークエリア４０１もここに記憶される。
【００１７】
１５はヘッドカートリッジで、記録ヘッド（インクジェットヘッド）とインクタンクとが一体となって形成されており、キャリッジモータの回転により主走査方向に走査駆動される。１６はヘッドＩ／Ｆ回路で、ＣＰＵバスを介して送られてくる記録データに従ってヘッドカートリッジ１５を駆動して記録を行う。１７は不図示のキャリッジモータや記録媒体の搬送用モータ及び搬送用ローラ等を含む機構部の駆動系を示し、１８は駆動系Ｉ／Ｆ回路で、駆動系１７とＣＰＵバスとを接続し、ＣＰＵバスを介して送られてくる信号に基づいて駆動系１７を駆動している。
【００１８】
１４はＵＳＢ  Ｉ／Ｆ回路で、ホストＰＣ１９と接続するための通信インターフェースを提供している。２１は操作パネルで、プリンタの状態を表示するＬＥＤ、ブザー、各種キー、スイッチ等を有し、操作者による電源オン、電源オフ、メンテナンス動作等の指示を行うためのスイッチをも備えている。２２はパネルＩ／Ｆ回路で、操作パネル２１とＣＰＵバスとのインターフェースを制御している。２３は受信バッファで、ホストコンピュータ１９から送られてきた印刷データを格納するのに使用される。２４はプリントバッファで、ヘッドカートリッジ１５により印刷するための印刷データを格納している。２５は３線式のＥＥＰＲＯＭで、インクジェットプリンタを制御するための様々なデータやＥＥＰＲＯＭデータの正当性をチェックするためのチェックサム、ＳＫＨＩＧＨｗａｉｔ時間或ははＳＫＨＩＧＨｗａｉｔ時間を求めるための固定データ等が記憶されている。
【００１９】
以下に、上記のように構成されたＥＥＰＲＯＭ搭載のインクジェットプリンタにおいて、本発明の実施の形態１に係るシリアルＥＥＰＲＯＭ制御を図２、図３及び図４を参照して説明する。
【００２０】
図２は本発明の実施の形態１に係るＳＫＨＩＧＨｗａｉｔ時間を求めるフローチャート、図３は本発明の実施の形態に係る記録装置におけるＳＫＨＩＧＨｗａｉｔ時間を説明するためのＥＥＰＲＯＭとフラッシュＲＯＭの模式図、図４は本発明の実施の形態に係る記録装置におけるＳＫＨＩＧＨｗａｉｔ時間を記憶するＤＲＡＭ上のエリアを示す模式図である。
【００２１】
先ず、初めにインクジェットプリンタに電源が投入されると、ＣＰＵ１０がフラッシュＲＯＭ１１のプログラムに従いＤＲＡＭ１２等に各種初期設定を行う。その後、ステップＳ５００で図３に示すフラッシュＲＯＭ３０２内に記憶しているＳＫＨＩＧＨｗａｉｔ時間を図４に示すＳＫＨＩＧＨｗａｉｔ時間エリア４０１へ設定する。
【００２２】
次に、ステップＳ５０１で図３に示すＥＥＰＲＯＭ３０１のデータを前述したＥＥＰＲＯＭ読み出し処理で全てＤＲＡＭ１２上のワークエリアへ読み出す。
【００２３】
このとき、ｔＳＫＨ時間はＤＲＡＭ１２上に確保されたＳＫＨＩＧＨｗａｉｔ時間エリア４０１に設定されている時間で読み出している。
【００２４】
次に、ステップＳ５０２でＤＲＡＭ１２上のワークエリアへ読み出したデータのチェックサムを求める。そして、ステップＳ５０３でＥＥＰＲＯＭが記憶しているチェックサムと、ステップＳ５０２で求めたチェックサムとを比較する。
【００２５】
もし、チェックサムが同じであれば後述のステップＳ５０８を実行する。
【００２６】
もし、チェックサムが同じでなければステップＳ５０４を実行する。
【００２７】
ステップＳ５０４では、ＳＫＨＩＧＨｗａｉｔ時間エリア４０１に設定されている時間に１００ｎｓｅｃ加える。
【００２８】
そして、ステップＳ５０５でＳＫＨＩＧＨｗａｉｔ時間エリア４０１に設定されている時間は１０ｍｓｅｃ以上かどうか判断し、もし、１０ｍｓｅｃ以上であればステップＳ５０６を実行し、そうでなければステップＳ５０１へ戻り、処理を繰り返す。
【００２９】
次に、ステップＳ５０６でＥＥＰＲＯＭエラーを表示し、ステップＳ５０７でSKHIGHwait時間エリア４０１の値をリセットする。
【００３０】
最後に、ステップＳ５０８でSKHIGHwait時間エリア４０１に設定されている時間をフラッシュＲＯＭ３０２のＳＫＨＩＧＨｗａｉｔ時間へ記憶する。
【００３１】
これ以降、ＥＥＰＲＯＭへアクセスする場合は、ＳＫＨＩＧＨｗａｉｔ時間エリア４０１に設定されている時間を使用することで、最適にアクセスすることができる。
【００３２】
又、ここで上述した待ち時間は一例であり、チップや回路構成等により異なっていても良い。
【００３３】
又、本実施の形態では待ち時間の上限を判断しているため、本当のエラーも検出できる効果がある。
【００３４】
＜実施の形態２＞
本発明の実施の形態２に係るシリアルＥＥＰＲＯＭ制御を図５を参照して説明する。
【００３５】
図５は本発明の実施の形態１に係るSKHIGHのwait時間を求めるフローチャートである。ハードウェア構成は実施の形態１と同様であるため、これについての説明は省略する。
【００３６】
先ず初めに、インクジェットプリンタに電源が投入されるとＣＰＵ１０がフラッシュＲＯＭ１１のプログラムに従いＤＲＡＭ１２等に各種初期設定を行う。その後、ステップＳ６００で図３に示すフラッシュＲＯＭ３０２内に記憶しているＳＫＨＩＧＨｗａｉｔ時間を図４に示すＳＫＨＩＧＨｗａｉｔ時間エリア４０１へ設定する。
【００３７】
次に、ステップＳ６０１で図３に示すＥＥＰＲＯＭ３０１の固定データを前述したＥＥＰＲＯＭ読み出し処理でＤＲＡＭ１２上のワークエリアへ読み出す。
【００３８】
このとき、ｔｓＫＨ時間はＤＲＡＭ１２上に確保されたＳＫＨＩＧＨｗａｉｔ時間エリア４０１に設定されている時間で読み出している。
【００３９】
次に、ステップＳ６０２でＤＲＡＭ１２上のワークエリアへ読み出したデータと、固定値である０ｘＡ５Ａ５とを比較する。
【００４０】
もし、固定値０ｘＡ５Ａ５と同じであれば後述のステップＳ６０７を実行する。
【００４１】
もし、固定値と同じでなければステップＳ６０３を実行する。
【００４２】
ステップＳ６０３では、ＳＫＨＩＧＨｗａｉｔ時間エリア４０１に設定されている時間に１００ｎｓｅｃ加える。
【００４３】
そして、ステップＳ６０４でＳＫＨＩＧＨｗａｉｔ時間エリア４０１に設定されている時間は１０ｍｓｅｃ以上かどうか判断し、もし、１０ｍｓｅｃ以上であればステップＳ６０５を実行し、そうでなければステップＳ６０１へ戻り、処理を繰り返す。
【００４４】
次に、ステップＳ６０５でＥＥＰＲＯＭエラーを表示し、ステップＳ６０６でＳＫＨＩＧＨｗａｉｔ時間エリア４０１の値をリセットする。
【００４５】
最後に、ステップＳ６０７でＳＫＨＩＧＨｗａｉｔ時間エリア４０１に設定されている時間をフラッシュＲＯＭ３０２のＳＫＨＩＧＨｗａｉｔ時間へ記憶する。
【００４６】
これ以降、ＥＥＰＲＯＭへアクセスする場合は、ＳＫＨＩＧＨｗａｉｔ時間エリア４０１に設定されている時間を使用することで、最適にアクセスすることができる。
【００４７】
ここで上述した待ち時間は一例であり、チップや回路構成等により異なっていても良い。
【００４８】
又、本実施の形態では待ち時間の上限を判断しているため、本当のエラーも検出できる効果がある。又、ＥＥＰＲＯＭ全体ではなく、固定データ部分だけを読み出すため、最適な時間をより早く求められる効果がある。
【００４９】
＜実施の形態３＞
本発明の第３の実施形態に係るシリアルＥＥＰＲＯＭ制御を図６を参照して説明する。
【００５０】
図６は本発明の実施の形態３に係るＳＫＨＩＧＨのｗａｉｔ時間を求めるフローチャートである。ハードウェア構成は実施の形態１と同様であるため、これについての説明は省略する。
【００５１】
先ず初めに、インクジェットプリンタに電源が投入されると、ＣＰＵ１０がフラッシュＲＯＭ１１のプログラムに従いＤＲＡＭ１２等に各種初期設定を行う。その後、ステップＳ７００で図４に示すＳＫＨＩＧＨのｗａｉｔ時間エリア４０１へ１００ｍｓｅｃを設定する。
【００５２】
次に、ステップＳ７０１で図７に示すＥＥＰＲＯＭ７０１のＳＫＨＩＧＨのｗａｉｔ時間を前述したＥＥＰＲＯＭ読み出し処理でＤＲＡＭ１２上のワークエリアへ読み出す。
【００５３】
このとき、ｔｓＫＨ時間はステップＳ７００で設定された時間１００ｍｓｅｃで読み出している。
【００５４】
次に、ステップＳ７０２で先のステップS ７０１で読み出したＳＫＨＩＧＨｗａｉｔ時間をＳＫＨＩＧＨｗａｉｔ時間エリア４０１に設定する。
【００５５】
これ以降、ＥＥＰＲＯＭへアクセスする場合は、ＳＫＨＩＧＨｗａｉｔ時間エリア４０１に設定されている時間を使用することで、最適にアクセスすることができる。
【００５６】
ここで上述した待ち時間は一例であり、チップや回路構成等により異なっていても良い。又、待ち時間を機内温度から求めても良い。
【００５７】
又、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（又は記録媒体）を、システム或は装置に供給し、そのシステム或は装置のコンピュータ（又はＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。又、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【００５８】
更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【００５９】
以上説明したように本実施の形態によれば、ＳＫＨＩＧＨｗａｉｔ時間を可変とすることにより３線式シリアルＥＥＰＲＯＭの信頼性を向上させる効果がある。
【図面の簡単な説明】
【００６０】
【図１】本発明の実施の形態に係る記録装置のハードウェア構成を示すブロック図である。
【図２】本発明の実施の形態１に係るＳＫＨＩＧＨｗａｉｔ時間を求めるフローチャートである。
【図３】本発明の実施の形態に係る記録装置におけるＳＫＨＩＧＨｗａｉｔ時間を説明するためのＥＥＰＲＯＭとフラッシュＲＯＭの模式図である。
【図４】本発明の実施の形態に係る記録装置におけるＳＫＨＩＧＨｗａｉｔ時間を記憶するＤＲＡＭ上のエリアを示す模式図である。
【図５】本発明の実施の形態２に係るＳＫＨＩＧＨｗａｉｔ時間を求めるフローチャートである。
【図６】本発明の実施の形態３に係るＳＫＨＩＧＨｗａｉｔ時間を求めるフローチャートである。
【図７】本発明の実施の形態３に係るＳＫＨＩＧＨｗａｉｔ時間を説明するためのＥＥＰＲＯＭの模式図である。
【図８】従来の実施形態に係るＥＥＰＲＯＭからデータを読み出すフローチャートである。
【図９】従来の実施形態に係るＥＥＰＲＯＭから１ビットのデータを読み出すフローチャートである。
【図１０】３線式シリアルＥＥＰＲＯＭのパッケージを示した模式図である。
【図１１】３線式シリアルＥＥＰＲＯＭの端子機能を説明する模式図である。
【図１２】３線式シリアルＥＥＰＲＯＭとＣＰＵの接続回路を説明する模式図である。
【図１３】３線式シリアルＥＥＰＲＯＭのデータタイミングチャートである。
【図１４】３線式シリアルＥＥＰＲＯＭのタイミングチャートにおける待ち時間を示す模式図である。
【符号の説明】
【００６１】
１０  ＣＰＵ
１１  フラッシュＲＯＭ
１２  ＤＲＡＭ
１４  ＵＳＢ  Ｉ／Ｆ回路
１５  ヘッドカートリッジ
１６  ヘッドＩ／Ｆ回路
１８  駆動系Ｉ／Ｆ回路
２１  操作パネル
２２  パネルＩ／Ｆ回路
２３  受信バッファ
２４  プリントバッファ
２５  ３線式のＥＥＰＲＯＭ
【図１】
2006099597.tif 000003
【図２】
2006099597.tif 000004
【図３】
2006099597.tif 000005
【図４】
2006099597.tif 000006
【図５】
2006099597.tif 000007
【図６】
2006099597.tif 000008
【図７】
2006099597.tif 000009
【図８】
2006099597.tif 000010
【図９】
2006099597.tif 000011
【図１０】
2006099597.tif 000012
【図１１】
2006099597.tif 000013
【図１２】
2006099597.tif 000014
【図１３】
2006099597.tif 000015
【図１４】
2006099597.tif 000016