(57)【要約】【課題】バックアップリブートを安全に行うことができる、電子機器を提供する。【解決手段】メインＣＰＵ２１が動作状態からスリープ状態に移行した後、サブＣＰＵβ２３がバックアップリブートを実行する。バックアップリブートは、ＤＲＡＭ１８に記憶されているデータを保持したままでのリブートである。リブートに先立ち、ＤＲＡＭ１８がセルフリフレッシュモードに移行される。メインＣＰＵ２１が動作状態からスリープ状態に移行するのに先立ち、メインＣＰＵ２１により、画像形成部１１、画像読取部１２、表示部１３、操作部１４および通信部１５の動作制御のための回路によるＤＲＡＭ１８へのＤＭＡが制限される。また、サブＣＰＵβ２３によるバックアップリブートの実行に先立ち、メインＣＰＵ２１は、動作状態からスリープ状態に移行する。【選択図】図１
2019055511.tif 000002
【特許請求の範囲】
【請求項１】
第１ＣＰＵと、
第２ＣＰＵと、
リフレッシュ回路が内蔵されている揮発性メモリと、
前記揮発性メモリへのダイレクトメモリアクセスを実行可能な周辺回路と、
前記第１ＣＰＵ、前記第２ＣＰＵ、前記揮発性メモリ、および、前記周辺回路を相互にデータ通信可能に接続するバスと
を備える電子機器であって、
前記第１ＣＰＵは、
前記周辺回路による前記揮発性メモリへのダイレクトメモリアクセスを制限するＤＭＡ制限処理と、
前記ＤＭＡ制限処理後、前記第１ＣＰＵを動作状態からスリープ状態に移行させるスリープ移行処理と
を実行し、
前記第２ＣＰＵは、
前記第１ＣＰＵによる前記スリープ移行処理後、前記揮発性メモリを、前記リフレッシュ回路が前記揮発性メモリに記憶されているデータの再書き込みを周期的に行うセルフリフレッシュモードに移行させるセルフリフレッシュモード移行処理と、
前記セルフリフレッシュモード移行処理後、前記電子機器をリブートするリブート処理と
を実行する、電子機器。
【請求項２】
請求項１に記載の電子機器であって、
前記第１ＣＰＵは、投機的実行機能を有している、電子機器。
【請求項３】
請求項１または２に記載の電子機器であって、
画像を表示する表示部を備え、
前記第１ＣＰＵは、前記ＤＭＡ制限処理において、前記表示部による表示のための前記揮発性メモリへのダイレクトメモリアクセスを許容し、それ以外の事由による前記揮発性メモリへのダイレクトメモリアクセスを禁止する、電子機器。
【請求項４】
請求項１〜３のいずれか一項に記載の電子機器であって、
前記第１ＣＰＵは、前記ＤＭＡ制限処理前に、前記電子機器が有する機能のための動作を制限する準備処理を実行する、電子機器。
【請求項５】
請求項４の記載の電子機器であって、
前記電子機器が有する機能は、ファクシミリ機能、プリント機能、または、スキャン機能である、電子機器。
【請求項６】
請求項４または５に記載の電子機器であって、
外部機器と通信する通信部を備え、
前記第１ＣＰＵは、
前記ＤＭＡ制限処理前に、前記外部機器から前記通信部にファームウェアを受信するファームウェア受信処理
を実行する、電子機器。
【請求項７】
請求項６に記載の電子機器であって、
前記第１ＣＰＵは、前記準備処理の実行から所定時間が経過するまでの期間にファームウェアを前記通信部に受信しないか、または、ファームウェアの受信をキャンセルする指示を受けた場合、前記準備処理により動作が制限された状態を解除する準備解除処理
を実行する、電子機器。
【請求項８】
請求項４〜７のいずれか一項に記載の電子機器であって、
本体設定初期化を行なう機能を有し、
前記第１ＣＰＵは、前記準備処理の実行から所定時間が経過するまでの期間に初期化実行指示がされないか、または、初期化キャンセル指示を受けた場合、前記準備処理により動作が制限された状態を解除する準備解除処理
を実行する、電子機器。
【請求項９】
請求項１〜８のいずれか一項に記載の電子機器であって、
前記バスに接続される第３ＣＰＵを備え、
前記第１ＣＰＵは、前記第１ＣＰＵの前記スリープ移行処理前に、前記第３ＣＰＵに動作状態からスリープ状態への移行を要求するスリープ要求処理
を実行する、電子機器。
【請求項１０】
請求項９に記載の電子機器であって、
第１状態と、前記第１状態よりも省電力となる第２状態と、を取りえ、
前記第３ＣＰＵは、前記第１状態において、高圧電源の制御、または、用紙の搬送制御を行い、
前記第１ＣＰＵは、前記第１状態において、前記第３ＣＰＵと異なる制御を行う、電子機器。
【請求項１１】
請求項１０に記載の電子機器であって、
前記第１ＣＰＵは、前記第１状態において、前記電子機器を制御する一方、前記第２状態において、前記電子機器を制御せず、
前記第３ＣＰＵは、前記第２状態において、前記電子機器を制御する、電子機器。
【請求項１２】
請求項９〜１１のいずれか一項に記載の電子機器であって、
前記第１ＣＰＵは、前記スリープ要求処理による要求に応じて前記第３ＣＰＵがスリープ状態に移行しない場合、前記第３ＣＰＵをリセットするリセット処理
を実行する、電子機器。
【請求項１３】
請求項１〜１２のいずれか一項に記載の電子機器であって、
前記第１ＣＰＵは、前記第２ＣＰＵに対し、前記リブート処理の実行を要求するバックアップリブート処理を実行し、
前記第２ＣＰＵは、前記第１ＣＰＵによる前記バックアップリブート処理の実行前はリセットされており、
前記第１ＣＰＵは、前記バックアップリブート処理前に、前記第２ＣＰＵのリセットを解除して前記第２ＣＰＵを起動させるリセット解除処理
を実行する、電子機器。
【請求項１４】
請求項１〜１３のいずれか一項に記載の電子機器であって、
前記第２ＣＰＵは、投機的実行を行う機能を有していない、電子機器。
【請求項１５】
請求項１〜１４のいずれか一項に記載の電子機器であって、
前記第１ＣＰＵは、前記第２ＣＰＵよりも高性能である、電子機器。
【請求項１６】
請求項１〜１５のいずれか一項に記載の電子機器であって、
第１状態と、前記第１状態よりも省電力となる第２状態と、を取りえ、
前記第２ＣＰＵは、前記第２状態においてＬＥＤ制御を行う、電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器に関する。
【背景技術】
【０００２】
プリンタなどの電子機器には、たとえば、その電子機器のハードウェアを制御するためのファームウェアが組み込まれている。ファームウェアは、書換可能な不揮発性メモリに保存されており、電子機器のブートにより、不揮発性メモリから揮発性メモリであるＤＲＡＭ（Dynamic Random Access Memory）に実行可能な形式で展開される。
【０００３】
電子機器における機能の追加や不具合の修正のため、電子機器のメーカなどから新たなファームウェアが提供されることがある。提供元のサーバに新ファームウェアがアップロードされると、電子機器のファームウェアアップデートが可能になる。ファームウェアアップデートでは、ＰＣ（パーソナルコンピュータ）が、提供元のサーバから新ファームウェアをダウンロードし、その新ファームウェアを電子機器に送信する。電子機器は、新ファームウェアをＰＣから受信し、不揮発性メモリに保存されている旧ファームウェアを新ファームウェアに書き換える。ファームウェアアップデート後、電子機器は、新ファームウェアを実行可能な形式に展開するため、リブートを行う。
【０００４】
ここで、電子機器は、ＤＲＡＭに保存されているデータをＤＲＡＭに保持したままリブートを行う機能（本願では、この機能を「バックアップリブート機能」という。また、バックアップリブート機能によるリブートを「バックアップリブート」という。）を有することがある。電子機器がプリント機能、スキャン機能およびファックス機能などを有する複合機（ＭＦＰ：Multi-Function Peripheral）であって、バックアップリブート機能を有している場合、電子機器は、そのバックアップリブート機能により、ＤＲＡＭに保存されているファックスデータやプリントデータを保持したままリブートを実行することができる。このバックアップリブート機能では、まず、ＣＰＵ（central processing unit ）が、ＤＲＡＭに対してセルフリフレッシュモードへの移行を命令する。ＤＲＡＭは、ＣＰＵからの命令を受けて、セルフリフレッシュモードに移行する。セルフリフレッシュモードでは、ＤＲＡＭがＤＲＡＭ自身に内蔵されているリフレッシュ回路によって一定の周期でデータの再書き込みを行う。そして、ＣＰＵは、システムコントローラに、ＣＰＵを含む集積回路をリセットさせる。このとき、ＣＰＵは、ＤＲＡＭへの電力供給とＤＲＡＭのリセット状態を保持したまま集積回路をリセットする。集積回路のリセット後、ＣＰＵは、集積回路に含まれるメモリコントローラのリセットを解除し、ＤＲＡＭのセルフリフレッシュモードを解除する。そして、ＣＰＵは、新ファームウェアをＤＲＡＭ上で実行可能な形式に展開する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１５−１０１０２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ＤＲＡＭがセルフリフレッシュモードにあるときに、ＤＲＡＭに外部からのアクセスがあると、ＤＲＡＭが異常状態に陥ることがある。ＤＲＡＭが異常状態に陥ると、たとえば、ＤＲＡＭがセルフリフレッシュモードを解除できなくなることがある。そのため、ＤＲＡＭのセルフリフレッシュモードへの移行後は、プログラムによりＣＰＵからＤＲＡＭへのアクセス、および、ＣＰＵの周辺回路からＤＲＡＭへのダイレクトメモリアクセス（Direct Memory Access；ＤＭＡ）が発生しないように制御する必要がある。
【０００７】
しかしながら、ＣＰＵの投機的実行により、プログラムの制御とは関係なく、ＤＲＡＭへのアクセスがなされる場合がある。投機的実行によるＤＲＡＭへのアクセスを禁止するには、たとえば、メモリ管理ユニット（Memory Management Unit）を停止させればよいが、オペレーティングシステムがメモリ管理ユニットの稼働を前提に作られている場合、メモリ管理ユニットを停止させることは難しい。
【０００８】
本発明の目的は、バックアップリブートを安全に行うことができる、電子機器を提供することである。
【課題を解決するための手段】
【０００９】
前記の目的を達成するため、本発明に係る電子機器は、第１ＣＰＵと、第２ＣＰＵと、リフレッシュ回路が内蔵されている揮発性メモリと、揮発性メモリへのダイレクトメモリアクセスを実行可能な周辺回路と、第１ＣＰＵ、第２ＣＰＵ、揮発性メモリ、および、周辺回路を相互にデータ通信可能に接続するバスとを備える電子機器であって、第１ＣＰＵは、周辺回路による揮発性メモリへのダイレクトメモリアクセスを制限するＤＭＡ制限処理と、ＤＭＡ制限処理後、第１ＣＰＵを動作状態からスリープ状態に移行させるスリープ移行処理とを実行し、第２ＣＰＵは、第１ＣＰＵによるスリープ移行処理後、揮発性メモリを、リフレッシュ回路が揮発性メモリに記憶されているデータの再書き込みを周期的に行うセルフリフレッシュモードに移行させるセルフリフレッシュモード移行処理と、セルフリフレッシュモード移行処理後、電子機器をリブートするリブート処理とを実行する。
【００１０】
この構成によれば、第１ＣＰＵが動作状態からスリープ状態に移行した後、第２ＣＰＵがバックアップリブートを実行する。バックアップリブートは、揮発性メモリに記憶されているデータを保持したままでのリブートである。リブートに先立ち、揮発性メモリがセルフリフレッシュモードにされて、揮発性メモリに内蔵されたリフレッシュ回路による揮発性メモリでのデータの周期的な再書き込みが開始される。
【００１１】
第１ＣＰＵが動作状態からスリープ状態に移行するのに先だち、第１ＣＰＵにより周辺回路による揮発性メモリへのダイレクトメモリアクセスが制限される。そのため、揮発性メモリがセルフリフレッシュモードにされた後に、周辺回路による揮発性メモリへのダイレクトメモリアクセスが制限される。また、第２ＣＰＵによるバックアップリブートの実行に先立ち、第１ＣＰＵは、動作状態からスリープ状態に移行する。そのため、第１ＣＰＵが投機的実行の機能を有するものであっても、揮発性メモリがセルフリフレッシュモードにされた後に、第１ＣＰＵが揮発性メモリにアクセスすることが抑制される。その結果、揮発性メモリがセルフリフレッシュモードに移行した後の、周辺回路による揮発性メモリへのダイレクトメモリアクセス、および、第１ＣＰＵによる揮発性メモリへのアクセスが抑制される。よって、揮発性メモリが異常状態に陥るなどの不具合の発生が抑制され、バックアップリブートが安全に行われる。
【発明の効果】
【００１２】
本発明によれば、揮発性メモリがセルフリフレッシュモードにされた後に、第１ＣＰＵおよび周辺回路が揮発性メモリにアクセスすることが抑制され、揮発性メモリが異常状態に陥るなどの不具合の発生が抑制されるので、バックアップリブートが安全に行われる。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施形態に係る複合機の電気的構成の要部を示すブロック図である。
【図２Ａ】ファームウェア送信処理およびファームウェア受信処理の流れを示すフローチャートである。
【図２Ｂ】ＤＭＡ制限・スリープ移行処理およびリフレッシュモード移行・リブート処理の流れを示すフローチャート（その１）である。
【図２Ｃ】ＤＭＡ制限・スリープ移行処理およびリフレッシュモード移行・リブート処理の流れを示すフローチャート（その２）である。
【図３】本体設定の初期化（リセット）時に表示器に表示される画面例を示す図である。
【図４Ａ】図３に示される画面を表示させる処理の流れを示すフローチャートである。
【図４Ｂ】ＤＭＡ制限処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１４】
以下では、本発明の実施の形態について、添付図面を参照しつつ詳細に説明する。
【００１５】
＜複合機の電気的構成＞
図１に示される複合機（ＭＦＰ：Multi-Function Peripheral）１は、ファクシミリ機能、プリント機能、スキャン機能およびコピー機能など、複数の機能を有する電子機器である。ファクシミリ機能は、画像データを公衆電話回線を介して送受信する機能である。プリント機能（画像形成機能）は、ＰＣなどの外部機器から送信されてきた画像データに基づく画像をプリント用紙などのシートに形成する機能である。スキャン機能（画像読取機能）は、原稿の画像を読み取って画像データを生成する機能である。コピー機能は、原稿の画像を読み取ってその画像をシートに形成する機能である。
【００１６】
複合機１は、それらの複数の機能を実現するため、複合機１は、画像形成部１１、画像読取部１２、表示部１３、操作部１４、通信部１５、ＡＳＩＣ（Application Specific Integrated Circuit）１６、フラッシュメモリなどの書き換え可能な不揮発性メモリであるＲＯＭ（Read Only Memory）１７、揮発性メモリであるＤＲＡＭ（Dynamic Random Access Memory）１８およびモデム２０を備えている。画像形成部１１、画像読取部１２、表示部１３、操作部１４、通信部１５、ＡＳＩＣ１６、ＲＯＭ１７、ＤＲＡＭ１８およびモデム２０は、バス１９を介して、データ通信可能に接続されている。
【００１７】
画像形成部１１は、複合機１が主にプリント機能、およびコピー機能を実行するためのものであり、搬送経路上を１枚ずつ搬送されるプリント用紙などのシートにカラー画像またはモノクロ画像を形成するよう構成されている。画像形成の方式は、電子写真方式であってもよいし、インクジェット方式であってもよい。
【００１８】
画像読取部１２は、複合機１が主にファックス機能、スキャン機能、およびコピー機能を実行するためのものであり、シートに形成されている画像を読み取り、その画像の画像データを出力する。画像読取の方式は、ＣＩＳ（Contact Image Sensor）方式であってもよいし、ＣＣＤ（Charge Coupled Devices）方式であってもよい。
【００１９】
表示部１３は、ＬＣＤ（液晶ディスプレイ）１３ＡおよびＬＥＤ１３Ｂを有している。ＬＣＤ１３Ａは、たとえば、タッチパネルを構成している。ＬＣＤ１３Ａは、各種の情報や操作ボタンなどの画像が表示する。ＬＥＤ１３Ｂは、タッチパネルを構成するＬＣＤ１３Ａとは別に設けられ、点灯、点滅および消灯により複合機１の状態を表す。
【００２０】
操作部１４は、ユーザがＬＣＤ１３Ａに表示される操作ボタンをタッチ操作することにより、そのタッチ操作された操作ボタンの種類に応じた指示を受け付ける。操作部１４に指示が受け付けられると、その指示の内容に応じた信号（データ）が操作部１４からＡＳＩＣ１６に向けて送信される。
【００２１】
モデム２０は、複合機１が主にファクス機能を実行するためのものであり、送受信先の機器との間で電話回線を経由してファクシミリデータを通信のするための回路などを備えている。
【００２２】
通信部１５は、サーバやＰＣ（パーソナルコンピュータ）などの外部機器との間でのコンピュータネットワークを経由した通信のための回路などを備えている。通信部１５は、たとえば、ＬＡＮやＵＳＢを備えている。
【００２３】
ＡＳＩＣ１６は、メインＣＰＵ（Central Processing Unit）２１、サブＣＰＵα２２、サブＣＰＵβ２３、ＴＣＭ（Tightly Coupled Memory）２４、システムコントローラ２５、ＤＭＡＣ（Direct Memory Access Controller）２６、メモリコントローラ２７、ＬＣＤコントローラ２９、および、画像読取部コントローラ３０を備えている。メインＣＰＵ２１、サブＣＰＵα２２、サブＣＰＵβ２３、ＴＣＭ２４、システムコントローラ２５、ＤＭＡＣ２６、メモリコントローラ２７、ＬＣＤコントローラ２９、および、画像読取部コントローラ３０は、ＡＳＩＣ１６内の内部バス２８を介して、データ通信可能に接続されている。内部バス２８は、バス１９とデータ通信可能に接続されている。なお、ここでは説明を省略するが、ＡＳＩＣ１６には、画像形成部１１を制御するためのコントローラや通信部１５を制御するためのコントローラも設けられている。
【００２４】
複合機１では、各部が動作を停止した状態が所定時間にわたって継続すると、複合機１の状態が非省電力状態（第１状態）から省電力状態（第２状態）に移行する。省電力状態は、非省電力状態よりも省電力な状態であり、省電力状態では、非省電力状態と比較して、画像形成部１１、画像読取部１２、表示部１３、操作部１４、モデム２０および通信部１５への動作電力の供給が制限される。
【００２５】
メインＣＰＵ２１（第１ＣＰＵの一例）は、投機的プリフェッチなどの投機的実行機能を有している。投機的プリフェッチは、将来に利用が予測されるデータをＤＲＡＭ１８からＤＲＡＭ１８よりも高速に動作するキャッシュに予め読み込んでおくことにより、メインＣＰＵ２１の性能の向上を図る機能である。すなわち、「投機的実行機能」とは、ＣＰＵが、将来必要となり得る処理を予め予測して実行する機能である。メインＣＰＵ２１は、複合機１の状態が非省電力状態であるときに、複合機１の基本的動作を制御する。メインＣＰＵ２１には、仮想アドレスを物理アドレスに変換する機能を有するＭＭＵ（Memory Management Unit：メモリ管理ユニット）２１Ａが含まれている。
【００２６】
サブＣＰＵα２２（第３ＣＰＵの一例）は、メインＣＰＵ２１よりも低性能のＣＰＵである。サブＣＰＵα２２は、複合機１の状態が非省電力状態であるときに、複合機１のエンジンである画像形成部１１を制御する。具体的には、サブＣＰＵα２２は、複合機１の状態が非省電力状態であるときに、画像形成部１１に備えられる所定部に高電圧を供給する高圧電源の制御やシートの搬送の制御を行う。複合機１が非省電力状態にあるときに、サブＣＰＵα２２が、メインＣＰＵ２１に代わって、高圧電源の制御やシートの搬送の制御を担うことで、メインＣＰＵへの負荷を低減することができる。言い換えると、リアルタイム性が損なわれることなく複合機１の制御を行うことができる。また、サブＣＰＵα２２は、複合機１の状態が省電力状態であるときに、表示部１３に含まれるＬＥＤ１３Ｂの点灯、点滅および消灯を除く複合機１の基本的動作を制御する。メインＣＰＵ２１は、複合機１が省電力状態にあるときに、複合機１の動作を制御しない。すなわち、サブＣＰＵα２２は、複合機１が省電力状態にあるときに、メインＣＰＵ１に代わって、複合機１の基本的動作を制御する。なお、サブＣＰＵα２２も、投機的実行機能を有していてもよい。
【００２７】
サブＣＰＵβ２３（第２ＣＰＵの一例）は、メインＣＰＵ２１よりも低性能のＣＰＵであり、メインＣＰＵ２１よりも省電力に設計されている。サブＣＰＵβ２３は、複合機１の状態が省電力状態であるときに、表示部１３に含まれるＬＥＤ１３Ｂの点灯、点滅および消灯を制御する。なお、本実施形態においては、サブＣＰＵβ２３は、サブＣＰＵα２２よりも低性能のＣＰＵである。
【００２８】
ＴＣＭ２４は、たとえば、ＳＲＡＭ（Static Random Access Memory）からなる。
【００２９】
システムコントローラ２５は、サブＣＰＵβ２３からの指令に基づき、ＡＳＩＣ１６をリセットさせる。
【００３０】
ＤＭＡＣ２６は、メインＣＰＵ２１、サブＣＰＵα２２およびサブＣＰＵβ２３を介さずに画像形成部１１、画像読取部１２、表示部１３、操作部１４、通信部１５、および、モデム２０の動作制御のための回路（周辺回路）とＤＲＡＭ１８との間でデータ転送を行う。ＬＣＤコントローラ２９や画像読取部コントローラ３０は、周辺回路の一例である。
【００３１】
メモリコントローラ２７は、ＤＲＡＭ１８に対するデータの読み書きを制御する集積回路である。また、メモリコントローラ２７は、一定の周期でＤＲＡＭ１８にリフレッシュ信号を送信して、ＤＲＡＭ１８に保持されているデータの再書き込みを行うリフレッシュ機能を有している。
【００３２】
ＬＣＤコントローラ２９は、表示部１３に設けられたＬＣＤ１３Ａを制御するためのものである。
【００３３】
画像読取部コントローラ３０は、画像読取部１２を制御するためのものである。
【００３４】
＜バックアップリブート＞
複合機１は、バックアップリブート機能、つまりＤＲＡＭ１８に保存されているデータをＤＲＡＭ１８に保持したままでのリブートであるバックアップリブートを行う機能を有している。
【００３５】
複合機１における機能の追加や不具合の修正のため、複合機１のメーカなどから新しいファームウェア（以下、このファームウェアを「新ファームウェア」という。）が提供される場合がある。その場合、提供元となるサーバに新ファームウェアがアップロードされ、そのサーバからＰＣを経由して複合機１に新ファームウェアをダウンロードすることができる。複合機１では、ＲＯＭ１７に保存されているファームウェア（以下、このファームウェアを「旧ファームウェア」という。）をダウンロードされた新ファームウェアに書き換えるファームウェアアップデートの後、バックアップリブートが行われる。
【００３６】
ファームウェアアップデートに際しては、図２Ａのフローチャートに示されるように、ＰＣから複合機１にファームウェアアップデートの可否の問い合わせが送信される（Ｓ１０１）。
【００３７】
ＰＣからのファームウェアアップデートの可否の問い合わせを複合機１の通信部１５が受信すると（Ｓ２０１）、メインＣＰＵ２１は、複合機１の各機能を通常状態からＤＭＡ停止準備状態へ移行することを試みる（Ｓ２０２）。具体的には、ファームウェアアップデートの可否の問い合わせの受信に応じて、メインＣＰＵ２１は、ファクシミリ機能、プリント機能およびスキャン機能を含む所定の機能のための動作の禁止を試みる。プリント機能およびスキャン機能のための動作が禁止されることによって当然に、プリント機能およびスキャン機能の組合せにより実現されるコピー機能の動作が禁止される。メインＣＰＵ２１は、所定の機能の動作が行われていなければ、その機能の通常状態からＤＭＡ停止準備状態への移行が可能と判断し、機能の通常状態からＤＭＡ停止準備状態への移行を試みる。一方、ＣＰＵ２１は、所定の機能の動作が行われている場合、その機能の通常状態からＤＭＡ停止準備状態への移行は不可能と判断し、機能の通常状態からＤＭＡ停止準備状態への移行を試みない。
【００３８】
メインＣＰＵ２１は、ファクシミリ機能、プリント機能およびスキャン機能を含む所定の機能のすべてを通常状態からＤＭＡ停止準備状態に移行させることができた場合（Ｓ２０３：ＹＥＳ）、ファームウェアアップデート可能の結果をＰＣに送信する（Ｓ２０４）。
【００３９】
その通知後、メインＣＰＵ２１は、ＰＣからの新ファームウェアの受信を待つ（Ｓ２０５）。
【００４０】
メインＣＰＵ２１は、新ファームウェアの受信を待つ受信待ち状態である間、その受信待ち状態の継続時間、つまり受信待ち状態の開始からの経過時間が一定時間に到達することによるタイムアウトを監視している（Ｓ２０６）。
【００４１】
そして、受信待ち状態の継続時間が一定時間に達するとタイムアウトとなり、メインＣＰＵ２１は、各機能のＤＭＡ停止準備状態を解除し、各機能をＤＭＡ停止準備状態から通常状態に戻して（Ｓ２０７）、新ファームウェアの受信のためのファームウェア受信処理を終了する。
【００４２】
一方、メインＣＰＵ２１は、ファクシミリ機能、プリント機能およびスキャン機能を含む所定の機能のいずれか１つでも通常状態からＤＭＡ停止準備状態に移行させることができなかった場合、ファームウェアアップデート不可の結果をＰＣに送信し（Ｓ２０８）、ＤＭＡ停止準備状態の機能を通常状態に戻して、ファームウェア受信処理を終了する。
【００４３】
ＰＣは、ファームウェアアップデートの可否の問い合わせに対して、複合機１からファームウェアアップデート可能またはファームウェアアップデート不可の結果を受信する（Ｓ１０２）。
【００４４】
そして、ＰＣは、複合機１からファームウェアアップデート可能の結果を受信した場合（Ｓ１０３：ＹＥＳ）、新ファームウェアを複合機１に向けて送信して（Ｓ１０４）、新ファームウェアを送信するためのファームウェア送信処理を終了する。
【００４５】
一方、ＰＣは、複合機１からファームウェアアップデート不可の結果を受信した場合（Ｓ１０３：ＮＯ）、新ファームウェアを複合機１に向けて送信せずに、ファームウェア送信処理を終了する。
【００４６】
ＰＣから複合機１に向けて送信されるファームウェアを複合機１の通信部１５が受信すると（Ｓ２０９）、メインＣＰＵ２１は、その受信したファームウェアをＤＲＡＭ１８に保存する。
【００４７】
また、メインＣＰＵ２１は、図２Ｂに示されるように、ＤＭＡＣ２６による表示部１３（より詳しくは、ＬＣＤ１３Ａ）からＤＲＡＭ１８へのＤＭＡ（ダイレクトメモリアクセス）を除き、ＬＣＤコントローラ２９以外の、画像読取部コントローラ３０などの周辺回路によるＤＭＡを停止する（Ｓ２１０）。
【００４８】
その後、メインＣＰＵ２１は、サブＣＰＵα２２に複合機１のエンジンである画像形成部１１の停止を要求する（Ｓ２１１）。
【００４９】
サブＣＰＵα２２は、メインＣＰＵ２１からのエンジン停止の要求を受けて（Ｓ３０１）、画像形成部１１の各部への動作電力の供給を停止する（Ｓ３０２）。
【００５０】
メインＣＰＵ２１は、エンジン停止の要求後、メインＣＰＵ２１自身を通常状態から割り込み禁止状態に移行させる（Ｓ２１２）。割り込み禁止状態では、メインＣＰＵ２１の外部からメインＣＰＵへの各種イベントの通知などの割り込みが禁止される。したがって、メインＣＰＵ２１により実行される処理が現在実行中の処理に制限され、割り込みに対応する処理が新たに開始されることはない。
【００５１】
メインＣＰＵ２１は、割り込み禁止状態に移行した後、ＤＲＡＭ１８に保存されている新ファームウェアをＲＯＭ１７に転送して、ＲＯＭ１７に保存されている旧ファームウェアを新ファームウェアで書き換える（Ｓ２１３）。
【００５２】
その後、メインＣＰＵ２１は、ＬＣＤコントローラ２９によるＤＭＡＣ２６を通じた表示部１３（より詳しくは、ＬＣＤ１３Ａ）からＤＲＡＭ１８へのＤＭＡを禁止する（Ｓ２１４）。この時点までＤＭＡＣ２６による表示部１３（より詳しくは、ＬＣＤ１３Ａ）からＤＲＡＭ１８へのＤＭＡが許可されることにより、表示部１３のＬＣＤ１３Ａにファームウェアアップデート中を示す画面が表示されるので、表示部１３の画面が消えることによる故障の疑念をユーザが抱くことを抑制できる。
【００５３】
そして、メインＣＰＵ２１は、サブＣＰＵα２２に対して動作状態からスリープ状態への移行を要求する（Ｓ２１５）。
【００５４】
サブＣＰＵα２２は、メインＣＰＵ２１からのスリープ要求を受けて（Ｓ３０３）、自身に対するＷＦＩ（Wait For Interrupt）命令により、割り込みが入るまで動作を停止するスリープ状態に移行する（Ｓ３０４）。ＡＳＩＣ１６内部に存在するシステムコントローラ２５により、サブＣＰＵα２２がスリープ状態にあるか否かが判断可能であり、各ＣＰＵからはシステムレジスタにより状態を取得可能である。なお、本構成においては、他の例として、システムレジスタにより状態を取得できない仕様である場合には、所定の時間経過によって、サブＣＰＵα２２がスリープ状態に移行したと判断されてもよい。
【００５５】
メインＣＰＵ２１は、システムレジスタの情報から、サブＣＰＵα２２がスリープ状態に移行したか否かを判別する（Ｓ２１６）。
【００５６】
サブＣＰＵα２２がスリープ状態に移行した場合（Ｓ２１６：ＹＥＳ）、メインＣＰＵ２１は、メインＣＰＵ２１のキャッシュに保存されているデータをＤＲＡＭ１８に書き込む（Ｓ２１７）。
【００５７】
一方、スリープ要求から所定時間内にサブＣＰＵα２２がスリープ状態に移行しない場合（Ｓ２１６：ＮＯ）、メインＣＰＵ２１は、サブＣＰＵα２２をリセットした後（Ｓ２１８）、メインＣＰＵ２１のキャッシュに保存されているデータをＤＲＡＭ１８に書き込む（Ｓ２１７）。
【００５８】
その後、メインＣＰＵ２１は、サブＣＰＵβ２３に実行させるプログラムをＴＣＭ２４に展開する（Ｓ２１９）。
【００５９】
この時点で、サブＣＰＵβ２３は、リセットされており、動作を停止している。メインＣＰＵ２１は、サブＣＰＵβ２３に実行させるプログラムをＴＣＭ２４に展開した後、サブＣＰＵβ２３のリセットを解除する（Ｓ２２０）。
【００６０】
サブＣＰＵβ２３は、リセットの解除により、ＴＣＭ２４に展開されたプログラムを実行する。このプログラムには、サブＣＰＵβ２３自身を起動させる起動処理が含まれている（Ｓ４０１）。
【００６１】
メインＣＰＵ２１は、サブＣＰＵβ２３のリセット解除後、メインＣＰＵ２１は、サブＣＰＵβ２３が起動する（Ｓ２２２）までの間、ウォッチドッグタイマを解除する（Ｓ２２１）。ウォッチドッグタイマの解除により、ウォッチドッグタイマのオーバーフローによるＡＳＩＣ１６のリセットを抑制できる。
【００６２】
サブＣＰＵβ２３が起動すると（Ｓ２２２：ＹＥＳ）、メインＣＰＵ２１は、サブＣＰＵβ２３にバックアップリブートの実行を要求する（Ｓ２２３）。
【００６３】
そして、メインＣＰＵ２１は、データ同期バリア（ＤＳＢ）により、バックアップリブート実行要求までの命令を確定する（Ｓ２２４）。
【００６４】
その後、メインＣＰＵ２１は、自身に対するＷＦＩ命令により、割り込みが入るまで動作を停止するスリープ状態に移行して（Ｓ２２５）、ＤＭＡ制限・スリープ移行処理を終了する。ＡＳＩＣ１６内部のシステムコントローラ２５により、メインＣＰＵ２１がスリープ状態であるか否かが判断可能であり、各ＣＰＵからはシステムレジスタにより状態を取得可能である。なお、本構成においては、他の例として、システムレジスタにより状態を取得できない仕様である場合には、所定の時間経過によって、メインＣＰＵ２１がスリープ状態に移行したと判断されてもよい。
【００６５】
起動処理により起動したサブＣＰＵβ２３は、メインＣＰＵ２１からのバックアップリブート実行要求を受信すると（Ｓ４０２）、それ以降、メインＣＰＵ２１がスリープ状態に移行するまでの間、メインＣＰＵ２１のウォッチドッグタイマを解除し続ける（Ｓ４０３）。
【００６６】
そして、サブＣＰＵβ２３は、システムレジスタの情報から、メインＣＰＵ２１がスリープ状態に移行したことを確認すると（Ｓ４０４：ＹＥＳ）、ＤＲＡＭ１８をセルフリフレッシュモードに移行させる（Ｓ４０５）。ＤＲＡＭ１８には、リフレッシュ回路が内蔵されており、セルフリフレッシュモードでは、そのリフレッシュ回路により、ＤＲＡＭ１８に保存されているデータの再書き込みが周期的に行われる。これにより、セルフリフレッシュモードでは、メモリコントローラ２７からのリフレッシュ信号の受信なしで、ＤＲＡＭ１８にデータが保持し続けられる。
【００６７】
その後、サブＣＰＵβ２３は、システムレジスタに含まれるバックアップリブートレジスタに特定値（たとえば、「１」）を書き込み（Ｓ４０６）、リフレッシュモード移行・リブート処理を終了する。その後、ＡＳＩＣ１６はリブートを行うが、通常のリブートと異なり、ＡＳＩＣ１６は、ＤＲＡＭ１８への電力供給とＤＲＡＭ１８のリセット状態を保ったまま、リブートを行う。
【００６８】
ＡＳＩＣ１６のリブート後、サブＣＰＵβ２３は、メモリコントローラ２７の初期化を行い、その後、ＤＲＡＭ１８のセルフリフレッシュ状態を解除する。そして、ＲＯＭ１７に保存されている圧縮状態の新ファームウェアをＤＲＡＭ１８上に実行可能な形式に展開する。そして、サブＣＰＵβ２３は、ＤＲＡＭ１８に展開された新ファームウェアの先頭アドレスにジャンプして、新ファームウェアを先頭アドレスから実行する。これにより、バックアップリブートが終了となる。
【００６９】
＜作用効果＞
以上のように、メインＣＰＵ２１が動作状態からスリープ状態に移行した後、サブＣＰＵβ２３がバックアップリブートを実行する。バックアップリブートは、ＤＲＡＭ１８に記憶されているデータをＤＲＡＭ１８に保持したままでのリブートである。リブートに先立ち、ＤＲＡＭ１８がセルフリフレッシュモードにされて、ＤＲＡＭ１８に内蔵されたリフレッシュ回路によるＤＲＡＭ１８でのデータの周期的な再書き込みが開始される。
【００７０】
メインＣＰＵ２１が動作状態からスリープ状態に移行するのに先立ち、メインＣＰＵ２１により、画像形成部１１、画像読取部１２、表示部１３、操作部１４、通信部１５、モデム２０の動作制御のための回路によるＤＲＡＭ１８へのＤＭＡが制限される。また、サブＣＰＵβ２３によるバックアップリブートの実行に先立ち、メインＣＰＵ２１は、動作状態からスリープ状態に移行する。そのため、ＤＲＡＭ１８がセルフリフレッシュモードにされた後に、画像形成部１１、画像読取部１２、表示部１３、操作部１４、通信部１５、モデム２０によるＤＲＡＭ１８へのダイレクトメモリアクセスが制限される。また、メインＣＰＵ２１が投機的実行機能を有するものであっても、ＤＲＡＭ１８がセルフリフレッシュモードにされた後に、メインＣＰＵ２１がＤＲＡＭ１８にアクセスすることが抑制される。その結果、ＤＲＡＭ１８が異常状態に陥るなどの不具合の発生が抑制され、バックアップリブートが安全に行われる。
【００７１】
また、メインＣＰＵ２１は、ＤＭＡを制限する前に、ファクシミリ機能、プリント機能およびスキャン機能を含む各機能を通常状態からＤＭＡ停止準備状態に移行させて、各機能のための動作を禁止する。これにより、ファクシミリ受信しているときにバックアップリブートが行われることを抑制でき、ファクシミリ受信が中断することを抑制できる。また、シートへの画像形成中やシートに形成されている画像の読取中に動作が停止することによるシートのジャムの発生抑制できる。
【００７２】
そして、メインＣＰＵ２１は、各機能をＤＭＡ停止準備状態に移行させたうえで、ＰＣから新ファームウェアを受信する。新ファームウェアの受信を待つ受信待ち状態の継続時間が一定時間に到達した場合、つまり各機能の通常状態からＤＭＡ停止順部状態の移行から一定時間内に新ファームウェアを複合機１が受信しない場合、メインＣＰＵ２１は、タイムアウトにより、各機能のＤＭＡ停止準備状態を解除し、各機能をＤＭＡ停止準備状態から通常状態に戻す。これにより、受信待ち状態で処理が停滞することを抑制できる。
【００７３】
また、メインＣＰＵ２１は、自身が動作状態からスリープ状態に移行する前に、サブＣＰＵα２２を動作状態からスリープ状態に移行させる。これにより、バックアップリブート中にサブＣＰＵα２２がＤＲＡＭ１８にアクセスすることを抑制できる。そのため、ＤＲＡＭ１８が異常状態に陥るなどの不具合の発生を一層抑制でき、バックアップリブートをより安全に行うことができる。
【００７４】
さらに、サブＣＰＵα２２が動作状態からスリープ状態に移行しない場合には、メインＣＰＵ２１は、サブＣＰＵα２２をリセットする。これにより、サブＣＰＵα２２がスリープ状態に移行しないために処理が停滞することを抑制できる。
【００７５】
＜他の実施形態＞
前述の実施形態では、ファームウェアアップデート後のバックアップリブートを取り上げた。バックアップリブートは、ファームウェアアップデート後に限らず、本体設定の初期化後に実行されてもよい。
【００７６】
複合機１では、ユーザが操作部１４を操作して各種の設定をリセットすることができる。具体的には、ユーザは、操作部１４を操作して、図３に示されるリセットメニューの選択画面を表示部１３に表示させることができる。
【００７７】
リセットメニューの選択画面には、複合機１の本体の設定のリセットを指示する設定リセットボタン３１と、複合機１のネットワークの設定のリセットを指示するネットワークリセットボタン３２と、ファクシミリ送信先の電話番号およびファクシミリ機能に関する設定のリセットを指示するファクシミリリセットボタン３３とが含まれる。設定リセットボタン３１が選択されて押操作された場合、メインＣＰＵ２１は、図４Ａおよび図４Ｂに示される処理を開始する。
【００７８】
設定リセットボタン３１が選択されて押操作されると（図４ＡのＳ５０１）、メインＣＰＵ２１は、複合機１の各機能の通常状態からＤＭＡ停止準備状態への移行を試みる（Ｓ５０２）。
【００７９】
メインＣＰＵ２１は、ファクシミリ機能、プリント機能およびスキャン機能を含む所定の機能のすべてを通常状態からＤＭＡ停止準備状態に移行させることができた場合（Ｓ５０３：ＹＥＳ）、表示部１３にリセット確認画面を表示させる（Ｓ５０４）。
【００８０】
リセット確認画面では、リセットの実行を確認するメッセージとともに、その確認に対する回答を入力するための「はい」ボタン３４および「いいえ」ボタン３５が表示される。
【００８１】
メインＣＰＵ２１は、リセット確認画面を表示部１３に表示させた後、ユーザによる「はい」ボタン３４または「いいえ」ボタン３５の選択操作を待つ（Ｓ５０５）。
【００８２】
メインＣＰＵ２１は、「はい」ボタン３４または「いいえ」ボタン３５の選択操作を待つ選択待ち状態の間、その選択待ち状態の継続時間、つまり選択待ち状態の開始からの経過時間が一定時間に到達することによるタイムアウトを監視している（Ｓ５０６）。
【００８３】
そして、選択待ち状態の継続時間が一定時間に達するとタイムアウトとなり、メインＣＰＵ２１は、各機能のＤＭＡ停止準備状態を解除し、各機能をＤＭＡ停止準備状態から通常状態に戻して（Ｓ５０７）、図４Ａに示される処理を終了する。
【００８４】
一方、メインＣＰＵ２１は、ファクシミリ機能、プリント機能およびスキャン機能を含む所定の機能のいずれか１つでも通常状態からＤＭＡ停止準備状態に移行させることができなかった場合、図示されないブザーによる拒否音を鳴らして（Ｓ５０８）、図４Ａに示される処理を終了する。
【００８５】
また、ユーザがリセット確認画面で「いいえ」ボタン３５を選択操作した場合（Ｓ５０９）、メインＣＰＵ２１は、各機能のＤＭＡ停止準備状態を解除し、各機能をＤＭＡ停止準備状態から通常状態に戻して（Ｓ５０７）、図４Ａに示される処理を終了する。
【００８６】
ユーザがリセット確認画面で「はい」ボタン３４を選択操作した場合（図４ＢのＳ５１０）、メインＣＰＵ２１は、本体の設定を初期値に戻すリセット処理を実行する（Ｓ５１１）。これにより、本体の設定がリセットされる。
【００８７】
その後、メインＣＰＵ２１は、ＤＭＡＣ２６による表示部１３からＤＲＡＭ１８へのＤＭＡを除き、ＤＭＡＣ２６によるそれ以外のＤＭＡを停止する（Ｓ５１２）。
【００８８】
そして、メインＣＰＵ２１は、メインＣＰＵ２１自身を通常状態から割り込み禁止状態に移行させた後（Ｓ５１３）、ＡＣＩＣ１６内部のＬＣＤコントローラ２９によるＤＭＡＣ２６を通じた表示部１３からＤＲＡＭ１８へのＤＭＡを禁止する（Ｓ５１４）。この時点までＤＭＡＣ２６による表示部１３からＤＲＡＭ１８へのＤＭＡが許可されることにより、表示部１３に所定のホーム画面が表示されるので、表示部１３の画面が消えることによる故障の疑念をユーザが抱くことを抑制できる。
【００８９】
その後は、メインＣＰＵ２１により、図２Ｂに示されるステップＳ２１５以降の処理が実行されるとともに、サブＣＰＵα２２によるステップＳ３０３，Ｓ３０４の処理が実行され、サブＣＰＵβ２３によるステップＳ４０１〜Ｓ４０６の処理が実行される。
【００９０】
リセット処理の開始からＡＳＩＣ１６内部のＬＣＤコントローラ２９によるＤＭＡＣ２６を通じた表示部１３からＤＲＡＭ１８へのＤＭＡを禁止するまでの間、メインＣＰＵ２１は、表示部１３に図３に示されるリセット中／バックアップリブート中画面を表示させる。
【００９１】
＜変形例＞
以上、本発明の２つの実施形態について説明したが、本発明は、さらに他の形態で実施することもでき、前述の構成には、特許請求の範囲に記載された事項の範囲で種々の設計変更を施すことが可能である。
【符号の説明】
【００９２】
１：複合機
１４：操作部
１５：通信部
１８：ＤＲＡＭ
１９：バス
２１：メインＣＰＵ
２２：サブＣＰＵα
２３：サブＣＰＵβ
２８：内部バス
２９：ＬＣＤコントローラ
３０：画像読取部コントローラ
【図１】
2019055511.tif 000003
【図２Ａ】
2019055511.tif 000004
【図２Ｂ】
2019055511.tif 000005
【図２Ｃ】
2019055511.tif 000006
【図３】
2019055511.tif 000007
【図４Ａ】
2019055511.tif 000008
【図４Ｂ】
2019055511.tif 000009