(57)【要約】【課題】  生成される乱数の出現を順番でなく、且つ、乱数の生成タイミングも一定間隔でない乱数を得ることのできる乱数発生装置を提供すること。【解決手段】  カウンタ回路及びラッチ回路を複数組備える（カウンタ回路３，ラッチ回路４とカウンタ回路６，ラッチ回路７）。各組のカウンタ回路をカウントアップさせるクロックを、各組毎でそれぞれ公約数を有しない異なる周波数のクロックとし、トリガ信号を受けたときに各組のラッチ回路４，７にそれぞれ保持される各組のカウンタ回路のカウント値を合成して乱数とする。【選択図】    図１
2005066127.tif 000002
【特許請求の範囲】
【請求項１】
一定周波数のクロックを発生するクロック発生回路と、クロック発生回路から出力されたクロックを入力としてカウントアップ動作を行うカウンタ回路と、トリガ信号発生手段より発生されたトリガ信号を受けたときの前記カウンタ回路のカウント値を入力して保持するラッチ回路を備えた遊技機用の乱数発生装置において、前記カウンタ回路及び前記ラッチ回路を複数組備え、各組のカウンタ回路をカウントアップさせるクロックを、各組毎でそれぞれ公約数を有しない異なる周波数のクロックとし、前記トリガ信号を受けたときに前記各組のラッチ回路にそれぞれ保持される前記各組のカウンタ回路のカウント値を合成して乱数とすることを特徴とする遊技機用の乱数発生装置。
【請求項２】
前記各組毎でそれぞれ異なる周波数のクロックが、基準クロック発生回路で発生された基準クロックを基に前記各組毎に異なる分周比で分周する前記各組毎に設けられた分周回路とで生成されることを特徴とする請求項１に記載の遊技機用の乱数発生装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、遊技機用の乱数発生装置に関する。
【背景技術】
【０００２】
従来、乱数を得る手段として、ＣＰＵが実行するソフトウェアによる乱数発生処理として、特定エリアの値を一定周期毎にカウントアップさせ、トリガ信号検出時に特定エリアの値を乱数として使用していた。そのため、限られた記憶エリア及びＣＰＵの処理速度では、常時更新を繰り返す処理は負担となっていた。
【０００３】
また、ソフトウェアによる負担を減らすためにハードウェアによる乱数発生装置が提案されている（例えば、特許文献１）。しかしながら、その方法は、単一のクロックによりカウンタ回路をカウントアップさせる方法であるため、生成される乱数の出現順序は、順番に出現し、且つ、一定間隔で出現するため、外部より当選する乱数を推測することが可能となっていた。また、カウンタ回路の各ビット出力端子と、ラッチ回路の各ビット入力端子とを接続するに際し、カウンタ回路の各ビット出力端子の配列を反転させて、ラッチ回路の各ビット入力端子にそれぞれ接続した遊技機用の乱数発生装置が提案されているが（例えば、特許文献２）、この遊技機用の乱数発生装置にあっても、生成される乱数の出現順序を分散させることはできるが、乱数の生成タイミングは一定間隔であるため、当り値の出現タイミングが周期的となり、外部より当選する乱数を推測することが可能なものである。
【０００４】
【特許文献１】特許掲載公報第２７５０８０８号
【特許文献２】特開２０００−２４２８６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明の目的は、ＣＰＵが実行するソフトウェアとは別に独立したハードウェアによって乱数を発生させ、生成される乱数の出現を順番でなく、且つ、乱数の生成タイミングも一定間隔でない乱数を得ることのできる乱数発生装置を提供することにある。
【課題を解決するための手段】
【０００６】
請求項１に記載の遊技機用の乱数発生装置は、一定周波数のクロックを発生するクロック発生回路と、クロック発生回路から出力されたクロックを入力としてカウントアップ動作を行うカウンタ回路と、トリガ信号発生手段より発生されたトリガ信号を受けたときの前記カウンタ回路のカウント値を入力して保持するラッチ回路を備えたものであって、上記課題を解決するために、前記カウンタ回路及び前記ラッチ回路を複数組備え、各組のカウンタ回路をカウントアップさせるクロックを、各組毎でそれぞれ公約数を有しない異なる周波数のクロックとし、前記トリガ信号を受けたときに前記各組のラッチ回路にそれぞれ保持される前記各組のカウンタ回路のカウント値を合成して乱数とすることを特徴とする。
【０００７】
請求項２に記載の遊技機用の乱数発生装置は、請求項１に記載のものにおいて、基準クロック発生回路で発生された基準クロックを基に前記各組毎に異なる分周比で分周する前記各組毎に設けられた分周回路とで生成されることを特徴とするものである。
【発明の効果】
【０００８】
請求項１に記載の構成によれば、カウンタ回路及びラッチ回路を複数組備え、各組のカウンタ回路をカウントアップさせるクロックを、各組毎でそれぞれ公約数を有しない異なる周波数のクロックとし、トリガ信号を受けたときに各組のラッチ回路にそれぞれ保持される各組のカウンタ回路のカウント値を合成して乱数とするので、ＣＰＵが実行するソフトウェアとは別に独立したハードウェアによって乱数を発生させるため、ソフトウェアにかかる負担を軽減することができ、生成される乱数は、各組のカウンタ回路のカウント値の合成値であるので、乱数の出現順序は順番に出現しないようにでき、さらに、乱数の生成タイミングも一定間隔でないようにできる。これによって、例えば、この乱数発生装置で得られた乱数をスロットマシンのスタートレバーの操作時に抽選される入賞か否かの判定に供する値や第１種パチンコ遊技機における始動口入賞に応じて抽選される大当りか否かの判定に供する判定値に使用することで、外部から当選する乱数を推測することが困難にでき、さらに当選する乱数の時間の幅も一定でないため、狙うことも困難にすることが可能となる。さらに、カウントアップするクロックの周波数を変更するのみで、乱数の出現順序及び出現時間の幅も簡単に変更することが可能となる。
【０００９】
請求項２に記載の構成によれば、各組の分周回路に任意の分周比を設定することにより、１つの基準クロックで２つの基準クロックの役割を果たすことが可能となる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の実施の形態を図面を参照して説明する。図１は、本発明の実施形態に係る乱数発生装置１の概略を示すブロック図である。乱数発生装置１は、一定周波数のクロックを発生するクロック信号発生回路と、クロック信号発生回路２，５から出力されたクロックを入力としてカウントアップ動作を行うカウンタ回路と、トリガ信号発生器（トリガ信号発生手段の一態様）９より発生されたトリガ信号を受けたときのカウンタ回路のカウント値を入力して保持するラッチ回路を複数組備える。この実施形態では、クロック信号発生回路２に対応するカウンタ回路３及びラッチ回路４（第１組）と、クロック信号発生回路５に対応するカウンタ回路６及びラッチ回路７（第２組）との２組備えている。また、各組のカウンタ回路３，６をそれぞれカウントアップさせるクロックＣＬＫ１，ＣＬＫ２を、各組毎でそれぞれ公約数を有しない異なる周波数のクロックとする。ＣＰＵ８は、トリガ信号を受けたときに各組のラッチ回路４，７にそれぞれ保持される各組のカウンタ回路３，６のカウント値を合成して乱数とするものである。
【００１１】
図２は、乱数発生装置１の具体的な構成を示す回路ブロック図である（第１実施形態）。クロック信号発生器（クロック信号発生回路）１０，１２は、例えば、水晶発振器又はセラミック発振器等を利用したクロック発生器で、それぞれ公約数を有しない異なった周波数（例えば、クロック信号発生器１０は３．０７２ＭＨｚ，クロック信号発生器１２は４．１ＭＨｚ）で連続的にクロックを発生するものである。２組のカウンタ＆ラッチ回路１１，１３は、８ビット２進カウンタと８ビットラッチを内蔵した複合ＩＣであり、カウンタ部分はラッチ回路の影響を受けずに動作する。カウンタ部分は、ＣＣＬＲ端子がハイレベル、ＣＣＬＫＥＮ端子がロウレベルに接続されており、ＣＣＬＫ端子に与えられたクロックの立ち上がりでカウンタを＋１する動作を行う。また、ラッチ部分はＲＣＬＫ端子にトリガ信号発生器９からのパルス信号を与えると、その立ち上がりエッジに入った瞬間のカウンタ部分（カウンタ回路）の内容をラッチにコピーして、次のＲＣＬＫ端子にパルス信号が入力されるまで保持している。トリガ信号発生器（トリガ信号発生手段の一態様）９は、スイッチ入力を検出してカウンタ回路の内容をラッチ回路に保存するための信号を生成している。
【００１２】
第１組のカウンタ＆ラッチ回路１１は、ＣＣＬＫ端子に与えられたクロック信号発生器１０のクロックパルスの立ち上がりで８ビット２進カウンタを＋１する動作を行うため、クロック信号発生器１の周波数を３．０７２ＭＨｚとすると、３２５．５２ｎｓ毎にカウントアップを行い、さらに、このカウントアップを無限に繰り返す。なお、カウンタの値が「２５５」の状態で次のクロックパルスが与えられるとカウンタの値は「０」に戻る［図３（ａ）参照］。
【００１３】
第２組のカウンタ＆ラッチ回路１３は、ＣＣＬＫ端子に与えられたクロック信号発生器１２のクロックパルスの立ち上がりで８ビット２進カウンタを＋１する動作を行うため、クロック信号発生器１２の周波数を４．１ＭＨｚとすると、２４３．９０ｎｓ毎にカウントアップを行い、さらに、このカウントアップを無限に繰り返す。なお、カウンタの値が「２５５」の状態で次のクロックパルスが与えられるとカウンタの値は「０」に戻る［図３（ｂ）参照］。
【００１４】
常時カウントアップされている第１組のカウンタ＆ラッチ回路１１と、第２組のカウンタ＆ラッチ回路１３とで乱数値の合成手段として第１組のカウンタ＆ラッチ回路１１を上位８ビット、第２組のカウンタ＆ラッチ回路１３を下位８ビットとして乱数全体を１６ビットとして合成すると（図４参照）、図５に示すような出現順序と出現間隔時間が得られる。
【００１５】
これにより出現の順序が順番に出現せず、且つ、出現間隔が一定でない乱数が生成される。なお、出現値を全て出現させるためには、クロック信号発生器１０及びクロック信号発生器１２の周波数が互いに公約数を有しない関係を満たしている必要がある。トリガ信号発生器９は、スイッチの入力検出時に発生するため、スイッチが入力された瞬間のカウンタ＆ラッチ回路１１及び１３の値がラッチされて保存され、この値をＣＰＵが乱数値として読み込む。
【００１６】
これによって、例えば、乱数発生装置１で得られた乱数をスロットマシンのスタートレバーの操作時に抽選される入賞か否かの判定に供する値や第１種パチンコ遊技機における始動口入賞に応じて抽選される大当りか否かの判定に供する判定値に使用することで、外部から当選する乱数を推測することが困難にでき、さらに当選する乱数の時間の幅も一定でないため、当りを意図的に狙うことも困難にすることが可能となる。さらに、カウントアップするクロックの周波数を変更するのみで、乱数の出現順序及び出現時間の幅も簡単に変更することが可能となる。
【００１７】
上述した実施形態は、カウンタ＆ラッチ回路１１，１３に与えるクロックを２つの独立したクロック信号発生器１０，１２を設けることによって与えるようにしたが、基準クロック発生回路で発生された基準クロックを基に各組毎に異なる分周比で分周する各組毎に設けられた分周回路とで生成する構成とすることもできる。
【００１８】
図６は、第２実施形態の乱数発生装置１４の具体的な構成を示す回路ブロック図である。一定周波数のクロックを発生する基準クロック発生器と基準クロックを分周させるクロック分周器１６，１７と、それぞれの分周器１６，１７からのクロックを入力しカウントアップ及びトリガ信号発生器９からのトリガ信号を受けてカウンタ値を保持するカウンタ＆ラッチ回路１１，１３と、任意なトリガ信号を発生させるトリガ信号発生器９から構成されている。
【００１９】
基準クロック発生器１５は、水晶発振器又はセラミック発振器等を利用したクロック発生器で連続的にクロックを発生するものである。クロック分周器１６，１７は、基準クロックを任意のクロック信号に分周するもので、例えば、基準クロックの周波数を１１．６４８ＭＨｚ、クロック分周器１６を２５６分周、クロック分周器１７を４５５分周とすると、クロック分周器１６で生成されるクロックは０．０４５５ＭＨｚ、クロック分周器１７で生成されるクロックは０．０２５６ＭＨｚとなる。カウンタ＆ラッチ回路１１，１３は、前述の第１実施形態と同様のものである。
【００２０】
第１組のカウンタ＆ラッチ回路１１は、ＣＣＬＫ端子に与えられたクロックパルスの立ち上がりで８ビット２進カウンタを＋１する動作を行うため、基準クロック発生器１５とクロック分周器１６により入力されるクロックの周波数を０．０４５５ＭＨｚとすると、２１．９８μｓ毎にカウントアップを行い、さらに、このカウントアップを無限に繰り返す。なお、カウンタが「２５５」の状態で次のクロックパルスが与えられるとカウンタは「０」に戻る［図７（ａ）参照］。
【００２１】
第２組のカウンタ＆ラッチ回路１３は、ＣＣＬＫ端子に与えられたクロックパルスの立ち上がりで８ビット２進カウンタを＋１する動作を行うため、基準クロック発生器１５とクロック分周器１７により入力されるクロックの周波数を０．０２５６ＭＨｚとすると、３９．０６μs毎にカウントアップを行い、さらに、このカウントアップを無限に繰り返す。なお、カウンタが「２５５」の状態で次のクロックパルスが与えられるとカウンタは「０」に戻る［図７（ｂ）参照］。
【００２２】
常時カウントアップされている第１組のカウンタ＆ラッチ回路１１と、第２組のカウンタ＆ラッチ回路１３とで乱数値の合成手段としてる第１組のカウンタ＆ラッチ回路１１を上位８ビット、第２組のカウンタ＆ラッチ回路１３を下位８ビットとして乱数全体を１６ビットとして合成すると、図８に示すような出現順序と出現間隔時間が得られる。
【００２３】
これにより出現の順序が順番に出現せず、かつ、出現間隔が一定でない乱数が1つの基準クロックのみで生成される。なお、出現値を全て出現させるためには、クロック分周器１６及び１７の分周比が互いに互いに公約数を有しない関係を満たしている必要がある。トリガ信号発生器９は、スイッチの入力検出時に発生するため、スイッチが入力された瞬間のカウンタ＆ラッチ回路１１及び１３の値がラッチされて保存され、この値をＣＰＵが乱数値として読み込む。
【図面の簡単な説明】
【００２４】
【図１】本発明の実施形態に係る乱数発生装置の概略を示すブロック図
【図２】第１実施形態の乱数発生装置の具体的な構成を示す回路ブロック図
【図３】第１組並びに第２組のカウンタ＆ラッチ回路において生成されるカウント値及びカウント値の生成タイミングを示す図（第１実施形態）
【図４】第１組のカウンタ＆ラッチ回路で生成される値と、第２組のカウンタ＆ラッチ回路で生成される値とを合成して乱数値とすることを示した図
【図５】第１実施形態における乱数値の出現順序と出現間隔時間を表形式で示す図
【図６】第２実施形態の乱数発生装置の具体的な構成を示す回路ブロック図
【図７】第１組並びに第２組のカウンタ＆ラッチ回路において生成されるカウント値及びカウント値の生成タイミングを示す図（第２実施形態）
【図８】第２実施形態における乱数値の出現順序と出現間隔時間を表形式で示す図
【符号の説明】
【００２５】
１  乱数発生装置（第１実施形態）
２  クロック信号発生器（クロック信号発生回路）
３  カウンタ回路
４  ラッチ回路
５  クロック信号発生器（クロック信号発生回路）
６  カウンタ回路
７  ラッチ回路
８  ＣＰＵ
９  トリガ信号発生器（トリガ信号発生手段）
１０  クロック信号発生器
１１  カウンタ＆ラッチ回路
１２  クロック信号発生器
１３  カウンタ＆ラッチ回路
１４  乱数発生装置（第２実施形態）
１５  基準クロック発生器（基準クロック発生回路）
１６  クロック分周器
１７  クロック分周器
【図１】
2005066127.tif 000003
【図２】
2005066127.tif 000004
【図３】
2005066127.tif 000005
【図４】
2005066127.tif 000006
【図５】
2005066127.tif 000007
【図６】
2005066127.tif 000008
【図７】
2005066127.tif 000009
【図８】
2005066127.tif 000010