(57)【要約】【課題】余分なハードウェア回路やプログラム処理を実行するためのプログラムを組む作業が不要となる遊技機用の半導体チップを提供する。【解決手段】半導体チップ内に設けられたフィルタ回路は、サンプリングクロックに基づいて前記半導体チップへの入力信号をサンプリングするとともに、入力信号の状態が遷移した時点から前記サンプル数をカウントし、前記カウント数が一定数を超えたときに遷移後のレベルを示す信号を半導体チップ内の入力ポートに出力する。【選択図】図１
2015100411.tif 000002
【特許請求の範囲】
【請求項１】
遊技機用の半導体チップであって、
前記半導体チップ内に設けられたフィルタ回路を備え、前記フィルタ回路は、サンプリングクロックに基づいて前記半導体チップへの入力信号をサンプリングするとともに、前記入力信号の状態が遷移した時点から前記サンプル数をカウントし、前記カウント数が一定数を超えたときに遷移後のレベルを示す信号を前記半導体チップ内の入力ポートに出力することを特徴とする半導体チップ。
【請求項２】
さらに、前記半導体チップ内にカウント数設定回路を備え、当該カウント数設定回路によって、前記一定数をユーザプログラムからの指示により変更可能としたことを特徴とする請求項１に記載の半導体チップ。
【請求項３】
さらに、前記半導体チップ内のカウント数設定回路が、サンプリングする入力信号のレベル（ハイ（Ｈ）又はロー（Ｌ））をユーザプログラムからの指示により変更可能としたことを特徴とする請求項１又は２に記載の半導体チップ。
【請求項４】
さらに、前記半導体チップ内にプリスケーラを備え、前記サンプリングクロックは、当該プリスケーラによって別のクロックを分周することによって得られるようにされており、かつ、前記プリスケーラによって分周される分周の回数をユーザプログラムからの指示により変更可能としたことを特徴とする請求項１から３のうちいずれか一項に記載の半導体チップ。
【請求項５】
サンプリングクロック間隔及びサンプリングのカウント数設定値をユーザＲＯＭ３４のプログラム管理エリアに書き込むことによって、ユーザプログラムに関係なくブートプログラム実行時で設定すること特徴とする請求項１から４のうちいずれか一項に記載の半導体チップ。
【請求項６】
請求項１から５のいずれか一項に記載の半導体チップを実装したことを特徴とする遊技機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力ポートにおいてチャタリングによる影響を防止する機能を備えた遊技機用の半導体チップ及びこれを実装した遊技機に関する。
【背景技術】
【０００２】
遊技機では、各種入賞口に入賞センサが設置されており、この入賞センサが通過する球又はメダルを検知することにより、搭載されたマイコンが入賞を判定して遊技の抽選を行っている。しかしながら、入賞センサからマイコンへ入力される信号は、ロー（Ｌ）からハイ（Ｈ）へ、又はハイ（Ｈ）からロー（Ｌ）へレベルが遷移するときに、一度で遷移が完了せずに短期間ハイ（Ｈ）、ロー（Ｌ）の状態を繰り返してから最終レベルに落ち着く、いわゆるチャタリングが発生することが多い。また、入賞センサだけでなく、扉開閉センサ又は磁気センサからの信号にもチャタリングが発生することがある。
【０００３】
このようなチャタリングを放置しておくと、マイコン等の誤動作の原因にもなるので、チャタリングによって誤動作が生じないように、時定数回路やヒステリシス回路を付加したり、あるいはプログラム処理でチャタリングのチェック等を行うことが知られている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記のように時定数回路やヒステリシス回路を付加すると、余分なハードウェア回路が必要となり、また、プログラム処理を実行するためには、予めそのためのプログラムを組む作業が必要となる。
【０００５】
そこで、このような課題を解決することができる遊技機用の半導体チップを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の遊技機用の半導体チップは、前記半導体チップ内に設けられたフィルタ回路を備え、前記フィルタ回路は、サンプリングクロックに基づいて前記半導体チップへの入力信号をサンプリングするとともに、前記入力信号の状態が遷移した時点から前記サンプル数をカウントし、前記カウント数が一定数を超えたときに遷移後のレベルを示す信号を前記半導体チップ内の入力ポートに出力することを特徴とする。
【０００７】
さらに、前記半導体チップ内にカウント数設定回路を備え、当該カウント数設定回路によって、前記一定数を外部からの指示により変更可能としたことを特徴とする。
【０００８】
さらに、前記半導体チップ内のカウント数設定回路が、サンプリングする入力信号のレベル（ハイ（Ｈ）又はロー（Ｌ））を外部からの指示により変更可能としたことを特徴とする。
【０００９】
さらに、前記半導体チップ内にプリスケーラを備え、前記サンプリングクロックは、当該プリスケーラによって別のクロックを分周することによって得られるようにされており、かつ、前記プリスケーラによって分周の回数を可変としたことを特徴とする。
【００１０】
本発明の遊技機は、前記いずれかの半導体チップを実装したことを特徴とする。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施の一形態に係る遊技機用の半導体チップ１０の関連部分のブロック図である。
【図２】半導体チップ１０に入力されるデジタル信号のレベルが遷移する信号に生じるチャタリングの様子を模式的に示した図である。
【発明を実施するための形態】
【００１２】
図１は、本発明の実施の一形態に係る遊技機用の半導体チップ１０の関連部分のブロック図である。図１に示すように、半導体チップ１０の内部には、ＣＰＵコア１２、フィルタ１４、データ入力ポート１６、カウント数設定回路１８、プリスケーラ２０、ブートＲＯＭ３２、ユーザＲＯＭ３４、ユーザＲＡＭ３６が設けられている。そして、カウント数設定回路１８、プリスケーラ２０、ブートＲＯＭ３２、ユーザＲＯＭ３４、ユーザＲＡＭ３６は、ＣＰＵコア１２につながるバス３０に接続されている。
【００１３】
図２は、半導体チップ１０に入力されるデジタル信号のレベルが遷移する信号に生じるチャタリングの様子を模式的に示した図であり、同図（Ａ）は入力信号のレベルがハイ（Ｈ）からロー（Ｌ）へ遷移する場合、（Ｂ）はロー（Ｌ）からハイ（Ｈ）へ遷移する場合を模式的に示している。図２（Ａ）、（Ｂ）に示すように、入力信号のレベルが遷移する場合には、しばらくの期間、ハイ（Ｈ）、ロー（Ｌ）を繰り返す、いわゆるチャタリングが生じることがある。このようなチャタリングをそのままにしておくとマイコン等の誤動作の原因となる。
【００１４】
図２（Ｃ）に、同図（Ａ）及び（Ｂ）の入力信号をサンプリングするためのサンプリングクロック（ＳＣＬＫ）を示す。サンプリングクロックは、一例として、外部からのシステムクロックをプリスケーラ２０によって所望の周期となるよう分周することによって得られる。そして、フィルタ１４は、このサンプリングクロックがハイ（Ｈ）又はロー（Ｌ）になるタイミングで、所定の閾値に基づいて入力信号のサンプリングを行う。すなわちサンプリングクロックがハイ（Ｈ）又はロー（Ｌ）になるタイミングで、入力信号がハイ（Ｈ）かロー（Ｌ）かを調べる。
【００１５】
前述のように、入力信号が遷移するときに図２（Ａ）、（Ｂ）に示すようなチャタリングが発生すると、それに応じて、サンプリングされたレベルもハイ（Ｈ）になったりロー（Ｌ）になったりして一定期間不安定になる。そこで、図１に示したフィルタ１４は、サンプリングされた値がハイ（Ｈ）からロー（Ｌ）、又はロー（Ｌ）からハイ（Ｈ）へ遷移したときは、遷移した時点からその同一レベルのサンプル数をカウントする。そしてこのカウント値が予め決めてある一定数を超えた場合には、遷移後のレベルが確定したとして、そのレベルをデータ入力ポート１６に出力する。上記一定数は、ユーザプログラムの設定によりカウント数設定回路１８によって任意に変えることができる。この一定数が少なすぎると、チャタリングの影響を十分に排除できず、また、この一定数が多すぎるとデータ入力ポート１６への出力が遅延することになるので、実際に半導体チップ１０を使用する状況を考慮して、カウント数設定回路１８によって適切な値を設定することができる。
【００１６】
前記入力信号の性質から、チャタリングが発生するのがハイ（Ｈ）からロー（Ｌ）に遷移する場合だけ、あるいは逆にロー（Ｌ）からハイ（Ｈ）に遷移する場合だけということもありうる。そのような場合には、チャタリングが発生する方向の遷移だけについて、フィルタ１４によるフィルタリング処理を行うように設定することができる。また、プリスケーラ２０は、システムクロックを分周する回数を可変とすることによって、サンプリングクロックの周期、すなわちサンプリング間隔をユーザプログラムの設定により設定可能とすることもできる。また、ＣＰＵコアの割り込み入力がある場合に、フィルタ１４によってチャタリングの影響を抑えた信号を供給することにより、割り込み動作の誤動作を抑えることも可能となる。
【００１７】
上記のように、カウント数設定値及びプリスケーラのサンプリング間隔をＣＰＵコア１２によりユーザＲＯＭに格納されたユーザプログラムによって設定するようにできる。
【００１８】
また、半導体チップ１０がいわゆるセキュリティチップである場合には、ブートＲＯＭ３２のブートプログラムによりユーザＲＯＭ３４内のユーザプログラムをハッシュ関数等で再計算を行い、あらかじめハッシュ関数の計算値としてユーザＲＯＭに格納してあるセキュリティコードと比較するセキュリティチェックを行う。そして、一致していれば、ユーザＲＯＭのプログラム管理エリアに設定した初期設定値を参照して初期設定を行い、ユーザＲＯＭ内のユーザプログラムを実行する。一方、セキュリティチェックの結果不一致であれば、チップの動作を停止する。ユーザＲＯＭ３４のプログラム管理エリアは、セキュリティコードやユーザ設定のデータなどが格納されたエリアであるが、ここにカウント数設定値及びサンプリング間隔を予め設定しておけば、ブートプログラム実行時にユーザプログラムに関係なく設定するようにすることもできる。すなわち、ブートＲＯＭ３２内のブートプラグラムは、半導体チップ１０のイニシャライズ及びセキュリティチェックを実行するが、この実行後にプリスケーラのサンプリング間隔及びカウント数設定値をユーザＲＯＭのプログラム管理エリアより読み込み、設定を行い、ユーザプログラムに実行を移す。
【００１９】
以上のようなフィルタ１４を半導体チップ１０の内部に設けることにより、半導体チップの外部に余分なハードウェア回路を設けることが不要となり、また、ハードウェア的にチャタリングを防止できるため、プログラム処理の場合のように予めそのためのプログラムを組む作業が不要となる。
【符号の説明】
【００２０】
１０  半導体チップ
１２  ＣＰＵコア
１４  フィルタ
１６  データ入力ポート
１８  カウント数設定回路
２０  プリスケーラ
３０  バス
３２  ブートＲＯＭ
３４  ユーザＲＯＭ
３６  ユーザＲＡＭ
【図１】
2015100411.tif 000003
【図２】
2015100411.tif 000004