以下に本発明の実施の形態を説明するが、本発明の構成要件と、発明の詳細な説明に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、発明の詳細な説明に記載されていることを確認するためのものである。従って、発明の詳細な説明中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
すなわち、本発明の一側面の発光ダイオード駆動装置(例えば、図2の発光ダイオード駆動装置12)は、制御装置からの、カウントスタート信号、クロック周波数選択信号、およびカウント到達点リミット信号を含む指令に基づいて、発光ダイオードを駆動させる発光ダイオード駆動装置であって、前記制御装置からの前記指令を受信する受信手段(例えば、図2の受信部21)と、前記指令を認識し、動作状況を指定する動作状況指定手段(例えば、図2の動作状況指定部32)と、予め設定された複数のクロック周波数のパルス波を出力する分周手段(例えば、図2の分周部24)と、前記クロック周波数選択信号により、前記分周手段により出力される予め設定された複数のクロック周波数のパルス波のいずれかを選択するクロック周波数選択手段(例えば、図2のクロック周波数選択部52)と、前記動作状況指定手段により指定された前記動作状況に基づいて、第1の速度で第1のカウンタをカウントアップ、またはカウントダウンする第1のカウント手段(例えば、図2の低周波アップダウンカウンタ53)と、前記第1の速度より高速の第2の速度で第2のカウンタをカウントアップ、またはカウントダウンする第2のカウント手段(例えば、図2の高周波アップダウンカウンタ23)と、前記第1のカウンタの値と、前記第2のカウンタの値とを比較する比較手段(例えば、図2の比較部54)と、前記比較手段の比較結果に基づいて、前記発光ダイオードを駆動する出力手段(例えば、図2の出力部55)とを含み、前記動作状況指定手段は、前記指令を認識し、前記カウントスタート信号、前記クロック周波数選択信号、および前記カウント到達点リミット信号を前記動作状況として指定し、前記第1のカウント手段は、前記動作状況指定手段により指定された前記動作状況に含まれる、前記カウントスタート信号により、前記クロック周波数選択手段により選択されている周波数のクロック周波数のパルス波を用いて、前記第1の速度で前記第1のカウンタのカウントを開始し、前記カウント到達点リミット信号で指定されたカウント値までカウントする。
前記動作状況指定手段により指定された前記動作状況を保持し、前記カウントスタート信号および前記カウント到達点リミット信号を、前記第1のカウント手段に供給する動作状況保持手段(例えば、図2の動作状況保持部51)をさらに含ませるようにすることができ、前記第1のカウント手段には、前記動作状況保持手段より供給されてくる、前記カウントスタート信号、およびカウント到達点リミット信号に基づいて、前記カウントスタート信号により、前記クロック周波数選択手段により選択されている周波数の前記クロック周波数でカウントを開始し、前記カウント到達点リミット信号で指定されたカウント値まで前記第1のカウンタをカウントさせるようにすることができる。
前記第1のカウント手段、前記比較手段、および前記出力手段とを有し、前記発光ダイオードの駆動を制御する複数の出力制御手段(例えば、図2の出力制御部25)と、前記動作状況指定手段により指定された前記動作状況に基づいて、前記複数の出力制御手段のいずれの動作状況であるかを選定する選定手段(例えば、図2の選定部33)とをさらに含ませるようにすることができ、前記選定手段により選定された前記出力制御手段に対して、前記動作状況指定手段により指定された前記動作状況が供給されるようにすることができる。
前記受信手段には、シリアルデータを取得するシリアルデータ取得手段(例えば、図2の受信制御部41のシリアルデータ受信部41a)と、通信用のクロックデータを取得するクロックデータ取得手段(例えば、図2の受信制御部41のクロックデータ受信部41b)とを含ませるようにすることができ、前記クロックデータ取得手段により取得されるクロックデータと同期して、前記制御装置からの前記指令をシリアルデータとして受信し、前記シリアルデータの前記指令をパラレルデータの前記指令に変換させるようにすることができる。
本発明の発光ダイオード駆動システムは、前記制御装置と請求項1乃至5のいずれかに記載の複数の発光ダイオード駆動装置とからなる発光ダイオード駆動システムであって、前記指令には、前記複数の発光ダイオード駆動装置を識別する発光ダイオード駆動装置識別データを含ませるようにすることができ、前記複数の発光ダイオード駆動装置は、前記発光ダイオード駆動装置識別データが、自らを識別するものであるか否かを認識する認識手段(例えば、図2のアドレス認識部31)をさらに含ませるようにすることができ、前記発光ダイオード駆動装置識別データが、自らを識別するものである場合、前記動作状況指定手段には、前記指令を認識させ、前記動作状況を指定させるようにすることができる。
本発明の一側面の発光ダイオード駆動方法は、制御装置からの、カウントスタート信号、クロック周波数選択信号、およびカウント到達点リミット信号を含む指令に基づいて、発光ダイオードを駆動させる発光ダイオード駆動装置の発光ダイオード駆動方法であって、前記制御装置からの前記指令を受信する受信ステップ(図8のステップS21)と、前記指令を認識し、動作状況を指定する動作状況指定ステップ(図8のステップS29)と、予め設定された複数のクロック周波数のパルス波を出力する分周ステップ(図10のステップS44)と、前記クロック周波数選択信号により、前記分周ステップの処理により出力される予め設定された複数のクロック周波数のパルス波のいずれかを選択するクロック周波数選択ステップ(図10のステップS44)と、前記動作状況指定ステップの処理により指定された前記動作状況に基づいて、第1の速度で第1のカウンタをカウントアップ、またはカウントダウンする第1のカウントステップ(図10のステップS47)と、前記第1の速度より高速の第2の速度で第2のカウンタをカウントアップ、またはカウントダウンする第2のカウントステップ(図8のステップS25)と、前記第1のカウンタの値と、前記第2のカウンタの値とを比較する比較ステップ(図10のステップS48)と、前記比較ステップの処理での比較結果に基づいて、前記発光ダイオードを駆動する出力ステップ(図10のステップS49)とを含み、前記動作状況指定ステップの処理は、前記指令を認識し、前記カウントスタート信号、前記クロック周波数選択信号、および前記カウント到達点リミット信号を前記動作状況として指定し、前記第1のカウントステップの処理は、前記動作状況指定ステップの処理により指定された前記動作状況に含まれる、前記カウントスタート信号により、前記クロック周波数選択ステップの処理により選択されている周波数のクロック周波数のパルス波を用いて、前記第1の速度で前記第1のカウンタのカウントを開始し、前記カウント到達点リミット信号で指定されたカウント値までカウントする。
図1は、本発明に係る遊技機のLED(Light Emission Diode:発光ダイオード)駆動システムの一実施の形態の構成を示す図である。
このLED駆動システムは、パチンコ遊技機や回胴式遊技機などに代表される遊技機の、LEDを駆動させる(発光させる)ためのシステムである。LED駆動システムは、CPU(Central Processing Unit)11、および、LED駆動装置12−1,12−2,・・・12−Nから構成されており、LED駆動装置12−1が、LED1−1,LED2−1を、LED駆動装置12−2が、LED1−2,LED2−2を、・・・・LED駆動装置12−Nが、LED1−N,LED2−Nを、それぞれ駆動させることによりLED1−1,2−1,LED1−2,2−2,・・・LED1−N,2−Nが駆動し発光する。
尚、LED駆動装置12−1,12−2、LED1−1,2−1,LED1−2,2−2のそれぞれについて特に区別する必要がない場合、単に、LED駆動装置12、LED1,2と称するものとし、その他の構成についても同様に称するものとする。また、LED駆動装置12についても、個別に2個のLED1,2を駆動させる例について説明するが、制御すべきLEDの個数は2個に限定されるものではなく、それ以上の個数のLEDを駆動させるものであってもよい。
CPU11は、LED駆動システムの動作の全体を制御しており、クロック端子CKより出力するクロック信号に同期して、データ端子DATAよりシリアルデータとして指令データを出力し、LED駆動装置12−1,12−2,・・・,12−Nに対して、それぞれが駆動を制御しているLED1−1,2−1,LED1−2,LED2−2の駆動の指令データを供給する。この際、CPU11は、LED駆動装置12−1,12−2のいずれに対しての指示であるかを区別するアドレスの情報を付して指令データを供給する。また、CPU11は、併せて、LED1,2のいずれへの指示であるかを区別する出力系統を識別する情報も付した指令データを供給する。
LED駆動装置12−Nは、それぞれ受信部21−N、動作制御部22−N、高周波アップダウンカウンタ23−N、分周部24−N、および出力制御部25−1−N,25−2−Nを備えている。
受信部21は、CPU11よりクロック信号に同期して送信されてくるシリアルデータからなる指令データを受信し、パラレルデータに変換して動作制御部22に供給する。
動作制御部22は、受信部21より供給されてくる指令データを取得すると、内蔵するアドレス認識部31を制御して、自らへの指令データであるか否かを認識させ、自らへの指令データであると認識された場合にのみ、指令データに基づいて、出力制御部25−1,25−2への出力を指示する。
高周波アップダウンカウンタ23は、分周部24より供給されてくる比較的高速の周波数のクロック信号を、カウントアップ、または、カウントダウンするカウンタであり、カウント値を高周波カウント値として出力制御部25−1,25−2に供給する。
分周部24は、いわゆる分周回路から構成されており、予め設定された比較的高周波のクロック信号を高周波アップダウンカウンタ23に供給すると共に、予め設定された比較的低周波の複数のクロック信号を出力制御部25−1,25−2に供給する。
出力制御部25−1,25−2は、動作制御部22からの指示のうち、自らの出力系統に対応する指示の場合、その指示に基づいて、分周部24より供給されてくる予め設定されている複数の周波数のクロック信号のいずれかを選択し、順次、カウントアップ、または、カウントダウンし、高周波アップダウンカウンタ23より供給されてくるカウント値とを比較し、比較結果に応じて、LED1,2を駆動させる(発光させる)。
次に、図2を参照して、CPU11およびLED駆動装置12の詳細な実施の形態の構成例について説明する。
CPU11は、判定部111、動作データ生成部112、および指令データ送信部113より構成されている。
判定部111は、LED駆動装置12が組み込まれている遊技機の遊技状態、すなわち、通常状態、リーチ状態、および大当り状態に対応して、LED1−1,1−2をどのように駆動させるかを判定し、判定結果である駆動内容を動作データ生成部112に供給する。
動作データ生成部112は、判定部111からの判定結果に基づいて、具体的な動作内容を示す動作データを生成し、指令データ送信部113に供給する。
指令データ送信部113は、動作データ生成部112より供給されてくる動作データを含めて、指令データを生成し、宛先となるLED駆動装置12を特定するアドレスデータを付して、データ出力端子DATAおよびクロック信号出力端子CKより、クロック信号に同期してシリアルデータとして指令データを全てのLED駆動装置12に送信する。
LED駆動装置12の受信部21は、受信制御部41、およびシリアル−パラレル変換部42より構成されている。受信制御部41は、シリアルデータ受信部41aおよびクロックデータ受信部41bを備えており、クロックデータ受信部41bにより受信されるクロックデータに基づいたクロック信号に同期して、シリアルデータ受信部41aで受信されるシリアルデータとして指令データを受信し、シリアル−パラレル変換部42に供給する。シリアル−パラレル変換部42は、シリアルデータをパラレルデータに変換し、パラレルデータに変換された指令データを動作制御部22に供給する。
動作制御部22は、アドレス認識部31、動作状況指定部32、および選定部33を備えている。
アドレス認識部31は、CPU11より供給されてくる指令データに含まれるアドレスデータを読み出し、自らを識別するアドレスであるか否かを判定し、自らを識別するアドレスである場合にのみ、指令データを後段の動作状況指定部32に供給する。より具体的には、識別すべきLED駆動装置12がLED駆動装置12−1または12−2の2台である場合、1ビット分のアドレスデータが構成されればよい。例えば、図1におけるアドレス認識部31−1(図2におけるアドレス認識部31も同様)には、自らのアドレスデータの設定端子がLowに設定されているため、アドレス認識部31−1は、アドレスデータであるLow(=0)と、供給されてきた指令データに含まれるアドレスデータとを比較し、一致するとき、すなわち、アドレスデータがいずれも0であるとき、自らのアドレスであると認識する。また、例えば、図1におけるアドレス認識部31−2には、自らのアドレスデータの設定端子がHiに設定されているため、アドレス認識部31−2は、アドレスデータであるHi(=1)と、供給されてきた指令データに含まれるアドレスデータとを比較し、一致するとき、すなわち、アドレスデータがいずれも1であるとき、自らのアドレスであると認識する。
尚、上述したように、図1においては、LED駆動装置12−1乃至12−Nが設けられている例について示されているような場合、アドレスデータのデータビット数をLED駆動装置12の個数に対応して設け、対応してアドレス識別部31にさらに設定端子を増設し、それぞれを識別するアドレスを設定することで対応することができる。
動作状況指定部32は、CPU11から供給された指令データに含まれる出力系統データおよび動作データに基づいて、動作状況を指定し、選定部33に指示し、出力制御部25−1または25−2によりそれぞれLED1,2を駆動させる。
選定部33は、動作状況指定部32より供給されてくる指示に含まれる、指令データの出力系統データに基づいて、出力制御部25−1または25−2の何れかを選定し、動作データに対応する動作を指示する。
出力制御部25−1,25−2は、それぞれ動作状況保持部51−1,51−2、クロック周波数選択部52−1,52−2、低周波アップダウンカウンタ53−1,53−2、比較部54−1,54−2、および出力部55−1,55−2から構成されている。
動作状況保持部51は、動作制御部22より供給されてくる動作状況を保持し、動作状況に含まれているクロック周波数選択信号をクロック周波数選択部52に供給すると共に、低周波アップダウンカウンタ53に対して、カウントスタート信号、およびリミット信号を供給する。
クロック周波数選択部52は、動作状況保持部51より供給されるクロック周波数選択信号に基づいて、分周部24より供給されてくる比較的低周波の3種類の周波数f1乃至f3のいずれかのクロック周波数信号を選択して、低周波アップダウンカウンタ53に供給する。
低周波アップダウンカウンタ53は、動作状況保持部51より供給されてくるスタート信号に基づいて、クロック周波数選択部52より供給されてくるクロック周波数信号を、リミット信号により規定されるリミット値まで、カウンタ値を順次カウントアップ、または、カウントダウンして、その結果を低周波カウント値として比較部54に供給する。
比較部54は、低周波アップダウンカウンタ53より供給されてくる低周波カウント値と、高周波アップダウンカウンタ23より供給されてくる高周波カウント値とを比較し、低周波カウント値が高周波カウント値よりも大きいとき、出力部55に対してLED1,2の駆動を指示する信号を供給する。
出力部55は、比較部54よりLED1,2の駆動を指示する信号が供給されると、LED1または2を駆動し、LED1または2を発光させる。
次に、図3乃至図6を参照して、低周波アップダウンカウンタ53について説明する。
図3で示されるように、分周部24は、クロック周波数f1乃至f3のクロック信号を発生し、出力制御部25のクロック周波数選択部52に供給している。このクロック周波数f1乃至f3は、例えば、クロック周波数f1が1kHz(周期1ms)であり、クロック周波数f2が500Hz(周期2ms)であり、クロック周波数f3が250Hz(周期4ms)である。クロック周波数選択部52は、クロック周波数選択信号により、クロック周波数f1乃至f3のいずれかを低周波アップダウンカウンタ53に供給する。
したがって、例えば、クロック周波数f1が、1kHzであって、リミット値が1024である場合、図4における軌道K1で示されるように、低周波アップダウンカウンタ53は、カウントスタート信号が入力されたタイミングから1.024秒後に1024カウントに到達する。また、例えば、クロック周波数f2が、500Hzであって、リミット値が1024である場合、図4における軌道K2で示されるように、低周波アップダウンカウンタ53は、カウントスタート信号が入力されたタイミングから2.048秒後に1024カウントに到達する。さらに、例えば、クロック周波数f3が、250Hzであって、リミット値が1024である場合、図4における軌道K3で示されるように、低周波アップダウンカウンタ53は、カウントスタート信号が入力されたタイミングから4.096秒後に1024カウントに到達する。
また、低周波アップダウンカウンタ53がカウントアップ、または、カウントダウンする値は、連続変量ではなく、離散変量であるので、軌道K1乃至K3は、直線状に描かれているが、厳密には、軌道K1乃至K3のそれぞれの拡大表記欄P1乃至P3で示されるように、階段状に増加しており、クロック周波数f1の場合、周期である1ms毎に1段増加し、クロック周波数f2の場合、周期である2ms毎に1段増加し、クロック周波数f3の場合、周期である4ms毎に1段増加している。
尚、以降においては、クロック周波数f1が1kHzであり、クロック周波数f2が500Hzであり、クロック周波数f3が250Hzであるものとして説明を進めるものとするが、当然のことながら、その他の周波数であってもよく、さらに、3種類以上のクロック周波数を用いるようにしてもよい。
さらに、低周波アップダウンカウンタ53によりカウントされるカウント値は、リミット値の設定により、様々な挙動を示す。例えば、クロック周波数f2であり、リミット値が1024の場合、図5の軌道K2で示されるように、低周波アップダウンカウンタ53は、カウントスタート信号が入力されたタイミングから2.048秒後には、リミット値の1024カウントに到達し、さらに、その後は、リミット値である1024カウントが、カウント値として維持される。尚、この軌道K2は、図4における軌道K2と同様のものである。
また、例えば、クロック周波数f2であり、リミット値が768の場合、図5の軌道K4で示されるように、低周波アップダウンカウンタ53は、カウントスタート信号が入力されたタイミングから1.536秒後には、リミット値の768カウントに到達し、さらに、その後は、リミット値である768カウントが、カウント値として維持される。
さらに、例えば、クロック周波数f2であり、リミット値が512の場合、図5の軌道K5で示されるように、低周波アップダウンカウンタ53は、カウントスタート信号が入力されたタイミングから1.024秒後には、リミット値の512カウントに到達し、さらに、その後は、リミット値である512カウントが、カウント値として維持される。
また、例えば、クロック周波数f2であり、リミット値が256の場合、図5の軌道K6で示されるように、低周波アップダウンカウンタ53は、カウントスタート信号が入力されたタイミングから0.512秒後には、リミット値の256カウントに到達し、さらに、その後は、リミット値である256カウントが、カウント値として維持される。
さらに、例えば、クロック周波数f1であり、リミット値が1024の場合、図6の軌道K1で示されるように、低周波アップダウンカウンタ53は、カウントスタート信号が入力されたタイミングから1.024秒後には、リミット値の1024カウントに到達し、さらに、その後は、リミット値である1024カウントが、カウント値として維持される。尚、この軌道K1は、図4における軌道K1と同様のものである。
また、例えば、クロック周波数f2であり、リミット値が512の場合、図6の軌道K7で示されるように、低周波アップダウンカウンタ53は、カウントスタート信号が入力されたタイミングから1.024秒後には、リミット値の512カウントに到達し、さらに、その後は、リミット値である512カウントが、カウント値として維持される。
すなわち、図6で示されるように、クロック周波数とリミット値の組み合わせにより、異なるカウント値でも、到達時間を揃えることが可能となる。
さらに、例えば、クロック周波数f3であり、リミット値が768の場合、図6の軌道K8で示されるように、低周波アップダウンカウンタ53は、カウントスタート信号が入力されたタイミングから3.072秒後には、リミット値の768カウントに到達し、さらに、その後は、リミット値である768カウントが、カウント値として維持される。
次に、図7を参照して、高周波アップダウンカウンタ23について説明する。
高周波アップダウンカウンタ23は、分周部24より供給される低周波のクロック周波数信号よりも高周波のクロック周波数信号f0をカウントアップし、リミッタ値が1024に設定されており、リミッタ値に到達するとリセットし、再び0からのカウントアップを繰り返す。より具体的には、クロック周波数f0は、例えば、1.024MHzであり、このとき周期は、1/1.024μs(=1/1024ms)となるため、カウントを開始したタイミングから1msで1024カウントが完了し、この処理が繰り返される。したがって、高周波アップダウンカウンタ23のカウント値は、図7の軌道K9で示されるように、1msの鋸波となる。尚、当然のことながら、高周波アップダウンカウンタ23でカウントされる値も離散変量となるため、図9の拡大表示欄P11で示されるように、厳密には、軌道K9は、階段状に増加しており、周期である1/1.024μs毎に1段増加している。尚、高周波アップダウンカウンタ23の出力例としてカウントアップの例について説明してきたが、例えば、1024カウント乃至0カウントのカウントダウンを繰り返すようにしてもよい。
次に、図8のフローチャートを参照して、LED駆動処理システムによるLED駆動処理について説明する。
ステップS1において、判定部111は、LED駆動装置12を識別する全てのアドレスのうち、未処理のアドレスを処理対象アドレスに指定する。
ステップS2において、判定部111は、処理対象となるアドレスにおける出力制御部25によりLED1若しくは2、または、その両方の駆動が必要であるか否かを判定する。
ステップS2において、例えば、駆動が必要であると判定された場合、ステップS3において、動作データ生成部112は、処理対象アドレスのLED駆動装置12に対して、駆動させるべきLEDの動作内容を指示する動作データを生成し、指令データ送信部113に供給する。ここでいう動作データは、上述した低周波アップダウンカウンタ53のカウントスタートのタイミング、リミット値、およびクロック周波数選択信号である。
ステップS4において、指令データ送信部113は、処理対象アドレスのLED駆動装置12に対して、供給されてきた動作データを含めて、動作を指示する、例えば、図9で示されるような指令データを生成し、クロック端子CKより出力するクロック信号に同期して、データ端子DATAよりシリアルデータとして出力する。
指令データは、図9で示されるように、アドレスデータ、出力系統データ、および動作データから構成される。例えば、LED駆動装置12−1宛の指令データを生成する場合、アドレスデータには、LED駆動装置12−1を識別するアドレスのデータが記録される。また、出力系統データは、駆動させる出力系統である出力制御部25−1,25−2のいずれかを識別するデータが記録される。動作データは、上述したように、カウントスタートのタイミング、リミット値、およびクロック周波数選択信号である。
ステップS21において、受信部21の受信制御部41は、CPU11より指令データが送信されてきたか否かを判定し、指令データが送信されてくるまで、同様の処理を繰り返す。ステップS21において、例えば、ステップS4の処理により、CPU11より指令データが送信されてきた場合、ステップS22において、受信制御部41は、順次クロック信号に同期して、シリアルデータとして送信されてくる指令データを受信し、シリアル−パラレル変換部42に供給する。シリアル−パラレル変換部42は、供給されてきたシリアルデータからなる指令データをパラレルデータに変換し、動作制御部22のアドレス認識部31に供給する。アドレス認識部31は、パラレルデータに変換されて供給されてきた指令データより、アドレスデータを読み出す。
ステップS23において、アドレス認識部31は、読み出したアドレスデータが自らを識別するアドレスを示すものであるか否かを判定する。ステップS23において、例えば、読み出したアドレスデータが自らを識別するアドレスを示すものではないと判定された場合、アドレス認識部31は、供給されてきた指令データを破棄し、処理は、ステップS21に戻る。すなわち、この場合、供給されてきた指令データが、自らへのものではないとみなされ、処理が打ち切られる。結果として、指令データの宛先として指定されたアドレスに対応するLED駆動装置12以外においては、処理が打ち切られ、指令データの宛先として指定されたアドレスに対応するLED駆動装置12のみが、以降の処理を実行することになる。
一方、ステップS23において、例えば、読み出したアドレスデータが自らを識別するアドレスを示すものであると判定された場合、ステップS24において、アドレス認識部31は、供給された指令データを全て読み出し、動作状況指定部32に供給する。
ステップS25において、高周波アップダウンカウンタ23は、図7を参照して説明したように、リミッタ値である1024カウントまで高周波カウント値のカウントアップを開始し、1024カウントで0にリセットする処理を繰り返す。尚、ここでは、高周波アップダウンカウンタ23によりカウントアップ、または、カウントダウンの動作は、動作制御部22が、自らを示すアドレスデータを含む指令データの供給を受けたタイミングで開始するものとしたが、一連の動作とは無関係に常時動作するようにしても良いものである。
ステップS26において、動作状況指定部32は、指令データのうちの動作データを読み出し、ステップS27において、動作として指示する動作内容を認識する。
ステップS28において、動作状況指定部32は、指令データのうちの出力系統データを読み出し、動作データの供給先となる出力系統を認識する。
ステップS29において、動作状況指定部32は、動作データより動作状況を指定し、認識した出力系統に対応する出力制御部25を指定して、選定部45に対して出力系統データと共に動作データを供給する。これに応じて、選定部45は、出力系統データに基づいて、選択すべき出力制御部25に対して動作データを供給し、出力制御処理の実行を指示する。
一方、ステップS2において、駆動が必要ではないと判定された場合、ステップS3,S4の処理は、スキップされる。
そして、ステップS5において、判定部111は、LED駆動装置12を識別する全てのアドレスのうち、未処理のアドレスが存在するか否かを判定する。すなわち、CPU11で動作を管理すべきLED駆動装置12の全てについて処理が終了したか否かが判定される。ステップS5において、未処理のアドレスが存在する場合、処理は、ステップS1に戻る。すなわち、CPU11で動作を管理すべきLED駆動装置12の全てについて処理が終了するまで、ステップS1乃至S5の処理が繰り返される。そして、ステップS5において、全てのアドレスについて処理が終了し、CPU11で動作を管理すべきLED駆動装置12の全てについて処理が終了したと判定された場合、ステップS6において、判定部111は、全てのアドレスを未処理であるものとみなし、処理は、ステップS1に戻る。
すなわち、CPU11は、全てのLED駆動装置12について、動作状況を巡回的に監視し、必要に応じて駆動を指示する。この際、LED駆動装置12を駆動するにあたり、動作を一回指示すればよいのでCPU11による処理負荷が低減される。
次に、図10のフローチャートを参照して、出力制御部25による出力制御処理について説明する。
ステップS41において、動作状況保持部51は、自らの出力系統に出力制御処理が指示されたか否かを判定し、指示されたと判定されるまで、その処理を繰り返す。ステップS41において、例えば、ステップS29の処理により、出力制御処理を指示する動作データが供給された場合、処理は、ステップS42に進む。
ステップS42において、動作状況保持部51は、供給されてきた動作データを保持する。
ステップS43において、動作状況保持部51は、動作データに基づいて、クロック周波数選択信号をクロック周波数選択部52に供給する。
ステップS44において、クロック周波数選択部52は、動作状況保持部51より供給されてきたクロック周波数選択信号に基づいて、分周部24より供給されてくる3種類のクロック周波数信号のいずれかを選択し、低周波アップダウンカウンタ53に供給する。
ステップS45において、動作状況保持部51は、動作データに基づいて、リミット値を低周波アップダウンカウンタ53に供給する。
ステップS46において、動作状況保持部51は、動作データに基づいて、カウンタスタートのタイミングであるか否かを判定し、カウンタスタートのタイミングであると判定されるまで、同様の処理を繰り返す。ステップS46において、カウンタスタートのタイミングであると判定された場合、ステップS47において、動作状況保持部51は、カウントスタート信号を低周波アップダウンカウンタ53に供給する。
ステップS48において、低周波アップダウンカウンタ53は、クロック周波数選択部52より供給されてくるクロック周波数信号のカウントを開始し、カウント値を順次比較部54に供給する。このとき、低周波アップダウンカウンタ53は、現状のカウント値に対して、リミット値が大きいとき、クロック周波数信号に同期してカウントアップを開始し、現状のカウント値に対して、リミット値が小さいとき、クロック周波数信号に同期してカウントダウンを開始する。
ステップS49において、比較部54は、順次高周波アップダウンカウンタ23より供給されてくる高周波カウント値と、低周波アップダウンカウンタ53より供給されてくる低周波カウント値とを比較し、低周波カウント値が高周波カウント値よりも大きいか否かを判定する。ステップS49において、例えば、低周波カウント値が、高周波カウント値よりも高いと判定された場合、ステップS50において、比較部54は、出力部55に対して駆動信号を供給する。この信号により、出力部55は、LED1を駆動するため、LED1は、発光する状態となる。
一方、ステップS49において、例えば、低周波カウント値が、高周波カウント値よりも高くないと判定された場合、ステップS51において、比較部54は、出力部55に対して駆動信号を供給しない。このため、出力部55は、LED1を駆動しないため、LED1は、消灯状態となる。
ステップS52において、低周波アップダウンカウンタ53は、低周波カウント値がリミット値を越えているか否かを判定する(カウントダウンの場合、低周波カウント値がリミット値よりも小さいか否かを判定する)。ステップS52において、例えば、低周波カウント値がリミット値を越えていない場合、処理は、ステップS48に戻る。すなわち、低周波カウント値が、リミット値を超えるまで、ステップS48乃至52の処理が繰り返される。
また、ステップS52において、リミット値を超えたと判定された場合、ステップS53において、動作状況保持部51は、新たに自らの出力系統に出力制御処理が指示されたか否かを判定し、指示されていないと判定された場合、処理は、ステップS49に戻りステップS49乃至S52の処理が繰り返される。
そして、ステップS52において、新たな指示があったと判定された場合、処理は、ステップS41に戻り、それ以降の処理が繰り返される。
以上の処理により、例えば、クロック周波数f1が選択されて、かつ、リミット値として1024が設定されていた場合、低周波アップダウンカウンタ53によりカウントされる低周波カウント値は、図11の軌道K1で示されるようにカウントスタート信号のタイミングから1.024秒後に1024カウントに到達する。ところで、このとき、高周波アップダウンカウンタ23は、カウントを開始したタイミングから1msで1024カウントを完了し、この処理を繰り返す。このため、図11においては、軌道K9が3本のみ描かれているが、カウントスタートから1.024秒の間に1024本存在することになる。換言すれば、軌道K1で示される低周波カウント値が、1カウントされる間に、軌道K9で示される高周波カウント値は1024カウントに到達する。
したがって、カウントスタート信号のタイミングから、例えば、低周波カウント値が511カウントの場合、図11の丸印で示される領域の拡大図である、図12の左上部で示されるように、低周波カウント値を示す軌道K1は、軌道K9の高周波カウント値が511カウントとなる位置において、交差することになる。
また、例えば、低周波カウント値が512カウントの場合、図12の中央上部で示されるように、低周波カウント値を示す軌道K1は、軌道K9の高周波カウント値が512カウントとなる位置において、交差することになる。
さらに、例えば、低周波カウント値が513カウントの場合、図12の右上部で示されるように、低周波カウント値を示す軌道K1は、軌道K9の高周波カウント値が513カウントとなる位置において、交差することになる。
このとき、図12の左上部で示されるように、低周波カウント値が、高周波カウント値より大きな値を取る期間は、高周波アップダウンカウンタ23により0カウントから1024カウントがなされるまでの期間中の、511カウント分、すなわち、511/1024msの期間となる。従って、図12の左下部で示されるように、この間、出力部55は、LED1に対して駆動信号を出力するため、LED1が発光する状態となる。
逆に、図12の左上部で示されるように、低周波カウント値が、高周波カウント値より大きくない値を取る期間は、高周波アップダウンカウンタ23により0カウントから1024カウントがなされるまでの期間中の、512カウント以降、すなわち、513/1024msの期間となる。従って、図12の左下部で示されるように、この間、出力部55は、LED1に対して駆動信号を停止するため、LED1が発光しない状態となる。
また、図12の中央上部で示されるように、低周波カウント値が、高周波カウント値より大きな値を取る期間は、高周波アップダウンカウンタ23により0カウントから1024カウントがなされるまでの期間中の、512カウント分、すなわち、512/1024msの期間となる。従って、図12の中央下部で示されるように、この間、出力部55は、LED1に対して駆動信号を出力するため、LED1が発光する状態となる。
逆に、図12の中央上部で示されるように、低周波カウント値が、高周波カウント値より大きくない値を取る期間は、高周波アップダウンカウンタ23により0カウントから1024カウントがなされるまでの期間中の、513カウント以降、すなわち、512/1024msの期間となる。従って、図12の中央下部で示されるように、この間、出力部55は、LED1に対して駆動信号を停止するため、LED1が発光しない状態となる。
さらに、図12の右上部で示されるように、低周波カウント値が、高周波カウント値より大きな値を取る期間は、高周波アップダウンカウンタ23により0カウントから1024カウントがなされるまでの期間中の、513カウント分、すなわち、513/1024msの期間となる。従って、図12の右下部で示されるように、この間、出力部55は、LED1に対して駆動信号を出力するため、LED1が発光する状態となる。
逆に、図12の右上部で示されるように、低周波カウント値が、高周波カウント値より大きくない値を取る期間は、高周波アップダウンカウンタ23により0カウントから1024カウントがなされるまでの期間中の、514カウント以降、すなわち、511/1024msの期間となる。従って、図12の左下部で示されるように、この間、出力部55は、LED1に対して駆動信号を停止するため、LED1が発光しない状態となる。
以上の出力制御処理により、クロック周波数選択信号およびリミット値により、実質的にLED1の発光をPWM制御することが可能となる。
すなわち、図12の下部で示されるように、低周波カウント値、および高周波カウント値がカウントアップされる場合、低周波カウント値が1カウント進むに従って、LED1が発光される期間が、1/1024msずつ長くなり、最高値である1024に達すると、全期間、すなわち、1.024秒間発光し続けることになる。換言すれば、LED1は、1.024秒の期間をかけて、徐々に明るさが増し、1.024秒後に最も明るい状態となる。
また、低周波アップダウンカウンタ53が、クロック周波数信号f1で、1024カウントからカウントダウンする場合、1カウントごとに、LED1の発光期間は、1ms間隔で1/1024msずつ徐々に短くなり、最終的に発光期間が0となると完全に消灯した状態となる。
さらに、LED1の発光期間は、カウント値によって変化するため、例えば、リミット値を様々な値に設定することにより、明るさを変化させることができる。例えば、カウント値の最高値が1024カウントであれば、512カウントにリミット値が設定されると、LED1は半分の期間にて発光量が上昇し、半分の発光量に到達以降、安定状態となる。
また、クロック周波数信号を、例えば、クロック周波数信号f2、またはf3とすることにより、明るさの変化にかける時間を可変とすることが可能となる。すなわち、例えば、クロック周波数信号f2の場合、f1選択時と比べて2倍の変化期間となり、同様にして、クロック周波数信号f3の場合は、4倍の変化期間となる。尚、図12の上部は、左部、中央部、右部の順に、低周波カウント値が511カウント乃至513カウントにおける軌道K1,K9の関係が示されており、図12の下部においては、図12の上部の左部、中央部、右部のそれぞれに対応するLED1への駆動信号のON、またはOFFの状態が示されている。
従って、例えば、図13の上部で示されるように、時刻t0において、クロック周波数信号f1を選択するようにクロック周波数選択信号が供給され、かつ、リミット値として1024カウントが供給される状態(CPU11からの指令データ(クロック周波数選択信号,リミット値)が(f1,1024)である状態)で、カウントスタート信号が供給されると、カウントアップが開始されて、時刻t4(1.024秒後)において、カウント値が1024カウントとなり、図13の中央部、および下部で示されるように、この間、徐々にLED1の発光期間の割合を示すディーティが0%乃至100%に変化するため、LED1は明るさを増しながら発光し、最終的に、時刻t4において、最も明るく(眩しく)発光する状態となる。
尚、ここでいうデューティは、高周波カウント値の1周期(0カウント乃至1024カウント)当たりの発光期間の割合であり、デューティが高いほど、発光期間が長くなるので、明るく発光している状態として視覚的に認識され、逆に、デューティが低いほど、発光期間が短くなるので、暗く発光している状態として視覚的に認識される。
そして、時刻t4以降においては、低周波アップダウンカウンタ53の低周波カウント値が1024カウントのまま固定されるので、比較部54には、一定の値が供給されることになり、LED1の発光期間が、全期間で最も明るく(眩しく)発光する状態のまま維持される。
引き続き、時刻t1(時刻t4から1.024秒後)において、クロック周波数信号f1を選択するようにクロック周波数選択信号が供給され、かつ、リミット値として256カウントが供給される状態(CPU11からの指令データ(クロック周波数選択信号,リミット値)が(f1,256)である状態)で、カウントスタート信号が供給されると、カウントダウンが開始されて、時刻t5(0.768秒後)において、カウント値が256カウントとなり、図13の中央部、および下部で示されるように、この間、ディーティが100%乃至25%に変化するため、徐々にLED1が暗くなりながら発光し、最終的に、時刻t5において、暗く発光する状態となる。
そして、時刻t5以降においては、低周波アップダウンカウンタ53の低周波カウント値が256カウントのまま固定されるので、比較部54には、一定の値が供給されることになり、LED1の発光期間が、デューティ25%のまま、暗く発光する状態が維持される。
さらに、時刻t2(時刻t5から1秒後)において、クロック周波数信号f2を選択するようにクロック周波数選択信号が供給され、かつ、リミット値として768カウントが供給される状態(CPU11からの指令データ(クロック周波数選択信号,リミット値)が(f2,768)である状態)で、カウントスタート信号が供給されると、カウントアップが開始されて、時刻t6(1.024秒後)において、カウント値が768カウントとなり、図13の中央部、および下部で示されるように、この間、徐々にLED1の発光期間を示すディーティが25%乃至75%に変化するため、LED1は明るさを増しながら発光し、最終的に、時刻t6において、デューティ75%の状態で明るく発光する状態となる。
時刻t6以降においては、低周波アップダウンカウンタ53の低周波カウント値が768カウントのまま固定されるので、比較部54には、一定の値が供給されることになり、LED1の発光期間が、デューティ75%で明るく発光する状態のまま維持される。
引き続き、時刻t3(時刻t6から1秒後)において、クロック周波数信号f3を選択するようにクロック周波数選択信号が供給され、かつ、リミット値として0カウントが供給される状態(CPU11からの指令データ(クロック周波数選択信号,リミット値)が(f3,0)である状態)で、カウントスタート信号が供給されると、カウントダウンが開始されて、時刻t7(3.072秒後)において、カウント値が0カウントとなり、図13の中央部、および下部で示されるように、この間、ディーティが75%乃至0%に変化するため、徐々にLED1が暗くなりながら発光し、最終的に、時刻t7において、消灯する状態となる。
このように、リミット値を切り替えることにより、低周波カウント値を高くすることで、デューティを上げて、明るく発光させると共に、デューティを下げて暗く発光させることが可能となり、さらに、クロック周波数信号を切り替えることにより、明るさの変化の速度を切替えてLED1の発光を制御することが可能となる。尚、図13においては、横軸が時刻を示しており、上部の縦軸が、カウント値を示し、中央部の縦軸が、LED1への駆動信号のON、またはOFFの状態を示し、下部がLED1の発光状況を、明るい順に、眩しい(100%)、明るい(75%)、中間(50%)、暗い(25%)、および消灯(0%)で示している。また、図13の中央部の表示については、LED1への駆動信号が供給されている頻度がデューティを表しており、中央上段にデューティの変化が示されている。
また、以上においては、高周波アップダウンカウンタのカウント値として、図7で示されるような、鋸波を用いた例について説明してきたが、高周波アップダウンカウンタのカウント値としては、単調増加、または、単調減少するような波形が生成されればよいので、単調増加、または、単調減少する波形であれば、その他の波形でもよい。例えば、LED1が低デューディでも十分に高い輝度を発するような場合、図14の左部で示されるような鋸波ではなく、図14の中央部で示されるように、カウント値が小さい段階で急峻に変化し、カウント値がリミット値に近くなるにつれて、増加率が低下していくような波形の方が理想的である。しかしながら、高周波クロック信号は、分周部24からのクロック信号であるので、非線形なクロック信号の発生を想定するのは、現実的ではない。そこで、例えば、図14の右部で示されるように、カウント値に応じて、3種類の高周波クロック信号を切替えるようにしてもよい。図14においては、カウント値が0乃至c1においては、最も高い周波数の高周波クロック信号とし、カウント値がc1乃至c2においては、中程度の周波数の高周波クロック信号とし、カウント値がc2乃至c3においては、最も低い周波数の高周波クロック信号とするように切り替えることで、理想的な波形に類似した高周波クロック信号の高周波カウント値を発生させることが可能となる。尚、図14においては、それぞれ横軸が時刻を示し、縦軸がカウント値を示している。
さらに、以上においては、CPU11からの指令データが通信により順次確実に供給され続ける例について説明してきたが、現実の指令データの通信においては、通信経路において発生する様々なノイズなどにより必ずしも指令データが通信できない恐れがある。
例えば、図15で示されるように、128ms毎にリミット値として128,256,384,512カウントが通信されて、そのタイミングでカウントスタート信号が供給されるものとすると、指令データが順次通信できた場合、図15の上部で示されるように、順次カウント値が上昇し、LED1は、徐々に明るくなりながら発光する。
しかしながら、例えば、図15の下部で示されるように、256msのタイミングにおいて、何らかの原因により指令データの通信が失敗した場合、256ms以降においても、低周波カウント値は、128カウントのままとなるので、そのカウント値に対応するデューティでの発光が継続されることとなる。それでも、次の、384msのタイミングにおいて、リミット値が384カウントとして供給されると、384ms以降において、128カウントから384カウントまで低周波アップダウンカウンタ53がカウントすることとなるため、実質的に、256msにおいて、通信が失敗した分が、回復されることとなる。また、128カウント程度のデューティの変化では、視覚で違和感を覚えるほどの変化はないため、実質的に、通信の失敗による影響は、ほぼないものと考えることができる。
このように、上述した手法によるLED1の発光制御方法によれば、CPU11の処理負荷を低減させることが可能になると共に、通信によるエラーが発生しても、人間の視覚で違和感を覚えるほどの障害の発生は十分に抑制することが可能となる。
本発明によれば、出力制御処理によりクロック周波数選択信号、およびリミット値によりカウントされる低周波カウント値と、高周波カウント値との比較により、CPU11がLEDの発光を制御するにあたり、直接PWM制御する必要がなくなるので、CPU11の処理負荷を低減させることが可能となる。また、CPU11の処理負荷が低減することにより、より多くのLEDの駆動を制御することが可能となる。
また、従来においては、CPU11により直接PWM制御する必要があっため、通信の限界から諧調数に限界があったが、本発明によれば、CPU11によるPWM制御が不要となるため、通信の限界が諧調数の限界となるような律則とならない。さらに、カウント値の最大値を1024カウントとする例について説明してきたが、それ以上のカウント値とするようにしてもよく、カウント数を増やすことでさらに諧調数を上げることが可能となる。また、諧調数が増えるほど、出力制御部25による自走時間が延びるため、よりCPU11による処理負荷を低減させることが可能となる。
結果として、発光ダイオードをより高階調分解能に発光制御することが可能となり、その制御にあたり、上位の制御装置による処理の負担を軽減し、指令の数に応じた配線数を削減することが可能となる。
ところで、上述した一連の監視処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
図16は、汎用のパーソナルコンピュータの構成例を示している。このパーソナルコンピュータは、CPU(Central Processing Unit)1001を内蔵している。CPU1001にはバス1004を介して、入出力インタフェース1005が接続されている。バス1004には、ROM(Read Only Memory)1002およびRAM(Random Access Memory)1003が接続されている。
入出力インタフェース1005には、ユーザが操作コマンドを入力するキーボード、マウスなどの入力デバイスよりなる入力部1006、処理操作画面や処理結果の画像を表示デバイスに出力する出力部1007、プログラムや各種データを格納するハードディスクドライブなどよりなる記憶部1008、LAN(Local Area Network)アダプタなどよりなり、インターネットに代表されるネットワークを介した通信処理を実行する通信部1009が接続されている。また、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini Disc)を含む)、もしくは半導体メモリなどのリムーバブルメディア1011に対してデータを読み書きするドライブ1010が接続されている。
CPU1001は、ROM1002に記憶されているプログラム、または磁気ディスク、光ディスク、光磁気ディスク、もしくは半導体メモリ等のリムーバブルメディア1011から読み出されて記憶部1008にインストールされ、記憶部1008からRAM1003にロードされたプログラムに従って各種の処理を実行する。RAM1003にはまた、CPU1001が各種の処理を実行する上において必要なデータなども適宜記憶される。
尚、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理は、もちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理を含むものである。
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。