(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-25
(45)【発行日】2024-12-03
(54)【発明の名称】制御装置、画像形成装置および制御装置の制御方法
(51)【国際特許分類】
H04N 1/00 20060101AFI20241126BHJP
G06F 1/3206 20190101ALI20241126BHJP
G06F 1/3287 20190101ALI20241126BHJP
B41J 29/38 20060101ALI20241126BHJP
【FI】
H04N1/00 885
G06F1/3206
G06F1/3287
B41J29/38 301
B41J29/38 104
(21)【出願番号】P 2021007764
(22)【出願日】2021-01-21
【審査請求日】2023-11-14
(73)【特許権者】
【識別番号】000006747
【氏名又は名称】株式会社リコー
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】藤田 勇人
【審査官】中田 剛史
(56)【参考文献】
【文献】特開2008-131603(JP,A)
【文献】特開2007-286859(JP,A)
【文献】特開2012-173919(JP,A)
【文献】特開2014-048865(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 1/00
G06F 1/3206
G06F 1/3287
B41J 29/38
(57)【特許請求の範囲】
【請求項1】
第1コントローラを含み、第1動作モード時に動作し、前記第1動作モードより消費電力が小さい第2動作モード時に電源が遮断される第1制御部と、
前記第1動作モード時および前記第2動作モード時に動作する第2コントローラを含む第2制御部と、
前記第1制御部および前記第2制御部の電源を制御する電源制御部と、
を有し、
前記第2制御部は、
前記第1制御部との間で通信を実施し、前記第2動作モード時に動作を停止する通信インタフェース部と、
前記第2コントローラの異常を検出する異常検出部と、
前記第2動作モード時に前記異常検出部による前記異常の検出に基づいて、前記通信インタフェース部に動作を開始させ、前記電源制御部に前記第1制御部を起動させるシステム制御部と、
前記第2コントローラ、前記通信インタフェース部、前記異常検出部および前記システム制御部を相互に接続するインターコネクトと、
前記第2制御部内のリセット可能な複数の回路にそれぞれ出力するリセット信号を生成するリセット生成部と、
を有し、
前記システム制御部は、前記異常検出部による前記異常の検出に基づいて、前記インターコネクトのリセットを解除する解除指示を前記リセット生成部に発行し、
前記リセット生成部は、前記解除指示に基づいて、前記インターコネクトに出力するリセット信号を一時的にリセット状態に設定した後、リセット解除状態に設定すること
を特徴とする制御装置。
【請求項2】
前記システム制御部は、前記異常検出部による前記異常の検出に基づいて、さらに、前記第2コントローラの動作を停止する停止指示を前記リセット生成部に発行し、
前記リセット生成部は、前記停止指示に基づいて、前記第2コントローラに出力するリセット信号をリセット状態に設定すること
を特徴とする
請求項1に記載の制御装置。
【請求項3】
前記第2制御部は、前記第2制御部内のクロック同期回路にそれぞれ出力するクロック信号を生成するクロック生成部を有し、
前記システム制御部は、前記異常検出部による前記異常の検出に基づいて、前記リセット生成部に前記通信インタフェース部にリセット状態の解除を指示し、前記クロック生成部に前記通信インタフェース部へのクロック信号の供給を指示すること
を特徴とする
請求項1または請求項2に記載の制御装置。
【請求項4】
前記異常検出部は、前記第1動作モード時に前記第2コントローラの異常を検出した場合、前記電源制御部に再起動信号を出力し、
前記電源制御部は、前記再起動信号に基づいて、前記第1制御部および前記第2制御部を再起動すること
を特徴とする請求項1ないし
請求項3のいずれか1項に記載の制御装置。
【請求項5】
請求項1ないし請求項4のいずれか1項に記載の制御装置に、前記第1動作モード中に前記第1制御部により制御されて画像を形成する画像形成部を搭載したこと
を特徴とする画像形成装置。
【請求項6】
第1コントローラを含み、第1動作モード時に動作し、前記第1動作モードより消費電力が小さい第2動作モード時に電源が遮断される第1制御部と、前記第1動作モード時および前記第2動作モード時に動作する第2コントローラを含む第2制御部と、前記第1制御部および前記第2制御部の電源を制御する電源制御部と、を有し、前記第2制御部が、前記第1制御部との間で通信を実施し、前記第2動作モード時に動作を停止する通信インタフェース部
と、前記第2コントローラの異常を検出する異常検出部と、システム制御部と、前記第2コントローラ、前記通信インタフェース部、前記異常検出部および前記システム制御部を相互に接続するインターコネクトと、前記第2制御部内のリセット可能な複数の回路にそれぞれ出力するリセット信号を生成するリセット生成部と、を有する制御装置の制御方法であって、
前記システム制御部が、前記第2動作モード時に前記異常検出部による前記異常の検出に基づいて、
前記通信インタフェース部に動作を開始させ、
前記電源制御部に前記第1制御部を起動させ
、
前記インターコネクトのリセットを解除する解除指示を前記リセット生成部に発行し、
前記リセット生成部は、前記解除指示に基づいて、前記インターコネクトに出力するリセット信号を一時的にリセット状態に設定した後、リセット解除状態に設定すること
を特徴とする制御装置の制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、制御装置、画像形成装置および制御装置の制御方法に関する。
【背景技術】
【0002】
CPU(Central Processing Unit)が正常に動作しているかどうかをウォッチドッグタイマによって監視し、ウォッチドッグタイマがタイムアウトしたときに、システム全体の電源を再投入する手法が知られている。また、装置全体を制御するメイン制御部への電源の供給が停止される省エネルギーモード中にサブ制御部内のウォッチドッグタイマがタイムアウトしたとき、メイン制御部に電源が強制的に供給される手法が知られている(例えば、特許文献1参照)。
【0003】
さらに、省エネルギーモード中にI/O(Input/Output)コントローラ内のウォッチドッグタイマがタイムアウトしたとき、メイン制御部を再起動し、I/Oコントローラ内の通信手段を除く所定の回路をリセットする手法が知られている(例えば、特許文献2参照)。また、省エネルギーモード中にサブ制御部内のウォッチドッグタイマがタイムアウトしたとき、サブ制御部を再起動し、メイン制御部を省電力状態から復帰する手法が知られている(例えば、特許文献3参照)。
【発明の概要】
【発明が解決しようとする課題】
【0004】
例えば、メイン制御部と通信するサブ制御部内の通信インタフェース部が、省エネルギーモード中に動作を停止する場合、ウォッチドッグタイマのタイムアウト時にメイン制御部を再起動しただけでは、メイン制御部は、サブ制御部内のメモリ等にアクセスできない。このため、メイン制御部は、ウォッチドッグタイマのタイムアウト時に、メモリに保持された情報を取得することができない。また、サブ制御部が、サブ制御部内の各回路を相互に接続するインターコネクトを有するとき、サブ制御部内のサブコントローラの暴走によりインターコネクトが異常状態になるおそれがある。インターコネクトが異常状態になった場合、メイン制御部は、サブ制御部内のメモリ等にアクセスできず、メモリに保持された情報を取得することができない。
【0005】
開示の技術は、第1制御部の電源が遮断される第2動作モードにおいて第2制御部で異常が発生した場合に、第2制御部の動作履歴を消失することなく第1制御部に転送することを目的とする。
【課題を解決するための手段】
【0006】
上記技術的課題を解決するため、本発明の一形態の制御装置は、第1コントローラを含み、第1動作モード時に動作し、前記第1動作モードより消費電力が小さい第2動作モード時に電源が遮断される第1制御部と、前記第1動作モード時および前記第2動作モード時に動作する第2コントローラを含む第2制御部と、前記第1制御部および前記第2制御部の電源を制御する電源制御部と、を有し、前記第2制御部は、前記第1制御部との間で通信を実施し、前記第2動作モード時に動作を停止する通信インタフェース部と、前記第2コントローラの異常を検出する異常検出部と、前記第2動作モード時に前記異常検出部による前記異常の検出に基づいて、前記通信インタフェース部に動作を開始させ、前記電源制御部に前記第1制御部を起動させるシステム制御部と、前記第2コントローラ、前記通信インタフェース部、前記異常検出部および前記システム制御部を相互に接続するインターコネクトと、前記第2制御部内のリセット可能な複数の回路にそれぞれ出力するリセット信号を生成するリセット生成部と、を有し、前記システム制御部は、前記異常検出部による前記異常の検出に基づいて、前記インターコネクトのリセットを解除する解除指示を前記リセット生成部に発行し、前記リセット生成部は、前記解除指示に基づいて、前記インターコネクトに出力するリセット信号を一時的にリセット状態に設定した後、リセット解除状態に設定することを特徴とする。
【発明の効果】
【0007】
第1制御部の電源が遮断される第2動作モードにおいて第2制御部で異常が発生した場合に、第2制御部の動作履歴を消失することなく第1制御部に転送することができる。
【図面の簡単な説明】
【0008】
【
図1】本発明の第1の実施形態に係る制御装置の一例を示すブロック図である。
【
図2】
図1の制御装置の動作の一例を示すシーケンス図である。
【
図3】本発明の第2の実施形態に係る制御装置の一例を示すブロック図である。
【
図4】
図3の制御装置の動作の一例を示すシーケンス図である。
【
図5】
図3の制御装置の動作の別の例を示すシーケンス図である。
【
図6】本発明の第3の実施形態に係る制御装置の一例を示すブロック図である。
【
図7】
図6の制御装置の動作の一例を示すシーケンス図である。
【発明を実施するための形態】
【0009】
以下、図面を参照して実施の形態の説明を行う。以下では、信号等の情報が伝達される信号線には、信号名と同じ符号を使用する。なお、各図面において、同一構成部分には同一符号を付し、重複した説明を省略する場合がある。
【0010】
(第1の実施形態)
図1は、本発明の第1の実施形態に係る制御装置の一例を示すブロック図である。
図1に示す制御装置100は、電源制御部10、メインシステム20、サブシステム30および機器40を有する。メインシステム20は、第1制御部の一例であり、サブシステム30は第2制御部の一例である。
【0011】
例えば、機器40は、画像を形成する画像形成部、ディスプレイまたはロボットの機構部等である。機器40が画像形成部として機能する場合、機器40は、紙媒体等に記録された画像等を読み取って画像データを形成するスキャナと、画像データ等を使用して画像を紙媒体等に形成するプロッタまたはプリンタなどを有する。画像形成部、ディスプレイまたはロボットの機構部として機能する機器40は、ユーザ等による図示しない操作部の操作に基づいて、スタンバイ状態(後述する省エネルギーモード)から復帰して動作する。
【0012】
図1に示す要素のうち、太枠で示す要素は、動作モードの1つである通常モード時に動作し、動作モードの別の1つである省エネルギーモード時に動作を停止する。
図1に太枠以外で示す要素は、通常モード時および省エネルギーモード時に動作する。以下では、省エネルギーモードは、省エネモードとも称される。通常モードは、第1動作モードの一例であり、省エネモードは、第2動作モードの一例である。
【0013】
メインシステム20は、メインCPU(Central Processing Unit)21およびインタフェース(I/F)部22を有する。メインCPU21は、通常モード中、電源制御部10から電源PSM(電源電圧)の供給を受けて動作する。メインシステム20は、通常モード中、制御装置100の全体の動作を制御するとともに、機器40を制御して、機器40の動作を実現する。メインCPU21は、第1コントローラの一例である。
【0014】
メインシステム20は、電源制御部10から電源PSMが供給されない期間、動作を停止する(省エネモード)。メインCPU21は、通常モード中に制御プログラムを実行することで動作し、省エネモード中に動作を停止する。インタフェース部22は、例えば、PCIe(Peripheral Component Interconnect express)インタフェースを有するが、シリアルインタフェース等の他のインタフェースを有してもよい。
【0015】
サブシステム30は、サブCPU31、インタフェース部32(PCIeインタフェース)、インターコネクト33、WDT(ウォッチドッグタイマ)34、RAM35およびシステムコントローラ36を有する。サブCPU31は、省エネモード時、メインCPU21に代わって、制御装置100の全体を制御する。サブCPU31は、動作モードにかかわりなく常に動作する。サブCPU31は、第2コントローラの一例であり、インタフェース部32は、通信インタフェース部の一例である。
【0016】
なお、メインCPU21は、機器40の動作を制御し、負荷の大きい処理を実施するため、回路規模が大きく、消費電力が大きい。これに対して、サブCPU31は、機器40の動作に伴う処理等を実施しないため、メインCPU21に比べて、回路規模を小さくでき、消費電力を小さくできる。したがって、機器40が動作しない省エネモード時の制御装置100の消費電力を、通常モード時に比べて、さらに小さくすることができる。なお、メインCPU21およびサブCPU31は、CPU以外のプロセッサまたはコントローラでもよい。
【0017】
インタフェース部32は、アナログ回路を含む図示しない物理インタフェース部(PHY)を有する。物理インタフェース部は、パワーダウンモードを有する。インタフェース部32は、通常モード中、メインシステム20のインタフェース部22との間で、パケット(PCIeパケット)による通信を相互に実施する。また、インタフェース部32は、省エネモード中、システムコントローラ36からの省エネモード信号ECOMDのアサートにより動作を停止する。この際、物理インタフェース部は、パワーダウンモードに設定される。
【0018】
メインシステム20の動作が停止する省エネモード中に、メインシステム20に接続される、サブシステム30内の回路の動作を停止することで、省エネモード中の制御装置100の消費電力をさらに削減することができる。なお、インタフェース部22がシリアルインタフェースを有する場合、インタフェース部32は、インタフェース部22に対応するシリアルインタフェースを有する。
【0019】
インターコネクト33は、サブCPU31、インタフェース部32、WDT34およびRAM35等の内部回路を相互に接続する図示しない内部バスを有する。例えば、サブCPU31は、インターコネクト33を介して、インタフェース部32に対して情報を入出力し、RAM35に読み書きし、WDT34のカウント値等を設定する。
【0020】
WDT34は、カウンタ部341および出力切換部342を有する。カウンタ部341は、クロック信号に同期してカウント値を更新し、サブCPU31から出力されるリセット信号によりカウント値をリセットする。カウンタ部341は、サブCPU31からのリセット信号を受信する前に、予め設定されたカウント値までカウントした場合、タイムアウト信号TOを出力切換部342に出力する。WDT34は、サブCPU31の異常を検出する異常検出部の一例である。
【0021】
出力切換部342は、省エネモード判定信号ECOが省エネモードを示しているときにタイムアウト信号TOを受信した場合、ストール解除信号STEXITをアサートする。出力切換部342は、省エネモード判定信号ECOが通常モードを示しているときにタイムアウト信号TOを受信した場合、ストール解除信号STEXITのネゲートレベルを維持する。例えば、省エネモード判定信号ECOは、省エネモード中にハイレベルに維持され、通常モード中にロウレベルに維持される。
【0022】
RAM35は、サブCPU31で使用するワークデータおよびサブシステム30内の各回路の動作履歴等を保持する。なお、RAM35は、サブCPU31が実行するプログラムを保持してもよい。
【0023】
システムコントローラ36は、サブシステム30の全体を制御する。システムコントローラ36は、省エネモード中、メイン起動信号MBTをネゲートレベルに維持し、省エネモード信号ECOMDをアサートレベルに維持する。システムコントローラ36は、省エネモード中、ストール解除信号STEXITのアサートに応答して、メイン起動信号MBTをアサートし、省エネモード信号ECOMDをネゲートする。そして、システムコントローラ36は、メインCPU21およびインタフェース部32を省エネモードから通常モードに復帰する。システムコントローラ36は、システム制御部の一例である。
【0024】
電源制御部10は、メイン起動信号MBTのネゲート中、電源PSMのメインシステム20への供給を停止し、メインシステム20を省エネモードに設定する。電源制御部10は、メイン起動信号MBTのアサートに応答して、電源PSMをメインシステム20に供給し、メインシステム20を起動する。
【0025】
図2は、
図1の制御装置100の動作の一例を示すシーケンス図である。すなわち、
図2は、制御装置100の制御方法の一例を示す。
図2において、縦長の矩形は、各回路が動作中であることを示す。矩形中の黒丸は、信号等の情報が中継されることを示す。
図2の初期状態において、メインシステム20とサブシステム30のインタフェース部32とは、省エネモードにより動作を停止している(省エネ中)。
【0026】
例えば、省エネモード中、インタフェース部32は、アサートレベルのリセット信号を受けてリセット状態であり、また、クロック信号の供給が停止される。また、インタフェース部32の物理インタフェース部(PHY)は、パワーダウンモードに設定される。省エネモード中、図示しない機器40も動作を停止している。
【0027】
サブCPU31は、WDT34を定期的にリセットし、WDT34は、リセットによりタイムアウトを回避する。何らかの原因でサブCPU31が暴走した場合、サブCPU31は、WDT34をリセットできない。このため、WDT34にタイムアウトが発生する(発火)。タイムアウトになったWDT34は、システムコントローラ36にストール解除信号STEXTを出力する。
【0028】
システムコントローラ36は、ストール解除信号STEXITに応答して、電源制御部10にメイン起動信号MBTを出力する(ネゲートレベルからアサートレベル)。また、システムコントローラ36は、ストール解除信号STEXITに応答して、インタフェース部32に出力する省エネモード信号ECOMDをアサートレベルからネゲートレベルに設定する。
【0029】
インタフェース部32は、省エネモード信号ECOMDのネゲートに応答して、リセット状態が解除され、クロック信号の供給が開始される。これにより、省エネモード信号ECOMDによりインタフェース部32を起動することができ、メインシステム20との通信が可能な状態にすることができる。そして、サブシステム30の動作モードは、省エネモードから通常モードに遷移する。
【0030】
電源制御部10は、メイン起動信号MBTに応答して、電源PSMをメインシステム20に供給する。メインシステム20は、電源PSMの供給により起動され、メインCPU21およびインタフェース部22は動作を開始する。これにより、メインシステム20の動作モードは、省エネモードから通常モードに遷移する。
【0031】
メインシステム20が起動され、サブシステム30のインタフェース部32が動作を開始することで、メインCPU21は、RAM35にアクセス可能になる。そして、メインCPU21は、インタフェース部22、32およびインターコネクト33を介してRAM35に読み出しアクセスし、サブシステム30の動作の履歴情報等をRAM35から読み出す。これにより、履歴情報を使用して、サブシステム30の不具合の原因を調査することが可能になる。なお、図示は省略するが、この後、制御装置100は、再起動され、動作を再開する。
【0032】
以上、第1の実施形態では、システムコントローラ36は、省エネモード中にサブCPU31が暴走したときにWDT34が出力するストール解除信号STEXITに基づいて、メインシステム20を起動し、インタフェース部32に動作を開始させる。これにより、メインCPU21は、インタフェース部22、32およびインターコネクト33を介してサブシステム30の動作の履歴情報等をRAM35から読み出すことできる。したがって、サブCPU31の暴走中に読み出した履歴情報を使用して、サブシステム30の不具合の原因を調査することができる。
【0033】
省エネモード信号ECOMDに応答して、インタフェース部32のリセット状態を解除し、インタフェース部32へのクロック信号の供給を開始することで、メインシステム20との通信可能な状態にすることができる。
【0034】
(第2の実施形態)
図3は、本発明の第2の実施形態に係る制御装置の一例を示すブロック図である。
図1と同様の要素については、同じ符号を付し、詳細な説明を省略する。
図3に示す制御装置100Aは、
図1の電源制御部10およびサブシステム30の代わりに電源制御部10Aおよびサブシステム30Aを有する。制御装置100Aのその他の構成は、
図1と同様である。
【0035】
サブシステム30Aは、
図1のサブシステム30のWDT34およびシステムコントローラ36の代わりにWDT34Aおよびシステムコントローラ36Aを有する。また、サブシステム30Aは、
図1のサブシステム30にリセット生成部37Aを追加している。サブシステム30Aのその他の構成は、
図1のサブシステム30と同様である。
【0036】
WDT34Aは、
図1の出力切換部342の代わりに出力切換部342Aを有することを除き、
図1のWDT34と同様である。出力切換部342Aは、省エネモード判定信号ECOが省エネモードを示しているときにタイムアウト信号TOを受信した場合、ストール解除信号STEXITをアサートし、再起動信号REBTをネゲートレベルに維持する。再起動信号REBTは、電源制御部10Aに出力される。出力切換部342は、省エネモード判定信号ECOが通常モードを示しているときにタイムアウト信号TOを受信した場合、ストール解除信号STEXITのネゲートレベルに維持し、再起動信号REBTをアサートする。
【0037】
システムコントローラ36Aは、省エネモード中、ストール解除信号STEXITのアサートに応答して、インターコネクトリセット制御信号ICRSTCNTをアサートすることを除き、
図1のシステムコントローラ36の機能と同様である。
【0038】
リセット生成部37Aは、サブシステム30A内のリセット可能な複数の回路にそれぞれ出力するリセット信号を生成する機能を有する。リセット生成部37Aは、インターコネクトリセット制御信号ICRSTCNTのアサートに応答してインターコネクトリセット信号ICRSTを一時的にリセットレベルに設定する。例えば、リセット生成部37Aは、インターコネクトリセット信号ICRSTを、リセットレベルであるロウレベルに設定した後、ハイレベルに戻すことで、インターコネクト33にリセットパルスを発行する。
【0039】
インターコネクト33は、インターコネクトリセット信号ICRSTのリセットパルスに応答して内部回路をリセットすることで、内部回路を初期化する。サブCPU31が暴走しているとき、インターコネクト33は、例えば、サブCPU31から無効なアクセス要求等を繰り返し受信することで、正常に動作しなくなる場合がある。この実施形態では、サブCPU31の暴走時にインターコネクト33をリセットすることで、正常に動作しなくなった可能性があるインターコネクト33を正常な状態に復帰させることができる。
【0040】
電源制御部10Aは、
図1の電源制御部10の機能に加えて、再起動信号REBTのアサートに応答して、メインシステム20に供給する電源PSMおよびサブシステム30Aに供給する電源PSSを再投入する機能を有する。ここで、再投入とは、電源PSM、PSSを一度遮断した後、再度供給することを示す。例えば、メインシステム20およびサブシステム30Aの各々は、対応する電源PSM、PSSの再投入に基づいて、内蔵するパワーオンリセット回路により内部回路をリセットすることで再起動される。
【0041】
図4は、
図3の制御装置100Aの動作の一例を示すシーケンス図である。すなわち、
図4は、制御装置100Aの制御方法の一例を示す。
図2と同様の動作については、詳細な説明は省略する。
【0042】
図4では、システムコントローラ36Aは、省エネモード中、ストール解除信号STEXITのアサートに応答して、メイン起動信号MBTおよびインターコネクトリセット制御信号ICRSTCNTをアサートし、省エネモード信号ECOMDをネゲートする。インターコネクトリセット制御信号ICRSTCNTのアサートは、インターコネクト33のリセットを解除する解除指示の一例である。
【0043】
リセット生成部37Aは、インターコネクトリセット制御信号ICRSTCNTのアサートに応答して、インターコネクトリセット信号ICRSTを一時的にアサートすることでリセット状態に設定する。この後、リセット生成部37Aは、インターコネクトリセット信号ICRSTをネゲートし、リセット解除状態に設定する。このように、リセット生成部37Aは、インターコネクト33にリセットパルスを出力する。インターコネクト33は、インターコネクトリセット信号ICRSTのリセットパルスに応答してリセットされ、初期状態に設定される。
図4のその他の動作は、
図2と同様である。
【0044】
図5は、
図3の制御装置100Aの動作の別の例を示すシーケンス図である。すなわち、
図5は、制御装置100Aの制御方法の一例を示す。
図2と同様の動作については、詳細な説明は省略する。
図5は、通常モード中の動作を示しており、
図5の初期状態において、メインシステム20の各回路およびサブシステム30Aの各回路は動作している。
【0045】
図2と同様に、サブCPU31は、WDT34Aを定期的にリセットし、WDT34Aは、リセットによりタイムアウトを回避する。何らかの原因でサブCPU31が暴走し、WDT34Aにタイムアウトが発生する(発火)。通常モードでは、
図3の省エネモード判定信号ECOは、ロウレベルに設定されている。このため、WDT34Aは、タイムアウトの発生に応答して再起動信号REBTを電源制御部10Aに出力する。
【0046】
電源制御部10Aは、再起動信号REBTに応答して、メインシステム20に電源PSMを再投入し、サブシステム30に電源PSSを再投入する。これにより、メインCPU21およびサブCPU31を、それぞれ再起動することができ、メインシステム20およびサブシステム30の動作を再開することができる。
【0047】
以上、第2の実施形態においても、第1の実施形態と同様の効果を得ることができる。例えば、省エネモード中にサブCPU31が暴走したときに、メインシステム20を起動し、インタフェース部32に動作を開始させることができる。これにより、サブCPU31の暴走中にサブシステム30からメインシステム20にサブシステム30の動作の履歴情報等を読み出すことでき、サブシステム30の不具合の原因を調査することができる。
【0048】
さらに、第2の実施形態では、省エネモードにおいて、サブCPU31の暴走時にインターコネクト33をリセットすることで、正常に動作しなくなった可能性があるインターコネクト33を正常な状態に復帰させることができる。
【0049】
WDT34Aの出力切換部342Aにより、タイムアウト信号TOの発生時の省エネモード判定信号ECOの論理レベルに応じて、ストール解除信号STEXITまたは再起動信号REBTのいずれかをアサートすることができる。これより、サブCPU31が暴走したときに、省エネモードまたは通常モードに応じて制御装置100Aを最適に復帰させることができる。
【0050】
(第3の実施形態)
図6は、本発明の第3の実施形態に係る制御装置の一例を示すブロック図である。
図1および
図3と同様の要素については、同じ符号を付し、詳細な説明を省略する。
図6に示す制御装置100Bは、
図3のサブシステム30Aの代わりにサブシステム30Bを有する。制御装置100Bのその他の構成は、
図3と同様である。
【0051】
サブシステム30Bは、
図3のシステムコントローラ36Aおよびリセット生成部37Aの代わりにシステムコントローラ36Bおよびリセット生成部37Bを有する。また、サブシステム30Bは、
図3のサブシステム30Aにクロック生成部38Bを追加している。サブシステム30Bのその他の構成は、
図3のサブシステム30Aと同様である。
【0052】
システムコントローラ36Bは、ストール解除信号STEXTのアサートに応答して、インターコネクトリセット制御信号ICRSTCNTおよびリセット制御信号RSTCNTをネゲートレベルからアサートレベルに設定する。また、システムコントローラ36Bは、ストール解除信号STEXTのアサートに応答して、クロックマスク信号CLKMSKをアサートレベルからネゲートレベルに設定する。リセット制御信号RSTCNTのアサートは、サブCPU31の動作を停止する停止指示の一例である。
【0053】
リセット生成部37Bは、インターコネクトリセット制御信号ICRSTCNTのアサートに応答して、インターコネクトリセット信号ICRSTを一時的にアサートする。また、リセット生成部37Bは、リセット制御信号RSTCNTのアサートに応答して、CPUリセット信号CRSTをネゲートレベルからアサートレベル(サブCPU31のリセット状態)に設定し、設定したアサートレベルを維持する。
【0054】
さらに、リセット生成部37Bは、リセット制御信号RSTCNTのアサートに応答して、所定の回路の各々に供給するリセット信号RSTをアサートレベルからネゲートレベルに設定する。ここで、所定の回路は、省エネモード中にリセット状態に設定される回路である。所定の回路は、対応するリセット信号RSTのネゲートによりリセット状態が解除され、動作可能になる。省エネモード時にWDT34Aがタイムアウトした場合、上記所定の回路の動作を再開することで、タイムアウトより起動されたメインCPU21は、サブシステム30B内の各回路にアクセスすることができる。
【0055】
なお、リセット生成部37Bは、省エネモードにおいてリセット制御信号RSTCNTのネゲート中、上記所定の回路の各々に供給するリセット信号RSTをそれぞれアサートし、上記所定の回路の動作を停止する。省エネモード中に動作が不要なサブシステム30B内の所定の回路の動作を停止することで、省エネモード中のサブシステム30Bの消費電力を削減することができる。
【0056】
サブCPU31は、CPUリセット信号CRSTのネゲート中に動作する。サブCPU31は、CPUリセット信号CRSTのアサートによりリセットされ、CPUリセット信号CRSTのアサート中、リセット状態を維持する。これにより、省エネモード時にWDT34がタイムアウトした場合、暴走しているサブCPU31の動作を停止させることができ、RAM35を誤って書き換えるなどのサブCPU31の誤動作を防止することができる。
【0057】
クロック生成部38Bは、サブシステム30B内のクロック同期回路にそれぞれ出力するクロック信号CLKを生成する機能を有する。クロック生成部38Bは、省エネモードにおいて、クロックマスク信号CLKMSKのアサート中、上記所定の回路の各々へのクロック信号CLKの供給をそれぞれ停止する。これにより、省エネモード中に、クロック信号CLKによる上記所定の回路に充放電が発生することを抑制することができ、サブシステム30Bの消費電力をさらに削減することができる。
【0058】
クロック生成部38Bは、省エネモードにおいて、クロックマスク信号CLKMSKのネゲートに応答して、上記所定の回路の各々へのクロック信号CLKの供給を再開する。これにより、タイムアウトより起動されたメインCPU21は、サブシステム30B内の各回路にアクセスすることができる。
【0059】
図7は、
図6の制御装置100Bの動作の一例を示すシーケンス図である。すなわち、
図7は、制御装置100Bの制御方法の一例を示す。
図2および
図4と同様の動作については、詳細な説明は省略する。
【0060】
図7では、システムコントローラ36Bは、省エネモード中、ストール解除信号STEXITのアサートに応答して、メイン起動信号MBT、インターコネクトリセット制御信号ICRSTCNTおよびリセット制御信号RSTCNTをアサートする。また、システムコントローラ36Bは、省エネモード信号ECOMDおよびクロックマスク信号CLKMSKをネゲートする。
【0061】
リセット生成部37Bは、リセット制御信号RSTCNTのアサートに応答して、ネゲートレベルのCPUリセット信号CRSTをアサートレベルに設定し、サブCPU31の動作を停止させる。暴走中のサブCPU31の動作を停止することで、例えば、暴走が継続することによるRAM35内のデータの消失などの不具合を防止することができる。
【0062】
また、リセット生成部37Bは、リセット制御信号RSTCNTのアサートに応答して、所定の回路の各々に供給するリセット信号RST(図示せず)をネゲートレベルに設定する。クロック生成部38Bは、クロックマスク信号CLKMSKのネゲートに応答して、所定の回路の各々へのクロック信号CLKの供給を再開する。リセット信号RSTのネゲートとクロック信号CLKの供給の再開とにより、所定の回路は動作を開始する。
【0063】
以上、第3の実施形態においても、第1の実施形態および第2の実施形態と同様の効果を得ることができる。さらに、第3の実施形態では、省エネモード時にWDT34Aがタイムアウトした場合、リセット生成部37Bが生成するCPUリセット信号CRSTにより、暴走しているサブCPU31の動作を停止させることができる。この結果、RAM35を誤って書き換えるなどのサブCPU31の誤動作を防止することができる。
【0064】
省エネモードにおいてサブCPU31の暴走時に、クロック生成部38Bは、クロックマスク信号CLKMSKのネゲートに応答して、所定の回路の各々へのクロック信号CLKの供給を再開することができる。これにより、WDT34Aのタイムアウトより起動されたメインCPU21は、サブシステム30B内の各回路にアクセスすることができる。
【0065】
リセット生成部37Bは、省エネモードにおいてリセット制御信号RSTCNTのネゲート中、上記所定の回路に供給するリセット信号RSTをアサートし、所定の回路の動作を停止することができる。省エネモード中に動作が不要なサブシステム30B内の所定の回路の動作を停止することで、省エネモード中のサブシステム30Bの消費電力をさらに削減することができる。
【0066】
以上、各実施形態に基づき本発明の説明を行ってきたが、上記実施形態に示した要件に本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することができ、その応用形態に応じて適切に定めることができる。
【符号の説明】
【0067】
10、10A 電源制御部
20 メインシステム
21 メインCPU
22 インタフェース部
30、30A、30B サブシステム
31 サブCPU
32 インタフェース部
33 インターコネクト
34 WDT(ウォッチドッグタイマ)
35 RAM
36、36A、36B システムコントローラ
37A、37B リセット生成部
38B クロック生成部
40 機器
100、100A、100B 制御装置
341 カウンタ部
342、342A 出力切換部
CLK クロック信号
CLKMSK クロックマスク信号
CRST CPUリセット信号
ECO 省エネモード判定信号
ECOMD 省エネモード信号
ICRST インターコネクトリセット信号
ICRSTCNT インターコネクトリセット制御信号
MBT メイン起動信号
PSM 電源
PSS 電源
REBT 再起動信号
RST リセット信号
STEXT ストール解除信号
TO タイムアウト信号
【先行技術文献】
【特許文献】
【0068】
【文献】特許第3315941号公報
【文献】特開2007-286859号公報
【文献】特開2015-135556号公報