以下、本発明に係る電子機器の一実施形態を図面に基づいて説明する。尚、本実施形態では、電子機器として複写機を例に説明するが、これに限定する趣旨ではなく、電子機器は、例えば、プリンター、ファクシミリ装置、又はスキャナー等の画像処理装置や、これら画像処理装置の機能を兼ね備えた複合機、ゲーム機、携帯電話、及びカーナビゲーション装置であってもよい。
図1は、本発明の電子機器の一実施形態に係る複写機1の電気的構成を示すブロック図である。例えば図1に示すように、複写機1は、電源部20と、制御バス30と、マスター基板40と、2つのスレーブ基板50a、50bと、を備えている。
電源部20は、内部に不図示のAC/DCコンバーターを備え、不図示のメインスイッチがオンされた場合に、商用交流電圧を用いて所定の大きさ(例えば、24V)の直流電圧を生成する。電源部20は、生成した直流電圧をマスター基板40及び2つのスレーブ基板50a、50bに供給する。以下、電源部20から供給される直流電圧を電源電圧と示す。
制御バス30は、マスター基板40と、2つのスレーブ基板50a、50bと、を互いに通信可能に接続する。
マスター基板40は、DCDCコンバーター41と、CPU(Central Processing Unit)42と、CPU42により実行される制御プログラムが記憶されたEEPROM(Electrically Erasable and Programmable Read Only Memory)等の不揮発性メモリー43(記憶部)と、データを一時的に記憶するための不図示のRAM(Dynamic Random Access Memory)と、電源監視回路44(監視部)と、操作部45と、例えば、USB(Universal Serial Bus)メモリー等の外部メモリー60にアクセスするための外部インターフェイス回路や、現在時刻を計時するタイマー回路等の不図示の周辺回路を備えている。
DCDCコンバーター41は、電源部20から供給された電源電圧を所定の大きさ(例えば、1.2V)の直流電圧に変換し、当該変換した直流電圧を不図示の給電線を介してマスター基板40に備えられた各部に供給する。
電源監視回路44は、内部に不図示のコンパレーターを備えている。電源監視回路44は、後述する監視要求部47から後述の監視要求信号を受信すると、電源部20から供給される電源電圧の監視を開始する。そして、電源監視回路44は、コンパレーターを用いて、監視中の電源電圧が予め定められた電圧値を超えているか否かを判定する。電源監視回路44は、監視中の電源電圧が予め定められた電圧値を超えていると判定した場合に、電源電圧の正常な供給を検知し、ハイレベルの検知信号を出力する。一方、電源監視回路44は、監視中の電源電圧が予め定められた電圧値を超えていないと判定した場合に、電源電圧の低下を検知し、ローレベルの検知信号を出力する。
尚、電源監視回路44は、これに代えて、電源電圧の正常な供給を検知したときにローレベルの検知信号を出力し、電源電圧の低下を検知したときにハイレベルの検知信号を出力するように構成してもよい。
また、コンパレーターによる判定に用いる上記の予め定められた電圧値は、電源監視回路44によって電源電圧の低下が検知された場合に、後述の記録部48が所定の時間動作を行えるようにするために、記録部48の所定の動作に必要な電圧値よりも高い電圧値が定められている。
具体的には、作業者が電源コンセントを離脱させる、或いは、停電が発生すること等に起因して、電源部20への商用交流電圧の供給が遮断された場合、電源部20は、不図示のACDCコンバーターの内部に備えられた容量性負荷に蓄電された電力を用いて、例えば、通常時の24Vよりも小さい電源電圧を供給するようになる。一方、DCDCコンバーター41は、電源部20から供給される電源電圧が18V以上である間は、電源部20から供給される次第に低下する電源電圧と、内部に備えられた不図示の容量性負荷等に蓄電された電力とを用いて、CPU42が記録部48として動作可能な例えば1.2Vの直流電圧に変換することが可能に構成されているとする。この場合、コンパレーターによる判定に用いる上記の予め定められた電圧値は、例えば、18Vよりも2V大きい20Vに定められる。その結果、CPU42は、電源部20から供給される電源電圧が20V以下に低下してから18V以下に低下するまでの間(例えば、5msec)、DCDCコンバーター41から供給される1.2Vの直流電圧によって記録部48として動作可能になる。
操作部45は、情報を表示するための表示部451と、ユーザーによって各種指示の操作を行わせるための操作キー部452と、を備えている。表示部451は、例えばタッチパネル機能を有する液晶ディスプレイ等であり、各種情報を表示する。操作キー部452は、例えばユーザーが複写機1の各種機能の実行指示を入力するためのスタートキーや、印刷部数等の数値を入力するためのテンキー等の各種キーを備えている。
CPU42は、不揮発性メモリー43に記憶されている制御プログラムを実行することによって、ロード部46、監視要求部47、記録部48、及び報知部49として動作する。
ロード部46は、スレーブ基板50a、50bに備えられた後述の不揮発性メモリー53a、53bに記憶されている制御プログラムの更新用プログラムを、順次各スレーブ基板50a、50bへロードするロード処理を実行する。
更新用プログラムを各スレーブ基板50a、50bへロードするとは、各スレーブ基板50a、50bの不揮発性メモリー53a、52bに記憶されている制御プログラムを、当該更新用プログラムによって書き換えることを示す。尚、ロード処理の詳細な動作については後述する。
監視要求部47は、ロード部46がロード処理の実行を開始する際に、電源電圧を監視するよう要求する監視要求信号を電源監視回路44に送信する。
また、監視要求部47は、ロード部46がロード処理を実行することによって、2つのスレーブ基板50a、50bのうちの一つのスレーブ基板への更新用プログラムのロードを開始する際には、他のスレーブ基板に対して、電源電圧を監視するよう要求する監視要求信号を送信する。
例えば、監視要求部47は、ロード部46がスレーブ基板50aへの更新用プログラムのロードを開始する際には、スレーブ基板50bに対して監視要求信号を送信する。その後、ロード部46が、スレーブ基板50aへの更新用プログラムのロードを終了し、スレーブ基板50bへの更新用プログラムのロードを開始する際には、監視要求部47は、スレーブ基板50aに対して監視要求信号を送信する。
記録部48は、電源監視回路44からローレベルの検知信号が出力された場合、つまり、電源監視回路44によって電源電圧の低下が検知された場合、ロード部46によるロード処理の実行中に電源異常が発生したものとして、電源異常の発生を示す電源異常情報に、不図示のタイマー回路によって計時された現在時刻、つまり、電源異常の発生時刻を示す情報を含めて不揮発性メモリー43に記憶する。
具体的には、電源異常の発生を示す電源異常情報は、例えば、「ロード処理中に電源異常が発生しました」を示す文字列で構成されている。ただし、これに限らず、電源異常情報を、例えば「1」等の数値で構成してもよい。電源監視回路44により電源電圧の低下が検知されたとき、不図示のタイマー回路によって計時された現在時刻が、例えば2013年4月30日12時00分であったとする。この場合、記録部48は、電源異常の発生時刻を示す情報として「2013年4月30日12時00分」を示す文字列を電源異常情報に含め、「2013年4月30日12時00分 ロード処理中に電源異常が発生しました」を示す文字列を、電源異常情報として不揮発性メモリー43に記憶する。ただし、電源異常の発生時刻を示す情報は、これに限らず、例えば、当該発生時刻を表す数字を列挙した文字列「201304301200」等で構成してもよい。
報知部49は、複写機1の起動時に、マスター基板40の不揮発性メモリー43に電源異常情報が記憶されていた場合、当該記憶されていた電源異常情報を表示部451に表示する。これによって、報知部49は、電源異常情報をユーザーに報知する。ただし、これに限らず、報知部49は、例えば、不図示の音声信号を出力可能なスピーカーを用いて、電源異常情報を示す音声信号を出力することによって、電源異常情報をユーザーに報知してもよい。また、報知部49は、マスター基板40に備えられた不図示のLEDランプを点灯することによって電源異常が発生したことだけをユーザーに報知するように構成してもよい。尚、複写機1は、電源部20の不図示のメインスイッチがオンされたことによって、電源部20からマスター基板40及び2つのスレーブ基板50a、50bへの電源電圧の供給が開始されたときに起動する。
スレーブ基板50aは、DCDCコンバーター51aと、CPU52aと、CPU52aにより実行される制御プログラムが記憶されたEEPROM等の不揮発性メモリー53a(記憶部)と、データを一時的に記憶するための不図示のRAMと、電源監視回路54a(監視部)と、現在時刻を計時するタイマー回路等の不図示の周辺回路と、を備えている。
DCDCコンバーター51aは、電源部20から供給された電源電圧を所定の大きさ(例えば、3.3V)の直流電圧に変換し、当該変換した直流電圧を不図示の給電線を介してスレーブ基板50aに備えられた各部や、不図示の原稿の画像を読み取るためのスキャナー装置へ供給する。
不揮発性メモリー53aには、スレーブ基板50aに備えられた各部やスキャナー装置の動作を制御するための制御プログラムや、当該制御プログラムを更新用プログラムによって書き換えるための書き換えプログラムが記憶されている。
電源監視回路54aは、内部に不図示のコンパレーターを備えている。電源監視回路54aは、マスター基板40の監視要求部47から送信されてきた監視要求信号を受信すると、電源部20から供給される電源電圧の監視を開始する。そして、電源監視回路54aは、コンパレーターを用いて、監視中の電源電圧が予め定められた電圧値を超えているか否かを判定し、監視中の電源電圧が予め定められた電圧値を超えていると判定した場合に、電源電圧の供給を検知し、ハイレベルの検知信号を出力する。一方、電源監視回路54aは、監視中の電源電圧が予め定められた電圧値を超えていないと判定した場合に、電源電圧の低下を検知し、ローレベルの検知信号を出力する。
尚、電源監視回路54aは、これに代えて、電源電圧の供給を検知したときにローレベルの検知信号を出力し、電源電圧の低下を検知したときにハイレベルの検知信号を出力するように構成してもよい。
また、コンパレーターによる判定に用いる上記の予め定められた電圧値は、電源監視回路54aによって電源電圧の低下が検知された場合に、後述の記録部58aが所定の時間動作を行えるようにするために、記録部58aの所定の動作に必要な電圧値よりも高い電圧値が定められている。
具体的には、作業者が電源コンセントを離脱させる、或いは、停電が発生すること等に起因して、電源部20への商用交流電圧の供給が遮断された場合、電源部20は、不図示のACDCコンバーターの内部に備えられた容量性負荷に蓄電された電力を用いて、例えば、通常時の24Vよりも小さい電源電圧を供給するようになる。一方、DCDCコンバーター51aは、電源部20から供給される電源電圧が18V以上である間は、電源部20から供給される次第に低下する電源電圧と、内部に備えられた不図示の容量性負荷等に蓄電された電力とを用いて、CPU52aが記録部58aとして動作可能な例えば3.3Vの直流電圧に変換することが可能に構成されているとする。この場合、コンパレーターによる判定に用いる上記の予め定められた電圧値は、例えば、18Vよりも2V大きい20Vに定められる。その結果、CPU52aは、電源部20から供給される電源電圧が20V以下に低下してから18V以下に低下するまでの間(例えば、5msec)、DCDCコンバーター51aから供給される3.3Vの直流電圧によって記録部58aとして動作可能になる。
CPU52aは、不揮発性メモリー53aに記憶されている書き換えプログラムを実行することによって書換部56aとして動作し、不揮発性メモリー53aに記憶されている制御プログラムを実行することによって記録部58aとして動作する。
書換部56aは、ロード部46によるロード処理の実行中に、スレーブ基板50aに送信されてきた更新用プログラムを受信すると、当該受信した更新用プログラムによって不揮発性メモリー53aに記憶されている制御プログラムを書き換える。つまり、CPU52aは、書き換えプログラムを実行することによって、書換部56aとして動作しているときは、制御プログラムを実行することができないので、記録部58aとして動作することができない。
記録部58aは、電源監視回路54aからローレベルの検知信号が出力された場合、つまり、電源監視回路54aによって電源電圧の低下が検知された場合、ロード部46によるロード処理の実行中に電源異常が発生したものとして、記録部48と同様にして、電源異常の発生を示す電源異常情報に、不図示のタイマー回路によって計時された現在時刻、つまり、電源異常の発生時刻を示す情報を含めて不揮発性メモリー53aに記憶する。
また、記録部58aは、不揮発性メモリー53aに電源異常情報を記憶する場合、更に、スレーブ基板50aの識別情報をマスター基板40へ送信する。スレーブ基板50aの識別情報は、例えば、スレーブ基板50aのシリアル番号を示す文字列で構成されている。
電源監視回路54aによって電源電圧の低下が検知された場合、同様に、マスター基板40の電源監視回路44においても、電源部20からの電源電圧の低下が検知される。その結果、記録部58aは電源異常情報を不揮発性メモリー53aに記憶するとともに、スレーブ基板50aの識別情報をマスター基板40へ送信する。一方、記録部48は、電源異常情報を不揮発性メモリー43に記憶する場合に、更に、スレーブ基板50aから送信されてきた識別情報を電源異常情報に含めて不揮発性メモリー43に記憶する。つまり、不揮発性メモリー43には、スレーブ基板50aから送信されてきた識別情報と、電源異常の発生時刻を示す情報と、を含む電源異常情報が記憶される。
スレーブ基板50bは、スレーブ基板50aと同様の構成であるので詳細な説明を省略する。ただし、DCDCコンバーター51bは、電源部20から供給された電源電圧を所定の直流電圧に変換し、当該変換した直流電圧を不図示の給電線を介してスレーブ基板50bに備えられた各部や、スキャナー装置で読み取られた画像を印刷出力する不図示のプリント装置へ供給する。
以下では、ロード部46により実行されるロード処理の動作、及び、ロード処理の実行中に電源電圧が低下したときの動作について、図2を用いて詳述する。図2は、ロード部46により実行されるロード処理の動作、及び、ロード処理の実行中に電源電圧が低下したときの動作を示すフローチャートである。
尚、以下では、説明の便宜上、スレーブ基板50a、50bを総称して説明する場合に、スレーブ基板50と示す。また、不揮発性メモリー53a、53bを総称して説明する場合に、不揮発性メモリー53と示し、電源監視回路54a、54bを総称して説明する場合に、電源監視回路54と示す。また、書換部56a、56bを総称して説明する場合に、書換部56と示し、記録部58a、58bを総称して説明する場合に、記録部58と示す。
例えば、ユーザーによる操作キー部452の操作によってロード処理の実行指示が入力されると、ロード部46はロード処理の実行を開始する。図2に示すように、ロード部46は、ロード処理の実行を開始すると、複写機1に備えられた全てのスレーブ基板50のうち、更新用プログラムのロードが終了していない一つのスレーブ基板50を、更新用プログラムのロード対象のスレーブ基板50として選択する(S1)。
ロード部46によって更新用プログラムのロード対象の一つのスレーブ基板50が選択されると、監視要求部47は、当該選択された一つのスレーブ基板50とは異なる他のスレーブ基板50の電源監視回路54及びマスター基板40の電源監視回路44へ、監視要求信号を送信する(S2)。これにより、監視要求信号を受信した電源監視回路54及び電源監視回路44は、電源部20から供給される電源電圧の監視を開始する。
監視要求部47によって監視要求信号が送信されると、ロード部46は、ステップS1で選択した一つのスレーブ基板50へ更新用プログラムをロードする(S3)。
具体的には、ロード部46は、ステップS1で選択した一つのスレーブ基板50への更新用プログラムのロードを以下のように行う。ロード部46は、ステップS1で選択した一つのスレーブ基板50への更新用プログラムのロードを開始すると、不図示の外部インターフェイス回路を用いて、ステップS1で選択した一つのスレーブ基板50の制御プログラムの更新用プログラムを外部メモリー60から読み出し、読み出した更新用プログラムを当該一つのスレーブ基板50へ送信する。一方、当該一つのスレーブ基板50の書換部56は、更新用プログラムを受信すると、受信した更新用プログラムによって不揮発性メモリー53に記憶されている制御プログラムを書き換える。当該一つのスレーブ基板50の書換部56は、制御プログラムの書き換えを終了すると、当該書き換えが終了したことを示す書換終了信号をマスター基板40へ送信する。ロード部46は、書換終了信号を受信することによって、ステップS1で選択した一つのスレーブ基板50において制御プログラムの書き換えが終了したと判断し、ステップS1で選択した一つのスレーブ基板50への更新用プログラムのロードを終了する。
ロード部46は、ステップS1で選択した一つのスレーブ基板50への更新用プログラムのロードを終了すると(S4;YES)、複写機1に備えられた全てのスレーブ基板50への更新用プログラムのロードが終了したか否かを判断する(S9)。
ロード部46は、複写機1に備えられた全てのスレーブ基板50への更新用プログラムのロードが終了したと判断した場合は(S9;YES)、ロード処理の実行を終了する。一方、ロード部46は、複写機1に備えられた全てのスレーブ基板50のうち、更新用プログラムのロードを終了していないスレーブ基板50が存在すると判断した場合は(S9;NO)、再びステップS1を実行する。当該ステップS1の実行後は、ステップS2以降の処理が実行される。
一方、ロード部46がステップS1で選択した一つのスレーブ基板50への更新用プログラムのロードを終了していない間に(S4;NO)、ステップS1で選択した一つのスレーブ基板50とは他のスレーブ基板50の電源監視回路54及び電源監視回路44によって、電源電圧の低下を検知したことを示すローレベルの検知信号が出力された場合(S5;YES)、当該他のスレーブ基板50の記録部58は、当該電源電圧の低下を示す検知信号が出力されたときの現在時刻を示す情報、つまり、電源異常の発生時刻を示す情報を電源異常情報に含め、当該電源異常情報を当該他のスレーブ基板50の不揮発性メモリー53に記憶する(S6)。更に、当該他のスレーブ基板50の記録部58は、当該他のスレーブ基板50の識別情報をマスター基板40へ送信する(S7)。
一方、マスター基板40の記録部48は、当該他のスレーブ基板50の識別情報を受信し、受信した識別情報と、電源監視回路44によって電源電圧の低下を示す検知信号が出力されたときの現在時刻を示す情報、つまり、電源異常の発生時刻を示す情報と、を電源異常情報に含め、当該電源異常情報を当不揮発性メモリー43に記憶する(S8)。この場合、電源電圧の低下が検知された状態であり、電源部20から電源電圧が供給されなくなるので、ロード部46はロード処理の実行を途中で終了することになる。
上記実施形態の構成によれば、あるスレーブ基板50への更新用プログラムのロード中に、そのスレーブ基板50への電源電圧の低下が検知された場合、当該スレーブ基板50とは別の他のスレーブ基板50の不揮発性メモリー53に電源異常情報が記憶される。このため、ユーザーは、各スレーブ基板50に備えられた不揮発性メモリー53にアクセスするための専用治具等を用いて各スレーブ基板50に備えられた不揮発性メモリー53に電源異常情報が記憶されているか否かを確認することによって、電源異常情報が記憶されている不揮発性メモリー53を備えたスレーブ基板50とは別の他のスレーブ基板50への更新用プログラムのロード中に、電源異常が発生したことを把握することができる。
また、上記実施形態の構成によれば、更新用プログラムを一のスレーブ基板50にロードする際に、他のスレーブ基板50では、監視要求信号が受信されたときに当該一のスレーブ基板50に供給される電源電圧、つまり、電源部20から供給される電源電圧の監視が開始される。その後、電源監視回路54によって当該電源電圧の低下が検知された場合、不揮発性メモリー53に電源異常情報が記憶される。これによって、更新用プログラムを一つのスレーブ基板50へロードしている間に電源異常が発生した場合には、当該一つのスレーブ基板50の不揮発性メモリー53には電源異常情報が記憶されず、他のスレーブ基板50の不揮発性メモリー53には電源異常情報が記憶されるようになる。
このため、ユーザーは、各スレーブ基板50の不揮発性メモリー53に電源異常情報が記憶されているか否かを確認することによって、電源異常情報が記憶されていない不揮発性メモリー53を備えたスレーブ基板50への更新用プログラムのロード中に、電源異常が発生したことを把握することができる。つまり、電源異常が発生したことによって更新用プログラムが正常にロードされていない虞のあるスレーブ基板50を容易に特定することができる。
また、上記実施形態の構成によれば、マスター基板40に備えられた不揮発性メモリー43に記憶されている電源異常情報に含まれた識別情報を用いて、当該識別情報で識別されるスレーブ基板50とは他のスレーブ基板50の更新用プログラムのロード中に、電源異常が発生したことを容易に把握することができる。つまり、識別情報で識別されるスレーブ基板50とは他のスレーブ基板50を、電源異常が発生したことによって更新用プログラムが正常にロードされていない虞のあるスレーブ基板50として、容易に特定することができる。
また、上記実施形態の構成によれば、複写機1の起動時に、マスター基板40の不揮発性メモリー43に記憶されている電源異常情報がユーザーに報知される。このため、ユーザーは、一つのスレーブ基板50の更新用プログラムのロード中に電源異常が発生していたことに気付き易くなる。
また、上記実施形態の構成によれば、電源異常情報に電源異常の発生時刻が含まれているので、スレーブ基板50の更新用プログラムのロード中に発生した電源異常の発生時刻を容易に把握することができる。その結果、例えば、作業工程表等に記載された作業スケジュールに基づいて、どの作業工程において電源異常が発生したかを把握する等して、電源異常の発生原因を究明するときの効率を向上することができる。
尚、上記実施形態において図1及び図2に示した構成は単なる一例に過ぎず、本発明を当該実施形態に限定する趣旨ではない。
例えば、上記実施形態においては、マスター基板40の不揮発性メモリー43に記憶されている制御プログラムの書き換えが行われないので、電源監視回路44を備えず、また、CPU42が記録部48及び報知部49として動作しないように簡素化して構成してもよい。
一方、ロード部46は、ロード処理において、更に、マスター基板40へ制御プログラムの更新用プログラムをロードするように構成してもよい。つまり、ロード部46は、不揮発性メモリー43に記憶されている制御プログラムの更新用プログラムを外部メモリー60から読み出して、読み出した更新用プログラムによって、不揮発性メモリー43に記憶されている制御プログラムを書き換えるように構成してもよい。尚、この場合、不揮発性メモリー43に記憶されている、CPU42をロード部46として動作させるための制御プログラムは、CPU42をロード部46とは別の他の動作部として動作させる制御プログラムとは別のプログラムとして構成され、外部メモリー60には、CPU42をロード部46とは別の動作部として動作させるための制御プログラムの更新用プログラムが記憶されている。
この場合、監視要求部47は、ロード部46がマスター基板40へ制御プログラムの更新用プログラムをロードする際には、スレーブ基板50a、50bの電源監視回路54a、54bへ監視要求信号を送信する。その後、CPU42は、ロード部46以外の動作部として動作できなくなる。その結果、監視要求信号を受信した電源監視回路54a、54bは、電源部20から供給される電源電圧の監視を開始する。これによって、ロード部46がマスター基板40へ制御プログラムの更新用プログラムをロードしている間、電源監視回路54a、54bによって電源電圧の低下が検知された場合には、記録部58a、58bによって不揮発性メモリー53a、53bに電源異常情報が記憶される。
このため、ユーザーは、スレーブ基板50a、50bに備えられた不揮発性メモリー53a、53bにアクセスするための専用治具等を用いて、スレーブ基板50a、50bに備えられた不揮発性メモリー53a、53bに、共に電源異常情報が記憶されていることを確認することによって、マスター基板40への更新用プログラムのロード中に、電源異常が発生したことを把握することができる。
また、記録部58は、ステップS6において、電源異常情報に電源異常の発生時刻を示す情報を含めないように簡素化して構成してもよい。同様に、記録部48は、ステップS8において、電源異常情報に電源異常の発生時刻を示す情報を含めないように簡素化して構成してもよい。
また、CPU42が制御プログラムを実行することによって、報知部49として動作しないように簡素化してもよい。
また、記録部58は、ステップS7を実行しないように簡素化して構成してもよい。これに合わせて、記録部48は、ステップS8において、電源異常情報にスレーブ基板50の識別情報を含めないように簡素化して構成してもよい。
また、上記実施形態では、マスター基板40及びスレーブ基板50に供給される電源電圧は、何れも電源部20から供給されていた。しかし、これに替えて、電源電圧を生成する電源部を複数備え、各基板への電源電圧の供給元の電源部を異ならせるように構成してもよい。ただし、これに合わせて、各スレーブ基板50に備えられた電源監視回路54は、ステップS2において監視要求信号を受信した場合に、更新用プログラムのロード対象の一つのスレーブ基板50に供給される電源電圧を監視するように構成する必要がある。