JP2018092488A - 電子機器、画像形成装置、制御方法、およびプログラム - Google Patents

電子機器、画像形成装置、制御方法、およびプログラム Download PDF

Info

Publication number
JP2018092488A
JP2018092488A JP2016237036A JP2016237036A JP2018092488A JP 2018092488 A JP2018092488 A JP 2018092488A JP 2016237036 A JP2016237036 A JP 2016237036A JP 2016237036 A JP2016237036 A JP 2016237036A JP 2018092488 A JP2018092488 A JP 2018092488A
Authority
JP
Japan
Prior art keywords
processor
internal reset
reset
unit
signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016237036A
Other languages
English (en)
Other versions
JP6750489B2 (ja
Inventor
崇之 柴田
Takayuki Shibata
崇之 柴田
敏寛 濱野
Toshihiro Hamano
敏寛 濱野
石井 達也
Tatsuya Ishii
達也 石井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2016237036A priority Critical patent/JP6750489B2/ja
Priority to US15/831,529 priority patent/US10628374B2/en
Publication of JP2018092488A publication Critical patent/JP2018092488A/ja
Application granted granted Critical
Publication of JP6750489B2 publication Critical patent/JP6750489B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/177Initialisation or configuration control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/24Resetting means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • G06F13/126Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine and has means for transferring I/O instructions and statuses between control unit and main processor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/22Pc multi processor system
    • G05B2219/2231Master slave

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Retry When Errors Occur (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】内部リセットが発生したサブプロセッサをメインプロセッサで特定することができるようにする。【解決手段】第2のプロセッサは、内部リセットを行う内部リセット部と、内部リセットが発生したことに応じて、内部リセット発生信号を出力する内部リセット発生信号出力部と、内部リセットされたことに応じて、内部リセットの発生元であることを表す識別信号を出力する識別信号出力部とを備える。第1のプロセッサは、内部リセット発生検出信号が入力された場合、いずれかの他のプロセッサにおいて内部リセットが発生したことを検出する検出部と、検出部によって内部リセットの発生が検出された場合において、第2のプロセッサから識別信号が入力された場合、第2のプロセッサを、内部リセットの発生元のプロセッサとして特定する特定部とを備える。【選択図】図2

Description

本発明は、電子機器、画像形成装置、制御方法、およびプログラムに関する。
従来、複数のプロセッサを備え、複数の機能を複数のプロセッサで分担して実行することが可能な電子機器が知られている。
例えば、下記特許文献1には、複数のコンポーネント(LAN(Local Area Network)、シリアル、CF(Compact Flash(登録商標)))の各々にCPU(Central Processing Unit)が設けられている複数コンポーネントシステムが開示されている。また、下記特許文献1には、このようなシステムにおいて、正常状態にあるCPUが、異常状態となった他のCPUのみを問題のないタイミングでリセットする技術が開示されている。
ところで、電子機器において、メインCPUと複数のサブCPUとを備えた構成とし、メインCPUによって電子機器の全体制御を行い、サブCPUによって電子機器の一部(例えば、モータ等)を制御するように構成する場合がある。また、このように構成された電子機器において、複数のサブCPUの各々にWDT(Watch Dog Timer)を搭載することで、異常が発生したサブCPUが自らリセット(内部リセット)するように構成される場合もある。
しかしながら、従来、複数のサブCPUのいずれかにおいて内部リセットが発生した場合であっても、メインCPUがどのサブCPUで内部リセットが発生したのかを特定することができないといった課題が生じていた。このため、例えば、内部リセットが発生したサブCPUをメインCPUから外部リセットするといったことができなかった。
本発明は、上述した従来技術の課題を解決するため、内部リセットが発生したサブプロセッサをメインプロセッサで特定することができるようにすることを目的とする。
上述した課題を解決するために、本発明の電子機器は、第1のプロセッサおよび第2のプロセッサを含む、複数のプロセッサを備えた電子機器であって、前記第2のプロセッサは、当該第2のプロセッサにおいて不具合が発生したときに、当該第2のプロセッサの内部リセットを行う内部リセット部と、当該第2のプロセッサが内部リセットされたことに応じて、内部リセットが発生したことを表す内部リセット発生信号を出力する内部リセット発生信号出力部と、当該第2のプロセッサが内部リセットされたことに応じて、内部リセットの発生元であることを表す識別信号を出力する識別信号出力部とを備え、前記第1のプロセッサは、いずれかの他のプロセッサから前記内部リセット発生信号が出力されたことに応じて、内部リセット発生検出信号が入力された場合、いずれかの他のプロセッサにおいて前記内部リセットが発生したことを検出する検出部と、前記検出部によって前記内部リセットが発生したことが検出された場合において、前記第2のプロセッサから前記識別信号が入力された場合、前記第2のプロセッサを、前記内部リセットの発生元のプロセッサとして特定する特定部とを備えることを特徴とする。
本発明によれば、内部リセットが発生したサブプロセッサをメインプロセッサで特定することができる。
本発明の第1実施形態に係る画像形成装置の装置構成を示す図である。 本発明の第1実施形態に係る画像形成装置の機能構成を示すブロック図である。 本発明の第1実施形態に係る画像形成装置におけるメインCPUの処理手順を示すフローチャートである。 本発明の第1実施形態に係る画像形成装置におけるサブCPUの処理手順を示すフローチャートである。 本発明の第1実施形態に係る画像形成装置における各種動作のタイミングを示すタイミングチャートである。 本発明の第1実施形態に係る画像形成装置における初期化処理部による初期化処理の手順を示すフローチャートである。 本発明の第2実施形態に係る画像形成装置の装置構成を示す図である。 本発明の第2実施形態に係る画像形成装置におけるメインCPUの処理手順を示すフローチャートである。 本発明の第3実施形態に係る画像形成装置の装置構成を示す図である。 本発明の第3実施形態に係る画像形成装置におけるメインCPUの処理手順を示すフローチャートである。 本発明の第3実施形態に係る画像形成装置におけるサブCPUの処理手順を示すフローチャートである。 本発明の第3実施形態に係る画像形成装置における初期化処理部による初期化処理の手順を示すフローチャートである。
〔第1実施形態〕
以下、図面を参照して、本発明の第1実施形態について説明する。この第1実施形態では、メインCPU110に対し、サブCPU120と、サブCPU130とが接続されている場合において、サブCPU120またはサブCPU130における内部リセットの発生を、メインCPU110で検出する例を説明する。
(画像形成装置10の装置構成)
図1は、本発明の第1実施形態に係る画像形成装置10の装置構成を示す図である。図1に示す画像形成装置10は、特許請求の範囲に記載の「電子機器」および「画像形成装置」の一例である。画像形成装置10としては、例えば、プリンタ複合機、レーザプリンタ、インクジェットプリンタ、スキャナ等が挙げられるが、これらに限定されるものではない。
図1に示すように、本実施形態の画像形成装置10は、メインCPU110、サブCPU120、サブCPU130、およびAND回路140を備えている。メインCPU110は、特許請求の範囲に記載の「第1のプロセッサ」の一例である。サブCPU120は、特許請求の範囲に記載の「第2のプロセッサ」の一例である。サブCPU130は、特許請求の範囲に記載の「第3のプロセッサ」の一例である。AND回路140は、特許請求の範囲に記載の「論理回路」の一例である。例えば、画像形成装置10は、メインCPU110によって画像形成装置10の全体の制御を行い、サブCPU120およびサブCPU130によって、画像形成装置10の一部(例えば、モータ、センサ等)の制御を行うことができるようになっている。
(メインCPU110)
図1の例において、メインCPU110は、制御部111、GPIO入力ポート112、割込みポート113、GPIO出力ポート114、GPIO出力ポート115、および記憶装置116を有している。
制御部111は、メインCPU110に格納されているプログラムを実行することにより、メインCPU110における各種処理を行う。例えば、制御部111は、いずれかのプロセッサにおいて内部リセットが発生した場合に、内部リセットが発生したプロセッサを特定したり、内部リセットが発生したプロセッサに対して外部リセット信号を出力したりする。
GPIO入力ポート112は、サブCPU120から出力された、識別信号S_M_CPU2が入力される端子である。
割込みポート113は、外部割込み信号が入力される端子である。割込みポート113には、AND回路140から出力された、検出信号S_CPU_WAKEが入力される。
GPIO出力ポート114は、サブCPU120において内部リセットが発生したと特定された場合に、サブCPU120をリセットするための外部リセット信号CPU2_RSTを、サブCPU120へ出力するための端子である。
GPIO出力ポート115は、サブCPU130において内部リセットが発生したと特定された場合に、サブCPU130をリセットするための外部リセット信号CPU3_RSTを、サブCPU130へ出力するための端子である。
記憶装置116は、サブCPU120またはサブCPU130が内部リセットされた際に、その内部リセットの発生履歴を記憶するメモリである。
(サブCPU120)
図1の例において、サブCPU120は、内蔵WDT121、WDTRST出力端子122、WDTリセットステータスレジスタ123、GPIO出力ポート124、外部リセット端子入力125、および制御部126を有している。
内蔵WDT121は、サブCPU120において不具合(例えば、プログラムによる処理の不具合)が生じた場合、サブCPU120を内部リセットする。
WDTRST出力端子122は、WDTリセット発生パルスWDRST2(特許請求の範囲に記載の「内部リセット発生信号」の一例)を出力するための端子である。このWDTリセット発生パルスWDRST2は、通常時はその値が「1」となっている。そして、WDTリセット発生パルスWDRST2は、内蔵WDT121によってサブCPU120が内部リセットされたときに、その値が「0」となり、サブCPU120において内部リセットが発生したことを表すものとなる。
WDTリセットステータスレジスタ123は、内蔵WDT121によってサブCPU120が内部リセットされた際に、そのリセットの発生履歴を記憶する。この発生履歴は、サブCPU120がリセットされた後に、内蔵WDT121によってリセットされたか、その他の要因によりリセットされたのかを、サブCPU120自身が識別できるようにするためのものである。
GPIO出力ポート124は、識別信号S_M_CPU2(特許請求の範囲に記載の「識別信号」の一例)を出力するための端子である。この識別信号S_M_CPU2は、通常時はその値が「0」となっている。そして、識別信号S_M_CPU2は、内蔵WDT121によってサブCPU120が内部リセットされたときに、サブCPU120に設けられているプルアップ抵抗の作用により、その値が「1」となり、サブCPU120が内部リセットの発生元のデバイスであることを表すものとなる。
外部リセット端子入力125は、メインCPU110から出力された外部リセット信号CPU2_RSTが入力される端子である。
制御部126は、サブCPU120に格納されているプログラムを実行することにより、サブCPU120における各種処理を行う。例えば、制御部126は、各種信号(例えば、WDTリセット発生パルスWDRST2、識別信号S_M_CPU2等)の出力を制御したり、メインCPU110からの外部リセット信号に応じて、サブCPU120のリセットを行ったりする。
(サブCPU130)
図1の例において、サブCPU130は、内蔵WDT131、WDTRST出力端子132、WDTリセットステータスレジスタ133、外部リセット端子入力134、および制御部135を有している。
内蔵WDT131は、サブCPU130において不具合(例えば、プログラムによる処理の不具合)が生じた場合、サブCPU130を内部リセットする。
WDTRST出力端子132は、WDTリセット発生パルスWDRST3(特許請求の範囲に記載の「内部リセット発生信号」の一例)を出力するための端子である。このWDTリセット発生パルスWDRST3は、通常時はその値が「1」となっている。そして、WDTリセット発生パルスWDRST3は、内蔵WDT131によってサブCPU130が内部リセットされたときに、その値が「0」となり、サブCPU130において内部リセットが発生したことを表すものとなる。
WDTリセットステータスレジスタ133は、内蔵WDT131によってサブCPU130がリセットされた際に、そのリセットの発生履歴を記憶する。この発生履歴は、サブCPU130がリセットされた後に、内蔵WDT131によってリセットされたか、その他の要因によりリセットされたのかを、サブCPU130自身が識別できるようにするためのものである。
外部リセット端子入力134は、メインCPU110から出力された外部リセット信号CPU3_RSTが入力される端子である。
制御部135は、サブCPU130に格納されているプログラムを実行することにより、サブCPU130における各種処理を行う。例えば、制御部135は、各種信号(例えば、WDTリセット発生パルスWDRST3等)の出力を制御したり、メインCPU110からの外部リセット信号に応じて、サブCPU130のリセットを行ったりする。
(AND回路140)
AND回路140は、サブCPU120から出力されたWDTリセット発生パルスWDRST2と、サブCPU130から出力されたWDTリセット発生パルスWDRST3との論理演算(AND演算)を行う。これにより、AND回路140は、検出信号S_CPU_WAKE(特許請求の範囲に記載の「内部リセット発生検出信号」の一例)を生成し、当該検出信号S_CPU_WAKEを出力する。この検出信号S_CPU_WAKEは、いずれかの他のプロセッサにおいて内部リセットが発生したか否かを論理値で表すものである。具体的には、検出信号S_CPU_WAKEは、サブCPU120またはサブCPU130において内部リセットが発生したときに、その値が「0」となる。これにより、検出信号S_CPU_WAKEは、サブCPU120またはサブCPU130において内部リセットが発生したことを表すものとなる。
通常時、WDTリセット発生パルスWDRST2の値、および、WDTリセット発生パルスWDRST3の値は、いずれも「1」である。したがって、検出信号S_CPU_WAKEの値は「1」となる。
一方、サブCPU120またはサブCPU130において内部リセットが発生した場合、WDTリセット発生パルスWDRST2の値、または、WDTリセット発生パルスWDRST3の値が、「0」となる。したがって、検出信号S_CPU_WAKEの値は「0」となる。
したがって、メインCPU110は、1つの割込みポート113から入力された検出信号S_CPU_WAKEの値が「0」となったことをもって、サブCPU120またはサブCPU130における内部リセットの発生を検出できる。
(画像形成装置10の機能構成)
図2は、本発明の第1実施形態に係る画像形成装置10の機能構成を示すブロック図である。
(メインCPU110)
図2の例において、メインCPU110は、検出信号入力部211、検出部212、識別信号入力部213、特定部214、外部リセット信号出力部215、およびリセット履歴記憶部216を備えている。
検出信号入力部211は、サブCPU120またはサブCPU130のいずれかから、内部リセット発生信号が出力されたことに応じて、AND回路140から出力される内部リセット発生検出信号の入力を受け付ける。本実施形態では、検出信号入力部211は、メインCPU110が備える割込みポート113(図1参照)によって実現される。すなわち、検出信号入力部211は、内部リセット発生検出信号として、AND回路140から出力された、検出信号S_CPU_WAKE(値=「0」)の入力を受け付けることとなる。
検出部212は、検出信号入力部211が内部リセット発生検出信号の入力を受け付けた場合、サブCPU120またはサブCPU130において内部リセットが発生したことを検出する。本実施形態では、サブCPU120またはサブCPU130のいずれかから内部リセット発生信号が出力されると、値が「0」の検出信号S_CPU_WAKEが、メインCPU110に入力されることとなる。よって、検出部212は、検出信号入力部211が、値が「0」の検出信号S_CPU_WAKEの入力を受け付けたとき、サブCPU120またはサブCPU130において内部リセットが発生したことを検出する。本実施形態では、検出部212は、メインCPU110が備える制御部111(図1参照)によって実現される。
識別信号入力部213は、サブCPU120が内部リセットされた際に、サブCPU120から出力される、内部リセットの発生元であることを表す識別信号の入力を受け付ける。本実施形態では、識別信号入力部213は、メインCPU110が備えるGPIO入力ポート112(図1参照)によって実現される。すなわち、識別信号入力部213は、上記識別信号として、識別信号S_M_CPU2(値=「1」)の入力を受け付ける。
特定部214は、検出部212によって内部リセットの発生が検出された場合において、識別信号入力部213が上記識別信号の入力を受け付けた場合、サブCPU120を内部リセットの発生元のプロセッサとして特定する。一方、特定部214は、検出部212によって内部リセットの発生が検出された場合において、識別信号入力部213が上記識別信号の入力を受け付けなかった場合、サブCPU130を内部リセットの発生元のプロセッサとして特定する。本実施形態では、特定部214は、メインCPU110が備える制御部111(図1参照)によって実現される。
外部リセット信号出力部215は、特定部214によって特定された内部リセットの発生元のプロセッサに対し、外部リセット信号を出力する。すなわち、外部リセット信号出力部215は、サブCPU120が内部リセットの発生元のプロセッサとして特定された場合、サブCPU120に対し、外部リセット信号を出力する。一方、外部リセット信号出力部215は、サブCPU130が内部リセットの発生元のプロセッサとして特定された場合、サブCPU130に対し、外部リセット信号を出力する。本実施形態では、外部リセット信号出力部215は、メインCPU110が備えるGPIO出力ポート114,115(図1参照)によって実現される。すなわち、外部リセット信号出力部215は、サブCPU120に対しては、外部リセット信号CPU2_RSTを送信し、サブCPU130に対しては、外部リセット信号CPU3_RSTを送信する。
リセット履歴記憶部216は、特定部214によって内部リセットの発生元が特定されると、当該内部リセットの発生元を識別可能な形態で、内部リセットの発生履歴を記憶する。本実施形態では、リセット履歴記憶部216は、メインCPU110が備える記憶装置116(図1参照)によって実現される。
(サブCPU120)
図2の例において、サブCPU120は、内部リセット部221、内部リセット発生信号出力部222、識別信号出力部223、外部リセット信号入力部224、リセット部225、および初期化処理部226を備えている。
内部リセット部221は、サブCPU120において不具合が発生したときに、当該サブCPU120の内部リセットを行う。本実施形態では、内部リセット部221は、サブCPU120が備える内蔵WDT121(図1参照)によって実現される。
内部リセット発生信号出力部222は、サブCPU120が内部リセットされたことに応じて、内部リセットが発生したことを表す内部リセット発生信号を出力する。本実施形態では、内部リセット発生信号出力部222は、サブCPU120が備えるWDTRST出力端子122(図1参照)によって実現される。すなわち、内部リセット発生信号出力部222は、内部リセット発生信号として、WDTリセット発生パルスWDRST2(値=「0」)を出力する。
識別信号出力部223は、サブCPU120が内部リセットされたことに応じて、内部リセットの発生元であることを表す識別信号を出力する。本実施形態では、識別信号出力部223は、サブCPU120が備えるGPIO出力ポート124(図1参照)によって実現される。すなわち、識別信号出力部223は、上記識別信号として、識別信号S_M_CPU2(値=「1」)を出力する。なお、この識別信号の出力は、サブCPU120に設けられているプルアップ抵抗の作用によって実現される。
外部リセット信号入力部224は、メインCPU110から出力された外部リセット信号の入力を受け付ける。本実施形態では、外部リセット信号入力部224は、サブCPU120が備える外部リセット端子入力125(図1参照)によって実現される。すなわち、外部リセット信号入力部224は、外部リセット信号CPU2_RSTの入力を受け付ける。
リセット部225は、外部リセット信号入力部224が外部リセット信号の入力を受け付けると、サブCPU120をリセットする。ここでリセット部225により行われるリセットは、パワーオンリセットと同等のものである。本実施形態では、リセット部225は、サブCPU120が備える制御部126(図1参照)によって実現される。
初期化処理部226は、リセット部225または内部リセット部221によってサブCPU120がリセットされた後、当該サブCPU120に対する所定の初期化処理を行う。この初期化処理は、各種入出力ポートの初期設定処理を含んでいる。本実施形態では、初期化処理部226は、サブCPU120が備える制御部126(図1参照)によって実現される。
(サブCPU130)
図2の例において、サブCPU130は、内部リセット部231、内部リセット発生信号出力部232、外部リセット信号入力部233、リセット部234、および初期化処理部235を備えている。
内部リセット部231は、サブCPU130において不具合が発生したときに、当該サブCPU130の内部リセットを行う。本実施形態では、内部リセット部231は、サブCPU130が備える内蔵WDT131(図1参照)によって実現される。
内部リセット発生信号出力部232は、サブCPU130が内部リセットされたことに応じて、内部リセットが発生したことを表す内部リセット発生信号を出力する。本実施形態では、内部リセット発生信号出力部232は、サブCPU130が備えるWDTRST出力端子132(図1参照)によって実現される。すなわち、内部リセット発生信号出力部232は、内部リセット発生信号として、のWDTリセット発生パルスWDRST3(値=「0」)を出力する。
外部リセット信号入力部233は、メインCPU110から出力された外部リセット信号の入力を受け付ける。本実施形態では、外部リセット信号入力部233は、サブCPU130が備える外部リセット端子入力134(図1参照)によって実現される。すなわち、外部リセット信号入力部233は、外部リセット信号CPU3_RSTの入力を受け付ける。
リセット部234は、外部リセット信号入力部233が外部リセット信号の入力を受け付けると、サブCPU130をリセットする。ここでリセット部234により行われるリセットは、パワーオンリセットと同等のものである。例えば、リセット部234は、サブCPU130が備える制御部135(図1参照)によって実現される。
初期化処理部235は、内部リセット部231またはリセット部234によってサブCPU130がリセットされた後、当該サブCPU130に対する所定の初期化処理を行う。この初期化処理は、各種入出力ポートの初期設定処理を含んでいる。本実施形態では、初期化処理部235は、サブCPU130が備える制御部135(図1参照)によって実現される。
(メインCPU110の処理手順)
図3は、本発明の第1実施形態に係る画像形成装置10におけるメインCPU110の処理手順を示すフローチャートである。
まず、検出信号入力部211が、内部リセット発生検出信号(すなわち、値が「0」の検出信号S_CPU_WAKE)の入力を受け付けたか否かを判断する(ステップS301)。ステップS301において、内部リセット発生検出信号の入力を受け付けていないと判断された場合(ステップS301:No)、メインCPU110は、ステップS301の処理を再度実行する。
一方、ステップS301において、内部リセット発生検出信号の入力を受け付けたと判断された場合(ステップS301:Yes)、検出部212が、サブCPU120またはサブCPU130において内部リセットが発生したことを検出する(ステップS302)。
そして、識別信号入力部213が、内部リセットの発生元であることを表す識別信号(すなわち、値が「1」の識別信号S_M_CPU2)の入力を受け付けたか否かを判断する(ステップS303)。
ステップS303において、識別信号の入力を受け付けたと判断された場合(ステップS303:Yes)、特定部214が、サブCPU120を内部リセットの発生元のプロセッサとして特定する(ステップS304)。そして、リセット履歴記憶部216が、内部リセットの発生履歴を記憶する(ステップS305)。さらに、外部リセット信号出力部215が、サブCPU120に対し、外部リセット信号(外部リセット信号CPU2_RST)を出力する(ステップS306)。その後、メインCPU110は、図3に示す一連の処理を終了する。
一方、ステップS303において、識別信号の入力を受け付けていないと判断された場合(ステップS303:No)、特定部214が、サブCPU130を内部リセットの発生元のプロセッサとして特定する(ステップS307)。そして、リセット履歴記憶部216が、内部リセットの発生履歴を記憶する(ステップS308)。さらに、外部リセット信号出力部215が、サブCPU130に対し、外部リセット信号(外部リセット信号CPU3_RST)を出力する(ステップS309)。その後、メインCPU110は、図3に示す一連の処理を終了する。
(サブCPU120の処理手順)
図4は、本発明の第1実施形態に係る画像形成装置10におけるサブCPU120の処理手順を示すフローチャートである。
まず、内部リセット部221が、サブCPU120において不具合が発生したか否かを判断する(ステップS401)。ステップS401において、不具合が発生していないと判断された場合(ステップS401:No)、サブCPU120は、ステップS401の処理を再度実行する。
一方、ステップS401において、不具合が発生したと判断された場合(ステップS401:Yes)、内部リセット部221が、サブCPU120の内部リセットを行う(ステップS402)。これにより、サブCPU120が備える全ての入出力ポートが、デフォルト状態となる。これに応じて、内部リセット発生信号出力部222が、内部リセット発生信号(すなわち、値が「0」のWDTリセット発生パルスWDRST2)を出力する(ステップS403)。さらに、識別信号出力部223が、内部リセットの発生元であることを表す識別信号(すなわち、値が「1」の識別信号S_M_CPU2)を出力する(ステップS404)。この識別信号の出力は、サブCPU120に設けられているプルアップ抵抗の作用により実現される。
その後、初期化処理部226が、所定の初期化処理を行う(ステップS405)。この初期化処理では、初期化処理部226は、内部リセットされたことに応じた設定を、各入出力ポートに対して行う。
その後、外部リセット信号入力部224が、メインCPU110から出力された外部リセット信号(すなわち、外部リセット信号CPU2_RST)の入力を受け付けたか否かを判断する(ステップS406)。
ステップS406において、外部リセット信号の入力を受け付けていないと判断された場合(ステップS406:No)、サブCPU120は、ステップS406の処理を再度実行する。
一方、ステップS406において、外部リセット信号の入力を受け付けたと判断された場合(ステップS406:Yes)、リセット部225が、サブCPU120をリセットする(ステップS407)。これにより、サブCPU120が備える全ての入出力ポートが、デフォルト状態となる。
その後、初期化処理部226が、所定の初期化処理を行う(ステップS408)。この初期化処理では、初期化処理部226は、外部リセットされたことに応じた設定を、各入出力ポートに対して行う。そして、サブCPU120は、図4に示す一連の処理を終了する。
なお、サブCPU130の処理の手順は、図4に示したサブCPU120の処理手順と同様である。このため、サブCPU130の処理の手順については、図示および説明を省略する。但し、サブCPU130の処理の手順は、上記識別信号の出力処理(ステップS404)を行わない点で、サブCPU120の処理手順と異なる。
(各種動作のタイミング)
図5は、本発明の第1実施形態に係る画像形成装置10における各種動作のタイミングを示すタイミングチャートである。図5では、CPU120において内部リセットが発生した場合の、各種動作のタイミングについて例示している。
図5の例では、まず、サブCPU120において、当該サブCPU120の不具合が発生すると、内部リセット部221により、サブCPU120が内部リセットされる。これにより、サブCPU120が備える全ての端子が、デフォルト状態となる。これに応じて、サブCPU120から出力されるWDTリセット発生パルスWDRST2の値が、「1(リセット解除状態)」から「0(リセット状態)」に切り替わる(タイミングt1)。
また、タイミングt1において、サブCPU120が内部リセットされたことに応じて、GPIO出力ポート124が出力設定状態から入力設定状態に切り替わる。これに伴い、GPIO出力ポート124から出力される、識別信号S_M_CPU2の値が、「0(正常動作状態(出力設定))」から「1(リセット状態(入力設定))」に切り替わる。なお、この識別信号の切り替えは、サブCPU120に設けられているプルアップ抵抗の作用によって実現される。
さらに、タイミングt1において、WDTリセット発生パルスWDRST2の値が「0」に切り替わったことに応じて、割込みポート113に入力される、検出信号S_CPU_WAKEの値が、「1」から「0」に切り替わる。これにより、メインCPU110において、検出部212が、サブCPU120またはサブCPU130において内部リセットが発生したことを検出する。そして、メインCPU110は、割込み処理として、内部リセットの発生元を特定するための発生元特定処理を開始する。
その後、サブCPU120において、初期化処理部226が、初期化処理を開始すると、サブCPU120から出力されるWDTリセット発生パルスWDRST2の値が、「0(リセット状態)」から「1(リセット解除状態)」に切り替わる(タイミングt2)。
ここで、初期化処理部226は、WDTリセットステータスレジスタ123を参照することにより、サブCPU120のリセットが、内蔵WDT121によるリセットか、その他の要因によるリセットかを判断する。そして、初期化処理部226は、内蔵WDT121によるリセットの場合と、その他の要因によるリセットの場合とで、初期化処理を異ならせる。
例えば、内蔵WDT121によるリセットの場合、初期化処理部226は、初期化処理を開始してから、所定の待機時間Tが経過した後、GPIO出力ポート124を入力設定状態から出力設定状態に戻す。これに伴い、GPIO出力ポート124から出力される、識別信号S_M_CPU2の値は、所定の待機時間Tが経過するまでの間は、「1」のままとなる。そして、識別信号S_M_CPU2の値は、所定の待機時間Tが経過した後に、「1」から「0」に戻ることとなる。
例えば、図5の例では、サブCPU120の初期化処理が開始されたタイミングt2から、所定の待機時間Tが経過したタイミングt4までの間は、識別信号S_M_CPU2の値が、「1(リセット状態(入力設定))」のままとなっている。そして、所定の待機時間Tが経過したタイミングt4において、識別信号S_M_CPU2の値が、「0(正常動作状態(出力設定))」に戻されている。これにより、メインCPU110は、サブCPU120の初期化処理が開始された後、所定の待機時間Tが経過するまでの間のタイミングt3において、サブCPU120を内部リセットの発生元のプロセッサとして特定することができる。
このとき、メインCPU110は、識別信号S_M_CPU2の値が「1」であれば、サブCPU120を内部リセットの発生元のプロセッサとして特定する。一方、メインCPU110は、識別信号S_M_CPU2の値が「0」であれば、サブCPU130を内部リセットの発生元のプロセッサとして特定する。
一方、その他の要因によるリセットの場合、初期化処理部226は、初期化処理を開始した後、直ちに、GPIO出力ポート124を入力設定状態から出力設定状態に戻す。これに伴い、GPIO出力ポート124から出力される、識別信号S_M_CPU2の値は、サブCPU120の初期化処理が開始された後、直ちに、「1」から「0」に戻ることとなる。
メインCPU110は、発生元特定処理が完了すると、所定の不具合対応動作を開始する(タイミングt5)。この不具合対応動作には、サブCPU120に対して外部リセット信号CPU2_RSTを出力することにより、サブCPU120をハードリセットする処理が含まれている。
(初期化処理の手順)
図6は、本発明の第1実施形態に係る画像形成装置10における初期化処理部226による初期化処理の手順を示すフローチャートである。
まず、初期化処理部226は、WDTリセットステータスレジスタ123を参照する(ステップS601)。そして、初期化処理部226は、ステップS601での参照結果に基づき、サブCPU120のリセットが、内蔵WDT121によるリセットか否かを判断する(ステップS602)。
ステップS602において、内蔵WDT121によるリセットではないと判断された場合(ステップS602:No)、初期化処理部226は、全ての入出力ポートの初期設定を行う(ステップS603)。そして、初期化処理部226は、図6に示す一連の処理を終了する。
一方、ステップS602において、内蔵WDT121によるリセットであると判断された場合(ステップS602:Yes)、初期化処理部226は、GPIO出力ポート124を除く全ての入出力ポートの初期設定を行う(ステップS604)。そして、初期化処理部226は、所定の待機時間Tが経過するまで待機する(ステップS605)。その後、初期化処理部226は、GPIO出力ポート124の初期設定を行う(ステップS606)。そして、初期化処理部226は、図6に示す一連の処理を終了する。
図6の初期化処理によれば、サブCPU120において内部リセットが発生した場合には、識別信号S_M_CPU2が出力される、GPIO出力ポート124の初期設定タイミングを遅らせている。これにより、メインCPU110Bは、サブCPU120Bの初期化処理が開始された後も、サブCPU120Bを内部リセットの発生元のプロセッサとして特定することができるようになっている。
以上説明したように、本実施形態の画像形成装置10は、内部リセットが発生したプロセッサから内部リセット発生信号を出力させ、これに応じて、メインCPU110の割込みポート113に内部リセット発生検出信号が入力されるようにしている。これにより、メインCPU110は、サブCPU120,130のいずれかにおいて内部リセットが発生したことを、容易に特定することができるようになっている。
さらに、本実施形態の画像形成装置10は、サブCPU120において内部リセットが発生した場合のみ、サブCPU120から識別信号をさらに出力させるようにしている。これにより、メインCPU110は、識別信号の有無により、サブCPU120,130のいずれが内部リセットの発生元であるかを、容易に特定することができるようになっている。
また、本実施形態の画像形成装置10によれば、複数のプロセッサから出力された内部リセット発生信号のAND信号を、内部リセット発生検出信号としてメインCPU110に入力する構成を採用している。これにより、メインCPU110は、単一のポートを使用して単一の信号を参照するだけといった簡単な構成で、いずれかのプロセッサにおいて内部リセットが発生したことを容易に特定することができる。
〔第2実施形態〕
次に、図7および図8を参照して、本発明の第2実施形態について説明する。この第2実施形態では、メインCPU110Aに対し、複数の第2のプロセッサ(サブCPU120,130A)と、複数の接続デバイス(IO−ASIC151,152)とを接続する例を説明する。なお、以下第2実施形態の説明においては、第1実施形態からの相違点についてのみ説明し、第1実施形態と同様の機能構成を有するものには第1実施形態と同様の符号を付与し、その説明を省略する。
(画像形成装置10Aの装置構成)
図7は、本発明の第2実施形態に係る画像形成装置10Aの装置構成を示す図である。図7に示す画像形成装置10Aは、以下の点で、第1実施形態の画像形成装置10(図1参照)と異なる。
・メインCPU110の代わりにメインCPU110Aを備える点
・サブCPU130の代わりにサブCPU130Aを備える点
・AND回路140の代わりにAND回路140Aを備える点
・IO−ASIC151およびIO−ASIC152をさらに備える点
サブCPU130Aは、サブCPU120と同様の装置構成および機能構成を有するものである。すなわち、サブCPU130Aは、サブCPU120と同様に、特許請求の範囲に記載の「第2のプロセッサ」の一例であり、内部リセットの発生元の識別信号を出力する機能を有している。具体的には、サブCPU130Aは、GPIO出力ポート136をさらに備える点で、第1実施形態のサブCPU130と異なる。GPIO出力ポート136は、識別信号S_M_CPU3(特許請求の範囲に記載の「識別信号」の一例)を出力するための端子である。この識別信号S_M_CPU3は、通常時はその値が「0」となっている。そして、識別信号S_M_CPU3は、内蔵WDT131によってサブCPU130Aが内部リセットされたことに応じて、その値が「1」となり、サブCPU130Aが内部リセットの発生元のデバイスであることを表すものとなる。
メインCPU110Aは、GPIO入力ポート117およびGPIO出力ポート118をさらに備える点で、第1実施形態のメインCPU110と異なる。GPIO入力ポート117は、サブCPU130Aから出力された、識別信号S_M_CPU3が入力される端子である。GPIO出力ポート118は、IO−ASIC151またはIO−ASIC152において内部リセットが発生したと特定された場合に、外部リセット信号IO_ASIC_RSTを、IO−ASIC151,152の各々へ出力するための端子である。
IO−ASIC151およびIO−ASIC152は、センサやモータなどのデバイスを制御するためのデバイスである。IO−ASIC151,152は、サブCPU120,130Aと同様に、内蔵WDTを備えている。そして、IO−ASIC151,152は、当該内蔵WDTによって内部リセットがなされた場合に、内部リセット発生信号(WDTリセット発生パルスWDRST4,WDRST5)を出力するように構成されている。また、IO−ASIC151およびIO−ASIC152は、外部リセット信号IO_ASIC_RSTを受けたことに応じて、外部リセットされるように構成されている。
AND回路140Aは、以下4つの信号の、論理演算(AND演算)を行う。
・サブCPU120から出力されたWDTリセット発生パルスWDRST2
・サブCPU130Aから出力されたWDTリセット発生パルスWDRST3
・IO−ASIC151から出力されたWDTリセット発生パルスWDRST4
・IO−ASIC152から出力されたWDTリセット発生パルスWDRST5
これにより、AND回路140Aは、検出信号S_CPU_WAKEを生成し、当該検出信号S_CPU_WAKEを出力する。第2実施形態では、検出信号S_CPU_WAKEは、通常時はその値が「1」である。そして、検出信号S_CPU_WAKEは、サブCPU120、サブCPU130A、IO−ASIC151、またはIO−ASIC152のいずれかにおいて内部リセットが発生したときに、その値が「0」となる。
したがって、メインCPU110Aは、割込みポート113から入力された検出信号S_CPU_WAKEの値が「0」となると、サブCPU120,130A、IO−ASIC151,152のいずれかにおける内部リセットの発生を検出することができる。
(メインCPU110Aの処理手順)
図8は、本発明の第2実施形態に係る画像形成装置10AにおけるメインCPU110Aの処理手順を示すフローチャートである。
まず、検出信号入力部211が、内部リセット発生検出信号(すなわち、値が「0」の検出信号S_CPU_WAKE)の入力を受け付けたか否かを判断する(ステップS801)。ステップS801において、内部リセット発生検出信号の入力を受け付けていないと判断された場合(ステップS801:No)、メインCPU110Aは、ステップS801の処理を再度実行する。
一方、ステップS801において、内部リセット発生検出信号の入力を受け付けたと判断された場合(ステップS801:Yes)、検出部212が、サブCPU120,130A、IO−ASIC151,152のいずれかにおいて内部リセットが発生したことを検出する(ステップS802)。
そして、識別信号入力部213が、識別信号S_M_CPU2(値=「1」)の入力を受け付けたか否かを判断する(ステップS803)。
ステップS803において、識別信号S_M_CPU2の入力を受け付けたと判断された場合(ステップS803:Yes)、特定部214が、サブCPU120を内部リセットの発生元のプロセッサとして特定する(ステップS804)。そして、リセット履歴記憶部216が、内部リセットの発生履歴を記憶する(ステップS805)。さらに、外部リセット信号出力部215が、サブCPU120に対し、外部リセット信号(外部リセット信号CPU2_RST)を出力する(ステップS806)。その後、メインCPU110Aは、図8に示す一連の処理を終了する。
一方、ステップS803において、識別信号S_M_CPU2の入力を受け付けていないと判断された場合(ステップS803:No)、識別信号入力部213が、識別信号S_M_CPU3(値=「1」)の入力を受け付けたか否かを判断する(ステップS807)。
ステップS807において、識別信号S_M_CPU3の入力を受け付けたと判断された場合(ステップS807:Yes)、特定部214が、サブCPU130Aを内部リセットの発生元のプロセッサとして特定する(ステップS808)。そして、リセット履歴記憶部216が、内部リセットの発生履歴を記憶する(ステップS809)。さらに、外部リセット信号出力部215が、サブCPU130Aに対し、外部リセット信号(外部リセット信号CPU3_RST)を出力する(ステップS810)。その後、メインCPU110Aは、図8に示す一連の処理を終了する。
一方、ステップS807において、識別信号S_M_CPU3の入力を受け付けていないと判断された場合(ステップS807:No)、特定部214が、IO−ASIC151,152のいずれかを内部リセットの発生元として特定する(ステップS811)。そして、リセット履歴記憶部216が、内部リセットの発生履歴を記憶する(ステップS812)。さらに、外部リセット信号出力部215が、IO−ASIC151,152の各々に対し、外部リセット信号(外部リセット信号IO_ASIC_RST)を出力する(ステップS813)。その後、メインCPU110Aは、図8に示す一連の処理を終了する。
なお、この第2実施形態におけるサブCPU120,130Aの処理の手順は、図4および図6に示した第1実施形態のサブCPU120の処理手順と同様である。このため、この第2実施形態におけるサブCPU120,130Aの処理の手順については、図示および説明を省略する。
以上説明したように、第2実施形態の画像形成装置10Aでは、サブCPU120,130Aの各々に、内部リセットの発生元であることを表す識別情報をメインCPU110Aへ出力する構成を設けている。これにより、メインCPU110Aは、さらにIO−ASIC151,152が接続されている場合であっても、サブCPU120,130Aのいずれか内部リセットの発生元であるかを、容易に特定することができるようになっている。
なお、上記第2実施形態において、IO−ASIC151,152の少なくともいずれか一方に対し、サブCPU120,130Aと同様に、内部リセットの発生元であることを表す識別情報をメインCPU110Aへ出力する構成を設けてもよい。これにより、メインCPU110Aは、IO−ASIC151,152のいずれが内部リセットの発生元であるかを、容易に特定することができるようになる。
〔第3実施形態〕
次に、図9〜図12を参照して、本発明の第3実施形態について説明する。この第3実施形態では、メインCPU110Bに対し、第2のプロセッサ(サブCPU120B)と、接続デバイス(IO−ASIC153)とが、直列的に接続(デイジーチェーン接続)されている場合において、各装置における内部リセットの発生を検出する例を説明する。なお、以下第3実施形態の説明においては、第1実施形態からの相違点についてのみ説明し、第1実施形態と同様の機能構成を有するものには第1実施形態と同様の符号を付与し、その説明を省略する。
(画像形成装置10Bの装置構成)
図9は、本発明の第3実施形態に係る画像形成装置10Bの装置構成を示す図である。図9に示す画像形成装置10Bは、メインCPU110の代わりにメインCPU110Bを備える点、サブCPU120の代わりにサブCPU120Bを備える点、IO−ASIC153をさらに備える点で、第1実施形態の画像形成装置10(図1参照)と異なる。
IO−ASIC153は、センサやモータなどのデバイスを制御するためのデバイスである。IO−ASIC153は、サブCPU120B,130と同様に、不具合発生時に内部リセットを行う内蔵WDT(内部リセット部)を備えている。また、識別信号S_M_CPU3は、当該内蔵WDTによって内部リセットがなされた場合に、内部リセット発生信号(WDTリセット発生パルスWDRST6)を出力する構成(内部リセット発生信号出力部)を備えている。また、IO−ASIC153は、外部リセット信号IO_ASIC_RSTを受けたことに応じて、外部リセットされるように構成されている。図9に示すように、IO−ASIC153は、メインCPU110Bには接続されてなく、サブCPU120Bに接続されている。このため、IO−ASIC153における内部リセットの発生は、サブCPU120Bを介して、メインCPU110Bに通知されるようになっている。
サブCPU120Bは、割込みポート127、GPIO出力ポート128、およびGPIO出力ポート129をさらに備える点で、第1実施形態のサブCPU120と異なる。割込みポート127は、IO−ASIC153から出力されたWDTリセット発生パルスWDRST6を入力するための端子である。GPIO出力ポート128は、識別信号S_M_CPU2'を、メインCPU110Bへ出力するための端子である。この識別信号S_M_CPU2'は、通常時はその値が「0」となっている。そして、識別信号S_M_CPU2'は、割込みポート127からWDTリセット発生パルスWDRST6が入力されたことに応じて、その値が「1」となり、IO−ASIC153が内部リセットの発生元のデバイスであることを表すものとなる。GPIO出力ポート129は、IO−ASIC153において内部リセットが発生した際に、IO−ASIC153をリセットするための外部リセット信号IO_ASIC_RSTを、IO−ASIC153へ出力するための端子である。
メインCPU110Bは、GPIO入力ポート119をさらに備える点で、第1実施形態のメインCPU110と異なる。GPIO入力ポート119は、サブCPU120Bから出力された、識別信号S_M_CPU2'が入力される端子である。このように、メインCPU110Bは、サブCPU120Bに対する入力ポートとして、2つのGPIO入力ポート112,119を備えている。これにより、メインCPU110Bは、サブCPU120Bから出力された識別信号S_M_CPU2(第1の識別信号)が、GPIO入力ポート112から入力された場合、サブCPU120Bを内部リセットの発生元として特定することができるようになっている。一方、メインCPU110Bは、サブCPU120Bから出力された識別信号S_M_CPU2' (第2の識別信号)が、GPIO入力ポート119から入力された場合、IO−ASIC153を内部リセットの発生元として特定することができるようになっている。
(メインCPU110Bの処理手順)
図10は、本発明の第3実施形態に係る画像形成装置10BにおけるメインCPU110Bの処理手順を示すフローチャートである。
まず、検出信号入力部211が、内部リセット発生検出信号(すなわち、値が「0」の検出信号S_CPU_WAKE)の入力を受け付けたか否かを判断する(ステップS1001)。ステップS1001において、内部リセット発生検出信号の入力を受け付けていないと判断された場合(ステップS1001:No)、メインCPU110Bは、ステップS1001の処理を再度実行する。
一方、ステップS1001において、内部リセット発生検出信号の入力を受け付けたと判断された場合(ステップS1001:Yes)、検出部212が、サブCPU120B,CPU130、IO−ASIC153のいずれかにおいて内部リセットが発生したことを検出する(ステップS1002)。
そして、識別信号入力部213が、識別信号S_M_CPU2(値=「1」)の入力を受け付けたか否かを判断する(ステップS1003)。
ステップS1003において、識別信号S_M_CPU2の入力を受け付けたと判断された場合(ステップS1003:Yes)、特定部214が、サブCPU120Bを内部リセットの発生元のプロセッサとして特定する(ステップS1004)。そして、リセット履歴記憶部216が、内部リセットの発生履歴を記憶する(ステップS1005)。さらに、外部リセット信号出力部215が、サブCPU120Bに対し、外部リセット信号(外部リセット信号CPU2_RST)を出力する(ステップS1006)。その後、メインCPU110Bは、図10に示す一連の処理を終了する。
一方、ステップS1003において、識別信号S_M_CPU2の入力を受け付けていないと判断された場合(ステップS1003:No)、識別信号入力部213が、識別信号S_M_CPU2'(値=「1」)の入力を受け付けたか否かを判断する(ステップS1007)。
ステップS1007において、識別信号S_M_CPU2'の入力を受け付けたと判断された場合(ステップS1007:Yes)、特定部214が、IO−ASIC153を内部リセットの発生元のデバイスとして特定する(ステップS1008)。そして、リセット履歴記憶部216が、内部リセットの発生履歴を記憶する(ステップS1009)。その後、メインCPU110Bは、図10に示す一連の処理を終了する。
一方、ステップS1007において、識別信号S_M_CPU2'の入力を受け付けていないと判断された場合(ステップS1007:No)、特定部214が、サブCPU130を内部リセットの発生元のプロセッサとして特定する(ステップS1010)。そして、リセット履歴記憶部216が、内部リセットの発生履歴を記憶する(ステップS1011)。さらに、外部リセット信号出力部215が、サブCPU130に対し、外部リセット信号(外部リセット信号CPU3_RST)を出力する(ステップS1012)。その後、メインCPU110Bは、図10に示す一連の処理を終了する。
(サブCPU120Bの処理手順)
図11は、本発明の第3実施形態に係る画像形成装置10BにおけるサブCPU120Bの処理手順を示すフローチャートである。ここでは、サブCPU120Bに対し、IO−ASIC153から出力されたWDTリセット発生パルスWDRST6が入力されたときに、サブCPU120Bが実行する処理について説明する。
なお、サブCPU120Bは、図2に示したサブCPU120の機能に加えて、IO−ASIC153において内部リセットが発生した際の各種制御を行う「接続デバイス制御部」をさらに備える。すなわち、図11の処理は、この「接続デバイス制御部」が実行するものとする。この「接続デバイス制御部」は、例えば、CPU120Bが備える制御部126(図9参照)によって実現される。
まず、接続デバイス制御部は、IO−ASIC153から出力された内部リセット発生信号(WDTリセット発生パルスWDRST6)の入力を受け付けたか否かを判断する(ステップS1101)。ステップS1101において、内部リセット発生信号の入力を受け付けていないと判断された場合(ステップS1101:No)、接続デバイス制御部は、ステップS1101の処理を再度実行する。
一方、ステップS1101において、内部リセット発生信号の入力を受け付けたと判断された場合(ステップS1101:Yes)、接続デバイス制御部は、WDTリセットステータスレジスタ123に、異常フラグ2を設定する(ステップS1102)。異常フラグ2は、IO−ASIC153において内部リセットが発生したことを表すものである。
次に、接続デバイス制御部は、サブCPU120Bの内部リセットを行う(ステップS1103)。このとき、接続デバイス制御部は、WDTリセットステータスレジスタ123に対し、異常フラグ1をさらに設定する(ステップS1104)。異常フラグ1は、サブCPU120Bにおいて内部リセットが発生したことを表すものである。
その後、接続デバイス制御部は、IO−ASIC153に対し、外部リセット信号(外部リセット信号CPU2_RST)を出力する(ステップS1105)。その後、接続デバイス制御部は、図11に示す一連の処理を終了する。
(初期化処理の手順)
図12は、本発明の第3実施形態に係る画像形成装置10Bにおける初期化処理部226による初期化処理の手順を示すフローチャートである。
まず、初期化処理部226は、WDTリセットステータスレジスタ123を参照する(ステップS1201)。そして、初期化処理部226は、ステップS1201での参照結果に基づき、WDTリセットステータスレジスタ123内に、異常フラグ1のみが設定されているか否かを判断する(ステップS1202)。
ステップS1202において、異常フラグ1のみが設定されていると判断された場合(ステップS1202:Yes)、初期化処理部226は、GPIO出力ポート124を除く全ての入出力ポートの初期設定を行う(ステップS1203)。そして、初期化処理部226は、所定の待機時間Tが経過するまで待機する(ステップS1204)。その後、初期化処理部226は、GPIO出力ポート124の初期設定を行う(ステップS1205)。そして、初期化処理部226は、図12に示す一連の処理を終了する。
一方、ステップS1202において、異常フラグ1のみが設定されていると判断されなかった場合(ステップS1202:No)、初期化処理部226は、ステップS1201での参照結果に基づき、WDTリセットステータスレジスタ123内に、異常フラグ1および異常フラグ2の双方が設定されているか否かを判断する(ステップS1206)。
ステップS1206において、異常フラグ1および異常フラグ2の双方が設定されていると判断された場合(ステップS1206:Yes)、初期化処理部226は、GPIO出力ポート128を除く全ての入出力ポートの初期設定を行う(ステップS1207)。そして、初期化処理部226は、所定の待機時間Tが経過するまで待機する(ステップS1208)。その後、初期化処理部226は、GPIO出力ポート128の初期設定を行う(ステップS1209)。そして、初期化処理部226は、図12に示す一連の処理を終了する。
一方、ステップS1206において、異常フラグ1および異常フラグ2の双方が設定されていると判断されなかった場合(ステップS1206:No)、初期化処理部226は、全ての入出力ポートの初期設定を行う(ステップS1210)。そして、初期化処理部226は、図12に示す一連の処理を終了する。
図12の初期化処理によれば、サブCPU120Bにおいて内部リセットが発生した場合(すなわち、異常フラグ1のみが設定されている場合)には、識別信号S_M_CPU2が出力されるGPIO出力ポート124の初期設定タイミングを遅らせる。これにより、サブCPU120Bのリセット状態が解除された後も、メインCPU110Bが、サブCPU120Bを内部リセットの発生元のプロセッサとして特定することができる。
また、IO−ASIC153において内部リセットが発生した場合(すなわち、異常フラグ1,2の双方が設定されている場合)には、識別信号S_M_CPU2'が出力されるGPIO出力ポート128の初期設定タイミングを遅らせる。これにより、サブCPU120Bの初期化処理が開始された後も、メインCPU110Bが、IO−ASIC153を内部リセットの発生元のプロセッサとして特定することができる。
以上説明したように、第3実施形態の画像形成装置10Bでは、サブCPU120Bが、サブCPU120Bにおける内部リセットの発生通知と、IO−ASIC153における内部リセットの発生通知との双方を、メインCPU110Bに対して行う。これにより、メインCPU110Bは、直接接続されていないIO−ASIC153についても、内部リセットの発生元であるかを容易に特定することができるようになっている。
なお、上記各実施形態では、本発明を画像形成装置に適用する例について説明したが、これに限らない。本発明は、少なくとも複数のプロセッサを備えた電子機器であれば、如何なる電子機器にも適用可能である。
また、上記各実施形態では、内部リセットの発生元のプロセッサ(またはデバイス)を特定し、このプロセッサ(またはデバイス)を外部リセットするようにしているが、これに限らない。本発明は、外部リセット以外の目的で、内部リセットの発生元のプロセッサ(およびデバイス)を特定するようにしてもよい。
また、上記各実施形態において、各種信号において論理値(「0」および「1」)を反転させるようにしてもよい。例えば、各内部リセット発生信号について、通常時の値を「0」とし、内部リセット発生時の値を「1」としてもよい。
以上、本発明の好ましい実施形態について詳述したが、本発明はこれらの実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形又は変更が可能である。
10 画像形成装置
110 メインCPU(第1のプロセッサ)
120 サブCPU(第2のプロセッサ)
130 サブCPU(第3のプロセッサ)
211 検出信号入力部
212 検出部
213 識別信号入力部
214 特定部
215 外部リセット信号出力部
216 リセット履歴記憶部
221,231 内部リセット部
222,232 内部リセット発生信号出力部
223 識別信号出力部
224,233 外部リセット信号入力部
225,234 リセット部
226,235 初期化処理部
特許第5063212号公報

Claims (10)

  1. 第1のプロセッサおよび第2のプロセッサを含む、複数のプロセッサを備えた電子機器であって、
    前記第2のプロセッサは、
    当該第2のプロセッサにおいて不具合が発生したときに、当該第2のプロセッサの内部リセットを行う内部リセット部と、
    当該第2のプロセッサが内部リセットされたことに応じて、内部リセットの発生を表す内部リセット発生信号を出力する内部リセット発生信号出力部と、
    当該第2のプロセッサが内部リセットされたことに応じて、内部リセットの発生元であることを表す識別信号を出力する識別信号出力部と
    を備え、
    前記第1のプロセッサは、
    いずれかの他のプロセッサから前記内部リセット発生信号が出力されたことに応じて、内部リセット発生検出信号が入力された場合、いずれかの他のプロセッサにおいて前記内部リセットが発生したことを検出する検出部と、
    前記検出部によって前記内部リセットが発生したことが検出された場合において、前記第2のプロセッサから前記識別信号が入力された場合、前記第2のプロセッサを、前記内部リセットの発生元のプロセッサとして特定する特定部と
    を備えることを特徴とする電子機器。
  2. 前記第1のプロセッサは、
    前記特定部によって特定された前記内部リセットの発生元のプロセッサに対し、外部リセット信号を出力する外部リセット信号出力部
    をさらに備えることを特徴とする請求項1に記載の電子機器。
  3. 複数の他のプロセッサから出力された、内部リセットが発生したか否かを論理値で表す前記内部リセット発生信号の論理演算を行うことにより、前記いずれかの他のプロセッサにおいて前記内部リセットが発生したか否かを論理値で表す前記内部リセット発生検出信号を生成し、当該内部リセット発生検出信号を前記第1のプロセッサへ出力する論理回路
    をさらに備えることを特徴とする請求項1または2に記載の電子機器。
  4. 前記識別信号出力部は、前記第2のプロセッサがリセットすると値が変化する信号を前記識別信号として出力し、
    前記第2のプロセッサは、リセット後に複数の端子の初期化処理を行う初期化処理部をさらに備え、
    前記初期化処理部は、前記第2のプロセッサが内部リセットによりリセットしていた場合、前記初期化処理を開始してから所定の待機時間が経過するまでの間、前記識別信号が出力される所定の入出力ポートの初期化設定を行わない
    ことを特徴とする請求項1から3のいずれか一項に記載の電子機器。
  5. 第3のプロセッサをさらに備え、
    前記第3のプロセッサは、
    当該第3のプロセッサにおいて不具合が発生したときに、当該第3のプロセッサの内部リセットを行う内部リセット部と、
    当該第3のプロセッサが内部リセットされたことに応じて、内部リセットが発生したことを表す内部リセット発生信号を出力する内部リセット発生信号出力部と
    を備え、
    前記特定部は、
    前記検出部によって前記内部リセットが発生したことが検出された場合において、前記第2のプロセッサから前記識別信号が入力された場合、前記第2のプロセッサを、前記内部リセットの発生元のプロセッサとして特定し、前記第2のプロセッサから前記識別信号が入力されなかった場合、前記第3のプロセッサを、前記内部リセットの発生元のプロセッサとして特定する
    ことを特徴とする請求項1から4のいずれか一項に記載の電子機器。
  6. 複数の前記第2のプロセッサを備え、
    前記特定部は、
    前記検出部によって前記内部リセットが発生したことが検出された場合に、いずれかの前記第2のプロセッサから前記識別信号が入力された場合、当該識別信号の出力元の前記第2のプロセッサを、前記内部リセットの発生元のプロセッサとして特定する
    ことを特徴とする請求項1から4のいずれか一項に記載の電子機器。
  7. 前記第2のプロセッサに接続されたデバイスをさらに備え、
    前記デバイスは、
    当該デバイスにおいて不具合が発生したときに、当該デバイスの内部リセットを行う内部リセット部と、
    当該デバイスが内部リセットされたことに応じて、内部リセットが発生したことを表す内部リセット発生信号を出力する内部リセット発生信号出力部と
    を備え、
    前記識別信号出力部は、
    前記第2のプロセッサが内部リセットされた場合、第1の前記識別信号を出力し、
    前記デバイスが内部リセットされた場合、第2の前記識別信号を出力し、
    前記特定部は、
    前記検出部によって前記内部リセットが発生したことが検出された場合において、前記第2のプロセッサから前記第1の識別信号が入力された場合、前記第2のプロセッサを、前記内部リセットの発生元のプロセッサとして特定し、前記第2のプロセッサから前記第2の識別信号が入力された場合、前記デバイスを、前記内部リセットの発生元のデバイスとして特定する
    ことを特徴とする請求項1から4のいずれか一項に記載の電子機器。
  8. 第1のプロセッサおよび第2のプロセッサを含む、複数のプロセッサを備えた画像形成装置であって、
    前記第2のプロセッサは、
    当該第2のプロセッサにおいて不具合が発生したときに、当該第2のプロセッサの内部リセットを行う内部リセット部と、
    当該第2のプロセッサが内部リセットされたことに応じて、内部リセットの発生を表す内部リセット発生信号を出力する内部リセット発生信号出力部と、
    当該第2のプロセッサが内部リセットされたことに応じて、内部リセットの発生元であることを表す識別信号を出力する識別信号出力部と
    を備え、
    前記第1のプロセッサは、
    いずれかの他のプロセッサから前記内部リセット発生信号が出力されたことに応じて、内部リセット発生検出信号が入力された場合、いずれかの他のプロセッサにおいて前記内部リセットが発生したことを検出する検出部と、
    前記検出部によって前記内部リセットが発生したことが検出された場合において、前記第2のプロセッサから前記識別信号が入力された場合、前記第2のプロセッサを、前記内部リセットの発生元のプロセッサとして特定する特定部と
    を備えることを特徴とする画像形成装置。
  9. 電子機器が備えるプロセッサによる制御方法であって、
    いずれかの他のプロセッサから内部リセットが発生したことを表す内部リセット発生信号が出力されたことに応じて、内部リセット発生検出信号が入力された場合、いずれかの他のプロセッサにおいて前記内部リセットが発生したことを検出する内部リセット検出工程と、
    内部リセット検出工程にて前記内部リセットが発生したことが検出された場合において、いずれかの他のプロセッサから内部リセットの発生元であることを表す識別信号が入力された場合、当該識別信号の出力元のプロセッサを、前記内部リセットの発生元のプロセッサとして特定する内部リセット発生元特定工程と
    を含むことを特徴とする制御方法。
  10. 電子機器が備えるプロセッサ用のプログラムであって、
    前記プロセッサを、
    いずれかの他のプロセッサから内部リセットが発生したことを表す内部リセット発生信号が出力されたことに応じて、内部リセット発生検出信号が入力された場合、いずれかの他のプロセッサにおいて前記内部リセットが発生したことを検出する検出部、および、
    前記検出部によって前記内部リセットが発生したことが検出された場合において、いずれかの他のプロセッサから内部リセットの発生元であることを表す識別信号が入力された場合、当該識別信号の出力元のプロセッサを、前記内部リセットの発生元のプロセッサとして特定する特定部
    として機能させるためのプログラム。
JP2016237036A 2016-12-06 2016-12-06 電子機器、画像形成装置、制御方法、およびプログラム Expired - Fee Related JP6750489B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016237036A JP6750489B2 (ja) 2016-12-06 2016-12-06 電子機器、画像形成装置、制御方法、およびプログラム
US15/831,529 US10628374B2 (en) 2016-12-06 2017-12-05 Electronic apparatus, image forming apparatus, and control method and program therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016237036A JP6750489B2 (ja) 2016-12-06 2016-12-06 電子機器、画像形成装置、制御方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2018092488A true JP2018092488A (ja) 2018-06-14
JP6750489B2 JP6750489B2 (ja) 2020-09-02

Family

ID=62243225

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016237036A Expired - Fee Related JP6750489B2 (ja) 2016-12-06 2016-12-06 電子機器、画像形成装置、制御方法、およびプログラム

Country Status (2)

Country Link
US (1) US10628374B2 (ja)
JP (1) JP6750489B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11461524B2 (en) 2019-11-20 2022-10-04 Ricoh Company, Ltd. Information processing apparatus and configuration method

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6946983B2 (ja) 2017-11-30 2021-10-13 株式会社リコー 位置検出装置、画像読取装置、画像形成装置、プログラムおよび位置検出方法
JP6583524B1 (ja) * 2018-12-28 2019-10-02 富士通クライアントコンピューティング株式会社 情報処理装置
JP2023056664A (ja) 2021-10-08 2023-04-20 株式会社リコー 画像読取装置、及び、画像形成装置

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03266012A (ja) * 1990-03-16 1991-11-27 Hitachi Ltd リセット制御方式
JPH03282942A (ja) * 1990-03-30 1991-12-13 Ricoh Co Ltd マルチプロセツサシステム
JPH0432914A (ja) * 1990-05-23 1992-02-04 Mitsubishi Electric Corp リセット要因識別回路
JPH05108588A (ja) * 1991-10-17 1993-04-30 Fujitsu Ltd マルチプロセツサシステム
JPH05342145A (ja) * 1992-06-10 1993-12-24 Hitachi Ltd バス接続システムの個別リセット方式
JPH06236299A (ja) * 1993-02-10 1994-08-23 Hitachi Ltd システム監視方法及び監視装置
US6151655A (en) * 1998-04-30 2000-11-21 International Business Machines Corporation Computer system deadlock request resolution using timed pulses
JP2003316478A (ja) * 2002-04-25 2003-11-07 Hitachi Ltd リセット方法およびこれを用いた携帯端末
JP2010197648A (ja) * 2009-02-25 2010-09-09 Fuji Xerox Co Ltd 処理装置、及び初期化プログラム
JP2013054434A (ja) * 2011-09-01 2013-03-21 Fujitsu Ltd I/o制御装置およびi/o制御方法
JP2013084218A (ja) * 2011-10-12 2013-05-09 Toyota Motor Corp コア監視装置、情報処理装置
JP2013084121A (ja) * 2011-10-11 2013-05-09 Hitachi Ltd 多重系制御装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09319456A (ja) * 1996-06-03 1997-12-12 Mitsubishi Electric Corp 発振停止検出装置
JP2001134461A (ja) * 1999-11-05 2001-05-18 Fujitsu Ltd リセット制御システムおよび方法
US6928575B2 (en) * 2000-10-12 2005-08-09 Matsushita Electric Industrial Co., Ltd. Apparatus for controlling and supplying in phase clock signals to components of an integrated circuit with a multiprocessor architecture
JP2004355362A (ja) * 2003-05-29 2004-12-16 Nec Electronics Corp マイクロコンピュータおよびその初期設定方法
JP5063212B2 (ja) 2007-06-25 2012-10-31 株式会社日立産機システム 複数コンポーネントシステム
JP6191211B2 (ja) 2013-04-16 2017-09-06 株式会社リコー 電子機器、画像処理装置及び信号送信方法

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03266012A (ja) * 1990-03-16 1991-11-27 Hitachi Ltd リセット制御方式
JPH03282942A (ja) * 1990-03-30 1991-12-13 Ricoh Co Ltd マルチプロセツサシステム
JPH0432914A (ja) * 1990-05-23 1992-02-04 Mitsubishi Electric Corp リセット要因識別回路
JPH05108588A (ja) * 1991-10-17 1993-04-30 Fujitsu Ltd マルチプロセツサシステム
JPH05342145A (ja) * 1992-06-10 1993-12-24 Hitachi Ltd バス接続システムの個別リセット方式
JPH06236299A (ja) * 1993-02-10 1994-08-23 Hitachi Ltd システム監視方法及び監視装置
US6151655A (en) * 1998-04-30 2000-11-21 International Business Machines Corporation Computer system deadlock request resolution using timed pulses
JP2003316478A (ja) * 2002-04-25 2003-11-07 Hitachi Ltd リセット方法およびこれを用いた携帯端末
JP2010197648A (ja) * 2009-02-25 2010-09-09 Fuji Xerox Co Ltd 処理装置、及び初期化プログラム
JP2013054434A (ja) * 2011-09-01 2013-03-21 Fujitsu Ltd I/o制御装置およびi/o制御方法
JP2013084121A (ja) * 2011-10-11 2013-05-09 Hitachi Ltd 多重系制御装置
JP2013084218A (ja) * 2011-10-12 2013-05-09 Toyota Motor Corp コア監視装置、情報処理装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11461524B2 (en) 2019-11-20 2022-10-04 Ricoh Company, Ltd. Information processing apparatus and configuration method

Also Published As

Publication number Publication date
JP6750489B2 (ja) 2020-09-02
US10628374B2 (en) 2020-04-21
US20180157617A1 (en) 2018-06-07

Similar Documents

Publication Publication Date Title
JP6750489B2 (ja) 電子機器、画像形成装置、制御方法、およびプログラム
US8700835B2 (en) Computer system and abnormality detection circuit
JP6032510B2 (ja) 入出力エラー封じ込めイベント後のリカバリ
JP5541368B2 (ja) アクセス方法、およびマルチコアプロセッサシステム
JP2010277303A (ja) 半導体装置及び異常検出方法
JP4393954B2 (ja) マイクロコンピュータ
CN115328668A (zh) 故障处理方法、双核锁步系统、电子设备及介质
JP2010072843A (ja) 検証用デバイス及び検証装置並びに検証システム
JP2018163498A (ja) 監視回路
US10423477B2 (en) Control apparatus and control method for processor initialization
JP4876093B2 (ja) 制御装置のタスク管理装置、及び、制御装置のタスク管理方法
JP4633553B2 (ja) デバッグシステム、デバッグ方法およびプログラム
JP2007011639A (ja) 入出力制御装置,情報制御装置,入出力制御方法及び情報制御方法
JP6256087B2 (ja) ダンプシステムおよびダンプ処理方法
EP3480700A1 (en) Electronic control device
JP2008072573A (ja) 出力制御装置
JPH0273451A (ja) 制御装置
JPH1139032A (ja) マルチcpu型集中監視装置
JP6449671B2 (ja) コアi/oフェールオーバー制御システムおよびコアi/oフェールオーバー制御方法
JPS62241041A (ja) 情報処理装置
JPH1166020A (ja) マイクロコンピュータの異常検出回路
JP2002366451A (ja) マルチプロセッサシステム
JP5146452B2 (ja) 監視装置、情報処理装置、及びアラーム信号出力方法
JP5920370B2 (ja) 電子制御装置
JP2002287856A (ja) プロセッサ搭載装置および遅延リセット信号生成方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191108

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200630

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200714

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200727

R151 Written notification of patent or utility model registration

Ref document number: 6750489

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees