(第1の実施形態)
以下、本発明の第1の実施形態について、図1〜図27を参照して説明する。
図1は、本発明の第1の実施形態の遊技機1の説明図である。
遊技機1の前面枠(遊技枠)3は本体枠(外枠)2にヒンジ4を介して、遊技機1の前面に開閉回動可能に組み付けられる。前面枠3の表側には、遊技盤10(図2参照)が収装される。また、前面枠3には、遊技盤10の前面を覆うカバーガラス(透明部材)を備えたガラス枠18が取り付けられている。
ガラス枠18のカバーガラスの周囲には、装飾光が発光される装飾部材9が備えられている。この装飾部材9の内部にはランプやLED等からなる装飾装置620(図4参照)が備えられている。この装飾装置620を所定の発光態様によって発光することによって、装飾部材9が所定の発光態様によって発光する。
ガラス枠18の左右には、音響(例えば、効果音)を発するスピーカ30が備えられている。また、ガラス枠18の上方には照明ユニット11が備えられている。照明ユニット11の内部には、前述した装飾装置620が備えられている。
照明ユニット11の右側には、遊技機1において異常が発生したことを報知するための異常報知LED29が備えられている。
前面枠3の下部の開閉パネル20には図示しない打球発射装置に遊技球を供給する上皿21が、固定パネル22には灰皿15、下皿23及び打球発射装置の操作部24等が備えられる。下皿23には、下皿23に貯まった遊技球を排出するための下皿球抜き機構16が備えられる。前面枠3下部右側には、ガラス枠18を施錠するための鍵25が備えられている。
また、遊技者が操作部24を回動操作することによって、打球発射装置は、上皿21から供給される遊技球を発射する。
また、上皿21の上縁部には、遊技者からの操作入力を受け付けるための演出ボタン17が備えられている。
遊技者が演出ボタン17を操作することによって、遊技盤10に設けられた表示装置53(図2参照)における特図変動表示ゲームの演出内容を選択して、表示装置53における特図変動表示ゲームに、遊技者の操作を介入させた演出を行うことができる。
なお、特図変動表示ゲームは、発射された遊技球が遊技盤10に備わる第1始動入賞口45(図2参照)又は普通変動入賞装置36(図2参照)の第2始動入賞口に入賞した場合に開始される。特図変動表示ゲームでは、表示装置53において複数の識別情報が変動表示する。そして、変動表示していた識別情報が停止し、停止した識別情報の結果態様が特定の結果態様である場合に、遊技機1の状態が遊技者に有利な状態(特典が付与される状態)である特別遊技状態に遷移する。
上皿21の右上部には、遊技者が遊技球を借りる場合に操作する球貸ボタン26、及び、図示しないカードユニットからプリペイドカードを排出させるために操作される排出ボタン27が設けられている。これらのボタン26、27の間には、プリペイドカードの残高を表示する残高表示部28が設けられる。
図2は、本発明の第1の実施形態の遊技盤10の正面図である。
図1に示す遊技機1は、内部の遊技領域10a内に遊技球を発射して(弾球して)遊技を行うもので、ガラス枠18のカバーガラスの奥側には、遊技領域10aを構成する遊技盤10が設置されている。
遊技盤10は、各種部材の取付ベースとなる平板状の遊技盤本体10b(木製又は合成樹脂製)を備え、該遊技盤本体10bの前面にガイドレール32で囲まれた遊技領域10aを有している。また、遊技盤本体10bの前面であってガイドレール32の外側には、前面構成部材33、33、…が取り付けられている。そして、このガイドレール32で囲まれた遊技領域10a内に発射装置から遊技球(打球;遊技媒体)を発射して遊技を行うようになっている。
遊技領域10aの略中央には、特図変動表示ゲームの表示領域となる窓部52を形成するセンターケース51が取り付けられている。このセンターケース51に形成された窓部52の後方には、複数の識別情報を変動表示する特図変動表示ゲームの演出を実行可能な演出表示装置としての表示装置53が配されるようになっている。この表示装置53は、例えば、液晶ディスプレイを備え、表示内容が変化可能な表示部53aがセンターケース51の窓部52を介して遊技盤10の前面側から視認可能となるように配されている。なお、表示装置53は、液晶ディスプレイを備えるものに限らず、EL、CRT等のディスプレイを備えるものであってもよい。
センターケース51の窓部52の上端付近には、遊技状態に基づいて動作可能な可動役物60が取り付けられる。
また、遊技盤10には、普図始動ゲート34と、普図変動表示ゲームの未処理回数を表示する普図記憶表示器47、普図変動表示ゲームを表示する普図表示器35が設けられている。また、遊技領域10a内には、第1の始動入賞領域をなす第1始動入賞口45と、第2の始動入賞領域をなす第2始動入賞口を有する普通変動入賞装置36と、が設けられている。そして、遊技球が第1始動入賞口45に入賞した場合は、補助遊技として第1特図変動表示ゲームが実行され、遊技球が普通変動入賞装置36に入賞した場合は、補助遊技として第2特図変動表示ゲームが実行されるようになっている。
また、遊技盤10には、第1特図変動表示ゲームを表示する第1特図表示器38と、第2特図変動表示ゲームを表示する第2特図表示器39と、が設けられている。また、第1特図変動表示ゲームの未処理回数(第1特図始動記憶)を表示する第1特図記憶表示器48と、第2特図変動表示ゲームの未処理回数(第2特図始動記憶)を表示する第2特図記憶表示器49が設けられている。なお、普図記憶表示器47、普図表示器35、第1特図表示器38、第2特図表示器39、第1特図記憶表示器48、第2特図記憶表示器49は、遊技状態を表す遊技状態表示LED(図示略)と併せて、セグメントLEDとして一体に設けられている。
さらに遊技領域10aには、上端側が手前側に倒れる方向に回動して開放可能になっているアタッカ形式の開閉扉42aを有し、第1特図変動表示ゲーム、第2特図変動表示ゲームの結果如何によって大入賞口を閉じた状態(遊技者にとって不利な状態)から開放状態(遊技者にとって有利な状態)に変換する特別変動入賞装置42、入賞口などに入賞しなかった遊技球を回収するアウト穴43が設けられている。この他、遊技領域10aには、一般入賞口44、44、…、打球方向変換部材としての風車46、多数の障害釘(図示略)などが配設されている。
普図始動ゲート34内には、該普図始動ゲート34を通過した遊技球を検出するためのゲートSW34a(図3参照)が設けられている。そして、遊技領域10a内に打ち込まれた遊技球が普図始動ゲート34内を通過すると、普図変動表示ゲームが行われる。
また、普図変動表示ゲームを開始できない状態中に、普図始動ゲート34を遊技球が通過すると、普図始動記憶数が上限数未満であるならば、普図始動記憶数が1加算されて、当該普図変動表示ゲームが当りとなるか否かを示す乱数が普図始動記憶として一つ記憶される。
普図変動表示ゲームが開始できない状態とは、例えば、普図変動表示ゲームが既に行われ、その普図変動表示ゲームが終了していない状態や、普図変動表示ゲームが当って普通変動入賞装置36が開状態に変換されている状態のことをいう。
なお、普図変動表示ゲームの始動記憶数は、LEDを備える普図記憶表示器47にて表示される。
普図変動表示ゲームは、遊技盤10に設けられた普図表示器35で実行されるようになっている。なお、表示装置53の表示領域の一部で普図変動表示ゲームを表示するようにしてもよく、この場合は識別図柄として、例えば、数字、記号、キャラクタ図柄などを用い、この識別図柄を所定時間変動表示させた後、停止表示させることにより行うようにする。
この普図変動表示ゲームの停止表示が特別の結果態様となれば、普図変動表示ゲームが当りとなって、普通変動入賞装置36の開閉部材36a、36aが所定時間(例えば、0.5秒間)開放される。これにより、普通変動入賞装置36に遊技球が入賞しやすくなり、第2特図変動表示ゲームの始動が容易となる。
普通変動入賞装置36は左右一対の開閉部材36a、36aを具備し、第1始動入賞口45の下部に配設される。この開閉部材36a、36aは、常時は遊技球の直径程度の間隔をおいて閉じた状態(遊技者にとって不利な状態)を保持しているが、普図変動表示ゲームの結果が所定の停止表示態様となった場合(普図変動表示ゲームが当りとなった場合)には、駆動装置としてのソレノイド(普電SOL36b、図3参照)によって、逆「ハ」の字状に開いて普通変動入賞装置36に遊技球が流入し易い状態(遊技者にとって有利な状態)に変化させられるようになっている。
また、本実施形態の遊技機1は、特図変動表示ゲームの結果態様に基づき、遊技状態として、表示装置53における特図変動表示ゲームの変動表示時間を短縮する時短動作状態(第2動作状態)を発生可能となっている。この時短動作状態(第2動作状態)は、普通変動入賞装置36の動作状態が、通常動作状態(第1動作状態)に比べて開放状態となりやすい状態である。
この時短動作状態においては、上述の普図変動表示ゲームの実行時間が、通常動作状態における長い実行時間よりも短くなるように制御され(例えば、10秒が1秒)、これにより、単位時間当りの普通変動入賞装置36の開放回数が実質的に多くなるように制御される。また、時短動作状態においては、普図変動表示ゲームが当り結果となって普通変動入賞装置36が開放される場合に、開放時間が通常動作状態の短い開放時間より長くされるように制御される(例えば、0.3秒が1.8秒)。また、時短動作状態においては、普図変動表示ゲームの1回の当り結果に対して、普通変動入賞装置36が1回ではなく、複数回(例えば、2回)開放される。さらに、時短動作状態においては普図変動表示ゲームの当り結果となる確率が通常動作状態より高くなるように制御される。すなわち、通常動作状態よりも普通変動入賞装置36の開放回数が増加され、普通変動入賞装置36に遊技球が入賞しやすくなり、第2特図変動表示ゲームの始動が容易となる。
第1始動入賞口45の内部には第1始動口SW45a(図3参照)が備えられ、この第1始動口SW45aによって遊技球を検出することに基づき、補助遊技としての第1特図変動表示ゲームを開始する始動権利が発生するようになっている。また、普通変動入賞装置36の内部には第2始動口SW36d(図3参照)が備えられ、この第2始動口SW36dによって遊技球を検出することに基づき、補助遊技としての第2特図変動表示ゲームを開始する始動権利が発生するようになっている。
この第1特図変動表示ゲームを開始する始動権利は、所定の上限数(例えば4)の範囲内で第1始動記憶(特図1始動記憶)として記憶される。そして、この第1始動記憶数は、第1特図記憶表示器48に表示される。また、第2特図変動表示ゲームを開始する始動権利は、所定の上限数(例えば4)の範囲内で第2始動記憶(特図2始動記憶)として記憶される。そして、この第2始動記憶数は、第2特図記憶表示器49にて表示される。
そして、第1特図変動表示ゲームが開始可能な状態(第1始動記憶数及び第2始動記憶数が0の状態)で、第1始動入賞口45に遊技球が入賞すると、始動権利の発生に伴って抽出された乱数が第1始動記憶として記憶されて、第1始動記憶数が1加算されるととともに、直ちに第1始動記憶に基づいて、第1特図変動表示ゲームが開始され、この際に第1始動記憶数が1減算される。
また、第2特図変動表示ゲームは第1特図変動表示ゲームよりも優先して実行されるため、第1始動記憶数が0でなくても、第2始動記憶数が0であれば、第2始動入賞口をなす普通変動入賞装置36に遊技球が入賞すると、始動権利の発生に伴って抽出された乱数が第2始動記憶として記憶されて、第2始動記憶数が1加算されるととともに、実行中の第1特図変動表示ゲームが終了後直ちに第2始動記憶に基づいて、第2特図変動表示ゲームが開始され、この際に第2始動記憶数が1減算される。
一方、第1特図変動表示ゲーム又は第2特図変動表示ゲームが直ちに開始できない状態、例えば、既に第1特図変動表示ゲーム又は第2特図変動表示ゲームが行われ、その特図変動表示ゲームが終了していない状態や、特別遊技状態となっている場合に、第1始動入賞口45に遊技球が入賞すると、第1始動記憶数が上限数未満(例えば、4個未満)ならば、第1始動記憶数が1加算されて、第1始動入賞口45に遊技球が入賞したタイミングで抽出された乱数が第1始動記憶として一つ記憶される。
同様に、この場合に第2始動入賞口をなす普通変動入賞装置36に遊技球が入賞すると、第2始動記憶数が上限数未満(例えば、4個未満)ならば、第2始動記憶数が1加算されて、第2始動入賞口に遊技球が入賞したタイミングで抽出された乱数が第2始動記憶として一つ記憶される。
そして、第1特図変動表示ゲーム又は第2特図変動表示ゲームが開始可能な状態となると、第1始動記憶又は第2始動記憶に基づき第1特図変動表示ゲーム又は第2特図変動表示ゲームが開始される。このとき、第1特図変動表示ゲームと第2特図変動表示ゲームは同時に実行されることはなく、第2特図変動表示ゲームが第1特図変動表示ゲームよりも優先して実行されるようになっている。
すなわち、第1始動記憶と第2始動記憶がある場合には、第2特図変動表示ゲームが実行される。
補助遊技としての第1特図変動表示ゲーム、第2特図変動表示ゲームは、遊技盤10に設けられた第1特図表示器38、第2特図表示器39で実行されるようになっており、複数の識別情報を変動表示したのち、所定の結果態様を停止表示することで行われる。また、表示装置53にて各特図変動表示ゲームに対応して複数種類の識別情報(例えば、数字、記号、キャラクタ図柄など)を変動表示させる特図変動表示ゲームが実行される。そして、この特図変動表示ゲームの結果として、第1特図表示器38又は第2特図表示器39の表示態様が特別結果態様となった場合には、大当たりとなって特別遊技状態(いわゆる、大当たり状態)となる。また、これに対応して表示装置53の表示態様も特別結果態様(例えば、「7,7,7」等のゾロ目数字の何れか)となる。なお、遊技機に第1特図表示器38、第2特図表示器39を備えずに、表示装置53のみで特図変動表示ゲームを実行するようにしてもよい。
また、本実施形態の遊技機1は、特図変動表示ゲームの結果態様に基づき、遊技状態として確変状態(第2確率状態)を発生可能となっている。この確変状態(第2確率状態)は、特図変動表示ゲームでの当り結果となる確率が、通常確率状態(第1確率状態)に比べて高い状態である。なお、第1特図変動表示ゲームと第2特図変動表示ゲームのどちらの特図変動表示ゲームの結果態様に基づき確変状態となっても、第1特図変動表示ゲーム及び第2特図変動表示ゲームの両方が確変状態となる。また、確変状態と上述した時短動作状態はそれぞれ独立して発生可能であり、両方を同時に発生することも可能であるし、一方のみを発生させることも可能である。
図3は、本発明の第1の実施形態の遊技機1の構成を示すブロック図である。
遊技機1は、遊技を統括的に制御する遊技制御装置500、各種演出を行うために表示装置53及びスピーカ30等を制御する演出制御装置550、遊技球を払い出すために図示しない払出モータを制御する払出制御装置580を備える。
まず、遊技制御装置500について説明する。図4では、演出制御装置550について説明する。
遊技制御装置500は、遊技用マイコン501、入力I/F(Interface)505、出力I/F(Interface)506、及び外部通信端子507を備える。
遊技用マイコン501は、CPU502、ROM(Read Only Memory)503及びRAM(Random Access Memory)504を備える。
CPU502は、遊技を統括的に制御する主制御装置であって、遊技制御を司る。ROM503は、遊技制御のための不変の情報(プログラム、データ等)を記憶している。RAM504は、遊技制御時にワークエリアとして利用される。
外部通信端子507は、遊技制御装置500の設定情報等を検査する検査装置等の外部機器に遊技制御装置500を接続する。
CPU502は、入力I/F505を介して各種入力装置(第1始動口SW45a、第2始動口SW36d、一般入賞口SW44a、ゲートSW34a、カウントSW42d、ガラス枠開放SW18a、前面枠開放SW3a、球切れSW54、振動センサ55、及び磁気センサ56)からの検出信号を受けて、大当り抽選等、種々の処理を行う。
第1始動口SW45aは、第1始動入賞口45に遊技球が入賞したことを検出するスイッチである。第2始動口SW36dは、普通変動入賞装置36の第2始動入賞口に遊技球が入賞したことを検出するスイッチである。
一般入賞口SWa44a〜44nは、一般入賞口44に遊技球が入賞したことを検出するスイッチである。ゲートSW34aは、普図始動ゲート34を遊技球が通過したことを検出するスイッチである。
カウントSW42dは、特別変動入賞装置42の大入賞口に遊技球が入賞したことを検出するスイッチである。
ガラス枠開放SW18aは、ガラス枠18が開放されたことを検出するスイッチである。前面枠開放SW3aは、前面枠3が開放されたことを検出するスイッチである。
球切れSW54は、遊技機1の内部に貯留され、払い出しに用いられる遊技球の数が所定数以下になったことを検出するスイッチである。
振動センサ55は、遊技機1に与えられた振動を検出するセンサであり、遊技機1に振動を与えて、不当に遊技球を獲得する不正を検出する。磁気センサ56は、第1始動入賞口45、普通変動入賞装置36の第2始動入賞口、一般入賞口44、特別変動入賞装置42の大入賞口、及び普図始動ゲート34付近に設けられ、磁力を検出するセンサである。磁気センサ93は、各入賞口付近に磁石を近づけて、遊技領域10aに発射された遊技球を各入賞口に導く不正を検出する。
また、CPU502は、出力I/F506を介して、第1特図表示器38、第1特図記憶表示器48、第2特図表示器39、第2特図記憶表示器49、普図表示器35、普電SOL36b、大入賞口SOL42b、払出制御装置580、及び演出制御装置550に指令信号を送信して、遊技を統括的に制御する。
第1特図表示器38には、第1始動入賞口45に遊技球が入賞した場合に補助遊技として実行される第1特図変動表示ゲームが表示される。第1特図記憶表示器48には、所定の上限数の範囲内で記憶される第1特図変動表示ゲームを開始する始動権利である第1始動記憶数が表示される。
第2特図表示器39には、普通変動入賞装置36の大入賞口に遊技球が入賞した場合に補助遊技として実行される第2特図変動表示ゲームが表示される。第2特図記憶表示器49には、所定の上限数の範囲内で記憶される第2特図変動表示ゲームを開始する始動権利である第2始動記憶数が表示される。
普図表示器35には、遊技球が普図始動ゲート34を通過した場合に行われる普図変動表示ゲームが表示される。
普電SOL36bは、普図表示器35で実行される普図変動表示ゲームの停止表示が特別の結果態様となった場合に、開閉部材36a、36aを開放し、普通変動入賞装置36の第2始動入賞口を遊技球が入賞しやすい状態にする。
大入賞口SOL42bは、第1特図変動表示ゲーム又は第2特図変動表示ゲームの結果が特別の結果態様となり、特別遊技状態となった場合に、特別変動入賞装置42の開閉扉42aを開放して、大入賞口を遊技球が入賞しやすい状態に変換する。
また、遊技制御装置500は、遊技機データを、外部情報端子508を介して、図示しない情報収集端末装置を介して、図示しない遊技場管理装置に出力する。遊技場管理装置は、遊技場に設置された遊技機1の遊技データを収集管理する計算機である。
また、払出制御装置580は、遊技球が一般入賞口44又は大入賞口に入賞した場合に、入賞した入賞口に対応する数の遊技球の払い出し、又は球貸ボタン26が操作された場合に、所定数の遊技球の払い出しを行う払出指令を遊技制御装置500から受信した場合に、受信した払出指令に基づいて、図示しない払出モータを制御する。なお、払出指令には、払い出す遊技球の数が含まれる。
遊技制御装置500は、変動開始コマンド、客待ちデモコマンド、ファンファーレコマンド、確率情報コマンド、及びエラー指定コマンド等を、遊技の状況を示す遊技データとして、出力I/F506を介して、演出制御装置550へ送信する。
図4は、本発明の第1の実施形態の演出制御装置550の構成を示すブロック図である。
演出制御装置550は、遊技制御装置500から入力される遊技データに基づいて、演出内容を決定して、表示装置53、及びスピーカ30を制御するとともに、装飾制御装置610を介して装飾装置620、役物駆動SOL560(ソレノイド)、及び役物駆動MOT(モータ)561を制御する。詳細は後述するが、これら装飾装置620、役物駆動SOL560、及び役物駆動MOT561(総称して演出装置という)によって、遊技の演出が行われる。また、演出制御装置550は、演出ボタン17から当該演出ボタン17が操作されたことを示す信号が入力される。
演出制御装置550は、CPU551、制御ROM552、RAM553、画像ROM554、音ROM555、VDP556、音LSI557、入出力I/F558、電源投入検出回路559、マスタIC570、及びNORゲート回路590を備える。
CPU551は、遊技制御装置500に接続され、遊技制御装置500から指令信号が割込信号(INT)として入力され、入力された指令信号に基づいて、各種演出を制御する主制御装置である。また、CPU551には、マスタIC570の後述するコントローラ574から割込信号が入力されるとともに、VDP556から割込信号が入力される。
なお、CPU551に割込信号が入力されると、CPU551は、現在実行中の処理を中断して、入力された割込信号に対応する処理を実行する。
制御ROM552には、演出制御のための不変の情報(プログラム、データ等)が格納されている。RAM553は、演出制御時にワークエリアとして利用される。
画像ROM554には、表示装置53に表示される画像データが格納され、画像ROM554はVDP556に接続されている。音ROM555には、スピーカ30から出力される音データが格納され、音ROM555は音LSI557に接続されている。
VDP556は、表示装置53への画像出力を制御するプロセッサである。音LSI557は、スピーカ30からの音声出力を制御する回路である。
なお、VDP556は、表示装置53に表示される画像を更新する周期(33ms周期)と同期する同期信号を発生させる同期信号発生手段を備える。同期信号発生手段は、同期信号を発生させるごとに、発生させた同期信号をCPU551に割込信号として入力する。
入出力I/F558は、演出ボタン17及びNORゲート回路590に接続されるインタフェースであり、演出ボタン17からの操作信号をCPU551へ伝達するとともに、CPU551からのリセット信号をNORゲート回路590へ伝達する。
なお、演出ボタン17は、上皿21の上縁部に設けられ、表示装置53で実行される第1特図変動表示ゲーム又は第2特図変動表示ゲームにおける演出で、遊技者によって操作される。
CPU551、VDP556、RAM553、制御ROM552、音LSI557、及び入出力I/F558はバス563を介してそれぞれ接続されている。
電源投入検出回路559は、演出制御装置550に電源が投入された場合に、マスタIC570の図示しないレジスタをデフォルト状態(すべて0)に初期化するリセット信号を発生させ、発生させたリセット信号をNORゲート回路590へ出力する。
また、CPU551は、所定の条件が成立した場合に、リセット信号をバス563を介して入出力I/F558に出力し、入出力I/F558は入力されたリセット信号をNORゲート回路590へ出力する。
なお、電源投入検出回路559からNORゲート回路590へ入力されるリセット信号、及びCPU551から入出力I/F558を介してNORゲート回路590へ入力されるリセット信号は、いずれの場合にもロウレベルの状態である場合にリセットを指令する信号として機能する。そのため、電源投入検出回路559及びCPU551の少なくとも一方からNORゲート回路590にリセット信号が出力されていれば、NORゲート回路590を介してリセット信号がマスタIC570に入力される。
次に、マスタIC570について説明する。
マスタIC570は、制御対象となる演出装置の装飾制御装置610のアドレスを指定して、指定したアドレスの装飾制御装置610に演出装置の制御内容を出力する。
マスタIC570は、接続線Vcc、接続線Vact、接続線SDA、接続線SCL、及び接続線GND(図5参照)の5本の接続線を介して、中継基板(装飾制御装置)600に接続される。
接続線Vccは、中継基板600及び装飾制御装置610に、ロジック用の電源を供給するための接続線である。接続線Vactは、演出装置を駆動させるための電源(例えば、LEDを発光させるための電源)を供給するための接続線である。接続線SDAは、演出制御装置550と装飾制御装置610との間でデータを通信するための接続線であり、本実施形態におけるデータ線として機能する。接続線SCLは、接続線SDAでのデータ通信に用いられるクロック信号を入出力するための接続線であり、本実施形態におけるタイミング信号線として機能する。図5に示す接続線GNDは、接続線Vcc及び接続線Vactで供給される電源のグランドである。
中継基板600と装飾制御装置610との間は、マスタIC570と中継基板600との間と同じく、接続線Vcc、接続線Vact、接続線SDA、接続線SCL、及び接続線GNDを介して接続される。
マスタIC570と装飾制御装置610とは、接続線SDA及び接続SCLによって2ライン双方向通信を行う。
マスタIC570は、中継基板600及び装飾制御装置610にデータを送信する場合には、まず、接続線SCLの信号レベルをHIGHに維持したまま、接続線SDAの信号レベルをHIGHからLOWに変化させることにより、装飾制御装置610へのデータ出力を開始するためのスタート条件を成立させる(装飾制御装置610に対してスタートコンディションを発行する)。
この後、マスタIC570は、接続線SCLの信号レベルをLOWに変更し、接続線SCLの信号レベルがLOWである間に接続線SDAの信号レベルを送信データの最初のビットのレベルに設定し、所定時間後に接続線SCLの信号レベルをLOWからHIGHに変化させる。接続線SCLの信号レベルがHIGHに変化すると、装飾制御装置610は接続線SDAの信号レベルを取り込んで、送信データの最初のビットとして認識する。次いで、マスタIC570は、接続線SCLの信号レベルをHIGHからLOWに戻す。
この手順を1回実行すると、マスタIC570から装飾制御装置610へ1ビットのデータが送信され、最終的にはこの手順が8回繰り返されることで、送信データの8ビット全てがマスタIC570から装飾制御装置610へ送信される(1バイト分のデータが送信される)。
そして、マスタIC570は、最後の8ビット目のデータを送信し終えて、接続線SCLの信号レベルをHIGHからLOWに戻した際に、接続線SDAを解放して装飾制御装置610からの返答信号を受信することを待機する受信待機状態にする。
受信待機状態になると、装飾制御装置610は、接続線SDAを介して1ビットの返答信号(後述するACK又はNACK)をマスタIC570に返す。次いで、マスタIC570は、接続線SCLの信号レベルをLOWからHIGHに変化させて返答信号のレベルを取り込み、所定時間後に接続線SCLの信号レベルをHIGHからLOWに変化させると、装飾制御装置610は接続線SDAを解放する。
マスタIC570は、このような1バイト分のデータ送信と1ビット分の返答信号の受信とを交互に繰り返し、装飾制御装置610へ出力すべきデータがすべて出力されるまで継続する。マスタIC570は、出力すべきデータの出力が終了した場合には、接続線SCLの信号レベルをHIGHに維持したまま、接続線SDAの信号レベルをLOWからHIGHに変更させることにより、装飾制御装置610へのデータ出力を終了するためのストップ条件を成立させる(装飾制御装置610に対してストップコンディションを発行する)。
入力用BUF571は、装飾制御装置610から接続線SDAを介して入力されたデータが一時的に記憶される記憶装置である。
具体的には、マスタIC570が入力モードに設定された場合において、装飾制御装置610からマスタIC570に送信されたデータが、フィルタ575Aによりノイズが除去されて入力用BUF571に一時的に記憶される。
出力用BUF572は、装飾制御装置610に接続線SDAを介して出力するデータが一時的に記憶される。
リセットREG573は、バス563に接続され、CPU551からの指令を受けてリセット信号をコントローラ574に出力する。コントローラ574は、マスタIC570を統括的に制御し、各種処理を実行する。
フィルタ575Aは、接続線SDAから入力されたデータのノイズを除去する。ドライバ576Aは、接続線SDAからデータを出力する場合に、トランジスタ578Aが動作可能な電圧をトランジスタ578Aに印加する。
図9に示すように接続線SDAには、プルアップ抵抗Rによって所定の電圧が印加されて、接続線SDAはフィルタ575A及びトランジスタ578Aに接続されている。
トランジスタ578Aは、電力消費を抑えるために電界効果トランジスタ(FET)が用いられており、トランジスタ578Aのゲートはドライバ576Aに接続され、ドレインはプルアップ抵抗Rにより所定の電圧が印加された接続線SDAに接続され、ソースは接地されている。
トランジスタ578Aのゲートに印加される電圧がトランジスタ578Aを動作させる所定値よりも小さければ、ドレインとソースとの間に電流が流れないので、接続線SDAに印加された電圧は降下せず、その結果、接続線SDAはHIGHレベルとなる。一方、トランジスタ578Aのゲートに印加される電圧がトランジスタ578Aを動作させる所定値以上であれば、所定値の電圧が印加されたドレインから接地されているソースへ電流が流れることによって、接続線SDAの電圧が低下し、その結果、接続線SDAはLOWレベルとなる。
なお、トランジスタ578Aは、10ミリアンペア程度の電流をドレインからソースへ流しても破損しない仕様のものを用いている。このため、接続線SDAには、通常のI2Cバス使用で用いられる電流値よりもはるかに大きい10ミリアンペア程度の電流を流すことが可能であり、演出制御装置550と装飾制御装置610との間のデータ送信が、ノイズによる障害に耐えうる構成となっている。
ドライバ576Aは、データを接続線SDAから出力する場合に、トランジスタ578Aにドレインとソースとの間に電流を流すためにトランジスタ578Aのゲートにトランジスタ578Aが動作可能な値の電圧を印加する。そして、ドライバ576Aは、接続線SDAの電圧を、HIGHレベル又はLOWレベルに設定することによって、データを接続線SDAから出力する。
また、フィルタ575Bは、接続線SCLから入力されたデータのノイズを除去する。ドライバ576Bは、接続線SCLからデータを出力する場合に、トランジスタ578Bが動作可能な電圧をトランジスタ578Bに印加する。
図9に示すように接続線SCLは、プルアップ抵抗Rによって所定の電圧が印加されて、接続線SDAはフィルタ575B及びトランジスタ578Bに接続されている。
トランジスタ578Bは、電力消費を抑えるために電界効果トランジスタ(FET)が用いられており、トランジスタ578Bのゲートはドライバ576Bに接続され、ドレインはプルアップ抵抗Rにより所定の電圧が印加された接続線SCLに接続され、ソースは接地されている。
トランジスタ578Bのゲートに印加される電圧がトランジスタ578Bを動作させる所定値よりも小さければ、ドレインとソースとの間に電流が流れないので、接続線SCLに印加された電圧は降下せず、その結果、接続線SCLはHIGHレベルとなる。一方、トランジスタ578Bのゲートに印加される電圧がトランジスタ578Bを動作させる所定値以上であれば、所定値の電圧が印加されたドレインから接地されているソースへ電流が流れることによって、接続線SCLの電圧が低下し、その結果、接続線SCLはLOWレベルとなる。
なお、トランジスタ578Bは、10ミリアンペア程度の電流をドレインからソースへ流しても破損しない仕様のものを用いている。そのため、接続線SCLには、通常のI2Cバス使用で用いられる電流値よりもはるかに大きい10ミリアンペア程度の電流を流すことが可能であり、演出制御装置550と装飾制御装置610との間のデータ送信が、ノイズによる障害に耐えうる構成となっている。
ドライバ576Bは、クロック信号を接続線SCLから出力する場合に、トランジスタ578Bにドレインとソースとの間に電流を流すためにトランジスタ578Bのゲートにトランジスタ578Bが動作可能な値の電圧を印加する。そして、ドライバ576Bは、接続線SCLの電圧を、HIGHレベルとLOWレベルとに繰り返し変化させることによって、クロック信号を接続線SCLから出力する。
電源投入リセット回路577は、マスタIC570に電源が投入されて、電源投入リセット回路577内の電圧が所定値に達した場合に、入力用BUF571及び出力用BUF572などの記憶領域をデフォルト状態にするためのリセット信号をコントローラ574に出力する。
次に、中継基板600及び装飾制御装置610について説明する。
なお、中継基板600は、装飾制御装置610のうちマスタIC570に直接接続される、つまり最も上流側に位置するものである。
装飾装置620は、装飾制御装置610に設けたI2CI/Oエクスパンダ615(図6で後述)によって制御され、電流を流すことによって光が点滅して演出を行う発光装置であり、例えばLEDなどで構成される。役物駆動ソレノイド(SOL)560は、電流が流れると往復動作する装置であり、遊技盤10に配置される図示しない装飾のための役物を可動させて演出を行う。役物駆動モータ(MOT)561は、電流が流れると回転動作する装置であり、可動役物60を可動させて演出を行う。役物駆動ソレノイド(SOL)560及び役物駆動モータ(MOT)561も、装飾制御装置610に設けたI2CI/Oエクスパンダ615によって制御される。
なお、役物駆動SOL560が可動役物60を可動させてもよいし、役物駆動MOT561が図示しない役物を可動させてもよい。
演出制御装置550と中継基板600との接続方法、及び中継基板600と中継基板600以外の装飾制御装置610との接続方法は、図5で詳細を説明する。装飾制御装置610は、図6〜図10で詳細を説明する。
図5は、本発明の第1の実施形態の装飾制御装置610A〜610Fの接続の説明図である。なお、説明の都合上、装飾制御装置610として、1個の中継基板600と、6個の装飾制御装置610A〜610Fを図示しているが、実際には、遊技機の仕様に対応して必要な数の装飾制御装置610が接続されている。
演出制御装置550は、接続線Vcc、接続線Vact、接続線SDA、接続線SCL、及び接続線GND(以下、この5本の接続線を一つのハーネスという)を介して演出制御装置550と接続される。
中継基板600には、二つの装飾制御装置610A及び610Dがそれぞれハーネスによって並列に接続される。
装飾制御装置610Aにはハーネスを介して装飾制御装置610Bが接続され、装飾制御装置610Bにはハーネスを介して装飾制御装置610Cが接続される。
一方、装飾制御装置610Dにはハーネスを介して装飾制御装置610Eが接続され、装飾制御装置610Eにはハーネスを介して装飾制御装置610Fが接続される。
各装飾制御装置610は、ハーネスを自身に接続するための取付口となるコネクタを備える。このコネクタは各装飾制御装置610で共通であるので、接続線を接続順の誤配線を防止できる。
ここで、装飾制御装置610に設けたI2CI/Oエクスパンダ615(図6で後述)が装飾装置620を制御する方法について説明する。
演出制御装置550は、遊技制御装置500から入力された遊技データに基づいて、演出装置の出力態様を決定する。そして、演出制御装置550は、決定された出力態様となるように、制御対象となる装飾制御装置610の個別アドレス(I2CI/Oエクスパンダ615の個別アドレス)を含む演出制御データ(演出制御情報)を中継基板600に出力する。このとき、演出制御データは、中継基板600を介して演出制御装置550に接続されるすべての装飾制御装置610に対して接続線SDAから出力される。このため、マスタIC570は、マスタIC570に接続されるすべての装飾制御装置610を制御可能である。
なお、本実施形態では演出装置としてLED等の発光装置を例示しているので、LEDの発光態様が演出装置の出力態様に相当する。この場合、演出制御データによって、LEDの点灯/点滅/消灯が指示され、同時に、LEDの点滅周期や点灯輝度も指示される。
各装飾制御装置610には、一意な個別アドレスが予め設定されているので、演出制御データが入力されると、入力された演出制御データに含まれるアドレスと設定されている個別アドレスとが一致するか否かを判定する。そして、入力された演出制御データに含まれるアドレスと設定されている個別アドレスとが一致すると判定された場合には、装飾制御装置610のI2CI/Oエクスパンダ615は、演出制御データを取り込んで、対応する装飾装置620の出力態様を制御するとともに、8ビット目のデータが入力された直後に返答信号をマスタIC570に出力する。
なお、各装飾制御装置610には、個別アドレス以外にも、装飾制御装置610のI2CI/Oエクスパンダ615を初期化するためのリセット用アドレスが設定されている。このリセットアドレスは、すべてのI2CI/Oエクスパンダ615に対して共通に設けられたアドレスであり、個別アドレスとして使用することは不可能となっている。また、このリセットアドレスの値を変更することもできないようになっている(詳細は後述する)。
演出制御装置550は、装飾制御装置610(正確には、装飾制御装置610のI2CI/Oエクスパンダ615)を初期化する場合に、このリセット用の共通アドレスを含んだ初期化指示データを、中継基板600に出力する。このとき、初期化指示データ演出制御データは、中継基板600を介して、演出制御装置550に接続されるすべての装飾制御装置610に対して接続線SDAから出力される。
各装飾制御装置610には、リセット用の共通アドレスが予め設定されているので、入力されたデータに含まれるアドレスと、予め設定されているリセット用の共通アドレスとが一致するか否かを判定する。入力されたデータに含まれるアドレスと、予め設定されているリセット用の共通アドレスとが一致すると判定された場合には、装飾制御装置610のI2CI/Oエクスパンダ615は、返答信号をマスタIC570に出力するとともに、入力されたデータを初期化指示データとして取り込み、I2CI/Oエクスパンダ615自身を初期化する。
なお、I2CI/Oエクスパンダ615が初期化されると、当該初期化されたI2CI/Oエクスパンダ615によって制御される演出装置はオフ状態となる。
このように、装飾制御装置610は、演出制御装置550からの指令に基づく制御を行うので、演出制御装置550と装飾制御装置610との関係は、演出制御装置550のマスタIC570がマスタであり、装飾制御装置610のI2CI/Oエクスパンダ615がスレーブである。
図5では、装飾制御装置610の制御対象が装飾装置620である場合について説明したが、装飾制御装置610の制御対象が役物駆動SOL560や役物駆動MOT561であってもよい。この場合、演出装置がモータやソレノイドなどの駆動源となることから、これらの駆動源の動作態様が、演出装置の出力態様に相当することになる。この場合、演出制御データによって、駆動源の作動/停止が指示され、同時に動作速度も指示される。
図6は、本発明の第1の実施形態の装飾制御装置610のブロック図である。
図6では、装飾制御装置610の内部に装飾装置620であるLEDを備える装飾制御装置610(図6の下側の装飾制御装置610)と、外部の装飾装置620に接続される装飾制御装置610(図6の中央の装飾制御装置610)と、について説明する。
まず、装飾制御装置610の内部にLEDを備える装飾制御装置610について説明する。
図6の下側の装飾制御装置610は、I2CI/Oエクスパンダ615及びLED(装飾装置20)を備える。接続線SDA及び接続線SCLは、装飾制御装置610内で二つに分岐し、一方は、そのまま次の装飾制御装置610に出力される。他方は、I2CI/Oエクスパンダ615に接続される。
また、I2CI/Oエクスパンダ615の出力側には、制御対象となる装飾装置620が接続される。I2CI/Oエクスパンダ615の出力側は、図7で説明するポート0〜15によって構成される。さらに、装飾制御装置610のすべてのポートが、図8Aで後述する電流制限抵抗R0〜R15を介して、内部のLEDに接続されている。なお、この電流制限抵抗R0〜R15も、装飾制御装置610に備えられている。
前述したように、I2CI/Oエクスパンダ615は、演出制御装置550から入力された演出制御データに含まれるアドレスと、当該I2CI/Oエクスパンダ615に設定されている個別アドレスとが一致する場合にのみ、演出制御データに含まれる装飾データに基づいて、I2CI/Oエクスパンダ615に接続されている装飾装置620を制御する。
なお、図中の電源Vledは、図5で前述した接続線Vactにより供給される電源(LEDを発光させるための電源)に相当するものである。
次に、外部の装飾装置620に接続される装飾制御装置610について説明する。
図6の中央の装飾制御装置610は、I2CI/Oエクスパンダ615及びLED(装飾装置20)を備え、装飾制御装置610の外部に接続される装飾装置基板625に備わるLEDに電流を流すための接続線、装飾装置基板625のLEDに電源電圧Vledを供給する接続線、及び、グランドに接地する接続線を介して、装飾制御装置610と装飾装置基板625とが接続される。
装飾装置基板625は、I2CI/Oエクスパンダ615を備えておらず、LEDのみを備えた基板である。この場合、装飾装置基板625に備えたLEDに接続される電流制限抵抗(図8A)を、装飾装置基板625に設けることになるが、I2CI/Oエクスパンダ615が備えられた装飾制御装置610に設けてもよい。
なお、装飾装置基板625に設けたLEDの数に対応して、装飾制御装置610から装飾装置基板625へ渡されることになる、これらのLEDに電流を流すための接続線の数が決定される。例えば、装飾装置基板625に二つのLEDを備えた場合には、I2CI/Oエクスパンダ615のポートと対応するLEDとを接続するための2本の制御線と、Vledを供給する電源線が1本とが、少なくとも必要となる。
そして、中央の装飾制御装置610に設けられたI2CI/Oエクスパンダ615も、演出制御装置550から入力された演出制御データに含まれるアドレスと、当該I2CI/Oエクスパンダ615に設定されている個別アドレスとが一致する場合にのみ、演出制御データに含まれる装飾データに基づいて、I2CI/Oエクスパンダ615に接続されている装飾装置620を制御する。この場合、中央の装飾制御装置610に設けられた装飾装置620と、装飾装置基板625に設けられた装飾装置620の両方が、I2CI/Oエクスパンダ615によって制御される。
このように、装飾装置基板625を設けて、装飾制御装置610から一部の装飾装置(LED)を分離させることで、離れた箇所に配置されたLEDであっても、共通のI2CI/Oエクスパンダ615により制御することができる。
なお、装飾制御装置610は、装飾装置620の代わりに、役物駆動SOL560や役物駆動MOT561を接続し、これらを制御してもよいが、詳細は、図8Bで後述する。
図7は、本発明の第1の実施形態のI2CI/Oエクスパンダ615のブロック図である。
I2CI/Oエクスパンダ615は、接続線SDAに接続されるトランジスタ630、接続線SDAに接続されるフィルタ631、接続線SDAに接続されるドライバ632、接続線SCLに接続されるフィルタ633、バスコントローラ634、出力設定レジスタ635、出力コントローラ636、I2CI/Oエクスパンダ615の出力側の各ポート0〜15に接続されるドライバ637、各ポート0〜15に接続されるトランジスタ638A〜638P、及びリセット信号発生回路639を備える。
フィルタ631は、接続線SDAに接続され、接続線SDAから入力されたデータのノイズを除去し、ノイズが除去されたデータをバスコントローラ634に出力する。ドライバ632は、返答信号を接続線SDAから出力する場合に、トランジスタ630が動作可能な電圧をトランジスタ630に印加する。
ドライバ632は、接続線SDAからデータ(返答信号)を出力する場合に、トランジスタ630が動作可能な電圧をトランジスタ630に印加する。
トランジスタ630は、電力消費を抑えるために電界効果トランジスタ(FET)が用いられており、トランジスタ630のゲートはドライバ632に接続され、ドレインはプルアップ抵抗R(図4参照)により所定の電圧が印加された接続線SDAに接続され、ソースは接地されている。
トランジスタ630のゲートに印加される電圧がトランジスタ630を動作させる所定値よりも小さければ、ドレインとソースとの間に電流が流れない。一方、トランジスタ630のゲートに印加される電圧がトランジスタ630を動作させる所定値以上であれば、所定値の電圧が印加されたドレインから接地されているソースへ電流が流れることによって、接続線SDAの電圧が低下する。なお、トランジスタ630は、10ミリアンペア程度の電流をドレインからソースへ流しても破損しない仕様のものを用いている。
ドライバ632は、データ(返答信号)を接続線SDAから出力する場合に、トランジスタ630にドレインとソースとの間に電流を流すためにトランジスタ630のゲートにトランジスタ630が動作可能な値の電圧を印加する。そして、ドライバ632は、接続線SDAの電圧をHIGHからLOWへ繰り返し変化させることによって、データを接続線SDAから出力する。
フィルタ633は、接続線SCLに接続され、接続線SCLから入力されたデータのノイズを除去し、ノイズが除去されたデータをバスコントローラ634に出力する。
また、I2CI/Oエクスパンダ615には、当該I2CI/Oエクスパンダ615に備わるアドレス設定用端子A0〜A3によって固有のアドレスが設定されており、バスコントローラ634に入力されている。さらに、I2CI/Oエクスパンダ615をリセットするためのアドレスも、予め設定されている。
バスコントローラ634は、接続線SDAから入力されたデータのアドレスがI2CI/Oエクスパンダ615に設定された固有のアドレスと一致するか否かを判定し、一致している場合に当該データを演出制御データとして取り込む。
また、バスコントローラ634は、接続線SDAから入力されたデータのアドレスがI2CI/Oエクスパンダ615に予め設定されたリセット用のアドレスと一致するか否かを判定し、入力されたデータのアドレスとI2CI/Oエクスパンダ615に予め設定されたリセット用のアドレスとが一致している場合に当該データを初期化指示データとして取り込み、当該I2CI/Oエクスパンダ615を初期化する。
また、バスコントローラ634は、SCL接続線の信号レベルのLOWからHIGHへの変化回数が8回に達し8ビット目のデータを取り込んだ後、SCL接続線の信号レベルがHIGHからLOWへ変化すると、返答信号を接続線SDAからマスタIC570に出力する。さらに、SCL接続線の信号レベルがLOWからHIGHへ変化することが確認され、再度SCL接続線の信号レベルがHIGHからLOWへ変化すると、接続線SDAを開放する。つまり、SCL接続線の信号レベルのLOWからHIGHへの変化回数が9回になるタイミングで返答信号を出力する。
出力設定レジスタ635には、当該I2CI/Oエクスパンダ615の動作モードやポート0〜15の出力状態が設定される。バスコントローラ634が接続線SDAから初期化指示データを取り込んで、当該I2CI/Oエクスパンダ615が初期化された場合には、出力設定レジスタ635は、すべてのポート0〜15に電流が流れないように初期状態に設定される。
出力コントローラ636は、出力設定レジスタ635に設定されたデータに基づいて、ポートドライバ637を介して、各ポート0〜15に接続された演出装置に電流を流すことによって、演出装置の出力状態を実際に制御する。この出力状態は、バスコントローラ634が接続線SDAから演出制御データを取り込むと、取り込んだ演出制御データに指定されている内容に更新される。
ドライバ637は、ポートに電流を流す場合に、電流を流すポートに接続されるトランジスタ638A〜638Pが動作可能な電圧を当該トランジスタに印加する。
トランジスタ638A〜638Pのゲートはドライバ637に接続され、ドレインは図8A及び図8Bに示すように演出装置を動作させるための電圧が印加された接続線に接続するポート端子に接続され、ソースは接地されている。
トランジスタ638A〜638Pのゲートに印加される電圧がトランジスタ638A〜638Pを動作させる所定値よりも小さければ、ドレインとソースとの間に電流が流れない。一方、638A〜638Pのゲートに印加される電圧がトランジスタ638を動作させる所定値以上であれば、図8Aに示す電源Vled、又は図8Bに示す電源Vmotや電源Vsolからゲートに印加されている所定の電圧が、トランジスタ638のドレインを介して接地されているソースへ電流が流れることによって、ポート端子に接続された演出装置の出力状態を制御できる。
また、装飾制御装置610のI2CI/Oエクスパンダ615は、I2CI/Oエクスパンダ615のポート端子に接続された全ての演出装置を同時期に制御することが可能であるので、I2CI/Oエクスパンダ615のポート端子に接続された一つの演出装置を一つのグループとして制御することができる。
そして、各装飾制御装置610に備わるI2CI/Oエクスパンダ615同士は、互いに異なる個別アドレスが割り当てられているので、演出装置が複数のグループに分割された形態となっている。即ち、各装飾制御装置610に備わるI2CI/Oエクスパンダ615は、演出装置をグループ単位で制御可能なグループ単位制御手段として構成されているものである。
従って、装飾制御装置610を統括する演出制御装置550は、グループ単位制御手段を統括して制御するグループ統括制御手段として機能している。
リセット信号発生回路639には、I2CI/Oエクスパンダ615に電源を供給する接続線Vccと接続されるVcc端子、及び外部からのリセット信号を受け付けるRESET端子が接続されている。
リセット信号発生回路639は、I2CI/Oエクスパンダ615に電源が投入され、電圧が所定値まで立ち上がった場合、リセット信号を発生させ、発生させたリセット信号をバスコントローラ634、出力設定レジスタ635、及び出力コントローラ636に入力する。
なお、外部からLOWレベルのリセット信号が入力された場合には、リセット信号発生回路639はリセット信号を出力するので、演出制御装置550のCPU551から、NORゲート回路5590を経由して、RESET端子からリセット信号を入力するようにしてもよい。RESET端子を使用しない場合は、図8A及び図8Bに示すようにRESET端子はHIGHにプルアップされていてもよい。
図8Aは、本発明の第1の実施形態の装飾装置620を制御する装飾制御装置610のI2CI/Oエクスパンダ615周辺の回路図である。
I2CI/Oエクスパンダ615は、入力端子としてNC端子、RESET端子、SCL端子、SDA端子、Vcc端子、A0〜A3端子、及びGND端子を備え、出力端子として、PORT0〜PORT15を備える。
RESET端子には、プルアップ抵抗Rを介してI2CI/Oエクスパンダ615に供給される電源が接続されている。このため、リセット端子に印加される電圧は常にHIGHに維持されている。
SCL端子は接続線SCLに接続され、SDA端子は接続線SDAに接続される。
Vcc端子には、I2CI/Oエクスパンダ615に供給される電源が接続される。また、Vcc端子には、電源ノイズを除去するコンデンサCPが接続される。
A0端子〜A3端子は、I2CI/Oエクスパンダ615に固有のアドレスを設定するための端子である。なお、通常I2CI/Oエクスパンダ615のアドレスは、4ビットで表現され、この端子にI2CI/Oエクスパンダ615の電源が印加されている場合にはバスコントローラ634に「1」が設定され、この端子がグランドに接続されている場合にはバスコントローラ634に「0」が設定される。
したがって、図8Aに示すI2CI/Oエクスパンダ615のアドレスは「0100」であり、図8Bに示すI2CI/Oエクスパンダ615のアドレスは「0110」である。GND端子は、電圧をグランドするための端子である。
各PORT0端子〜PORT15端子は、電流制限抵抗R0〜R15を介して各LED0〜LED15からなる装飾装置620に接続される。なお、PORT0にように、ポート1個に対して1個のLEDを接続してもよいが、PORT1〜15のように、ポート1個に対して複数個のLEDを接続してもよい。
全てのポートにLEDを1個ずつ設ける場合は、1個のI2CI/Oエクスパンダ615によって、最大で16個のLEDを制御できることになる。また、各ポートに接続されるLEDの個数が異なる場合は、1個のポートに直列に接続された全てのLEDを1種類のLEDということにすれば、1個のI2CI/Oエクスパンダ615によって、最大で16種類のLEDを制御できることになる。
PORT0端子〜PORT15端子に接続されるトランジスタ638A〜638P(図7参照)のゲートに対してドライバ637から電圧が印加されると、電圧が印加されたトランジスタ638A〜638Pのドレインからソースへ電流が流れることが可能になり、PORT0端子〜PORT15端子に接続されるLED0〜LED15に電流が流れ、各LED0〜LED15は点灯する。
一方、ドライバ637がトランジスタ638A〜638Pのゲートに電圧を印加しなければ、各LED0〜LED15に電流が流れない状態になり、各LED0〜LED15は点灯しない。
なお、I2CI/Oエクスパンダ615のPORT0端子〜PORT15端子には、LEDの代わりに、モーターやソレノイドを接続することも可能であるので、I2CI/Oエクスパンダ615を用いて、モーターやソレノイドを駆動する場合について説明する。
図8Bは、本発明の第1の実施形態の役物駆動MOT561及び役物駆動SOL560を制御する装飾制御装置610のI2CI/Oエクスパンダ615周辺の回路図である。
役物駆動MOT561はステッピングモータにより構成され、ステッピングモータを駆動する各相の信号端子に、所定の電圧を順次印加することで回動する。本実施形態では、役物駆動MOT561の各相の信号端子が、PORT0端子〜PORT3端子に接続される。
役物駆動MOT561に接続されているPORT0端子〜PORT3端子に接続されるトランジスタ638A〜638Dのいずれかのゲートに対してドライバ637から電圧が印加されると、電圧が印加されたトランジスタ638A〜638Dのドレインからソースへ電流が流れることが可能になり、PORT0端子〜PORT3端子に接続される役物駆動MOT561に電流が流れ、役物駆動MOT561が駆動する。
なお、各PORT0端子〜PORT3端子と役物駆動MOT561とを接続する接続線は分岐し、分岐した一方の接続線は、役物駆動MOT561に供給される電源にダイオードD及びツェナダイオードZDを介して接続される。
また、PORT端子15は、役物駆動SOL560に接続される。役物駆動SOL560に接続されているPORT15端子に接続されるトランジスタ638Pのゲートに対してドライバ637から電圧が印加されると、電圧が印加されたトランジスタ638Pのドレインからソースへ電流が流れることが可能になり、PORT15端子に接続される役物駆動SOL560に電流が流れ、役物駆動SOL560が駆動する。
なお、図8Bでは、I2CI/Oエクスパンダ615に役物駆動MOT561及び役物駆動SOL560の双方が接続されているが、一つのI2CI/Oエクスパンダ615に対して、役物駆動MOT561及び役物駆動SOL560の少なくとも一方だけを接続した構成でもよい。
例えば、ステッピングモーターだけを制御するグループとしてのI2CI/Oエクスパンダ615を専用に設けたり、ソレノイドだけを制御するグループとしてのI2CI/Oエクスパンダ615を専用に設けるようにしてもよい。このような構成により、同一グループに属する演出装置を同じタイミングで制御することが可能となるので、高速処理が必要な演出装置だけをグループ化して効率よく制御することも可能となる。
図9は、本発明の第1の実施形態の中継基板600の入出力に関する接続線の回路図である。
中継基板600は、上流コネクタ601、二つの下流コネクタ602A、602B、及びI2CI/Oエクスパンダ615を備える。
上流コネクタ601は中継基板600よりも上流のマスタIC570に接続されるコネクタであり、コネクタ602A、602Bは、中継基板600よりも下流の装飾制御装置610に接続される。
二つの下流コネクタ602A、602Bに接続線SDAを接続するために、上流コネクタ601から延びる内部接続線SDA911は分岐901で第1接続線SDA921と第2接続線SDA931とに分岐する。第1接続線SDA921は下流コネクタ602Aに接続され、第2接続線SDA931は下流コネクタ602Bに接続される。
同じく、上流コネクタ601から延びる内部接続線SCL912は分岐902で第1接続線SCL922と第2接続線SCL932とに分岐する。第1接続線SCL922は下流コネクタ602Aに接続され、第2接続線SCL932は下流コネクタ602Bに接続される。
接続線SDAをI2CI/Oエクスパンダ615に接続するために、第2接続線SDA931は分岐903で分岐し、分岐した第2接続線SDA931はI2CI/Oエクスパンダ615の図8A及び図8に示すSDA端子に接続される。また、接続線SCLをI2CI/Oエクスパンダ615に接続するために、第2接続線SCL932は分岐904で分岐し、分岐した第2接続線SCL932はI2CI/Oエクスパンダ615の図8A及び図8Bに示すSCL端子に接続される。
なお、I2CI/Oエクスパンダ615には、I2CI/Oエクスパンダ615の電源電圧となる電圧Vccが供給されている。また、図9では図示されていないが、I2CI/Oエクスパンダ615からは、中継基板600に設けたLED(装飾装置200)を駆動する各ポート0〜15の信号線(図8A参照)が出力されている。
また、I2CI/Oエクスパンダ615は、第2接続線SDA931及び第2接続線SCL932が接続されるとしたが、第1接続線SDA921及び第1接続線SCL922に接続されてもよい。
I2CI/Oエクスパンダ615が上流のマスタIC570に接続線SDAを介して出力する信号、及び上流のマスタIC570から中継基板600のI2CI/Oエクスパンダ615へ接続線SDAを介して入力される信号のノイズを除去するために、内部接続線SDA911にはツェナダイオードZD941が接続されている。
具体的には、内部接続線SDA911は分岐905で分岐し、分岐した内部接続線SDA911はツェナダイオードZD941のカソード側に接続され、ツェナダイオードZD941のアノード側は接地されている。
このため、内部接続線SDA911に印加された所定以上の電圧(例えば、パルス性のノイズ信号)は、ツェナダイオードZD941によって逃がされる。
また、上流のマスタIC570から中継基板600のI2CI/Oエクスパンダ615へ接続線SCLを介して入力される信号のノイズを除去するために、内部接続線SCL912にはツェナダイオードZD942が接続されている。
具体的には、内部接続線SCL912は分岐906で分岐し、分岐した内部接続線SCL912はツェナダイオードZD942のカソード側に接続され、ツェナダイオードZD942のアノード側は接地されている。
このため、内部接続線SCL912に印加された所定以上の電圧(例えば、パルス性のノイズ信号)は、ツェナダイオードZD942によって逃がされる。
中継基板600のI2CI/Oエクスパンダ615が下流コネクタ602Aに接続された装飾制御装置610に接続線SDAを介して出力する信号、及び下流コネクタ602Aに接続された装飾制御装置610から中継基板600のI2CI/Oエクスパンダ615へ接続線SDAを介して入力される信号のノイズを除去するために、第1接続線SDA921にはツェナダイオードZD943が接続されている。
具体的には、第1接続線SDA921は分岐907で分岐し、分岐した第1接続線SDA921はツェナダイオードZD943のカソード側に接続され、ツェナダイオードZD943のアノード側は接地されている。
このため、内部接続線SDA921に印加された所定以上の電圧(例えば、パルス性のノイズ信号)は、ツェナダイオードZD943によって逃がされる。
また、第1接続線SDA921に接続されるツェナダイオードZD943と同じく、第2接続線SDA931にもツェナダイオード945が接続される。
また、中継基板600のI2CI/Oエクスパンダ615から下流コネクタ602Aに接続された装飾制御装置610へ接続線SCLを介して入力される信号のノイズを除去するために、第1接続線SCL922にはツェナダイオードZD944が接続されている。
具体的には、第1接続線SCL922は分岐908で分岐し、分岐した第1接続線SCL922はツェナダイオードZD944のカソード側に接続され、ツェナダイオードZD944のアノード側は接地されている。
このため、内部接続線SCL922に印加された所定以上の電圧(例えば、パルス性のノイズ信号)は、ツェナダイオードZD944によって逃がされる。
また、第1接続線SCL922に接続されるツェナダイオードZD944と同じく、第2接続線SCL932にもツェナダイオードZD946が接続される。
また、マスタIC570に接続される上流側の接続線SDA、及び装飾制御装置610に接続される下流側の接続線SDAの電圧をプルアップするためのプルアップ抵抗R951が、第1接続線SDA921に接続される。同じく、マスタIC570に接続される上流側の接続線SCL、及び装飾制御装置610に接続される下流側の接続線SCLの電圧をプルアップするためのプルアップ抵抗R952が、第1接続線SDA922に接続される。
具体的には、第1接続線SDA921は分岐909で分岐し、分岐した第1接続線SDA921はプルアップ抵抗R951に接続される。同じく第1接続線SCL922は分岐910で分岐し、分岐した第1接続線SCL922はプルアップ抵抗R952に接続される。
なお、接続線SDA及び接続線SCLの電圧をプルアップするプルアップ抵抗951、952は、中継基板600が備えなくてもよく、マスタIC570が備えてもよいし、中継基板600以外の装飾制御装置610が備えてもよい。要するに、接続線SDA及び接続線SCLを駆動するトランジスタのドレインの端子に、電圧Vccを供給できる箇所であれば、どこでもよい。
中継基板600のI2CI/Oエクスパンダ615に電源電圧を供給する接続線Vccに接続される上流コネクタ601のVcc端子から延びる内部接続線Vcc971と、上流コネクタ601のGND端子から延び、接地されている内部接続線GND972とは、平滑コンデンサC961及びバイパスコンデンサ962を介して接続されている。
平滑コンデンサC961は、電源の電圧波形を滑らかにするためのコンデンサであり、バイパスコンデンサCP962は、電源の電圧のノイズを除去するためのコンデンサである。
このため、中継基板600のI2CI/Oエクスパンダ615に供給される電源電圧は、平滑コンデンサC961により電圧が平滑化され、バイパスコンデンサ962によりノイズが除去されて、I2CI/Oエクスパンダ615に供給される。
同じく、下流コネクタ602A、602BのVcc端子から延びる内部接続線Vcc973と、GND端子から延びる内部接続線GND974とは、平滑コンデンサC961及びバイパスコンデンサ962を介して接続されている。これによって、平滑化され、ノイズが除去された電圧が下流の装飾制御装置610に接続される接続線Vccに印加される。
図10は、本発明の第1の実施形態の装飾制御装置610の入出力に関する接続線の回路図である。
装飾制御装置610は、上流コネクタ611、I2CI/Oエクスパンダ615、及び下流コネクタ612を備える。
上流コネクタ611には、中継基板600又は上流側の装飾制御装置610からバスが接続される。下流コネクタ612には、下流側の装飾制御装置610に接続するバスが接続される。
上流コネクタ611のSDA端子と下流コネクタ612のSDA端子とは、内部接続線SDA1011によって接続されている。また、上流コネクタ611のSCL端子と下流コネクタ612のSCL端子とは、内部接続線SCL1012によって接続されている。
接続線SDAをI2CI/Oエクスパンダ615に接続するために、内部接続線SDA1011は分岐1001で分岐し、分岐した内部接続線SDA1011はI2CI/Oエクスパンダ615の図8A及び図8に示すSDA端子に接続される。また、接続線SCLをI2CI/Oエクスパンダ615に接続するために、内部接続線SCL1012は分岐1002で分岐し、分岐した内部接続線SCL1012はI2CI/Oエクスパンダ615の図8A及び図8Bに示すSCL端子に接続される。
なお、I2CI/Oエクスパンダ615には、I2CI/Oエクスパンダ615の電源電圧となる電圧Vccが供給されている。また、図10では図示されていないが、I2CI/Oエクスパンダ615からは、当該装飾制御装置610に係わるLED(装飾装置200)を駆動する各ポート0〜15の信号線(図8A参照)が出力されている。
図10に示す装飾制御装置610のI2CI/Oエクスパンダ615が上流コネクタ611に接続された上流の装飾制御装置610又は中継基板600に接続線SDAを介して出力する信号、及び上流コネクタ611に接続された上流の装飾制御装置610又は中継基板600から図10に示す装飾制御装置610のI2CI/Oエクスパンダ615へ接続線SDAを介して入力される信号のノイズを除去するために、内部接続線SDA1011にはツェナダイオードZD1041が接続されている。
具体的には、内部接続線SDA1011は分岐1003で分岐し、分岐した内部接続線SDA1011はツェナダイオードZD1041のカソード側に接続され、ツェナダイオードZD1041のアノード側は接地されている。
このため、内部接続線SDA1011に印加された所定以上の電圧(例えば、パルス性のノイズ信号)は、ツェナダイオードZD1041によって逃がされる。
また、上流コネクタ611に接続される上流の装飾制御装置610又は中継基板600から図10に示す装飾制御装置610のI2CI/Oエクスパンダ615へ接続線SCLを介して入力される信号のノイズを除去するために、内部接続線SCL1012にはツェナダイオードZD942が接続されている。
具体的には、内部接続線SCL1012は分岐1004で分岐し、分岐した内部接続線SCL1012はツェナダイオードZD1042のカソード側に接続され、ツェナダイオードZD1042のアノード側は接地されている。
このため、内部接続線SCL1012に印加された所定以上の電圧(例えば、パルス性のノイズ信号)は、ツェナダイオードZD1042によって逃がされる。
図10に示す装飾制御装置610のI2CI/Oエクスパンダ615が下流コネクタ612に接続された下流の装飾制御装置610に接続線SDAを介して出力する信号、及び下流コネクタ612に接続された下流の装飾制御装置610から図10に示す装飾制御装置のI2CI/Oエクスパンダ615へ接続線SDAを介して入力される信号のノイズを除去するために、内部接続線SDA1011にはツェナダイオードZD1043が接続されている。
具体的には、内部接続線SDA1011は分岐1005で分岐し、分岐した内部接続線SDA1011はツェナダイオードZD1043のカソード側に接続され、ツェナダイオードZD1043のアノード側は接地されている。
このため、内部接続線SDA1011に印加された所定以上の電圧(例えば、パルス性のノイズ信号)は、ツェナダイオードZD1043によって逃がされる。
また、図10に示す装飾制御装置610のI2CI/Oエクスパンダ615から下流コネクタ612に接続された下流の装飾制御装置610へ接続線SCLを介して入力される信号のノイズを除去するために、内部接続線SCL1012にはツェナダイオードZD1044が接続されている。
具体的には、内部接続線SCL1012は分岐1006で分岐し、分岐した内部接続線SCL1012はツェナダイオードZD1044のカソード側に接続され、ツェナダイオードZD1044のアノード側は接地されている。
このため、内部接続線SCL1012に印加された所定以上の電圧(例えば、パルス性のノイズ信号)は、ツェナダイオードZD1044によって逃がされる。
装飾制御装置610のI2CI/Oエクスパンダ615に電源電圧を供給する接続線Vccに接続される上流コネクタ611のVcc端子から延びる内部接続線Vcc1071と、上流コネクタ611のGND端子から延び、接地されている内部接続線GND1072とは、平滑コンデンサC1061及びバイパスコンデンサ1062を介して接続されている。
平滑コンデンサC1061は図9に示す平滑コンデンサC961と同じコンデンサであり、バイパスコンデンサCP1062は図9に示すバイパスコンデンサ962と同じコンデンサである。
また、下流コネクタ612のVcc端子から延びる内部接続線Vcc1073と、GND端子から延びる内部接続線GND1074とは、平滑コンデンサC1061及びバイパスコンデンサ1062を介して接続されている。
図11は、本発明の第1の実施形態の演出制御装置550から装飾制御装置610に出力されるデータに含まれるスレーブアドレス1100の説明図である。
スレーブアドレス1100は、上位3ビットからなる固定アドレス部1101及び下位5ビットからなる可変アドレス部1102を含む。
固定アドレス部1101は、「110」が予め設定されていて、I2CI/Oエクスパンダ615が変更できないアドレスである。
可変アドレス部1102は、I2CI/Oエクスパンダ615に設定可能なアドレスであり、制御対象となるI2CI/Oエクスパンダ615のA0〜A3の端子に設定されているパターンに対応した4ビットのI2CI/Oエクスパンダアドレス1103と、当該データが読み出し要求であるのか書き込み要求であるのかを示す1ビットのR/W識別データ1104と、が含まれる。
演出制御装置550から装飾制御装置610に出力される演出制御データは、書き込み要求であるので、R/W識別データ1104には、通常「0」が登録される。
図12は、本発明の第1の実施形態のI2CI/Oエクスパンダアドレステーブル1200の説明図である。
I2CI/Oエクスパンダアドレステーブル1200は、マスタIC570によって管理されるテーブルである。I2CI/Oエクスパンダアドレステーブル1200は、スレーブアドレス1201とI2CI/Oエクスパンダアドレス1202との対応関係を示している。
スレーブアドレス1201には、演出制御装置550により送受信の対象として指定される装飾制御装置610のスレーブアドレスが格納されている。スレーブアドレスは、図13で前述したように、上位3ビットからなる固定アドレス部と、4ビットのI2CI/Oエクスパンダアドレスと、1ビットのR/W識別データとを組み合わせて構成される。
I2CI/Oエクスパンダアドレス1202には、図8Aや図8Bで前述したように、各スレーブアドレスに対応する4ビットのI2CI/Oエクスパンダアドレスが登録される。
ただし、I2CI/Oエクスパンダアドレスのうち、アドレス「1000」及びアドレス「1011」は、各I2CI/Oエクスパンダ615を相互に識別するための固有のアドレスとしては使用できない。
「1000」は、すべての装飾制御装置610に対する指令を出力する場合に指定されるアドレス(オールコールアドレス)の電源投入時のデフォルト値として用いられる。「1011」はソフトウェアによって、マスタIC570に接続されている全ての装飾制御装置610を無条件にリセットする場合に用いられる共通アドレスである。
このように、装飾制御装置610のI2CI/Oエクスパンダ615に設定可能な固有アドレスは14個であるために、演出制御装置550は、14個のI2CI/Oエクスパンダ615を制御できる。また、一つの装飾制御装置610は、PORT0〜PORT15を備えるので、16個(言い換えれば16種類)のLEDを制御できる。よって、演出制御装置550は、224個(言い換えれば224種類)のLEDを制御できる。
図13は、本発明の第1の実施形態のI2CI/Oエクスパンダ615に備わる出力設定レジスタ635(図7参照)に割り当てられたワークレジスタを説明するための図である。
I2CI/Oエクスパンダ615の出力設定レジスタ635には、ワークレジスタ(デバイスレジスタ)と、コントロールレジスタ(制御レジスタ)とが割り当てられている。ワークレジスタは、I2CI/Oエクスパンダ615に対して予め定義されている設定を行うための情報や、I2CI/Oエクスパンダ615に接続されている演出装置(例えば、LED)の出力態様を特定するための情報を記憶するものである。また、コントロールレジスタは、ワークレジスタへのデータ書き込み手順を規定する情報を記憶するもである。
なお、図13に示すように、ワークレジスタは、複数の情報を異なる記憶領域に分散して記憶する構成となっており、各記憶領域毎に異なるレジスタ番号が付与されている。
レジスタ番号が「00h」となる記憶領域には、「MODE1」というレジスタ名が付与されており、また、レジスタ番号が「01h」となる記憶領域には、「MODE2」というレジスタ名が付与されている。レジスタ番号「00h」及び「01h」の記憶領域に値が書き込まれると、書き込まれた値に基づいて、I2CI/Oエクスパンダ615の初期設定が行われる。
レジスタ番号が「02h」〜「11h」となる記憶領域には、「PWM0」〜「PWM15」というレジスタ名が付与されている。レジスタ番号「02h」〜「11h」の記憶領域のいずれかに値が書き込まれると、I2CI/Oエクスパンダ615に接続される発光装置を構成する16個のLEDのうち、値が書き込まれたレジスタ番号に対応するLEDの輝度が、書き込まれた値に基づいて調整される。例えば、レジスタ番号「02h」の記憶領域に値が書き込まれた場合には、図8Aに示すポート0に接続されたLED0の輝度が調整される。
なお、I2CI/Oエクスパンダ615に役物駆動SOL560が接続される場合には、役物駆動SOL560が接続されるポートに対応するレジスタ番号の記憶領域には、役物駆動SOL560を通電して作動するか、通電せずに未作動状態にするかを示す値が書き込まれる。
また、I2CI/Oエクスパンダ615に役物駆動MOT561が接続される場合には、役物駆動MOT561が接続されるポートに対応するレジスタ番号の記憶領域には、役物駆動MOT561の目標回転位置を示す値が書き込まれる。
レジスタ番号が「12h」となる記憶領域には、「GRPPWM」というレジスタ名が付与され、レジスタ番号が「13h」となる記憶領域には、「GRPFREQ」というレジスタ名が付与されている。レジスタ番号「12h」及び「13h」の記憶領域に値が書き込まれると、書き込まれた値に基づいて、全体のLED(16個のLED)の点滅パターンが設定される。
具体的には、レジスタ番号「12h」の記憶領域に値が書き込まれた場合には、全体のLEDのオン・オフ比率であるデューティサイクルが設定され、レジスタ番号「13h」の記憶領域に値が書き込まれた場合には、全体のLEDの点滅周期が設定される。
レジスタ番号が「14h」となる記憶領域には、「LEDOUT0」というレジスタ名が付与されている。レジスタ番号「14h」の記憶領域に値が書き込まれると、書き込まれた値に基づいて、LED0〜LED3の出力状態が設定される。
レジスタ番号が「15h」となる記憶領域には、「LEDOUT1」というレジスタ名が付与されている。レジスタ番号「15h」の記憶領域に値が書き込まれると、書き込まれた値に基づいて、LED4〜LED7の出力状態が設定される。
レジスタ番号が「16h」となる記憶領域には、「LEDOUT2」というレジスタ名が付与されている。レジスタ番号「16h」の記憶領域に値が書き込まれると、書き込まれた値に基づいて、LED8〜LED11の出力状態が設定される。
レジスタ番号が「17h」となる記憶領域には、「LEDOUT3」というレジスタ名が付与されている。レジスタ番号「17h」の記憶領域に値が書き込まれると、書き込まれた値に基づいて、LED12〜LED15の出力状態が設定される。
レジスタ番号が「18h」〜「1Ah」となる記憶領域には、「SUBADR1」〜「SUBADR3」というレジスタ名が付与されている。レジスタ番号「18h」〜「1Ah」の記憶領域に値が書き込まれると、書き込まれた値に基づいて、第1サブアドレス〜第3サブアドレスが設定される。
レジスタ番号が「1Bh」となる記憶領域には、「ALLCALLADR」というレジスタ名が付与されている。レジスタ番号「1Bh」の記憶領域に値が書き込まれると、書き込まれた値に基づいて、オールコールアドレスが設定される。
図14は、本発明の第1の実施形態のマスタIC570が接続線SDA及び接続線SCLを介して出力するデータのスタート条件及びストップ条件の説明図である。
接続線SCLは、データの非送信時に信号レベルがHIGHになっており、マスタIC570は、装飾制御装置610にデータを出力する際に、接続線SCLの信号レベルをLOWからHIGHに変化させ、装飾制御装置610が接続線SDAのデータを取り込むためのストローブ信号として作用させる。
接続線SDAは、データの非送信時に信号レベルがHIGHになっており、接続線SCLのクロック信号に合わせて接続線SDAからデータが出力される。
マスタIC570は、接続線SCLの信号レベルをHIGHに維持したまま、接続線SDAの信号レベルをHIGHからLOWに変化させることで、データの出力が開始することを示すスタート条件となる信号を出力する。
装飾制御装置610のI2CI/Oエクスパンダ615は、接続線SDA及び接続線SCLからスタート条件となる信号が入力されると、データの出力が開始することを把握する。
マスタIC570は、接続線SCLの信号レベルをHIGHに維持したまま、接続線SDAの信号レベルをLOWからHIGHに変化させることで、データの出力が終了することを示すストップ条件を示す信号を出力する。
装飾制御装置610のI2CI/Oエクスパンダ615は、ストップ条件が入力されると、データの出力が終了することを把握する。
図15は、本発明の第1の実施形態のマスタIC570から出力されたデータが入力された装飾制御装置610が返答信号を出力するタイミングチャートである。
装飾制御装置610は、スタート条件が成立してから接続線SCLの信号レベルの変化回数を計数し、接続線SCLのクロック信号に合わせて接続線SDAから入力されるデータを取り込む。
そして、装飾制御装置610は、スタート条件が成立してから接続線SCLの信号レベルの変化回数が9回に達する直前に、返答信号をマスタIC570に接続線SDAを介して出力する。換言すると、装飾制御装置610は、接続線SDAから8ビット目のデータを取り込んだ後に、接続線SCLの信号レベルがHIGHからLOWに変化することを契機に、返答信号を当該接続線SDAを介して出力する。
なお、図に示すように、データの受信に成功したことを示す返答信号(ACKの返答信号)はLOWレベルによって示され、データの受信に失敗したことを示す返答信号(NACKの返答信号、図ではACK出力なしに相当)はHIGHレベルによって示される。
また、マスタIC570は、スタート条件が成立してから接続線SCLの信号レベルが8回変化すると、接続線SDAを解放することによって、装飾制御装置610から返答信号の入力を待機する。そして、マスタIC570は、接続線SDAを解放したまま、接続線SCLの信号レベルを変化させて、装飾制御装置610からの返答信号を取り込む。
図16は、本発明の第1の実施形態のマスタIC570が演出制御データを出力する場合の接続線SDA及び接続線SCLの信号レベルのタイミングチャートである。
まず、マスタIC570は、データの出力を開始する場合には、接続線SCLの信号レベルをHIGHに維持したまま、接続線SDAの信号レベルをHIGHからLOWに変化させることによって、スタート条件を示す信号を出力し、これからデータを出力することを装飾制御装置610に通知する。
次に、マスタIC570は、合計7ビットからなる制御対象となる装飾制御装置610のスレーブアドレスを出力する。次に、マスタIC570は、読み出し要求である書き込み要求であるかを示すデータを8ビット目に出力する。
そして、マスタIC570は、接続線SCLの信号レベルが9回目にHIGHになるときに、装飾制御装置610から返答信号が入力されるので、ACKの返答信号であれば接続線SDAの信号レベルがLOWに変化し、NACKの返答信号であれば接続線SDAの信号レベルがHIGHに変化する。
次に、マスタIC570は、アドレスデータの出力後、データを、8の倍数となるビット数で出力する。マスタIC570は、データの8ビット目を出力した後、ACKの返答信号が入力されるのを待ってデータの9ビット目を出力する。以降、8の倍数番目に相当するビットのデータを出力すると、ACKの返答信号が入力されるのを確認してから、(8の倍数+1)番目のビットを出力し、全データが出力されるまで繰り返す。
なお、マスタIC570は、データの8の倍数番目となるビットを出力した後、所定時間経過してもACKの返答信号が入力されない場合には、データの送信に失敗したものとみなして、再度スタート条件を送信する。次いで、接続線SDAを介して、再度アドレスデータを出力し、ACKの返答信号を確認しながら、もう一度、データを1ビット目から出力する。
また、マスタIC570は、データの最後のビットのデータを出力した後、ACKの返答信号が入力されるのを待って、ストップ条件を示す信号を出力する。
なお、図16では、スタート条件を示す信号を出力してからストップ条件を示す信号を出力するまでの間に、合計24ビット(スレーブアドレス8ビット、データ16ビット)のデータを出力しているが、24ビット以上であってもよいし、24ビット以下であってもよい。
図17は、本発明の第1の実施形態のマスタIC570が、スレーブの個別アドレスを指定して装飾制御装置610に演出制御データを設定する場合において、マスタIC570とI2CI/Oエクスパンダ615との間で授受されるデータのフォーマットを説明する図である。
はじめに出力される8ビットのデータ1801には、データ送信の対象となる装飾制御装置610のアドレス「A0〜A6」と、当該データが読み出し要求であるのか書き込み要求であるのかを示す1ビットのR/W識別データとが含まれる。このアドレス「A0〜A6」のうち、「A4〜A6」は値「110」となる固定アドレス部であり、「A0〜A3」はI2CI/Oエクスパンダ615のA0〜A3の端子に設定されているアドレスに相当する(図8参照)。なお、このデータ1801は、図16における「ADRESS」及び「R/W」に対応するものである。
次に、出力される8ビットのデータ1802には、I2CI/Oエクスパンダ615の出力設定レジスタ635(図7参照)に割り当てられているコントロールレジスタへの設定データが含まれる。このデータ1802は、図16において1番目に送信される「DATA」に対応するものである。
ここで、コントロールレジスタについて説明する。コントロールレジスタは8ビットからなり、上位3ビット「AI0〜AI2」が出力設定レジスタ635のワークレジスタへの書き込み又は読み出し方法を指定する自動書込パラメータであり、下位5ビット「D0〜D4」がワークレジスタにおけるアクセス開始位置(書き込みを開始する先頭位置、又は読み出しを開始する先頭位置)を指定するレジスタアドレスである。
自動書込パラメータは、マスタIC570によって、レジスタアドレスが指定するアクセス開始位置の領域のみをアクセス(オートインクリメントを禁止)するのか、指定するアクセス開始位置の領域に隣接する領域も含んでアクセス(オートインクリメントを許可)するのかを指定するパラメータであり、具体的には「000」、「100」、「101」、「110」、「111」の何れかの値を設定することができる。
自動書込パラメータに「000」の値を設定すると、オートインクリメントが禁止され、レジスタアドレスが指定するアクセス開始位置の領域のみにアクセスし、開始位置以外の領域にはアクセスしない。例えば、レジスタアドレスが「10100」であれば、レジスタ番号が「14h」となる記憶領域のみにアクセスし、他の記憶領域にはアクセスしない。
自動書込パラメータに「100」の値を設定すると、オートインクリメントが許可され、レジスタアドレスが指定するアクセス開始位置の領域にアクセスした後は、レジスタ番号が増加する方向に領域を移動しながら順にアクセスを繰り返す。そして、レジスタ番号が最終の「1Bh」となる記憶領域にアクセスした後は、レジスタ番号が「00h」となる記憶領域にアクセスし、再度、レジスタ番号が増加する方向に領域を移動しながら順にアクセスを繰り返す。例えば、レジスタアドレスが「10100」であれば、レジスタ番号が「14h」となる記憶領域にアクセスした後は、レジスタ番号が「15h」→「16h」→・・→「1Bh」→「00h」→「01h」→・・となる領域(即ち、全ての領域)に、繰り返しアクセスする。
自動書込パラメータに「101」の値を設定すると、自動書込パラメータに「100」の値を設定した場合と同様に、レジスタアドレスが指定するアクセス開始位置の領域にアクセスした後は、レジスタ番号が増加する方向に領域を移動しながら順にアクセスを繰り返す。但し、一旦、レジスタ番号が「11h」となる記憶領域にアクセスした後は、レジスタ番号が「02h」となる記憶領域にアクセスし、以降、レジスタ番号が「02h」〜「11h」となる区間の記録領域(LEDの輝度調整に関する領域)に繰り返しアクセスする。例えば、レジスタアドレスが「10100」であれば、レジスタ番号が「14h」となる記憶領域にアクセスした後は、レジスタ番号が「15h」→「16h」→・・→「1Bh」→「00h」→「01h」→・・となる領域に、順にアクセスする。そして、レジスタ番号が「11h」となる記憶領域にアクセスした後は、レジスタ番号が「02h」→「03h」→・・→「11h」→「02h」→「03h」→・・となる領域に、繰り返しアクセスする。
自動書込パラメータに「110」の値を設定すると、自動書込パラメータに「100」の値を設定した場合と同様に、レジスタアドレスが指定するアクセス開始位置の領域にアクセスした後は、レジスタ番号が増加する方向に領域を移動しながら順にアクセスを繰り返す。但し、一旦、レジスタ番号が「13h」となる記憶領域にアクセスした後は、レジスタ番号が「12h」となる記憶領域にアクセスし、以降、レジスタ番号が「12h」〜「13h」となる区間の記録領域(LEDの点滅周期に関する領域)を繰り返しアクセスする。例えば、レジスタアドレスが「10100」であれば、レジスタ番号が「14h」となる記憶領域にアクセスした後は、レジスタ番号が「15h」→「16h」→・・→「1Bh」→「00h」→「01h」→・・となる領域に、順にアクセスする。そして、レジスタ番号が「13h」となる記憶領域にアクセスした後は、レジスタ番号が「12h」→「13h」→「12h」→「13h」→・・となる領域に、繰り返しアクセスする。
自動書込パラメータに「111」の値を設定すると、自動書込パラメータに「100」の値を設定した場合と同様に、レジスタアドレスが指定するアクセス開始位置の領域にアクセスした後は、レジスタ番号が増加する方向に領域を移動しながら順にアクセスを繰り返す。但し、一旦、レジスタ番号が「13h」となる記憶領域にアクセスした後は、レジスタ番号が「02h」となる記憶領域にアクセスし、以降、レジスタ番号が「02h」〜「13h」となる区間の記録領域(LEDの輝度及び点滅周期に関する領域)に繰り返しアクセスする。例えば、レジスタアドレスが「10100」であれば、レジスタ番号が「14h」となる記憶領域にアクセスした後は、レジスタ番号が「15h」→「16h」→・・→「1Bh」→「00h」→「01h」→・・となる領域に、順にアクセスする。そして、レジスタ番号が「13h」となる記憶領域にアクセスした後は、レジスタ番号が「02h」→「03h」→・・→「13h」→「02h」→「03h」→・・となる領域に、繰り返しアクセスする。
図17に戻り、コントロールレジスタへの設定データ1802に続いて、ワークレジスタへの設定データ1803が出力される。この設定データ1803は、図16において2番目以降に送信される「DATA」に対応するものである。
自動書込パラメータを「000」とした場合には、この設定データ1803は、レジスタアドレスが指定する1箇所の記憶領域を更新するために必要な8ビットのデータとなる。自動書込パラメータを「000」以外の値とした場合には、この設定データ1803は、レジスタアドレスが指定する記憶領域を先頭に、複数の領域を繰り返し更新するために必要な8の倍数となるビットのデータとなる。
図18は、本発明の第1の実施形態のマスタIC570が、スレーブの個別アドレスを指定して装飾制御装置610に演出制御データを設定する場合において、マスタIC570とI2CI/Oエクスパンダ615との間で授受される演出制御データに具体的な数値を適用したものである。本図では、オートインクリメントを禁止して、ワークレジスタの1箇所の記憶領域だけを更新する演出制御データを例示しており、I2CI/Oエクスパンダ615のPORT0端子〜PORT3端子に接続されるLEDの発光状態を更新する場合を想定している。
まず、はじめに出力される8ビットのデータ1901には、送信先の装飾制御装置610のI2CI/Oエクスパンダ615のスレーブアドレスを示す「1101100」が割り当てられている。
次に出力される8ビットのデータ1902には、自動書込パラメータ、及びLEDの出力データを設定するために割り当てられているI2CI/Oエクスパンダ615の出力設定レジスタ635のコントロールレジスタに設定される値が含まれる。
ここでは、I2CI/Oエクスパンダ615のPORT0端子〜PORT3端子に接続されるLEDの発光状態を設定するので、レジスタアドレスにはLEDOUT0(アドレス=10100)を指定することにする。
なお、自動書込パラメータには、オートインクリメントを禁止するために「000」が指定されている。
次に、出力される8ビットのデータ1903には、送信先の装飾制御装置610によって制御される装飾装置620の発光態様を設定するデータが含まれる。具体的には、LEDOUT0レジスタに設定されるデータが割り当てられている。これにより、I2CI/Oエクスパンダ615のPORT0端子〜PORT3端子に接続されるLEDの発光状態(点灯、消灯、点滅など)が指定され、指定された状態でLEDが発光する。
このようにして、I2CI/Oエクスパンダ615のPORT0端子〜PORT3端子のLEDの発光状態が制御されるが、I2CI/Oエクスパンダ615の他のPORT端子(PORT4〜PORT15)も、コントロールレジスタデータ1902の値を指定して、出力データ1903を設定することで制御可能である。PORT端子に、モーターやソレノイドが接続されていても、同様に制御される。
図19は、本発明の第1の実施形態の演出制御データの別の形態を説明する図である。本図では、オートインクリメントを許可して、ワークレジスタの全ての記憶領域を更新する場合を想定しており、演出制御データに含まれる各データの送信順序を規定している。
まず、マスタIC570は、制御対象となる装飾制御装置610の個別アドレスを特定可能な8ビットのデータ(図18のデータ1901と同一フォーマットのデータ)を送信する。
次に、マスタIC570は、制御対象のI2CI/Oエクスパンダ615の出力設定レジスタ635のコントロールレジスタに設定されるデータ(図18のデータ1902と同一フォーマットのデータ)を送信する。本図においては、オートインクリメントを許可してワークレジスタの全ての記憶領域を更新するため、自動書込パラメータには「100」が指定され、書き込み先又は読み出しの開始位置を指定するレジスタアドレスには、ワークレジスタの先頭領域となる「00h」が指定される。
このため、コントロールレジスタ設定値を受信した後の制御対象となる装飾制御装置610のI2CI/Oエクスパンダ615においては、レジスタ番号が「00h」の記憶領域(MODE1レジスタ)が最初に更新されることになる。
次いで、マスタIC570は、コントロールレジスタ設定値の送信後、MODE1レジスタに書き込む値(合計8ビット)を送信する。I2CI/Oエクスパンダ615は、当該書き込み値を受信するとMODE1レジスタの値を更新し、レジスタ番号をインクリメントして次の「01h」の記憶領域(MODE2レジスタ)を更新するための準備をする。
次いで、マスタIC570は、MODE2レジスタに書き込む値(合計8ビット)を送信し、以降、レジスタ番号が「02h」〜「1Bh」となる残りの記憶領域のレジスタに対して、順に設定値を送信する。I2CI/Oエクスパンダ615は、当該書き込み値を受信する毎に対応するレジスタの値を更新し、レジスタ番号をインクリメントして次の記憶領域を更新するための準備を繰り返すことで、ワークレジスタに割り当てられた「00h」〜「1Bh」の全てのレジスタの値が更新される。
なお、I2CI/Oエクスパンダ615は、ワークレジスタの最終となる「1Bh」の記憶領域を更新すると、レジスタ番号は「00h」に変更して、MODE1レジスタの更新を待つ状態となる。
図20は、本発明の第1の実施形態のマスタIC570がI2CI/Oエクスパンダ615を初期化するときに、マスタIC570からI2CI/Oエクスパンダ615へ送信される初期化指示データのデータフォーマットを説明する図である。
演出制御装置550のCPU551がマスタIC570に対して装飾制御装置610の初期化を行うように指示すると、マスタIC570は、配下に接続している全ての装飾制御装置610に初期化指示データを送信する。
はじめに出力される8ビットのデータ2001には、図18に示す固定アドレス「110」と、共通アドレスであるリセットアドレス「1011」(図12参照)とが含まれる。なお、このデータ2001は、図16における「ADRESS」に対応するものであり、「R/W」のビットには、書き込みを示す「0」が設定される。
次に出力される8ビットのデータ2002では、第1所定値「10100101」が出力さて、次に出力される8ビットのデータ2003では、第2所定値「01011010」が出力される。なお、このデータ2002は、図16において1番目に送信される「DATA」に対応し、データ2003は、図16において2番目に送信される「DATA」に対応する。
マスタIC570に接続されるすべてのI2CI/Oエクスパンダ615は、リセットアドレス、第1所定値、及び第2所定値から構成される初期化指示データを受信すると、自身の初期化を行う。
リセットアドレスの出力後に、第1所定値及び第2所定値を出力するようにしたのは、マスタIC570がリセットアドレス「1011」を送信していないにもかかわらず、ノイズなどの影響で、I2CI/Oエクスパンダ615が誤ってリセットアドレス「1011」を取り込んでしまい、誤ったタイミングで初期化が行われることを防止するためである。
また、リセットアドレスは、個別アドレスとは異なって、全て(換言すれば複数)のI2CI/Oエクスパンダ615に共通なアドレスである。そのため、リセットアドレスを含んだ初期化指示データを1回送信するだけで、全て(複数)のI2CI/Oエクスパンダ615を選択して初期化することになるので、I2CI/Oエクスパンダ615を個別に選択して初期化を指示する方法と比較すると、高速に初期化を指示することが可能となる。
なお、図20では、第1所定値と第2所定値とを異なる値としたが、同じ値であってもよい。また、第1所定値及び第2所定値のいずれかが1回送信されるようにしてもよい。
図21は、本発明の第1の実施形態の異常判定テーブル2100を説明する図である。
異常判定テーブル2100は、演出制御装置550のRAM553に格納される。異常判定テーブル2100は、演出制御装置550のマスタIC570と当該マスタIC570に接続されるI2CI/Oエクスパンダ615との接続状態を監視するものであり、接続状態の確認結果に対応して、該当するI2CI/Oエクスパンダ615に対応した後述のエラーフラグ2105が設定される。
異常判定テーブル2100は、I/Oエクスパンダアドレス2101、スレーブアドレス2102、エラーカウンタ2103、比較値2104、及びエラーフラグ2105を含む。
I/Oエクスパンダアドレス2101は、マスタIC570に接続されるI2CI/Oエクスパンダ615のA0〜A3の端子に設定されているアドレス(図8参照)に対応している。
スレーブアドレス2102には、図12に示すI2CI/Oエクスパンダアドレステーブル1200に登録されているスレーブアドレスが登録される。
エラーカウンタ2103は、マスタIC570からI2CI/Oエクスパンダ615への演出制御データの送信に対して、I2CI/Oエクスパンダ615からのACKが受信できたか否かを監視した際に、このACKの受信に2回連続して失敗するとインクリメントされるものである。
比較値2104には所定値が登録される。エラーフラグ2105には、当該エントリのI2CI/Oエクスパンダ615との接続状態に異常が発生したか否かを示すエラーフラグが登録される。
具体的には、インクリメントされたエラーカウンタ2103の値が、比較値2104に登録された所定値に達した場合に、エラーフラグ2105にONが設定されて当該エントリのI2CI/Oエクスパンダ615に異常が発生したことが登録される。
なお、I/Oエクスパンダアドレス2101に登録された「0110」のI2CI/Oエクスパンダ615は、図8Bに示すように、役物駆動SOL560や役物駆動MOT561といった可動装置を制御している。そこで、このI2CI/Oエクスパンダ615を備える装飾制御装置510を、可動制御装置(可動グループ単位制御手段)ということにする。
一方、I/Oエクスパンダアドレス2101に登録された「0110」以外のI2CI/Oエクスパンダ615は、図8Aに示すように、LED等の発光装置を制御している。そのため、このI2CI/Oエクスパンダ615を備える装飾制御装置510を、前述の可動制御装置と区別するために、発光制御装置(発光グループ単位制御手段)ということにする。
図21では、可動制御装置(I/Oエクスパンダアドレス2101に登録された値が「0110」)のエントリの比較値2104に登録される所定値が「100」となっており、発光装飾制御装置のエントリの比較値2104に登録される所定値「300」とは異ならせている。つまり、可動制御装置の比較値2104を、発光制御装置の比較値2104よりも低い値に設定している。
これは、可動制御装置に異常が発生している場合には、役物駆動MOT561が回転しすぎて、可動役物60が動作可能な範囲を超えて可動してしまい、可動役物60及び可動役物付近の部材を破損してしまうことを防止するため、可能な限り短時間で異常判定することを意図しているからである。
具体的には、本実施形態では、後述するように、発光制御装置のデータ出力処理(図22参照)は、VDP割込(約33.3ms周期)に同期して実行されるようし、可動制御装置のデータ出力処理をタイマ割込(2ms周期)に同期して実行されるようにしている。
前述したように、マスタIC570からI2CI/Oエクスパンダ615への2回目の演出制御データの送信に対して、I2CI/Oエクスパンダ615からのACKが受信できなければ、エラーカウンタ2103がインクリメントされる。
したがって、可動制御装置に異常が発生している場合には、データ出力処理の実行周期が2msで、比較値2104が「100」であるので、2ms×100=0.2sで可動制御装置に異常が発生したことを検出できる。なお、発光制御装置に異常が発生している場合には、データ出力処理の実行周期が33msで、比較値2104が「300」であるので、33.3ms×300≒10sで発光制御装置に異常が発生したことを検出する。
このため、可動制御装置のエラー判定を発光制御装置のエラー判定よりも頻繁に行われ、可動制御装置に異常が発生したことを発光制御装置に異常が発生したことよりも早く検出することができるので、可動役物60が動作可能な範囲を超えて可動してしまい、可動役物60及び可動役物付近の部材を破損してしまうことを防止できる。
これに対して、LED等の発光装置は、誤動作によって破損する恐れが少ないため、発光制御装置に関する異常判定に時間を要しても問題が生じることはない。
従って、異常判定を短時間で行う必要がある装飾制御装置510に限定して判定の周期を短縮し、他の装飾制御装置510の異常判定を余裕のある周期で行うので、処理負担のバランスを考慮した異常判定処理を実行することが可能となる。
図22は、本発明の第1の実施形態の演出制御装置550による処理のフローチャートである。
図22に示す演出制御装置550の処理は、演出制御装置550のCPU551によって実行される。
演出制御装置550は、演出制御装置550に電源が投入されると、まずステップ2201〜2203の処理を実行し、ステップ2204の処理でVDP556から画像更新周期と同期する同期信号(例えば、33ms秒周期の同期信号)が割込信号としてCPU551に入力されるまで待機する。そして、以降は、VDP556から画像更新周期と同期する同期信号が割込信号としてCPU551に入力される毎に、ステップ2205〜2214の処理を繰り返し実行する。
まず、演出制御装置550は、演出制御装置550のRAM553を初期化する(2201)。
そして、演出制御装置550は、入出力I/F558とNORゲート回路590とを介してリセットパルスをマスタIC570へ入力し、マスタIC570をハード的に初期化する(2202)。
そして、演出制御装置550は、マスタIC570に接続されたすべての装飾制御装置610のI2CI/Oエクスパンダ615を初期化するために、マスタIC570から初期化指示データを出力するスレーブリセット処理を実行する(2203)。スレーブリセット処理は、図25で詳細を説明する。
次に、演出制御装置550は、VDP556から画像更新周期と同期する同期信号(VDP割込)の受け入れを許可する(2204)。このとき、タイマ割り込みの受け入れも許可される。
そして、演出制御装置550は、表示装置53に画像を表示するために、VDP556に画像を表示させる指令となるデータを出力し(2205)、スピーカ30から音を遊技状態に応じて出力させるために、音制御データを音LSI557に出力し、音LSI557に音制御データに基づいてスピーカ30から音を出力させる(2206)。
次に、演出制御装置550は、発光制御装置550に演出制御データをマスタIC570から出力する発光制御スレーブ出力処理を実行する(2207)。発光制御スレーブ出力処理は、図24で詳細を説明する。
そして、演出制御装置550は、VDP556に次に出力されるデータを編集し(2208)、音LSI557に出力される音制御データを編集し(2209)、各グループの発光制御装置に次に出力される演出制御データを編集する(2210)。
次に、演出制御装置550は、異常判定テーブル2100を参照し、エラー判定処理を実行する(2211)。
具体的には、演出制御装置550は、異常判定テーブル2100の可動制御装置に対応するエントリのエラーフラグ2105がONとなっているか否か、つまり可動制御装置に異常が発生しているか否かを判定する。
そして、可動制御装置に異常が発生していないと判定された場合に、演出制御装置550は、異常判定テーブル2100を参照し、すべての発光制御装置のエラーフラグ2105(予備判定結果)がONになっているか、つまりすべての発光制御装置で異常が発生しているか否かを判定する。言い換えれば、エラーフラグ2105がOFFとなっている発光制御装置が1つでもあるか否かを判定する。
次に、演出制御装置550は、ステップ2211の処理の判定結果においてリセット条件が成立しているか否かを判定する(2212)。
具体的には、ステップ2211の処理の時点で可動制御装置のエラーフラグがONになっている場合には、ステップ2212の処理にてリセット条件成立とみなされる。または、ステップ2211の処理の時点ですべてのエラーフラグがONになっている場合(エラーフラグ2105がOFFとなっている発光制御装置が存在しない場合)には、ステップ2212の処理にてリセット条件成立とみなされる。その他の場合は、ステップ2212の処理にてリセット条件が成立していないとみなされる。
ステップ2212の処理でリセット条件成立と見なされた場合、演出制御装置550は、マスタIC570を初期化し(2213)、マスタIC570から、マスタIC570に接続されるすべてのI2CI/Oエクスパンダ615に対して同時に初期化指示データを出力するスレーブリセット処理を実行し(2214)、その後、VDP556から同期信号がCPU551に入力されるまで待機する。
このように、リセット条件が成立したと判定された場合には、ステップ2214の処理で、マスタIC570に接続されるすべてのI2CI/Oエクスパンダ615に対して、同時に初期化を指示するので、言い換えれば、全てのI2CI/Oエクスパンダ615を同時に選択して初期化することになるので、I2CI/Oエクスパンダ615を個別に選択して初期化を指示する方法と比較すると、高速に初期化を行うことができ、I2CI/Oエクスパンダ615を正常な状態へ高速に復帰させることができる。
なお、全てのI2CI/Oエクスパンダ615へ入力されるRESET端子(図7参照)とCPU551とを電気的に接続し、CPU551から一斉に、全てのI2CI/Oエクスパンダ615のRESET端子へリセット信号を送信する構成としても、全てのI2CI/Oエクスパンダ615を同時に選択して初期化することは可能である。
なお、ステップ2212の処理でリセット条件成立と見なされた場合は、マスタIC570において異常が発生していることが考えられるので、ステップ2213の処理でマスタIC570も初期化するようにしている。
マスタIC570は、CPU551からの指令によって、接続線SDA及び接続線SCLの信号レベルを制御する信号レベル制御手段として機能しているので、すべての発光制御装置にてデータ送信に関する異常が発生している場合には、マスタIC570自身に異常が発生していることも考えられる。
そのため、すべての装飾制御装置610にてデータ送信に関する異常が発生している場合には、念のために、CPU551(演算処理手段)によりマスタIC570が初期化される。これにより、マスタIC570で異常が発生している場合であっても確実にマスタIC570を制御可能にすることができる。
この場合、CPU551は、入出力I/F558とNORゲート回路590とを介してリセットパルスをマスタIC570へ入力し、マスタIC570をハード的にリセットする。なお、CPU551から、バス563を介してリセットレジスタ573に情報を書き込むことにより、マスタIC570をソフト的にリセットしてもよい。
一方、ステップ2212の処理でリセット条件が成立していないとみなされた場合は、ステップ2213、及び2214の処理を実行しないで、VDP556から同期信号がCPU551に入力されるまで待機する。
このように、図22による処理では、表示装置53の画像を更新する周期と同期して、演出制御装置550のマスタIC570から装飾制御装置610のI2CI/Oエクスパンダ615へ演出制御データを送信し、I2CI/Oエクスパンダ615は受信した演出制御データに基づいて演出装置620を制御するので、表示装置53における演出と演出装置620における演出とが調和し、遊技者に違和感を与えないので、興趣を高めることができる。
また、表示装置53の画像を更新する周期と同期してマスタIC570から送信された演出制御データが装飾制御装置610で受信されると、その都度、I2CI/Oエクスパンダ615によってワークレジスタの値が更新される。そのため、毎回ワークレジスタの値が最新の状態に更新されるので、ノイズ等でワークレジスタの値が破壊されても、正常な値に復帰することが可能である。
また、表示装置53の画像を更新する周期と同期して、ステップ2211の処理で実行されるエラー判定処理を実行するので、エラー判定の実行頻度を適切にできる、つまり、エラー判定処理の実行頻度が多すぎると、演出制御装置550のCPU551の処理負荷が増大してしまい、逆に、エラー判定処理の実行頻度が少なすぎると、異常が発生したことを適切に検出できなくなってしまうことになるので、適度な頻度でエラー判定を行うことにより処理の不具合を防止することができる。
図23は、本発明の第1の実施形態のタイマ割込処理のフローチャートである。
タイマ割込処理は、タイマ割込が許可されているという条件の下で、2ms周期で発生するタイマ割込をCPU551が受け付けた場合に、CPU551によって図22の処理に割り込む形態で実行される。
まず、演出制御装置550は、可動制御装置を選択し(2301)、ステップ2301の処理で選択された可動制御装置にマスタIC570からデータを出力するスレーブ連続出力処理を実行する(2302)。スレーブ連続出力処理は、図24で詳細を説明する。
そして、演出制御装置550は、可動制御装置に次に出力されるデータを編集し(2303)、タイマ割込処理を終了する。
図24は、本発明の第1の実施形態の発光制御スレーブ出力処理のフローチャートである。
発光制御スレーブ出力処理は、図22に示すステップ2207の処理である。
演出制御装置550は、複数の発光制御装置から、一つの発光制御装置を選択し(2401)、ステップ2401の処理で選択された発光制御装置にマスタIC570からデータを出力するスレーブ連続処理を実行する(2402)。
そして、演出制御装置550は、すべての発光制御装置にデータを出力したか否かを判定する(2403)。
ステップ2403の処理で、すべての発光制御装置にデータを出力していないと判定された場合、次の発光装飾制御装置を選択し(2404)、ステップ2404の処理で選択された発光制御装置にマスタIC570からデータを出力するスレーブ連続処理を実行する(2402)。
一方、ステップ2403の処理で、すべての発光制御装置にデータを出力したと判定された場合、発光制御スレーブ出力処理を終了し、図22に示すステップ2208の処理に進む。
図25は、本発明の第1の実施形態のスレーブ連続処理のフローチャートである。
まず、演出制御装置550は、ACKの返答信号の受信に失敗したことを計数するACKカウンタに0を設定する(2501)。
次に、演出制御装置550は、選択されている装飾制御装置610に出力するデータを生成する(2502)。
そして、演出制御装置550は、ステップ2502の処理で生成されたデータを出力用BUF572に設定するバッファ設定処理を実行する(2503)。
そして、マスタIC570は、接続線SDA及び接続線SCLの信号レベルを、スタート条件を示す信号レベルに変化させる(2504)。
具体的には、マスタIC570は、接続線SCLの信号レベルをHIGHに維持したまま、接続線SDAの信号レベルをHIGHからLOWに変化させることよってスタート条件を示す信号を出力する。
なお、マスタIC570は、スタート条件を示す信号を出力後、制御対象となる装飾制御装置610へデータを送るために、接続線SCLのレベルをLOWに変更する。
そして、マスタIC570は、出力用BUF572に記憶されているデータから、制御対象となる装飾制御装置610のスレーブアドレスの8ビット分のデータを、接続線SCLの信号レベルを変化させながら、接続線SDAを介して出力する(2505)。
ステップ2505の処理で出力されるアドレスデータは8ビットのデータ列であるため、1回の出力処理(接続線SCLが8回HIGHに変化する間の出力)でアドレスデータが出力される。
ステップ2505の処理で出力されたアドレスデータが装飾制御装置610に入力された場合、装飾制御装置610のI2CI/Oエクスパンダ615は、入力されたアドレスデータと自身に設定されているアドレスとが一致するか否かを判定する。
入力されたアドレスデータと一致するアドレスが設定されているI2CI/Oエクスパンダ615は、接続線SCLのLOWからHIGHへの変更回数が8回目になった直後であって、そのHIGHレベルとなっている接続線SCLがLOWレベルへと変化することを契機として、返答信号を接続線SDAからマスタIC570に出力する。
次に、マスタIC570は、ステップ2505の処理でアドレスデータが出力されてから所定時間以内にACKの返答信号がマスタIC570に入力されたか否かを確認する(2506)。
次に、マスタIC570は、ステップ2506の処理の確認結果に基づいて、ステップ2502の処理でアドレスデータが出力されてから所定時間以内にACKの返答信号が入力されているか否かを判定する(2507)。
ステップ2505の処理でアドレスデータが出力されてから所定時間以内にACKの返答信号が入力されていないと、ステップ2507の処理で判定された場合には、マスタIC570は、割り込みを発生させて(2508)、ACKの返答信号が入力されていないことをCPU551に知らせる。
CPU551は、ステップ2508の処理で発生した割り込みを受け付けると、ACKカウンタが0であるか否かを判定する(2509)。
ステップ2509の処理で、ACKカウンタが0であると判定された場合、ACKの返答信号の受信に失敗したことを計数するためにACKカウンタを+1更新し(2510)、再度同じデータを当該装飾制御装置610に送信するために、ステップ2502の処理に戻る。
一方、ステップ2509の処理で、ACKカウンタが0でないと判定された場合(つまり2回連続してACK信号を受信できなかった場合)、CPU551は、異常判定テーブル2100に登録されたエントリのうち、I/Oエクスパンダアドレス2101が選択された装飾制御装置610のI2CI/Oエクスパンダ615のアドレスと一致するエントリを選択し、選択されたエントリのエラーカウンタ2103をインクリメントする(2511)。
そして、CPU551は、ステップ2511の処理でインクリメントされたエラーカウンタ2103の値が比較値2104に達しているか否かを判定する(2512)。
ステップ2511の処理でインクリメントされたエラーカウンタ2103の値が比較値2104に達していると、ステップ2512の処理で判定された場合、CPU551は、異常判定テーブル2100に登録されたエントリのうち、選択された装飾制御装置610のエントリのエラーフラグをONに設定し(2513)、マスタIC570は、接続線SDA及び接続線SCLの信号レベルを、ストップ条件を示す信号レベルに変化させ(2514)、スレーブ連続出力処理を終了する。
一方、ステップ2511の処理でインクリメントされたエラーカウンタ2103の値が比較値2104に達していないと、ステップ2512の処理で判定された場合、ステップ2514の処理に進み、接続線SDA及び接続線SCLの信号レベルを、ストップ条件を示す信号レベルに変化させて、スレーブ連続出力処理を終了する。
一方、ステップ2502の処理でアドレスデータが出力されてから所定時間以内にACKの返答信号が入力されたと、ステップ2507の処理で判定された場合には、マスタIC570は、出力用BUF572に記憶されているすべてのデータを出力したか否かを判定する(2515)。
ステップ2515の処理で、出力用BUF572に記憶されているすべてのデータを出力していないと判定された場合には、マスタIC570は、次の1バイトのデータを選択された装飾制御装置610に出力し(2516)、ステップ2506の処理に進む。
なお、ステップ2505の処理で出力されたアドレスデータが自身に設定されたアドレスと一致する装飾制御装置610のI2CI/Oエクスパンダ615は、ステップ2516の処理で出力されたデータを、接続線SCLがLOWからHIGHになったタイミングで取り込み、次いで接続線SCLがHIGHからLOWへ変化することを契機に、返答信号を接続線SDAからマスタIC570に出力する。
一方、ステップ2515の処理で、出力用BUF572に記憶されているすべてのデータを出力したと判定された場合には、マスタIC570は、割り込みを発生させて(2517)、出力用BUF572に記憶されているすべてのデータを出力したことをCPU551に通知する。
そして、CPU551は、異常判定テーブル2100に登録されたエントリのうち、選択された装飾制御装置610のエントリのエラーカウンタ2103をクリアし(2518)、当該エントリのエラーフラグ2105をオフに設定し(2519)、ステップ2514の処理に進み、マスタIC570がストップ条件を示す信号を出力して、スレーブ連続出力処理を終了する。
図25による処理では、マスタIC570は、8ビットのデータを出力後に、装飾制御装置610からの返答信号を取り込むことにより、データ転送の成否を判定し、データ転送が失敗している場合(つまり、NACKの返答信号がマスタIC570に入力された場合)、出力したデータを1回だけ再度出力するので、装飾制御装置610にデータを可能な限り確実に出力することができ、演出装置の誤動作を防止できる。また、出力したデータを1回だけ再度出力することにより、データ送信時間が必要以上に長くなることを防止できる。
なお、図25による処理で、ステップ2504の処理でマスタIC570がスタート条件を送信する際には、接続線SDAがHIGHになっている必要があるが、ノイズ等の影響によって、接続線SDAがLOWとなったまま変化しない状態が発生する場合がある。
本実施形態では、マスタIC570が装飾制御装置610のI2CI/Oエクスパンダ615に送信するスレーブアドレスには、R/W識別データが「0」(書き込みを意味する)となっているものだけを用いている(図11参照)が、ノイズ等の影響によって、R/W識別データが「1」(読み出しを意味する)となった状態で、I2CI/Oエクスパンダ615へ伝わることがある。
この場合、I2CI/Oエクスパンダ615は読み出しモードとなり、マスタIC570によって接続線SCLの信号レベルが変化することに対応して、I2CI/Oエクスパンダ615からマスタIC570へ、接続線SDAを介してデータを1ビットごと伝送する処理を行う。
このとき、I2CI/Oエクスパンダ615は、8ビットのデータを伝送するごとに、マスタIC570から接続線SDAを介してアクノリッジ信号を受信する処理を行い、アクノリッジ信号を受信するとさらに8ビットのデータ伝送を行い、以後、この8ビットのデータ伝送とアクノリッジ信号の確認を繰り返すが、この間は、接続線SDAがI2CI/Oエクスパンダ615によって占有されている状態となる。
一方で、I2CI/Oエクスパンダ615は、8ビットのデータ伝送後に、マスタIC570から接続線SDAを介してアクノリッジ信号を受信できないときは、接続線SDAを解放してデータ伝送を中止する。なお、I2CI/Oエクスパンダ615は、マスタIC570から接続線SDAを介してアクノリッジ信号を受信する際には、接続線SDAがLOWレベルであればアクノリッジ信号を受信したと解釈し、接続線SDAがHIGHレベルであればアクノリッジ信号を受信しないと解釈する。
よって、マスタIC570からのデータがノイズ等の影響により変化し、この変化したデータを勝手に受信して読み出しモードとなったI2CI/Oエクスパンダ615が発生してしまうと、接続線SDAがいつまでも解放されないことになる。
このような場合に、接続線SDAの信号レベルはLOWに維持されたままになり、マスタIC570と、本来送信を行うことを意図していた装飾制御装置610のI2CI/Oエクスパンダ615との間で接続線SDAを介した通信が行えなくなる。
そこで、マスタIC570は、ステップ2504の処理でスタート条件を示す信号を出力する前に、接続線SDAからデータが出力できる状態であるか否かを判定するために、接続線SDAの信号レベルがHIGHであるか否かを判定する。
接続線SDAの信号レベルがHIGHでないと判定された場合、接続線SDAからデータが出力できないので、ドライバ576Aによりトランジスタ578Aに動作可能な電圧を印加しないことによってトランジスタ578Aをオンさせずに(接続線SDAを解放した状態で)、接続SCLの信号レベルを少なくとも9回変化させる。
このような処理を行うことで、読み出しモードとなったI2CI/Oエクスパンダ615は、接続SCLの信号レベルの変化に合わせて接続線SDAにデータを出力するが、接続SCLの信号レベルの変化が少なくとも9回行われる途中において、マスタIC570からのアクノリッジ信号を確認するタイミングが発生する。このとき、接続線SDAは解放されているのでHIGHレベルとなり、読み出しモードとなったI2CI/Oエクスパンダ615は、アクノリッジ信号を受信しなかったと判断するので、データ伝送をやめて接続線SDAを解放することになる。
なお、この処理は、スタート条件を示す信号を出力する前だけでなく、マスタIC570が装飾制御装置610へデータを出力する前に行われるようにしてもよい。具体的には、ステップ1702、1707、及び1713の処理の前に実行されてもよい。
このようにして、読み出しモードとなった装飾制御装置610のI2CI/Oエクスパンダ615から強制的に接続線SDAを解放させるので、接続線SDAの信号レベルはHIGHに維持されるようになる。
図26は、本発明の第1の実施形態のスレーブリセット処理のフローチャートである。
スレーブリセット処理は、図22に示すステップ2203又は2214の処理で実行される。
まず、マスタIC570は、接続線SDA及び接続線SCLの信号レベルを、スタート条件を示す信号レベルに変化させる(2601)。
次に、マスタIC570は、リセットアドレス(図20参照)を示す1バイト分のデータを接続線SCLの信号レベルを変化させながら、接続線SDAを介して出力する送信する(2602)。
次に、マスタIC570は、データが出力されてから所定時間以内にACKの返答信号がマスタIC570に入力されたか否かを確認する(2603)。
次に、マスタIC570は、ステップ2603の処理の確認結果に基づいて、データが出力されてから所定時間以内にACKの返答信号が入力されているか否かを判定する(2604)。
ステップ2604の処理で、データが出力されてから所定時間以内にACKの返答信号が入力されていないと判定された場合、マスタIC570は、割り込みを発生させて(2605)、マスタIC570からデータを出力してから所定時間以内にACKの返答信号が入力されていないことを通知し、ステップ2601の処理に戻り、I2CI/Oエクスパンダ615を初期化するためのデータを再度出力する。
ステップ2604の処理で、データが出力されてから所定時間以内にACKの返答信号が入力されたと判定された場合、マスタIC570は、割り込みを発生させて(2606)、マスタIC570からデータを出力してから所定時間以内にACKの返答信号が入力されたことを通知する。
そして、マスタIC570は、初期化指示データを構成する3種類のデータ(図20にて図示している、リセットアドレスを含むデータ2001、第1所定値のデータ2002、第2所定値のデータ2003)を全て出力したか否かを判定する(2607)。なお、これらのデータは出力順序が予め定められているので、第2所定値のデータ2003が出力された直後か否かを判定すればよいことになる。
ステップ2607の処理で、初期化指示データを構成するすべてのデータを出力していないと判定された場合には、マスタIC570は、次に送信される図20に示す第1所定値(第1所定値の送信に成功していれば第2所定値)を示すデータを出力し(2608)、ステップ2603の処理に進む。
一方、ステップ2607の処理で、初期化指示データを構成するすべてのデータを出力したと判定された場合、つまり、図20に示す第2所定値を示すデータを出力した場合には、マスタIC570は、マスタIC570は、接続線SDA及び接続線SCLの信号レベルを、ストップ条件を示す信号レベルに変化させ(2609)、スレーブリセット力処理を終了する。
マスタIC570に接続されたすべてのI2CI/Oエクスパンダ615は、リセットアドレス、第1所定値、及び第2所定値から構成されたリセット信号を受信すると、I2CI/Oエクスパンダ615のレジスタの初期化を行う。
したがって、マスタIC570は、マスタIC570に接続されたすべてのI2CI/Oエクスパンダ615に対して同時に初期化の指示を行っている。
このように、I2CI/Oエクスパンダ615に異常が発生している場合にI2CI/Oエクスパンダ615を初期化する必要があるので、I2CI/Oエクスパンダ615の初期化は、高速な初期化が要求される。このため、本実施形態では、マスタIC570に接続されたすべてのI2CI/Oエクスパンダ615を同時に初期化するので、高速な初期化を実現できる。
図27は、本発明の第1の実施形態の遊技機全体に設けられる装飾制御装置610の接続形態を示す図であり、特に前面枠3に設けられる装飾制御装置610について説明する図である。
装飾制御装置610は、主に、遊技盤10及び前面枠3に取り付けられている。前面枠3に取り付けられた装飾制御装置610が制御するLEDは、装飾部材9、照明ユニット11、及び異常報知LED29を照射するものである。
遊技機には複数の仕様があり、通常版遊技機1と廉価版遊技機1とがある。通常版遊技機1は、標準仕様の装飾部材9を備える前面枠3(通常版前面枠)を備えている。廉価版遊技機1は、標準仕様の装飾部材9よりも廉価なコストで構成された装飾部材9’を備える前面枠3(廉価版前面枠)を備えている。
通常版前面枠3と廉価版前面枠3とは、装飾部材9を照射するために取り付けられる装飾制御装置610の数が相違する。具体的には、通常版前面枠3の装飾部材9は四つの装飾制御装置610により照射され、廉価版前面枠3の装飾部材9’は二つの装飾制御装置610により照射される。装飾部材9は最大60個のLEDによって照射されるのに対して、装飾部材9’は最大30個のLEDによって照射されるので、装飾部材9のほうが装飾部材9’よりも明るくなる。このため、通常版前面枠3が取り付けられた場合の装飾制御装置610の制御と、廉価版前面枠3が取り付けられた場合の装飾制御装置610の制御とが異なる。
通常版前面枠3に取り付けられる装飾制御装置610のI2CI/Oエクスパンダ615のアドレスと廉価版前面枠3に取り付けられる装飾制御装置610のI2CI/Oエクスパンダ615の固有アドレスとが同じであると、通常版前面枠3が取り付けられた場合の制御を行う通常版用の演出制御装置550と、廉価版前面枠3が取り付けられた場合の制御を行う廉価版用の演出制御装置550と、を用意して、取り付けられる前面枠3に対応して演出制御装置550を取り換えなければならない。したがって、製造メーカーが遊技機1を出荷する場合に、通常版用の演出制御装置550と廉価版用の演出制御装置550とを用意しなければならず、製造コストが高くなってしまう。
このため、本実施形態では、通常版前面枠3と廉価版前面枠3とで制御が異なる装飾制御装置550のI2CI/Oエクスパンダ615の個別アドレスには、異なるアドレスを割り当て、一つの演出制御装置550が通常版用の制御と廉価版用の制御とを行えるようにした。これによって、通常版用の演出制御装置550と廉価版用の演出制御装置550とを用意する必要がなくなり、製造コストを削減できる。
具体的には、通常版前面枠3の装飾部材9を照射するLEDに接続される四つの装飾制御装置610(第1の仕様依存型グループ単位制御手段)のI2CI/Oエクスパンダ615の固有アドレスには、「1001」、「1010」、「1100」、及び「1101」が割り当てられる。
一方、廉価版前面枠3の装飾部材9’を照射するLEDに接続される二つの装飾制御装置610のI2CI/Oエクスパンダ615(第2の仕様依存型グループ単位制御手段)のアドレスには、通常版前面枠3の装飾部材9を照射するLEDに接続される四つの装飾制御装置610のI2CI/Oエクスパンダ615の固有アドレスと異なる「1110」及び「1111」が割り当てられる。
そして、通常版前面枠3と廉価版前面枠3の何れに使用される場合であっても、演出制御装置550からは、装飾部材9、9’のI2CI/Oエクスパンダ615に割り当てられた固有アドレスである「1001」、「1010」、「1100」、「1101」、「1110」及び「1111」の全てを含んだ演出制御データが、装飾制御装置610に送信される。
したがって、通常版用の制御と廉価版用の制御とを行えるようにした一つの演出制御装置550で通常版前面枠3の装飾制御装置610と廉価版用の装飾制御装置610とを制御できるので、製造コストを削減できる。
また、通常版前面枠3と廉価版前面枠3とで同じ制御をする照明ユニット11及び異常報知LED29を照射するLEDに接続された装飾制御装置610のI2CI/Oエクスパンダ615には、通常版前面枠3と廉価版前面枠3とで異なるアドレスにする必要はなく、同じアドレスが割り当てられる。
なお、廉価版前面枠3では、固有アドレスが「1001」、「1010」、「1100」、「1101」となるI2CI/Oエクスパンダ615は使用されず、通常版前面枠3では、固有アドレスが「1110」、「1111」となるI2CI/Oエクスパンダ615は使用されない。そのため、何れの仕様の前面枠3であっても、異常判定テーブル2100(図21)において、接続されないI2CI/Oエクスパンダ615が存在することになるが、前述したように、異常判定テーブル2100に登録されているI2CI/Oエクスパンダ615の一つと、マスタIC570との間でデータ送受信が行われれば、正常な状態として処理されるので問題はない。
(第2の実施形態)
以下に本発明の第2の実施形態について説明する。
図28は、本発明の第2の実施形態を説明する図である。第2の実施形態では、演出制御装置550に複数のマスタIC570を備えた構成となっている。
図28では、演出制御装置550は、三つのマスタIC570A〜570Cを備える。
マスタIC570Aは、中継基板600Aと接続され、中継基板600Aは、装飾制御装置610A〜610Cと直列に接続されるとともに、装飾制御装置610D〜610Fと直列に接続される。
マスタIC570Bは、中継基板600Bと接続され、中継基板600Bは、装飾制御装置610G〜610Iと直列に接続されるとともに、装飾制御装置610J〜610Lと直列に接続される。
マスタIC570Cは、中継基板600Cと接続され、中継基板600Cは、装飾制御装置610M〜610Oと直列に接続されるとともに、装飾制御装置610P〜610Rと直列に接続される。
ここで、一つのマスタIC570に接続されている装飾制御装置610群を系統という。系統とは、具体的には、マスタIC570Aであれば、中継基板600A、装飾制御装置610A〜610Fである。
マスタIC570は、接続されている装飾制御装置610にデータを出力可能であるため、マスタIC570は、接続されている装飾制御装置610を制御可能である。
このような構成により、1個のマスタIC570で制御できるI2CI/Oエクスパンダ615の数の制限(図12に示すように14個を上限とする)がなくなり、多彩な演出制御を可能とすることが期待できる。
本実施形態でも、異常判定テーブル2100(図21)に登録されたI2CI/Oエクスパンダ615のうちの一つのI2CI/Oエクスパンダ615とマスタIC570との間でデータ送受信が行われれば、正常な状態として処理が行われるが、異常の判定、並びにI2CI/Oエクスパンダ615及びマスタIC570の初期化の処理を、各系統毎に独立して行う点が第1の実施形態とは異なっている。
本実施形態では、異常判定テーブル2100が各系統毎に用意されている。具体的には、マスタIC570Aと装飾制御装置610A〜610Fとの間で行われるデータ送受信の異常を装飾制御装置毎に判定する第1の異常判定テーブルと、マスタIC570Bと装飾制御装置610G〜610Lとの間で行われるデータ送受信の異常を装飾制御装置毎に判定する第2の異常判定テーブルと、マスタIC570Cと装飾制御装置610M〜610Rとの間で行われるデータ送受信の異常を装飾制御装置毎に判定する第3の異常判定テーブルの3種類のテーブルが存在する。
そして、何れかの異常判定テーブルにて、全てのI2CI/Oエクスパンダ615に関してデータ送受信異常が発生したと判定された場合には、当該異常判定テーブルに属する全ての装飾制御装置610を初期化し、あわせて対応するマスタIC570も初期化する。但し、他の異常判定テーブルに属する装飾制御装置610やマスタIC570は初期化しない。
例えば、前述した第1の異常判定テーブルにて、全てのI2CI/Oエクスパンダ615に関してデータ送受信異常が発生したと判定された場合には、マスタIC570A及び装飾制御装置610A〜610Fのみを初期化し、他の、マスタIC570B、570C、及び装飾制御装置610G〜610Rは初期化しない。
なお、各マスタIC570A〜570Cを初期化する方法として、ソフトリセットとハードリセットとがある。
ソフトリセットでは、CPU551によって各マスタIC570A〜570Cのうちの一つが初期化される。具体的には、各マスタIC570A〜570Cには、各々リセットレジスタ(図4のリセットレジスタ573)を備えており、CPU551がバス563を介してこのリセットレジスタに特定値を書き込むと、特定値を書き込まれたリセットレジスタを備えるマスタICだけが初期化される。
ハードリセットでは、入出力I/F558に各マスタIC570A〜570CのRESET端子が接続されており、入出力I/F558に印加される電圧が所定時間ローに保持されると、RESET端子に印加される電圧も所定時間ローに保持され、全てのマスタIC570A〜570Cが初期化される。
本実施形態では、電源投入時には、ハードリセットによって、全てのマスタIC570A〜570Cを初期化し、合せて対応する装飾制御装置610を初期化する。そして、何れかの異常判定テーブルにて、全てのI2CI/Oエクスパンダ615に関してデータ送受信異常が発生したと判定された場合には、当該異常判定テーブルに属するマスタICのみをソフトリセットにより初期化し、合わせて対応する装飾制御装置610を初期化するが、他のマスタICや装飾制御装置610はリセットしない。
このように、演出制御装置550に複数のマスタIC570が備わる場合に、異常が発生したマスタICのみに対してリセットを行うので、遊技機1全体の装飾が一時停止することなく、遊技者に違和感を与えることを抑制できる。また、すべてのマスタIC570を同時に高速にリセットしたい場合には、ハードリセットによりリセットが行えるので、様々な態様のリセット処理を実施することができる。
なお、今回開示した実施の形態は、全ての点で例示であって制限的なものではない。また、本発明の範囲は前述した発明の説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味及び内容の範囲での全ての変更が含まれることが意図される。
特許請求の範囲に記載した以外の本発明の観点の代表的なものとして、次のものがあげられる。
(1)遊技を統括的に制御する遊技制御手段と、該遊技制御手段からの指令に対応して、遊技の演出を行う複数の演出装置を制御する演出制御手段と、を備える遊技機において、前記複数の演出装置を複数グループに分割し、該分割されたグループに属する演出装置を制御するためのグループ単位制御手段を各グループ毎に設け、前記演出制御手段を、複数の前記グループ単位制御手段を統括的に制御するグループ統括制御手段として構成し、前記グループ統括制御手段から前記グループ単位制御手段へタイミング信号を伝達するタイミング信号線、及び前記グループ統括制御手段と前記グループ単位制御手段との間でデータを通信するデータ線によって前記グループ統括制御手段と前記グループ単位制御手段とが接続されて、前記グループ統括制御手段と前記各グループ単位制御手段との間で相互にデータ通信を可能とし、前記グループ統括制御手段は、前記データ線の信号レベルを送信データに対応する信号レベルに設定しながら、前記タイミング信号線の信号レベルを繰り返し変化させることによって、前記グループ単位制御手段にデータを順次送信する送信手段と、前記送信手段によるデータ送信の後に、前記グループ単位制御手段からの返答信号を取り込む返答信号取込手段と、前記返答信号取込手段によって取り込まれた返答信号によりデータ送信の成否を判定する判定手段と、前記判定手段によって前記データ送信が失敗したと判定された場合に、前記グループ単位制御手段の初期化を指示するグループ初期化手段と、前記各グループ単位制御手段に対して、前記演出装置の出力態様を特定する演出制御情報を送信する演出制御情報送信手段と、を備え、前記グループ単位制御手段は、前記送信手段がデータ送信を行った前記データ線を介して、前記返答信号を前記グループ統括制御手段へ出力する返答信号出力手段を備え、前記演出制御情報送信手段は、複数のグループ単位制御手段を個別に選択してデータ送信を行い、前記グループ初期化手段は、複数のグループ単位制御手段を同時に選択して初期化を指示することを特徴とする遊技機。
(2)前記グループ初期化手段は、前記グループ単位制御手段に初期化指示データを送信することによって送信先のグループ単位制御手段に初期化を指示し、該初期化指示データと前記演出制御情報とが、前記送信手段により前記データ線を介して複数のグループ単位制御手段に送信されることを特徴とする(1)に記載の遊技機。
(3)前記各グループ単位制御手段には、複数のグループ単位制御手段の間で共通となる共通アドレスと、各グループ単位制御手段同士で相違する個別アドレスと、が予め割り当てられ、前記グループ初期化手段は、前記共通アドレスを含んだ初期化指示データを前記送信手段によって送信させ、前記演出制御情報送信手段は、前記送信手段によって前記演出制御情報を送信させる際に、該演出制御情報に前記個別アドレスを含ませることによって送信先のグループ単位制御手段を特定し、前記グループ単位制御手段は、前記送信手段によって送信されたデータに含まれるアドレスの内容を判別するアドレス判別手段を備えるとともに、前記アドレス判別手段によって、前記アドレスが自宛の個別アドレスであると判別した場合には、前記送信されたデータを演出制御情報として取り込み、当該演出制御情報に基づいて前記演出装置の出力態様を制御し、前記アドレス判別手段によって、前記アドレスが共通アドレスであると判別した場合には、前記送信されたデータを初期化指示データとして取り込み、当該初期化指示データに基づいて、自身を初期化することを特徴とする(2)に記載の遊技機。
(4)前記グループ単位制御手段には、互いに前記個別アドレスを異ならせて割り当てた第1、第2の仕様依存型グループ単位制御手段が含まれるとともに、当該遊技機には、前記第1、第2の仕様依存型グループ単位制御手段のうちの何れか一方が選択的に備えられ、前記演出制御情報送信手段は、前記第1、第2の仕様依存型グループ単位制御手段の何れを備えた場合であっても、該第1、第2の仕様依存型グループ単位制御手段の各々の個別アドレスを含んだ演出制御情報を前記送信手段によって送信させることを特徴とする(3)に記載の遊技機。
(5)前記判定手段は、前記グループ統括制御手段が制御するすべてのグループ単位制御手段に対してデータ送信の成否を判定し、前記グループ初期化手段は、前記グループ統括制御手段が制御するすべてのグループ単位制御手段に対してデータ送信が失敗したと前記判定手段によって判定された場合に、前記グループ統括制御手段が制御するすべての前記グループ単位制御手段に対して同時に初期化を指示することを特徴とする(1)から(4)の何れか一つに記載の遊技機。
(6)前記グループ統括制御手段は、前記演出装置の制御に係わる演算処理を行う演算処理手段と、前記演算処理手段からの指令に基づいて、前記データ線及びタイミング信号線の各信号レベルを制御する信号レベル制御手段と、を備え、前記グループ初期化手段が前記グループ単位制御手段に対して同時に初期化を指示する場合には、前記演算処理手段によって前記信号レベル制御手段が初期化されることを特徴とする(1)から(5)の何れか一つに記載の遊技機。
(7)前記グループ統括制御手段は、前記演出装置の制御に係わる演算処理を行う演算処理手段と、前記演算処理手段からの指令に基づいて、前記データ線及びタイミング信号線の各信号レベルを制御する複数の信号レベル制御手段と、を備え、前記複数の信号レベル制御手段の各々に対して前記グループ単位制御手段を接続し、前記判定手段は、前記グループ統括制御手段が制御するすべてのグループ単位制御手段に対してデータ送信の成否を判定するとともに、接続されるすべてのグループ単位制御手段にてデータ送信が失敗している信号レベル制御手段が存在するか否かを判定し、前記グループ初期化手段は、接続されるすべてのグループ単位制御手段にてデータ送信が失敗している信号レベル制御手段が存在すると前記判定手段によって判定された場合に、該信号レベル制御手段に接続されるすべての前記グループ単位制御手段に対して同時に初期化を指示するとともに、該信号レベル制御手段も初期化することを特徴とする(1)から(4)の何れか一つに記載の遊技機。
(1)に記載の発明によるとグループ統括制御手段からグループ単位制御手段へデータを送信すると、グループ単位制御手段からグループ統括制御手段へ返答信号が送信されるので、データ送信が行われたかを確認できる構成となり、誤作動を防止できる。このとき、グループ統括制御手段はグループ単位制御手段へ一本のデータ線を介してデータを送信し、グループ単位制御手段からグループ統括制御手段へも同じデータ線を介して返答信号が送信されるので、基板間の配線を少なくすることができる。また、グループ統括制御手段からグループ単位制御手段へデータを送信した直後に、グループ単位制御手段からグループ統括制御手段へ返答信号を送信するので、高速なデータ通信が可能となる。
さらに、演出制御情報送信手段は、複数のグループ単位制御手段を個別に選択して演出制御情報の送信を行う構成とすることにより、グループ単位制御手段毎に異なる演出制御情報が設定できる構成となる。一方で、グループ初期化手段は、複数のグループ単位制御手段を同時に選択して初期化の指示を行う構成とすることにより、グループ統括制御手段とグループ単位制御手段との間においてデータ送受信に不具合が発生した場合でも、複数のグループ単位制御手段を高速に復帰させることができる。
(2)に記載の発明によると初期化する初期化指示データと演出制御情報とが、ともに同一のデータ線を介してグループ単位制御手段へ送信される構成となるので、データ線を有効活用することができる。
(3)に記載の発明によると各グループ単位制御手段は、データ線を介してグループ統括制御手段からのデータを受け入れ、受け入れたデータが、自身に割り当てられた共通アドレス若しくは個別アドレスに対応するものか否かを判別する構成なので、初期化指示データ及び演出制御情報の双方を、データ線から確実に取得することができる。
(4)に記載の発明によると遊技機に、第1、第2の仕様依存型グループ単位制御手段の何れを設けた場合でも、グループ統括制御手段からの演出制御情報を共通のものとすることができるので、遊技機の仕様によって演出制御手段を取り換える必要がなくなり、製造コストを削減できる。
(5)に記載の発明によるとグループ統括制御手段が制御するすべてのグループ単位制御手段に対してデータの送信が失敗した場合に、当該すべてのグループ単位制御手段に対して初期化を指示するので、少なくとも1個のグループ単位制御手段が正常に作動していれば、初期化を行わない構成となる。そのため、全てのグループ単位制御手段をグループ統括制御手段に接続しなくても、初期化されることなく動作を継続できるので、グループ単位制御手段を単体でグループ統括制御手段に接続して検査する場合に、不必要な初期化動作が行われることがない。
(6)に記載の発明によると信号レベル制御手段に接続された全てのグループ単位制御手段に対してデータの送信が失敗した場合には、信号レベル制御手段自身に異常が発生していることも想定されるので、信号レベル制御手段を初期化することによってより確実に制御可能にすることができる。
(7)に記載の発明によると特定の信号レベル制御手段に接続された全てのグループ単位制御手段に対してデータの送信が失敗した場合には、該当する信号レベル制御手段自身に異常が発生していることも想定されるので、当該信号レベル制御手段を初期化することによってより確実に制御可能にすることができる。このとき、他の信号レベル制御手段を初期化せずに必要最低限の初期化がなされるので、遊技者に違和感を与えることを抑制できる。