以下、実施例に基づいて本発明を詳細に説明する。図1は、本実施例のパチンコ機GMを示す斜視図である。このパチンコ機GMは、島構造体に着脱可能に装着される矩形枠状の木製外枠1と、外枠1に固着されたヒンジ2を介して開閉可能に枢着される前枠3とで構成されている。この前枠3には、遊技盤5が、裏側からではなく、表側から着脱自在に装着され、その前側には、ガラス扉6と前面板7とが夫々開閉自在に枢着されている。
ガラス扉6の外周には、LEDランプなどによる電飾ランプが、略C字状に配置されている。一方、ガラス扉6の上部左右位置と下側には、全3個のスピーカ(不図示)が配置されている。上部に配置された2個のスピーカSPR,SPLは、各々、左右チャンネルの音声を出力し、下側のスピーカSPDは重低音を出力するよう構成されている。
また、ガラス扉6の下方には、遊技者による演出音の音量調整が可能な音量スイッチVSWが配置されている。この音量スイッチVSWは、左右に+接点と−接点を有する方向キーであって、10段階(MIN〜MAX)の音量調整を可能にしている。この音量調整のための操作は、音声演出が実行されていない演出待機中に限り許可されるが、音量スイッチVSWの操作に対応して、確認演出音が出力されると共に、その設定レベルが表示画面に表示されるようになっている。
前面板7には、発射用の遊技球を貯留する上皿8が装着され、前枠3の下部には、上皿8から溢れ出し又は抜き取った遊技球を貯留する下皿9と、発射ハンドル10とが設けられている。発射ハンドル10は発射モータと連動しており、発射ハンドル10の回動角度に応じて動作する打撃槌によって遊技球が発射される。
上皿8の外周面には、チャンスボタン11が設けられている。このチャンスボタン11は、遊技者の左手で操作できる位置に設けられており、遊技者は、発射ハンドル10から右手を離すことなくチャンスボタン11を操作できる。このチャンスボタン11は、通常時には機能していないが、ゲーム状態がボタンチャンス状態となると内蔵ランプが点灯されて操作可能となる。なお、ボタンチャンス状態は、必要に応じて設けられるゲーム状態である。
上皿8の右部には、カード式球貸し機に対する球貸し操作用の操作パネル12が設けられ、カード残額を3桁の数字で表示する度数表示部と、所定金額分の遊技球の球貸しを指示する球貸しスイッチと、ゲーム終了時にカードの返却を指令する返却スイッチとが設けられている。
図2に示すように、遊技盤5の表面には、金属製の外レールと内レールとからなるガイドレール13が環状に設けられ、その略中央には、中央開口HOが設けられている。そして、中央開口HOには、大型の液晶カラーディスプレイ(LCD)で構成された表示装置DSが配置されている。
表示装置DSは、大当り状態に係わる特定図柄を変動表示すると共に背景画像や各種のキャラクタなどをアニメーション的に表示する装置である。この表示装置DSは、中央部に特別図柄表示部Da〜Dcと右上部に普通図柄表示部19とを有している。そして、特別図柄表示部Da〜Dcでは、大当り状態の招来を期待させるリーチ演出が実行されることがあり、特別図柄表示部Da〜Dc及びその周りでは、適宜な予告演出などが実行される。
遊技球が落下移動する遊技領域には、図柄始動口15、大入賞口16、普通入賞口17、及び、ゲート18が配設されている。これらの入賞口15〜18は、それぞれ内部に検出スイッチを有しており、遊技球の通過を検出できるようになっている。そして、遊技球が図柄始動口15を通過すると、遊技球が入賞したとして、特別図柄表示部Da〜Dcで特別図柄の変動動作を伴う一連の画像演出が開始される。また、この画像演出に対応して、背景音楽や演出音を伴う音声演出や、ランプが点滅するランプ演出が実行される。
図柄始動口15は、左右一対の開閉爪15aを備えた電動式チューリップで開閉されるように構成され、普通図柄表示部17の変動後の停止図柄が当り図柄を表示した場合には、所定時間だけ、若しくは、所定個数の遊技球を検出するまで、開閉爪15aが開放されるようになっている。
なお、普通図柄表示部19は、普通図柄を表示するものであり、ゲート18を通過した遊技球が検出されると、普通図柄が所定時間だけ変動し、遊技球のゲート18の通過時点において抽出された抽選用乱数値により決定される停止図柄を表示して停止する。
大入賞口16は、前後方向に開閉する開閉板16aを有して構成されている。大入賞口16の動作は、特に限定されないが、典型的な大当り状態では、大入賞口16の開閉板16aが開放された後、所定時間が経過し、又は所定数(例えば10個)の遊技球が入賞すると開閉板16aが閉じる。このような動作は、最大で例えば15回まで継続され、遊技者に有利な状態に制御される。なお、特別図柄表示部Da〜Dcの変動後の停止図柄が特別図柄のうちの特定図柄であった場合には、特別遊技の終了後のゲームが高確率状態(確変状態)となるという特典が付与される。
図3は、上記した各動作を実現するパチンコ機GMの全体回路構成を示すブロック図である。図示の通り、このパチンコ機GMは、AC24Vを受けて各種の直流電圧や、電源異常信号ABN1、ABN2やシステムリセット信号(電源リセット信号)SYSなどを出力する電源基板20と、遊技制御動作を中心統括的に担う主制御基板21と、主制御基板21から受けた制御コマンドCMDに基づいてランプ演出及び音声演出を実行する演出制御基板22と、演出制御基板22から受けた制御コマンドCMD’に基づいて表示装置DSを駆動する画像制御基板23と、主制御基板21から受けた制御コマンドCMD”に基づいて払出モータMを制御して遊技球を払い出す払出制御基板24と、遊技者の操作に応答して遊技球を発射させる発射制御基板25と、を中心に構成されている。
但し、この実施例では、主制御基板21が出力する制御コマンドCMDは、コマンド中継基板26と演出インタフェイス基板27を経由して、演出制御基板22に伝送される。また、演出制御基板22が出力する制御コマンドCMD’は、演出インタフェイス基板27と画像インタフェイス基板28を経由して、画像制御基板23に伝送され、主制御基板21が出力する制御コマンドCMD”は、主基板中継基板32を経由して、払出制御基板24に伝送される。制御コマンドCMD,CMD’,CMD”は、何れも16ビット長であるが、主制御基板21や払出制御基板24が関係する制御コマンドは、8ビット長毎に2回に分けてパラレル送信されている。一方、演出制御基板22から画像制御基板23に伝送される制御コマンドCMD’は、16ビット長をまとめてパラレル伝送されている。そのため、可動予告演出を含む予告演出を、多様化して多数の制御コマンドを連続的に送受信するような場合でも、迅速にその処理を終えることができ、他の制御動作に支障を与えない。
ところで、本実施例では、演出インタフェイス基板27と演出制御基板22とは、配線ケーブルを経由することなく、雄型コネクタと雌型コネクタとを直結されて二枚の回路基板が積層されている。同様に、画像インタフェイス基板28と画像制御基板23についても、配線ケーブルを経由することなく、雄型コネクタと雌型コネクタとを直結されて二枚の回路基板が積層されている。そのため、各電子回路の回路構成を複雑高度化しても基板全体の収納空間を最小化できると共に、接続ラインを最短化することで耐ノイズ性を高めることができる。
これら主制御基板21、演出制御基板22、画像制御基板23、及び払出制御基板24には、ワンチップマイコンを備えるコンピュータ回路がそれぞれ搭載されている。そこで、これらの制御基板21〜24とインタフェイス基板27〜28に搭載された回路、及びその回路によって実現される動作を機能的に総称して、本明細書では、主制御部21、演出制御部22’、画像制御部23’、及び払出制御部24と言うことがある。すなわち、この実施例では、演出制御基板22と演出インタフェイス基板27とで演出制御部22’を構成し、画像制御基板23と画像インタフェイス基板28とで画像制御部23’を構成している。なお、演出制御部22’、画像制御部23’、及び払出制御部24の全部又は一部がサブ制御部である。
また、このパチンコ機GMは、図3の破線で囲む枠側部材GM1と、遊技盤5の背面に固定された盤側部材GM2とに大別されている。枠側部材GM1には、ガラス扉6や前面板7が枢着された前枠3と、その外側の木製外枠1とが含まれており、機種の変更に拘わらず、長期間にわたって遊技ホールに固定的に設置される。一方、盤側部材GM2は、機種変更に対応して交換され、新たな盤側部材GM2が、元の盤側部材の代わりに枠側部材GM1に取り付けられる。なお、枠側部材1を除く全てが、盤側部材GM2である。
図3の破線枠に示す通り、枠側部材GM1には、電源基板20と、払出制御基板24と、発射制御基板25と、枠中継基板35と、ランプ駆動基板36とが含まれており、これらの回路基板が、前枠3の適所に各々固定されている。
ランプ駆動基板36には、複数のLEDが接続されており、これらのLED群を駆動する駆動データSDATAは、シリアル信号として、演出制御基板22→演出インタフェイス基板27→枠中継基板34→枠中継基板35を経由して、ランプ駆動基板36に搭載された複数のLEDドライバに伝送されている。
遊技盤5の背面には、主制御基板21、演出制御基板22、画像制御基板23が、表示装置DSやその他の回路基板と共に固定されている。そして、枠側部材GM1と盤側部材GM2とは、一箇所に集中配置された接続コネクタC1〜C4によって電気的に接続されている。
電源基板20は、接続コネクタC2を通して、主基板中継基板32に接続され、接続コネクタC3を通して、電源中継基板33に接続されている。電源基板20には、交流電源の投入と遮断とを監視する電源監視部MNTが設けられている。電源監視部MNTは、交流電源が投入されたことを検知すると、所定時間だけシステムリセット信号SYSをLレベルに維持した後に、これをHレベルに遷移させる。
また、電源監視部MNTは、交流電源の遮断を検知すると、電源異常信号ABN1,ABN2を、直ちにLレベルに遷移させる。なお、電源異常信号ABN1,ABN2は、電源投入後に速やかにHレベルとなる。
ところで、本実施例のシステムリセット信号は、交流電源に基づく直流電源によって生成されている。そのため、交流電源の投入(通常は電源スイッチのON)を検知してHレベルに増加した後は、直流電源電圧が異常レベルまで低下しない限り、Hレベルを維持する。したがって、直流電源電圧が維持された状態で、交流電源が瞬停状態となっても、システムリセット信号SYSがCPUをリセットすることはない。なお、電源異常信号ABN1,ABN2は、交流電源の瞬停状態でも出力される。
主基板中継基板32は、電源基板20から出力される電源異常信号ABN1、バックアップ電源BAK、及びDC5V,DC12V,DC32Vを、そのまま主制御部21に出力している。一方、電源中継基板33は、電源基板20から受けたシステムリセット信号SYSや、交流及び直流の電源電圧を、そのまま演出インタフェイス基板27に出力している。演出インタフェイス基板27は、受けたシステムリセット信号SYSを、そのまま演出制御部22’と画像制御部23’に出力している。
一方、払出制御基板24は、中継基板を介することなく、電源基板20に直結されており、主制御部21が受けると同様の電源異常信号ABN2や、バックアップ電源BAKを、その他の電源電圧と共に直接的に受けている。
電源基板20が出力するシステムリセット信号SYSは、電源基板20に交流電源24Vが投入されたことを示す電源リセット信号であり、この電源リセット信号によって演出制御部22’と画像制御部23’のワンチップマイコンは、その他のIC素子と共に電源リセットされるようになっている。
但し、このシステムリセット信号SYSは、主制御部21と払出制御部24には、供給されておらず、各々の回路基板21,24のリセット回路RSTにおいて電源リセット信号(CPUリセット信号)が生成されている。そのため、例えば、接続コネクタC2がガタついたり、或いは、配線ケーブルにノイズが重畳しても、主制御部21や払出制御部24のCPUが異常リセットされるおそれはない。演出制御部22’と画像制御部23’は、主制御部21からの制御コマンドに基づいて、従属的に演出動作を実行することから、回路構成の複雑化を回避するために、電源基板20から出力されるシステムリセット信号SYSを利用している。
ところで、主制御部21や払出制御部24に設けられたリセット回路RSTは、各々ウォッチドッグタイマを内蔵しており、各制御部21,24のCPUから、定時的なクリアパルスを受けない限り、各CPUは強制的にリセットされる。
また、この実施例では、RAMクリア信号CLRは、主制御部21で生成されて主制御部21と払出制御部24のワンチップマイコンに伝送されている。ここで、RAMクリア信号CLRは、各制御部21,24のワンチップマイコンの内蔵RAMの全領域を初期設定するか否かを決定する信号であって、係員が操作する初期化スイッチSWのON/OFF状態に対応した値を有している。
主制御部21及び払出制御部24は、電源基板20から電源異常信号ABN1,ABN2を受けることによって、停電や営業終了に先立って、必要な終了処理を開始するようになっている。また、バックアップ電源BAKは、営業終了や停電により交流電源24Vが遮断された後も、主制御部21と払出制御部24のワンチップマイコンの内蔵RAMのデータを保持するDC5Vの直流電源である。したがって、主制御部21と払出制御部24は、電源遮断前の遊技動作を電源投入後に再開できることになる(電源バックアップ機能)。このパチンコ機では少なくとも数日は、各ワンチップマイコンのRAMの記憶内容が保持されるよう設計されている。
図3に示す通り、主制御部21は、主基板中継基板32を経由して、払出制御部24に制御コマンドCMD”を送信する一方、払出制御部24からは、遊技球の払出動作を示す賞球計数信号や、払出動作の異常に係わるステイタス信号CONや、動作開始信号BGNを受信している。ステイタス信号CONには、例えば、補給切れ信号、払出不足エラー信号、下皿満杯信号が含まれる。動作開始信号BGNは、電源投入後、払出制御部24の初期動作が完了したことを主制御部21に通知する信号である。
また、主制御部21は、遊技盤中継基板31を経由して、遊技盤5の各遊技部品に接続されている。そして、遊技盤上の各入賞口16〜18に内蔵された検出スイッチのスイッチ信号を受ける一方、電動式チューリップなどのソレノイド類を駆動している。ソレノイド類や検出スイッチは、主制御部21から配電された電源電圧VB(12V)で動作するよう構成されている。また、図柄始動口15への入賞状態などを示す各スイッチ信号は、電源電圧VB(12V)と電源電圧Vcc(5V)とで動作するインタフェイスICで、TTLレベル又はCMOSレベルのスイッチ信号に変換された上で、主制御部21に伝送される。
先に説明した通り、演出制御基板22と演出インタフェイス基板27とはコネクタ連結によって一体化されており、演出制御部22’は、電源中継基板33を経由して、電源基板20から各レベルの直流電圧(5V,12V,32V)と、システムリセット信号SYSを受けている(図3及び図4(a)参照)。また、演出制御部22’は、コマンド中継基板26を経由して、主制御部21から制御コマンドCMDとストローブ信号STBとを受けている。
そして、演出制御部22’は、演出インタフェイス基板27を経由して、ランプ駆動基板29やランプ駆動基板30に搭載されたLEDドライバに、ランプ駆動データSDATA(シリアル信号)を供給している。特に限定されるものではないが、ランプ駆動基板29,30に搭載されているLEDドライバは、ランプ駆動基板36に搭載されたLEDドライバと同一構成である。
また、本実施例では同じLEDドライバを使用してステッピングモータを駆動しており、破線に示すように、ランプ駆動基板30を経由して、演出モータ群M1〜Mnを駆動している。この場合、モータ駆動データは、ランプ駆動データと同様のシリアル信号であり、演出内容を豊富化するべく演出モータ個数を増やしても、配線ケーブルが増加することがなく、機器構成が簡素化される。
図3及び図4(a)に示す通り、演出制御部22’は、画像制御部23’に対して、制御コマンドCMD’及びストローブ信号STB’と、電源基板20から受けたシステムリセット信号SYSと、2種類の直流電圧(12V,5V)とを出力している。
そして、画像制御部23’では、制御コマンドCMD’に基づいて表示装置DSを駆動して各種の画像演出を実行している。表示装置DSは、LEDバックライトによって発光しており、画像インタフェイス基板28から5対のLVDS(低電圧差動伝送Low voltage differential signaling)信号と、バックライト電源電圧(12V)とを受けて駆動されている(図4(a)参照)。
続いて、上記した演出制御部22’と画像制御部23’の構成を更に詳細に説明する。図4(a)に示す通り、演出インタフェイス基板27は、電源中継基板33を経由して、電源基板20から3種類の直流電圧(5V,12V,32V)を受けている。ここで、直流電圧5Vは、デジタル論理回路の電源電圧として、演出インタフェイス基板27、ランプ駆動基板29、ランプ駆動基板30、画像インタフェイス基板28、及び画像制御基板23に配電されて各デジタル回路を動作させている。
但し、演出制御基板22には、直流電圧5Vが配電されておらず、12VからDC/DCコンバータで降圧された直流電圧3.3Vと、3.3VからDC/DCコンバータで更に降圧された直流電圧1.8Vだけが、演出インタフェイス基板27から演出制御基板22に配電されている。
このように、本実施例の演出制御基板22は、全ての回路が、電源電圧3.3V又はそれ以下の電源電圧で駆動されているので、電源電圧を5Vで動作する場合と比較して大幅に低電力化することができ、仮に、演出制御基板22の直上に演出インタフェイス基板27を配置して積層しても放熱上の問題が生じない。
但し、電源基板20から受けた直流電圧12Vは、そのままデジタルアンプ46の電源電圧Vddとして使用されると共に、ランプ駆動基板30とランプ駆動基板29に配電されて各ランプ群の電源電圧となる。また、直流電圧32Vは、演出インタフェイス基板のDC/DCコンバータにおいて直流電圧13Vに降圧されて、必要に応じて、演出モータM1〜Mnの駆動電源として使用される。
図4(a)に示すように、演出制御部22’は、音声演出・ランプ演出・演出可動体による予告演出・データ転送などの処理を実行するワンチップマイコン40と、ワンチップマイコン40の制御プログラムなどを記憶する制御メモリ(flash memory)41と、ワンチップマイコン40からの指示(音声コマンドSND)に基づいて音声信号を再生して出力する音声合成回路42と、再生すべき音声信号の元データである圧縮音声データやSACデータを記憶する音声メモリ43と、クリアパルスが途絶えるとワンチップマイコン40を強制的にクリアするウォッチドッグタイマWDTと、を備えて構成されている。
なお、ワンチップマイコン40、フラッシュメモリ41、及び音声メモリ43は、電源電圧3.3Vで動作しており、また、音声合成回路42は、電源電圧3.3V及び電源電圧1.8Vで動作しており大幅な省電力化が実現されている。ここで、1.8Vは、音声合成回路42のコンピュータ・コア部の電源電圧であり、3.3Vは、I/O部の電源電圧である。
図示の通り、音声合成回路42が出力する音声信号は、4ビット長の一方向シリアル回線(LRCLK,SCLK,SD0,SD1)を通して、デジタルアンプ46に伝送されている。また、ワンチップマイコン40と音声合成回路42とは、2ビット長のシリアル送受信線TXD,RXDと、制御信号線RTSで接続されている。
そして、この実施例では、ワンチップマイコン40の送信端子TXDから音声合成回路42の受信端子RXDに向けて音声コマンドSNDが伝送される一方、音声合成回路42の送信端子TXDからワンチップマイコン40の受信端子RXDに向けて、通信エラーなどを示すステイタス情報STSが伝送されるよう構成されている。
本実施例の場合、音声メモリ43に記憶された圧縮音声データは、13ビット長のフレーズ番号(000H〜1FFFH)で特定されるフレーズ(phrase)圧縮データであり、一連の背景音楽の一曲分(BGM)や、ひと纏まりの演出音(予告音)などが、最高8192種類(=213)、各々、フレーズ番号に対応して記憶されている。そして、このフレーズ番号は、ワンチップマイコン40から音声合成回路42にシリアル伝送される音声コマンドSNDによって特定される。
本実施例の場合、音声コマンドSNDは、所定の音声制御レジスタ51(図5(b))に、フレーズ番号などの設定値を書込むWrite 用途だけでなく、所定の音声制御レジスタ51からステイタス情報STSを読み出すRead用途で使用される。なお、音声制御レジスタ51は、1バイト長のレジスタアドレスで特定される。
ところで、音声制御レジスタ51への設定値の設定(Write )は、必ずしも、音声制御レジスタ毎に個別的に実行する必要はなく、音声メモリ43に格納されているSACデータを指定して、サウンドコントロールモジュール52のシンプルアクセスコントローラ(図5(b))の内部動作を起動させ、一群の音声制御レジスタ51に対する一連の設定動作を完了させることもできる。
ここで、SACデータとは、音声制御レジスタ51のレジスタアドレス(1バイト)と、その音声制御レジスタ51への設定値(複数バイト)とを対応させた最大512個(最大1024バイト)の集合体を意味する。本実施例では、このようなSACデータが、必要組だけ、予め音声メモリ43に記憶されており、一組のSACデータは、単一のID情報である13ビット程度のSAC番号で特定されるようになっている。
本実施例の場合、Write 用途の音声コマンドSNDは、SAC番号を指定して一組のSACデータを特定するか、或いは、設定値とレジスタアドレスとを個別的に特定する構成になっている。但し、Write 用途かRead用途かに拘わらず、音声コマンドSNDは、複数(2又は3)バイト長であって、1バイト毎に調歩同期方式でシリアル伝送される。なお、スタートビットと、ストップビットと、パリティビットとを含むので、実際の通信単位は11ビット長となる(図5(a)参照)。
図4(a)に示す通り、ワンチップマイコン40には、複数のパラレル入出力ポートPIO(Pi1,Pi2,Po1,Po2)と、クロック同期方式で動作する複数のシリアル入出力ポートSIと、調歩同期方式で動作するシリアル入出力ポートUARTと、が内蔵されている。
ここで、シリアル入出力ポートUARTは、(1)SAC番号を指定して、サウンドコントロールモジュール52のシンプルアクセスコントローラを起動させ、一群の設定値を、一群の音声制御レジスタ51(図5(b))に書込ませるシリアル送信動作と、(2)音声合成回路42に対する動作指示やフレーズ番号を、これに対応する音声制御レジスタ51(図5(b))に個別的に書込むシリアル送信動作と、(3)所定の音声制御レジスタ51から、ステイタス情報STSを読み出すシリアル受信動作とを実現する部分である。
シリアル送受信処理による何れの動作も、音声合成回路42に対して、送信動作か受信動作かを特定した複数バイト長の音声コマンドSNDを送信することで実行される。例えば、SAC番号を送信するシリアル送信動作(1)は、13ビット長のSAC番号を含んだ3バイト長の音声コマンドSND(送信動作用)を、音声合成回路42に送信することで実現される。
また、個別のシリアル送信動作(2)は、通常、音声制御レジスタ51を特定する1バイト長のアドレスデータ(レジスタアドレス)と、1バイト長の書込みデータと、を含んだ3バイト長の音声コマンドSND(送信動作用)を、音声合成回路42に送信することで実現される。なお、レジスタアドレスを含まない、書込みデータだけの2バイト長の音声コマンドSND(送信動作用)も存在するが、これについては後述する。
一方、シリアル受信動作(3)は、ステイタス情報STSを保有する音声制御レジスタ51を特定するレジスタアドレスを含んだ2バイト長の音声コマンドSND(受信動作用)を、音声合成回路42に送信することで開始される。そして、受信動作用の音声コマンドSNDを受けた音声合成回路42は、必要なステイタス情報STSを音声制御レジスタ51から読み出して、2バイト長の返送データとして、ワンチップマイコン40にシリアル送信する。したがって、シリアル入出力ポートUARTは、その後、シリアル受信動作によってステイタス情報STSを取得することになる。
このような動作を実現するため、音声合成回路42にも、ワンチップマイコン40のシリアル入出力ポートUARTに対応するUART(Universal Asynchronous Receiver Transmitter )ポートが内蔵されているが、これらの回路構成や回路動作については、図5に基づいて後述する。
本実施例では、上記した調歩同期方式で動作するシリアル入出力ポートUARTとは別に、クロック同期方式で動作するシリアル入出力ポートSIが設けられている。ここで、シリアル入出力ポートSIは、3チャンネルのシリアル出力ポート(S0〜S2)を含んで構成されており、ランプ駆動基板36、29、30に搭載された複数個のLEDドライバに、各々、シリアル駆動データSDATA0〜SDATA2を、クロック信号CK0〜CK2に同期して出力している。
すなわち、シリアル出力ポートS0〜シリアル出力ポートS2は、クロック同期方式に基づいて、対応するランプ駆動基板36、29、30に、シリアル駆動データSDATA0〜SDATA2を伝送している。なお、シリアル駆動データSDATA0〜SDATA2は、その殆どが、各LEDの発光輝度をPWM制御(pulse width modulation)によって輝度調整するため輝度データ(ランプ駆動データ)であるが、演出モータM1〜Mnを駆動するモータ駆動データも含まれている。
図示の通り、ランプ駆動基板36、29、30は、パラレル入出力ポートPIOのパラレル出力ポートPo2にも接続されており、各ランプ駆動基板36、29、30に搭載されたLEDドライバは、パラレル出力ポートPo2が出力する3ビット長の動作許可信号ENABLE0〜ENABLE2の何れかに基づいて動作を開始している。また、出力ポートPo2からは、デジタルアンプ46の出力を無音化するためのMUTE信号が出力されている。このMUTE信号は、例えば、動作が不安定となる可能性のある電源投入時や、デジタルアンプ46や音声合成回路42の異常動作が検出された場合などに使用される。
一方、パラレル入出力ポートPIOの入力ポートPi1には、主制御部21からの制御コマンドCMD及びストローブ信号STBが入力され、コマンド出力ポートPo1からは、制御コマンドCMD’及びストローブ信号STB’が出力されるよう構成されている。
具体的には、入力ポートPi1には、主制御基板21から出力された制御コマンドCMDとストローブ信号(割込み信号)STBとが、演出インタフェイス基板27のバッファ44において、電源電圧3.3Vに対応する論理レベルに変換されて8ビット単位で供給される。割込み信号STBは、ワンチップマイコンの割込み端子に供給され、受信割込み処理によって、演出制御部22’は、制御コマンドCMDを取得するよう構成されている。
また、パラレルポートPi2には、デジタルアンプ46が、自らの内部動作に関して異常を検知したことを示す異常通知信号ERRと、係員が操作する設定スイッチSETからのスイッチ信号とが、演出インタフェイス基板27を経由して供給されている。
本実施例の場合、デジタルアンプ46が検出可能な異常は、主として、デジタルアンプ46の内部回路の動作に関するものであって、(1)過電流異常、(2)高温異常、(3)音声信号が変化しないDC検出異常と、が含まれている。過電流異常やDC検出異常が検出されると、デジタルアンプ46は、所定時間τだけ、スピーカへの一対の出力端子OUT+OUT−を共にグランドレベル(HiZグランド状態)に降下させて音声出力を遮断するものの、その後は、元の動作状態に自動復帰する。したがって、異常原因が解消されていない限り、デジタルアンプ46は、同じ動作を繰り返すことになり、抜本的は異常解消手段を持つものではない。
この点は、高温異常検出についても同じであり、高温異常時に、デジタルアンプ46は、音声出力を抑制又は遮断することで温度低下を図るだけである。そのため、温度が低下して音声出力を通常レベルに戻した後に、再度、高温異常になると、デジタルアンプ46が同じ動作を繰り返すことになり、異常な音声レベルの音声演出が繰り返される。
そこで、本実施例では、異常通知信号ERRを、ワンチップマイコン40が定期的にチェックして、異常検出時には、デジタルアンプ46の異常解消のための措置を採るようにしている。なお、具体的な手法は、図8に基づいて後述する。
ところで、演出制御部22’が主制御部21から取得する制御コマンドCMDには、(1)異常報知その他の報知用制御コマンドなどの他に、(2)図柄始動口への入賞に起因する各種演出動作の概要特定する制御コマンド(変動パターンコマンド)や、図柄種別を指定する制御コマンド(図柄指定コマンド)が含まれている。ここで、変動パターンコマンドで特定される演出動作の概要には、演出開始から演出終了までの演出総時間と、大当たり抽選における当否結果とが含まれている。
また、図柄指定コマンドには、大当たり抽選の結果に応じて、大当たりの場合には、大当たり種別に関する情報(15R確変、2R確変、15R通常、2R通常など)を特定する情報が含まれ、ハズレの場合には、ハズレを特定する情報が含まれている。変動パターンコマンドで特定される演出動作の概要には、演出開始から演出終了までの演出総時間と、大当り抽選における当否結果とが含まれている。なお、これらに加えて、リーチ演出や予告演出の有無などを含めて変動パターンコマンドで特定しても良いが、この場合でも、演出内容の具体的な内容は特定されていない。
そのため、演出制御部22’では、変動パターンコマンドを取得すると、これに続いて演出抽選を行い、取得した変動パターンコマンドで特定される演出概要を更に具体化している。例えば、リーチ演出や予告演出について、その具体的な内容が決定される。そして、決定された具体的な遊技内容にしたがい、LED群などの点滅によるランプ演出や、スピーカによる音声演出の準備動作を行うと共に、画像制御部23’に対して、ランプやスピーカによる演出動作に同期した画像演出に関する制御コマンドCMD’を出力する。
このような演出動作に同期した画像演出を実現するため、演出制御部22’は、コマンド出力ポートPo1を通して、画像制御部23’に対するストローブ信号(割込み信号)STB’と共に、16ビット長の制御コマンドCMD’を演出インタフェイス基板27に向けて出力している。なお、演出制御部22’は、図柄指定コマンドや、表示装置DSに関連する報知用制御コマンドや、その他の制御コマンドを受信した場合は、その制御コマンドを、16ビット長に纏めた状態で、割込み信号STB’と共に演出インタフェイス基板27に向けて出力している。
上記した演出制御基板22の構成に対応して、演出インタフェイス基板27には出力バッファ45が設けられており、16ビット長の制御コマンドCMD’と1ビット長の割込み信号STB’を画像インタフェイス基板28に出力している。そして、これらのデータCMD’,STB’は、画像インタフェイス基板28を経由して、画像制御基板23に伝送される。
また、演出インタフェイス基板27には、音声合成回路42から出力される音声信号を受けるデジタルアンプ46が配置されている。先に説明した通り、音声合成回路42は、3.3Vと1.8Vの電源電圧で動作しており、また、デジタルアンプ46は、電源電圧Vdd(=12V)でD級増幅動作しており、消費電力を抑制しつつ大音量の音声演出を可能にしている。
なお、デジタルアンプ46が、ワンチップマイコン40からMUTE信号を受けることがあること、及び、異常検出時には、デジタルアンプ46が、ワンチップマイコン40に異常通知信号ERRを出力することも先に説明した通りである。
また、図4(a)に示す通り、演出インタフェイス基板27には、ワンチップマイコン40のパラレル出力ポートPo2や、シリアル出力ポートSI(S0〜S2)から出力される各種の信号を伝送する出力バッファ回路47,48,49が設けられている。ここで、出力バッファ47は、第0チャンネルのLED群に関連しており、ワンチップマイコン40が出力するランプ駆動データSDATA0、クロック信号CK0、及び、動作許可信号ENABLE0を、枠中継基板34に出力している。そして、出力された3ビットの信号は、枠中継基板34、及び、枠中継基板35を経由して、ランプ駆動基板36のLEDドライバに伝送される。
同様に、出力バッファ48は、ワンチップマイコン40が出力するランプ駆動データSDATA1、クロック信号CK1、及び、動作許可信号ENABLE1をランプ駆動基板29のLEDドライバに伝送しており、出力バッファ49は、ランプ駆動データSDATA2、クロック信号CK2、及び、動作許可信号ENABLE2をランプ駆動基板30のLEDドライバに伝送している。なお、ランプ駆動基板29のLEDドライバは、第1チャンネルのLED群を駆動し、ランプ駆動基板30のLEDドライバは、第2チャンネルのLED群と、演出モータM1〜Mnとを駆動している。
図5(b)は、音声合成回路42の概略内部構成と、ワンチップマイコン40(ホストCPU)と、音声メモリ43と、デジタルアンプ46との接続関係を図示したものである。また、図5(a)は、ワンチップマイコン40と音声合成回路42と間のシリアルデータ送受信時のデータフォーマットを示し、図5(c)は、音声合成回路42からデジタルアンプ46に出力される音声データのデータフォーマットを示している。
図5(b)に示す通り、音声合成回路42は、シリアル通信回線を通してホストCPU40からアクセス可能な多数の音声制御レジスタ51と、音声再生動作を統括的に制御するサウンドコントロールモジュール52と、音声メモリ43から読み出されたフレーズ圧縮データをデコード(decode)すると共に、複数のフレーズ再生チャンネルCH0〜CH15のデコードデータを適宜な音量比率で混合させるメインジェネレータ53と、デジタルフィルタ処理によって所望の周波数特性を実現するイコライザ機能や入出力ゲイン特性を変化させるコンプレッサ機能を実現するエフェクト部54と、最終音量を規定するトータルボリュームTVと、シリアル伝送用の4種類の信号SCLK,LRCLK,SD0,SD1を生成するデジタルIF部55と、を備えて構成されている。
サウンドコントロールモジュール52には、シンプルアクセルコントローラが含まれている。先に説明した通り、シンプルアクセルコントローラは、ワンチップマイコン40からSAC番号を特定した音声コマンドSNDを受けた場合に、SAC番号に対応する一群のSACデータを音声メモリ43から読み出し、SACデータに含まれる一連の設定値を、SACデータが指定する一群の音声制御レジスタ51に設定する。
また、サウンドコントロールモジュール52には、音声メモリ43の一群のフレーズ圧縮データを、自動的に読み出して再生する自動演奏機能を発揮するシーケンサも含まれている。なお、自動演奏すべき一群のフレーズ圧縮データは、予め音声メモリに格納されているシーケンスコードで特定される。
また、音声合成回路42の音声制御レジスタ51は、音声合成回路42を意図した通りに機能させるために、ホストCPU40が書込みデータをWrite 処理する書込みレジスタと、音声合成回路42の動作状態を把握するために、ホストCPU40がステイタス情報STSをRead処理する読出しレジスタと、に区分されている。なお、書込みレジスタや読出しレジスタは、1バイト長又は複数バイト長である。
書込みレジスタへの書込みデータには、(1)再生すべきBGM音や演出音を特定するフレーズ番号、(2)その再生音のボリューム(V1,V2)指示、(3)再生回数を規定するループ指示、(4)再生開始や一時停止などの動作指示、(5)再生開始時や再生終了時などの音量遷移態様の指示、(6)左右スピーカSPL,SPRの音量バランスであるパンポットの指示、(7)最終的なボリューム(TV)指示などが含まれている。
本実施例の場合、一まとまり一群の音声指示は、SACデータとして音声メモリ43に格納されており、ワンチップマイコン40は、SACデータを特定するSAC番号を含んだ音声コマンドSNDをシリアル送信することで、サウンドコントロールモジュール52のシンプルアクセスコントローラを起動させ、一群の音声指示を、対応する音声制御レジスタに設定させる構成を採っている。
ところで、音声指示には、音声合成回路42の内部回路を、初期状態に設定するためのリセット指示(8)も含まれている。このリセット指示は、初期化コマンド(音声コマンドの一種)として、電源投入時に送信されるだけでなく、異常な音声演出を解消ないし未然防止するために送信されることがある。
そして、(1)〜(8)の音声指示は、送信動作用の音声コマンドSNDとして、ワンチップマイコン40から音声合成回路42にシリアル送信される。ここで、送信動作用の音声コマンドSNDは、1バイト長の書込みデータと、これを書込むべき音声制御レジスタ51を特定するレジスタアドレス(1バイト長)とを含んだ3バイト長か、レジスタアドレスを含まない2バイト長か、或いは、13ビット長のSAC番号を含んだ3バイト長である。
レジスタアドレスを含まない送信動作用の音声コマンドSNDの書込みデータ(2バイト長)は、最後に特定された音声制御レジスタ51に書込まれる。このような動作は、複数バイト長の書込みレジスタに対する一連のWrite 処理に使用される。例えば、フレーズ番号は、13ビット長であるので、2つの音声コマンドSNDに分解して送信され、1個目の音声コマンドSND(3バイト長)で、音声制御レジスタ51(フレーズ番号を書込むべき音声制御レジスタ)と、フレーズ番号の一部とを特定し、2個目の音声コマンドSND(2バイト長)で、フレーズ番号の残りを特定する。
なお、(1)フレーズ番号の指定、(2)ボリューム(V1/V2)指示、(3)ループ指示、(4)動作指示、(5)音声遷移態様の指示、及び(6)パンポット指示は、全て、デコーダ60のフレーズ再生チャンネルCH0〜CH15を指定して行われるよう構成されている。そのため、フレーズ再生チャンネルCH0〜CH15に対応して、最高16種類のフレーズ圧縮データが、各々、上記の指示(1)〜(6)に基づいて独立して再生され、チャンネルミックス部61でミキシングされて出力されることになる。
続いて、ワンチップマイコン40のシリアル送受信処理を説明するため、図5(b)に基づいて、ワンチップマイコン40のシリアル入出力ポートUARTの回路構成を説明する。
図示の通り、シリアル入出力ポートUARTは、送信/受信レジスタREGと、通信制御レジスタFGとを有し、各々、CPUがアクセス可能に構成されている。また、送信/受信レジスタREGには、送信用のシフトレジスタSRtと、受信用のシフトレジスタSRrとが内部接続されている。
通信制御レジスタFGは、複数バイト長であって各種の機能を有するが、第一に、シリアル入出力ポートUARTを、送信モードで使用するか、受信モードで使用するかを指定する用途で使用される。また、通信制御レジスタFGは、シリアル送信完了時や、シリアル受信完了時には、その旨の完了フラグがセットされ、通信異常時にはエラーフラグがセットされるよう構成されている。そして、これら送信完了フラグ、受信完了フラグ、及び、エラーフラグは、CPUから読出し可能に構成されている。
送信/受信レジスタREGは、シリアル入出力ポートUARTを、送信モードで使用するか、受信モードで使用するかに応じて、送信レジスタREGか又は受信レジスタREGとして機能する。そして、送信モード時に、CPUが送信レジスタREGに1バイトデータを書込むと、これが自動的にシフトレジスタSRtに転送され、シフトレジスタSRtからデータ出力端子TXDを経由してシリアルデータが出力される。このシリアルデータは、予め指定された転送速度(ボーレート)で出力され、シリアル送信が完了すると、通信制御レジスタFGの送信完了フラグがセットされる。
但し、このシリアル入出力ポートUARTは、調歩同期方式で機能するので、シリアル送信データは、実際には、スタートビットやストップビットやパリティビットを付加した11ビット長となる(図5(a)参照)。なお、非通信状態では、データ入力端子RXD及びデータ出力端子TXDは定常的にHレベルであり、スタートビット=Lレベル、ストップビット=Hレベルとなる。
先に説明した通り、送信動作用の音声コマンドSNDは、2バイトまたは3バイト長であるので、上記した一単位のシリアル送信処理が2回又は3回繰り返されることで、音声コマンドSND一個分のシリアル送信が終了する。一方、受信動作用の音声コマンドSNDは、2バイト長であるので、一単位のシリアル送信処理を2回繰り返して、前半の処理、つまり、取得したいステイタス情報STSを保有する音声制御レジスタ51を特定する処理が終了する。そのため、CPUは、前半のシリアル送信処理が終われば、シリアル入出力ポートUARTを送信モードから受信モードに変更して、音声合成回路42から、ステイタス情報STSをシリアル受信する必要がある。
本実施例において、ワンチップマイコン40が実行するシリアル受信処理は、上記したシリアル送信処理に続く、後半の処理を意味する。このような場合であって、シリアル入出力ポートUARTが受信モードで機能している場合には、データ入力端子RXDがLレベルに遷移するのが監視され、スタートビットが認識された後は、予め指定された転送速度にしたがって、受信データが、1ビット毎にシフトレジスタSRrに取得される。そして、ストップビットが検出されると、取得した1バイトデータが、シフトレジスタSRrから受信レジスタREGに転送され、通信制御レジスタFGの受信完了フラグがセットされる。
但し、通信エラーが検出された場合には、通信制御レジスタFGのエラーフラグがセットされる。したがって、CPUは、通信制御レジスタFGのエラーフラグから、受信データの正当性を確認することができる。なお、検出される通信エラーには、パリティエラー、フレーミングエラー、及び、オーバーランエラーが含まれている。パリティエラーとは、パリティビットが他の8ビットデータと整合していないことを意味し、フレーミングエラーとは、ストップビットが正当に取得できなかったことを意味する。また、オーバーランエラーは、受信レジスタREGに格納された受信データの処理前に次の受信データが上書きされたことを意味する。
以上、ワンチップマイコン40のシリアル入出力ポートUARTについて説明したので、音声合成回路42のUARTポートについて説明する。音声合成回路42のUARTポートは、送信用のFIFOバッファと、受信用のFIFOバッファと、ハードウェアフロー制御部(不図示)とを有して構成されている。なお、送信用と受信用のFIFOバッファは、各々、16バイト程度の記憶容量を有している。
そして、シリアル送受信処理は、サウンドコントロールモジュール52において制御され、不図示のハードウェアフロー制御部が機能して実行される。また、サウンドコントロールモジュール52は、所定時間間隔で、受信用のFIFOバッファをチェックして、そこに格納されている新規の音声コマンドSNDを解析して、これが、ワンチップマイコン40にとっての送信動作用の音声コマンドSNDである場合には、ワンチップマイコン40による書込みデータと、音声制御レジスタ51のレジスタアドレスとを把握し、受信した書込みデータを所定の音声制御レジスタ51に転送する。
また、受信用のFIFOバッファに、SAC番号を含んだ新規の音声コマンドSNDが検出されると、サウンドコントロールモジュール52は、シンプルアクセスコントローラを起動させて、音声メモリ43からSAC番号に対応するSACデータを読み出し、一群の設定値を一群の音声制御レジスタに設定する。
一方、新規の音声コマンドSNDが、ワンチップマイコン40にとっての受信動作用の音声コマンドSNDである場合には、音声制御レジスタ51のレジスタアドレスを把握し、レジスタアドレスで特定される音声制御レジスタ51から、ステイタス情報STSを読み出して、これをワンチップマイコン40に対してシリアル送信する。
音声合成回路42(UARTポート)によるシリアル送信処理は、CTS(Clear To Send )端子と、RTS(Request To Send )端子の信号レベルに基づくハードウェアフロー制御によって自動的に実現される。フロー制御では、先ず、CTS端子が判定され、これがLレベルであれば、ワンチップマイコン40側が受信準備を完了していると判定される。なお、この実施例では、ワンチップマイコン40が受信動作用の音声コマンドSNDを送信した後、ワンチップマイコン40が、そのシリアル入出力ポートUARTを受信モードに変更するので、CTS端子をLレベルに固定している。
したがって、音声合成回路42では、直ちに、ステイタス情報STSのシリアル送信処理を開始することになる。なお、不図示のハードウェアフロー制御部は、シリアル送信処理の開始時に、RTS端子を禁止レベル(H)に変化させる。RTS端子は、ワンチップマイコン40が、音声コマンドSNDの送信を開始するか否かを判定するために使用され、RTS端子=Lとなるまで、ワンチップマイコン40は、原則として、シリアル送信処理を開始しないようになっている。
このように、音声合成回路42のUARTポートが、ハードウェアフロー制御に基づいて機能しているのに対して、ワンチップマイコン40のシリアル入出力ポートUARTは、CPUによるソフトウェアフロー制御に基づいて機能している。
以上、音声合成回路42がシリアルデータを送信する場合について説明したので、次に、音声合成回路42によるシリアルデータ受信処理について確認的に説明する。なお、音声合成回路42によるシリアルデータの受信処理は、ワンチップマイコン40にとっては音声コマンドSNDの送信処理に他ならない。
先に説明した通り、ワンチップマイコン40による音声コマンドSNDの送信処理は、音声合成回路42のRTS端子がLであることを条件に開始される。但し、音声合成回路42は、ステイタス情報STSの返送処理中(シリアル送信処理中)を除いて、RTS端子を許可レベル(L)に維持して、スタートビット(図5(a)参照)の送信を待機している。
したがって、ワンチップマイコン40は、音声合成回路42のRTS端子の電圧レベルを判定することなくシリアル送信処理を開始しても良い。すなわち、本実施例では、図5(b)に破線で示す通り、音声合成回路42のRTS端子と入力ポートPi2との接続を省略しても良い。
何れにしても、音声合成回路42の受信端子RXDが、定常レベル(H)からLレベルに遷移すると、音声合成回路42では、所定の転送速度でシリアルデータの取得を開始する。なお、ワンチップマイコン40と、音声合成回路42とで、予め、転送速度(ボーレート)を一致させているのは勿論である。
そして、音声合成回路42(UARTポート)が、1バイト長のデータを受信する毎に、これを受信用FIFOバッファに格納する。例えば、3バイト長の音声コマンドSNDを受けた場合には、受信用FIFOバッファの3バイト領域を使用して、これを格納することになる。また、この動作に続いて、2バイト長の音声コマンドSNDを受けた場合には、受信用FIFOバッファについて、合計5バイト領域が消費されることになる。
このように、次々と、受信用FIFOバッファに受信データが格納される可能性があるが、記憶容量が16バイトであり、且つ、サウンドコントロールモジュール52が、適宜な時間間隔で、受信用FIFOバッファをアクセスして、音声コマンドSNDを解析して、それに対応する処理を実行するので、受信用FIFOバッファがオーバーフローすることはない。
先に説明した通り、受信用FIFOバッファに、送信動作用(音声合成回路42にとっては受信用)の音声コマンドSNDが存在する場合には、ワンチップマイコン40からの書込みデータと、音声制御レジスタ51のレジスタアドレスとを把握し、受信した書込みデータを所定の音声制御レジスタ51に転送するか、シンプルアクセスコントローラを起動させて、一群の設定処理を実行させる。
また、受信用FIFOバッファに、受信動作用(音声合成回路42にとっては送信用)の音声コマンドSNDが存在する場合には、レジスタアドレスで特定される所定の音声制御レジスタ51からステイタス情報STSを取得し、これを送信用のFIFOバッファに格納する。格納されたステイタス情報STSは、ハードウェアフロー制御にしたがって、ワンチップマイコン40にシリアル送信される点は、先に説明した通りである。
ところで、以上の動作は、通信エラーが発生しなかった場合の動作である。しかし、音声合成回路42(UARTポート)において、オーバーランエラー、パリティエラー、フレーミングエラー、FIFO満杯エラーなどの通信エラーが生じた場合には、その音声コマンドSNDが受信用FIFOバッファに格納されることはなく、発生した通信エラー状態が、ステイタス情報STSの一部として所定の音声制御レジスタ51に記憶される。
すなわち、本実施例では、通信エラーに関する音声コマンドSNDが、音声合成回路42で実効化されることはない。そこで、本実施例では、音声コマンドSNDを送信する毎に、ステイタス情報STSを取得して、通信エラーが発生していないことを確認し、万一、通信エラーが生じている場合には、必要な処理を採るようにしている。
なお、パリティエラーやフレーミングエラーの意味は、ワンチップマイコン40のシリアル入出力ポートUARTに関して説明した通りである。また、オーバーランエラーは、受信用FIFOバッファに格納された音声コマンドSNDの処理前に、次の音声コマンドSNDが上書きされたことを意味し、FIFO満杯エラーとは、FIFOバッファを使い切った状態で受信データを受けたこと意味する。但し、16バイト長のFIFOバッファにおいて、FIFO満杯エラーやオーバーランエラーが生じる可能性は事実上皆無である。
続いて、音声合成回路42とデジタルアンプ46との関係を説明する。先に説明した通り、本実施例では、デジタルアンプ46の出力によって、遊技機上部の左右スピーカSPL,SPRと、遊技機下部のスピーカSPDと、を駆動している。そのため、音声合成回路42は、3チャンネルの音声信号を生成する必要があり、これをパラレル伝送すると、音声合成回路42とデジタルアンプ46との配線が複雑化する。
そこで、本実施例では、音質の劣化を防止すると共に、配線の複雑化を回避するため、音声合成回路42とデジタルアンプ46との間は、4本の信号線で接続されている。具体的には、図5(b)や図5(c)及び図6に示す通り、転送クロック信号SCLKと、チャンネル制御信号LRCLKと、2ビット長のシリアル信号SD0,SD1との合計4ビットの信号線に抑制されている。なお、何れの信号も、その振幅レベルは3.3Vである。
また、転送クロック信号SCLKを、Fs*64=2.8MHz〜3.2MHz程度、チャンネル制御信号LROを、Fs=44〜50KHz程度に設定している。そして、20〜30ビット程度の振幅分解能(220〜230)を有する1サンプリングデータを、1/Fs/2の間に高速にシリアルデータを伝送している。
ここで、シリアル信号SD1は、チャンネル制御信号LRCLKがLレベルの場合には、左側スピーカSPL用の音声信号L1を意味し、チャンネル制御信号LRCLKがHレベルの場合には、右側スピーカSPR用の音声信号R1を意味する。同様に、シリアル信号SD0は、下部スピーカの左右チャンネルの音声信号L0,R0を意味するが、本実施例では、下部スピーカSPDが1個であるので、左右チャンネルの信号R0,L0は同一であり、同一のスピーカSPDに共通して供給される(図6参照)。
このようなシリアル信号SD0,SD1は、シリアルクロック信号SCLKの立上りエッジに同期して、デジタルアンプ46に取得される。そして、デジタルアンプ46内部で、所定ビット長毎にパラレル変換され、DA変換後にD級増幅されて各スピーカSPD,SPL,SPRに供給される。
図6は、上記の動作を実現するデジタルアンプ46の内部構成図を示しており、4チャンネル(L0,L1,R0,R1)各々について、DA変換部DACと、PWM変換部PWMと、ドライバ部Driverとが内蔵されている。先に説明した通り、左右チャンネルの信号R0,L0は同一であり、下部スピーカSPDに共通して供給されている。
図7は、ドライバ部Driverを図示したものであり、4チャンネルともBTL(Bridge Tied Load)接続となっている。すなわち、全てのドライバ部Driverは、CMOS(Complementary MOS )構造を有する2個のスイッチング素子SW1,SW2を上下に配置し、下方のスイッチング素子SW2に、上方のスイッチング素子SW1の入力PWM信号Vi+を論理反転したPWM信号Vi−を供給する構成を採っている。したがって、BTL接続は、SEPP(Single Ended Push Pull)接続の場合と比較して、出力電圧が理論値2倍になり(Vi+−Vi−参照)、スピーカから大出力を得ることができる。
また、この実施例では、CMOS構造を構成する一対のトランジスタQ1,Q2の接続点は、コイルLとバリスタVRとを通してグランド(コモンライン)に接続されている。そして、コイルLとバリスタVRの接続点(OUT+及びOUT−)が、スピーカに接続されている。
図7(a)と図7(b)は、相補的に動作するトランジスタQ1,Q2の動作内容を図示しており、入力PWM信号Vi+がHレベルの場合(図7(a))と、入力PWM信号Vi+がLレベルの場合を示している。図7(a)及び図7(b)に示すタイミングでは、入力PWM信号Vi+のデュティ比(τ)が50%以下であるので、出力端子(OUT+,OUT−)には、図示の向きに増加する音声信号電圧(OUT+>OUT−)が発生して、音声信号線WRには、図示の向きの音声電流が、その電流レベルを増加させつつ流れている。
ところで、バリスタVRは、規定以上のサージ電圧を受けると電気抵抗が急減する素子であり、一般的には、非直線性抵抗特性を持つ酸化亜鉛などの半導体セラミックスで構成されている。しかし、本実施例では、一対のツェナーダイオードを対面させることで、サージ電圧に対する迅速な降伏特性を実現している。すなわち、この実施例では、降伏電圧が20〜25V程度の2個のツェナーダイオードを対面させることで、20〜25Vを超えるサージ電圧に対する素早い降伏特性(ブレイクダウン特性)を実現して、スイッチング素子SW1〜SW2などの破損を防止している。
また、実施例のバリスタVRは、500〜1000pF程度の静電容量を有して構成されており、非降伏時には、コイルLと共にスイッチング周波数に対するローパスフィルタを実現している。なお、実施例のスイッチング周波数は、250KHz〜1.5MHzであり、数μS程度の実行周期でトランジスタQ1,Q2をON/OFF動作させているが、音声周波数を超える不要信号は、バリスタVRとコイルLとのLC回路によって吸収される。
以下、この点について、図7に基づいて説明する。まず、入力PWM信号Vi+がHレベルの期間では、図7(a)の動作状態となり、上側のバリスタVRの充電電荷が、スイッチング素子SW1を通して放電される一方、下側のバリスタVRは、スイッチング素子SW2を通して充電されている。したがって、出力端子OUT+の電位は、減少傾向となり、出力端子OUT−の電位は、増加傾向となる。
但し、図7(a)に示す入力PWM信号Vi+がHレベル時の動作は、数μS後(1/Fs×デュティ比)には、図7(b)の動作状態に切り替わる。そして、入力PWM信号Vi+がLレベルとなると、図7(b)に示す通り、上側のバリスタVRが、スイッチング素子SW1を通して充電される一方、下側のバリスタVRの電荷は、スイッチング素子SW2を通して放電される。そのため、出力端子OUT+の電位は、増加傾向となり、出力端子OUT−の電位は、減少傾向となる。
図7(a)の動作は、デュティ比(τ<1)で規定される所定の実行時間(=τ/Fs)の後に、図7(b)の動作に切り替わるところ、図示のタイミングでは、デュティ比が50%未満であるので、出力端子OUT+の電位が、出力端子OUT−の電位より高い状態(OUT+>OUT−)が維持される。なお、説明の都合上、図示例では、PWM信号のデュティ比が素早く低下しているが、音声信号の周波数(20Hz〜20kHz)は、スイッチング周波数より格段に低いので、実際には、デュティ比が変化しない期間が10サイクル以上継続される。
何れにしても、デュティ比が50%未満であれば、出力端子OUT+の電位が、出力端子OUT−の電位より高くなり(OUT+>OUT−)、逆に、デュティ比(τ)が50%を超えると、出力端子OUT+の電位が、出力端子OUT−の電位より低くなる(OUT+<OUT−)。そして、これらの動作の結果、スピーカが音声周波数で交流的に駆動されることになる。すなわち、音声信号線WRの電位は、電源電圧Vddの1/2程度(6V)の中間電位を中心に増減変動し、音声信号線WRには、図7(a)及び図7(b)の向き、又は、その逆向きの電流が流れることになる。
以上の動作から明らかなように、正常時には、一対の音声信号線WRは、常にグランド電位(コモンラインの電位)から浮いた状態であって差動信号ラインとして機能する。しかし、PWM波のデュティ比が固定値に維持されるような異常時には、出力端子OUT+と、出力端子OUT−との電位差が変化せず、あるDCレベルを維持することになる。
この点を具体的に説明するため、例えば、音声合成回路42から異常なシリアル信号SD0,SD1を受けた場合や、デジタルアンプ46の内部回路が誤動作して、デュティ比(τ)が100%に維持された場合を想定する。
このような異常時には、図7(a)の動作状態が永続的に維持されるので、上側のバリスタVRの充電電荷が完全に放電される一方、下側のバリスタVRは、電源電圧Vddレベルまで充電されてしまう。そのため、出力端子OUT+と、出力端子OUT−との電位差は、電源電圧レベルを維持することになり、スピーカコイルのコイル電流が過大化して発煙や焼損の恐れがある。また、トランジスタQ1,Q2などの電子素子に、過大な直流電流が流れ続けることで、電子素子の発熱や焼損が懸念される。
そこで、本実施例のデジタルアンプ46は、過電流や高温状態を検知可能に構成されると共に、デュティ比(τ)が異常レベル(典型的には100%又は0%)で維持されたことも検知可能に構成されている。これらの点は、過電流異常、高温異常、及び、DC検出異常として、先に説明した通りである。
そして、これら何れかの異常を検知すると、デジタルアンプ46は、異常通知信号ERRをアクティブレベルに変化させると共に、出力端子OUT+と、出力端子OUT−を共にHiZグランド状態に設定している。ここで、HiZグランド状態とは、出力端子OUT+,OUT−を電流が流れないグランドレベルにすることを意味し、その結果、スピーカコイルへの過電流や内部素子の過電流が一応は停止される(フェールセーフ動作)。
但し、先にも説明した通り、HiZグランド状態は、永続的に継続される訳ではなく、高温異常が解消されると元の動作状態に戻る。また、一定時間後には、過電流異常やDC検出異常が解消されたか否かに拘わらず、強制的に元の動作状態に戻される。
そのため、異常原因が解消されていない場合には、デジタルアンプ46は、同じフェールセーフ動作を繰り返すことになる。そこで、本実施例では、図5に示すように、ワンチップマイコン40が異常通知信号ERRを監視する構成を採り、異常時には、デジタルアンプ46にMUTE信号を供給すると共に、音声合成回路42に、音声コマンドSNDとして、初期化コマンドを送信して、音声合成回路42の動作を初期状態に戻した上で、音声制御動作を再開している。
そのため、音声合成回路42の誤動作を原因として、デジタルアンプ46が異常動作している場合には、その異常原因を解消することができ、その後の正常動作が確保されることになる。すなわち、デジタルアンプ46がフェールセーフ動作を繰り返すことによる無音状態の継続が解消される。また、仮に、HiZグランド状態への移行動作が正常に機能しない場合でも、スピーカからの異音発生や、スピーカコイルからの発煙などの異常動作が未然防止される。
続いて、音声演出動作や異常対応動作に関して、演出制御部22’の動作を説明する。図8は、演出制御部22’の動作内容を説明するフローチャートであり、ワンチップマイコン40のCPU(ホストCPU)によって実行される。演出制御部22’の動作は、CPUリセット後に無限ループ状に実行されるメインループ処理(図8(a))と、1mS毎に起動されるタイマ割込み処理(図8(b))と、主制御部が送信する制御コマンドを受信する受信割込み処理(不図示)と、を含んで実現される。
なお、実際には、図示のメインループ処理(図8(a))に先行して、音声合成回路42やワンチップマイコン40の各部を初期化する初期処理が実行される。例えば、音声合成回路42は、電源投入時に初期化コマンドを受けることで、その内部回路を全て初期化している。
以上を踏まえて、図8(b)に示すタイマ割込み処理から説明する。タイマ割込み処理では、最初に、設定スイッチSET、音量スイッチVSWを含む各種のスイッチ信号を取得し、各スイッチ信号のレベルを記憶する(ST30)。
次に、演出モータ(ステッピングモータ)が回転駆動中である場合には、演出モータを歩進させるべく、適宜なタイミングで駆動パルスを1ステップ更新し(ST31)、更新された駆動パルスを演出モータに出力する(ST32)。また、ランプ演出などに関して、LEDランプを駆動する(ST33)。なお、LEDランプを駆動するためのランプ駆動データSDATAは、メインループ処理のステップST18の処理で、16mS毎に更新されている。
次に、パラレル送信バッファ(図8(e)参照)に、制御コマンドCMD’が格納されている場合には、これを下流側の画像制御部23’に送信する。また、シリアル送信バッファ(図8(d)参照)に、音声コマンドSNDが格納されている場合には、これを音声合成回路42にシリアル送信する(ST33)。なお、制御コマンドCMD’や音声コマンドSNDは、メインループ処理におけるステップST12,ST16,ST17などの処理で、パラレル送信バッファやシリアル送信バッファに格納される。
図8(b)は、音声コマンドSNDのシリアル送信処理を説明するフローチャートであり、ここでは、ワンチップマイコン40のシリアル入出力ポートUARTが活用される。コマンド送信処理は、シリアル送信バッファ(図8(d))に、音声コマンドSNDが格納されていることを条件に開始され、通信制御レジスタFGに適宜な設定値を設定することに基づいて、シリアル入出力ポートUARTを送信モードに設定する(ST40)。
なお、ステップST40の処理に先行して、入力ポートPi2から、音声合成回路42のRTS端子の信号を取得して、これがアクティブレベル(L)であることを確認しても良いが、ここでは、説明の便宜上、この確認処理を省略している。それは、本実施例では、音声合成回路42のUARTポートは、特別な場合を除いて常に受信待機状態であって、RTS端子は、Lレベルを維持しているためである。
何れにしても、ステップST40の処理が終われば、シリアル送信バッファに格納されている2バイト又は3バイト長の音声コマンドSNDについて、これを1バイト毎に送信レジスタREG(図5(b))に書込む(ST41)。先に説明した通り、送信レジスタREGに書込まれた1バイトデータは、シリアル入出力ポートUARTの出力端子TXDから1ビット毎にシリアル送信され、送信処理が終われば、通信制御レジスタFGの送信完了フラグがセットされる。
そこで、CPUは、1バイトデータの書込み後、送信完了フラグをチェックして、これがセット状態になれば、次の1バイトデータを送信レジスタREGに書込むことになる(ST41,ST42)。このようにして、一単位の音声コマンドSNDのシリアル送信処理が終われば、通信エラーを判定するべく、ステイタス情報STSを取得するための音声コマンドSNDを、1バイト毎に送信レジスタREGに書込む(ST43)。
そして、1バイトデータの書込み後、送信完了フラグをチェックして、これがセット状態になれば、次の1バイトデータを送信レジスタREGに書込む(ST43,ST44)。このようにして、ステイタス情報STSを取得するための音声コマンドSNDの最終書込みが終われば、その後のシリアル受信処理に備えて、シリアル入出力ポートUARTを受信モードに設定する(ST45)。なお、音声コマンドSNDの送信完了を待つことなく、書込み処理後、直ちに、シリアル入出力ポートUARTを受信モードに設定するのが好ましい。
シリアル入出力ポートUARTが受信モードに設定されたことで、その後、音声合成回路42がシリアル送信するステイタス情報STS(2バイト構成)は、シリアル入出力ポートUARTが自動的に取得し、1バイト取得毎に、通信制御レジスタFGの受信完了フラグをセットするので、CPUは、2バイト構成のステイタス情報STSを順番に取得することができる(ST46)。
そして、取得したステイタス情報STSのエラービットに基づいて、通信エラーの発生の有無、及びエラー種別を判定する(ST47)。実施例の通信エラーには、オーバーランエラー、パリティエラー、フレーミングエラー、FIFO満杯エラーが含まれる。但し、先に説明した通り、FIFO満杯エラーやオーバーランエラーが生じる可能性は事実上皆無であり、その他のパリティエラーや、フレーミングエラーについても、これらが発生する可能性は低い。
但し、稀に、パリティエラーや、フレーミングエラーが生じることがあり、この場合には、先にステップST41の処理で、シリアル送信した音声コマンドSNDは、音声合成回路42において実効化されることがない。そこで、ステイタス情報STSから、パリティエラーや、フレーミングエラーの発生が認められる場合には、ステップST47からST40の処理に移行して、先の音声コマンドSNDを再送信する。
なお、音声コマンドSNDは、複数バイト長である一方、通信エラーは1バイト毎に発生する可能性があるが、ステイタス情報STSとして一旦記憶されたエラー情報は、消滅処理を採らない限り消滅することはない。したがって、複数バイト長の音声コマンドSNDの何れかの1バイトで生じた通信エラーを読み落とすおそれはない。
もっとも、パリティエラーや、フレーミングエラーの発生を認識したCPUは、音声合成回路42の音声制御レジスタ51をアクセスし、ステイタス情報STSのエラーフラグを初期状態に戻す必要があり、そのためのエラー消滅処理が実行される(ST48)。エラー消滅処理は、具体的には、音声制御レジスタ51の所定データを書込むことで実現される。
一方、通信エラーが認められない場合には、シリアル送信バッファ(図8(d))の音声コマンドSNDを消滅させると共に、MUTE信号を正常レベルに設定する(ST49)。MUTE信号を正常レベルに設定するのは、ステップST26の処理において、異常レベルのMUTE信号を出力するためである。
以上の通り、本実施例では、一回のタイマ割込みにおいて、一個の音声コマンド(送信動作用)を送信する構成をとっており、シリアル送信の処理時間が、他の処理に悪影響を与えることがない。しかも、本実施例では、通常の音声演出を全てSAC番号で特定しているので、SAC番号を含んだ音声コマンドを一個送信するだけで、複数の設定値が複数の音声制御レジスタに設定されることになり、タイマ割込み毎に、次々と音声コマンドをシリアル送信するような必要もない。
以上のようにして、音声コマンドのシリアル送信処理(ST34)が終われば、適宜なクリアタイミングに達したことを条件に、ウォッチドッグタイマWDTをクリアする(ST35)。そして、割込みカウンタをインクリメントして割込み処理を終える(ST36)。
割込みカウンタは、メインループ処理(図7(a))を16mS毎に繰り返し実行するためのカウンタである。そのため、メインループ処理では、最初に割込みカウンタの値を判定し(ST10)、これが16に達したタイミングで、ステップST11〜ST26の処理を実行することで、16mS間隔の繰り返し処理を実現している。
すなわち、割込みカウンタが16に達すると(ST10)、これをゼロクリアした上で(ST11)、主制御部21から受信した制御コマンドについて、コマンド解析処理を実行する(ST12)。そして、必要な制御コマンドCMD’をパラレル送信バッファに格納する。なお、この実施例では、コマンド解析処理(ST12)において変動パターンコマンドの受信を認識した場合に、演出抽選が実行される。そして、新たな生成された制御コマンドCMD’は、パラレル送信バッファに格納される。これらの制御コマンドCMD’は、ステップST34の処理で、画像制御部に23’に送信される。
次に、エラー処理を実行する(ST13)。エラー処理とは、違法行為の発生が懸念される重大な異常事態や、その他の特別事態が発生しているか否かを判定し、必要な報知動作を実行する処理である。具体的な内容は、特に限定されないが、例えば、主制御部21から送信される制御コマンド(エラーコマンド)や、音声合成回路42とのシリアル送受信における通信エラーの累積個数や、デジタルアンプ46から受ける異常通知信号ERRの累積受信回数などに基づいて、重大な異常事態の発生か否かが判定される(ST13)。そして、重大な異常事態が発生していると判定される場合には、異常事態に応じた適宜な報知動作が実行される。
次に、係員が操作した設定スイッチSETに対応する入力検知処理が実行され(ST14)、また、遊技動作が停止されているかが判定される(ST15)。そして、遊技者が遊技をしていないと判定される場合には、適宜なデモ演出を、開始又は進行させる。
一方、遊技動作中であれば、音声演出を開始させるか、或いは、実行中の音声演出を進行させるべくシナリオ更新処理を実行し(ST16)、そのシナリオにしたがって音声合成回路を駆動する音再生処理を実行する(ST17)。
この音再生処理(ST17)には、音声コマンドSNDをシリアル送信バッファ(図8(d))に格納する処理が含まれており、シリアル送信バッファ格納された音声コマンドSNDは、図8(c)に示す処理を経て、音声合成回路42に対してシリアル送信される。本実施例では、音声コマンドSNDが通信エラーなく音声合成回路42にシリアル送信される構成を有していることは、図8(c)に関して説明した通りである。
次に、ランプ演出を開始させるか、或いは、実行中のランプ演出を進行させるべくLEDデータの更新処理を実行する(ST18)。なお、LEDランプの駆動動作は、1mSタイマ割込みにおいて実行される(ST33)。
次に、RAMの所定領域について総和演算(例えば8ビット加算演算)を実行して、その演算結果を保存する(ST19〜ST20)。なお、この保存値は、CPUがリセットされた後に実行される不図示の初期処理において、同じ総和演算の演算結果と比較され、比較値が一致する場合いは、RAM領域をクリア処理することなくホットスタート処理が実行される。
その結果、例え、ウォッチドッグタイマWDTが機能してCPUが異常リセットされた場合でも、RAMの所定領域の内容が維持されている限り、遊技機の演出を初期状態に戻すことなく、再開することが可能となる。
次に、演出抽選用の乱数値を更新した上で(ST21)、デジタルアンプ46の異常を判定するタイミングに達しているか否かを判定する(ST22)。デジタルアンプ46の異常は、例えば、数秒程度の時間間隔で判定され、動作判定タイミングに達していない場合には、ステップST10の処理に戻る(ST22)。
一方、動作判定タイミングに達している場合には、入力ポートPi2から異常通知信号ERRを取得して、異常レベルか否かを判定する。そして、異常通知信号ERRが異常レベルであれば、音声合成回路42を初期設定するための初期化コマンドを送信するべく、シリアル送信バッファに初期化コマンドを設定する(ST26)。また、デジタルアンプ46に、アクティブレベルのMUTE信号を送信する(ST27)。
シリアル送信バッファに設定された初期化コマンドは、図8(c)に示すシリアル送信処理を経て、音声合成回路42において実効化されるので、音声合成回路42が初期化されることで、デジタルアンプ46の異常が解消される可能性がある。そのため、本実施例では、シリアル送信処理の後に、MUTE信号のレベルを非アクティブレベルに戻している(ST51)。
ところで、異常通知信号ERRが異常レベルである場合、画一的に、初期化コマンドを送信するのではなく、異常通知信号ERRの受信頻度などに基づいて、初期化コマンドを送信するか否かを決定するのも好適である。もっとも、異常通知信号ERRが異常レベルである以上、デジタルアンプ46については、アクティブレベルのMUTE信号を送信することで、無音化を図るのが好適である。
以上、実施例について詳細に説明したが具体的な記載内容は、必ずしも本発明を限定するものではない。例えば、もっぱら弾給遊技機を例にして各種の実施例を説明したが、本発明の適用は、弾球遊技機に限定されず、スロットマシンにも適用できるのは勿論である。
また、上記の実施例では、音声合成回路42ではハードウェアフロー制御を採る一方、ワンチップマイコン40では、ソフトウェアフロー制御を採るか、或いは、フロー制御を省略したが、図4(b)に示す通り、双方ともハードウェアフロー制御を採るのも好適である。
また、上記の実施例では、音声コマンドSNDをシリアル送信しているが、必ずしも限定されず、通信異常に対処できる構成であれば、音声コマンドSNDをパラレル送信しても良い。
図4(c)は、この回路構成を例示したものであり、ワンチップマイコン40と音声合成回路42は、1バイトデータを送受信可能なパラレル信号線(データバス)CD0〜CD7と、動作管理データを送信可能な2ビット長の動作管理データ線(アドレスバス)A0〜A1と、読み書き(read/write)動作を制御可能な2ビット長の制御信号線WR,RDと、音声合成回路42を選択するチップセレクト信号線CSとで接続されている。
図示の通り、この実施例では、パラレル信号線CD0〜CD7は、ワンチップマイコン40のデータバスで実現され、また、動作管理データ線A0〜A1は、ワンチップマイコン40のアドレスバスで実現されており、各々、CPUコアに接続されている。そして、CPUが、プログラム処理によって、例えば、IOREAD動作やIOWRITE動作を実行すると、制御信号WR,RDやチップセレクト信号CSが適宜に変化して、パラレル信号線CD0〜CD7で特定される音声制御レジスタ51との読み書き(R/W)動作が実現される。
具体的には、図4(c)に示す通りであり、音声制御レジスタ51のレジスタアドレスと、音声制御レジスタ51への書込みデータは、各々、パラレル信号線CD0〜CD7を通してパラレル伝送される。そして、パラレル伝送された1バイトが、レジスタアドレスであるか、それとも、書込みデータ(ライトデータ)であるかは、動作管理データA0〜A1によって特定される。
したがって、図4(c)に示す通り、動作管理データ(アドレスデータA0〜A1)を、[00]→[01]と推移させる一方で、データバスの1バイトデータを、[音声制御レジスタ51のレジスタアドレス]→[音声制御レジスタ51への書込みデータ]と推移させることで、所定の音声コマンドSNDが送信される。なお、SAC番号(13ビット)を送信する場合のように、書込みデータが複数バイト長の場合には、[01]の動作管理データA0〜A1を、[00]→[01]→[01]→[01]と繰り返しつつ、複数バイトの書込みデータを送信する。
このようにして送信された音声コマンドは、通信異常がない限り、その後、実効化される。但し、複数バイト長のデータが互いに整合しないなど、通信異常が認められる場合には、その音声コマンドSNDが実効化させることはない。そして、音声制御レジスタ51のエラーフラグがセットされるが、このエラーフラグ(ステイタス情報STS)は、アドレスバスの動作管理データA0〜A1を、[01]から[10]に推移させることで、ワンチップマイコン40がREAD動作によって受信することができる。
このように、この実施例では、動作管理データA0〜A1を、[00]→[01]→・・・[01]→[10]と推移させる最終サイクルにおいて、複数ビット長のエラー情報(異常時はFFH)を取得することができる。そして、正当にパラレル送信できなかった音声コマンドSNDを再送することで、音声演出を適切に進行させることができる。したがって、図4(c)の構成によっても、音声演出が突然、途絶えるような不自然さを確実に解消されることができる。
ところで、ここまでの説明は、演出制御部22’は、エラー情報を含んだステイタス情報STSを、音声合成回路42からシリアル受信又はパラレル受信しているが、何ら、この構成に限定されるものではない。
すなわち、音声合成回路42が通信エラーを認識すると、演出制御部22’に割込み信号を出力する構成を採るのも好適であり、この場合には、演出制御部22’の割込み処理プログラムにおいて、通信エラーが生じた音声コマンドを再送すればよい。このような構成は、シリアル伝送方式を採る場合に特に好適であり、殆どの場合に無駄な処理となる、図8のステップST45〜ST47の処理を省略することができる。