(57)【特許請求の範囲】
【請求項１】
上位装置からの指示に応じたデータを出力することによって、異なる更新周期で動作する複数のデバイスを制御するデバイスコントローラにおいて、
各デバイスの動作内容を規定する制御データを格納する第１の格納部と、
前記第１の格納部と並列に設けられ、制御データを格納する第２の格納部と、
前記第１の格納部の入力側および前記第２の格納部の入力側に接続され、上位装置によって発行された制御データの書込先として、前記第１の格納部または前記第２の格納部を選択する書込選択回路と、前記第１の格納部の出力側および前記第２の格納部の出力側に接続され、制御データの読出元として、前記第１の格納部または前記第２の格納部を選択する読出選択回路とを有する選択部と、
上位装置からの指示に基づいて、制御データを更新する時間的な単位となる複数の異なる更新周期を発生する更新周期発生回路と、
前記読出選択回路を介して前記第１の格納部の出力側および前記第２の格納部の出力側に接続されており、上位装置からの指示に基づいて、各デバイスに適用する更新周期を選択するとともに、読出元より読み出された制御データに基づいて、当該選択された更新周期を構成する基本周期のそれぞれにおける各デバイスの動作状態を決定することによって、出力すべきデータを生成する出力制御回路と、
前記書込先と前記読込先とが一致することなく交互に切り替わるように前記選択部を制御し、当該切り替えを前記更新周期発生回路によって生成された複数の異なる更新周期のうちで周期が最も短い最短更新周期と同期して行う選択制御回路と
を有することを特徴とするデバイスコントローラ。
【請求項２】
上位装置からの指示に応じたデータを出力することによって、異なる更新周期で動作する複数のデバイスを制御するデバイスコントローラにおいて、
各デバイスの動作内容を規定する制御データの書込先として、上位装置が自己を指定した場合、上位装置によって発行された当該制御データを格納する第１の格納部と、
前記第１の格納部と並列に設けられているとともに、前記第１の格納部と交互に選択される制御データの書込先として上位装置が自己を指定した場合、上位装置によって発行された当該制御データを格納する第２の格納部と、
前記第１の格納部の出力側および前記第２の格納部の出力側に接続され、制御データの読出元として、前記第１の格納部または前記第２の格納部を選択する選択部と、
上位装置からの指示に基づいて、制御データを更新する時間的な単位となる複数の異なる更新周期を発生する更新周期発生回路と、
前記選択部を介して前記第１の格納部の出力側および前記第２の格納部の出力側に接続されており、上位装置からの指示に基づいて、各デバイスに適用する更新周期を選択するとともに、前記格納部より読み出された制御データに基づいて、当該選択された更新周期を構成する基本周期のそれぞれにおける各デバイスの動作状態を決定することによって、出力すべきデータを生成する出力制御回路と、
前記書込先と前記読込先とが一致することなく交互に切り替わるように前記選択部を制御し、当該切り替えを前記更新周期発生回路によって生成された複数の異なる更新周期のうちで周期が最も短い最短更新周期と同期して行うとともに、上位装置が取得するための前記選択部の切替状態を管理する選択制御回路と、
を有することを特徴とするデバイスコントローラ。
【請求項３】
上位装置からの指示に応じたデータを出力することによって、異なる更新周期で動作する複数のデバイスを制御するデバイスコントローラにおいて、
上位装置によって発行され、各デバイスの動作内容を規定する制御データを格納する第１の格納部と、
前記第１の格納部と直列に設けられ、前記第１の格納部より読み出された制御データを格納する第２の格納部と、
前記第１の格納部の出力側と、第２の格納部の入力側との間を選択的に接続または開放する選択部と、
上位装置からの指示に基づいて、制御データを更新する時間的な単位となる複数の異なる更新周期を発生する更新周期発生回路と、
上位装置からの指示に基づいて、各デバイスに適用する更新周期を選択するとともに、前記第２の格納部より読み出された制御データに基づいて、当該選択された更新周期を構成する基本周期のそれぞれにおける各デバイスの動作状態を決定することによって、出力すべきデータを生成する出力制御回路と、
前記選択部における接続および開放の切り替えを制御するとともに、当該切り替えを前記更新周期発生回路によって生成された複数の異なる更新周期のうちで周期が最も短い最短更新周期と同期して行う選択制御回路と
を有することを特徴とするデバイスコントローラ。
【請求項４】
前記複数のデバイスは、シリアルデータ線に接続されたシリアル制御デバイスであって、
前記出力制御回路は、各デバイスの動作状態を示すシリアルデータをシリアルデータ線に出力することを特徴とする請求項１から３のいずれかに記載されたデバイスコントローラ。
【請求項５】
前記選択制御回路は、前記上位装置からの切替許可を任意のタイミングで受け付けた場合、当該切替許可を受け付けたタイミング以降における前記最短更新周期の基準タイミングで、前記選択部の切り替えを実行することを特徴とする請求項１から４のいずれかに記載されたデバイスコントローラ。
【請求項６】
前記上位装置は、前記最短更新周期の経時的な推移を取得するとともに、前記最短更新周期の基準タイミングで切替指示を発行し、
前記選択制御回路は、前記上位装置によって発行された前記切替指示を受け付けた場合、前記選択部の切り替えを直ちに実行することを特徴とする請求項１から４のいずれかに記載されたデバイスコントローラ。
【請求項７】
前記選択制御回路は、前記最短更新周期の基準タイミング毎に、前記選択部の切り替えを実行することを特徴とする請求項１から４のいずれかに記載されたデバイスコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、上位装置からの指示の下、適用される更新周期が異なる異種デバイスを統合制御するデバイスコントローラに関する。
【背景技術】
【０００２】
一般に、パチンコ台といった遊技機には、画像表示を行うディスプレイ、効果音等を発生させるスピーカ、役物等を回転させるためのステッピングモータ、および、盤面に並べられたランプ等が実装されている。これらは、遊技の進行に応じて画像表示と音声出力とを同期させたり、更にはランプの点灯も同期させるといった具合で高度に制御され、これによって、様々な演出効果が発揮される。演出効果の向上は、遊技者に対する訴求力を高めるための主要課題の一つとなっている。
【０００３】
これらの出力装置の制御が複雑になるにつれて、ＣＰＵ（Central Processing Unit：中央処理装置）の処理負荷も著しく増大する。そこで、遊技機では、上位装置であるＣＰＵが本来的に担っていた機能を下位のユニットに分担させることによって、ＣＰＵの負荷低減を図るシステムが広く採用されている。例えば、ＬＣＤ（Liquid Crystal Display：液晶ディスプレイ）に画像を表示するためのグラフィック処理をグラフィックＬＳＩに、スピーカから音声を出力するためのオーディオ処理をオーディオＬＳＩにそれぞれ分担させるといった如くである。
【０００４】
一方、特許文献１には、ＬＥＤ（Light Emitting Diode：発光ダイオード）等のランプ制御をコントローラに分担させ、単一のシリアルポートでランプ制御を行うシステムが開示されている。コントローラは、ＣＰＵからの信号をシリアルデータに変換し、これをシリアルデータとしてシリアルデータ線に出力する。シリアルデータ線にカスケード接続されたドライバＩＣは、自己向けの識別データが付与されたシリアルデータを取り込んでパラレルデータに変換し、これに基づいて、自己に接続された発光体の点灯状態を制御する。
【０００５】
また、特許文献２には、上位ＣＰＵの制御下で動作する統合ＣＰＵを設け、この統合ＣＰＵによって、グラフィック処理と、オーディオ処理と、ランプ制御と、モータ制御とを統合的に行う遊技機システムが開示されている。なお、この特許文献２には、ＬＥＤやモータといった複数種のデバイスを１ポートでシリアル制御する点についても一応言及されている。
【０００６】
【特許文献１】特開２００６−２１８１３７号公報
【特許文献２】特開２００６−２５５３３７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ＬＥＤおよびステッピングモータは、ある周期（更新周期）で電圧を切り換えることによって制御される点において共通する。しかしながら、それぞれの更新周期は異なることが殆どであり、一般にステッピングモータの方がＬＥＤよりも更新周期が短い。特許文献２には、更新周期が異なる複数のデバイスをシリアル制御するという点について概念的には開示されているものの、このような更新周期の相違については考慮されておらず、その示唆も存在しない。ここで、デバイスの種類に関わりなく、全デバイスの更新周期を一定にする場合を考える。長周期であるＬＥＤの更新周期を一律に適用した場合には、短周期であるステッピングモータの単位時間当たりの回転分解能が低下するため、高速回転が困難になる。一方、短周期であるモータの更新周期を一律に適用した場合には、長周期であるＬＥＤの階調制御が必要以上に複雑化してしまう。したがって、更新周期が異なる各種のデバイスを同一ポートに接続する際、これらのデバイス制御を如何にして最適化するかという点に関して、技術的課題が依然として残されている。
【０００８】
そこで、本発明の目的は、更新周期が異なる異種デバイスを統合制御する際、上位装置の処理負荷の軽減を図りつつ、デバイス制御の最適化を図ることである。
【課題を解決するための手段】
【０００９】
かかる課題を解決するために、第１の発明は、上位装置からの指示に応じたデータを出力することによって、異なる更新周期で動作する複数のデバイスを制御するデバイスコントローラを提供する。このコントローラは、並列に設けられた第１および第２の格納部と、選択部と、更新周期発生回路と、出力制御回路と、選択制御回路とを有する。第１および第２の格納部は、各デバイスの動作内容を規定する制御データを格納する。選択部は、書込選択回路と、読出選択回路とを有する。書込選択回路は、第１および第２の格納部の入力側に接続されており、上位装置によって発行された制御データの書込先として、第１または第２の格納部を選択する。読出選択回路は、第１および第２の格納部の出力側に接続されており、制御データの読出元として、第１または第２の格納部を選択する。更新周期発生回路は、上位装置からの指示に基づいて、制御データを更新する時間的な単位となる複数の異なる更新周期を発生する。出力制御回路は、読出選択回路を介して第１および第２の格納部の出力側に接続されており、上位装置からの指示に基づいて、各デバイスに適用する更新周期を選択する。そして、出力制御回路は、読出元より読み出された制御データに基づいて、この選択された更新周期を構成する基本周期のそれぞれにおける各デバイスの動作状態を決定し、出力すべきデータを生成する。選択制御回路は、書込先と読込先とが一致することなく交互に切り替わるように、選択部を制御する。この切り替えは、更新周期発生回路によって生成された複数の異なる更新周期のうち、周期が最も短い最短更新周期と同期して行われる。
【００１０】
第２の発明は、上位装置からの指示に応じたデータを出力することによって、異なる更新周期で動作する複数のデバイスを制御するデバイスコントローラを提供する。このコントローラは、並列に設けられた第１および第２の格納部と、選択部と、更新周期発生回路と、出力制御回路と、選択制御回路と、状態管理部とを有する。第１および第２の格納部は、  各デバイスの動作内容を規定する制御データを格納する。上位装置によって発行された制御データの書込先として、上位装置が第１の格納部を指定した場合、上位装置によって発行された制御データが第１の格納部に格納される。また、第１の格納部と交互に選択される制御データの書込先として上位装置が第２の格納部を指定した場合、上位装置によって発行された制御データが第２の格納部に格納される。選択部は、第１および第２の格納部の出力側に接続され、制御データの読出元として、第１または第２の格納部を選択する。更新周期発生回路は、上位装置からの指示に基づいて、制御データを更新する時間的な単位となる複数の異なる更新周期を発生する。出力制御回路は、選択部を介して第１および第２の格納部の出力側に接続されており、上位装置からの指示に基づいて、各デバイスに適用する更新周期を選択する。そして、出力制御回路は、格納部より読み出された制御データに基づいて、この選択された更新周期を構成する基本周期のそれぞれにおける各デバイスの動作状態を決定し、出力すべきデータを生成する。選択制御回路は、書込先と読込先とが一致することなく交互に切り替わるように選択部を制御する。この切り替えは、更新周期発生回路によって生成された複数の異なる更新周期のうち、周期が最も短い最短更新周期と同期して行われる。また、選択制御回路は、上位装置が取得するための選択部の切替状態を管理する。
【００１１】
第３の発明は、上位装置からの指示に応じたデータを出力することによって、異なる更新周期で動作する複数のデバイスを制御するデバイスコントローラを提供する。このコントローラは、直列に接続された第１および第２の格納部と、選択部と、更新周期発生回路と、出力制御回路と、選択制御回路とを有する。第１の格納部は、上位装置によって発行され、各デバイスの動作内容を規定する制御データを格納する。第２の格納部は、第１の格納部より読み出された制御データを格納する。選択部は、第１の格納部の出力側と、第２の格納部の入力側との間を選択的に接続または開放する。更新周期発生回路は、上位装置からの指示に基づいて、制御データを更新する時間的な単位となる複数の異なる更新周期を発生する。出力制御回路は、上位装置からの指示に基づいて、各デバイスに適用する更新周期を選択する。そして、出力制御回路は、第２の格納部より読み出された制御データに基づいて、この選択された更新周期を構成する基本周期のそれぞれにおける各デバイスの動作状態を決定し、出力すべきデータを生成する。選択制御回路は、選択部における接続および開放の切り替えを制御する。この切り替えは、更新周期発生回路によって生成された複数の異なる更新周期のうち、周期が最も短い最短更新周期と同期して行われる。
【００１２】
ここで、第１から第３の発明のいずれかにおいて、複数のデバイスは、シリアルデータ線に接続されたシリアル制御デバイスであってもよい。この場合、出力制御回路は、各デバイスの動作状態を示すシリアルデータをシリアルデータ線に出力する。
【００１３】
また、第１から第３の発明のいずれかにおいて、選択制御回路は、上位装置からの切替許可を任意のタイミングで受け付けた場合、この切替許可を受け付けたタイミング以降における最短更新周期の基準タイミングで、選択部の切り替えを実行してもよ。これに代えて、上位装置は、最短更新周期の経時的な推移を取得するとともに、最短更新周期の基準タイミングで切替指示を発行してもよい。選択制御回路は、上位装置によって発行された切替指示を受け付けた場合、選択部の切り替えを直ちに実行する。また、これらに代えて、選択制御回路は、最短更新周期の基準タイミング毎に、選択部の切り替えを実行してもよい。
【発明の効果】
【００１４】
第１から第３の発明によれば、上位装置の処理負荷の低減を図ることができる。上位装置は、それぞれのデバイスに関する動作内容を制御データとして設定すれば足りるからである。それとともに、更新周期の相違に関わりなく、全てのデバイスの制御を最適化することが可能になる。格納部の切り替えによるデータ更新（データ書込）は、最短更新周期、すなわち、更新周期発生回路によって生成された複数の異なる更新周期のうちで周期が最も短いものと同期して行われる。これにより、更新周期が短いがゆえにデータ出力の時間的制約が厳しいデバイスを含むすべてのデバイスに関して、各デバイスの更新周期以上に細かな更新分解能を確保できる。その結果、長い更新周期で駆動するデバイスと、短い更新周期で駆動するデバイスとが混在していても、前者の存在を以て、後者の制御分解能が阻害されることがない。
【００１５】
特に、第１および第２の発明によれば、並列に設けられた第１および第２の格納部に対する制御データの書き込みを交互に行い、書込先となっていない方から制御データが読み出される。制御データの書き込み・読み出しを同時並行的に行うことで、書込時間の影響を受けることなく、読出時間を含めたデータ出力時間を有効に確保できる。
【発明を実施するための最良の形態】
【００１６】
（第１の実施形態）
図１は、遊技機における画像表示、音声出力、ステッピングモータによる役物等の回転およびランプの点灯を統合的に制御する統合処理システムのブロック構成図である。この統合処理システムは、上位装置であるＣＰＵ１と、統合ＬＳＩ２と、ＬＣＤ等の表示装置７と、スピーカ８と、シリアルドライバ９と、デバイス１０とで構成されている。ＣＰＵ１および統合ＬＳＩ２は、外部バスを介して接続されており、ＣＰＵ１によって発行されたコマンドおよびパラメータ（以下、これらを単に「コマンド」という）が統合ＬＳＩ２内のレジスタ３に格納される。このコマンドには、グラフィック処理部４の処理内容を規定するグラフィック系コマンド、オーディオ処理部５の処理内容を規定するオーディオ系コマンド、および、シリアルコントローラ６の処理内容を規定するシリアル制御系コマンドの三種類が存在する。統合ＬＳＩ２は、格納部であるレジスタ３の他に、グラフィック処理部４と、オーディオ処理部５と、シリアルコントローラ６とを有している。グラフィック処理部４は、レジスタ３に格納されたグラフィック系コマンドを読み込み、このコマンドによって指示されたグラフィック処理を行う。グラフィック処理は、外部ＲＯＭ（図示せず）に格納された画像データを外部バスを介して取り込み、これに描画処理を施した上でフレームメモリ（図示せず）に書き込むといった流れが基本となる。そして、フレームメモリから読み出された１フレーム分の画像は、垂直同期信号Ｖsncによる同期制御の下、統合ＬＳＩ２に接続されたバスを介して表示装置７に表示される。
【００１７】
また、オーディオ処理部４は、レジスタ３に格納されたオーディオ系コマンドを読み込み、このコマンドによって指示されたオーディオ処理を行う。オーディオ処理は、外部ＲＯＭに格納された音声データを外部バスを介して取り込み、これに信号処理を施すといった流れが基本となる。そして、このオーディオ処理によって生成された音声は、統合ＬＳＩ２に接続されたバスを介してスピーカ８に出力される。
【００１８】
一方、統合ＬＳＩ２に接続されたシリアルデータ線には、複数のシリアルドライバ９が接続されているとともに、それぞれのシリアルドライバ９には、複数のデバイス１０が並列に接続されている。統合ＬＳＩ２内のシリアルコントローラ６は、レジスタ３に格納されたシリアル制御系コマンドを読み込み、このコマンドの指示に応じたシリアルデータをシリアルデータ線に出力することによって、複数のデバイス１０をシリアル制御する。本実施形態において、デバイス１０自体はシリアルデータを解析する機能を備えていないので、デバイス１０の駆動は、この機能を備えたシリアルドライバ９を介して行われる。それぞれのシリアルドライバ９は、シリアルデータ線に供給されたシリアルデータを受け取り、これに応じて、自己に接続されたデバイス１０を駆動させる。なお、シリアルドライバ９との同期は、クロック線を介して、シリアルコントローラ６がシリアルドライバ９にクロックＣＬＫを供給することによって行われる。シリアル制御の対象となるデバイス１０には、ＬＥＤやランプといった発光体、或いは、同期電動機（ステッピングモータ）、整流子電動機、誘導電動機といったモータ類を含めて様々なものが存在するが、本実施形態では、一例として、遊技機の盤面に配置されるＬＥＤ、および、役物等を回転させるステッピングモータの２種類を用いる。
【００１９】
グラフィック処理部４、オーディオ処理部５およびシリアルコントローラ６は、互いの処理が同期するように制御される。これらの制御によって、遊技機に表示される動画、出力される音声、ランプの点灯状態および役物の動きが同期し、これらの相互的な演出によって高度な演出効果が発揮される。なお、画像表示とシリアル制御との同期を図るべく、画像表示に用いられる垂直同期信号Ｖsncがシリアルコントローラ６に供給される。
【００２０】
図２は、シリアルコントローラ６のブロック構成図である。説明を簡略化するために、ＬＥＤ１０ａおよびステッピングモータ１０ｂ（以下、単に「モータ１０ｂ」という）が接続された１個のシリアルドライバ９に着目する。ＬＥＤ１０ａは、出力先Ｄ0によって発光状態が制御され、Ｄ0＝０でオフ（非点灯）、Ｄ0＝１でオン（点灯）である。一方、モータ１０ｂは、出力先Ｄ1〜Ｄ4によって駆動制御が行われ、モータ相Ａへの供給パルスがＤ1、モータ相Ｂへの供給パルスがＤ2、モータ相Ａ’への供給パルスがＤ3、モータ相Ｂ'への供給パルスがＤ4である。
【００２１】
以下、図１に示したレジスタ３をシリアルコントローラ６の一部として取り扱う。シリアルコントローラ６は、図１のレジスタ３を構成する一対のレジスタ３ａ，３ｂと、基本周期発生回路１１と、更新周期発生回路１２と、出力制御回路１３と、選択部である三端子型の選択回路１４ａ，１４ｂと、選択制御回路１５とを主体に構成されている。レジスタ３ａ，３ｂは、並列に設けられており、ＣＰＵ１によって発行されたシリアル制御系コマンドを格納する。図３は、シリアル制御系コマンドのレジスタ３ａ，３ｂへの設定例を示す図である。シリアル制御系コマンドは、周期選択データＳＥＬと、制御データとに大別される。周期選択データＳＥＬは、各デバイス１０ａ，１０ｂの更新周期を指定する。同図のケースは、出力先Ｄ0によって動作するＬＥＤ１０ａには更新周期ＣＲa、出力先Ｄ1〜Ｄ4によって動作するモータ１０ｂには更新周期ＣＲb（ＣＲa≠ＣＲb）をそれぞれ適用すべき旨を示している。これらの更新周期ＣＲa，ＣＲbは、後述する基本周期ＣＢのｍ，ｎ倍（ｍ，ｎは整数かつｍ≠ｎ）で規定され、このｍ，ｎの値が周期選択データＳＥＬによって指定される。その際、更新周期ＣＲa，ＣＲbが整数倍の関係になるように設定すれば、異種のデバイス１０ａ，１０ｂに関する制御の複雑化を避けることができる。以下の説明では、一例として、更新周期ＣＲaを基本周期６４個分（ｍ＝６４）とし、更新周期ＣＲbを基本周期８個分（ｎ＝８）とする。
【００２２】
一方、制御データは、各デバイス１０ａ,１０ｂの動作内容を規定するが、これにはオフセット値Ｔofsとオン状態時間Ｔonとが存在する。詳細については後述するが、オフセット値Ｔofsは、更新周期ＣＲa（またはＣＲb）の開始タイミングを基準としたオフセット時間を示しており、オン状態時間Ｔonは、オフ状態の終了タイミングを基準としたオン状態の継続時間を示す。これらの継続時間は、基本周期ＣＢのｉ，ｊ倍（ｉ，ｊは整数）で規定され、このｉ，ｊの値が制御データによって指定される。例えば、図３のケースにおける出力先Ｄ3に関しては、更新周期ＣＲbの開始タイミングから基本周期４個分（ｉ＝４）オフセットしたタイミングでオン状態とし、これを基本周期２個分（ｊ＝２）継続するといった如くである。このように、更新周期ＣＲa，ＣＲbにおいて、デバイス１０ａ，１０ｂをオンさせる基本周期ＣＢの位置を指定することで、更新周期ＣＲa，ＣＲb全体におけるデバイス１０ａ，１０ｂのオン・オフが規定される。
【００２３】
なお、本実施形態では、周期選択データＳＥＬおよび制御データの双方をレジスタ３ａ，３ｂに格納しているが、レジスタ３ａ，３ｂへの格納データを制御データのみとし、周期選択データＳＥＬを別系統で供給してもよい。
【００２４】
並列に設けられたレジスタ３ａ，３ｂは、これらの入出力が排他的に制御されるダブルバッファとして機能する。レジスタ３ａ，３ｂの入力側には、選択回路１４ａが接続されている。この選択回路１４ａは、ＣＰＵ１によって発行されたシリアル制御系コマンドの書込先として、レジスタ３ａ，３ｂの一方を選択する。また、レジスタ３ａ，３ｂの出力側には、選択回路１４ｂが接続されている。この選択回路１４ｂは、シリアル制御系コマンドの読出元として、レジスタ３ａ，３ｂの一方を選択する。これらの選択回路１４ａ，１４ｂは、選択制御回路１５によって制御される。
【００２５】
基本周期発生回路１１は、更新周期の最小単位を規定する基本周期ＣＢとして、その開始タイミング毎にワンショットパルスを発生する。この基本周期ＣＢは、更新周期発生回路１２および出力制御回路１３に出力される。一方、更新周期発生回路１２は、基本周期ＣＢの整数倍をベースに設定される更新周期（可変値）を複数生成可能である。更新周期ＣＲは、オフセット値Ｔofsやオン状態時間Ｔonといった制御データを更新する時間的な単位を規定する。更新周期発生回路１３は、選択回路１４ｂによって選択された読出元（レジスタ３ａ，３ｂの一方）に格納された全ての周期選択データＳＥＬを読み出し、これらのデータによって指定された全ての更新周期ＣＲを発生する。更新周期ＣＲは、その開始タイミングを基準とした基本周期ＣＢの時系列的な推移（個数）をカウントしたカウント値ＣＮＴとして出力され、更新周期ＣＲaのカウント値ＣＮＴaは０〜６３の範囲、更新周期ＣＲaのカウント値ＣＮＴbは０〜７の範囲となる。更新周期ＣＲa，ＣＲbを基本周期ＣＢの整数倍をベースに設定する理由は、各更新周期ＣＲa，ＣＲbにおける基本周期ＣＢの時系列的な推移をカウント値ＣＮＴとして明確に反映するためである。したがって、基本周期ＣＢおよびカウント値ＣＮＴの同期をとることに支障がない限り、基本周期ＣＢの整数倍の長さを有する時間領域の端部、或いは、隣り合った基本周期ＣＢの間に、時間的な冗長領域を付加してもよい。これらの更新周期ＣＲa，ＣＲbは、出力制御回路１３に出力される。また、更新周期発生回路１２は、これらの更新周期ＣＲa，ＣＲbのうちで周期が最も短い最短更新周期ＣＳ（＝ＣＲb）を選択制御回路１５に出力する。
【００２６】
また、更新周期発生回路１２は、垂直同期信号Ｖsncを参照して、更新周期ＣＲa，ＣＲbを垂直同期信号Ｖsncに同期させる。この同期は、垂直同期信号Ｖsncに応じて更新周期ＣＲa，ＣＲbのカウント値ＣＮＴa，ＣＮＴbをリセットすることによって実現される。このような周期の同期化によって、画像表示、盤面のランプ点灯および役物の動きの間における相互的な演出を容易かつ高次元にて行うことが可能になる。
【００２７】
選択制御回路１５は、ＣＰＵ１からの指示に応じて、シリアル制御系コマンドの書込先と読込先とが一致することなく交互に切り替わるように、換言すれば、レジスタ３ａ，３ｂが交互かつ排他的に選択されるように、選択回路１４ａ，１４ｂを制御する。図４は、選択制御回路１５における選択制御のタイミングチャートである。ＣＰＵ１は、ダブルバッファ化されたレジスタ３ａ，３ｂを切り替える必要があると判断した場合、選択制御回路１５に対して、その切り替えを許可する。この切替許可は、シリアルコントローラ６の動作状態とは無関係に任意のタイミングで発行される。切替許可を受け付けた選択制御回路１５は、最短更新周期ＣＳ（＝ＣＲb）と同期して選択回路１４ａ，１４ｂの切替制御を実行する。具体的には、切替許可を受け付けたタイミングｔ1以降における最短更新周期ＣＳの基準タイミングｔ2（例えば開始タイミング）で、選択回路１４ａ，１４ｂを切り替える。これにより、基準タイミングｔ2で、書込先がレジスタ３ａからレジスタ３ｂに切り替わると同時に、読出元がレジスタ３ｂからレジスタ３ａに切り替わる。そして、ＣＰＵ１によって切替許可が再度発行され、最短更新周期ＣＳと同期した次の切り替えが行われるまでの期間ｔ2〜ｔ3、この状態が維持される。この期間ｔ2〜ｔ3において、ＣＰＵ１によって発行されたシリアル制御系コマンドはレジスタ３ｂに書き込まれるとともに、レジスタ３ａからシリアル制御系コマンドが読み出される。
【００２８】
このように、ＣＰＵ１が予め出力設定を行っても、即座に出力に反映されるのではなく、最短更新周期ＣＳと同期して出力に反映される。したがって、ＣＰＵ１の負荷に合わせて出力反映を行うことができる。また、最短更新周期ＣＳ内にデータの書き込みが終わらなかった場合でも、切替許可を発行しなければ書き込み中の内容が反映されることがないので、出力制御上の不都合を未然に防止することができる。
【００２９】
出力制御回路１３は、読出元となるレジスタ３ａ（または３ｂ）より読み出された周期選択データＳＥＬ、オフセット値Ｔofsおよびオン状態時間Ｔonに基づいて、デバイス１０ａ，１０ｂの更新周期の選択と、選択された更新周期を基準とした時分割制御とを行う。図５は、出力制御回路１３のブロック構成図であり、図６は、出力制御のタイミングチャートである。この出力制御回路１３は、制御部１３ａと、更新周期選択部１３ｂと、動作決定部１３ｃと、データ出力部１３ｄとを主体に構成されている。なお、最終的にシリアルデータ線に出力されるシリアルデータは、デバイス１０ａ，１０ｂの動作状態を規定するデータを時系列的に並べたものであるが、そのヘッダとして、シリアルドライバ９固有の識別データ（ＩＤ）が付加されている。このＩＤは、シリアルコントローラ６とシリアルドライバ９との間のプロトコルにおいて、シリアルコントローラ６がシリアルドライバ９を個別指定するために用いられるとともに、シリアルドライバ９が自己宛のデータであるかを識別するために用いられる。シリアルデータの出力処理は、基本周期ＣＢ毎に繰り返され、基本周期ＣＢの開始タイミングにおいて処理が開始される。
【００３０】
まず、制御部１３ａは、基本周期ＣＢの開始タイミングにおいて、レジスタ３（レジスタ３ａ，３ｂを包含する）またはその他の記憶装置に格納されたデータベースを参照して、シリアルドライバ９の現在の接続状況を把握する。図４に示したデータベースを参照した結果、ＩＤ＝Ｄｒｖ(1)〜Ｄｒｖ(x)のシリアルドライバ９が接続されていることが判明する。このデータベースには、シリアルドライバ９の接続状況以外にも、各シリアルドライバ９が駆動するデバイス１０ａ，１０ｂの接続状況が記述されており、ＣＰＵ１によって管理される。データベースを参照した結果、現在接続中のシリアルドライバ９のＩＤがＤｒｖ(1)〜Ｄｒｖ(x)の場合、１基本周期ＣＢの期間内で、ｘ個の全シリアルドライバ９に対するデータ出力がドライバ単位で順次行われる。
【００３１】
今回、シリアルデータの出力対象となる１つのシリアルドライバ９（例えばＩＤ＝Ｄｒｖ(1)）に着目してデータベースを参照することによって、Ｄｒｖ(1)に接続された出力先（デバイス）が特定される。図５に示したデータベースを参照した結果、Ｄｒｖ(1)に接続された出力先がＤ0〜Ｄ4であることが判明する。制御部１３ａは、これらの出力先Ｄ0〜Ｄ4に関する周期選択データＳＥＬ、オフセット値Ｔofsおよびオン状態時間Ｔonの読み出しを読出元となるレジスタ３ａ，３ｂに要求する。それとともに、制御部１３ａは、今回の出力対象であるシリアルドライバのＩＤ（＝Ｄｒｖ(1)）を含むヘッダ(1)をデータ出力部１３ｄに出力する。これを受けたデータ出力部１３ｄは、シリアルデータの先頭データとして上記ヘッダ(1)（ＩＤ＝Ｄｒｖ(1)を含む）をシリアルデータ線に出力する。
【００３２】
読出元となるレジスタ３ａ（または３ｂ）から周期選択データＳＥＬが読み出されると、更新周期選択部１３ｂは、制御部１３ａの制御下において、出力先Ｄ0〜Ｄ4のそれぞれに適用する更新周期（ＣＲaまたはＣＲb）を順次選択する。図３のケースでは、出力先Ｄ0については更新周期ＣＲaが選択され、この更新周期ＣＲaに関する現時点でのカウント値ＣＮＴaが動作決定部１３ｃに出力される。図６に示したように、更新周期ＣＲaは、基本周期６４個分に相当するので、そのカウント値ＣＮＴａは０から６３までの範囲内で順次カウントアップされる。一方、出力先Ｄ1〜Ｄ4については更新周期ＣＲbが選択され、この更新周期ＣＲbに関する現時点でのカウント値ＣＮＴbが動作決定部１３ｃに出力される。更新周期ＣＲbは、基本周期８個分に相当するので、そのカウント値ＣＮＴbは０から７までの範囲内で順次カウントアップされる。
【００３３】
選択されたカウント値ＣＮＴ（ＣＮＴａまたはＣＮＴb）が入力される毎に、動作決定部１３ｃは、この入力カウント値ＣＮＴに対応付けられた出力先Ｄ（Ｄ0〜Ｄ4のいずれか）の動作を決定する。出力先Ｄに出力するデータは、この出力先Ｄに適用される更新周期ＣＲのカウント値ＣＮＴ、そのオフセット値Ｔofs、および、そのオン状態時間Ｔonを入力とした下記の設定規則に基づいて、一義的に特定される。
【００３４】
（設定規則）
カウント値ＣＮＴ                      出力先Ｄの動作状態
ＣＮＴ＜Ｔofs                                オフ（＝０）
Ｔofs≦ＣＮＴ＜（Ｔofs＋Ｔon）               オン（＝１）
（Ｔofs＋Ｔon）≦ＣＮＴ                      オフ（＝０）
【００３５】
図３のケースでは、出力先Ｄ0のオフセット値Ｔofsは０で、オン状態時間Ｔonは３２である。したがって、カウント値ＣＮＴa＝０では、この出力先Ｄ0はオンに設定される。そして、出力先Ｄ0に続く出力先（Ｄ1，Ｄ2，Ｄ3，Ｄ4）に関しては、（オン，オフ，オフ，オフ）に順次設定される。動作決定部１３ｃは、出力先Ｄ0〜Ｄ4の動作状態を時系列的に並べた（１，１，０，０，０）をデータ(1)としてデータ出力部１３ｄに出力する。これを受けたデータ出力部１３ｄは、上記ヘッダ(1)（ＩＤ＝Ｄｒｖ1を含む）に続くデータ(1)として（１，１，０，０，０）をシリアルデータ線に基本周期ＣＢ単位で出力する。ヘッダ(1)およびデータ(1)によって構成されたシリアルデータが、ＩＤ＝Ｄｒｖ1のシリアルドライバ９向けのデータとなる。
【００３６】
以上のような一連の処理は、ＩＤ＝Ｄｒｖ(2)，Ｄｒｖ(3)，・・・，Ｄｒｖ(x)のシリアルドライバ９について同様に繰り返される。そして、全シリアルドライバ９に関する処理の終了を以て、今回の基本周期ＣＢにおける処理が終了する。このような１基本周期内の処理は、基本周期ＣＢ毎に繰り返される。これにより、出力先Ｄ0〜Ｄ4は、図６に示したように推移する。まず、出力先Ｄ0（ＳＥＬ＝ＣＲa，Ｔofs＝０，Ｔon＝３２）に関しては、更新周期ＣＲaの開始タイミングであるカウント値ＣＮＴa＝０で１レベルに立ち上がり、この状態がカウント値ＣＮＴa＝３２に到達するまで継続する。そして、カウント値ＣＮＴa＝３２に到達した時点で０レベルに立ち下がり、更新周期ＣＲaの終了タイミングであるカウント値ＣＮＴa＝６３まで継続する。これにより、出力先Ｄ0に接続されたＬＥＤ１０ａは、更新周期ＣＲaを１フレーム（デバイスを駆動する上での単位）とする期間内において、５０％のオンデューティで発光することになる。ＬＥＤ１０ａの階調制御は、オンデューティを調整することによって行われる。また、出力先Ｄ1（ＳＥＬ＝ＣＲb，Ｔofs＝０，Ｔon＝２）に関しては、更新周期ＣＲbの開始タイミングであるカウント値ＣＮＴb＝０で１レベルに立ち上がり、この状態がカウント値ＣＮＴb＝２に到達するまで継続する。そして、カウント値ＣＮＴb＝２に到達した時点で０レベルに立ち下がり、更新周期ＣＲbの終了タイミングであるカウント値ＣＮＴa＝７まで継続する。出力先Ｄ2〜Ｄ4に関しては、出力先Ｄ1の波形を基本周期２個分ずつ順次ずらした波形となる。これにより、出力先Ｄ1〜Ｄ4に接続されたモータ１０ｂが１相励磁ステッピングモータの場合、更新周期ＣＲbの期間内において、４パルス分だけ順回転することになる（１パルスあたりステップ角が１度ならば４度）。モータ１０ｂの回転制御は、パルスを調整することによって行われる。なお、モータ１０ｂを逆回転させる場合には、出力先Ｄ1〜Ｄ4における波形のずれ方向を逆に設定すればよい。
【００３７】
図７は、シリアルデータの出力例を示す図である。シリアルコントローラ６とシリアルドライバ９との間では、データのやりとりに関するプロトコルが予め決められている。シリアルデータ線に出力されたシリアルデータは、シリアルデータ線に接続された全てのシリアルドライバ９に供給される。それぞれのシリアルドライバ９は、シリアルデータのヘッダ中に含まれるＩＤ（＝Ｄｒｖ(1)）を参照して、自己に割り当てられたＩＤと一致するか否かを判定する。そして、自己のＩＤと一致するシリアルドライバ９（ＩＤ＝Ｄｒｖ(1)）は、このシリアルデータに含まれるデータＤ0〜Ｄ4をパラレルデータに変換し、これに基づいてＬＥＤ１０ａおよびモータ１０ｂを駆動させる。シリアルデータ中のビットを取り込むタイミングは、クロック線に供給されたクロックＣＬＫの立ち上がりタイミングによって規定される。
【００３８】
このように、本実施形態によれば、ＣＰＵ１の処理負荷の軽減を図ることができる。シリアルコントローラ６は、ＣＰＵ１によって設定された制御データに基づいて、同一ポートに接続された異種デバイス１０ａ，１０ｂに適用される更新周期ＣＲa，ＣＲbを個別に選択し、選択された更新周期ＣＲa（またはＣＲb）を基準とした時分割制御を行う。したがって、ＣＰＵ１は、レジスタ３ａ，３ｂに周期選択データＳＥＬ、オフセット値Ｔofsおよびオン状態時間Ｔonを設定するだけで済み、基本周期ＣＢよりも比較的長い更新周期ＣＲa，ＣＲbで、デバイス１０ａ，１０ｂの出力設定を行えば足りる。
【００３９】
また、本実施形態によれば、更新周期ＣＲa，ＣＲbの相違に関わりなく、全てのデバイス１０ａ，１０ｂの制御を最適化することが可能になる。ダブルバッファ化されたレジスタ３ａ，３ｂの切り替えによるデータ更新（データ書込）は、最短更新周期ＣＳ、すなわち、更新周期発生回路１２によって生成された更新周期ＣＲa，ＣＲbのうちで周期が最も短いＣＲbと同期して行われる。これにより、更新周期ＣＲbが短いがゆえにデータ出力の時間的制約が厳しいデバイス１０ｂを含む全てのデバイス１０ａ，１０ｂに関して、更新周期ＣＲa，ＣＲb以上に細かな更新分解能を確保できる。その結果、長い更新周期ＣＲaで駆動するデバイス１０ａと、短い更新周期ＣＲbで駆動するデバイス１０ｂとが混在していても、前者の存在を以て、後者の制御分解能が阻害されることがない。
【００４０】
また、本実施形態によれば、ダブルバッファ化されたレジスタ３ａ，３ｂに対する制御データの書き込みを交互に行い、書込先となっていない方から制御データが読み出される。制御データの書き込み・読み出しを同時並行的に行うことで、書込時間の影響を受けることなく、読出時間を含めたデータ出力時間を有効に確保できる。
【００４１】
また、本実施形態によれば、適用すべき更新周期ＣＲa，ＣＲbが異なる異種デバイス１０ａ，１０ｂに関するシリアル制御の最適化を図ることができる。ここで、比較例として、全デバイス１０ａ，１０ｂの更新周期を一定にするケースを考える。このケースにおいて、長周期であるＬＥＤ１０ａの更新周期を一律に適用した場合には、短周期であるモータ１０ｂの単位時間当たりの回転分解能が低下するため、高速回転が困難になる。一方、短周期であるモータ１０ｂの更新周期を一律に適用した場合には、長周期であるＬＥＤ１０ａの階調制御が必要以上に複雑化してしまう。これに対して、本実施形態では、異なる更新周期ＣＲa，ＣＲbで動作する異種デバイス１０ａ，１０ｂを、一方が他方の特性を阻害することなく、同一ポートに配置することでき、かつ、それぞれに対して最適なデバイス制御を統合的に行うことが可能になる。
【００４２】
また、本実施形態によれば、更新周期ＣＲa、ＣＲbを共に基本周期ＣＢの整数倍で設定している。これにより、更新周期ＣＲa，ＣＲbの生成・管理が容易になる。特に、長い方の更新周期ＣＲaを短い方の更新周期ＣＲbの整数倍に設定すれば、長い更新周期ＣＲaの開始・終了タイミングが短い更新周期ＣＲbのそれと一致するので、異種デバイス１０ａ，１０ｂを制御する際の同期が取りやすく、デバイス１０ａ，１０ｂの動作設定が容易になる。
【００４３】
また、本実施形態によれば、オフセット値Ｔofsおよびオン状態時間Ｔonといった制御データを基本周期ＣＢの個数（倍数）によって規定することで、デバイス１０ａ，１０ｂの動作内容を規定する制御データの解釈が容易になり、シリアルコントローラ６の回路構成を簡略化できる。
【００４４】
さらに、本実施形態によれば、垂直同期信号Ｖsncと同期した更新周期ＣＲa，ＣＲbを用いることで、画像表示と異種デバイス１０ａ，１０ｂの動作との間における相互的かつ高次元な演出を容易に行うことが可能となる。
【００４５】
なお、上述した実施形態において、シリアルコントローラ６は、予め規定されたプロトコルに準拠したシリアルドライバ９を介してデバイス１０ａ，１０ｂのシリアル制御を行っているが、デバイス１０ａ，１０ｂ自身がプロトコルに対応しているる場合、当然ながらシリアルドライバ９が不要になる。この場合、デバイス１０ａ，１０ｂがシリアルデータ線に直接接続される形態となる。また、出力先Ｄ0〜Ｄ4のそれぞれに１ビット（オン／オフ）を割り当てているが、多ビット（オン／オフ／中間レベル）を割り当てるようにしてもよい。これらの点は、後述する各実施形態についても同様である。
【００４６】
（第２の実施形態）
図８は、第２の実施形態にかかる選択制御のタイミングチャートである。本実施形態では、第１の実施形態と同様のシステム構成において、最短更新周期ＣＳの経時的な推移をＣＰＵ１が取得することによって、ＣＰＵ１が選択回路１４ａ，１４ｂの切り替えを直接指示する。具体的には、ＣＰＵ１は、最短更新周期ＣＳの経時的な推移として、その基準タイミング（例えば開始タイミング）を割り込み等によって取得する。そして、ＣＰＵ１は、ダブルバッファ化されたレジスタ３ａ，３ｂを切り替える必要があると判断した場合、最短更新周期ＣＳの基準タイミングｔ1において、選択制御回路１５に切り替えを指示する。この切替指示を受け付けた選択制御回路１５は、選択回路１４ａ，１４ｂの切替制御を直ちに実行する。これにより、基準タイミングｔ1において、書込先がレジスタ３ａからレジスタ３ｂに切り替わると同時に、読出元がレジスタ３ｂからレジスタ３ａに切り替わる。そして、ＣＰＵ１によって切替指示が再度発行される基準タイミングｔ2までの期間ｔ1〜ｔ2、この状態が維持される。この期間ｔ1〜ｔ2において、ＣＰＵ１によって発行されたシリアル制御系コマンドはレジスタ３ｂに書き込まれるとともに、レジスタ３ａからシリアル制御系コマンドが読み出される。このように、最短更新周期ＣＳと同期した切替指示をＣＰＵ１が直接発行する形態であっても、上述した第１の実施形態と同様の効果を奏する。
【００４７】
（第３の実施形態）
図９は、第３の実施形態にかかる選択制御のタイミングチャートである。本実施形態では、第１の実施形態と同様のシステム構成において、最短更新周期ＣＳの基準タイミング毎に、選択制御回路１５が選択回路１４ａ，１４ｂの切り替えを自動的に実行する。この場合、最短更新周期ＣＳ内にデータの書き込みを必ず終了させなければならないという時間的な制約が生じるものの、それ以外は上述した第１の実施形態と同様の効果を奏する。
【００４８】
（第４の実施形態）
図１０は、第４の実施形態にかかるシリアルコントローラ６のブロック構成図である。なお、図２で示したものと同一の構成要素に関しては、同一の符号を付して、ここでの説明を省略する（後述する第５の実施形態についても同様）。
【００４９】
ダブルバッファ化されたレジスタ３ａ，３ｂ前段の選択回路１４ａをなくし、その代わりに、シリアル制御系コマンドを書込先指定付で発行する。選択制御回路１５は、レジスタ３ａ，３ｂ後段の選択回路１４ｂの切替状態（ステータス）を管理する。ＣＰＵ１は、このステータスは取得し、読出元でない方のレジスタ３ａ（または３ｂ）を書込先として指定した上でシリアル制御系コマンドを発行する。
【００５０】
このような形態であっても、上述した第１の実施形態と同様の効果を奏する。なお、本実施形態にかかるシリアルコントローラ６の構成において、最短更新周期ＣＳと同期したレジスタ３ａ，３ｂの切替手法は、上述した第１から第３の実施形態で説明した手法のいずれを用いてもよい。
【００５１】
（第５の実施形態）
図１１は、第５の実施形態にかかるシリアルコントローラ６のブロック構成図である。本実施形態では、レジスタ３ａ，３ｂは、並列ではなく直列に設けられている。前段のレジスタ３ａは、ＣＰＵ１によって発行されたシリアル制御系コマンドを先入れ先出しするＦＩＦＯ構造を有する。前段のレジスタ３ａの出力側と、後段のレジスタ３ｂの入力側との間には二端子型の選択回路３ｃが接続されており、これによって、レジスタ３ａ，３ｂの間が選択的に接続または開放される。選択制御回路１５は、選択回路１４ｃにおける接続および開放の切り替えを制御する。この切り替えは、最短更新周期ＣＳと同期して行われる。
【００５２】
このように、レジスタ３ａ，３ｂを直列に設けたな形態であっても、上述した第１の実施形態と同様の効果を奏する。なお、本実施形態にかかるシリアルコントローラ６の構成において、最短更新周期ＣＳと同期したレジスタ３ａ，３ｂの切替手法は、上述した第１から第３の実施形態で説明した手法のいずれを用いてもよい。
【００５３】
なお、上述した第１から第５までの実施形態では、異種デバイス１０ａ，１０ｂをシリアル制御するシリアルコントローラ６を一例に説明した。デバイス制御を同一ポート上で行うシリアル制御は、データ出力に関する時間的な制約が厳しい関係上、本発明を適用するのに最適な形態である。しかしながら、本発明は、シリアル制御に限定されるものではなく、パラレル制御を含めて、ＣＰＵ１からの指示に応じたデータを出力して異種デバイス１０ａ，１０ｂを制御するデバイスコントローラに広く適用可能である。
【図面の簡単な説明】
【００５４】
【図１】統合システムのブロック構成図
【図２】シリアルコントローラのブロック構成図
【図３】シリアル制御系コマンドのレジスタへの設定例を示す図
【図４】第１の実施形態にかかる選択制御のタイミングチャート
【図５】出力制御回路のブロック構成図
【図６】出力制御のタイミングチャート
【図７】シリアルデータの出力例を示す図
【図８】第２の実施形態にかかる選択制御のタイミングチャート
【図９】第３の実施形態にかかる選択制御のタイミングチャート
【図１０】第４の実施形態にかかるシリアルコントローラのブロック構成図
【図１１】第５の実施形態にかかるシリアルコントローラのブロック構成図
【符号の説明】
【００５５】
１  ＣＰＵ
２  統合ＬＳＩ
３，３ａ，３ｂ  レジスタ
４  グラフィック処理部
５  オーディオ処理部
６  シリアルコントローラ
７  表示装置
８  スピーカ
９  シリアルドライバ
１０  デバイス
１０ａ  ＬＥＤ
１０ｂ  モータ
１１  基本周期発生回路
１２  更新周期発生回路
１３  出力制御回路
１３ａ  制御部
１３ｂ  更新周期選択部
１３ｃ  動作決定部
１３ｄ  データ出力部
１４ａ，１４ｂ，１４ｃ  選択回路
１５  選択制御回路
【図１】
0004491559.tif 000002
【図２】
0004491559.tif 000003
【図３】
0004491559.tif 000004
【図４】
0004491559.tif 000005
【図５】
0004491559.tif 000006
【図６】
0004491559.tif 000007
【図７】
0004491559.tif 000008
【図８】
0004491559.tif 000009
【図９】
0004491559.tif 000010
【図１０】
0004491559.tif 000011
【図１１】
0004491559.tif 000012