(57)【要約】【課題】プログラム暴走の検出精度を高めることができるプログラム暴走検出回路及び記録装置を提供する。【解決手段】ＡＳＩＣ７はフリップフロップ（Ｄフリップフロップ）２１及びＯＲ回路２２とを備えている。フリップフロップ２１はＤ入力端子が電源に、Ｑ出力端子がＯＲ回路２２の一方の入力端子に、クロック入力端子は書込信号線（制御バス）２３に接続されている。書込信号線２３はＯＲ回路２２の他方の入力端子に接続されている。ＣＰＵが書込信号ＷＲを出力すると、フリップフロップ２１は書込信号ＷＲに同期してＱ出力端子からマスク信号Ｓｍを出力する状態となり、リセット端子にリセット信号Ｓｒを入力するまでマスク信号Ｓｍの出力状態を維持する。従って、プログラム暴走が原因となって書込信号ＷＲが再度出力されても、レジスタ２０がその書込信号ＷＲにより書き込み処理を行わない構成となる。【選択図】        図１
2004272556.tif 000002
【特許請求の範囲】
【請求項１】
メモリに記憶されたプログラムが制御回路によって実行され、前記プログラムの実行時に前記制御回路が記憶手段に書込信号を出力して、回路保護を行うための設定値を前記記憶手段に保持するプログラム暴走用保護回路において、
前記記憶手段が前記設定値を保持した以降に入力した書込信号を前記記憶手段に出力しないことで、前記記憶手段に保持された前記設定値を変更不可能にするマスク回路を備えたことを特徴とするプログラム暴走用保護回路。
【請求項２】
前記マスク回路は前記記憶手段に保持動作を実行させたときの書込信号を出力状態に維持し、該書込信号に基づいて前記設定値を保持した状態に前記記憶手段を維持させることによって、前記記憶手段に保持された前記設定値を変更不可能にすることを特徴とする請求項１に記載のプログラム暴走用保護回路。
【請求項３】
前記マスク回路は、電源投入後に最初に入力した前記書込信号を前記記憶手段に出力して前記記憶手段に前記設定値の保持動作を実行させ、それ以降に入力した書込信号を前記記憶手段に出力しないことで前記記憶手段に保持された前記設定値を変更不可能にすることを特徴とする請求項１又は２に記載のプログラム暴走用保護回路。
【請求項４】
前記マスク回路は前記書込信号を保持するフリップフロップを備え、前記制御回路から出力されるリセット信号を前記フリップフロップのリセット端子で入力したときに、前記書込信号を出力しない状態を解除することを特徴とする請求項１〜３のうちいずれか一項に記載のプログラム暴走用保護回路。
【請求項５】
請求項１〜４のうちいずれか一項に記載のプログラム暴走用保護回路と、前記プログラムに基づき前記制御回路が作動して記録媒体に記録処理を実行する記録実行手段とを備えたことを特徴とする記録装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プログラム暴走時の回路保護を実行するプログラム暴走用保護回路及び記録装置に関するものである。
【０００２】
【従来の技術】
図４は、特許文献１に開示された記録装置におけるプリントヘッド記録制御装置５１の構成を示すブロック図である。プリントヘッド記録制御装置５１は記録媒体にインクを吐出して画像を形成するインクジェットプリントヘッド（以下、単にヘッドと記す）５２と、ヘッド５２を制御するコントローラ５３とを備えている。コントローラ５３はヘッド５２を駆動するためのヘッド駆動回路５４、３つのヒート制御回路５５〜５７、パルス計数時の基準クロックを発生する基準クロック発生器５８を備えている。
【０００３】
ヘッド駆動回路５４はＣＰＵバス５９を介してＣＰＵ（中央演算処理装置（図示省略））から入力する指令に基づき、画像データ、同期クロック、データラッチ信号をヘッド５２に出力する。一方、ヒート制御回路５５〜５７はヘッド駆動回路５４から出力されるメインヒートパルスＰａ、プレヒートパルスＰｂ、サブヒートパルスＰｃを各々入力し、各パルスＰａ〜Ｐｃをヘッド５２に出力するとき、各パルスＰａ〜Ｐｃが異常ヒートパルス幅となった場合にそのパルス幅を制御して出力する。
【０００４】
ヘッド駆動回路５４は１ライン分の画像データ（例えば８ビット）をヘッド５２に順次出力している。そして、画像データの有無に応じてメインヒートパルスＰａがヘッド５２のヒートノズルの吐出ヒータ（ともに図示省略）に印加され、画像データ及び各パルスのレベル状態に基づきヘッド５２からインク滴が吐出される。また、インク吐出中には次ラインの画像データがヘッド駆動回路５４から出力され、記録動作が繰り返し行われる。
【０００５】
図５は、ヒート制御回路５５の内部回路を示すブロック図である。ヒート制御回路５５はレジスタ６０、カウンタ６１、コンパレータ６２、２つのラッチ回路６３，６４及びＡＮＤ回路６５を備えている。レジスタ６０は８ビットのラッチ回路で構成され、ＣＰＵバス５９から出力されるアドレスバス・データバス・コントロール信号Ｓｖをラッチ信号Ｓｗに基づきラッチする。レジスタ６０はそのラッチしたデータを、パルス幅の設定値（制限値）Ｋｍａｘ  を示す設定信号Ｓｄとして出力する。
【０００６】
カウンタ６１はメインヒートパルスのＨレベルのパルス幅を非同期クロック信号Ｓｃｋの立ち上がりエッジでカウントし、そのカウント数を示す８ビットのパルス幅信号（カウント信号）Ｓｐを出力する。コンパレータ６２は設定信号Ｓｄとパルス幅信号Ｓｐを比較し、その比較結果を示す出力信号Ｓｏｕｔ  をラッチ回路６３，６４のクロック入力端子に出力する。ここでは、例えばプログラム暴走が発生したとし、これによってメインヒートパルスが出力されたままの状態となり、カウントによるカウンタ数が設定値を超えてコンパレータ６２の出力信号Ｓｏｕｔ  がアクティブ状態となる。
【０００７】
ラッチ回路６３はコンパレータ６２からの出力信号Ｓｏｕｔ  がアクティブ状態となったとき、その立ち上がりエッジでＨレベル、すなわちパルス幅エラー信号Ｓｅｒｒ１をＣＰＵに出力する。また、ラッチ回路６４はコンパレータ６２からの出力信号Ｓｏｕｔ  がアクティブ状態となったとき、その立ち上がりエッジでＱバー出力端子からＬレベルのパルス幅エラー信号Ｓｅｒｒ２をＡＮＤ回路６５の一方の入力端子に出力する。ＡＮＤ回路６５の他方の入力端子にはメインヒートパルスが入力されている。
【０００８】
ＡＮＤ回路６５はパルス幅エラー信号Ｓｅｒｒ２の発生と同時にゲートを閉じ、メインヒートパルスＰａの出力を制限する。このため、ＣＰＵにプログラム暴走が発生しても、メインヒートパルスＰａはパルス幅が制限されて設定値Ｋｍａｘ  を超えたものが出力されず、長時間に亘りヘッド５２に対してメインヒートパルスＰａが供給される不具合が生じなくなる。なお、ヒート制御回路５６，５７に関してもヒート制御回路５５とほぼ同じ構成で、同様の動作が実行される。
【０００９】
【特許文献１】
特開２０００−１５７９２号公報（第４−７頁、第３図）
【００１０】
【発明が解決しようとする課題】
ところが、プログラム暴走が発生した場合には、ヒートパルスＰａのパルス幅Ｈが大きくなる以外にも、レジスタ６０に保持された設定値Ｋｍａｘ  が書き替えられてしまう不具合が生じることもある。これによって例えば設定値Ｋｍａｘ  が大きくなってしまうと、それに伴ってヘッド５２に長時間のヒートパルスＰａ〜Ｐｃが印加され、ヘッド５２に対する通電時間が長くなって、記録品質の低下を招くとともに吐出ヒータの損傷を招くおそれもあった。
【００１１】
本発明は前記の問題点に鑑みてなされたものであって、その目的は、プログラム暴走が生じてもレジスタが保持する設定値の書き替えを生じ難くできるプログラム暴走用保護回路及び記録装置を提供することにある。
【００１２】
【課題を解決するための手段】
前記の目的を達成するために本発明では、メモリに記憶されたプログラムが制御回路によって実行され、前記プログラムの実行時に前記制御回路が記憶手段に書込信号を出力して、回路保護を行うための設定値を前記記憶手段に保持するプログラム暴走用保護回路において、前記記憶手段が前記設定値を保持した以降に入力した書込信号を前記記憶手段に出力しないことで、前記記憶手段に保持された前記設定値を変更不可能にするマスク回路を備えたことを要旨とする。
【００１３】
この構成によれば、例えばマスク回路がリセット後に最初に入力した書込信号を記憶手段に出力して、回路保護を行うための設定値を記憶手段に保持させる。ここで、例えばプログラム暴走が発生すると、制御回路から記憶手段に対して書込信号が再出力される場合がある。しかし、マスク回路がその書込信号を記憶手段に出力させないので、記憶手段の保持動作がプログラム暴走時の書込信号に依らず、記憶手段に設定値が誤設定される不具合が生じ難くなる。
【００１４】
この発明では、前記マスク回路は前記記憶手段に保持動作を実行させたときの書込信号を出力状態に維持し、該書込信号に基づいて前記設定値を保持した状態に前記記憶手段を維持させることによって、前記記憶手段に保持された前記設定値を変更不可能にすることを要旨とする。この構成によれば、マスク回路は記憶手段に保持動作を実行させたときの書込信号を出力状態に維持し、記憶手段をその書込信号による保持動作状態のままで維持させる。従って、例えばプログラム暴走が生じて書込信号が再出力されても、その書込信号を基にして記憶手段が保持動作を実行せず、記憶手段に設定値が誤設定される不具合が生じ難くなる。
【００１５】
この発明では、前記マスク回路は、電源投入後に最初に入力した前記書込信号を前記記憶手段に出力して前記記憶手段に前記設定値の保持動作を実行させ、それ以降に入力した書込信号を前記記憶手段に出力しないことで前記記憶手段に保持された前記設定値を変更不可能にすることを要旨とする。この構成によれば、電源投入後には記憶手段に一度しか設定値を書き込めなくすることが可能となり、プログラム暴走が発生しても記憶手段に設定値が誤設定される不具合が生じ難くなる。
【００１６】
この発明では、前記マスク回路は前記書込信号を保持するフリップフロップを備え、前記制御回路から出力されるリセット信号を前記フリップフロップのリセット端子で入力したときに、前記書込信号を出力しない状態を解除することを要旨とする。この構成によれば、マスク回路を構成するフリップフロップのリセット端子に、制御回路からリセット信号を送ることによって書込信号を出力しない状態が解除されるので、記憶手段に設定値を再設定することが可能となる。
【００１７】
この発明では、請求項のいずれか一項に記載のプログラム暴走用保護回路と、前記プログラムに基づき前記制御回路が作動して記録媒体に記録処理を実行する記録実行手段とを備えたことを要旨とする。この構成によれば、プログラム暴走用保護回路と記録実行手段とを備えた記録装置としたので、プログラム暴走が発生しても記憶手段の設定値が誤設定され難い記録装置が提供される。
【００１８】
【発明の実施の形態】
以下、本発明を具体化したプログラム暴走用保護回路及び記録装置の一実施形態を図１〜図３に従って説明する。
【００１９】
図２は、プリンタ１の電気的構成を示すブロック図である。記録装置としてのプリンタ１はヘッド２に並んだヘッドピン３が用紙との間に挟まれたインクリボン（図示省略）を叩くことによって文字や図形を印刷するドットインパクトプリンタである。本例のヘッドピン３のピン数は９ピンを採用するが、これ以外のピン数（例えば２４ピン）が採用される場合もある。
【００２０】
プリンタ１は制御回路としてのＣＰＵ４、ＲＯＭ５、ＲＡＭ６、ＡＳＩＣ７を備え、これらデバイスはバス８を介して相互に接続されている。ＲＯＭ５にはプリンタ１を稼働するためのプログラムが記憶されている。ＣＰＵ４はプリンタ１のメイン制御を司り、ＲＯＭ５のプログラムに基づきＲＡＭ６を作業領域としてプリンタ１を制御する。
【００２１】
プリンタ１はヘッド駆動回路９、モータ駆動回路１０，１１を備え、これら駆動回路９〜１１はＡＳＩＣ７に接続されている。ＡＳＩＣ７は各駆動回路９〜１１に駆動信号を出力し、ヘッド駆動回路９を介してヘッド２を、モータ駆動回路１０を介してキャリッジモータ１２を、モータ駆動回路１１を介して紙送りモータ１３を各々駆動制御する。なお、ＣＰＵ４、ＲＯＭ５、ＲＡＭ６、ＡＳＩＣ７、駆動回路９〜１１、各種モータ１２，１３が記録実行手段を構成する。
【００２２】
図１は、ＡＳＩＣ７、ヘッド駆動回路９及びヘッド２の電気的構成を模式的に示す回路図である。ＡＳＩＣ７はヘッド２を駆動するための駆動信号Ｋ１を出力する駆動信号生成回路１４と、駆動信号Ｋ１の過度供給を抑止する保護回路１５とを備えている。また、保護回路１５は駆動信号Ｋ１の供給先をセレクトするセレクタ回路１６を備えている。
【００２３】
保護回路１５はタイマ１７、基準クロック発生回路１８、コンパレータ１９及びレジスタ２０を備えている。タイマ１７は入力側が駆動信号生成回路１４及び基準クロック発生回路１８に、出力側がコンパレータ１９に接続されている。タイマ１７は基準クロック発生回路１８から出力されるクロック信号Ｓｃｋに同期して駆動信号Ｋ１のパルス幅を計数する。タイマ１７は駆動信号Ｋ１のパルス幅に相当する例えば１６ビットからなるパルス幅信号Ｓｐをコンパレータ１９に出力する。なお、レジスタ２０が記憶手段に相当する。
【００２４】
また、ＡＳＩＣ７はマスク回路を構成するフリップフロップ（Ｄフリップフロップ）２１及びＯＲ回路２２とを備えている。フリップフロップ２１はＤ入力端子が電源に、Ｑ出力端子がＯＲ回路２２の一方の入力端子に接続されている。フリップフロップ２１のクロック入力端子はＣＰＵ４がＲＯＭ５又はＲＡＭ６に対して書き込みを指示する書込信号線（制御バス）２３に接続されている。書込信号線２３はＯＲ回路２２の他方の入力端子に接続されている。フリップフロップ２１のリセット端子はＣＰＵ４から延びるリセット信号線２４に接続されている。
【００２５】
フリップフロップ２１はＣＰＵ４から出力される書込信号ＷＲをクロック信号としてクロック入力端子に入力し、その書込信号ＷＲに同期してＱ出力端子からＨレベルのマスク信号ＳｍをＯＲ回路２２に出力する。即ち、フリップフロップ２１は書込信号ＷＲの入力によりセットされ、Ｑ出力端子からＨレベルのマスク信号Ｓｍを出力する。フリップフロップ２１のクロック入力端子に供給される書込信号ＷＲはＯＲ回路２２にも供給される。
【００２６】
ＯＲ回路２２はＣＰＵ４から書込信号ＷＲが出力されず、２つの入力端子がともにＬ信号を入力しているとき、レジスタ２０には信号を出力しない。一方、ＣＰＵ４から書込信号ＷＲが出力されてフリップフロップ２１がセット状態となってマスク信号Ｓｍを出力しているとき、ＯＲ回路２２は２つの入力端子にＨ信号を入力し、これに伴いレジスタ２０に向けてＨレベルの状態保持信号Ｓｔを出力する。
【００２７】
レジスタ２０は複数（本例では１６個）のフリップフロップ（Ｄフリップフロップ）２５から構成されている。各フリップフロップ２５のＤ入力端子は各々のデータ信号線２６を介してＣＰＵ４に接続されている。フリップフロップ２５のＱ出力端子はコンパレータ１９に接続されている。フリップフロップ２５のクロック入力端子はＯＲ回路２２の出力端子に接続されている。各フリップフロップ２５のリセット端子はリセット信号線２４に接続されている。
【００２８】
レジスタ２０はＣＰＵ４から出力される１６ビットの設定信号Ｓｄを入力し、その設定信号Ｓｄを駆動信号Ｋ１のパルス幅Ｈが超えてはならない設定値（閾値）Ｋｍａｘ  として保持してコンパレータ１９に出力する。即ち、各フリップフロップ２５はＯＲ回路２２から出力される状態保持信号Ｓｔをクロック信号としてクロック入力端子に入力し、ＣＰＵ４から入力する各々１ビットの設定データＤ０〜Ｄ１５を状態保持信号Ｓｔに同期してＱ出力端子からコンパレータ１９に各々出力する。
【００２９】
コンパレータ１９はタイマ１７から出力された１６ビットのパルス幅信号Ｓｐと、レジスタ２０に保持された１６ビットの設定信号Ｓｄとに基づき、駆動信号Ｋ１のパルス幅Ｈと設定値Ｋｍａｘ  との大小を比較する。コンパレータ１９はパルス幅Ｈが設定値Ｋｍａｘ  よりも小さい場合、セレクタ回路１６にＨレベルの比較結果信号Ｓｕを出力する。一方、コンパレータ１９はパルス幅Ｈが設定値Ｋｍａｘ  以上になった場合、セレクタ回路１６にＬレベルの比較結果信号Ｓｕを出力する。
【００３０】
セレクタ回路１６は複数のＡＮＤ回路２７，…から構成され、本例ではヘッドピン３のピン数に合わせて９個のＡＮＤ回路２７を備えている。各ＡＮＤ回路２７は３つの入力端子を有し、そのうちの１つは駆動信号生成回路１４に、他の入力端子はコンパレータ１９に接続されている。また、各ＡＮＤ回路２７のもう１つの入力端子は印刷データＤを入力するためのデータ信号線２８に各々接続されている。
【００３１】
データ信号線２８は印刷データを構成する各ビット単位毎に分かれている。本例ではヘッドピン３のピン数が９個であることから、一度に送られる１ライン分の印刷データは９ビットである。ＡＮＤ回路２７は入力端子の全てがＨレベルのとき、ヘッド駆動回路９を駆動するための駆動信号Ｋ２を出力端子から出力する。
【００３２】
ヘッド２にはヘッドピン３のピン数に合わせて複数（本例では９個）のコイル２９が設けられ、ヘッド駆動回路９にはコイル２９に対応して複数（本例では９個）のトランジスタ３０が配設されている。各コイル２９は一端が電源に、他端が各トランジスタ３０のコレクタ端子に接続されている。トランジスタ３０はエミッタ端子が接地に、ベース端子が各ＡＮＤ回路２７の出力端子に接続されている。
【００３３】
ヘッド駆動回路９のトランジスタ３０がオンするとコイル２９が励磁され、これに伴ってヘッドピン３がインクリボン（図示省略）に向かって押し出される。そして、ヘッドピン３がインクリボンを叩き、これによって用紙にインクが転写されて印刷処理が実行される。１ライン分の印刷処理が終わると、次に２ライン目の印刷が行われ、各ラインごとに同様の形式で印刷処理が継続される。
【００３４】
次に、前記のように構成されたプリンタ１の作用を説明する。
まず、ＣＰＵ４は例えば印刷データＤを入力してその印刷開始をトリガとして、設定信号Ｓｄをレジスタ２０に出力するとともに、書込信号ＷＲを出力して設定値Ｋｍａｘ  をレジスタ２０に保持する処理を実行する。このとき、フリップフロップ２１は書込信号ＷＲに同期してＱ出力端子からマスク信号Ｓｍを出力する状態となり、リセット端子にリセット信号Ｓｒを入力するまでＨレベルのマスク信号Ｓｍの出力状態を維持する。
【００３５】
ＣＰＵ４から書込信号ＷＲが出力されるとＯＲ回路２２の入力端子にはＨレベルの書込信号ＷＲ及びマスク信号Ｓｍが入力され、これに伴ってＯＲ回路２２の出力端子からはＨレベルの状態保持信号Ｓｔがレジスタ２０を構成する各フリップフロップ２５のクロック入力端子に出力される。これらフリップフロップ２５はＯＲ回路２２から出力されるＨレベルの状態保持信号Ｓｔをクロック入力端子から入力し、この信号に同期して設定値Ｋｍａｘ  を保持してその設定信号Ｓｄをコンパレータ１９に出力する。
【００３６】
ここまでの作動状態を図３に示すタイムチャートに沿って説明すると、まずＣＰＵ４から書込信号ＷＲが出力されたタイミング（時間Ｔ１）で、フリップフロップ２１のＱ出力端子からＨレベルのマスク信号Ｓｍが出力される。そして、書込信号ＷＲ（マスク信号Ｓｍ）の立ち上がりに同期して、レジスタ２０を構成するフリップフロップ２５の各クロック入力端子にＨレベルの状態保持信号Ｓｔが供給され、レジスタ２０が設定値Ｋｍａｘ  を保持する。なお、書込信号ＷＲはレジスタ２０への書き込みが終了した後（時間Ｔ２）にＬレベルに立ち下がる。
【００３７】
そして、タイマ１７から出力されるパルス幅信号Ｓｐとレジスタ２０に保持された１６ビットの設定信号Ｓｄとがコンパレータ１９に入力され、タイマ１７でカウントしたパルス幅Ｈと設定値Ｋｍａｘ  との大小がコンパレータ１９によって比較される。パルス幅Ｈが設定値Ｋｍａｘ  よりも小さい場合、コンパレータ１９からＨレベルの比較結果信号Ｓｕがセレクタ回路１６に出力される。
【００３８】
セレクタ回路１６の各ＡＮＤ回路２７，…には１ライン分の印刷データがビット単位毎に各々入力されるとともに、駆動信号生成回路１４からの駆動信号Ｋ１と、コンパレータ１９からの比較結果信号Ｓｕとが入力される。ＡＮＤ回路２７では３つの入力端子で全てＨ信号を入力したものから、ヘッド駆動回路９に駆動信号Ｋ２が出力される。ヘッド駆動回路９では駆動信号Ｋ２を入力したトランジスタ３０が駆動され、それに応じたコイル２９の励磁動作によってヘッドピン３がインクリボンを叩いて印刷処理が実施される。そして、２ライン以降も同様に印刷処理が行われる。
【００３９】
ここで、外部からノイズ等を受けて各バス８等を流れる電流値（信号値）に変化が生じることなどが原因となってＣＰＵ４が誤った指示を受けてプログラムが暴走し、このプログラム暴走が原因となって例えば駆動信号生成回路１４が出力する駆動信号Ｋ１のパルス幅Ｈが大きくなることがある。そして、駆動信号Ｋ１のパルス幅Ｈがレジスタ２０で設定された設定値Ｋｍａｘ  以上となる場合がある。
【００４０】
パルス幅Ｈが設定値Ｋｍａｘ  以上となった時点でコンパレータ１９からはＬレベルの比較結果信号Ｓｕが出力される。すると、駆動信号生成回路１４からパルス幅Ｈの大きい駆動信号Ｋ１が出力されても、コンパレータ１９からＬレベルの比較結果信号Ｓｕを入力した時点でＡＮＤ回路２７が非アクティブ状態となり、駆動信号Ｋ１のパルス幅が制限されてヘッド駆動回路９のトランジスタ３０がオフする。このため、コイル２９に長い時間通電される不具合が生じず、ひいては記録品質の低下やコイル２９の過度の加熱が抑制される。
【００４１】
また、プログラム暴走を原因として再び書込信号ＷＲが出力されてレジスタ２０への設定値Ｋｍａｘ  の書き込みが再実行される場合も考えられる。このとき、設定データＤ０〜Ｄ１５が変更された状態で書き込み処理が再実行されてしまうと、その誤った設定値Ｋｍａｘ  がレジスタ２０に書き込まれて誤設定される不具合が生じる。特に、値の大きな設定値Ｋｍａｘ  が誤設定されると駆動信号Ｋ１のパルス幅制限が充分でなくなり、回路保護の機能を満たさない不具合が生じる。また、値の小さな設定値Ｋｍａｘ  が誤設定されると正常であるにも拘らずパルス幅制限がなされて充分な印刷結果が得られないこともある。
【００４２】
しかし、フリップフロップ２１及びＯＲ回路２２はＨレベルの書込信号ＷＲをクロック入力端子に入力した時点を境に書込信号ＷＲをマスクし、Ｑ出力端子からＨレベルのマスク信号Ｓｍを出力したままの状態を維持する。このため、レジスタ２０の各フリップフロップ２５はＯＲ回路２２を介してマスク信号Ｓｍをクロック入力端子に入力したままの状態を維持する。従って、プログラム暴走が原因となってＨレベルの書込信号ＷＲが再度出力されても、レジスタ２０がその書込信号ＷＲにより書き込み処理を行わない構成となる。
【００４３】
本例では、電源投入後の最初に入力した書込信号ＷＲがフリップフロップ２１とＯＲ回路２２とを用いてマスクされるので、電源投入後にはレジスタ２０に一度しか設定値Ｋｍａｘ  を書き込めなくなる。従って、プログラム暴走が発生して書き込み処理が再実行される条件となっても、フリップフロップ２１及びＯＲ回路２２に書込信号ＷＲがマスクされているので、設定値Ｋｍａｘ  が再設定されることはなく、設定値Ｋｍａｘ  の誤設定が生じ難くなる。
【００４４】
また、ＣＰＵ４は電源が再投入されたタイミング（図３に示す時間Ｔ３）で、レジスタ２０の各フリップフロップ２５，…、及びフリップフロップ２１にＨレベルのリセット信号Ｓｒを出力する。フリップフロップ２１はＨレベルのリセット信号Ｓｒを入力するとマスク状態を解除して、Ｑ出力端子からのＴレベルのマスク信号Ｓｍを出力してマスク状態を解除する。また、レジスタ２０はリセット信号Ｓｒを入力すると保持している設定値Ｋｍａｘ  をクリアする。
【００４５】
従って、この実施形態では以下の効果を得ることができる。
（１）レジスタ２０に設定値Ｋｍａｘ  を書き込むときにＣＰＵ４から出力されるＨレベルの書込信号ＷＲがフリップフロップ２１及びＯＲ回路２２によってマスクされ、そのマスク信号ＳｍがＯＲ回路２２を介して各フリップフロップ２５のクロック入力端子に供給される。このため、ＣＰＵ４が書込信号ＷＲを出力しなくなってもフリップフロップ２５のクロック入力端子はＨレベルの信号を入力した状態を維持する。従って、例えばプログラム暴走が発生してＣＰＵ４がＨレベルの書込信号ＷＲを再出力しても、その書込信号ＷＲによるレジスタ設定が行われず、プログラム暴走時におけるレジスタ設定の誤書き込みを生じ難くできる。
【００４６】
（２）電源投入時にはフリップフロップ２１及びフリップフロップ２５のリセット端子にＨレベルのリセット信号Ｓｒが出力されて、レジスタ２０の設定値Ｋｍａｘ  の保持状態が解除される構成であるので、電源投入後にはレジスタ２０に設定値Ｋｍａｘ  を一度しか書き込めないようにすることができる。また、電源を再投入することによって設定値Ｋｍａｘ  の保持状態を解除するので、設定値Ｋｍａｘ  の保持を解除するための新たなスイッチ類を設ける必要がない。
【００４７】
（３）書込信号ＷＲをマスクしてレジスタ２０に再書き込みを生じ難くする回路をフリップフロップ２１とＯＲ回路２２とを用いて構成した。従って、これら論理回路は汎用的に使用されることから入手し易いので、レジスタ２０に再書き込みを生じ難くする回路を簡単な構成とすることができる。また、部品点数もフリップフロップ２１とＯＲ回路２２の２部品で済み、部品点数も多くならない。
【００４８】
（４）ＡＳＩＣ７が内蔵する保護回路１５に、そのレジスタ２０に対して設定値Ｋｍａｘ  の誤設定を抑制するための回路（フリップフロップ２１及びＯＲ回路２２）を設けたので、レジスタ設定の誤書き込みが生じ難いＡＳＩＣ７を提供することができる。また、そのＡＳＩＣ７をプリンタ１に搭載したので、保護回路１５のレジスタ設定に関して誤設定が生じ難いプリンタ１を提供できる。
【００４９】
なお、実施形態は前記に限定されず、以下の態様に変更してもよい。
（変形例１）レジスタ設定のタイミングとなりフリップフロップ２１に保持される信号は、ＣＰＵ４から出力される書込信号ＷＲに限定されない。例えば、ＣＰＵ４により制御されるクロック発生回路を設け、そこから入力するクロック信号でレジスタ設定を行い、その信号をフリップフロップ２１とＯＲ回路２２によってマスクする構成でもよい。
【００５０】
（変形例２）マスク回路はフリップフロップ２１及びＯＲ回路２２を用いて、フリップフロップ２１から出力されるマスク信号Ｓｍを出力維持状態にする回路に限定されない。例えば、マスク回路はリセット後の最初に入力した書込信号ＷＲのみをレジスタ２０に出力し、それ以降に入力した書込信号ＷＲは出力しないような構成を採用してもよい。
【００５１】
（変形例３）書込信号ＷＲをマスクしてレジスタ設定の誤書き込みを抑制する回路は、フリップフロップ（Ｄフリップフロップ）２１とＯＲ回路２２とから構成することに限らず、ＲＳフリップフロップ等を用いて構成してもよく、その回路構成は特に限定されない。
【００５２】
（変形例４）フリップフロップ２１をリセットする構成は、リセット端子にリセットすることでマスク信号Ｓｍの出力状態を解除する構成に限定されない。例えば、ＲＳフリップフロップを用いてＲ入力端子にＨ信号を供給してマスク状態を解除する構成でもよい。また、専用のスイッチ類を設けて自由にリセット可能としてもよく、印刷モードが変わる毎に設定値Ｋｍａｘ  が書き替えられる構成としてもよい。
【００５３】
（変形例５）保護回路１５はＡＳＩＣと一体化された構成に限らず、この保護回路１５をＡＳＩＣ７と別体にして設けてもよい。また、フリップフロップ２１とＯＲ回路２２とからなる回路をＡＳＩＣ７や保護回路１５と別体にして設けてもよい。
【００５４】
（変形例６）レジスタ２０が保持する設定値は１６ビットに限らず、例えば８ビット等の他の値を用いてもよい。なお、この場合にはタイマ１７が出力するパルス幅信号Ｓｐ（パルス幅Ｈ）のビット数もそれに合わせる必要がある。
【００５５】
（変形例７）書込信号ＷＲをマスクしてレジスタ設定の誤書き込みを抑制する回路は、ヘッド駆動回路９にのみ設けることに限らず、例えばキャリッジモータ１２を駆動するモータ駆動回路１０や紙送りモータ１３を駆動するモータ駆動回路１１に対して設けてもよい。また、制限を比較する対象は駆動信号Ｋ１のパルス幅に限らず、例えばパルス数や振幅などの他の値を採用してもよい。
【００５６】
（変形例８）比較回路はコンパレータ１９に限らず、パルス幅Ｈと設定値Ｋｍａｘ  とを比較可能な回路であれば、それ以外の回路を採用してもよい。また、記憶手段はレジスタ２０に限らず、ＲＡＭ６、ＥＥＰＲＯＭ、フラッシュＲＯＭ等を用いてもよい。
【００５７】
（変形例９）設定値Ｋｍａｘ  はパルス幅の上限値に限らず、駆動信号Ｋ２の供給先によっては下限値でもよく、パルス幅が下限値以下となるときにＡＳＩＣ７をシャットダウンする構成でもよい。
【００５８】
（変形例１０）記録装置はプリンタ１に限らず、液晶ディスプレイ等のカラーフィルタ製造装置、有機ＥＬディスプレイやＦＥＤ（面発光ディスプレイ）等の電極形成装置、バイオチップ製造用の生体有機物を噴射する噴射装置、精密ピペット用の製造装置でもよい。また、記録装置をプリンタ１はドットプリンタに限定されず、例えばインクジェット式、レーザ式等の各種タイプを採用してもよい。
【００５９】
前記実施形態及び別例から把握できる技術的思想について記載する。
（１）請求項１〜４のいずれかにおいて、前記マスク回路はＤフリップフロップと、入力端子が前記ＤフリップフロップのＱ出力端子及び前記クロック信号が出力される信号線に接続されたＯＲ回路とから構成されている。
【００６０】
（２）請求項４において、前記リセット信号は電源がオンされたとき、前記制御回路から前記フリップフロップの前記リセット端子に出力される。
（３）請求項１〜４において、駆動信号を生成する駆動信号生成回路（１４）と、前記駆動信号生成回路からの前記駆動信号のパルス幅を検出する検出回路（１７，１８）と、前記パルス幅の閾値として設定された前記設定値を書き替え可能に保持する前記記憶手段と、前記設定値と前記パルス幅とを比較する比較回路（１９）と、その比較結果に基づき前記パルス幅が前記設定値以上となる場合に、前記パルス幅を制限して出力する制限回路（１６）とを備え、前記制限回路は複数ビットのビットデータ（Ｄ）をパラレルで入力し、前記ビットデータと、前記信号生成回路から出力される前記出力信号と、比較回路の比較結果を示す比較結果信号（Ｓｕ）との論理積を各ビット単位で求め、その演算結果である第２信号（Ｋ２）をビット単位毎にパラレルで出力する。
【図面の簡単な説明】
【図１】一実施形態におけるＡＳＩＣ及びその周辺の模式的回路図。
【図２】プリンタの電気的構成を示すブロック図。
【図３】各種信号のレベル状態の径時変化を示すタイムチャート。
【図４】従来のプリントヘッド記録制御装置の構成を示すブロック図。
【図５】ヒート制御回路の内部回路を示す回路図。
【符号の説明】
１…記録装置としてのプリンタ、２…記録実行手段を構成するヘッド、４…制御回路及び記録実行手段を構成するＣＰＵ、５…記録実行手段を構成するＲＯＭ、６…記録実行手段を構成するＲＡＭ、７…記録実行手段を構成するＡＳＩＣ、９〜１１…記録実行手段を構成する駆動回路、１２，１３…記録実行手段を構成するモータ、２０…記憶手段としてのレジスタ、２１…マスク回路を構成するフリップフロップ、２２…マスク回路を構成するＯＲ回路、ＷＲ…書込信号、Ｓｒ…リセット信号、Ｋｍａｘ  …設定値。
【図１】
2004272556.tif 000003
【図２】
2004272556.tif 000004
【図３】
2004272556.tif 000005
【図４】
2004272556.tif 000006
【図５】
2004272556.tif 000007