(57)【特許請求の範囲】
【請求項１】
記憶素子に格納される制御プログラムにしたがって機器制御を実行するＣＰＵの暴走を監視する機能を備えた制御装置であって、
ウォッチドッグタイマ回路の動作時間より短い間隔で、ウォッチドッグタイマ回路へリセット信号を出させるよう、前記制御プログラムの実行中に、プログラマブルカウンタを設定する手段と、
前記ＣＰＵに内蔵された初期処理用のマイクロプログラムを実行することにより実現され、該ＣＰＵが前記制御プログラムに従った機器制御を実行する以前に、前記制御プログラムが格納された記憶素子が正規品であるか否かを判断する記憶素子判断手段と、
前記記憶素子が正規品であると判断したときには、前記ＣＰＵに内蔵された論理演算用のマイクロプログラムの使用を許可し、正規品でないと判断されたときには、前記ＣＰＵに内蔵された論理演算用のマイクロプログラムの使用を許可しない許可手段と、
前記記憶素子判断手段の動作中は、前記ウォッチドッグタイマ回路への通電を停止させる暴走監視機能停止手段と
を備えることを特徴とする制御装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、制御用のプログラムを格納する記憶素子が正規品であるか否かを判断した後に、その記憶素子に格納された制御プログラムに基づく機器制御を実行する制御装置に関する。
【０００２】
【従来の技術】
従来、各種機器の制御を司る制御装置は、汎用性を高め、かつ、開発負荷を軽減するために、制御規則を記述した制御プログラムを格納する記憶素子（例えば、ＰＲＯＭ等）と、その記憶素子から順次制御プログラムを読み出しては実行するＣＰＵとを中心とした論理回路にて構成されている。しかし、この種の制御装置は、制御プログラムのバグや飛来ノイズ等の原因によりＣＰＵが暴走する可能性があり、これに対処する装置の一つとして、ウォッチドッグタイマ回路が提唱されている。
【０００３】
ここにウォッチドッグタイマ回路とは、ＣＰＵからの定期的なリセット信号が入力されなくなったとき、ＣＰＵが暴走した判断し、以後のＣＰＵの動作を禁止するように構成された暴走監視のための一種のタイマ回路である。従って、ＣＰＵが本来的に実行すべき制御プログラムが格納される記憶素子には、このウォッチドッグタイマ回路を定期的にリセットするような特定の暴走監視プログラムが別途格納され、ＣＰＵが正常に動作し続ける限りにおいてはウォッチドッグタイマ回路は定期的にリセットされ、制御プログラムに従った機器制御が実行される。
【０００４】
【発明が解決しようとする課題】
しかし、こうして装置の信頼性を確保している従来の制御装置には、信頼性を確保する他の回路構成と共に使用しようとすると次のような問題点があった。
ウォッチドッグタイマ回路を採用した従来の制御装置は、その制御装置自体の信頼性向上には十分な効果を発揮する。しかしながら、制御プログラムの改変あるいはその制御プログラムを記述した記憶素子を取り替えるといった人為的、組織的な不正行為に対しては全く無力である。
【０００５】
この内、「制御プログラムの改変」という不正に対しては、書き換え不能なＲＯＭ、例えばヒューズＲＯＭ等を記憶素子として採用することにより簡単に対処できる。しかし、後者の「記憶素子を取り替える」という不正行為に対しては効果がなく、手の施しようがなかった。そこで、ＰＲＯＭなどの記憶素子を取り替えるといった不正に対して、記憶素子を識別する構成を、発明者は先に別途出願しているが（特願平２−４１４８８８）、ウォッチドッグタイマ回路との併用については、何等検討されていなかった。
本発明の制御装置はこうした問題点を解決し、制御装置自体の高信頼性を確保しつつ、人為的かつ組織的な不正に対しても高い信頼性を得ることを目的としてなされ、次の構成を採った。
【０００６】
【課題を解決するための手段】
本発明の制御装置は、
記憶素子に格納される制御プログラムにしたがって機器制御を実行するＣＰＵの暴走を監視する機能を備えた制御装置であって、
ウォッチドッグタイマ回路の動作時間より短い間隔で、ウォッチドッグタイマ回路へリセット信号を出させるよう、前記制御プログラムの実行中に、プログラマブルカウンタを設定する手段と、
前記ＣＰＵに内蔵された初期処理用のマイクロプログラムを実行することにより実現され、該ＣＰＵが前記制御プログラムに従った機器制御を実行する以前に、前記制御プログラムが格納された記憶素子が正規品であるか否かを判断する記憶素子判断手段と、
前記記憶素子が正規品であると判断したときには、前記ＣＰＵに内蔵された論理演算用のマイクロプログラムの使用を許可し、正規品でないと判断されたときには、前記ＣＰＵに内蔵された論理演算用のマイクロプログラムの使用を許可しない許可手段と、
前記記憶素子判断手段の動作中は、前記ウォッチドッグタイマ回路への通電を停止させる暴走監視機能停止手段と
を備えることをその要旨としている。
【０００７】
【作用】
以上のように構成された本発明の制御装置では、ＣＰＵに内蔵された初期処理用のマイクロプログラムにより実現される記憶素子判断手段によって記憶素子が正規品であるか否かが判断され、その記憶素子が正規品であるとき論理演算用のマイクロプログラムの使用か許可され、制御プログラムによる機器の制御が実現される。また、記憶素子が正規品でないと判断されたときには、前記ＣＰＵに内蔵された論理演算用のマイクロプログラムの使用を許可しないので、不当な制御プログラムに基づく処理が行なわれることはない。しかも、こうした判断を行なう記憶素子判断手段の動作中には暴走監視機能停止手段が同時に作動し、ウォッチドッグタイマ回路への通電が停止される。
【０００８】
ＣＰＵに内蔵された記憶素子判断手段の判断は、記憶素子に記憶された制御プログラムの実行に先だってこのＣＰＵに内蔵された初期処理用のマイクロプログラムにより実現され、その処理には記憶素子に記憶されたプログラムは関与しない。一方、ウォッチドッグタイマ回路は、記憶素子に記憶されたプログラムが関与して初めて機能する。従って、ウォッチドッグタイマ回路への通電を、記憶素子判断手段の動作中は停止することにより、記憶素子判断手段の動作中に誤ってウォッチドッグタイマ回路が動作してしまうことがない。
【０００９】
【実施例】
以上説明した本発明の構成、作用を一層明らかにするために、以下本発明の検出装置の好適な実施例について説明する。
図１は、本発明の一実施例であるパチンコ機制御装置１のブロック図である。図示するようにパチンコ機制御装置１は、全体の制御を司るマイクロコンピュータ１０（以下、ＣＰＵ１０という）、そのＣＰＵ１０にて実行すべき各種プログラムやデータが格納されるＰＲＯＭ１２およびＣＰＵ１０にて利用されるメモリ空間を提供するＲＡＭ１４を中心とした論理回路により構成されている。
【００１０】
本実施例のＣＰＵ１０には、内部シーケンス回路にマイクロプログラム方式を採用するコンピュータが用いられる。従って、その内部には高速のマイクロプログラムメモリ１０Ａが備えられ、このマイクロプログラムメモリ１０Ａに記述されたマイクロプログラム、内部制御回路１０ＢのワイヤドロジックおよびＣＰＵ１０内部状態に応じたシーケンスにて、内部バス１０Ｃに接続されるその他のＣＰＵ構成回路が制御される。
【００１１】
このマイクロプログラムメモリ１０Ａの記憶内容は、図２に示すごときものである。図示するように、本実施例のマイクロプログラムメモリ１０Ａには、通常の加算用、乗算用、比較用その他の論理演算用のマイクロプログラムに加え、ＣＰＵ１０の立ち上げ時に最初に実行される先頭アドレス以下に後述する初期処理マイクロプログラムが格納されている。
【００１２】
内部バス１０Ｃに接続されるコントロールバス制御回路１０Ｄは、ＣＰＵ１０のＲＥＳＥＴポートおよびＨＡＬＴ、ＷＡＩＴ、ＭＲＥＱ等のコントロールポートの入出力信号を制御する。例えば、ＲＥＳＥＴポートから信号が入力された場合には、ＣＰＵ１０の内部状態を変更し、内部制御回路１０Ｂに対してそれまで実行していたシーケンス処理を総て中断させ、これに代わってマイクロプログラムメモリ１０Ａに記述されている初期処理マイクロプログラムを実行させる。これによりパチンコ機制御装置１は、電源投入直後と同じ制御を開始する。
【００１３】
データバス／アドレスバスインタフェイス１０Ｅは、ＣＰＵ１０の周辺回路である前記ＰＲＯＭ１２、ＲＡＭ１４および外部回路との入出力制御用ＬＳＩ１６（以下、Ｉ／Ｏデバイス１６という）とのデータの授受を管理する。
割込み制御回路１０Ｆは、マスク可能な割込み信号用の割込みポート（ＩＮＴポート）およびマスク不可能な割込みポート（ＮＭＩポート）から入力される割込み信号を受け付け、その信号によりＣＰＵ１０の内部状態を変更する。これらの割込み信号を利用することで、ＣＰＵ１０の実行すべきプログラムの優先順位をリアルタイムに変更することができる。
【００１４】
また、本実施例のＣＰＵ１０にはプログラマブルカウンタ１０Ｇが内蔵されている。このプログラマブルカウンタ１０Ｇは、ＣＬＫＩＮポートから入力されるクロック信号Φを基準信号としたカウント処理を実行し、そのカウント値と内部バス１０Ｃを介してセットされた設定カウント値とが一致したとき、出力ポートＰＣからカウントアップ信号を出力する。この出力ポートＰＣは、後述するウオッチドッグ回路１８のリセット端子ＲＥＳＥＴと共に、ＣＰＵ１０の割込みＩＮＴポートにも接続されている。このため、プログラマブルカウンタ１０Ｇからカウントアップ信号が出力されると、ウォッチドッグタイマ回路１８がリセットされると共に、ＣＰＵ１０にマスク可能な割込みが発生する。
【００１５】
本実施例では、ＩＮＴポートに信号が入力されると、前述したプログラマブルカウンタ１０Ｇをリセットし、設定カウント値ＴＰを再度セットする。これによりＣＰＵ１０は、設定カウント値ＴＰまでプログラマブルカウンタ１０Ｇがカウントアップする毎に出力ポートＰＣからカウントアップ信号を出力する処理を繰り返すことになる。
【００１６】
パチンコ機制御装置１として上記構成のＣＰＵ１０が実行すべき処理手順は、制御プログラムおよび制御データの形式としてＰＲＯＭ１２に予め書き込まれている。例えば制御プログラムには、大当たり条件が成立したか否かの判断処理、遊技状況に応じた表示処理、大当たり時の役物駆動処理などの遊技規則が記述される。制御データとは、センター役物のデジタル表示装置に表示する図柄のデータを始めとして、大当たりを決める乱数発生のための乱数テーブルなどである。また、本実施例のＰＲＯＭ１２には、所定の記憶エリアに予め定められた識別コードが記憶されており、この識別コードを用いて後述するＰＲＯＭチェックがなされる。
【００１７】
次に、Ｉ／Ｏデバイス１６について説明する。３つの１６ビット入出力ポートを備えるＩ／Ｏデバイス１６は、ＣＰＵ１０による制御下に置かれ、パチンコ機に備え付けられるその他の外部回路、例えばセンター役物デジタル表示装置などを制御する表示回路３０、大当たり駆動装置などを制御する駆動回路４０、スピーカなどを制御するサウンド回路５０などを統合的に制御する。
パチンコ機制御装置１にはその他に、ＣＰＵ１０の暴走を監視するためのウォッチドッグタイマ回路１８およびそのウォッチドッグタイマ回路１８の電源ラインＶＣを管理する遅延タイマ回路２０が構成されている。
【００１８】
ウォッチドッグタイマ回路１８は、遅延タイマ回路２０にて管理される電源ラインＶＣから電力が供給され始めた時点、およびそのリセット端子ＲＥＳＥＴへの信号入力時点から計時処理に入り、その経過時間が所定時間ＴＷを経過するまでに再度リセット端子ＲＥＳＥＴへ信号が入力されなかった場合には、その出力ポートＷＤから暴走判断信号を出力する。この出力ポートＷＤとＣＰＵ１０のＲＥＳＥＴポートが接続されるため、ウォッチドッグタイマ回路１８から暴走判断信号が出力されるとパチンコ機制御装置１は電源投入直後と同じ初期処理マイクロプログラムの処理を開始する。
【００１９】
この様な暴走判断信号がウォッチドッグタイマ回路１８から出力されないように、ＣＰＵ１０の出力ポートＰＣとウォッチドッグタイマ回路１８のリセット端子ＲＥＳＥＴが接続され、プログラマブルカウンタ１０Ｇからのタイムアップ信号によりウォッチドッグタイマ回路１８をリセットできる構成としている。従って、前述した設定カウント値ＴＰの値は、ウォッチドッグタイマ回路１８による計時時間ＴＷよりも早くプログラマブルカウンタ１０Ｇがカウントアップを完了するような値に設定されている。
【００２０】
遅延タイマ回路２０は、電源ラインＶＣから電力供給が開始されたときおよびそのＲＥＳＥＴ端子に信号が与えられた時から一定の禁止時間、本実施例では約３秒間、ウォッチドッグタイマ回路１８の電源ラインＶＣをオープンにする。従って、この間、ウォッチドッグタイマ回路１８は動作しない。この様な一定時間を計時する回路は、簡単にはＲＣの時定数回路により構成されるが、単安定マルチバイブレータなどを利用するなど回路構成は何れでも構わない。遅延タイマ回路２０のＲＥＳＥＴ端子は、図示するごとくウォッチドッグタイマ回路１８の出力ポートＷＤに接続されている。従って、この遅延タイマ回路２０による動作禁止は、パチンコ機制御装置１への電力供給が開始されたときおよびウォッチドッグタイマ回路１８がＣＰＵ１０を暴走したと判断してリセットしたときに限り実行される。
【００２１】
次に、以上のように構成された本実施例のパチンコ機制御装置１の動作について説明する。図３は、ＣＰＵ１０のマイクロプログラムメモリ１０Ａに記憶された初期処理マイクロプログラムのフローチャートである。この処理は、ＣＰＵ１０のマイクロプログラムメモリ１０Ａに記憶された処理であり、ＰＲＯＭ１２に記憶された処理プログラムとは、関係がない。前述のごとくこの初期処理マイクロプログラムはＣＰＵ１０の電源投入直後あるいはリセット直後に実行され、初めにＰＲＯＭ１２の所定アドレスをアクセスし、そこに記憶されている識別コードを読み込む（ステップ１００）。そして、この識別コードが正常であるか否かを判断し（ステップ１１０）、正常である場合には通常処理を許可し（ステップ１２０）、それ以外であれば通常処理を禁止する（ステップ１３０）。なお、ＰＲＯＭ１２が正規のものであるか否かの判断は、ＣＰＵ１０とＰＲＯＭ１２との双方に予め所定の識別コードを書き込むものとし、この識別コードの一致を判別する手法の他、ＰＲＯＭ１２に書き込まれたプログラムコードと相関のある値を予め書き込んでおき、これを判別する手法など、様々な手法を用いることができる。
【００２２】
また、ここで通常処理の許可とは、処理を、ＰＲＯＭ１２に格納された制御プログラムに移管し、これに従って、その他の加算用、乗算用、比較用等の論理演算用マイクロプログラムの使用を許可することであり、このステップ１２０の許可処理が実行されないかぎりＣＰＵ１０は一切の制御処理を実行することはできない。もとより、ＣＰＵ１０がテストモードなど特殊な目的のモードを有する場合、ステップ１２０での許可処理が得られなかった場合に、テストモードなどの処理を実行する構成とすることも差し支えない。なお、本実施例では、この初期処理マイクロプログラムの処理に３秒弱の時間を必要とする。
【００２３】
上記のような特殊な初期処理マイクロプログラムがＣＰＵ１０の内部にて実行されている期間は、ＣＰＵ１０の外部からはＣＰＵ１０が何等動作していないように見える。すなわち、ＣＰＵ１０の出力ポートＰＣからカウントアップ信号が出力することはできない。
【００２４】
一方、この様な初期処理マイクロプログラムがＣＰＵ１０の内部にて実行されている期間、すなわち電源投入直後あるいはＣＰＵ１０のリセット直後は、遅延タイマ回路２０が動作してウォッチドッグタイマ回路１８への電源供給を遅延している。この時間関係を図４のタイムチャートに示した。
【００２５】
図示するように、電源ラインＶＣの電圧が立ち上がった直後にＣＰＵ１０が初期処理マクロプログラムを完了するのに必要な３秒間は、ウォッチドッグタイマ回路１８への電源供給が遅延されＣＰＵ１０の暴走監視機能が停止される。従って、この期間にはＣＰＵ１０の出力ポートＰＣからカウントアップ信号が出力されなくともウォッチドッグタイマ回路１８から暴走判断信号が出力されることはない。そしてこの期間後、ＣＰＵ１０が通常の制御プログラムに基づいた制御を実行する期間は、ウォッチドッグタイマ回路１８への電源供給が開始され、ウォッチドッグタイマ回路１８による暴走監視機能が作動する。
【００２６】
こうしたウォッチドッグタイマ回路１８による暴走監視機能に基づきＣＰＵ１０が暴走していると判断されると、ウォッチドッグタイマ回路１８の暴走判断信号が出力され、ＣＰＵ１０および遅延タイマ回路２０がリセットされる。このため、ＣＰＵ１０は再度初期処理マイクロプログラムの処理を開始し、この処理期間を暴走と誤認知しないためにウォッチドッグタイマ回路１８への電力供給が再度停止される。
【００２７】
以上のように構成される本実施例のパチンコ機制御装置１によれば、ＣＰＵ１０のマイクロプログラムメモリ１０Ａに記憶された初期処理マイクロプログラムによりＰＲＯＭ１２の識別コードが確認され、ＰＲＯＭ１２が正規品であると判断された後にその他の論理演算用のマイクロプログラムの使用を許可する。このため、ＰＲＯＭ１２を取り替える不正行為が実行されたならば、パチンコ機制御装置１の電源投入直後にこれを判断することが可能となり、不正ＲＯＭに記載された不当な制御プログラムに基づく処理を一切行なうことがない。
【００２８】
しかも、この様な不正行為の検出は、初期処理マイクロプログラムによりソフト的に実行される。従って、ＰＲＯＭ１２として複数種の正規品を備え、その種類毎に識別コードを変更する場合など、パチンコ機制御装置１の多品種生産に有利である。
また、ＰＲＯＭ１２が正規品でありＣＰＵ１０が真正の制御プログラムの処理を実行している期間は、従来同様にウォッチドッグタイマ回路１８による暴走監視機能が作動し、ＣＰＵ１０の暴走が厳しくチェックされる。
【００２９】
以上、本発明である制御装置の一実施例としてパチンコ機制御装置１の構成、動作につき詳述したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない種々なる態様にて実施することができるのは勿論のことである。
例えば、上記実施例ではマイクロプログラムによりＰＲＯＭが正規品であるか否かを判断しているが、ワイヤドロジックによりＰＲＯＭの判断を実行すれば、その判断処理に要する時間が短時間となり、高速応答性を要求される制御装置として有益である。また実施例では、ＰＲＯＭの所定アドレスに識別コードを記憶させ、この識別コードにより正規品のＰＲＯＭであるか否かを判断している。この様な判断は、正規品のＰＲＯＭが有する何れかの特徴あるいはその複合的な特徴を判断することであり、識別コードを用いる方法に替えあるいはその方法と複合的に、正規品の制御プログラムが記述されるエリアの確認、制御プログラムの一部分のコード確認など自由に設計される。
【００３０】
【発明の効果】
以上説明したように本発明の制御装置は、論理回路により構成されるためにシステムの柔軟性に富み、汎用性に優れ、開発負荷を軽減することができる。また、ウォッチドッグタイマ回路による厳重な暴走監視機能が備えられ、何等かの原因によりＣＰＵが暴走した場合には直ちにＣＰＵの動作が禁止され、不測の事態を避けることができる。しかも、制御プログラムを格納している記憶素子が正規品であるか否かを判断した後に、その制御プログラムを実行するため、制御プログラムの不正書き換え、記憶素子の不正取り替えによる人為的、組織的な不正に対しても高い信頼性を発揮する。
【図面の簡単な説明】
【図１】本発明の一実施例としてのパチンコ機制御装置のブロック図である。
【図２】そのマイクロプログラムメモリの記憶内容説明図である。
【図３】そのマイクロプログラムの１つである初期処理マイクロプログラムのフローチャートである。
【図４】その初期処理マイクロプログラムの実行タイミングチャートである。
【符号の説明】
１  パチンコ機制御装置
１０  ＣＰＵ
１２  ＰＲＯＭ
１４  ＲＡＭ
１６  Ｉ／Ｏデバイス
１８  ウォッチドッグタイマ回路
２０  遅延タイマ回路
３０  表示回路
４０  駆動回路
５０  サウンド回路
１０Ａ  マイクロプログラムメモリ
１０Ｂ  内部制御回路
１０Ｃ  内部バス
１０Ｄ  コントロールバス制御回路
１０Ｅ  データバス／アドレスバスインタフェイス
１０Ｆ  制御回路
１０Ｇ  プログラマブルカウンタ
【図１】
0003593701.tif 000002
【図２】
0003593701.tif 000003
【図３】
0003593701.tif 000004
【図４】
0003593701.tif 000005