(57)【特許請求の範囲】
【請求項１】
スリープ機能を備えた印刷装置であって、
制御プログラムが保持されている不揮発性の第１の記憶部と、
起動時に前記第１の記憶部から制御プログラムが読み出されて書き込まれる揮発性の第２の記憶部と、
前記第２の記憶部に書き込まれた制御プログラムを前記第２の記憶部から読み出して実行することにより当該印刷装置を制御する制御部と、
を備え、
前記制御部は、前記第２の記憶部に書き込まれた制御プログラムに代えて前記第１の記憶部に保持されている所定の制御プログラムを読み出して実行することにより前記第２の記憶部をセルフリフレッシュモードに設定してから当該装置をスリープ状態へ移行制御することを特徴とする印刷装置。
【請求項２】
スリープ状態のときにメイン電源とサブ電源とのうちメイン電源からの電源供給が停止されるスリープ機能を備えた印刷装置であって、
前記メイン電源から電源が供給されるとともに、制御プログラムが保持されている不揮発性の第１の記憶部と、
前記サブ電源から電源が供給されるとともに、起動時に前記第１の記憶部から制御プログラムが読み出されて書き込まれる揮発性の第２の記憶部と、
前記第２の記憶部に書き込まれた制御プログラムを前記第２の記憶部から読み出して実行することにより当該印刷装置を制御する制御部と、
を備え、
前記制御部は、前記第２の記憶部に書き込まれた制御プログラムに代えて前記第１の記憶部に保持されている所定の制御プログラムを読み出して実行することにより前記第２の記憶部をセルフリフレッシュモードに設定してから当該装置を前記スリープ状態へ移行制御することを特徴とする印刷装置。
【請求項３】
前記制御部は、前記メイン電源から電源が供給される第１の制御部と前記サブ電源から電源が供給される第２の制御部とを備え、
前記第１の制御部が前記第１の記憶部に保持されている所定の制御プログラムを読み出して実行することにより前記第２の記憶部をセルフリフレッシュモードに設定してから当該装置を前記スリープ状態へ移行制御することを特徴とする請求項２に記載の印刷装置。
【請求項４】
前記第２の制御部が当該印刷装置をスリープ状態から復帰させることを特徴とする請求項３に記載の印刷装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はスリープモードを維持するサブ電源を備えた印刷装置に関する。
【背景技術】
【０００２】
今日、プリンタ装置や複写機等の電子機器において、各種の節電対策が行なわれ、例えば、機器内の電子回路に使用されるＤＲＡＭ（Dynamic Random Access Memory）をセルフリフレッシュモードに設定し、ＤＲＡＭに記憶されたデータを保持しつつ消費電力の削減を図るスリープモードが提案されている。
【０００３】
また、コンピュータネットワークに接続された印刷装置に対し、遠隔操作で電源投入や、装置のシャットダウンを行うウェイク・オン・ラン（Wake-on-LAN）を使用した省電力システムも提案されている。このシステムは、マジックパケットと呼ばれる特殊なパケットを起動させたい印刷装置に対して送出することによって、装置の電源を自動的に入れることができる。
【０００４】
尚、特許文献１は情報処理装置において、不揮発性メモリのデータを電源再投入時に読み出す処理が可能であり、不揮発性メモリへの書き込み処理をアイドル状態となっているデバイスに関してのみ実行し、書き込み処理の時間短縮を図る発明を開示する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平１１−１３４０７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ＣＰＵがシステムエラーをする事無く、スリープ状態へ移行可能な印刷装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明に係る印刷装置は、スリープ機能を備えた印刷装置であって、制御プログラムが保持されている不揮発性の第１の記憶部と、起動時に前記第１の記憶部から制御プログラムが読み出されて書き込まれる揮発性の第２の記憶部と、前記第２の記憶部に書き込まれた制御プログラムを前記第２の記憶部から読み出して実行することにより当該印刷装置を制御する制御部と、を備え、前記制御部は、前記第２の記憶部に書き込まれた制御プログラムに代えて前記第１の記憶部に保持されている所定の制御プログラムを読み出して実行することにより前記第２の記憶部をセルフリフレッシュモードに設定してから当該装置をスリープ状態へ移行制御することを特徴とする。
また、本発明に係る他の態様の印刷装置は、スリープ状態のときにメイン電源とサブ電源とのうちメイン電源からの電源供給が停止されるスリープ機能を備えた印刷装置であって、前記メイン電源から電源が供給されるとともに、制御プログラムが保持されている不揮発性の第１の記憶部と、前記サブ電源から電源が供給されるとともに、起動時に前記第１の記憶部から制御プログラムが読み出されて書き込まれる揮発性の第２の記憶部と、
前記第２の記憶部に書き込まれた制御プログラムを前記第２の記憶部から読み出して実行することにより当該印刷装置を制御する制御部と、を備え、前記制御部は、前記第２の記憶部に書き込まれた制御プログラムに代えて前記第１の記憶部に保持されている所定の制御プログラムを読み出して実行することにより前記第２の記憶部をセルフリフレッシュモードに設定してから当該装置を前記スリープ状態へ移行制御することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、ＣＰＵがシステムエラーをする事無く、スリープ状態へ移行可能な印刷装置を提供することができる。
【図面の簡単な説明】
【００１０】
【図１】本実施形態のプリンタ装置の回路ブロック図である。
【図２】(ａ)は、本実施形態に使用するＦＰＧＡ内のレジスタの構成を示す図であり、（ｂ）は、上記レジスタの各ビットの内容を説明する図である。
【図３】本実施形態のプリンタ装置に使用されるＤＲＡＭコントローラのレジスタの構成の一部を説明する図である。
【図４】実施形態の処理動作を説明するフローチャートである。
【図５】実施形態の変形例の処理動作を説明するフローチャートである。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態について、図面を参照しながら説明する。
図１は、本実施形態のプリンタ装置（印刷装置）に使用されるＩ／Ｆコントローラの回路ブロック図である。尚、同図に示す点線Ａより上部はサブ電源によって動作する回路であり、プリンタ装置１がスリープ中においても電力が供給される。また、同図に示す点線Ａより下部はメイン電源によって動作する回路であり、スリープ中においては電力供給が行なわれず、消費電力の削減が図られる。但し、プリンタ装置の不図示のメインＳＷを遮断した場合、上記サブ電源及びメイン電源には、共に電源が供給されない。
【００１２】
メイン電源によって動作する回路には、同図に示すＣＰＵ２、ＵＳＢデバイス３、ＡＳＩＣ（Application Specific Integrated Circuit）４、ＵＳＢホスト５、フラッシュメモリ６、オペレーションパネル７、ＲＴＣ（real time clock）８が含まれる。
【００１３】
ＣＰＵ２は後述するシステムプログラム（制御プログラム）に従って、本実施形態のプリンタ装置１の制御を行う。ＵＳＢデバイス３は、例えばパーソナルコンピュータ（ＰＣ）とＵＳＢケーブルで接続され、パーソナルコンピュータ（ＰＣ）と通信を行い、パーソナルコンピュータ（ＰＣ）から印刷データを受信する。
【００１４】
ＡＳＩＣ４は、ＣＰＵ２とはＰＣＩ＿ＢＵＳ（PeriheralComponents Interconnect Bus）によって接続され、内蔵する圧縮／伸長回路により、ビデオデータの圧縮又は伸長処理を行なう。また、伸長処理を行なったビデオデータをエンジンに出力する。また、ＵＳＢホスト５には、ＳＳＤ（Flash Solid State Drive）記憶デバイス等のオプション装置が接続され、後述するＣＰＵ２によるハード設定が行われる。
【００１５】
フラッシュメモリ６はＣＰＵ２とＬＯＣＡＬ＿ＢＵＳを介して接続され、プリンタ装置１の制御プログラムやデータが記憶されている。この制御プログラムは後述するＤＲＡＭ１０に読み出され、ＣＰＵ２の制御に使用される。尚、ＲＴＣ８は時計機能を有し、ＳＥＲＩＡＬ＿ＢＵＳを介してＣＰＵ２に接続されている。
【００１６】
オペレーションパネル７には、グラフィックＬＣＤや、４個のスイッチ（ＳＷ１〜４）、及び２個のＬＥＤ１、２が実装され、ＳＥＲＩＡＬ＿ＢＵＳを介してＣＰＵ２に接続されている。尚、４個のスイッチのなかで、スイッチＳＷ２は後述するＦＰＧＡ９（記憶保持制御部）に接続されており、スイッチ（ＳＷ２）の押下によってＷＡＫＥ＿ＵＰ信号２をＦＰＧＡ９に出力する。また、ＬＥＤ２もＦＰＧＡ９に接続されおり、プリンタ装置１がスリープ時、点滅信号がＬＥＤ２に送信される。
【００１７】
一方、サブ電源によって動作する回路には、ＦＰＧＡ（Field-Programmable Gate Array）９、ＤＲＡＭ１０、ＬＡＮ＿ＰＨＹ（Local Area Network Physical Layer）１１が含まれる。ＦＰＧＡ９は、例えばハードウエア記述言語を使用して内部のレジスタに機能を追加できるデバイスであり、後述する本実施形態の特徴構成がこのレジスタに設定されている。この設定により、例えばプリンタ装置１のスリープ時、ＣＰＵ２からのＣＫＥ信号（クロックイネーブル信号）をオフして（ＣＫＥ＿ＯＵＴ＝ＧＮＤ固定として）、ＤＲＡＭ１０のセルフリフレッシュを継続させる。また、上記ＬＥＤ２を点滅させ、プリンタ装置１がスリープ中であることをユーザに知らせる。
【００１８】
ＤＤＲ２（Double-Data-Rate2）等のＤＲＡＭ１０は、ＭＥＭ＿ＢＵＳを介してＣＰＵ２に接続され、スリープ中はセルフリフレッシュモードに設定され消費電力を抑えた状態で、その内容が保持される。また、ＬＡＮ＿ＰＨＹ１１はＬＡＮケーブルを介して外部のパーソナルコンピュータ（ＰＣ）に接続され、パーソナルコンピュータ（ＰＣ）から印刷データやマジックパケットを受信する。
【００１９】
ＬＡＮ＿ＰＨＹ１１はパーソナルコンピュータ（ＰＣ）からのマジックパケットを受信すると、ＷＡＫＥ＿ＯＮ＿ＬＡＮ機能により、パケット内容をＰＨＹ自身で解析し、ＷＡＫＥ＿ＵＰ信号１をＦＰＧＡ９に出力する。尚、ＦＰＧＡ９はＬＡＮ＿ＰＨＹ１１からのＷＡＫＥ＿ＵＰ信号１、又は前述のスイッチＳＷ２からのＷＡＫＥ＿ＵＰ信号２を受信するとメイン電源にオン信号を出力する。
【００２０】
図２（ａ）はＦＰＧＡ９の内部レジスタの一部の構成を示す図であり、本例に関連する例えばアドレス（0x806）のＤ１〜Ｄ１５のビット構成を説明する図である。尚、本例においては、ビットＤ１、Ｄ２、Ｄ４、Ｄ５、Ｄ８〜Ｄ１５に情報が書き込まれている。また、同図（ｂ）は対応するビットの説明を記載するものである。
【００２１】
先ず、Ｄ０のＣＫＥＯＦＦビットには、前述のＤＲＡＭ１０のＣＫＥ信号の制御に関する情報がセットされる。例えば、“０”は通常動作の設定であり、ＣＰＵ２からのＣＫＥをＤＲＡＭ１０に接続する設定である。一方、“１”の設定は、スリープ中、ＤＲＡＭ１０のＣＫＥをＧＮＤに接続し、ＤＲＡＭ１０のセルフリフレッシュを継続する設定である。
【００２２】
また、Ｄ１のＨｏｌｄＥｎａｂｌｅビットは、ビット情報の保護に関する設定であり、“０”は通常動作の設定であり、“１”の設定は、ビットＤ１、Ｄ２、Ｄ４、Ｄ５、Ｄ８〜Ｄ１５に設定された情報を保持する設定である。
【００２３】
また、Ｄ４のＬＥＤ２Ｂｌｉｎｋビットは、前述のＬＥＤ２の点滅に関する設定であり、例えば“０”の設定は初期状態を示し、“１”の設定は、ＬＥＤ２を例えば４秒周期で点滅させる設定であり、ユーザにスリープ中であることを知らせる。
【００２４】
また、Ｄ５のＳＷ２ＷａｋｅＵｐビットは、メイン電源のオンに関する設定であり、“０”は初期状態を示し、“１”はメイン電源オフ時にスイッチＳＷ２を押下すると、メイン電源オン信号を出力する設定である。
【００２５】
さらに、Ｄ１５〜Ｄ８のＦＬＡＧビットは、スリープモードの各種設定に関するフラグの設定に関し、“０”は初期状態を示し、“１”の設定はスリープ前の状態の設定を意味し、このフラグ（ＦＬＡＧ）エリアを利用してスリープ前の状態を記憶し、スリープ状態からの復帰時にはこのフラグを参照し、プリンタ装置１の起動手順を決定する。尚、ビットＤ２、Ｄ３、Ｄ６、Ｄ７は空き状態である。
【００２６】
図３は本例に使用しているＣＰＵ２のＤＲＡＭコントローラのレジスタの１つで、セルフリフレッシュに関するレジスタを示す。例えば、ＣＰＵ２がＤ７ビット（ＳＲＥＦＲビット）を“１”にセットすると、ＣＰＵ２に内蔵されたＤＲＡＭコントローラからＤＲＡＭ１０に対してコマンドが発行され、ＤＲＡＭ１０をセルフリフレッシュモードとする。一方、ＳＲＥＦＲビットを“０”にセットすると、同様にＤＲＡＭ１０にコマンドが発行され、ＤＲＡＭ１０はノーマルモードとなる。
【００２７】
以上の構成において、以下に本例のプリンタ装置１におけるスリープモードへの移行処理、及びスリープモードからの復帰処理を説明する。
図４は本例の処理を説明するフローチャートであり、先ずメインＳＷがオフした状態では、Ｉ／Ｆコントローラを含むプリンタ装置１の全ての回路に電力供給が行なわれていない。すなわち、この状態では前述のメイン電源によって駆動するＣＰＵ２、ＵＳＢデバイス３、ＡＳＩＣ４等の回路のみならず、サブ電源によって駆動するＦＰＧＡ９、ＤＲＡＭ１０、ＬＡＮ＿ＰＨＹ１１の回路も動作を停止している。
【００２８】
この状態において、メインＳＷをオンすると（ステップ（以下、Ｓで示す）１）、先ずサブ電源がオンする（Ｓ２）。すなわち、図１に示す点線より上部の回路に電力供給が行なわれる。この時、ＦＰＧＡ９はリセット信号（ＲＥＳＥＴ信号）をアクティブにしている。
【００２９】
次に、ＦＰＧＡ９はＣＰＵ２からのＣＫＥ信号（図１のＣＫＥ＿ＩＮ）をＤＲＡＭ１０に接続する（Ｓ３）。すなわち、ＦＰＧＡ９に入力するＣＫＥ＿ＩＮをＣＫＥ＿ＯＵＴに接続し、ＣＰＵ２からのＣＫＥ信号（図１のＣＫＥ＿ＩＮ）をＤＲＡＭ１０に接続する。また、この時ＦＰＧＡ９のＤ８〜Ｄ１５ビットに初期化を示すフラグ“００ｈ”を設定する。
【００３０】
次に、ＦＰＧＡ９はメイン電源にオン信号を出力する（Ｓ４）。この処理によって、エンジン側に設けられたメイン電源がオンし（Ｓ５）、図１の点線Ａより下部の回路にも電源が供給される。その後、ＦＰＧＡ９はリセット信号を解除する。上記処理によって、ＣＰＵ２が起動し（Ｓ６）、フラッシュメモリ６から制御プログラムが読み出され、レジスタやＩ／Ｏの初期設定が行なわれる（Ｓ７）。
【００３１】
次に、ＤＲＡＭ１０を一旦セルフリフレッシュモードに設定する（Ｓ８）。この処理は、後述するスリープモードからの復帰の場合と処理を共通にするためである。
次に、ＣＰＵはＦＰＧＡ９に設定してＣＰＵ２のＣＫＥをＤＲＡＭに接続する（Ｓ９）。つまり、図２に示すＤ０のＣＫＥＯＦＦビットを“０”にする。
【００３２】
次に、ＤＲＡＭをノーマルモードに設定する。すなわち、図３のＤ７ビット（ＳＲＥＦＲビット）を“０”に設定する（Ｓ１０）。この処理によって、ＤＲＡＭ１０はデータのリードライトが可能な通常状態となる。
【００３３】
次に、ＦＰＧＡ９のフラグビットのチェックを行う。すなわち、前述の図２のＤ１５〜Ｄ８に設定されたフラグのチェックを行う。先ず、Ｄ１５〜Ｄ８に設定されたフラグが“００ｈ”であるか判断する（Ｓ１１）。この場合、この処理はメインＳＷを投入した場合であり、Ｄ１５〜Ｄ８に設定されたフラグは“００ｈ”である（Ｓ１１がＹＥＳ）。
【００３４】
この場合、ＤＲＡＭ１０には制御プログラムやデータが未だ書き込まれていないので、ＤＲＡＭ１０のライト／リード／ベリファイ等のチェックを行う（Ｓ１２）。
次に、ＵＳＢホスト５のハードの設定を行う（Ｓ１３）。この時ＵＳＢホスト５にＳＳＤ記憶デバイス１３が搭載されているか否かに係わらず、この処理が行われる。
【００３５】
次に、ＯＳ（オペレーティングシステム）をフラッシュメモリ６から読み出し、ＤＲＡＭ１０に書き込む（Ｓ１４）。その後、ＦＰＧＡ９のフラグを“００ｈ”にクリアし、ＤＲＡＭ１０上のＯＳスタート番地へジャンプする（Ｓ１５）。
【００３６】
尚、上記処理Ｓ１２〜Ｓ１４に要する時間は、およそ２０秒程度であるが、後述するスリープモードからの復帰の場合は、この部分が全部または一部削除可能であり起動時間が短縮される。
【００３７】
次に、ＣＰＵ２はスリープ要求が有るか判断し（Ｓ１６）、プリンタ装置１としての印刷データの受信、画像メモリへの展開、エンジンへのビデオ転送・印刷の通常動作を行う（Ｓ１７）。例えば、ＬＡＮ＿ＰＨＹ１１を介してパーソナルコンピュータ（ＰＣ）から印刷データが入力すると、ＣＰＵ２は印刷データの受信処理を行い、更にコマンド解析を行なってビデオデータに変換し、ＤＲＡＭ１０の所定エリアにビデオデータを展開する。さらに、ＣＰＵ２はＤＲＡＭ１０からビデオデータを読み出し、ＡＳＩＣ４によって必要な伸張処理を施し、エンジンへビデオデータの転送を行ない、記録媒体に印刷出力を行わせる。
【００３８】
上記処理はプリンタ装置１のメインＳＷを投入した際の処理の流れである。すなわち、プリンタ装置１がスリープ状態では無く、完全に電源供給が行なわれていない状態からのプリンタ装置１の起動の流れである。
【００３９】
上記のようにしてプリンタ装置１が駆動を開始し、プリンタ装置１が通常動作を行なっている間、同時にスリープ状態への移行のチェックも並行して行われる（Ｓ１６）。このスリープ状態への移行は、例えばオペレーションパネル７のスイッチ操作が予め設定した一定時間行なわれない場合や、パーソナルコンピュータ（ＰＣ）等のホスト機器からの印刷データの受信が一定時間行なわれない場合等において、スリープ状態への移行が行なわれる（Ｓ１６でＹＥＳ）。
【００４０】
上記のような条件でスリープ状態への移行が開始されるが、その手順は以下の処理によって行なわれる。先ず、フラッシュメモリ６の所定アドレスにジャンプし、移行処理を開始する（Ｓ１８）。この処理はスリープ中ＤＲＡＭ１０をセルフリフレッシュして制御プログラムやデータを保持するが、プログラム自体はＤＲＡＭ１０に存在しており、そのままセルフリフレッシュの設定を行うと、ＣＰＵ２がシステムエラーを起こすため、スリープ状態に設定するためのプログラムをフラッシュメモリ６の所定アドレス以降に記憶させておき、移行処理の際、このプログラムを読み出すためフラッシュメモリ６の対応するアドレスにジャンプするものである。
【００４１】
次に、ＳＳＤ記憶デバイス１３が接続されているか判断する（Ｓ１９）。すなわち、ＵＳＢホスト５に前述のＳＳＤがオプションとして接続されているか判断し、例えばＳＳＤ記憶デバイス１３が接続されている場合（Ｓ１９がＹＥＳ）、ＦＰＧＡ９にフラグ“ＡＡｈ”をセットする（Ｓ２０）。すなわち、ＵＳＢホスト５にＳＳＤ記憶デバイス１３が接続されている場合、ＣＰＵ２はＦＰＧＡ９に制御信号を送り、ＦＰＧＡ９のＤ１５〜Ｄ８ビットにフラグ“ＡＡｈ”をセットする（Ｓ２０）。一方、ＵＳＢホスト５にＳＳＤ記憶デバイス１３が接続されていない場合（Ｓ１９がＮＯ）、ＦＰＧＡ９のＤ１５〜Ｄ８ビットにフラグ“５５ｈ”をセットする（Ｓ２１）。
【００４２】
次に、セルフリフレッシュの設定を行なう（Ｓ２２）。この設定は、前述の図３に示すＣＰＵ２内のレジスタのＤ７のＳＲＥＦＲビットを“１”に設定する。このＤ７のビットは前述のように、スリープ状態への移行時、ＣＰＵ２に内蔵されたＤＲＡＭコントローラからＤＲＡＭ１０に対してコマンドが発行され、ＤＲＡＭ１０をセルフリフレッシュモードに設定するものである。
【００４３】
次に、ＦＰＧＡ９に設定してＤＲＡＭ１０のＣＫＥ信号をローにする（Ｓ２３）。すなわち、ＣＰＵ２はＦＰＧＡ９に制御信号を送り、ＦＰＧＡ９のＤ０のＣＫＥＯＦＦビットを“１”に設定する。この処理により、ＤＲＡＭ１０はセルフリフレッシュモードに移行し、低消費電力でその記憶された制御プログラムやデータを保持する。
【００４４】
ＦＰＧＡ９に上記設定が行なわれると、ＦＰＧＡ９はメイン電源をオフする信号をエンジンに出力し（Ｓ２４）、このオフ信号によって図１に示すメイン電源によって駆動する回路動作は停止する（Ｓ２５）。すなわち、ＣＰＵ２や、ＵＳＢデバイス３、ＡＳＩＣ４等の回路動作は停止する。上記処理により、以後のスリープ中プリンタ装置１の消費電力を削減することができる。
【００４５】
次に、上記スリープ状態からの復帰手順を説明する。
上記スリープ状態では、サブ電源が供給されている回路、即ちＦＰＧＡ９や、ＤＲＡＭ１０、ＬＡＮ＿ＰＨＹ１１のみが動作している。この状態において、例えばパーソナルコンピュータ（ＰＣ）からＬＡＮを経由してマジックパケットがＬＡＮ＿ＰＨＹ１１に入力すると（Ｓ２６）、ＬＡＮ＿ＰＨＹ１１のＷＡＫＥ＿ＯＮ＿ＬＡＮ機能により、ＬＡＮ＿ＰＨＹ１１からＷＡＫＥ＿ＵＰ信号１がＦＰＧＡ９に出力される（Ｓ２７）。
【００４６】
尚、前述のオペレーションパネル７に配設されたスイッチ（ＳＷ２）を押下することによってもＦＰＧＡ９にＷＡＫＥ＿ＵＰ信号２を送信することができる（Ｓ２８、Ｓ２９）。
ＦＰＧＡ９は上記ＷＡＫＥ＿ＵＰ信号１、又はＷＡＫＥ＿ＵＰ信号２を受信すると、ＦＰＧＡ９はスリープ状態からの復帰を認識し、メイン電源をオンさせるオン信号をエンジンに出力する（Ｓ４）。この処理によって、エンジン側に設けられたメイン電源がオンし（Ｓ５）、前述と同様、図１の点線Ａより下部の回路にも電源が供給される。
【００４７】
その後、前述において説明したようにＣＰＵ２の起動し（Ｓ６）レジスタやＩ／Ｏの初期設定を行ない（Ｓ７）、ＤＲＡＭ１０を一旦セルフリフレッシュモードに設定する（Ｓ８）。そして、ＣＰＵ２のＣＫＥをＤＲＡＭに接続し（Ｓ９）、ＤＲＡＭ１０をノーマルモードに設定する。
【００４８】
次に、ＦＰＧＡ９のフラグビットのチェックを行う。すなわち、前述の図２のＤ１５〜Ｄ８に設定されたフラグのチェックを行う。先ず、Ｄ１５〜Ｄ８に設定されたフラグが“００ｈ”であるか判断する（Ｓ１１）。前述の例ではメインＳＷをオンしてプリンタ装置１の駆動を開始させる処理であったので、ＦＰＧＡ９のフラグは“００ｈ”であったが、今回はスリープ状態からの復帰であり、前述の処理（Ｓ２０、又はＳ２１）によってフラグは“ＡＡｈ”又は“５５ｈ”に設定されている。
【００４９】
したがって、先ずＦＰＧＡ９のフラグが“ＡＡｈ”であるか判断し（Ｓ３０）、ＦＰＧＡ９のフラグが“ＡＡｈ”であれば（Ｓ３０がＹＥＳ）、前述のようにＵＳＢホスト５に制御部１３が接続されている場合である。この場合、ＵＳＢホスト５にＳＳＤ記憶デバイス１３のハード設定を行い（Ｓ３１）、ＦＰＧＡ９のフラグを“００ｈ”にクリアし、ＤＲＡＭ１０上のＯＳスタート番地へジャンプし（Ｓ１５）、通常動作を行なう（Ｓ１６、Ｓ１７）。
【００５０】
すなわち、この場合ＤＲＡＭ１０のデータは、そのまま保持されているので、改めてオペレーションシステム（ＯＳ）をフラッシュメモリ６からＤＲＡＭ１０に書き込む必要がなく、ＤＲＡＭ１０のＯＳスタート番地に直ちにジャンプすることができる。このように処理することにより、前述のメインＳＷをオンした場合に比べて高速に通常動作状態まで起動することができる。尚、上記ＵＳＢホスト５のハード設定に費やす時間はおよそ２秒程度である。すなわち、前述の処理Ｓ１２〜Ｓ１４に要する時間、およそ２０秒に対してプリンタ装置１を高速に通常動作状態まで移行することができる。
【００５１】
一方、上記判断（Ｓ３０）において、ＦＰＧＡ９のフラグが“ＡＡｈ”ではない場合（Ｓ３０がＮＯ）、更にＦＰＧＡ９のフラグが“５５ｈ”であるか判断する（Ｓ３２）。ここで、ＦＰＧＡ９のフラグが“５５ｈ”であれば（Ｓ３２がＹＥＳ）、ＵＳＢホスト５にＳＳＤ記憶デバイス１３が接続されていない場合であり、この場合、直ちにＦＰＧＡ９のフラグを“００ｈ”にクリアし、ＤＲＡＭ１０上のＯＳスタート番地へジャンプし（Ｓ１５）、通常動作を行なう（Ｓ１６、Ｓ１７）。したがって、この場合にはＵＳＢホスト５のハード設定処理も行なわないため、更に高速にプリンタ装置１を通常動作状態まで移行することができる。
【００５２】
さらに、ＦＰＧＡ９のフラグが“５５ｈ”ではない（Ｓ３２がＮＯ）、想定外のフラグ値であり、例えば静電気ノイズ等の外来ノイズによりＦＰＧＡ９のフラグ値が破壊されたことを示している。この場合、ＤＲＡＭ１０に記憶された制御プログラムやデータも破壊されている可能性が高い。したがって、この場合にはＤＲＡＭ１０に記憶した制御プログラムやデータを使用することなく、ＦＰＧＡ９のＤ１５〜Ｄ８ビットのフラグを“ＡＡｈ”に戻し（Ｓ３３）、リブートを実行する。
【００５３】
尚、図５に示すフローチャートは、上記実施形態の変形例を説明するものである。上記図４に示す処理と異なる処理は、処理（Ｓ７）後に、ＦＰＧＡ９のフラグをチェックする処理を挿入した点である。したがって、他の処理については前述の図４に示す処理と同様であり、図５に示すフローチャートにおいて図４の処理と同じステップ番号で示し、処理の説明を省略する。
【００５４】
すなわち、図５に示す処理の場合、ＣＰＵ２が起動し（Ｓ６）、レジスタやＩ／Ｏの初期設定を行なった（Ｓ７）後、直ちにＦＰＧＡ９に設定したフラグのチェックを行ない（Ｓ３４）、フラグが想定の値、即ち“００ｈ”、又は“ＡＡｈ”、又は“５５ｈ”ではない場合（Ｓ３４がＮＯ）、直ちにＦＰＧＡ９の１５〜Ｄ８ビットのフラグを“００ｈ”に戻し（Ｓ３５）、リブートを実行する。
【００５５】
このように処理することによって、より早い段階でフラグのチェックを行い、想定外のフラグ値である場合、早期にリブート処理を行うことによって、ＤＲＡＭ１０が使用可能状態になる前に（Ｓ１０の完了前に）、ＤＲＡＭ１０の状態判断が可能である。また、上記処理の際、リブートが必要になった場合でもトータルの起動時間をメインＳＷがオンした場合とほぼ同等にすることができる。
【００５６】
さらに、レジスタやＩ／Ｏの初期設定処理（Ｓ７）と同時にＦＰＧＡ９のフラグチェックを行なうように構成してもよい。この様によれば、ＤＲＡＭ１０が使用可能になる前に処理内容を変更でき、例えば標準のＤＲＡＭのみが搭載されている場合と、標準のＤＲＡＭに加えてオプションのＤＲＡＭが搭載されている場合において、ＣＰＵ２のＤＲＡＭコントローラの設定内容を切り替えるという構成にすることもできる。
【００５７】
本発明はいくつかの実施形態を説明したが、本発明は特許請求の範囲に記載された発明とその均等の範囲に含まれる。以下、本件特許出願の出願当初の特許請求の範囲に記載された発明を付記する。
【００５８】
付記１
印刷装置であって、
前記印刷装置の制御プログラムを記憶する第１の記憶部と、
前記印刷装置のスリープ中において電源供給が行なわれるサブ電源に接続され、前記第１の記憶部に記憶された前記制御プログラムが書き込まれる第２の記憶部と、
前記サブ電源に接続され、前記印刷装置のスリープ時に前記第２の記憶部に記憶された制御プログラムの記憶を前記第２の記憶部が保持する制御を行う記憶保持制御部と、
前記印刷装置がスリープ状態から復帰した際、前記第１の記憶部に記憶された制御プログラムではなく、前記第２の記憶部に保持された制御プログラムを読み出して前記装置の制御を行なう制御部と、
を有することを特徴とする印刷装置。
【００５９】
付記２
前記記憶保持制御部は、前記スリープ状態に移行する前の前記装置に接続されたデバイス情報を記憶し、前記スリープ状態から復帰する際、前記制御部は前記記憶保持制御部に記憶された前記デバイス情報に基づいて、ハード設定を行なうことを特徴とする付記１に記載の印刷装置。
【００６０】
付記３
前記スリープ状態から復帰する際、前記制御部は前記記憶保持制御部に記憶された前記デバイス情報に誤りがある場合、前記第１の記憶部に記憶された制御プログラムを読み出して前記装置の制御を行なうことを特徴とする付記２に記載の印刷装置。
【００６１】
付記４
前記記憶保持制御部に記憶された前記デバイス情報の誤りの検出は、前記スリープ状態から復帰後、前記制御部に電源が供給された後直ちに行なわれることを特徴とする付記３に記載の印刷装置。
【００６２】
付記５
前記記憶保持制御部への前記第２の記憶部に記憶された制御プログラムの記憶を保持させる指示は、前記制御部に予め設定されたコマンドに基づいて行なわれることを特徴とする付記１、２、３、又は４に記載の印刷装置。
【００６３】
付記６
前記スリープ状態からの復帰は、前記装置に接続されたホスト機器から出力されるマジックパケットに基づいて行われることを特徴とする付記１、２、３、４、又は５に記載の印刷装置。
【００６４】
付記７
前記スリープ状態からの復帰は、前記装置に設けられた操作パネルからの操作信号に基づいて行われることを特徴とする付記１、２、３、４、又は５に記載の印刷装置。
【００６５】
付記８
第１の記憶部に記憶された装置の制御プログラムを、前記装置のスリープ中においても電源供給が行なわれるサブ電源に接続された第２の記憶部に書き込む処理と、
前記装置のスリープ時前記第２の記憶部に記憶された制御プログラムの記憶を保持する処理を、前記サブ電源に接続された記憶保持制御部の情報に基づいて行なう処理と、
前記装置がスリープ状態から復帰した際、前記第１の記憶部に記憶された制御プログラムではなく、前記第２の記憶部に保持された制御プログラムを読み出して前記装置の制御を実行する処理と、
を行なうことを特徴とする印刷装置の制御方法。
【００６６】
付記９
前記記憶保持制御部は、前記スリープ状態に移行する前の前記装置に接続されたデバイス情報を記憶し、前記スリープ状態から復帰した際、前記記憶保持制御部に記憶された前記デバイス情報に基づいて、前記装置のハード設定処理を行なうことを特徴とする付記８に記載の印刷装置の制御方法。
【００６７】
付記１０
第１の記憶部に記憶された装置の制御プログラムを、前記装置のスリープ中においても電源供給が行なわれるサブ電源に接続された第２の記憶部に書き込む処理と、
前記装置のスリープ時前記第２の記憶部に記憶された制御プログラムの記憶を保持する処理を、前記サブ電源に接続された記憶保持制御部の情報に基づいて行なう処理と、
前記装置がスリープ状態から復帰した際、前記第１の記憶部に記憶された制御プログラムではなく、前記第２の記憶部に保持された制御プログラムを読み出して前記装置の制御を実行する処理と、
を印刷装置に行なわせることを特徴とするプログラム。
【符号の説明】
【００６８】
１・・・プリンタ装置
２・・・ＣＰＵ
３・・・ＵＳＢデバイス
４・・・ＡＳＩＣ
５・・・ＵＳＢホスト
６・・・フラッシュメモリ
７・・・オペレーションパネル
８・・・ＲＴＣ
９・・・ＦＰＧＡ
１０・・ＤＲＡＭ
１１・・ＬＡＮ＿ＰＨＹ
１３・・ＳＳＤ記憶デバイス
【図１】
0005966305.tif 000002
【図２】
0005966305.tif 000003
【図３】
0005966305.tif 000004
【図４】
0005966305.tif 000005
【図５】
0005966305.tif 000006