(57)【要約】【課題】プログラム暴走の検出漏れを生じ難くすることができるプログラム暴走検出回路及び記録装置を提供する。【解決手段】チェックロジック回路１９の第１比較回路２２は、ＯＥ線７の信号レベル及びＲＯＭ用ＣＳ線９の信号レベルを各々比較し、ＣＰＵ２がＲＯＭ３にアクセスしたときのアドレスとレジスタ２０に記憶された未使用領域アドレス２０ａとを比較する。第１比較回路２２はＣＰＵ２がＲＯＭ３の未使用領域から読み出し処理を実行したと判断したとき、その旨を示す信号としてＨ信号を信号出力回路２５に出力する。信号出力回路２５は第１比較回路２２からＨ信号を入力したとき、割り込み線２６を介してＣＰＵ２に割込信号Ｓａを出力する。ＣＰＵ２は割込信号Ｓａをトリガとして割り込み処理を行い、プログラム暴走を回避する処理を実行する。【選択図】        図１
2004272555.tif 000002
【特許請求の範囲】
【請求項１】
メモリに記憶されたプログラムが制御回路によって実行され、前記制御回路のプログラム実行時に発生したプログラム暴走を検出するプログラム暴走検出回路において、
前記メモリのアクセス禁止領域としてアクセス禁止アドレスが書き込まれたレジスタと、
前記制御回路から前記メモリに出力されるアドレス信号を入力し、前記アドレス信号から決まるアクセス先のアドレスと前記アクセス禁止アドレスとを比較する比較回路と、
前記比較回路の比較結果に基づき前記制御回路が前記アクセス禁止領域にアクセスした場合に、前記制御回路が実行している動作を停止させる所定信号を前記制御回路に出力する信号出力回路と
を備えたことを特徴とするプログラム暴走検出回路。
【請求項２】
前記レジスタには前記メモリの未使用領域アドレスが前記アクセス禁止アドレスとして書き込まれた構成であって、
前記比較回路は、前記制御回路が前記メモリにアクセスしたときのアドレスと前記未使用領域アドレスとを比較し、
前記信号出力回路は、前記比較回路の比較結果に基づき前記制御回路が前記メモリの未使用領域にアクセスした場合に、前記制御回路に対し前記所定信号を出力することを特徴とする請求項１に記載のプログラム暴走検出回路。
【請求項３】
前記メモリは書き換え不可能メモリであって、
前記比較回路は、前記書き換え不可能メモリへの書き込みを指示するために前記制御回路から出力された書込信号の有無を比較し、
前記信号出力回路は、前記比較回路の比較結果に基づき前記制御回路から前記書き換え不可能メモリに前記書込信号が出力された場合に、前記所定信号を前記制御回路に出力することを特徴とする請求項１又は２に記載のプログラム暴走検出回路。
【請求項４】
前記メモリは書き換え可能メモリであり、前記レジスタには前記書き換え可能メモリの書込禁止領域アドレスが前記アクセス禁止アドレスとして書き込まれた構成であって、
前記比較回路は、前記書き換え可能メモリへの書き込みを指示するために前記制御回路から出力された書込信号の有無を比較するとともに、前記制御回路が前記書き換え可能メモリにアクセスしたときのアドレスと前記書込禁止領域アドレスとを比較し、
前記信号出力回路は、前記比較回路の比較結果に基づき前記制御回路から前記書き換え可能メモリに書込信号が出力されるとともに前記制御回路によって書込禁止領域にアクセスされた場合に、前記所定信号を前記制御回路に出力することを特徴とする請求項１〜３のうちいずれか一項に記載のプログラム暴走検出回路。
【請求項５】
前記信号出力回路は前記所定信号を出力してから計時を開始する計時手段を備え、前記計時手段がタイムアップしたときに前記制御回路がプログラム暴走のままの状態であると前記比較回路によって判定された場合、前記所定信号をトリガとして前記制御回路が実行している動作を停止させるための第２信号を前記制御回路に出力することを特徴とする請求項１〜４のうちいずれか一項に記載のプログラム暴走検出回路。
【請求項６】
書き換え不可能メモリに記憶されたプログラムが制御回路によって実行され、前記制御回路のプログラム実行時に発生したプログラム暴走を検出するプログラム暴走検出回路において、
前記書き換え不可能メモリへの書き込みを指示するために前記制御回路から出力された書込信号の有無を比較する比較回路と、
前記比較回路の比較結果に基づき前記制御回路から前記書き換え不可能メモリに書込信号が出力された場合に、前記所定信号を前記制御回路に出力する信号出力回路とを備えたことを特徴とするプログラム暴走検出回路。
【請求項７】
請求項１〜６のうちいずれか一項に記載のプログラム暴走検出回路と、前記制御回路が前記プログラムに基づき動作することによって記録媒体に記録処理を実行する記録実行手段とを備えた記録装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プログラム暴走を検出するプログラム暴走検出回路及び記録装置に関するものである。
【０００２】
【従来の技術】
従来、プリンタ等の機器にはプログラムに従ってデータ処理を行うことでプリンタを動作させるマイクロコンピュータ（以下、単にマイコンと記す）が搭載されている。この種のマイコンはＣＰＵ、ＲＯＭ、ＲＡＭ及びＩ／Ｆ等のデバイスを備え、ＣＰＵはＲＯＭに記憶されたプログラムに基づきＲＡＭを作業領域としてプリンタの各種処理を実行している。
【０００３】
ところで、特許文献１等に示すようにこの種のマイコンでは、ＣＰＵが正規のステップに沿って動作しているか否かをチェックし、プログラムエリア外にアクセスしてプログラム暴走を検出した場合にそれをＣＰＵに知らせて適切な処理を実行する機能を備えている。プログラム暴走を検出する方法としてはウォッチドッグやカウンタ等があり、これらはマイコンの動作ステップやシステム状態をモニタして異常動作を検出した場合にＣＰＵに割り込みをかける処理である。
【０００４】
【特許文献１】
特開２０００−３５７１１０号公報（第４−９頁、第１図）
【０００５】
【発明が解決しようとする課題】
ところが、従来技術で述べたこれら方法ではプログラム暴走の検出をソフトウェアで行っている。ところで、プログラムが暴走した場合にはＣＰＵがプログラムエリア外にアクセスすることに伴い、プログラム暴走を検出するプログラム自体が実行不可能となる状況も考えられる。従って、プログラム暴走を検出できない状況も考えられ、プログラム暴走の検出漏れをできる限り少なくしたい要望があった。
【０００６】
本発明は前記の問題点に鑑みてなされたものであって、その目的はプログラム暴走の検出漏れを生じ難くすることができるプログラム暴走検出回路及び記録装置を提供することにある。
【０００７】
【課題を解決するための手段】
前記の目的を達成するために本発明では、メモリに記憶されたプログラムが制御回路によって実行可能であり、前記制御回路のプログラム実行時に発生したプログラム暴走を検出するプログラム暴走検出回路において、前記メモリのアクセス禁止領域としてアクセス禁止アドレスが書き込まれたレジスタと、前記制御回路から前記メモリに出力されるアドレス信号を入力し、前記アドレス信号から決まるアクセス先のアドレスと前記アクセス禁止アドレスとを比較する比較回路と、前記比較回路の比較結果に基づき前記制御回路が前記アクセス禁止領域にアクセスした場合に、前記制御回路が実行している動作を停止させる所定信号を前記制御回路に出力する信号出力回路とを備えたことを要旨とする。
【０００８】
この構成によれば、レジスタ、比較回路及び信号出力回路を設け、制御回路がメモリにアクセスしたときのアドレスとレジスタに書き込まれたアクセス禁止アドレスとが比較回路により比較される。そして、比較回路の比較結果に基づき両アドレスが一致したとき、制御回路が実行している動作を停止させる所定信号が信号出力回路によって制御回路に出力され、その所定信号に基づき制御回路が動作停止してプログラム暴走が回避される。従って、レジスタ、比較回路及び信号出力回路を用いてプログラム暴走をハードウェア的に検出するので、ソフトウェア的に実施する場合に比較してプログラム暴走の検出漏れが生じ難くなる。なお、定義として「停止」とは制御回路の動作を全て停止することに限らず、現在実行中の動作を停止するものも含む。
【０００９】
本発明では、前記レジスタには前記メモリの未使用領域アドレスが前記アクセス禁止アドレスとして書き込まれた構成であって、前記比較回路は、前記制御回路が前記メモリにアクセスしたときのアドレスと前記未使用領域アドレスとを比較し、前記信号出力回路は、前記比較回路の比較結果に基づき前記制御回路が前記メモリの未使用領域にアクセスした場合に、前記制御回路に対し前記所定信号を出力することを要旨とする。
【００１０】
この構成によれば、プログラム暴走が発生して制御回路が未使用領域にアクセス（読み出し・書き込み）したとき、所定信号が信号出力回路から制御回路に出力される。そして、その所定信号に基づき制御回路が動作停止し、これによってプログラム暴走が防げる。
【００１１】
本発明では、前記メモリは書き換え不可能メモリであって、前記比較回路は、前記書き換え不可能メモリへの書き込みを指示するために前記制御回路から出力された書込信号の有無を比較し、前記信号出力回路は、前記比較回路の比較結果に基づき前記制御回路から前記書き換え不可能メモリに前記書込信号が出力された場合に、前記所定信号を前記制御回路に出力することを要旨とする。
【００１２】
この構成によれば、プログラム暴走が発生して制御回路が書き換え不可能メモリに対し書き込み状態となったとき、所定信号が信号出力回路から制御回路に出力される。そして、その所定信号に基づき制御回路が動作停止し、これによってプログラム暴走が防げる。
【００１３】
本発明では、前記メモリは書き換え可能メモリであり、前記レジスタには前記書き換え可能メモリの書込禁止領域アドレスが前記アクセス禁止アドレスとして書き込まれた構成であって、前記比較回路は、前記書き換え可能メモリへの書き込みを指示するために前記制御回路から出力された書込信号の有無を比較するとともに、前記制御回路が前記書き換え可能メモリにアクセスしたときのアドレスと前記書込禁止領域アドレスとを比較し、前記信号出力回路は、前記比較回路の比較結果に基づき前記制御回路から前記書き換え可能メモリに書込信号が出力されるとともに前記制御回路によって書込禁止領域にアクセスされた場合に、前記所定信号を前記制御回路に出力することを要旨とする。
【００１４】
この構成によれば、プログラム暴走が発生して制御回路が書き換え可能メモリの書込禁止領域に対し書き込み状態となったとき、所定信号が信号出力回路から制御回路に出力される。そして、その所定信号に基づき制御回路が動作停止し、これによってプログラム暴走が防げる。
【００１５】
本発明では、前記信号出力回路は前記所定信号を出力してから計時を開始する計時手段を備え、前記計時手段がタイムアップしたときに前記制御回路がプログラム暴走のままの状態であると前記比較回路によって判定された場合、前記所定信号をトリガとして前記制御回路が実行している動作を停止させるための第２信号を前記制御回路に出力することを要旨とする。
【００１６】
この構成によれば、所定信号の出力時点から計時手段によって計時を開始し、計時手段がタイムアップしたときにプログラム暴走のままの状態であると比較回路によって判定された場合には、そのときに制御回路が実行している動作を停止させるための第２信号が信号出力回路から制御回路に出力される。このため、プログラム暴走時に所定信号を出しても状態が改善されない場合には、第２信号に基づき制御回路に対して次の処理が実行されることになり、プログラム暴走のままの状態でいる不具合が生じ難くなる。
【００１７】
本発明では、書き換え不可能メモリに記憶されたプログラムが制御回路によって実行され、前記制御回路のプログラム実行時に発生したプログラム暴走を検出するプログラム暴走検出回路において、前記書き換え不可能メモリへの書き込みを指示するために前記制御回路から出力された書込信号の有無を比較する比較回路と、前記比較回路の比較結果に基づき前記制御回路から前記書き換え不可能メモリに書込信号が出力された場合に、前記所定信号を前記制御回路に出力する信号出力回路とを備えたことを要旨とする。
【００１８】
この構成によれば、プログラム暴走が発生して制御回路が書き換え不可能メモリに対し書き込み状態となったとき、所定信号が信号出力回路から制御回路に出力される。そして、その所定信号に基づき制御回路が動作停止し、これによってプログラム暴走が防げる。
【００１９】
本発明では、請求項のいずれか一項に記載のプログラム暴走検出回路と、前記制御回路が前記プログラムに基づき動作することによって記録媒体に記録処理を実行する記録実行手段とを備えた記録装置であることを要旨とする。この構成によれば、ハードウェア的にプログラム暴走を検出するプログラム暴走検出回路を記録装置に用いたので、プログラム暴走の検出漏れが生じ難い記録装置が提供される。
【００２０】
【発明の実施の形態】
以下、本発明を具体化したプログラム暴走検出回路及び記録装置の一実施形態を図１及び図２に従って説明する。
【００２１】
図１は、プリンタ１の電気的構成を示すブロック図である。記録装置としてのプリンタ１は装置全体のメイン制御を司る制御回路としてのＣＰＵ２、メモリ（書き換え不可能メモリ）を構成するＲＯＭ３及びメモリ（書き換え可能メモリ）を構成するＲＡＭ４を有するマイクロコンピュータ（以下、単にマイコンと記す）Ｍを備えている。
【００２２】
ＣＰＵ２はデータバス５、アドレスバス６、リード（ＯＥ）線７、ライト（ＷＲ）線８を介してＲＯＭ３及びＲＡＭ４に接続されている。また、ＲＯＭ３はＲＯＭ用チップセレクト（ＲＯＭ用ＣＳ）線９を介してＣＰＵ２に接続されている。ＲＡＭ４はＲＡＭ用チップセレクト（ＲＡＭ用ＣＳ）線１０を介してＣＰＵ２に接続されている。
【００２３】
ＲＯＭ３には命令群からなるプログラムと、演算処理に用いられるデータが記憶されている。ＣＰＵ２はＲＯＭ用ＣＳ線９を介してセレクト信号Ｓｐを出力するとともにＯＥ線７を介して読出信号Ｓｒを出力して、ＲＯＭ３をプログラム（データ）の読み出し可能な状態にする。そして、ＣＰＵ２はアドレスバス６を介してアドレス信号Ｓａｄを出力し、そのアクセス先に応じたプログラム（データ）をデータバス５を介して入力している。
【００２４】
ＲＡＭ４はＣＰＵ２の作業領域となる。ＣＰＵ２はＲＡＭ用ＣＳ線１０を介してセレクト信号Ｓｑを出力し、ＲＡＭ４からデータを読み出すときにはＯＥ線７を介して読出信号Ｓｒを、ＲＡＭ４にデータを書き込むときにはＷＲ線８を介して書込信号Ｓｗを各々出力してＲＡＭ４を読み出し或いは書き込み可能な状態にする。また、ＲＡＭ４にはプログラム領域１１が設けられ、この領域にＲＯＭ３のプログラムの一部が書き込まれてＣＰＵ２により実行される場合もある。
【００２５】
図２は、ＲＯＭ３及びＲＡＭ４のメモリマップである。メモリマップは上位アドレス側から順にプログラム領域１５、未使用領域１６、ＲＡＭ領域１７、データ領域１８が設定されている。本例ではＲＯＭ３に未使用領域が存在し、アドレス２０００００〜２ＦＦＦＦＦが未使用領域１６となっている。また、００００００〜１ＦＦＦＦＦがプログラム領域１５、３０００００〜３ＦＦＦＦＦがＲＡＭ領域１７、４０００００以降がデータ領域１８となっている。なお、未使用領域１６又はＲＡＭ４のプログラム領域１１がアクセス禁止領域を構成し、このうちプログラム領域１１が書込禁止領域を構成する。
【００２６】
ところで、ＣＰＵ２がプログラム通りに正常に動作していれば、未使用領域１６での読み出し及び書き込み、ＲＯＭ３への書き込み、ＲＡＭ４にプログラムを移した際のそのプログラム領域１１（図１参照）への書き込みは発生しない。しかし、外部からノイズ等を受けて各バス５，６や各線７〜９を流れる電流値（信号値）に変化が生じることなどが原因となってプログラムが暴走し、予期せぬアドレスにアクセスして演算処理が正常に実行されないことがある。
【００２７】
図１に示すマイコンＭは、ＣＰＵ２がプログラム暴走しているか否かをチェックするチェックロジック回路１９を備えている。チェックロジック回路１９は２つのレジスタ２０，２１、第１〜第３比較回路２２〜２４及び信号出力回路２５を備えている。ＣＰＵ２、ＲＯＭ３、ＲＡＭ４及びチェックロジック回路１９は１つの同一チップ上に配置されることによって１チップ化されている。
【００２８】
レジスタ２０は複数のフリップフロップ回路から構成され、未使用領域１６のアドレス（未使用領域アドレス２０ａ）が記憶されている。ここで、未使用領域１６のアドレスは２０００００〜２ＦＦＦＦＦであるが、アドレスの最上位ビット値（即ち、「２」）が分かれば範囲指定が可能であるので、アドレスの最上位ビット値に対応する値が記憶されているものとする。
【００２９】
レジスタ２１は複数のフリップフロップ回路から構成され、ＲＡＭ４のプログラム領域１１のアドレス（プログラム領域アドレス２１ａ）が記憶されている。なお、レジスタ２１に関してもレジスタ２０と同様の形式でアドレスが記憶されている。レジスタ２０は第１比較回路２２の入力側に、レジスタ２１は第３比較回路２４の入力側に各々接続されている。なお、未使用領域アドレス２０ａ及びプログラム領域アドレス２１ａがアクセス禁止アドレスを構成し、プログラム領域アドレス２１ａが書込禁止アドレスに相当する。
【００３０】
第１比較回路２２は複数の論理回路から構成され、アドレスバス６、ＯＥ線７及びＲＯＭ用ＣＳ線９に接続されている。第１比較回路２２はＯＥ線７の信号レベル及びＲＯＭ用ＣＳ線９の信号レベルを各々比較し、ＣＰＵ２がＲＯＭ３にアクセスしたときのアドレスＡｄとレジスタ２０に記憶された未使用領域アドレス２０ａとを比較する。
【００３１】
ここで、ＯＥ線７から読出信号Ｓｒが出力されるとともにＲＯＭ用ＣＳ線９からセレクト信号Ｓｐが出力され、ＲＯＭ３にアクセスしたときのアドレスＡｄと未使用領域アドレス２０ａが一致したとする。このとき、第１比較回路２２はＣＰＵ２がＲＯＭ３の未使用領域１６から読み出し処理を実行したと判断して、その旨を示す信号としてＨ信号を信号出力回路２５に出力する。
【００３２】
第２比較回路２３は複数の論理回路から構成され、ＷＲ線８及びＲＯＭ用ＣＳ線９に接続されている。第２比較回路２３はＷＲ線８の信号レベル、ＲＯＭ用ＣＳ線９の信号レベルを各々比較する。そして、第２比較回路２３はＣＰＵ２がＲＯＭ３に書き込み動作を行ったときに、その旨を示す信号としてＨ信号を信号出力回路２５に出力する。
【００３３】
第３比較回路２４は複数の論理回路から構成され、アドレスバス６、ＷＲ線８及びＲＡＭ用ＣＳ線１０が接続されている。第３比較回路２４はＷＲ線８の信号レベル及びＲＡＭ用ＣＳ線１０の信号レベルを各々比較し、ＣＰＵ２がＲＡＭ４にアクセスしたときのアドレスＡｄとレジスタ２１に記憶されたプログラム領域アドレス２１ａとを比較する。そして、第３比較回路２４はＣＰＵ２がＲＡＭ４のプログラム領域１１に書き込み動作をしたときに、その旨を示す信号としてＨ信号を信号出力回路２５に出力する。
【００３４】
信号出力回路２５は入力側が第１〜第３比較回路２２〜２４に接続され、出力側が割り込み線２６及びリセット線２７を介してＣＰＵ２に接続されている。信号出力回路２５は各比較回路２２〜２４からＨ信号を入力したとき、割り込み線２６を介してＣＰＵ２に所定信号としての割込信号Ｓａを出力する。ＣＰＵ２は割込信号Ｓａをトリガとして割り込み処理を行い、プログラム暴走を回避する処理を実行する。この回避処理としては、例えば印刷機構２８のアクチュエータ２８ａ（例えばモータ）の動作停止や、発光体２９（例えばＬＥＤ）の消灯等がある。
【００３５】
また、信号出力回路２５は割込信号Ｓａの出力時点から計時を開始する計時手段としてのタイマ３０を備えている。信号出力回路２５は計時を開始したタイマ３０がタイムアップしても各比較回路２２〜２４からＨ信号を入力していれば、リセット線２７を介してＣＰＵ２に第２信号としてのリセット信号Ｓｂを出力する。ＣＰＵ２はリセット信号Ｓｂに基づきリセット処理を行って割り込み処理を終了し、内部のプログラムカウンタを「０」にして動作を強制的に停止する。
【００３６】
プリンタ１はメカ機構に相当する印刷機構２８と、印刷機構２８を駆動制御する印刷制御部３１を備えている。アクチュエータ２８ａは例えばヘッド、キャリッジモータ、紙送りモータ等からなる。印刷制御部３１はヘッドや各種モータを駆動するためのＡＳＩＣや複数の駆動回路等からなる。プリンタ１はホストコンピュータ（図示省略）から送信される印刷データに基づき印刷機構２８を駆動して用紙（記録媒体）に印刷処理を実行する。なお、印刷機構２８及び印刷制御部３１が記録実行手段に相当する。
【００３７】
次に、前記のように構成されたプリンタ１の作用について説明する。
外部からのノイズ等をマイコンＭが受けることによって、例えば各バス５，６や各線７〜１０を流れる電流値（信号値）に変化が生じることなどが原因となってプログラム暴走が発生し、ＣＰＵ２がＲＯＭ３の未使用領域１６から読み出しを行う状態になったとする。このとき、第１比較回路２２はＯＥ線７から読出信号ＳｒとＲＯＭ用ＣＳ線９からセレクト信号Ｓｐとを入力する。
【００３８】
さらに、第１比較回路２２はＣＰＵ２から出力されるアドレスＡｄとレジスタ２０に記憶された未使用領域アドレス２０ａとが一致した比較結果を得る。従って、第１比較回路２２はＲＯＭ３の未使用領域１６からＣＰＵ２が読み出し処理を行うと判断してＨ信号を信号出力回路２５に出力する。
【００３９】
信号出力回路２５は第１比較回路２２からのＨ信号に基づき、割り込み線２６を介して割込信号ＳａをＣＰＵ２に出力する。ＣＰＵ２は割込信号Ｓａに基づき割り込み処理を行って、プログラム暴走の回避処理を実行する。この回避処理としては、例えばプリンタ１では紙送りモータやキャリッジモータ等が停止し、ＬＥＤからなるランプが消灯する動作がある。
【００４０】
ＣＰＵ２に割込信号Ｓａを出力した時点から、信号出力回路２５はタイマ３０により計時を開始する。信号出力回路２５はタイマ３０がタイムアップしたとき、未だにＣＰＵ２がＲＯＭ３に対して読み出し状態であれば、リセット線２７を介してリセット信号ＳｂをＣＰＵ２に出力する。ＣＰＵ２はリセット信号Ｓｂに基づきリセット処理を行って、ＣＰＵ２の動作を強制的に停止する。この強制停止としては電源が強制的に遮断された状態がある。
【００４１】
また、プログラム暴走が発生してＣＰＵ２がＲＯＭ３に書き込み処理を実行する状態になったとする。このとき、第２比較回路２３はＷＲ線８から書込信号Ｓｗを、ＲＯＭ用ＣＳ線９からセレクト信号Ｓｐを入力し、これによりＲＯＭ３に書き込み処理が行われると判断してＨ信号を信号出力回路２５に出力する。そして、ＲＯＭ３の未使用領域１６からの読み出しの場合と同様に、信号出力回路２５からＣＰＵ２に割込信号Ｓａが出力され、ＣＰＵ２による割込み処理が実施される。また、タイマ３０のタイムアップ後のリセット処理も同様である。
【００４２】
さらに、プログラム暴走が発生してＣＰＵ２がＲＡＭ４のプログラム領域１１に書き込み処理を実行する状態になったとする。このとき、第３比較回路２４はＷＲ線８から書込信号Ｓｗを、ＲＡＭ用ＣＳ線１０からセレクト信号Ｓｑを入力し、ＣＰＵ２から出力されるアドレスＡｄとレジスタ２１に記憶されたプログラム領域アドレス２１ａとが一致した比較結果を得る。
【００４３】
このため、第３比較回路２４はＲＡＭ４のプログラム領域１１に書き込み処理が行われると判断してＨ信号を信号出力回路２５に出力する。そして、未使用領域１６へのアクセス及びＲＯＭ３への書き込み動作の場合と同様に、ＣＰＵ２によって割込み処理が実行され、その割込み処理によっても対応が図れない場合にはリセット処理が実行される。
【００４４】
本例では、ＣＰＵ２のＲＯＭ３の未使用領域１６に対するアクセス、ＲＯＭ３への書き込み、ＲＡＭ４のプログラム領域１１への書き込みを検出するチェックロジック回路１９を設けることによってハードウェア的にプログラム暴走を検出している。ところで、ソフトウェア的にプログラム暴走を検出する場合には、そのプログラム暴走が原因で暴走検出プログラムを正常に実行できず、プログラム暴走を検出できない問題が生じることも考えられる。
【００４５】
しかし、本例ではプログラム暴走をチェックロジック回路１９を用いてハードウェア的に検出するので、プログラム暴走がチェックロジック回路１９によってほぼ確実にＣＰＵ２に伝達される。従って、ＣＰＵ２はプログラム暴走をより確実に把握することが可能となり、プログラム暴走の検出漏れが生じ難くなる。
【００４６】
従って、この実施形態では以下の効果を得ることができる。
（１）マイコンＭにチェックロジック回路１９を設けることによってハードウェア的にプログラム暴走を検出するので、プログラム暴走時にはその状態をほぼ確実にＣＰＵ２に伝達可能となり、プログラム暴走の検出漏れを生じ難くすることができる。
【００４７】
（２）ＲＯＭ３の未使用領域１６へのアクセス、ＲＯＭ３への書き込み、ＲＡＭ４のプログラム領域１１への書き込みをプログラム暴走として検出し、プログラム暴走時には割込み処理やリセット処理によって各種動作を停止させる。従って、プログラム暴走時におけるＲＯＭ３の未使用領域１６へのアクセス、ＲＯＭ３への書き込み、ＲＡＭ４のプログラム領域１１への書き込みを防止することができる。
【００４８】
（３）プログラム暴走時には信号出力回路２５によって割込信号Ｓａが出力され、この割込信号ＳａによりＣＰＵ２により割り込み処理が実行される。そして、割込信号Ｓａの出力時点からタイマ３０で計時を開始し、タイマ３０がタイムアップしたときに未だにプログラム暴走から抜け出ていない場合には、リセット処理がかかって割り込み処理が終了されて電源が強制的に遮断される。
【００４９】
従って、プログラム暴走時の対処方法が割り込み処理とリセット処理の２段構えとなり、例えば割り込み処理のみでプログラム暴走が回避できれば、プリンタ１の電源をオフせずに済み、プリンタ１を再起動する手間が省ける。一方、プログラム暴走時に割り込み処理をしても状態が改善されない場合にはマイコンＭにリセット処理がかかって電源がオフされるので、プログラム暴走をより一層生じ難くすることができる。
【００５０】
（４）ＣＰＵ２、ＲＯＭ３、ＲＡＭ４及びチェックロジック回路１９は１チップ化されているので、プリンタ１に部品を組み付ける際の組付工程が少なく済む。
【００５１】
（５）ＣＰＵ２がＲＯＭ３にアクセスするときのアドレスＡｄと、レジスタ２０の未使用領域アドレス２０ａとを比較する処理では、アドレス全てを用いるのではなく最上位のビット値のみ用いる構成であるので、使用するレジスタ２０の記憶容量が少なく済み、これに伴いレジスタ２０の小型化、コスト低下も図れる。なお、レジスタ２１についても同様である。
【００５２】
なお、実施形態は前記に限定されず、以下の態様に変更してもよい。
（変形例１）本例では未使用領域１６の読み出し・書き込みの禁止、ＲＯＭ３への書き込みの禁止、ＲＡＭ４のプログラム領域１１への書き込みの禁止を全て満たす構成となっているが、これらのうち少なくとも１つの禁止を満たせる構成であればよい。例えば、チェックロジック回路１９に第２比較回路２３のみ設け、ＲＯＭ３へ書き込み処理がなされた場合に割り込み処理を実行させる構成でもよい。
【００５３】
（変形例２）プログラム暴走が発生した後にＣＰＵ２によって実行される処理は割り込み処理に限らず、プログラム暴走から回避可能な処理であればその処理内容は特に限定されない。
【００５４】
（変形例３）割り込み処理の内容は印刷機構２８のアクチュエータ２８ａや発光体２９の動作を停止する構成に限らず、例えばアクチュエータ２８ａのみの動作を停止する構成であってもよい。また、ＬＣＤ（液晶パネル）を有する機種であれば「プリンタを再起動して下さい」と表示する構成としてもよい。
【００５５】
（変形例４）リセット処理を行う場合、ＣＰＵ２にリセットをかける構成に限らず、ＡＳＩＣにリセット信号Ｓｂを出力して、ＣＰＵ２を介さずにＡＳＩＣによってプリンタ１の動作を直接、強制終了する構成でもよい。
【００５６】
（変形例５）プログラム暴走の対処方法を２段構えとした場合、割り込み処理とリセット処理との組み合わせに限らず、例えば処理内容が異なる２つの割り込み処理が実行される構成でもよい。また、プログラム暴走の対処方法は２段構えに限らず、例えばリセット処理のみ実行される１段式でもよく、さらには３段以上を採用してもよい。
【００５７】
（変形例６）ＣＰＵ２、ＲＯＭ３、ＲＡＭ４及びチェックロジック回路１９は１チップ化された構成に限定されず、例えばＣＰＵ２、ＲＯＭ３及びＲＡＭ４が１チップであり、チェックロジック回路１９がこれと別部品の構成であってもよい。
【００５８】
（変形例７）書込禁止領域はＲＡＭ４のプログラム領域１１に限定されず、例えばＲＡＭ４内において書き込みされたくないＣＧデータ等のデータ群が集まった領域としてもよい。
【００５９】
（変形例８）記録装置はプリンタ１に限らず、液晶ディスプレイ等のカラーフィルタ製造装置、有機ＥＬディスプレイやＦＥＤ（面発光ディスプレイ）等の電極形成装置、バイオチップ製造用の生体有機物を噴射する噴射装置、精密ピペット用の製造装置でもよい。また、記録装置をプリンタ１とした場合にはインクジェット式、レーザ式、ドットインパクト式等の各種タイプを採用してもよい。
【００６０】
前記実施形態及び別例から把握できる技術的思想について記載する。
（１）請求項１〜５のいずれかにおいて、前記制御回路、前記メモリ、前記レジスタ、前記比較回路及び前記信号出力回路は、同一チップ上に配置されることによって１チップ化されている。
【００６１】
（２）請求項１〜５のいずれかにおいて、前記比較回路の比較結果に基づき前記制御回路が前記アクセス禁止アドレスにアクセスした場合に、前記信号出力回路はプログラム暴走を回避するための割り込み処理を実行させるための割込信号を前記制御回路に出力する。
【００６２】
（３）請求項１〜５のいずれかにおいて、前記比較回路の比較結果に基づき前記制御回路が前記アクセス禁止アドレスにアクセスした場合に、前記信号出力回路は前記制御回路にリセットをかけるためのリセット信号を前記制御回路に出力する。
【００６３】
（４）請求項５において、前記信号出力回路は比較回路の比較結果に基づきプログラム暴走が発生したときに前記制御回路にプログラム暴走を回避するための割込信号を出力し、前記計時手段がタイムアップしたときに前記比較回路によってプログラム暴走のままの状態であると判定された場合、前記制御回路にリセットをかけるためのリセット信号を前記制御回路に出力する。
【図面の簡単な説明】
【図１】一実施形態におけるプリンタの電気的構成を示すブロック図。
【図２】メモリのアドレス空間を示すアドレスマップ。
【符号の説明】
１…記録装置としてのプリンタ、２…制御回路としてのＣＰＵ、３…メモリ（書き換え不可能メモリ）を構成するＲＯＭ、４…メモリ（書き換え可能メモリ）を構成するＲＡＭ、１１…アクセス禁止領域（書込禁止領域）を構成するプログラム領域、１６…アクセス禁止領域を構成する未使用領域、２０，２１…レジスタ、２０ａ…アクセス禁止アドレスを構成する未使用領域アドレス、２１ａ…アクセス禁止アドレス（書込禁止領域アドレス）を構成するプログラム領域アドレス、２２〜２４…比較回路、２５…信号出力回路、２８…記録実行手段を構成する印刷機構、３０…計時手段としてのタイマ、３１…記録実行手段を構成する印刷制御部、Ａｄ…アドレス、Ｓａｄ…アドレス信号、Ｓａ…所定信号としての割込信号、Ｓｂ…第２信号としてのリセット信号、Ｓｗ…書込信号。
【図１】
2004272555.tif 000003
【図２】
2004272555.tif 000004