特許第6977439号(P6977439)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ブラザー工業株式会社の特許一覧

<>
  • 特許6977439-電子機器 図000002
  • 特許6977439-電子機器 図000003
  • 特許6977439-電子機器 図000004
  • 特許6977439-電子機器 図000005
  • 特許6977439-電子機器 図000006
  • 特許6977439-電子機器 図000007
  • 特許6977439-電子機器 図000008
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6977439
(24)【登録日】2021年11月15日
(45)【発行日】2021年12月8日
(54)【発明の名称】電子機器
(51)【国際特許分類】
   B41J 29/38 20060101AFI20211125BHJP
   G03G 21/00 20060101ALI20211125BHJP
   G06F 9/4401 20180101ALI20211125BHJP
   H04N 1/00 20060101ALI20211125BHJP
【FI】
   B41J29/38 104
   G03G21/00 398
   G06F9/4401
   H04N1/00 C
【請求項の数】19
【全頁数】18
(21)【出願番号】特願2017-180509(P2017-180509)
(22)【出願日】2017年9月20日
(65)【公開番号】特開2019-55511(P2019-55511A)
(43)【公開日】2019年4月11日
【審査請求日】2020年7月31日
(73)【特許権者】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】100129643
【弁理士】
【氏名又は名称】皆川 祐一
(72)【発明者】
【氏名】田中 務
【審査官】 牧島 元
(56)【参考文献】
【文献】 特開2011−010021(JP,A)
【文献】 特開2015−101028(JP,A)
【文献】 特開2015−130147(JP,A)
【文献】 特開2012−048243(JP,A)
【文献】 特開2012−244606(JP,A)
【文献】 特開2016−129986(JP,A)
【文献】 特開2016−115075(JP,A)
【文献】 特開2004−005029(JP,A)
【文献】 特開2016−126544(JP,A)
【文献】 米国特許出願公開第2009/0316175(US,A1)
【文献】 中国特許出願公開第1622038(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
B41J 29/38
H04N 1/00
G03G 21/00
G06F 9/445
(57)【特許請求の範囲】
【請求項1】
第1CPUと、
第2CPUと、
リフレッシュ回路が内蔵されている揮発性メモリと、
前記揮発性メモリへのダイレクトメモリアクセスを実行可能な周辺回路と、
前記第1CPU、前記第2CPU、前記揮発性メモリ、および、前記周辺回路を相互にデータ通信可能に接続するバスと
画像を表示する表示部と
を備える電子機器であって、
前記第1CPUは、
前記周辺回路による前記揮発性メモリへのダイレクトメモリアクセスを制限するDMA制限処理と、
前記DMA制限処理後、前記第1CPUを動作状態からスリープ状態に移行させるスリープ移行処理と
を実行し、
前記第2CPUは、
前記第1CPUによる前記スリープ移行処理後、前記揮発性メモリを、前記リフレッシュ回路が前記揮発性メモリに記憶されているデータの再書き込みを周期的に行うセルフリフレッシュモードに移行させるセルフリフレッシュモード移行処理と、
前記セルフリフレッシュモード移行処理後、前記電子機器をリブートするリブート処理と
を実行し、
前記第1CPUは、前記DMA制限処理において、前記表示部による表示のための前記揮発性メモリへのダイレクトメモリアクセスを許容し、それ以外の事由による前記揮発性メモリへのダイレクトメモリアクセスを禁止する、電子機器。
【請求項2】
請求項に記載の電子機器であって、
前記第1CPUは、前記DMA制限処理前に、前記電子機器が有する機能のための動作を制限する準備処理を実行する、電子機器。
【請求項3】
第1CPUと、
第2CPUと、
リフレッシュ回路が内蔵されている揮発性メモリと、
前記揮発性メモリへのダイレクトメモリアクセスを実行可能な周辺回路と、
前記第1CPU、前記第2CPU、前記揮発性メモリ、および、前記周辺回路を相互にデータ通信可能に接続するバスと
を備える電子機器であって、
前記第1CPUは、
前記周辺回路による前記揮発性メモリへのダイレクトメモリアクセスを制限するDMA制限処理と、
前記DMA制限処理後、前記第1CPUを動作状態からスリープ状態に移行させるスリープ移行処理と、
前記DMA制限処理前に、前記電子機器が有する機能のための動作を制限する準備処理と
を実行し、
前記第2CPUは、
前記第1CPUによる前記スリープ移行処理後、前記揮発性メモリを、前記リフレッシュ回路が前記揮発性メモリに記憶されているデータの再書き込みを周期的に行うセルフリフレッシュモードに移行させるセルフリフレッシュモード移行処理と、
前記セルフリフレッシュモード移行処理後、前記電子機器をリブートするリブート処理と
を実行する、電子機器。
【請求項4】
請求項2または3の記載の電子機器であって、
前記電子機器が有する機能は、ファクシミリ機能、プリント機能、または、スキャン機能である、電子機器。
【請求項5】
請求項2〜4のいずれか一項に記載の電子機器であって、
外部機器と通信する通信部を備え、
前記第1CPUは、
前記DMA制限処理前に、前記外部機器から前記通信部にファームウェアを受信するファームウェア受信処理を実行する、電子機器。
【請求項6】
請求項に記載の電子機器であって、
前記第1CPUは、前記準備処理の実行から所定時間が経過するまでの期間にファームウェアを前記通信部に受信しないか、または、ファームウェアの受信をキャンセルする指示を受けた場合、前記準備処理により動作が制限された状態を解除する準備解除処理を実行する、電子機器。
【請求項7】
請求項のいずれか一項に記載の電子機器であって、
本体設定初期化を行なう機能を有し、
前記第1CPUは、前記準備処理の実行から所定時間が経過するまでの期間に初期化実行指示がされないか、または、初期化キャンセル指示を受けた場合、前記準備処理により動作が制限された状態を解除する準備解除処理を実行する、電子機器。
【請求項8】
請求項1〜のいずれか一項に記載の電子機器であって、
前記バスに接続される第3CPUを備え、
前記第1CPUは、前記第1CPUの前記スリープ移行処理前に、前記第3CPUに動作状態からスリープ状態への移行を要求するスリープ要求処理を実行する、電子機器。
【請求項9】
第1CPUと、
第2CPUと、
リフレッシュ回路が内蔵されている揮発性メモリと、
前記揮発性メモリへのダイレクトメモリアクセスを実行可能な周辺回路と、
前記第1CPU、前記第2CPU、前記揮発性メモリ、および、前記周辺回路を相互にデータ通信可能に接続するバスと、
前記バスに接続される第3CPUと
を備える電子機器であって、
前記第1CPUは、
前記周辺回路による前記揮発性メモリへのダイレクトメモリアクセスを制限するDMA制限処理と、
前記DMA制限処理後、前記第1CPUを動作状態からスリープ状態に移行させるスリープ移行処理と、
前記第1CPUの前記スリープ移行処理前に、前記第3CPUに動作状態からスリープ状態への移行を要求するスリープ要求処理と
を実行し、
前記第2CPUは、
前記第1CPUによる前記スリープ移行処理後、前記揮発性メモリを、前記リフレッシュ回路が前記揮発性メモリに記憶されているデータの再書き込みを周期的に行うセルフリフレッシュモードに移行させるセルフリフレッシュモード移行処理と、
前記セルフリフレッシュモード移行処理後、前記電子機器をリブートするリブート処理と
を実行する、電子機器。
【請求項10】
請求項8または9に記載の電子機器であって、
第1状態と、前記第1状態よりも省電力となる第2状態と、を取りえ、
前記第3CPUは、前記第1状態において、高圧電源の制御、または、用紙の搬送制御を行い、
前記第1CPUは、前記第1状態において、前記第3CPUと異なる制御を行う、電子機器。
【請求項11】
請求項10に記載の電子機器であって、
前記第1CPUは、前記第1状態において、前記電子機器を制御する一方、前記第2状態において、前記電子機器を制御せず、
前記第3CPUは、前記第2状態において、前記電子機器を制御する、電子機器。
【請求項12】
請求項〜11のいずれか一項に記載の電子機器であって、
前記第1CPUは、前記スリープ要求処理による要求に応じて前記第3CPUがスリープ状態に移行しない場合、前記第3CPUをリセットするリセット処理を実行する、電子機器。
【請求項13】
請求項1〜12のいずれか一項に記載の電子機器であって、
前記第1CPUは、前記第2CPUに対し、前記リブート処理の実行を要求するバックアップリブート処理を実行し、
前記第2CPUは、前記第1CPUによる前記バックアップリブート処理の実行前はリセットされており、
前記第1CPUは、前記バックアップリブート処理前に、前記第2CPUのリセットを解除して前記第2CPUを起動させるリセット解除処理を実行する、電子機器。
【請求項14】
第1CPUと、
第2CPUと、
リフレッシュ回路が内蔵されている揮発性メモリと、
前記揮発性メモリへのダイレクトメモリアクセスを実行可能な周辺回路と、
前記第1CPU、前記第2CPU、前記揮発性メモリ、および、前記周辺回路を相互にデータ通信可能に接続するバスと
を備える電子機器であって、
前記第1CPUは、
前記周辺回路による前記揮発性メモリへのダイレクトメモリアクセスを制限するDMA制限処理と、
前記DMA制限処理後、前記第1CPUを動作状態からスリープ状態に移行させるスリープ移行処理と
を実行し、
前記第2CPUは、
前記第1CPUによる前記スリープ移行処理後、前記揮発性メモリを、前記リフレッシュ回路が前記揮発性メモリに記憶されているデータの再書き込みを周期的に行うセルフリフレッシュモードに移行させるセルフリフレッシュモード移行処理と、
前記セルフリフレッシュモード移行処理後、前記電子機器をリブートするリブート処理と
を実行し、
前記第1CPUは、前記第2CPUに対し、前記リブート処理の実行を要求するバックアップリブート処理を実行し、
前記第2CPUは、前記第1CPUによる前記バックアップリブート処理の実行前はリセットされており、
前記第1CPUは、前記バックアップリブート処理前に、前記第2CPUのリセットを解除して前記第2CPUを起動させるリセット解除処理を実行する、電子機器。
【請求項15】
請求項1〜14のいずれか一項に記載の電子機器であって、
第1状態と、前記第1状態よりも省電力となる第2状態と、を取りえ、
前記第2CPUは、前記第2状態においてLED制御を行う、電子機器。
【請求項16】
第1CPUと、
第2CPUと、
リフレッシュ回路が内蔵されている揮発性メモリと、
前記揮発性メモリへのダイレクトメモリアクセスを実行可能な周辺回路と、
前記第1CPU、前記第2CPU、前記揮発性メモリ、および、前記周辺回路を相互にデータ通信可能に接続するバスと
を備える電子機器であって、
第1状態と、前記第1状態よりも省電力となる第2状態と、を取りえ、
前記第1CPUは、
前記周辺回路による前記揮発性メモリへのダイレクトメモリアクセスを制限するDMA制限処理と、
前記DMA制限処理後、前記第1CPUを動作状態からスリープ状態に移行させるスリープ移行処理と
前記第2CPUは、
前記第1CPUによる前記スリープ移行処理後、前記揮発性メモリを、前記リフレッシュ回路が前記揮発性メモリに記憶されているデータの再書き込みを周期的に行うセルフリフレッシュモードに移行させるセルフリフレッシュモード移行処理と、
前記セルフリフレッシュモード移行処理後、前記電子機器をリブートするリブート処理と
を実行し、
前記第2状態においてLED制御を行う、電子機器。
【請求項17】
請求項1〜16のいずれか一項に記載の電子機器であって、
前記第1CPUは、投機的実行機能を有している、電子機器。
【請求項18】
請求項1〜17のいずれか一項に記載の電子機器であって、
前記第2CPUは、投機的実行を行う機能を有していない、電子機器。
【請求項19】
請求項1〜18のいずれか一項に記載の電子機器であって、
前記第1CPUは、前記第2CPUよりも高性能である、電子機器。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電子機器に関する。
【背景技術】
【0002】
プリンタなどの電子機器には、たとえば、その電子機器のハードウェアを制御するためのファームウェアが組み込まれている。ファームウェアは、書換可能な不揮発性メモリに保存されており、電子機器のブートにより、不揮発性メモリから揮発性メモリであるDRAM(Dynamic Random Access Memory)に実行可能な形式で展開される。
【0003】
電子機器における機能の追加や不具合の修正のため、電子機器のメーカなどから新たなファームウェアが提供されることがある。提供元のサーバに新ファームウェアがアップロードされると、電子機器のファームウェアアップデートが可能になる。ファームウェアアップデートでは、PC(パーソナルコンピュータ)が、提供元のサーバから新ファームウェアをダウンロードし、その新ファームウェアを電子機器に送信する。電子機器は、新ファームウェアをPCから受信し、不揮発性メモリに保存されている旧ファームウェアを新ファームウェアに書き換える。ファームウェアアップデート後、電子機器は、新ファームウェアを実行可能な形式に展開するため、リブートを行う。
【0004】
ここで、電子機器は、DRAMに保存されているデータをDRAMに保持したままリブートを行う機能(本願では、この機能を「バックアップリブート機能」という。また、バックアップリブート機能によるリブートを「バックアップリブート」という。)を有することがある。電子機器がプリント機能、スキャン機能およびファックス機能などを有する複合機(MFP:Multi-Function Peripheral)であって、バックアップリブート機能を有している場合、電子機器は、そのバックアップリブート機能により、DRAMに保存されているファックスデータやプリントデータを保持したままリブートを実行することができる。このバックアップリブート機能では、まず、CPU(central processing unit )が、DRAMに対してセルフリフレッシュモードへの移行を命令する。DRAMは、CPUからの命令を受けて、セルフリフレッシュモードに移行する。セルフリフレッシュモードでは、DRAMがDRAM自身に内蔵されているリフレッシュ回路によって一定の周期でデータの再書き込みを行う。そして、CPUは、システムコントローラに、CPUを含む集積回路をリセットさせる。このとき、CPUは、DRAMへの電力供給とDRAMのリセット状態を保持したまま集積回路をリセットする。集積回路のリセット後、CPUは、集積回路に含まれるメモリコントローラのリセットを解除し、DRAMのセルフリフレッシュモードを解除する。そして、CPUは、新ファームウェアをDRAM上で実行可能な形式に展開する。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2015−101028号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
DRAMがセルフリフレッシュモードにあるときに、DRAMに外部からのアクセスがあると、DRAMが異常状態に陥ることがある。DRAMが異常状態に陥ると、たとえば、DRAMがセルフリフレッシュモードを解除できなくなることがある。そのため、DRAMのセルフリフレッシュモードへの移行後は、プログラムによりCPUからDRAMへのアクセス、および、CPUの周辺回路からDRAMへのダイレクトメモリアクセス(Direct Memory Access;DMA)が発生しないように制御する必要がある。
【0007】
しかしながら、CPUの投機的実行により、プログラムの制御とは関係なく、DRAMへのアクセスがなされる場合がある。投機的実行によるDRAMへのアクセスを禁止するには、たとえば、メモリ管理ユニット(Memory Management Unit)を停止させればよいが、オペレーティングシステムがメモリ管理ユニットの稼働を前提に作られている場合、メモリ管理ユニットを停止させることは難しい。
【0008】
本発明の目的は、バックアップリブートを安全に行うことができる、電子機器を提供することである。
【課題を解決するための手段】
【0009】
前記の目的を達成するため、本発明に係る電子機器は、第1CPUと、第2CPUと、リフレッシュ回路が内蔵されている揮発性メモリと、揮発性メモリへのダイレクトメモリアクセスを実行可能な周辺回路と、第1CPU、第2CPU、揮発性メモリ、および、周辺回路を相互にデータ通信可能に接続するバスとを備える電子機器であって、第1CPUは、周辺回路による揮発性メモリへのダイレクトメモリアクセスを制限するDMA制限処理と、DMA制限処理後、第1CPUを動作状態からスリープ状態に移行させるスリープ移行処理とを実行し、第2CPUは、第1CPUによるスリープ移行処理後、揮発性メモリを、リフレッシュ回路が揮発性メモリに記憶されているデータの再書き込みを周期的に行うセルフリフレッシュモードに移行させるセルフリフレッシュモード移行処理と、セルフリフレッシュモード移行処理後、電子機器をリブートするリブート処理とを実行する。
【0010】
この構成によれば、第1CPUが動作状態からスリープ状態に移行した後、第2CPUがバックアップリブートを実行する。バックアップリブートは、揮発性メモリに記憶されているデータを保持したままでのリブートである。リブートに先立ち、揮発性メモリがセルフリフレッシュモードにされて、揮発性メモリに内蔵されたリフレッシュ回路による揮発性メモリでのデータの周期的な再書き込みが開始される。
【0011】
第1CPUが動作状態からスリープ状態に移行するのに先だち、第1CPUにより周辺回路による揮発性メモリへのダイレクトメモリアクセスが制限される。そのため、揮発性メモリがセルフリフレッシュモードにされた後に、周辺回路による揮発性メモリへのダイレクトメモリアクセスが制限される。また、第2CPUによるバックアップリブートの実行に先立ち、第1CPUは、動作状態からスリープ状態に移行する。そのため、第1CPUが投機的実行の機能を有するものであっても、揮発性メモリがセルフリフレッシュモードにされた後に、第1CPUが揮発性メモリにアクセスすることが抑制される。その結果、揮発性メモリがセルフリフレッシュモードに移行した後の、周辺回路による揮発性メモリへのダイレクトメモリアクセス、および、第1CPUによる揮発性メモリへのアクセスが抑制される。よって、揮発性メモリが異常状態に陥るなどの不具合の発生が抑制され、バックアップリブートが安全に行われる。
【発明の効果】
【0012】
本発明によれば、揮発性メモリがセルフリフレッシュモードにされた後に、第1CPUおよび周辺回路が揮発性メモリにアクセスすることが抑制され、揮発性メモリが異常状態に陥るなどの不具合の発生が抑制されるので、バックアップリブートが安全に行われる。
【図面の簡単な説明】
【0013】
図1】本発明の一実施形態に係る複合機の電気的構成の要部を示すブロック図である。
図2A】ファームウェア送信処理およびファームウェア受信処理の流れを示すフローチャートである。
図2B】DMA制限・スリープ移行処理およびリフレッシュモード移行・リブート処理の流れを示すフローチャート(その1)である。
図2C】DMA制限・スリープ移行処理およびリフレッシュモード移行・リブート処理の流れを示すフローチャート(その2)である。
図3】本体設定の初期化(リセット)時に表示器に表示される画面例を示す図である。
図4A図3に示される画面を表示させる処理の流れを示すフローチャートである。
図4B】DMA制限処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0014】
以下では、本発明の実施の形態について、添付図面を参照しつつ詳細に説明する。
【0015】
<複合機の電気的構成>
図1に示される複合機(MFP:Multi-Function Peripheral)1は、ファクシミリ機能、プリント機能、スキャン機能およびコピー機能など、複数の機能を有する電子機器である。ファクシミリ機能は、画像データを公衆電話回線を介して送受信する機能である。プリント機能(画像形成機能)は、PCなどの外部機器から送信されてきた画像データに基づく画像をプリント用紙などのシートに形成する機能である。スキャン機能(画像読取機能)は、原稿の画像を読み取って画像データを生成する機能である。コピー機能は、原稿の画像を読み取ってその画像をシートに形成する機能である。
【0016】
複合機1は、それらの複数の機能を実現するため、複合機1は、画像形成部11、画像読取部12、表示部13、操作部14、通信部15、ASIC(Application Specific Integrated Circuit)16、フラッシュメモリなどの書き換え可能な不揮発性メモリであるROM(Read Only Memory)17、揮発性メモリであるDRAM(Dynamic Random Access Memory)18およびモデム20を備えている。画像形成部11、画像読取部12、表示部13、操作部14、通信部15、ASIC16、ROM17、DRAM18およびモデム20は、バス19を介して、データ通信可能に接続されている。
【0017】
画像形成部11は、複合機1が主にプリント機能、およびコピー機能を実行するためのものであり、搬送経路上を1枚ずつ搬送されるプリント用紙などのシートにカラー画像またはモノクロ画像を形成するよう構成されている。画像形成の方式は、電子写真方式であってもよいし、インクジェット方式であってもよい。
【0018】
画像読取部12は、複合機1が主にファックス機能、スキャン機能、およびコピー機能を実行するためのものであり、シートに形成されている画像を読み取り、その画像の画像データを出力する。画像読取の方式は、CIS(Contact Image Sensor)方式であってもよいし、CCD(Charge Coupled Devices)方式であってもよい。
【0019】
表示部13は、LCD(液晶ディスプレイ)13AおよびLED13Bを有している。LCD13Aは、たとえば、タッチパネルを構成している。LCD13Aは、各種の情報や操作ボタンなどの画像が表示する。LED13Bは、タッチパネルを構成するLCD13Aとは別に設けられ、点灯、点滅および消灯により複合機1の状態を表す。
【0020】
操作部14は、ユーザがLCD13Aに表示される操作ボタンをタッチ操作することにより、そのタッチ操作された操作ボタンの種類に応じた指示を受け付ける。操作部14に指示が受け付けられると、その指示の内容に応じた信号(データ)が操作部14からASIC16に向けて送信される。
【0021】
モデム20は、複合機1が主にファクス機能を実行するためのものであり、送受信先の機器との間で電話回線を経由してファクシミリデータを通信のするための回路などを備えている。
【0022】
通信部15は、サーバやPC(パーソナルコンピュータ)などの外部機器との間でのコンピュータネットワークを経由した通信のための回路などを備えている。通信部15は、たとえば、LANやUSBを備えている。
【0023】
ASIC16は、メインCPU(Central Processing Unit)21、サブCPUα22、サブCPUβ23、TCM(Tightly Coupled Memory)24、システムコントローラ25、DMAC(Direct Memory Access Controller)26、メモリコントローラ27、LCDコントローラ29、および、画像読取部コントローラ30を備えている。メインCPU21、サブCPUα22、サブCPUβ23、TCM24、システムコントローラ25、DMAC26、メモリコントローラ27、LCDコントローラ29、および、画像読取部コントローラ30は、ASIC16内の内部バス28を介して、データ通信可能に接続されている。内部バス28は、バス19とデータ通信可能に接続されている。なお、ここでは説明を省略するが、ASIC16には、画像形成部11を制御するためのコントローラや通信部15を制御するためのコントローラも設けられている。
【0024】
複合機1では、各部が動作を停止した状態が所定時間にわたって継続すると、複合機1の状態が非省電力状態(第1状態)から省電力状態(第2状態)に移行する。省電力状態は、非省電力状態よりも省電力な状態であり、省電力状態では、非省電力状態と比較して、画像形成部11、画像読取部12、表示部13、操作部14、モデム20および通信部15への動作電力の供給が制限される。
【0025】
メインCPU21(第1CPUの一例)は、投機的プリフェッチなどの投機的実行機能を有している。投機的プリフェッチは、将来に利用が予測されるデータをDRAM18からDRAM18よりも高速に動作するキャッシュに予め読み込んでおくことにより、メインCPU21の性能の向上を図る機能である。すなわち、「投機的実行機能」とは、CPUが、将来必要となり得る処理を予め予測して実行する機能である。メインCPU21は、複合機1の状態が非省電力状態であるときに、複合機1の基本的動作を制御する。メインCPU21には、仮想アドレスを物理アドレスに変換する機能を有するMMU(Memory Management Unit:メモリ管理ユニット)21Aが含まれている。
【0026】
サブCPUα22(第3CPUの一例)は、メインCPU21よりも低性能のCPUである。サブCPUα22は、複合機1の状態が非省電力状態であるときに、複合機1のエンジンである画像形成部11を制御する。具体的には、サブCPUα22は、複合機1の状態が非省電力状態であるときに、画像形成部11に備えられる所定部に高電圧を供給する高圧電源の制御やシートの搬送の制御を行う。複合機1が非省電力状態にあるときに、サブCPUα22が、メインCPU21に代わって、高圧電源の制御やシートの搬送の制御を担うことで、メインCPUへの負荷を低減することができる。言い換えると、リアルタイム性が損なわれることなく複合機1の制御を行うことができる。また、サブCPUα22は、複合機1の状態が省電力状態であるときに、表示部13に含まれるLED13Bの点灯、点滅および消灯を除く複合機1の基本的動作を制御する。メインCPU21は、複合機1が省電力状態にあるときに、複合機1の動作を制御しない。すなわち、サブCPUα22は、複合機1が省電力状態にあるときに、メインCPU1に代わって、複合機1の基本的動作を制御する。なお、サブCPUα22も、投機的実行機能を有していてもよい。
【0027】
サブCPUβ23(第2CPUの一例)は、メインCPU21よりも低性能のCPUであり、メインCPU21よりも省電力に設計されている。サブCPUβ23は、複合機1の状態が省電力状態であるときに、表示部13に含まれるLED13Bの点灯、点滅および消灯を制御する。なお、本実施形態においては、サブCPUβ23は、サブCPUα22よりも低性能のCPUである。
【0028】
TCM24は、たとえば、SRAM(Static Random Access Memory)からなる。
【0029】
システムコントローラ25は、サブCPUβ23からの指令に基づき、ASIC16をリセットさせる。
【0030】
DMAC26は、メインCPU21、サブCPUα22およびサブCPUβ23を介さずに画像形成部11、画像読取部12、表示部13、操作部14、通信部15、および、モデム20の動作制御のための回路(周辺回路)とDRAM18との間でデータ転送を行う。LCDコントローラ29や画像読取部コントローラ30は、周辺回路の一例である。
【0031】
メモリコントローラ27は、DRAM18に対するデータの読み書きを制御する集積回路である。また、メモリコントローラ27は、一定の周期でDRAM18にリフレッシュ信号を送信して、DRAM18に保持されているデータの再書き込みを行うリフレッシュ機能を有している。
【0032】
LCDコントローラ29は、表示部13に設けられたLCD13Aを制御するためのものである。
【0033】
画像読取部コントローラ30は、画像読取部12を制御するためのものである。
【0034】
<バックアップリブート>
複合機1は、バックアップリブート機能、つまりDRAM18に保存されているデータをDRAM18に保持したままでのリブートであるバックアップリブートを行う機能を有している。
【0035】
複合機1における機能の追加や不具合の修正のため、複合機1のメーカなどから新しいファームウェア(以下、このファームウェアを「新ファームウェア」という。)が提供される場合がある。その場合、提供元となるサーバに新ファームウェアがアップロードされ、そのサーバからPCを経由して複合機1に新ファームウェアをダウンロードすることができる。複合機1では、ROM17に保存されているファームウェア(以下、このファームウェアを「旧ファームウェア」という。)をダウンロードされた新ファームウェアに書き換えるファームウェアアップデートの後、バックアップリブートが行われる。
【0036】
ファームウェアアップデートに際しては、図2Aのフローチャートに示されるように、PCから複合機1にファームウェアアップデートの可否の問い合わせが送信される(S101)。
【0037】
PCからのファームウェアアップデートの可否の問い合わせを複合機1の通信部15が受信すると(S201)、メインCPU21は、複合機1の各機能を通常状態からDMA停止準備状態へ移行することを試みる(S202)。具体的には、ファームウェアアップデートの可否の問い合わせの受信に応じて、メインCPU21は、ファクシミリ機能、プリント機能およびスキャン機能を含む所定の機能のための動作の禁止を試みる。プリント機能およびスキャン機能のための動作が禁止されることによって当然に、プリント機能およびスキャン機能の組合せにより実現されるコピー機能の動作が禁止される。メインCPU21は、所定の機能の動作が行われていなければ、その機能の通常状態からDMA停止準備状態への移行が可能と判断し、機能の通常状態からDMA停止準備状態への移行を試みる。一方、CPU21は、所定の機能の動作が行われている場合、その機能の通常状態からDMA停止準備状態への移行は不可能と判断し、機能の通常状態からDMA停止準備状態への移行を試みない。
【0038】
メインCPU21は、ファクシミリ機能、プリント機能およびスキャン機能を含む所定の機能のすべてを通常状態からDMA停止準備状態に移行させることができた場合(S203:YES)、ファームウェアアップデート可能の結果をPCに送信する(S204)。
【0039】
その通知後、メインCPU21は、PCからの新ファームウェアの受信を待つ(S205)。
【0040】
メインCPU21は、新ファームウェアの受信を待つ受信待ち状態である間、その受信待ち状態の継続時間、つまり受信待ち状態の開始からの経過時間が一定時間に到達することによるタイムアウトを監視している(S206)。
【0041】
そして、受信待ち状態の継続時間が一定時間に達するとタイムアウトとなり、メインCPU21は、各機能のDMA停止準備状態を解除し、各機能をDMA停止準備状態から通常状態に戻して(S207)、新ファームウェアの受信のためのファームウェア受信処理を終了する。
【0042】
一方、メインCPU21は、ファクシミリ機能、プリント機能およびスキャン機能を含む所定の機能のいずれか1つでも通常状態からDMA停止準備状態に移行させることができなかった場合、ファームウェアアップデート不可の結果をPCに送信し(S208)、DMA停止準備状態の機能を通常状態に戻して、ファームウェア受信処理を終了する。
【0043】
PCは、ファームウェアアップデートの可否の問い合わせに対して、複合機1からファームウェアアップデート可能またはファームウェアアップデート不可の結果を受信する(S102)。
【0044】
そして、PCは、複合機1からファームウェアアップデート可能の結果を受信した場合(S103:YES)、新ファームウェアを複合機1に向けて送信して(S104)、新ファームウェアを送信するためのファームウェア送信処理を終了する。
【0045】
一方、PCは、複合機1からファームウェアアップデート不可の結果を受信した場合(S103:NO)、新ファームウェアを複合機1に向けて送信せずに、ファームウェア送信処理を終了する。
【0046】
PCから複合機1に向けて送信されるファームウェアを複合機1の通信部15が受信すると(S209)、メインCPU21は、その受信したファームウェアをDRAM18に保存する。
【0047】
また、メインCPU21は、図2Bに示されるように、DMAC26による表示部13(より詳しくは、LCD13A)からDRAM18へのDMA(ダイレクトメモリアクセス)を除き、LCDコントローラ29以外の、画像読取部コントローラ30などの周辺回路によるDMAを停止する(S210)。
【0048】
その後、メインCPU21は、サブCPUα22に複合機1のエンジンである画像形成部11の停止を要求する(S211)。
【0049】
サブCPUα22は、メインCPU21からのエンジン停止の要求を受けて(S301)、画像形成部11の各部への動作電力の供給を停止する(S302)。
【0050】
メインCPU21は、エンジン停止の要求後、メインCPU21自身を通常状態から割り込み禁止状態に移行させる(S212)。割り込み禁止状態では、メインCPU21の外部からメインCPUへの各種イベントの通知などの割り込みが禁止される。したがって、メインCPU21により実行される処理が現在実行中の処理に制限され、割り込みに対応する処理が新たに開始されることはない。
【0051】
メインCPU21は、割り込み禁止状態に移行した後、DRAM18に保存されている新ファームウェアをROM17に転送して、ROM17に保存されている旧ファームウェアを新ファームウェアで書き換える(S213)。
【0052】
その後、メインCPU21は、LCDコントローラ29によるDMAC26を通じた表示部13(より詳しくは、LCD13A)からDRAM18へのDMAを禁止する(S214)。この時点までDMAC26による表示部13(より詳しくは、LCD13A)からDRAM18へのDMAが許可されることにより、表示部13のLCD13Aにファームウェアアップデート中を示す画面が表示されるので、表示部13の画面が消えることによる故障の疑念をユーザが抱くことを抑制できる。
【0053】
そして、メインCPU21は、サブCPUα22に対して動作状態からスリープ状態への移行を要求する(S215)。
【0054】
サブCPUα22は、メインCPU21からのスリープ要求を受けて(S303)、自身に対するWFI(Wait For Interrupt)命令により、割り込みが入るまで動作を停止するスリープ状態に移行する(S304)。ASIC16内部に存在するシステムコントローラ25により、サブCPUα22がスリープ状態にあるか否かが判断可能であり、各CPUからはシステムレジスタにより状態を取得可能である。なお、本構成においては、他の例として、システムレジスタにより状態を取得できない仕様である場合には、所定の時間経過によって、サブCPUα22がスリープ状態に移行したと判断されてもよい。
【0055】
メインCPU21は、システムレジスタの情報から、サブCPUα22がスリープ状態に移行したか否かを判別する(S216)。
【0056】
サブCPUα22がスリープ状態に移行した場合(S216:YES)、メインCPU21は、メインCPU21のキャッシュに保存されているデータをDRAM18に書き込む(S217)。
【0057】
一方、スリープ要求から所定時間内にサブCPUα22がスリープ状態に移行しない場合(S216:NO)、メインCPU21は、サブCPUα22をリセットした後(S218)、メインCPU21のキャッシュに保存されているデータをDRAM18に書き込む(S217)。
【0058】
その後、メインCPU21は、サブCPUβ23に実行させるプログラムをTCM24に展開する(S219)。
【0059】
この時点で、サブCPUβ23は、リセットされており、動作を停止している。メインCPU21は、サブCPUβ23に実行させるプログラムをTCM24に展開した後、サブCPUβ23のリセットを解除する(S220)。
【0060】
サブCPUβ23は、リセットの解除により、TCM24に展開されたプログラムを実行する。このプログラムには、サブCPUβ23自身を起動させる起動処理が含まれている(S401)。
【0061】
メインCPU21は、サブCPUβ23のリセット解除後、メインCPU21は、サブCPUβ23が起動する(S222)までの間、ウォッチドッグタイマを解除する(S221)。ウォッチドッグタイマの解除により、ウォッチドッグタイマのオーバーフローによるASIC16のリセットを抑制できる。
【0062】
サブCPUβ23が起動すると(S222:YES)、メインCPU21は、サブCPUβ23にバックアップリブートの実行を要求する(S223)。
【0063】
そして、メインCPU21は、データ同期バリア(DSB)により、バックアップリブート実行要求までの命令を確定する(S224)。
【0064】
その後、メインCPU21は、自身に対するWFI命令により、割り込みが入るまで動作を停止するスリープ状態に移行して(S225)、DMA制限・スリープ移行処理を終了する。ASIC16内部のシステムコントローラ25により、メインCPU21がスリープ状態であるか否かが判断可能であり、各CPUからはシステムレジスタにより状態を取得可能である。なお、本構成においては、他の例として、システムレジスタにより状態を取得できない仕様である場合には、所定の時間経過によって、メインCPU21がスリープ状態に移行したと判断されてもよい。
【0065】
起動処理により起動したサブCPUβ23は、メインCPU21からのバックアップリブート実行要求を受信すると(S402)、それ以降、メインCPU21がスリープ状態に移行するまでの間、メインCPU21のウォッチドッグタイマを解除し続ける(S403)。
【0066】
そして、サブCPUβ23は、システムレジスタの情報から、メインCPU21がスリープ状態に移行したことを確認すると(S404:YES)、DRAM18をセルフリフレッシュモードに移行させる(S405)。DRAM18には、リフレッシュ回路が内蔵されており、セルフリフレッシュモードでは、そのリフレッシュ回路により、DRAM18に保存されているデータの再書き込みが周期的に行われる。これにより、セルフリフレッシュモードでは、メモリコントローラ27からのリフレッシュ信号の受信なしで、DRAM18にデータが保持し続けられる。
【0067】
その後、サブCPUβ23は、システムレジスタに含まれるバックアップリブートレジスタに特定値(たとえば、「1」)を書き込み(S406)、リフレッシュモード移行・リブート処理を終了する。その後、ASIC16はリブートを行うが、通常のリブートと異なり、ASIC16は、DRAM18への電力供給とDRAM18のリセット状態を保ったまま、リブートを行う。
【0068】
ASIC16のリブート後、サブCPUβ23は、メモリコントローラ27の初期化を行い、その後、DRAM18のセルフリフレッシュ状態を解除する。そして、ROM17に保存されている圧縮状態の新ファームウェアをDRAM18上に実行可能な形式に展開する。そして、サブCPUβ23は、DRAM18に展開された新ファームウェアの先頭アドレスにジャンプして、新ファームウェアを先頭アドレスから実行する。これにより、バックアップリブートが終了となる。
【0069】
<作用効果>
以上のように、メインCPU21が動作状態からスリープ状態に移行した後、サブCPUβ23がバックアップリブートを実行する。バックアップリブートは、DRAM18に記憶されているデータをDRAM18に保持したままでのリブートである。リブートに先立ち、DRAM18がセルフリフレッシュモードにされて、DRAM18に内蔵されたリフレッシュ回路によるDRAM18でのデータの周期的な再書き込みが開始される。
【0070】
メインCPU21が動作状態からスリープ状態に移行するのに先立ち、メインCPU21により、画像形成部11、画像読取部12、表示部13、操作部14、通信部15、モデム20の動作制御のための回路によるDRAM18へのDMAが制限される。また、サブCPUβ23によるバックアップリブートの実行に先立ち、メインCPU21は、動作状態からスリープ状態に移行する。そのため、DRAM18がセルフリフレッシュモードにされた後に、画像形成部11、画像読取部12、表示部13、操作部14、通信部15、モデム20によるDRAM18へのダイレクトメモリアクセスが制限される。また、メインCPU21が投機的実行機能を有するものであっても、DRAM18がセルフリフレッシュモードにされた後に、メインCPU21がDRAM18にアクセスすることが抑制される。その結果、DRAM18が異常状態に陥るなどの不具合の発生が抑制され、バックアップリブートが安全に行われる。
【0071】
また、メインCPU21は、DMAを制限する前に、ファクシミリ機能、プリント機能およびスキャン機能を含む各機能を通常状態からDMA停止準備状態に移行させて、各機能のための動作を禁止する。これにより、ファクシミリ受信しているときにバックアップリブートが行われることを抑制でき、ファクシミリ受信が中断することを抑制できる。また、シートへの画像形成中やシートに形成されている画像の読取中に動作が停止することによるシートのジャムの発生抑制できる。
【0072】
そして、メインCPU21は、各機能をDMA停止準備状態に移行させたうえで、PCから新ファームウェアを受信する。新ファームウェアの受信を待つ受信待ち状態の継続時間が一定時間に到達した場合、つまり各機能の通常状態からDMA停止順部状態の移行から一定時間内に新ファームウェアを複合機1が受信しない場合、メインCPU21は、タイムアウトにより、各機能のDMA停止準備状態を解除し、各機能をDMA停止準備状態から通常状態に戻す。これにより、受信待ち状態で処理が停滞することを抑制できる。
【0073】
また、メインCPU21は、自身が動作状態からスリープ状態に移行する前に、サブCPUα22を動作状態からスリープ状態に移行させる。これにより、バックアップリブート中にサブCPUα22がDRAM18にアクセスすることを抑制できる。そのため、DRAM18が異常状態に陥るなどの不具合の発生を一層抑制でき、バックアップリブートをより安全に行うことができる。
【0074】
さらに、サブCPUα22が動作状態からスリープ状態に移行しない場合には、メインCPU21は、サブCPUα22をリセットする。これにより、サブCPUα22がスリープ状態に移行しないために処理が停滞することを抑制できる。
【0075】
<他の実施形態>
前述の実施形態では、ファームウェアアップデート後のバックアップリブートを取り上げた。バックアップリブートは、ファームウェアアップデート後に限らず、本体設定の初期化後に実行されてもよい。
【0076】
複合機1では、ユーザが操作部14を操作して各種の設定をリセットすることができる。具体的には、ユーザは、操作部14を操作して、図3に示されるリセットメニューの選択画面を表示部13に表示させることができる。
【0077】
リセットメニューの選択画面には、複合機1の本体の設定のリセットを指示する設定リセットボタン31と、複合機1のネットワークの設定のリセットを指示するネットワークリセットボタン32と、ファクシミリ送信先の電話番号およびファクシミリ機能に関する設定のリセットを指示するファクシミリリセットボタン33とが含まれる。設定リセットボタン31が選択されて押操作された場合、メインCPU21は、図4Aおよび図4Bに示される処理を開始する。
【0078】
設定リセットボタン31が選択されて押操作されると(図4AのS501)、メインCPU21は、複合機1の各機能の通常状態からDMA停止準備状態への移行を試みる(S502)。
【0079】
メインCPU21は、ファクシミリ機能、プリント機能およびスキャン機能を含む所定の機能のすべてを通常状態からDMA停止準備状態に移行させることができた場合(S503:YES)、表示部13にリセット確認画面を表示させる(S504)。
【0080】
リセット確認画面では、リセットの実行を確認するメッセージとともに、その確認に対する回答を入力するための「はい」ボタン34および「いいえ」ボタン35が表示される。
【0081】
メインCPU21は、リセット確認画面を表示部13に表示させた後、ユーザによる「はい」ボタン34または「いいえ」ボタン35の選択操作を待つ(S505)。
【0082】
メインCPU21は、「はい」ボタン34または「いいえ」ボタン35の選択操作を待つ選択待ち状態の間、その選択待ち状態の継続時間、つまり選択待ち状態の開始からの経過時間が一定時間に到達することによるタイムアウトを監視している(S506)。
【0083】
そして、選択待ち状態の継続時間が一定時間に達するとタイムアウトとなり、メインCPU21は、各機能のDMA停止準備状態を解除し、各機能をDMA停止準備状態から通常状態に戻して(S507)、図4Aに示される処理を終了する。
【0084】
一方、メインCPU21は、ファクシミリ機能、プリント機能およびスキャン機能を含む所定の機能のいずれか1つでも通常状態からDMA停止準備状態に移行させることができなかった場合、図示されないブザーによる拒否音を鳴らして(S508)、図4Aに示される処理を終了する。
【0085】
また、ユーザがリセット確認画面で「いいえ」ボタン35を選択操作した場合(S509)、メインCPU21は、各機能のDMA停止準備状態を解除し、各機能をDMA停止準備状態から通常状態に戻して(S507)、図4Aに示される処理を終了する。
【0086】
ユーザがリセット確認画面で「はい」ボタン34を選択操作した場合(図4BのS510)、メインCPU21は、本体の設定を初期値に戻すリセット処理を実行する(S511)。これにより、本体の設定がリセットされる。
【0087】
その後、メインCPU21は、DMAC26による表示部13からDRAM18へのDMAを除き、DMAC26によるそれ以外のDMAを停止する(S512)。
【0088】
そして、メインCPU21は、メインCPU21自身を通常状態から割り込み禁止状態に移行させた後(S513)、ACIC16内部のLCDコントローラ29によるDMAC26を通じた表示部13からDRAM18へのDMAを禁止する(S514)。この時点までDMAC26による表示部13からDRAM18へのDMAが許可されることにより、表示部13に所定のホーム画面が表示されるので、表示部13の画面が消えることによる故障の疑念をユーザが抱くことを抑制できる。
【0089】
その後は、メインCPU21により、図2Bに示されるステップS215以降の処理が実行されるとともに、サブCPUα22によるステップS303,S304の処理が実行され、サブCPUβ23によるステップS401〜S406の処理が実行される。
【0090】
リセット処理の開始からASIC16内部のLCDコントローラ29によるDMAC26を通じた表示部13からDRAM18へのDMAを禁止するまでの間、メインCPU21は、表示部13に図3に示されるリセット中/バックアップリブート中画面を表示させる。
【0091】
<変形例>
以上、本発明の2つの実施形態について説明したが、本発明は、さらに他の形態で実施することもでき、前述の構成には、特許請求の範囲に記載された事項の範囲で種々の設計変更を施すことが可能である。
【符号の説明】
【0092】
1:複合機
14:操作部
15:通信部
18:DRAM
19:バス
21:メインCPU
22:サブCPUα
23:サブCPUβ
28:内部バス
29:LCDコントローラ
30:画像読取部コントローラ
図1
図2A
図2B
図2C
図3
図4A
図4B