JP7765201B2 - gaming machines - Google Patents
gaming machinesInfo
- Publication number
- JP7765201B2 JP7765201B2 JP2021093771A JP2021093771A JP7765201B2 JP 7765201 B2 JP7765201 B2 JP 7765201B2 JP 2021093771 A JP2021093771 A JP 2021093771A JP 2021093771 A JP2021093771 A JP 2021093771A JP 7765201 B2 JP7765201 B2 JP 7765201B2
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- display
- signal
- data
- control
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Pinball Game Machines (AREA)
Description
本発明は、遊技動作に起因する抽選処理を行い、その抽選結果に対応する画像演出を実行する遊技機に関し、特に、迫力ある役物演出や画像演出を安定して実行できる遊技機に関する。 The present invention relates to a gaming machine that performs a lottery process based on gaming actions and produces image effects corresponding to the lottery results, and in particular to a gaming machine that can stably produce impressive bonus effects and image effects.
パチンコ機などの弾球遊技機は、遊技盤に設けた図柄始動口と、複数の表示図柄による一連の図柄変動態様を表示する図柄表示部と、開閉板が開閉される大入賞口などを備えて構成されている。そして、図柄始動口に設けられた検出スイッチが遊技球の通過を検出すると入賞状態となり、遊技球が賞球として払出された後、図柄表示部では表示図柄が所定時間変動される。その後、7・7・7などの所定の態様で図柄が停止すると大当り状態となり、大入賞口が繰返し開放されて、遊技者に有利な遊技状態を発生させている。 Pinball gaming machines, such as pachinko machines, are comprised of a symbol start opening on the gaming board, a symbol display section that displays a series of symbol changes based on multiple displayed symbols, and a jackpot opening with an opening/closing plate. When a detection switch installed in the symbol start opening detects the passage of a gaming ball, a winning state is reached. After the gaming ball is paid out as a prize ball, the displayed symbols on the symbol display section change for a predetermined period of time. If the symbols then stop in a predetermined pattern, such as 7-7-7, a jackpot state is reached, and the jackpot opening is repeatedly opened, creating a gaming state advantageous to the player.
このような遊技状態を発生させるか否かは、図柄始動口に遊技球が入賞したことを条件に実行される大当り抽選で決定されており、上記の図柄変動動作は、この抽選結果を踏まえたものとなっている。例えば、抽選結果が当選状態である場合には、リーチアクションなどと称される演出動作を20秒前後実行し、その後、特別図柄を整列させている。一方、ハズレ状態の場合にも、同様のリーチアクションが実行されることがあり、この場合には、遊技者は、大当り状態になることを強く念じつつ演出動作の推移を注視することになる。そして、図柄変動動作の終了時に、停止ラインに所定図柄が揃えば、大当り状態であることが遊技者に保証されたことになる。 Whether or not this type of game state occurs is determined by a jackpot lottery, which is held when a game ball enters the symbol start slot, and the symbol change action described above is based on the results of this lottery. For example, if the lottery results in a winning state, a presentation action known as a reach action is executed for around 20 seconds, after which special symbols are aligned. On the other hand, a similar reach action may also be executed in a losing state, in which case the player will closely watch the progress of the presentation action while strongly hoping for a jackpot state. Then, if the specified symbols are aligned on the stop line at the end of the symbol change action, the player is guaranteed a jackpot state.
図柄変動動作は、通常、液晶表示部において実行されるが(特許文献1~4)、液晶表示部を構成するH×Vドットの画素は、動作クロックCK(=ドットクロックDCK)に同期して駆動されることで表示更新される。そして、表示更新動作(フレーム更新)を円滑に実行するために、水平同期信号HS及び垂直同期信号VSのパルス幅や、各同期信号HS,Vsと画像信号の送信タイミングとの間には、例えば、図42(g)のような所定の条件が要求される。 The pattern change operation is usually performed on the liquid crystal display unit (Patent Documents 1 to 4), and the H x V dot pixels that make up the liquid crystal display unit are driven in synchronization with the operating clock CK (= dot clock DCK) to update the display. In order to smoothly execute the display update operation (frame update), certain conditions, such as those shown in Figure 42 (g), are required for the pulse widths of the horizontal synchronization signal HS and vertical synchronization signal VS, and the timing between each synchronization signal HS, Vs and the transmission timing of the image signal.
図示の駆動条件では、先ず、水平同期信号HSのパルス幅PWhは、動作クロックCKの96個分であり、水平同期信号PWhの前後に要求されるフロントポーチFPhと、バックポートBPhは、各々、動作クロックCKの16個分と、48個分と規定されている。一方、垂直同期信号VSのパルス幅PWvは、2ライン分であり、垂直同期信号VSの前後に要求されるフロントポーチFPvと、バックポートBPvは、各々、19ライン分と、33ライン分と規定されている。 Under the driving conditions shown, the pulse width PWh of the horizontal synchronization signal HS is 96 clock cycles CK, and the front porch FPh and back port BPh required before and after the horizontal synchronization signal PWh are specified as 16 and 48 clock cycles CK, respectively. Meanwhile, the pulse width PWv of the vertical synchronization signal VS is 2 lines, and the front porch FPv and back port BPv required before and after the vertical synchronization signal VS are specified as 19 and 33 lines, respectively.
そして、液晶表示部を制御する外部制御機器は、上記の水平条件(PWh,FPh,BPh)を満たす水平同期信号HSと、上記の垂直条件(PWvh,FPvh,BPvh)を満たす水平同期信号HSと共に、表示画面の画素数に対応した画像信号を、繰り返し、液晶表示部に供給している。 The external control device that controls the LCD display unit repeatedly supplies the LCD display unit with a horizontal synchronization signal HS that satisfies the above horizontal conditions (PWh, FPh, BPh) and a horizontal synchronization signal HS that satisfies the above vertical conditions (PWvh, FPvh, BPvh), as well as an image signal corresponding to the number of pixels on the display screen.
ところで、液晶表示部を使用した図柄変動動作に加えて、役物と呼ばれる可動物が適宜に移動することで、抽選結果を不確定に予告する予告演出も実行されることがある。また、大当たり状態が招来した後も、遊技者を効果的に盛り上げるために、役物演出が実行される場合もある。 In addition to the pattern changing action using the LCD display, a preview effect may also be performed in which a movable object called a "gimmick" moves appropriately to uncertainly predict the lottery result. Even after a jackpot state has been reached, a bonus effect may also be performed to effectively excite the player.
役物は、通常、ステッピングモータによって駆動制御されるが、モータ制御が容易であることから専らバイポーラ駆動モータが使用される(特許文献5~6)。そして、刀の鞘などの役物が上下に振動する振動演出も知られている(特許文献7)。 The props are usually driven and controlled by a stepping motor, but bipolar drive motors are often used because of the ease of motor control (Patent Documents 5 and 6). Vibration effects in which props such as sword sheaths vibrate up and down are also known (Patent Document 7).
ところで、この種の遊技機では、各種の演出を複雑化かつ豊富化したいところ、特に、液晶ディスプレイを使用する画像演出については、その要請が高い。また、役物演出を豊富化したいという要請もある。
ここで、役物を振動させる振動演出を実現するには、カム材を介在させて、直流モータの回転運動を直線運動に変換しているが(引用文献7)、遊技者の操作によっては、直流モータが過熱するという問題もあった。すなわち、直流モータは、一般に、トルク増に対応してモータ電流が増加するところ、遊技者が振動役物を強く握ると、そのトルク増に対応して、モータ電流が増加して、最悪の場合には、モータのコイル巻線が焼き切れるおそれがあった。
However, in this type of gaming machine, there is a strong demand for more complex and varied effects, especially for image effects using liquid crystal displays. There is also a demand for more varied bonus effects.
Here, to achieve the vibration effect of vibrating the device, a cam member is inserted to convert the rotational motion of the DC motor into linear motion (Patent Document 7), but there is also the problem that the DC motor may overheat depending on the player's operation. In other words, while DC motors generally increase their motor current in response to an increase in torque, if a player grips the vibration device too tightly, the motor current increases in response to the increase in torque, and in the worst case scenario, there is a risk that the motor coil windings may burn out.
本発明は、上記の課題に鑑みてなされたものであり、役物演出を含んだ各種の演出動作が更に改善された遊技機を提供することを目的とする。 The present invention was made in consideration of the above-mentioned issues, and aims to provide a gaming machine with further improved performance, including special effects.
上記の目的を達成するため、本発明は、外部から受けるモータ制御信号に基づいて、DCモータ(ステッピングモータを除く)を回転駆動するドライバと、前記DCモータの回転に対応して可動する役物と、を設けた遊技機であって、前記ドライバは、前記DCモータを同一方向に連続回転させるべき駆動動作状態において、前記DCモータのコイル電流について、前記モータ制御信号が規定する上限値に向かう上昇制御と、前記上限値より低い降下値(>0)に向かう降下制御とを繰り返す定電流制御を、途切れなく連続的に実行するよう構成されている。 In order to achieve the above-mentioned object, the present invention provides an amusement machine equipped with a driver that drives a DC motor (excluding a stepping motor) to rotate based on a motor control signal received from the outside, and a device that moves in response to the rotation of the DC motor, wherein the driver is configured to continuously execute constant current control for the coil current of the DC motor, repeating an increase control toward an upper limit value specified by the motor control signal and a decrease control toward a decrease value (>0) lower than the upper limit value , when in a driving operation state in which the DC motor should be rotated continuously in the same direction, without interruption .
上記した本発明によれば、トラブルなく役物演出を豊富化でき、演出動作を高度化できる。すなわち、DCモータの駆動電流は定電流制御されるので、遊技者が仮に振動体を強く拘束した場合でも、トルクを増加させるべく駆動電流が増加することはないので、過熱のおそれは皆無であって、コイル巻線が焼き切れるなどのおそれはない。 The present invention described above allows for a wide variety of bonus effects and more sophisticated performance without any problems. In other words, the drive current of the DC motor is controlled at a constant current, so even if a player strongly restrains the vibrator, the drive current will not increase to increase torque, eliminating the risk of overheating and the risk of the coil windings burning out.
以下、実施例に基づいて本発明を詳細に説明する。図1は、本実施例のパチンコ機GMを示す斜視図である。このパチンコ機GMは、島構造体に着脱可能に装着される矩形枠状の木製外枠1と、外枠1に固着されたヒンジ2を介して開閉可能に枢着される内枠3とで構成されている。この内枠3には、遊技盤5が、裏側からではなく、表側から着脱自在に装着され、その前側には、ガラス扉6と前面板7とが夫々開閉自在に枢着されている。なお、本明細書では、ガラス扉6と前面板7を総称して前扉部材と称する。そして、前扉部材(ガラス扉6や前面板7)が枢着された状態の内枠3を遊技枠と称することがある。 The present invention will be described in detail below based on examples. Figure 1 is a perspective view showing a pachinko machine GM of this embodiment. This pachinko machine GM is composed of a rectangular wooden outer frame 1 that is detachably attached to an island structure, and an inner frame 3 that is pivotally attached so that it can be opened and closed via hinges 2 fixed to the outer frame 1. A game board 5 is detachably attached to this inner frame 3 from the front side, not the back side, and a glass door 6 and a front panel 7 are pivotally attached to the front side so that they can be opened and closed. In this specification, the glass door 6 and the front panel 7 are collectively referred to as the front door member. The inner frame 3 with the front door member (glass door 6 and front panel 7) pivotally attached thereto may also be referred to as the game frame.
ガラス扉6の外周には、LEDランプなどによる電飾ランプが、略C字状に配置されている。一方、ガラス扉6の上部左右位置と下側には、全3個のスピーカが配置されている。上部に配置された2個のスピーカは、各々、左右チャンネルR,Lの音声を出力し、下側のスピーカは低音を出力するよう構成されている。 Illuminated lamps such as LED lamps are arranged in a roughly C-shape around the periphery of the glass door 6. Meanwhile, a total of three speakers are located on the upper left and right sides and below the glass door 6. The two upper speakers output audio for the left and right channels R and L, respectively, while the lower speaker is configured to output low-pitched sounds.
前面板7には、発射用の遊技球を貯留する上皿8が装着され、内枠3の下部には、上皿8から溢れ出し又は抜き取った遊技球を貯留する下皿9と、発射ハンドル10とが設けられている。発射ハンドル10は発射モータと連動しており、発射ハンドル10の回動角度に応じて動作する打撃槌によって遊技球が発射される。 An upper tray 8 that stores game balls to be fired is attached to the front panel 7, and a lower tray 9 that stores game balls that have spilled over or been removed from the upper tray 8, and a firing handle 10 are provided at the bottom of the inner frame 3. The firing handle 10 is linked to the firing motor, and the game balls are fired by a striking hammer that operates according to the rotation angle of the firing handle 10.
上皿8の外周面には、チャンスボタン11が設けられている。このチャンスボタン11は、遊技者の左手で操作できる位置に設けられており、遊技者は、発射ハンドル10から右手を離すことなくチャンスボタン11を操作できる。このチャンスボタン11は、通常時には機能していないが、ゲーム状態がボタンチャンス状態となると内蔵ランプが点灯されて操作可能となる。なお、ボタンチャンス状態は、必要に応じて設けられるゲーム状態である。 A chance button 11 is provided on the outer periphery of the upper tray 8. This chance button 11 is located in a position where it can be operated with the player's left hand, allowing the player to operate the chance button 11 without removing their right hand from the launch handle 10. This chance button 11 is normally inactive, but when the game state enters the button chance state, the built-in lamp lights up and the button becomes operable. The button chance state is a game state that is set as needed.
また、チャンスボタン11の下方には、ロータリースイッチ型の音量スイッチVLSWが配置されており、遊技者が音量スイッチVLSWを操作することで、無音レベル(=0)から最高レベル(=7)まで、スピーカ音量を8段階に調整できるようになっている。なお、スピーカの音量は、係員だけが操作可能な設定スイッチ(不図示)によって初期設定されており、遊技者が音量スイッチVLSWを操作しない限り、初期設定音量が維持される。また、異常事態が発生したことを報知する異常報知音は、係員による初期設定音量や、遊技者の設定音量に拘らず最高音量で放音される。 In addition, a rotary switch-type volume switch VLSW is located below the chance button 11. By operating the volume switch VLSW, the player can adjust the speaker volume in eight stages, from silent (=0) to the highest level (=7). The speaker volume is initially set by a setting switch (not shown) that can only be operated by an attendant, and the initial volume setting will be maintained unless the player operates the volume switch VLSW. In addition, the abnormality alert sound that alerts the player of the occurrence of an abnormal situation is emitted at the maximum volume, regardless of the volume initially set by the attendant or the volume set by the player.
上皿8の右部には、カード式球貸し機に対する球貸し操作用の操作パネル12が設けられ、カード残額を3桁の数字で表示する度数表示部と、所定金額分の遊技球の球貸しを指示する球貸しスイッチと、ゲーム終了時にカードの返却を指令する返却スイッチとが設けられている。 To the right of the upper tray 8 is an operation panel 12 for operating the card-type ball lending machine, which includes a degree display that displays the remaining balance on the card as a three-digit number, a ball lending switch that commands the lending of a specified amount of game balls, and a return switch that commands the return of the card when the game is over.
図2に示すように、遊技盤5の表面には、金属製の外レールと内レールとからなるガイドレール13が環状に設けられ、その略中央には、中央開口HOが設けられている。そして、中央開口HOの下方には、不図示の可動演出体が隠蔽状態で収納されており、可動予告演出時には、その可動演出体が上昇して露出状態となることで、所定の信頼度の予告演出を実現している。ここで、予告演出とは、遊技者に有利な大当り状態が招来することを不確定に報知する演出であり、予告演出の信頼度とは、大当り状態が招来する確率を意味している。 As shown in Figure 2, a guide rail 13 consisting of an outer and inner metal rail is provided in a ring shape on the surface of the gaming board 5, with a central opening HO located approximately in the center. A movable effect body (not shown) is stored in a concealed state below the central opening HO, and during a movable preview effect, the movable effect body rises and becomes exposed, realizing a preview effect with a predetermined degree of reliability. Here, a preview effect is an effect that uncertainly notifies the player that a favorable jackpot state is about to occur, and the reliability of the preview effect refers to the probability that a jackpot state will occur.
中央開口HOには、大型(例えば、横1280×縦1024ピクセル)の液晶カラーディスプレイで構成されたメイン表示装置DS1が配置され、メイン表示装置DS1の右側には、小型(例えば、横480×縦800ピクセル)の液晶カラーディスプレイで構成された可動式のサブ表示装置DS2が配置されている。メイン表示装置DS1は、メイン液晶表示部MONIと、LEDバックライト部BLとで構成され、大当り状態に係わる特定図柄を変動表示すると共に背景画像や各種のキャラクタなどをアニメーション的に表示する装置である。この表示装置DS1は、中央部に特別図柄表示部Da~Dcと右上部に普通図柄表示部19とを有している。そして、特別図柄表示部Da~Dcでは、大当り状態の招来を期待させるリーチ演出が実行されることがあり、特別図柄表示部Da~Dc及びその周りでは、適宜な予告演出などが実行される。 The central opening HO houses the main display device DS1, which consists of a large (e.g., 1280 horizontal x 1024 vertical pixels) liquid crystal color display. To the right of the main display device DS1 is a movable sub-display device DS2, which consists of a small (e.g., 480 horizontal x 800 vertical pixels) liquid crystal color display. The main display device DS1 is comprised of a main liquid crystal display unit MONI and an LED backlight unit BL, and displays a moving specific symbol associated with a jackpot state, as well as animated background images and various characters. This display device DS1 has special symbol display units Da-Dc in the center and a normal symbol display unit 19 in the upper right corner. The special symbol display units Da-Dc may display reach effects that anticipate a jackpot state, and appropriate preview effects are displayed in and around the special symbol display units Da-Dc.
サブ表示装置DS2は、通常時には、その表示画面が遊技者に見やすい角度に傾斜した静止状態で画像情報を表示している。但し、所定の予告演出時には、遊技者に見やすい角度に傾斜角度を変えながら、図示の左側に移動する共に、所定の予告画像を表示するようになっている。 The sub-display device DS2 normally displays image information in a static state with its display screen tilted at an angle that is easy for the player to see. However, during a specified preview performance, the tilt angle is changed to an angle that is easy for the player to see, and the specified preview image is displayed while moving to the left as shown in the illustration.
すなわち、実施例のサブ表示装置DS2は、単なる表示装置ではなく、予告演出を実行する可動演出体としても機能している。ここで、サブ表示装置DS2による予告演出は、その信頼度が高く設定されており、遊技者は、大きな期待感をもってサブ表示装置DS2の移動動作に注目することになる。なお、サブ表示装置DS2も、サブ液晶表示部MONIと、LEDバックライト部BLとで構成されている。 In other words, the sub-display device DS2 in this embodiment is not just a display device, but also functions as a movable display device that executes preview effects. Here, the preview effects by the sub-display device DS2 are set to have a high degree of reliability, and players will pay close attention to the movement of the sub-display device DS2 with great anticipation. The sub-display device DS2 also consists of a sub-LCD unit MONI and an LED backlight unit BL.
ところで、遊技球が落下移動する遊技領域には、第1図柄始動口15a、第2図柄始動口15b、第1大入賞口16a、第2大入賞口16b、普通入賞口17、及び、ゲート18が配設されている。これらの入賞口15~18は、それぞれ内部に検出スイッチを有しており、遊技球の通過を検出できるようになっている。 In the game area where the game balls fall and move, there are a first symbol start opening 15a, a second symbol start opening 15b, a first big prize opening 16a, a second big prize opening 16b, a regular prize opening 17, and a gate 18. Each of these winning openings 15-18 has a detection switch inside, which allows it to detect the passage of the game ball.
第1図柄始動口15aの上部には、導入口INから進入した遊技球がシーソー状又はルーレット状に移動した後に、第1図柄始動口15に入賞可能に構成された演出ステージ14が配置されている。そして、第1図柄始動口15に遊技球が入賞すると、特別図柄表示部Da~Dcの変動動作が開始されるよう構成されている。 Above the first symbol start opening 15a, there is a presentation stage 14 configured so that a gaming ball entering through the inlet IN can move in a seesaw or roulette pattern and then enter the first symbol start opening 15. When a gaming ball enters the first symbol start opening 15, the special symbol display sections Da to Dc begin to change position.
第2図柄始動口15bは、左右一対の開閉爪を備えた電動式チューリップで開閉されるように構成され、普通図柄表示部19の変動後の停止図柄が当り図柄を表示した場合には、所定時間だけ、若しくは、所定個数の遊技球を検出するまで、開閉爪が開放されるようになっている。 The second symbol start opening 15b is configured to be opened and closed by an electric tulip equipped with a pair of left and right opening and closing claws, and when the stopped symbol after the normal symbol display section 19 changes displays a winning symbol, the opening and closing claws are opened for a predetermined time or until a predetermined number of game balls are detected.
なお、普通図柄表示部19は、普通図柄を表示するものであり、ゲート18を通過した遊技球が検出されると、普通図柄が所定時間だけ変動し、遊技球のゲート18の通過時点において抽出された抽選用乱数値により決定される停止図柄を表示して停止する。 The normal symbol display unit 19 displays normal symbols. When a gaming ball is detected passing through the gate 18, the normal symbol changes for a predetermined period of time and then stops, displaying a stop symbol determined by a random number value selected at the time the gaming ball passes through the gate 18.
第1大入賞口16aは、前後方向に進退するスライド盤を有して構成され、第2大入賞口16bは、下端が軸支されて前方に開放する開閉板を有して構成されている。第1大入賞口16aや第2大入賞口16bの動作は、特に限定されないが、この実施例では、第1大入賞口16aは、第1図柄始動口15aに対応し、第2大入賞口16bは、第1図柄始動口15bに対応するよう構成されている。 The first large prize opening 16a is configured with a sliding plate that moves back and forth, while the second large prize opening 16b is configured with an opening/closing plate whose lower end is supported by a shaft and opens forward. There are no particular restrictions on the operation of the first large prize opening 16a or the second large prize opening 16b, but in this embodiment, the first large prize opening 16a corresponds to the first symbol starting opening 15a, and the second large prize opening 16b corresponds to the first symbol starting opening 15b.
すなわち、第1図柄始動口15aに遊技球が入賞すると、特別図柄表示部Da~Dcの変動動作が開始され、その後、所定の大当り図柄が特別図柄表示部Da~Dcに整列すると、第1大当りたる特別遊技が開始され、第1大入賞口16aのスライド盤が、前方に開放されて遊技球の入賞が容易化される。 In other words, when a gaming ball enters the first symbol start opening 15a, the special symbol display sections Da-Dc begin to move. Then, when the specified jackpot symbol is aligned in the special symbol display sections Da-Dc, the special game representing the first jackpot begins, and the sliding plate of the first big prize opening 16a opens forward, facilitating the entry of the gaming ball.
一方、第2図柄始動口15bへの遊技球の入賞によって開始された変動動作の結果、所定の大当り図柄が特別図柄表示部Da~Dcに整列すると、第2大当りたる特別遊技が開始され、第2大入賞口16bの開閉板が開放されて遊技球の入賞が容易化される。特別遊技(大当り状態)の遊技価値は、整列する大当り図柄などに対応して種々相違するが、何れの遊技価値が付与されるかは、遊技球の入賞タイミングに応じた抽選結果に基づいて予め決定される。 On the other hand, when a predetermined jackpot pattern is aligned in the special pattern display areas Da-Dc as a result of the variable operation initiated by the entry of a gaming ball into the second pattern start opening 15b, a special game representing a second jackpot is initiated, and the opening and closing plate of the second large winning opening 16b is opened, facilitating the entry of the gaming ball. The gaming value of the special game (jackpot state) varies depending on the aligned jackpot pattern, etc., but the gaming value awarded is determined in advance based on the results of a lottery that corresponds to the timing of the gaming ball's entry.
典型的な大当り状態では、大入賞口16の開閉板が開放された後、所定時間が経過し、又は所定数(例えば10個)の遊技球が入賞すると開閉板が閉じる。このような動作は、最大で例えば15回まで継続され、遊技者に有利な状態に制御される。なお、特別図柄表示部Da~Dcの変動後の停止図柄が特別図柄のうちの特定図柄であった場合には、特別遊技の終了後のゲームが高確率状態(確変状態)となるという特典が付与される。 In a typical jackpot state, after the opening and closing plate of the jackpot opening 16 is opened, it closes after a predetermined time has passed or when a predetermined number of game balls (e.g., 10) have entered the jackpot. This operation may continue for up to 15 times, for example, and is controlled to be advantageous to the player. Furthermore, if the stopped pattern after the change in the special pattern display sections Da to Dc is a specific special pattern, the player is granted the bonus of entering a high probability state (probability change state) after the special play ends.
図3(a)は、上記した各動作を実現するパチンコ機GMの全体回路構成を示すブロック図である。また、図3(b)は、払出制御基板25に配置された電源モニタ部MNIの回路構成を示す回路図であり、図3(c)は、本実施例で使用するメイン表示装置DS1の仕様を説明する図面である。 Figure 3(a) is a block diagram showing the overall circuit configuration of the pachinko machine GM that realizes the above-mentioned operations. Also, Figure 3(b) is a circuit diagram showing the circuit configuration of the power supply monitor unit MNI located on the payout control board 25, and Figure 3(c) is a diagram explaining the specifications of the main display device DS1 used in this embodiment.
最初に、図3(c)に基づいて、実施例で使用するメイン表示装置DS1の仕様から説明する。先に説明した通り、この表示装置DS1は、横1280×縦1024ピクセルの液晶カラーディスプレイであるが、左右方向に隣接する奇数ピクセル(ODD)と偶数ピクセル(EVEN)を、別々のLVDS(Low Voltage Differential Signaling)伝送路を通して、受信部RV(RVa+RVb)で受ける構成となっている。そこで、本実施例では、このデュアルリンク仕様に対応して、第1の伝送路LVDS1を経由してODD信号を伝送し、第2の伝送路LVDS2を経由してEVEN信号を伝送している(図3(a)の右下部)。 First, the specifications of the main display device DS1 used in this embodiment will be explained based on Figure 3(c). As previously explained, this display device DS1 is a liquid crystal color display with 1280 horizontal and 1024 vertical pixels. It is configured so that adjacent odd-numbered pixels (ODD) and even-numbered pixels (EVEN) are received by the receiver RV (RVa+RVb) via separate LVDS (Low Voltage Differential Signaling) transmission paths. Therefore, in this embodiment, in accordance with this dual link specification, the ODD signal is transmitted via the first transmission path LVDS1, and the EVEN signal is transmitted via the second transmission path LVDS2 (lower right of Figure 3(a)).
また、この表示装置DS1では、表示装置DS1の内部動作を規定する動作クロックCK(図42参照)は、その周波数が40MHz~70MHzの範囲とするべく規定されている(典型値=54MHz)。この動作クロックCKは、後述するLVDSクロックCLKに対応するが、以下では、説明の便宜上、動作クロックCKの周波数は、典型値の54MHzであるとする。また、54MHzの動作クロックCKにおいて、一フレームの画像更新に要する更新時間FR(Frame Rate)を、ほぼ1/60秒に一致させる構成について説明する。 Furthermore, in this display device DS1, the operating clock CK (see Figure 42) that regulates the internal operation of the display device DS1 is specified to have a frequency in the range of 40 MHz to 70 MHz (typical value = 54 MHz). This operating clock CK corresponds to the LVDS clock CLK described below, but for the sake of convenience, the following description will assume that the frequency of the operating clock CK is a typical value of 54 MHz. Furthermore, a configuration will be described in which the update time FR (Frame Rate) required to update one frame of image is matched to approximately 1/60 seconds for a 54 MHz operating clock CK.
この表示装置DS1は、その仕様として、第1の伝送路LVDS1から受けたODD信号と、第2の伝送路LVDS2から受けたEVEN信号に基づき、表示画面の左右方向に隣接する2画素を、一の動作クロックCKで同時に処理するよう構成されている。この結果、水平方向一ラインの1280画素の画素データは、640/54MHz=11.85μSの動作時間で更新され、この動作が1024ライン分だけ繰り返されることで、一フレーム分1280×1024ピクセルの画像表示が更新されることになる。なお、第1ライン→第2ライン・・・→第1024ラインのように、一ラインごとにノンインタレース方式で画像が更新される。 This display device DS1 is configured to simultaneously process two adjacent pixels on the left and right of the display screen using a single operating clock CK, based on the ODD signal received from the first transmission path LVDS1 and the EVEN signal received from the second transmission path LVDS2. As a result, the pixel data for 1280 pixels on one horizontal line is updated in an operating time of 640/54 MHz = 11.85 μS, and this operation is repeated for 1024 lines, updating one frame of 1280 x 1024 pixel image display. The image is updated line by line in a non-interlaced manner, from the first line → second line ... → 1024th line.
但し、図3(c)に示す通り、表示装置DS1の仕様として、水平方向に、典型値としては、204クロック分の待機時間(ブランク期間)を設けること、及び、垂直方向に、典型値としては、42行分の待機時間(ブランク期間)を設けることが規定されている。したがって、これらのブランク期間を考慮した実際の画面更新周期FRは、上記した典型値に基づく計算において、(204+640)×(42+1024)/54MHz≒16.66mSとなるので、フレームレートFRは約1/60Hzとなる。 However, as shown in Figure 3(c), the specifications for display device DS1 stipulate that a typical waiting time (blank period) of 204 clocks be provided in the horizontal direction, and a typical waiting time (blank period) of 42 rows be provided in the vertical direction. Therefore, the actual screen update period FR, taking these blank periods into account, is calculated based on the typical values above as (204 + 640) x (42 + 1024) / 54 MHz ≈ 16.66 mS, resulting in a frame rate FR of approximately 1/60 Hz.
なお、水平方向の待機時間WThと、垂直方向の待機時間WTvには、各々、典型値に対する許容幅が規定されており、実際には、上記した典型値とは異なる値が選択可能である。但し、フレームレートFR=1/60秒とするため、(WTh+640)×(WTv+1024)/54MHz=1/60秒となるよう、水平/垂直方向の待機時間WTh/WTvを正確に設定する必要がある。 Note that the horizontal waiting time WTh and the vertical waiting time WTv each have a defined tolerance range for their typical values, and in practice, values other than the typical values listed above can be selected. However, to set the frame rate FR = 1/60 seconds, the horizontal and vertical waiting times WTh/WTv must be set accurately so that (WTh + 640) x (WTv + 1024)/54 MHz = 1/60 seconds.
一方、この表示装置DS1では、水平同期信号HSと、垂直同期信号VSの受信が特に不要である一方、ODD信号とEVEN信号の伝送時には、Hレベルのデータ有効信号ENABの伝送が要求される。すなわち、伝送路LVDS1,LVDS2に対して、有意な信号(ODD/EVEN信号)を伝送しているタイミングでは、データ有効信号ENABがアクティブレベル(H)である必要がある。 On the other hand, this display device DS1 does not particularly need to receive the horizontal synchronization signal HS or the vertical synchronization signal VS, but does require the transmission of an H-level data enable signal ENAB when transmitting ODD and EVEN signals. In other words, when significant signals (ODD/EVEN signals) are being transmitted over the transmission paths LVDS1 and LVDS2, the data enable signal ENAB must be at an active level (H).
そこで、本実施例では、上記したメイン表示装置DS1の仕様に基づき、演出制御基板23とメイン表示装置DS1とを、周波数54MHz(=ドットクロックDCKの1/2)のLVDSクロックCLKのデュアルリンク伝送路でLVDS接続している(図5、図14(a))。また、本実施例のVDP回路52では、メイン表示装置DS1の仕様を満たす水平方向ブランク期間WThと、垂直ブランク期間WTvを設けるとともに、画像データ(ODD/EVEN信号)の出力時は、データ有効信号ENABがアクティブレベル(Hレベル)になるようにしている。 In this embodiment, based on the specifications of the main display device DS1 described above, the performance control board 23 and the main display device DS1 are LVDS-connected via a dual-link transmission path with an LVDS clock CLK frequency of 54 MHz (= 1/2 the dot clock DCK) (Figures 5 and 14(a)). Furthermore, the VDP circuit 52 of this embodiment provides a horizontal blanking period WTh and a vertical blanking period WTv that meet the specifications of the main display device DS1, and is configured so that the data enable signal ENAB is at an active level (H level) when image data (ODD/EVEN signals) are output.
すなわち、データ有効信号ENABは、図4(b)に示すように、水平同期周期THのうち、水平表示期間THdだけがHレベルとなるよう構成されている。したがって、データ有効信号ENABは、垂直同期周期TVのうち、垂直表示期間TVd以外は、必ずLレベルとなる。なお、水平方向ブランク期間WThと、垂直ブランク期間WTvは、各々の典型値(WTh=204/WTv=42)とは異なる値を採用しているが、具体的な設計値は、図15に基づいて後述する。 That is, as shown in Figure 4(b), the data valid signal ENAB is configured to be high only during the horizontal display period THd of the horizontal synchronization period TH. Therefore, the data valid signal ENAB is always low during the vertical synchronization period TV other than the vertical display period TVd. Note that the horizontal blanking period WTh and the vertical blanking period WTv use values that differ from their respective typical values (WTh = 204 / WTv = 42), but specific design values will be described later with reference to Figure 15.
何れにしても、データ有効信号ENABは、差動信号ラインRA2/RB2を経由して、LVDSクロックCLKの各動作サイクルにおいて、離散的なDE信号として繰り返し伝送される。図4(b)や図4(c)に示すデータ有効信号ENABは、LVDS伝送された離散データであるDE信号を復調したものであり、離散的なDE信号を時間軸上に連続させたものである。なお、差動信号ラインRA2/RBでは、垂直同期信号VSと、水平同期信号HSについても、DE信号(データ有効信号ENAB)に続いて、繰り返し伝送されているが、実施例で使用するメイン表示装置DS1では、この同期信号VS,HSを活用していない。 In either case, the data valid signal ENAB is repeatedly transmitted as a discrete DE signal via the differential signal lines RA2/RB2 in each operating cycle of the LVDS clock CLK. The data valid signal ENAB shown in Figures 4(b) and 4(c) is a demodulated DE signal, which is discrete data transmitted via LVDS, and is a continuous DE signal on the time axis. Note that the vertical synchronization signal VS and horizontal synchronization signal HS are also repeatedly transmitted on the differential signal lines RA2/RB following the DE signal (data valid signal ENAB), but the main display device DS1 used in this example does not utilize these synchronization signals VS and HS.
もっとも、表示装置DS1では、水平同期信号HSや、垂直同期信号VSの伝送を何ら禁止していない。但し、これらの同期信号に規定された内部動作が実行されることはない。すなわち、表示ラインの水平改行タイミングは、受信した水平同期信号HSとは無関係に、データ有効信号ENABの立下りタイミングや、データ有効信号ENABの立上りタイミング後の動作クロックCK(LVDSクロックCLKに対応)の個数(実施例では640個=1280/2)などに基づいて、表示装置DS1の内部回路にとって最適なタイミングに規定される(図4(b)の下向き矢印)。 However, the display device DS1 does not prohibit the transmission of the horizontal synchronization signal HS or the vertical synchronization signal VS. However, the internal operations defined by these synchronization signals are not executed. In other words, the horizontal line feed timing of the display line is determined to be optimal for the internal circuitry of the display device DS1, regardless of the received horizontal synchronization signal HS, based on the falling edge of the data enable signal ENAB and the number of operating clocks CK (corresponding to the LVDS clock CLK) after the rising edge of the data enable signal ENAB (640 = 1280/2 in this embodiment) (downward arrow in Figure 4(b)).
この点は、一フレーム分の画像表示後の垂直改行タイミングについても同様であり、所定パルス幅のデータ有効信号ENABの連続個数(実施例では1024個)などに基づいて、表示装置DS1の内部回路にとっての最適タイミングに規定され(図4(c)の下向き矢印)、受信した垂直同期信号VSには影響されない。このように、本実施例では、表示装置DS1に水平同期信号HSや垂直同期信号VSを伝送する必要がないので、同期信号HS,VSのパルス幅PWh/PWvや、フロントポートFPh/FPvや、バックポートBPh/BPvを最適に設定する必要がなくなり、演出制御部23やVDP回路52の制御負担が大きく軽減される。 The same applies to the timing of the vertical line feed after displaying one frame of image; this is determined to be optimal for the internal circuitry of the display device DS1 based on factors such as the number of consecutive data enable signals ENAB with a specified pulse width (1024 in this embodiment) (downward arrow in Figure 4(c)), and is not affected by the received vertical synchronization signal VS. In this way, in this embodiment, there is no need to transmit the horizontal synchronization signal HS or vertical synchronization signal VS to the display device DS1, so there is no need to optimally set the pulse widths PWh/PWv of the synchronization signals HS and VS, the front ports FPh/FPv, and the back ports BPh/BPv, significantly reducing the control burden on the performance control unit 23 and VDP circuit 52.
また、表示装置DS1の内部動作としても、自らの内部構成に基づいた最適タイミングで、水平改行や垂直改行の動作が実行されるので、不自然な表示動作のおそれが解消される。因みに、外部から受ける水平同期信号HSや、垂直同期信号VSに基づいて動作する表示装置の場合には、同期信号HS,VSのパルス幅や、同期信号HS,VSに前後するフロントポーチ期間や、バックポーチ期間が不適切な場合には、正常な表示動作が損なわれるおそれがある。 In addition, the internal operation of the display device DS1 is such that horizontal and vertical line feed operations are performed at optimal timing based on its own internal configuration, eliminating the risk of unnatural display behavior. Incidentally, in the case of a display device that operates based on an externally received horizontal synchronization signal HS or vertical synchronization signal VS, if the pulse width of the synchronization signals HS and VS, or the front porch period and back porch period before and after the synchronization signals HS and VS, are inappropriate, there is a risk that normal display behavior may be impaired.
ところで、図4(a)において、差動信号ラインRA0~RA3,RACLKを使用する第1の差動信号LVDS1は、奇数番目の画素を伝送しており(AサイドのODD信号)、差動信号ラインRB0~RB3,RBCLKを使用する第2の差動信号LVDS2は、偶数番目の画素を伝送している(BサイドのEVEN信号)。このように、本実施例では、二種類のODD信号とEVEN信号を、デュアルリンク伝送路で伝送することで、ドットクロックDCKの周波数を1/2に低下させることができ、その分だけ耐ノイズ性に優れ、また、伝送距離を上げることもできる。 In Figure 4(a), the first differential signal LVDS1, which uses differential signal lines RA0-RA3 and RACCLK, transmits odd-numbered pixels (ODD signal on side A), and the second differential signal LVDS2, which uses differential signal lines RB0-RB3 and RBCLK, transmits even-numbered pixels (EVEN signal on side B). In this way, in this embodiment, by transmitting two types of ODD signals and EVEN signals over a dual link transmission path, the frequency of the dot clock DCK can be reduced by half, resulting in better noise resistance and allowing for longer transmission distances.
一方、メイン表示装置DS1には、デュアルリンク伝送路で伝送されたODD信号と、EVEN信号の変換受信部RVが内蔵されており、二つのLVDS信号(ODD信号とEVEN信号)からRGB信号を復元して、一フレーム分(1280×1024ドット)の画像を表示している。先に説明した通り、RGB信号は、各々、8bitで構成されているので、メイン表示装置DS1には、諧調度28×28×28のフルカラー画像が表示される。 Meanwhile, the main display device DS1 has a built-in conversion receiver RV for the ODD signal and EVEN signal transmitted over the dual link transmission path, and restores the RGB signal from the two LVDS signals (ODD signal and EVEN signal) to display one frame of image (1280 x 1024 dots). As explained above, each RGB signal is made up of 8 bits, so the main display device DS1 displays a full-color image with a gradation of 28 x 28 x 28 .
図5は、メイン液晶表示部MONIとLEDバックライト部BLで構成された表示装置DS1について、特に、液晶表示部MONIの内部構成を、VDP回路52の関連部分と共に図示したブロック図である。図示の通り、ODD信号は、第1のLVDSライン(Aサイド)を経由してLVDS-パラレル変換部RVaに伝送され、EVEN信号は、第2のLVDSライン(Bサイド)を経由してLVDS-パラレル変換部RVbに伝送される。そして、差動ラインRA0/RB0で伝送される各8ビット長のRGBデータのうち、画像データR0~R5,G0が注出され、差動ラインRA1/RB1からは、画像データG1~G5,B0~B1が注出される。 Figure 5 is a block diagram of the display device DS1, which is composed of a main LCD display unit MONI and an LED backlight unit BL, particularly illustrating the internal configuration of the LCD display unit MONI along with the relevant parts of the VDP circuit 52. As shown, the ODD signal is transmitted to the LVDS-parallel conversion unit RVa via the first LVDS line (side A), and the EVEN signal is transmitted to the LVDS-parallel conversion unit RVb via the second LVDS line (side B). Of the 8-bit RGB data transmitted over differential lines RA0/RB0, image data R0-R5 and G0 are extracted, and image data G1-G5 and B0-B1 are extracted from differential lines RA1/RB1.
また、差動ラインRA2/RB2から、画像データB2~B5とDE信号とVS信号とHS信号が注出され、差動ラインRA3/RB3からは、画像データG6~G7,R6~R7,B6~B7が注出される。ここで、DE信号は、データ有効信号ENABに他ならない。また、注出されたVS信号と、HS信号が利用されないことは前記した通りである。 In addition, image data B2-B5, the DE signal, the VS signal, and the HS signal are output from differential lines RA2/RB2, and image data G6-G7, R6-R7, and B6-B7 are output from differential lines RA3/RB3. Here, the DE signal is nothing more than the data valid signal ENAB. As mentioned above, the output VS and HS signals are not used.
次に、差動ラインRACK/RBCKのLVDSクロックCLKは、PLL回路に供給されることで、LVDSクロックCLKと同一の周波数54MHzの動作クロックCKが生成される。この動作クロックCKは、液晶コントローラLCD_CTL の内部動作を規定するもので、液晶コントローラLCD_CTL は、液晶パネルLCDの左右方向に隣接する2個のRGB画素(8ビット×3×2)に対応する画像データを、一の動作クロックCKに同期してまとめて処理している。 The LVDS clock CLK on the differential lines RACK/RBCK is then supplied to a PLL circuit, which generates an operating clock CK with the same frequency as the LVDS clock CLK, 54 MHz. This operating clock CK regulates the internal operation of the LCD controller LCD_CTL, which processes image data corresponding to two adjacent RGB pixels (8 bits x 3 x 2) on the left and right of the LCD panel, all at once, in synchronization with a single operating clock CK.
そのため、横方向1280(=640×2)ドットの画素は、動作クロックCK640個分の処理時間11.85μS(=640/54MHz)で処理を完了することになる。なお、一の画素は、RGB三色の基本画素で構成されて、RGB三色の基本画素の画像データは、各々1バイト長であって諧調度28×28×28であるので、一ラインの全画素(1280ドット)の画像データは、全体として、3×1280バイト長となる。 Therefore, processing of a pixel with 1280 (=640 x 2) dots in the horizontal direction will be completed in 11.85 μS (=640/54 MHz), which is the processing time for 640 operation clocks CK. Note that one pixel is made up of three basic RGB pixels, and the image data for each of the three basic RGB pixels is one byte long and has a gradation of 28 x 28 x 28 , so the image data for all pixels (1280 dots) on one line is 3 x 1280 bytes long overall.
図5に示す通り、液晶コントローラLCD_CNT は、1280本のソース信号ラインを、各々、28(=256)諧調の駆動信号で駆動するソースドライバSDVと、1024本のゲート信号ラインをON/OFF制御するゲートドライバGDVを適宜に制御している。具体的には、液晶コントローラLCD_CNT は、LVDS伝送路から注出したDE信号と、動作クロックCKとに基づいて、各部を適宜に動作させることで、フレームレートFR=1/60Hzの画像更新動作を実現している。先に確認した通り、DE信号は、VDP回路52が出力したデータ有効信号ENABに対応する。 As shown in Figure 5, the LCD controller LCD_CNT appropriately controls the source driver SDV, which drives each of 1,280 source signal lines with a drive signal of 28 (=256) gradations, and the gate driver GDV, which controls the ON/OFF of 1,024 gate signal lines. Specifically, the LCD controller LCD_CNT realizes image update operations at a frame rate FR = 1/60 Hz by appropriately operating each component based on the DE signal extracted from the LVDS transmission path and the operating clock CK. As confirmed earlier, the DE signal corresponds to the data valid signal ENAB output by the VDP circuit 52.
本実施例の場合、ソースドライバSDVは、384本の出力端子を有するドライバ素子を10個配置して構成されている。先に説明した通り、液晶パネルLCDの一ライン全画素(1280ドット)は、RGB三色の基本画素で構成されて合計3×1280個であるので、これらを駆動するドライバ素子が10個必要となる。なお、これら10個のドライバ素子には、液晶コントローラLCD_CNT から画像データDATが順番に供給され、これがスタート信号SPや転送クロックDCLKに基づいて適宜に転送される。そして、ラッチ信号LTに同期して、アナログ変換された駆動信号が3840本のソース信号ラインに供給される。先に説明した通り、液晶パネルLCDの一ラインの全画素(1280ドット)が更新されるに要する時間は、11.85μS(=640/54MHz)である。 In this embodiment, the source driver SDV is configured with 10 driver elements, each with 384 output terminals. As explained above, all pixels (1280 dots) on one line of the liquid crystal panel LCD are made up of 3 x 1280 basic pixels of the three colors RGB, so 10 driver elements are required to drive them. Image data DAT is supplied sequentially from the liquid crystal controller LCD_CNT to these 10 driver elements, which are transferred appropriately based on the start signal SP and transfer clock DCLK. Then, in synchronization with the latch signal LT, analog-converted drive signals are supplied to the 3840 source signal lines. As explained above, it takes 11.85 μS (= 640/54 MHz) to update all pixels (1280 dots) on one line of the liquid crystal panel LCD.
一方、液晶コントローラLCD_CNT は、ゲートドライバGDVに対して、ゲートスタート信号GSや、ゲートクロック信号GCLKを供給することで、駆動対象となるゲート信号ラインを更新している。ここで、ゲートドライバGDVは、256本の出力端子を有するドライバ素子を4個配置して構成されている。 Meanwhile, the LCD controller LCD_CNT updates the gate signal lines to be driven by supplying a gate start signal GS and a gate clock signal GCLK to the gate driver GDV. Here, the gate driver GDV is composed of four driver elements, each with 256 output terminals.
なお、ゲート信号ラインの更新タイミングは、DE信号の立下りタイミングと、動作クロックCKに基づいて規定され、ゲート信号ラインの水平改行周期は、動作クロックCKでカウントして、典型値計算では、640+204クロックとされる(図3(c)参照)。また、DE信号の個数(1024)に基づいて、駆動対象のゲート信号ラインが初期状態にリセットされ、最適なタイミングで、ゲートスタート信号GSが出力され、ゲートクロック信号GCLKの出力が再開される。ゲート信号ラインの垂直改行周期は、動作クロックCKでカウントして、典型値計算では、42+1024クロックである(図3(c)参照)。但し、先に説明した通り、本実施例では、典型値とは異なる設計で表示装置DS1を動作させている(図15参照)。 The update timing of the gate signal lines is determined based on the falling edge of the DE signal and the operating clock CK. The horizontal line feed period of the gate signal lines is counted using the operating clock CK, and is calculated as 640 + 204 clocks in typical value calculations (see Figure 3(c)). Based on the number of DE signals (1024), the gate signal lines to be driven are reset to their initial state, a gate start signal GS is output at the optimal timing, and output of the gate clock signal GCLK is resumed. The vertical line feed period of the gate signal lines is counted using the operating clock CK, and is calculated as 42 + 1024 clocks in typical value calculations (see Figure 3(c)). However, as explained above, in this embodiment, the display device DS1 is operated using a design that differs from the typical value (see Figure 15).
ところで、上記の表示動作は、LEDバックライト部BLの点灯状態において、メイン液晶表示部MONIに電源電圧5Vが供給されていることが条件となる。そこで、本実施例では、液晶表示部MONIと、バックライト部BLを、整合的に動作させるべく、給電制御回路SPYを設けている。給電制御回路SPYは、演出インタフェイス基板22から三種類の直流電圧(3.3V,5V,12V)を受けると共に、複合チップ50の演出制御CPU63から、各種の給電制御信号(STBY,PWM,PS1,PS2)を受けている(図7(a)参照)。 The above display operation requires that a power supply voltage of 5V is supplied to the main LCD display unit MONI when the LED backlight unit BL is lit. Therefore, in this embodiment, a power supply control circuit SPY is provided to ensure that the LCD display unit MONI and the backlight unit BL operate in a coordinated manner. The power supply control circuit SPY receives three types of DC voltage (3.3V, 5V, 12V) from the performance interface board 22, and also receives various power supply control signals (STBY, PWM, PS1, PS2) from the performance control CPU 63 of the composite chip 50 (see Figure 7(a)).
そして、給電制御回路SPYは、最適なタイミングで、メイン液晶表示部MONIの電源電圧として、直流電圧5Vを給電している(図6(c)、図6(g)参照)。また、給電制御回路SPYは、バックライト部BLの電源電圧として、直流電圧12Vを給電制御すると共に、LEDバックライト部BLのBL_EN 端子と、PWM 端子を、適切なH/Lレベルに制御して、最適な点灯動作を実現している。 The power supply control circuit SPY supplies a DC voltage of 5V as the power supply voltage for the main LCD display unit MONI at the optimal timing (see Figures 6(c) and 6(g)). The power supply control circuit SPY also controls the supply of a DC voltage of 12V as the power supply voltage for the backlight unit BL, and controls the BL_EN terminal and PWM terminal of the LED backlight unit BL to appropriate H/L levels to achieve optimal lighting operation.
図6(a)は、給電制御回路SPYの回路構成と、バックライト部BL及び液晶表示部MONIとの関係を示す回路図である。図示の通り、この給電制御回路SPYは、トランジスタTr1とMOSトランジスタQ1を有する第1スイッチ回路と、トランジスタTr2とMOSトランジスタQ2を有する第2スイッチ回路と、トランジスタTr3とMOSトランジスタQ3を有する第3スイッチ回路と、トランジスタTr4とMOSトランジスタQ4を有する第4スイッチ回路と、各種の制御信号を受けるバッファ回路SBUFと、を中心に構成されている。 Figure 6(a) is a circuit diagram showing the circuit configuration of the power supply control circuit SPY and its relationship to the backlight unit BL and liquid crystal display unit MONI. As shown in the figure, this power supply control circuit SPY is mainly composed of a first switch circuit having transistor Tr1 and MOS transistor Q1, a second switch circuit having transistor Tr2 and MOS transistor Q2, a third switch circuit having transistor Tr3 and MOS transistor Q3, a fourth switch circuit having transistor Tr4 and MOS transistor Q4, and a buffer circuit SBUF that receives various control signals.
バッファ回路SBUFは、演出インタフェイス基板22から給電される直流電圧3.3Vを電源電圧とする高速シュミットバッファ(例えばTC74VHC9125)であり、非反転状態の入出力関係で動作している。すなわち、複合チップ50の演出制御CPU63は、電源電圧3.3Vに基づいて、理論上のH/L幅が、3.3Vの給電制御信号(STBY,PWM,PS1,PS2)を出力しており、これを受けたバッファ回路SBUFは、同一論理の制御信号(STBY,PWM,PS1,PS2)を出力している(図7(a)参照)。 The buffer circuit SBUF is a high-speed Schmitt buffer (e.g., TC74VHC9125) powered by the 3.3V DC voltage supplied from the performance interface board 22, and operates with a non-inverted input/output relationship. In other words, the performance control CPU 63 of the composite chip 50 outputs power supply control signals (STBY, PWM, PS1, PS2) with a theoretical H/L width of 3.3V based on the 3.3V power supply voltage. The buffer circuit SBUF then outputs control signals (STBY, PWM, PS1, PS2) of the same logic (see Figure 7(a)).
図6(a)に示す通り、バッファ回路SBUFの4本の入力端子(STBY,PWM,PS1,PS2)は、全てプルダウン抵抗Rpdを経由してグランドに接続されており、接続コネクタの分離状態や、電源投入時など、各制御信号がHiZ(high impedance)状態の場合には、全ての制御信号がLレベルとなるよう構成されている。 As shown in Figure 6(a), the four input terminals (STBY, PWM, PS1, PS2) of the buffer circuit SBUF are all connected to ground via pull-down resistors Rpd. When the control signals are in a HiZ (high impedance) state, such as when the connector is disconnected or when the power is turned on, all control signals are configured to be at L level.
次に、第1~第4スイッチ回路において、トランジスタTr1~Tr4は、全てNPN型のバイポーラトランジスタであって、スイッチング動作をするよう駆動される。すなわち、各トランジスタTr1/Tr2/Tr3/Tr4は、対応する制御信号PS1/STBY/PWM/PS2がHレベルの場合に、バイアス抵抗の分圧比に基づいてON動作する一方、制御信号PS1/STBY/PWM/PS2がLレベルの場合には、バイアス抵抗に電流が流れないことでOFF動作する。 Next, in the first to fourth switch circuits, transistors Tr1 to Tr4 are all NPN-type bipolar transistors that are driven to perform switching operations. That is, when the corresponding control signal PS1/STBY/PWM/PS2 is H level, each transistor Tr1/Tr2/Tr3/Tr4 operates ON based on the voltage division ratio of the bias resistor, while when the control signal PS1/STBY/PWM/PS2 is L level, no current flows through the bias resistor and the transistor operates OFF.
ここで、トランジスタTr1/Tr4のOFF動作時には、各トランジスタTr1/Tr4のコレクタ出力が、いずれも3.3Vより高レベル(12V/5V)となる。また、MOSトランジスタQ1がON状態において、トランジスタTr2/Tr3のOFF動作時には、各トランジスタTr2/Tr3のコレクタ出力は、約12Vとなる。これらの意味において、各トランジスTr1~Tr4は、バイアス抵抗と共に、給電制御信号(STBY,PWM,PS1,PS2)の論理Hレベルを増加させるレベルシフト回路を構成している。 When transistors Tr1 and Tr4 are OFF, the collector outputs of each transistor Tr1 and Tr4 are both higher than 3.3V (12V/5V). Furthermore, when MOS transistor Q1 is ON and transistors Tr2 and Tr3 are OFF, the collector outputs of each transistor Tr2 and Tr3 are approximately 12V. In this sense, each transistor Tr1 to Tr4, together with the bias resistor, constitutes a level shift circuit that increases the logic H level of the power supply control signals (STBY, PWM, PS1, PS2).
なお、トランジスタTr1~Tr4に対するバイアス抵抗は、各々、R11+R12、R21+R22、R31+R32、R41+R42であり、各バイアス抵抗の分圧比で規定される電圧が、トランジスタTr1~Tr4のベース端子に供給されている。 The bias resistors for transistors Tr1 to Tr4 are R11+R12, R21+R22, R31+R32, and R41+R42, respectively, and a voltage determined by the voltage division ratio of each bias resistor is supplied to the base terminals of transistors Tr1 to Tr4.
本実施例では、上記したレベルシフト回路(Tr1~Tr4)を設けるので、バックライトの発光輝度を上げる一方で、演出制御部23の消費電力を大きく抑制することができる。すなわち、バックライト部BLの電源電圧(12V)を可能な限り高レベルにする一方で、給電制御信号(STBY,PWM,PS1,PS2)の論理Hレベルを、任意の低レベル(3.3V)に設定することができる。 In this embodiment, the level shift circuits (Tr1 to Tr4) described above are provided, which allows the backlight's luminance to be increased while significantly reducing the power consumption of the performance control unit 23. In other words, the power supply voltage (12V) of the backlight unit BL can be set to the highest possible level, while the logical H level of the power supply control signals (STBY, PWM, PS1, PS2) can be set to an arbitrary low level (3.3V).
一方、MOSトランジスタQ1~Q4は、全てPch型であって、トランジスタTr1~Tr4のON/OFF状態に応じたスイッチング動作をして、ON動作時には、ソース端子Sとドレイン端子Dがほぼ導通状態となる。 On the other hand, MOS transistors Q1 to Q4 are all Pch type, and perform switching operations according to the ON/OFF states of transistors Tr1 to Tr4. When in ON mode, the source terminal S and drain terminal D are almost conductive.
具体的に確認すると、先ず、MOSトランジスタQ1は、そのソース端子Sに、演出インタフェイス基板22が給電する直流電圧12Vを受けており、Hレベルの制御信号PS1に基づいてトランジスタTr1がON動作すると、これに呼応して通電状態に移行するバイアス抵抗Rb1の両端電圧に基づいて、MOSトランジスタQ1もON動作して、ドレイン端子Dに直流電圧12Vを出力する。 Specifically, MOS transistor Q1 receives a 12V DC voltage at its source terminal S supplied by the performance interface board 22. When transistor Tr1 turns ON based on an H-level control signal PS1, MOS transistor Q1 also turns ON based on the voltage across bias resistor Rb1, which transitions to a conductive state in response, and outputs a 12V DC voltage to its drain terminal D.
この直流電圧12Vは、RCフィルタ回路とツェナーダイオードを経由して、バックライト部BLに給電される。RCフィルタ回路は、3.3kΩの抵抗と、47μFの導電性高分子コンデンサ(アルミ電解コンデンサの電解液の代わりに、導電性高分子と電解液とを融合させた電解質を配置したハイブリッドコンデンサ)で構成されている。 This 12V DC voltage is supplied to the backlight unit BL via an RC filter circuit and Zener diode. The RC filter circuit consists of a 3.3kΩ resistor and a 47μF conductive polymer capacitor (a hybrid capacitor that uses an electrolyte that combines a conductive polymer and electrolyte instead of the electrolyte found in aluminum electrolytic capacitors).
このハイブリッドコンデンサは、定格電圧(Rated Voltage )25Vであって、直径6.3mm高さ5.8mmの円筒形状の表面実装品SMD(Surface Mount Device)である。そして、5V給電時における静電容量は、公称値の(47μF)の-10%未満に維持される。また、等価直列抵抗ESRは、公称値で50mΩである。 This hybrid capacitor has a rated voltage of 25V and is a cylindrical SMD (Surface Mount Device) with a diameter of 6.3mm and a height of 5.8mm. When powered by 5V, the capacitance is maintained at less than -10% of the nominal value (47μF). The nominal equivalent series resistance (ESR) is 50mΩ.
通常の回路構成では、47μFの電解コンデンサに、MLCC(Multilayer Ceramic Capacitor)などセラミックコンデンサ(0.1μF)を並列接続するが、本実施例では、単一のハイブリッドコンデンサで、所望の平滑動作とデカップリング動作を実現しており、他の回路素子の配置スペースを消費しない。 In a typical circuit configuration, a 47 μF electrolytic capacitor is connected in parallel with a ceramic capacitor (0.1 μF) such as an MLCC (Multilayer Ceramic Capacitor), but in this embodiment, a single hybrid capacitor achieves the desired smoothing and decoupling operations, eliminating the need to use space for other circuit elements.
因みに、導電性高分子コンデンサから、少なくとも半径20mmの範囲内に、他の平滑コンデンサやデカップリングコンデンサが配置されることはない。また、本実施例では、デカップリングコンデンサを表面実装し、通常の電解コンデンサのように、スルーホール実装法を採らないので、配置スペースを抑制できる利点もある。 Incidentally, no other smoothing capacitors or decoupling capacitors are placed within a radius of at least 20 mm from the conductive polymer capacitor. Furthermore, in this embodiment, the decoupling capacitor is surface-mounted, rather than through-hole mounted as with ordinary electrolytic capacitors, which has the advantage of reducing the amount of space required for placement.
また、表面実装された円筒形の頂面には、静電容量を示す数値「47」と、定格電圧25Vを示すランク記号「E」が記載され、また、マイナス極性の方向が、黒塗り記号で特定されているので、目視確認で、容易に基板上の部品チェックができる。 The top surface of the surface-mounted cylinder is marked with the numerical value "47" indicating capacitance and the rank symbol "E" indicating a rated voltage of 25V, and the direction of the negative polarity is identified with a black symbol, making it easy to visually check the components on the board.
また、本実施例では、特に、MOSトランジスタQ1として、ソースSドレインD間のON抵抗が、25mΩ以上、35mΩ以下となる素子を使用している。そのため、例えば、駆動電流(ドレイン電流ID)2.5Aを定常的に流しても、MOSトランジスタQ1における電圧降下は、0.1V以下であり、また、損失電力も0.22W(=2.5*2.5*35/1000)程度に抑制される。なお、ON抵抗は、VGS=-10V,ID=-4.5Aにおけるパルス駆動での測定結果である。 In addition, this embodiment uses, in particular, an element for MOS transistor Q1, whose ON resistance between source S and drain D is 25 mΩ or more and 35 mΩ or less. Therefore, even if a drive current (drain current ID) of 2.5 A flows steadily, for example, the voltage drop in MOS transistor Q1 is 0.1 V or less, and power loss is suppressed to approximately 0.22 W (= 2.5 * 2.5 * 35/1000). Note that the ON resistance was measured during pulse drive at VGS = -10 V and ID = -4.5 A.
また、トランジスタQ2とトランジスタQ3は、各々のソース端子SにトランジスタQ1のドレイン端子Dの電圧を受けている。したがって、MOSトランジスタQ1がON状態において、Hレベルの制御信号STBY/PWMに基づいてトランジスタTr2/Tr3がON動作すると、これに呼応して通電状態に移行するバイアス抵抗Rb2/Rb3の両端電圧に基づいて、MOSトランジスタQ2,Q3もON動作する。そのため、MOSトランジスタQ2,Q3のドレイン端子Dには、ON状態のトランジスタQ1を経由して、各々、直流電圧12Vが出力されることになる。 In addition, transistors Q2 and Q3 each receive the voltage at drain terminal D of transistor Q1 at their source terminal S. Therefore, when MOS transistor Q1 is ON and transistors Tr2/Tr3 are turned ON based on the H-level control signal STBY/PWM, MOS transistors Q2 and Q3 are also turned ON based on the voltage across bias resistors Rb2/Rb3, which transition to a conducting state in response. As a result, a DC voltage of 12V is output to drain terminal D of MOS transistors Q2 and Q3 via transistor Q1, which is turned ON.
この直流電圧12Vは、MOSトランジスタQ2のドレイン端子Dから、制御信号STBYとして出力され、また、MOSトランジスタQ3のドレイン端子Dからは、制御信号PWMとして出力される。そして、制御信号STBYは、プルダウン抵抗Rpdによるプルダウン状態で、バックライト部BLのBL_EN 端子(back light enable )に供給され、制御信号PWMは、プルダウン抵抗Rpdによるプルダウン状態で、バックライト部BLのPWM 端子(pulse width modulation)に供給されている。 This 12V DC voltage is output from the drain terminal D of MOS transistor Q2 as the control signal STBY, and from the drain terminal D of MOS transistor Q3 as the control signal PWM. The control signal STBY is supplied to the BL_EN terminal (backlight enable) of the backlight unit BL while being pulled down by the pull-down resistor Rpd, and the control signal PWM is supplied to the PWM terminal (pulse width modulation) of the backlight unit BL while being pulled down by the pull-down resistor Rpd.
本実施例では、プルダウン抵抗Rpdを、何れも33kΩ程度に設定することで、直流電圧12V(STBY/PWM)に起因してプルダウン抵抗Rpdに流れる電流を、0.36mA程度に抑制している。そのため、MOSトランジスタQ2、Q3として高価な素子を選択する必要がなくなり、本実施例では、ソースSドレインD間のON抵抗が、2.5Ω以上、3.8Ω以下となる素子を使用している。なお、ON抵抗は、VGS=-4.5V,ID=-100mAにおけるパルス駆動での測定結果である。 In this embodiment, by setting the pull-down resistors Rpd to approximately 33 kΩ, the current flowing through the pull-down resistors Rpd due to a DC voltage of 12 V (STBY/PWM) is suppressed to approximately 0.36 mA. This eliminates the need to select expensive elements for the MOS transistors Q2 and Q3, and in this embodiment, elements with an ON resistance between the source S and drain D of 2.5 Ω or more and 3.8 Ω or less are used. Note that the ON resistance is the result of measurements taken during pulse driving at VGS = -4.5 V and ID = -100 mA.
次に、バックライト部BLについて説明すると、バックライト部BLは、縦横に整列配置されたN×M個の発光ダイオード(LED)と、負論理の駆動パルスを出力して、N×M個の発光ダイオードを同期的に点灯駆動するドライバDVLと、を有して構成されている。このドライバDVLは、内部動作を動作可能(enable)にするか否かを規定するBL_EN 端子と、負論理の駆動パルスのデューティ比を、10%~100%の範囲の正論理で規定するPWM 端子と、駆動パルスを出力する出力端子LED1~LEDnと、を有して構成されている。 Next, we will explain the backlight unit BL. The backlight unit BL is composed of N x M light-emitting diodes (LEDs) aligned vertically and horizontally, and a driver DVL that outputs negative logic drive pulses to synchronously light up the N x M light-emitting diodes. This driver DVL is composed of a BL_EN terminal that determines whether internal operation is enabled, a PWM terminal that determines the duty ratio of the negative logic drive pulse using positive logic in the range of 10% to 100%, and output terminals LED1 to LEDn that output drive pulses.
先に説明した通り、BL_EN 端子には、給電制御回路SPYから制御信号STBYが供給され、PWM 端子には、制御信号PWMが供給されている。そして、制御信号STBYがHレベル(12V)の場合には、ドライバDVLの内部回路が動作して、出力端子LED1~LEDnから駆動パルスが出力可能となる。この駆動パルスは、制御信号PWMを論理反転させた負論理パルスとなる。 As explained earlier, the BL_EN terminal receives the control signal STBY from the power supply control circuit SPY, and the PWM terminal receives the control signal PWM. When the control signal STBY is at H level (12V), the internal circuitry of the driver DVL operates, enabling drive pulses to be output from the output terminals LED1 to LEDn. These drive pulses are negative logic pulses that are the logical inversion of the control signal PWM.
このように、実施例の駆動パルスは、PWM 端子に供給される制御信号PWMを論理反転させた負論理パルスであるので、制御信号PWMのデューティ比が100%に近いほど、出力端子LED1~LEDnのLレベル期間が長くなり、発光ダイオードに流れる平均電流が上がることで、バックライト光が明るくなる。一方、デューティ比が10%に近いほど、発光ダイオードの平均電流が下がることで、バックライト光が暗くなる。 As such, the drive pulse in this embodiment is a negative logic pulse that is the logical inversion of the control signal PWM supplied to the PWM terminal. Therefore, the closer the duty ratio of the control signal PWM is to 100%, the longer the L level period of the output terminals LED1 to LEDn, and the higher the average current flowing through the light-emitting diodes, resulting in brighter backlight light. On the other hand, the closer the duty ratio is to 10%, the lower the average current flowing through the light-emitting diodes, resulting in dimmer backlight light.
したがって、制御信号(制御パルス)PWMのデューティ比を適宜に変更することで、バックライト光の発光強度を変更することもできる。例えば、遊技者が不在のデモ状態では、バックライト光を暗くすることもできる。但し、本実施例では、このような発光制御の煩雑さを回避するため、制御信号のデューティ比を100%に維持しており、制御信号PWMは、パルス状に変化することなく、動作状態では定常的にHレベル(12V)を維持している。そのため、ドライバDVLの出力端子LED1~LEDnは、バックライト部BLの動作状態では、定常的にLレベルを維持することになる。 Therefore, by appropriately changing the duty ratio of the control signal (control pulse) PWM, the light intensity of the backlight can be changed. For example, the backlight can be dimmed in demo mode when no player is present. However, in this embodiment, to avoid the complexity of such light emission control, the duty ratio of the control signal is maintained at 100%, and the control signal PWM does not change to a pulsed form, but remains steadily at a high level (12V) when in operation. As a result, the output terminals LED1 to LEDn of the driver DVL remain steadily at a low level when the backlight unit BL is in operation.
ところで、BL_EN 端子と、PWM 端子は、何れも、プルダウン抵抗Rpdを経由してグランドに接続されている。したがって、MOSトランジスタQ2がOFF状態であって、制御信号STBYがHiZ状態の場合には、ドライバDVLが非動作状態となって、出力端子LED1~LEDnがHiZ状態となるので、全ての発光ダイオードは消灯状態となる。 By the way, the BL_EN terminal and the PWM terminal are both connected to ground via pull-down resistor Rpd. Therefore, when MOS transistor Q2 is OFF and the control signal STBY is in the HiZ state, driver DVL is in the inactive state, output terminals LED1 to LEDn are in the HiZ state, and all light-emitting diodes are turned off.
また、MOSトランジスタQ3がOFF状態であって、制御信号PWMがHiZ状態の場合には、例え、制御信号STBYがHレベルであっても、デューティ比が0%に維持されることで、出力端子LED1~LEDnがHレベル(12V)を維持して全ての発光ダイオードは消灯状態となる。したがって、有意な画像データが転送されない電源投入時や、給電制御回路SPYの動作異常時には、バックライトが消灯することになり、その結果、不自然な画像表示が未然に回避される。バッファ回路SBUFの4本の入力端子とグランドの間に、プルダウン抵抗Rpdを接続するのも同じ意図に基づく。 Furthermore, when MOS transistor Q3 is OFF and the control signal PWM is in the HiZ state, even if the control signal STBY is H level, the duty ratio is maintained at 0%, so that the output terminals LED1 to LEDn remain H level (12V) and all light-emitting diodes are turned off. Therefore, when the power is turned on and no significant image data is being transferred, or when the power supply control circuit SPY is operating abnormally, the backlight is turned off, thereby preventing unnatural image display. The same idea is behind the connection of pull-down resistors Rpd between the four input terminals of buffer circuit SBUF and ground.
続いて、トランジスタTr4とMOSトランジスタQ4を有する第4スイッチ回路と、メイン液晶表示部MONIとの関係について説明する。先に説明した通り、第4スイッチ回路のトランジスタTr4は、制御信号PS2のH/Lレベルに基づいてON/OFF動作する。 Next, we will explain the relationship between the fourth switch circuit, which includes transistor Tr4 and MOS transistor Q4, and the main LCD display unit MONI. As explained above, transistor Tr4 of the fourth switch circuit is turned ON/OFF based on the H/L level of the control signal PS2.
一方、MOSトランジスタQ4は、そのソース端子Sに、演出インタフェイス基板22が給電する直流電圧5Vを受けており、トランジスタTr1がON動作すると、これに呼応して通電状態に移行するバイアス抵抗Rb4の両端電圧に基づいて、MOSトランジスタQ4もON動作して、ドレイン端子Dに直流電圧5Vを出力する。 Meanwhile, MOS transistor Q4 receives a 5V DC voltage at its source terminal S supplied by the performance interface board 22. When transistor Tr1 turns ON, the MOS transistor Q4 also turns ON based on the voltage across bias resistor Rb4, which transitions to a conductive state in response, and outputs a 5V DC voltage to its drain terminal D.
この直流電圧5Vは、RCフィルタ回路とツェナーダイオードを経由して、図5に示す液晶表示部MONIに給電され、液晶表示部MONIの電源電圧として活用される。本実施例では、特に、MOSトランジスタQ4として、ソースSドレインD間のON抵抗が、48mΩ以上、65mΩ以下となる素子を使用している。そのため、例えば、駆動電流(ドレイン電流ID)=1.5Aを定常的に流しても、MOSトランジスタQ1における電圧降下は、0.1V以下であり、また、損失電力も0.15W(=1.5*1.5*65/1000)程度に抑制される。なお、ON抵抗は、VGS=-4.5,ID=-2.5Aにおけるパルス駆動での測定結果である。 This 5V DC voltage is supplied to the liquid crystal display unit MONI shown in Figure 5 via an RC filter circuit and Zener diode, and is used as the power supply voltage for the liquid crystal display unit MONI. In this embodiment, a device with an ON resistance between source S and drain D of 48 mΩ or more and 65 mΩ or less is used as MOS transistor Q4. Therefore, even if a drive current (drain current ID) of 1.5 A is steadily flowing, for example, the voltage drop across MOS transistor Q1 is 0.1 V or less, and power loss is suppressed to approximately 0.15 W (= 1.5 * 1.5 * 65/1000). Note that the ON resistance was measured during pulse drive at VGS = -4.5 and ID = -2.5 A.
続いて、図6(b)~図6(j)に基づいて、給電制御回路SPYの回路動作について説明する。複合チップ50は、電源投入後、システムリセット信号SYSがLレベルを維持するアサート期間を経て、制御動作を開始する(図6(d)のタイミングT1)。そして、複合チップ50の演出制御CPU63は、タイミングT1から1000mS後に、制御信号PS1,PS2をHレベルに遷移させる(タイミングT2)。 Next, the circuit operation of the power supply control circuit SPY will be explained based on Figures 6(b) to 6(j). After power is applied to the composite chip 50, the system reset signal SYS remains at the L level for an assertion period, and then the composite chip 50 begins control operation (timing T1 in Figure 6(d)). Then, 1000 ms after timing T1, the performance control CPU 63 of the composite chip 50 transitions the control signals PS1 and PS2 to the H level (timing T2).
すると、Hレベルの制御信号PS1に基づいて、MOSトランジスタQ1がON動作して、バックライト部BLへの直流12Vの給電が開始される。また、Hレベルの制御信号PS2に基づいて、MOSトランジスタQ4がON動作して、液晶表示部MONIへの直流5Vの給電が開始される。但し、このタイミングT2の時点では、制御信号STBY,PWMが共に、Lレベルのままであるので、バックライト部BLが発光することはない。したがって、液晶表示部MONIが如何に動作しても、不自然な画像が表示されるおそれはない。 Then, based on the H-level control signal PS1, MOS transistor Q1 turns ON, and the supply of 12V DC to the backlight unit BL begins. Based on the H-level control signal PS2, MOS transistor Q4 turns ON, and the supply of 5V DC to the liquid crystal display unit MONI begins. However, at this timing T2, the control signals STBY and PWM both remain at L level, so the backlight unit BL does not emit light. Therefore, no matter how the liquid crystal display unit MONI operates, there is no risk of an unnatural image being displayed.
次に、演出制御CPU63は、タイミングT2から5mS程度経過した後に、表示クロックと表示回路74の初期化動作を開始する。この制御内容については、後で詳述するが、これらの動作は、VDP回路52の動作を開始するまでの初期化動作の一つであり、この段階では、表示装置DS1に有意な画像信号が出力されることはない。 Next, approximately 5 ms after timing T2, the performance control CPU 63 begins initialization of the display clock and display circuit 74. This control will be described in detail later, but these operations are one of the initialization operations performed before the VDP circuit 52 begins operating, and at this stage, no significant image signal is output to the display device DS1.
その後、演出制御CPU63は、表示レジスタを適宜に初期設定した後、表示回路74とLVDS回路80の動作を開始させる(タイミングT4)。そのため、タイミングT4以降は、有意な画像信号としてのLVDS信号が、表示装置DS1に1/60秒毎に繰り返し出力されることになる(図6(f)参照)。 Then, the performance control CPU 63 initializes the display register appropriately, and then starts operation of the display circuit 74 and LVDS circuit 80 (timing T4). Therefore, from timing T4 onwards, the LVDS signal as a significant image signal is repeatedly output to the display device DS1 every 1/60 seconds (see Figure 6(f)).
但し、タイミングT4の時点では、制御信号PWMがLレベルを維持しているので、バックライト光が発光することはない。すなわち、演出制御CPU63は、タイミングT3で、制御信号STBYをHレベルに遷移させて、ドライバDVLを動作可能状態に制御するが、タイミングT4の時点は、まだ制御信号PWM=Lであって、駆動パルスのデューティ比が0%であることから、バックライト部BLの消灯状態が維持される。 However, at time T4, the control signal PWM remains at L level, so the backlight does not emit light. That is, at time T3, the performance control CPU 63 transitions the control signal STBY to H level, controlling the driver DVL to an operable state, but at time T4, the control signal PWM is still L and the duty ratio of the drive pulse is 0%, so the backlight unit BL remains off.
一方、演出制御CPU63は、表示回路74とLVDS回路80の動作を開始させた後(図21のSS4)、300mS以上経過したタイミングT5の時点で、制御信号PWMをHレベルに遷移させ(図21のSS6)、バックライト部BLを、デューティ比100%の発光状態に遷移させる。そして、タイミングT5の動作を、例えば、タイマ割込み処理で実行する場合には、タイミングT5の時点では、液晶表示部MONIは、既に、有意な画像信号としてのLVDS信号を1/60秒毎に繰り返し受けているので、その画像信号に基づいた画像が表示されることになる。すなわち、図21のステップSS6の処理の後、直ちに定常処理(図22のST4~ST14)が開始されるので、タイミングT5の時点では、ディスプレイリストDLに基づく初期画面が表示される。 Meanwhile, after starting operation of the display circuit 74 and LVDS circuit 80 (SS4 in FIG. 21), the performance control CPU 63 transitions the control signal PWM to the H level (SS6 in FIG. 21) at time T5, more than 300 mS later, to transition the backlight unit BL to an emitting state with a duty ratio of 100%. If the operation at time T5 is performed, for example, by timer interrupt processing, the liquid crystal display unit MONI is already repeatedly receiving the LVDS signal as a significant image signal every 1/60 seconds at time T5, and an image based on that image signal will be displayed. In other words, since steady-state processing (ST4 to ST14 in FIG. 22) begins immediately after processing step SS6 in FIG. 21, the initial screen based on the display list DL is displayed at time T5.
但し、図21に示すように、演出制御CPU63が、300mSの待機処理(図21のステップSS5)を実行する場合には、タイミングT5では、未だ、ディスプレイリストDLが発行されていないので、表示内容は、電源投入後のVRAM(フレームバッファFBa)に基づく画面となる。したがって、かかる点を考慮すると、電源投入後、VRAM(特にフレームバッファFBa,FBb)をゼロクリアするのが好適であるが、仮に、ゼロクリアしなくても、ランダムな画像が表示されるのは、遊技ホールの営業開始時のせいぜい一瞬であるので、何ら問題がない。すなわち、図21のステップSS6の処理の後、直ちに定常処理(図22のST4~ST14)が開始され、ディスプレイリストDLに基づく初期画面が表示される。 However, as shown in Figure 21, when the presentation control CPU 63 executes the 300 ms standby process (step SS5 in Figure 21), the display list DL has not yet been issued at timing T5, so the display content will be the screen based on the VRAM (frame buffer FBa) after power-on. Therefore, taking this into consideration, it is preferable to clear the VRAM (especially the frame buffers FBa and FBb) to zero after power-on. However, even if the VRAM is not cleared to zero, there is no problem, as the random image is only displayed for a moment at most when the amusement hall opens for business. In other words, immediately after processing step SS6 in Figure 21, regular processing (ST4 to ST14 in Figure 22) begins, and the initial screen based on the display list DL is displayed.
ところで、本実施例では、タイミングT2からタイミングT4までのプログラム実行時間が、20mS以内となるようプログラム設計されている。これは、実施例で使用する表示装置DS1は、液晶表示部MONIへの電源投入から、所定時間τ(例えば20mS)以内に画像信号(LVDS信号)の送信を開始すべきことを推奨しているからである。 In this embodiment, the program is designed so that the program execution time from timing T2 to timing T4 is within 20 ms. This is because it is recommended that the display device DS1 used in this embodiment start transmitting an image signal (LVDS signal) within a predetermined time τ (e.g., 20 ms) after power is applied to the liquid crystal display unit MONI.
本実施例において、制御信号PS2を使用して、液晶表示部MONIへの給電タイミングを、1秒程度遅らせるのも、上記の要請に基づくものであり、もし、電源投入と同時に液晶表示部MONIへの給電を開始すると、その後、所定時間τ(例えば20mS)以内にLVDS信号の送信を開始することは、アサート期間やプログラム実行時間(SP1~SP10の処理時間)から、とても無理である(タイミングT4参照)。 In this embodiment, the use of control signal PS2 to delay the timing of power supply to the liquid crystal display unit MONI by approximately one second is also based on the above requirement. If power supply to the liquid crystal display unit MONI were to begin simultaneously with power-on, it would be extremely impossible to start transmitting the LVDS signal within the specified time τ (e.g., 20 mS) thereafter due to the assertion period and program execution time (processing time for SP1 to SP10) (see timing T4).
以上、メイン表示装置DS1について、詳細に説明したが、サブ表示装置DS2についても、動作内容は、実質的に同様であり、図6(b)の動作をすることで、サブ液晶表示部MONIとバックライト部BLが整合的に動作して不適切な表示が生じないよう構成されている。 The main display device DS1 has been explained in detail above, but the operation of the sub-display device DS2 is essentially the same, and by performing the operation shown in Figure 6(b), the sub-LCD unit MONI and backlight unit BL operate in a coordinated manner to prevent inappropriate display.
また、サブ表示装置DS2は、VDP回路52から受ける水平同期信号HSと垂直同期信号VSに基づいて、図42に示すと同様の動作をしている。但し、サブ制御装置DS2も、水平同期信号HSや垂直同期信号VSに基づくことなく、データ有効信号ENABに基づいて動作する構成を採るのも好適である。なお、データ有効信号ENABは、サブ表示装置DS2に対しては、離散的なDE信号の形式ではなく、連続信号ENABとして伝送される(図14(a)右下部参照)。 The sub-display device DS2 operates in the same manner as shown in Figure 42, based on the horizontal synchronization signal HS and vertical synchronization signal VS received from the VDP circuit 52. However, it is also preferable for the sub-control device DS2 to be configured to operate based on the data enable signal ENAB, rather than based on the horizontal synchronization signal HS or vertical synchronization signal VS. The data enable signal ENAB is transmitted to the sub-display device DS2 as a continuous signal ENAB, rather than in the form of a discrete DE signal (see the lower right of Figure 14(a)).
次に、図3(a)に戻って、パチンコ機GMの全体回路構成を説明する。図3(a)に示す通り、このパチンコ機GMは、AC24Vを受けて各種の直流電圧(35V,12V,5V)をAC24Vと共に出力する電源基板20と、遊技制御動作を中心統括的に担う主制御基板21と、音声演出用の回路素子SNDを搭載した演出インタフェイス基板22と、主制御基板21から受けた制御コマンドCMDに基づいてランプ演出、音声演出、及び画像演出を統一的に実行する演出制御基板23と、演出制御基板23と表示装置DS1,DS2の間に位置する液晶インタフェイス基板24と、主制御基板21から受けた制御コマンドCMD’に基づいて払出モータMを制御して遊技球を払い出す払出制御基板25と、遊技者の操作に応答して遊技球を発射させる発射制御基板26と、を中心に構成されている。 Next, returning to Figure 3(a), the overall circuit configuration of the pachinko machine GM will be explained. As shown in Figure 3(a), this pachinko machine GM is mainly composed of a power supply board 20 that receives 24V AC and outputs various DC voltages (35V, 12V, 5V) along with the 24V AC; a main control board 21 that is responsible for central and overall game control operations; a presentation interface board 22 equipped with circuit elements SND for audio presentation; a presentation control board 23 that executes lamp presentations, audio presentations, and image presentations in a unified manner based on control commands CMD received from the main control board 21; a liquid crystal interface board 24 located between the presentation control board 23 and the display devices DS1 and DS2; a payout control board 25 that controls the payout motor M to pay out game balls based on control commands CMD' received from the main control board 21; and a launch control board 26 that launches game balls in response to player operations.
なお、演出インタフェイス基板22と、演出制御基板23と、液晶インタフェイス基板24とは、配線ケーブルを経由することなく、雄型コネクタと雌型コネクタとを直結されている。そのため、各電子回路の回路構成を複雑高度化しても基板全体の収納空間を最小化できると共に、接続ラインを最短化することで耐ノイズ性を高めることができる。 The performance interface board 22, performance control board 23, and LCD interface board 24 are directly connected via male and female connectors, without using wiring cables. This means that even if the circuit configuration of each electronic circuit is complex and advanced, the storage space required for the entire board can be minimized, and noise resistance can be improved by shortening the connection lines.
図示の通り、主制御基板21が出力する制御コマンドCMD’は、払出制御基板25に伝送される。一方、主制御基板21が出力する制御コマンドCMDは、演出インタフェイス基板22を経由して演出制御基板23に伝送される。ここで、制御コマンドCMD,CMD’は、何れも16bit長であるが、8bit長毎に2回に分けてパラレル送信される。 As shown in the figure, the control command CMD' output by the main control board 21 is transmitted to the dispensing control board 25. Meanwhile, the control command CMD output by the main control board 21 is transmitted to the performance control board 23 via the performance interface board 22. Here, the control commands CMD and CMD' are both 16 bits long, but are sent in parallel in two batches of 8 bits each.
主制御基板21と払出制御基板25には、ワンチップマイコンを含むコンピュータ回路が搭載されている。また、演出制御基板23には、VDP回路(Video Display Processor )52や内蔵CPU回路51などのコンピュータ回路が内蔵された複合チップ50が搭載されている。そこで、これらの制御基板21、25、23と、演出インタフェイス基板22や液晶インタフェイス基板24に搭載された回路、及びその回路によって実現される動作を機能的に総称して、本明細書では、主制御部21、演出制御部23、及び払出制御部25と言うことがある。なお、主制御部21に対して、演出制御部23と、払出制御部25がサブ制御部となる。 The main control board 21 and the payout control board 25 are equipped with computer circuits including a one-chip microcomputer. Furthermore, the performance control board 23 is equipped with a composite chip 50 incorporating computer circuits such as a VDP circuit (Video Display Processor) 52 and an internal CPU circuit 51. Therefore, in this specification, these control boards 21, 25, and 23, the circuits mounted on the performance interface board 22 and LCD interface board 24, and the operations realized by these circuits are sometimes collectively referred to functionally as the main control unit 21, the performance control unit 23, and the payout control unit 25. Furthermore, the performance control unit 23 and the payout control unit 25 are sub-control units relative to the main control unit 21.
また、このパチンコ機GMは、図3(a)の破線で囲む枠側部材GM1と、遊技盤5の背面に固定された盤側部材GM2とに大別されている。枠側部材GM1には、ガラス扉6や前面板7が枢着された内枠3と、その外側の木製外枠1とが含まれており、機種の変更に拘わらず、長期間にわたって遊技ホールに固定的に設置される。一方、盤側部材GM2は、機種変更に対応して交換され、新たな盤側部材GM2が、元の盤側部材の代わりに枠側部材GM1に取り付けられる。なお、枠側部材1を除く全てが、盤側部材GM2である。 This pachinko machine GM is broadly divided into a frame side member GM1, surrounded by a dashed line in Figure 3(a), and a board side member GM2, which is fixed to the back of the game board 5. The frame side member GM1 includes an inner frame 3 to which a glass door 6 and a front panel 7 are pivotally attached, and an outer wooden frame 1 on the outside of that, and is installed in a fixed position in the game hall for an extended period of time, regardless of changes in the model. On the other hand, the board side member GM2 is replaced in response to a model change, and a new board side member GM2 is attached to the frame side member GM1 in place of the original board side member. Note that everything except the frame side member 1 is the board side member GM2.
図3(a)の破線枠に示す通り、枠側部材GM1には、電源基板20と、バックアップ電源基板33と、払出制御基板25と、発射制御基板26と、枠中継基板36と、モータ/ランプ駆動基板37と、が含まれており、これらの回路基板が、内枠3の適所に各々固定されている。一方、遊技盤5の背面には、主制御基板21、演出制御基板23が、表示装置DS1,DS2やその他の回路基板と共に固定されている。そして、枠側部材GM1と盤側部材GM2とは、一箇所に集中配置された集中接続コネクタC1~C3によって電気的に接続されている。 As shown in the dashed-line frame in Figure 3(a), the frame-side member GM1 includes a power supply board 20, a backup power supply board 33, a payout control board 25, a launch control board 26, a frame relay board 36, and a motor/lamp drive board 37, and these circuit boards are each fixed in appropriate locations on the inner frame 3. Meanwhile, the main control board 21 and the performance control board 23 are fixed to the back of the gaming board 5, along with display devices DS1 and DS2 and other circuit boards. The frame-side member GM1 and the board-side member GM2 are electrically connected by centralized connectors C1 to C3, which are centrally located in one location.
電源基板20は、遊技ホールから配電される交流電圧AC24Vに基づいて、三種類の直流電圧(35V,12V,5V)を生成し、各直流電圧を、集中接続コネクタC2を経由して、演出インタフェイス基板22に配電している。また、三種類の直流電圧(35V,12V,5V)は、交流電圧AC24Vと共に、払出制御基板25に配電される。そして、払出制御基板25に配電された直流電圧(35V,12V,5V)は、バックアップ電源BAKと共に、集中接続コネクタC1を経由して、主制御基板21に配電されるよう構成されている。 The power supply board 20 generates three types of DC voltages (35V, 12V, 5V) based on the AC 24V voltage distributed from the gaming hall, and distributes each DC voltage to the performance interface board 22 via the centralized connection connector C2. The three types of DC voltages (35V, 12V, 5V) are also distributed to the payout control board 25 along with the AC 24V voltage. The DC voltages (35V, 12V, 5V) distributed to the payout control board 25 are then distributed to the main control board 21 via the centralized connection connector C1, along with the backup power supply BAK.
直流35Vは、遊技球の発射動作に関し、球送りソレノイドや発射ソレノイドの駆動電源、及び、電動式チューリップ(可変入賞装置)や大入賞口16を開閉駆動する電磁ソレノイドの駆動電源として使用される。また、直流12Vは、各制御基板から制御されるLEDランプやモータの駆動電源、及びデジタルアンプの電源電圧として使用され、一方、直流5Vは、払出制御基板25や主制御基板21のワンチップマイコンの電源電圧、及び、各制御基板に搭載された論理素子の電源電圧として使用される。また、直流5Vは、演出インタフェイス基板22のDC/DCコンバータでレベル降下された後、レベル降下された各種レベルの電圧が、各種コンピュータ回路(複合チップ50や音声プロセッサ27など)の電源電圧として使用される。 The 35V DC power supply is used to drive the ball feed solenoid and launch solenoid used to launch the game balls, and to drive the electromagnetic solenoids that open and close the electric tulip (variable prize-winning device) and the large prize opening 16. The 12V DC power supply is used to drive the LED lamps and motors controlled by each control board, and as the power supply voltage for the digital amplifier. The 5V DC power supply is used to power the single-chip microcomputers on the payout control board 25 and main control board 21, and the logic elements mounted on each control board. The 5V DC power supply is stepped down by the DC/DC converter on the performance interface board 22, and the stepped-down voltages at various levels are then used as the power supply voltage for various computer circuits (such as the composite chip 50 and audio processor 27).
バックアップ電源BAKは、電源遮断後、主制御部21と払出制御部25のワンチップマイコンの内蔵RAMのデータを保持するためのDC5Vの直流電源であり、例えば、電気二重層コンデンサで実現される。この実施例では、専用のバックアップ電源基板33が設けられており、バックアップ電源基板33に配置された電気二重層コンデンサは、払出制御基板25から受ける直流電圧5Vによって遊技動作中に充電されるよう構成されている。 The backup power supply BAK is a 5V DC power supply used to retain data in the built-in RAM of the one-chip microcomputers of the main control unit 21 and payout control unit 25 after power is cut off, and is realized, for example, by an electric double-layer capacitor. In this embodiment, a dedicated backup power supply board 33 is provided, and the electric double-layer capacitor placed on the backup power supply board 33 is configured to be charged by the 5V DC voltage received from the payout control board 25 during game operation.
一方、電源遮断後は、バックアップ電源BAKが、主制御部21と払出制御部25のワンチップマイコンの内蔵RAMのデータを保持するので、主制御部21と払出制御部25は、電源遮断前の遊技動作を電源投入後に再開できることになる。なお、バックアップ電源基板33には、少なくとも数日は、各ワンチップマイコンの内蔵RAMの記憶内容を保持可能な電気二重層コンデンサが配置されている。 On the other hand, after the power is cut off, the backup power supply BAK retains the data in the built-in RAM of the one-chip microcomputers of the main control unit 21 and payout control unit 25, allowing the main control unit 21 and payout control unit 25 to resume gaming operations that were in place before the power was cut off after the power is turned on. The backup power supply board 33 is equipped with an electric double-layer capacitor that can retain the memory contents of the built-in RAM of each one-chip microcomputer for at least several days.
ところで、本実施例では、従来の機器構成とは異なり、交流電圧AC24Vの異常低下を示す電源異常信号ABNは、電源基板20ではなく、払出制御基板25の電源モニタ部MNTにおいて生成されるよう構成されている。電源モニタ部MNTは、図3(b)に示す通り、電源基板20から受けるAC24Vを整流する全波整流回路と、全波整流回路の出力を受けて通電発光するフォトダイオードDと、電源基板20から受ける直流電圧5Vを電源とし、フォトダイオードDの発光に基づいてON動作するフォトトランジスTRと、フォトトランジスTRのON動作に基づいてHレベルの検出信号ABN(電源異常信号)を出力する出力部と、を有して構成されている。なお、フォトダイオードDと、フォトトランジスTRとで、フォトカプラPHを構成している。 In this embodiment, unlike conventional equipment configurations, the power supply abnormality signal ABN, which indicates an abnormal drop in the AC 24V voltage, is generated in the power supply monitor unit MNT of the dispensing control board 25, rather than in the power supply board 20. As shown in FIG. 3(b), the power supply monitor unit MNT is configured to include a full-wave rectifier circuit that rectifies the AC 24V received from the power supply board 20, a photodiode D that receives the output of the full-wave rectifier circuit and emits light, a phototransistor TR that is powered by the DC 5V received from the power supply board 20 and turns ON when the photodiode D emits light, and an output unit that outputs an H-level detection signal ABN (power supply abnormality signal) when the phototransistor TR turns ON. The photodiode D and phototransistor TR together form a photocoupler PH.
上記の構成において、電源投入後、フォトカプラPHが速やかにON状態になることで、電源異常信号ABNが正常レベル(H)となる。しかし、その後、交流電源が何らかの理由(正常には電源遮断)で異常降下すると、フォトカプラPHがOFF状態に変化することで、電源異常信号ABNが異常レベル(L)に変化する。この電源異常信号ABNは、払出制御基板25のワンチップマイコンに伝送されると共に、集中接続コネクタC1を経由して、主制御基板21のワンチップマイコンにも伝送されるよう構成されている。したがって、異常レベルの電源異常信号ABNを受けた各ワンチップマイコンは、必要な情報を、各々の内蔵RAMに記憶するバックアップ処理を実行することになる。先に説明した通り、内蔵RAMの情報は、バックアップ電源BAKによって維持されるので、電源遮断前の遊技動作が電源投入後に再開可能となる。 In the above configuration, after power is turned on, the photocoupler PH quickly switches to the ON state, causing the power supply abnormality signal ABN to go to the normal level (H). However, if the AC power subsequently drops abnormally for some reason (normally due to a power outage), the photocoupler PH switches to the OFF state, causing the power supply abnormality signal ABN to go to the abnormal level (L). This power supply abnormality signal ABN is transmitted to the one-chip microcomputer on the payout control board 25 and also to the one-chip microcomputer on the main control board 21 via the centralized connection connector C1. Therefore, each one-chip microcomputer that receives the abnormal-level power supply abnormality signal ABN executes backup processing to store the necessary information in its own internal RAM. As explained above, the information in the internal RAM is maintained by the backup power supply BAK, allowing game operation to resume as it was before the power was shut off after power is turned on.
図3(a)に示す通り、演出インタフェイス基板22には、音声プロセッサ27などの音声回路SNDが搭載され、演出制御基板23には、VDP回路52や内蔵CPU回路51などのコンピュータ回路が内蔵された複合チップ50が搭載されている。以下、内蔵CPU回路をCPU回路と略称することがある。 As shown in Figure 3(a), the performance interface board 22 is equipped with an audio circuit SND such as an audio processor 27, and the performance control board 23 is equipped with a composite chip 50 that incorporates computer circuits such as a VDP circuit 52 and an internal CPU circuit 51. Hereinafter, the internal CPU circuit may be abbreviated as the CPU circuit.
演出インタフェイス基板22には、電源投入時に、電源電圧の上昇を検知して各種のリセット信号RT3,RT4を生成するリセット回路RST3,RST4が搭載されている。先ず、リセット回路RST3は、電源基板20から配電された直流電圧12Vと5Vに基づいて、リセット信号RT3を生成している。そして、リセット信号RT3は、音声メモリ28だけを電源リセットして、そのまま演出制御基板23に伝送される。 The performance interface board 22 is equipped with reset circuits RST3 and RST4 that detect a rise in power supply voltage when power is turned on and generate various reset signals RT3 and RT4. First, the reset circuit RST3 generates the reset signal RT3 based on the 12V and 5V DC voltages distributed from the power supply board 20. The reset signal RT3 then resets the power supply to only the audio memory 28 and is transmitted directly to the performance control board 23.
演出制御基板23に伝送されたリセット信号RT3は、図7(a)に示す通り、ANDゲートG1において、WDT(Watch Dog Timer )回路58の出力とAND演算され、システムリセット信号SYSとして、CPU回路51やVDP回路52を電源リセットしている(図7(a)及び図7(d)参照)。 As shown in Figure 7(a), the reset signal RT3 transmitted to the performance control board 23 is ANDed with the output of the WDT (Watch Dog Timer) circuit 58 in the AND gate G1, and the result is the system reset signal SYS, which resets the power supply to the CPU circuit 51 and VDP circuit 52 (see Figures 7(a) and 7(d)).
リセット回路RST3が生成するリセット信号RT3は、電源投入後、電源リセット信号として所定時間Lレベルを維持した後、Hレベルに上昇する。しかし、その後、直流電圧12V又は直流電圧5Vの何れか一以上が降下した場合(通常は電源遮断時)には、リセット信号RT3のレベル降下に対応して、システムリセット信号SYSもLレベルに降下するので、演出制御基板23のCPU回路51とVDP回路52は動作停止状態となる。 After power is turned on, the reset signal RT3 generated by the reset circuit RST3 remains at L level for a predetermined time as a power reset signal before rising to H level. However, if either the 12V DC voltage or the 5V DC voltage drops thereafter (usually when the power is turned off), the system reset signal SYS also drops to L level in response to the drop in the level of the reset signal RT3, and the CPU circuit 51 and VDP circuit 52 of the performance control board 23 enter a stopped state.
このシステムリセット信号SYSは、WDT回路58の出力(正常時にはHレベル)に基づいても変化するので、リセット信号RT3=Hの状態で、プログラム暴走時などに起因して、WDT回路58の出力がLレベルに降下することに対応して、システムリセット信号SYSもLレベルに変化して、CPU回路51やVDP回路52を異常リセットする(図7(d)参照)。 This system reset signal SYS also changes based on the output of the WDT circuit 58 (which is normally at H level). Therefore, when the reset signal RT3 is at H level and the output of the WDT circuit 58 drops to L level due to a program runaway or other cause, the system reset signal SYS also changes to L level, causing an abnormal reset of the CPU circuit 51 and VDP circuit 52 (see Figure 7(d)).
一方、リセット回路RST4は、電源基板20から配電された5Vを降下して生成された3.3Vに基づいて、リセット信号RT4を生成している。このリセット信号RT4は、電源投入時の電源リセット信号として、音声プロセッサ27を電源リセットしている。 Meanwhile, the reset circuit RST4 generates a reset signal RT4 based on 3.3V generated by dropping the 5V distributed from the power supply board 20. This reset signal RT4 serves as a power reset signal when the power is turned on, resetting the power supply to the audio processor 27.
図示の通り、リセット回路RST4には、演出制御基板23から返送されたシステムリセット信号SYSも供給されているので、CPU回路51やVDP回路52の異常リセット時には、これらの回路の異常リセットに同期して、音声プロセッサ27も異常リセットされる。この結果、音声演出は、画像演出やランプ演出と共に初期状態に戻ることになり、不自然な音声演出が継続するおそれがない。 As shown in the figure, the reset circuit RST4 is also supplied with the system reset signal SYS returned from the performance control board 23, so when the CPU circuit 51 or VDP circuit 52 is abnormally reset, the audio processor 27 is also abnormally reset in synchronization with the abnormal reset of these circuits. As a result, the audio performance, along with the image and lamp performance, returns to its initial state, eliminating the risk of unnatural audio performance continuing.
次に、枠側部材GM1たる払出制御基板25と、盤側部材GM2たる主制御部21には、各々、リセット回路RST1,RST2が搭載されており、電源投入時に電源リセット信号が生成され、各コンピュータ回路が電源リセットされるよう構成されている。 Next, the payout control board 25, which is the frame side member GM1, and the main control unit 21, which is the board side member GM2, are each equipped with reset circuits RST1 and RST2, which generate a power reset signal when the power is turned on, resetting the power to each computer circuit.
このように、本実施例では、主制御部21と、払出制御部25と、演出インタフェイス基板22に、各々、リセット回路RST1~RST4を配置しており、システムリセット信号SYSが回路基板間で伝送されることがない。すなわち、システムリセット信号SYSを伝送する配線ケーブルが存在しないので、配線ケーブルに重畳するノイズによって、コンピュータ回路が異常リセットされるおそれが解消される。 In this way, in this embodiment, reset circuits RST1 to RST4 are placed in the main control unit 21, payout control unit 25, and performance interface board 22, respectively, and the system reset signal SYS is not transmitted between circuit boards. In other words, since there is no wiring cable to transmit the system reset signal SYS, the risk of the computer circuit being abnormally reset due to noise superimposed on the wiring cable is eliminated.
但し、主制御部21や払出制御部25に設けられたリセット回路RST1,RST2は、各々ウォッチドッグタイマを内蔵しており、各制御部21,25のCPUから、定時的なクリアパルスを受けない場合には、各CPUは強制的にリセットされる。 However, the reset circuits RST1 and RST2 provided in the main control unit 21 and dispensing control unit 25 each have a built-in watchdog timer, and if they do not receive a regular clear pulse from the CPU of each control unit 21, 25, the respective CPUs will be forcibly reset.
また、主制御部21には、係員が操作可能な初期化スイッチSWが配置されており、電源投入時、初期化スイッチSWがON操作されたか否かを示すRAMクリア信号CLRが出力されるよう構成されている。このRAMクリア信号CLRは、主制御部21と払出制御部25のワンチップマイコンに伝送され、各制御部21,25のワンチップマイコンの内蔵RAMの全領域を初期設定するか否かを決定している。 The main control unit 21 is also equipped with an initialization switch SW that can be operated by an attendant, and is configured to output a RAM clear signal CLR when the power is turned on, indicating whether the initialization switch SW has been turned ON. This RAM clear signal CLR is transmitted to the one-chip microcomputers of the main control unit 21 and the dispensing control unit 25, and determines whether or not to initialize the entire internal RAM area of the one-chip microcomputer of each control unit 21, 25.
また、先に説明した通り、主制御部21及び払出制御部25のワンチップマイコンは、払出制御部25に配置された電源モニタMNTから電源異常信号ABNを受けることによって、停電や営業終了に先立って、必要な終了処理を開始するようになっている。 In addition, as explained above, the one-chip microcomputers in the main control unit 21 and dispensing control unit 25 receive a power supply abnormality signal ABN from the power supply monitor MNT located in the dispensing control unit 25, and initiate the necessary shutdown processing prior to a power outage or closing of business.
図3(a)に示す通り、主制御部21は、払出制御部25から、遊技球の払出動作を示す賞球計数信号や、払出動作の異常に係わるステイタス信号CONや、動作開始信号BGNを受信している。ステイタス信号CONには、例えば、補給切れ信号、払出不足エラー信号、下皿満杯信号が含まれる。動作開始信号BGNは、電源投入後、払出制御部25の初期動作が完了したことを主制御部21に通知する信号である。 As shown in Figure 3(a), the main control unit 21 receives from the payout control unit 25 a prize ball count signal indicating the payout operation of game balls, a status signal CON related to any abnormalities in the payout operation, and an operation start signal BGN. The status signal CON includes, for example, an out-of-supply signal, a payout shortage error signal, and a lower tray full signal. The operation start signal BGN is a signal that notifies the main control unit 21 that the initial operation of the payout control unit 25 has been completed after power is turned on.
また、主制御部21は、遊技盤上の各入賞口16~18に内蔵された検出スイッチのスイッチ信号を受ける一方、電動式チューリップなどのソレノイド類を駆動している。ソレノイド類や検出スイッチは、主制御部21から配電された電源電圧VB(12V)で動作するよう構成されている。また、図柄始動口15への入賞状態などを示す各スイッチ信号は、電源電圧VB(12V)と電源電圧Vcc(5V)とで動作するインタフェイスICで、TTLレベル又はCMOSレベルのスイッチ信号に変換された上で、主制御部21に伝送される。 The main control unit 21 also receives switch signals from the detection switches built into each winning slot 16-18 on the gaming board, while driving solenoids such as electric tulips. The solenoids and detection switches are configured to operate on the power supply voltage VB (12V) distributed from the main control unit 21. Furthermore, each switch signal indicating the winning status of the symbol start slot 15 is converted into a TTL-level or CMOS-level switch signal by an interface IC that operates on the power supply voltage VB (12V) and power supply voltage Vcc (5V), and then transmitted to the main control unit 21.
先に説明した通り、演出インタフェイス基板22は、集中接続コネクタC2を経由して、電源基板20から各レベルの直流電圧(5V,12V,35V)を受けている(図3(a)及び図7(a)参照)。直流電圧12Vは、デジタルアンプ29の電源電圧であると共に、LEDランプなどの駆動電圧として使用される。また、直流電圧35Vは、遊技枠の適所に配電されて可動物を往復移動させるソレノイドの駆動電圧として使用される。 As explained above, the effect interface board 22 receives various levels of DC voltage (5V, 12V, 35V) from the power supply board 20 via the centralized connector C2 (see Figures 3(a) and 7(a)). The 12V DC voltage is the power supply voltage for the digital amplifier 29 and is also used as the drive voltage for LED lamps and the like. The 35V DC voltage is distributed to appropriate locations on the play frame and is used as the drive voltage for solenoids that move movable objects back and forth.
一方、直流電圧5Vは、演出インタフェイス基板22各所の回路素子の電源電圧として供給されると共に、2つのDC/DCコンバータDC1,DC2に供給されて3.3Vと1.0Vが生成される(図7(a)参照)。生成された直流電圧3.3Vと1.0Vは、各々、I/O(入出力)用と、チップコア用の電源電圧として音声プロセッサ27に供給される。また、直流電圧3.3Vは、リセット回路RST4が生成する電源リセット信号RT4の基礎電圧となる。 Meanwhile, the 5V DC voltage is supplied as a power supply voltage to circuit elements throughout the performance interface board 22, and is also supplied to two DC/DC converters DC1 and DC2 to generate 3.3V and 1.0V (see Figure 7(a)). The generated 3.3V and 1.0V DC voltages are supplied to the audio processor 27 as power supply voltages for I/O (input/output) and the chip core, respectively. The 3.3V DC voltage also serves as the base voltage for the power reset signal RT4 generated by the reset circuit RST4.
演出インタフェイス基板22に配電された直流電圧5Vは、DC/DCコンバータDC1で生成された3.3Vと共に、演出制御基板23に配電される。そして、演出制御基板23に配電された直流電圧3.3Vは、電源電圧として、複合チップ50や、PROM53及びCGROM55に供給される。 The 5V DC voltage distributed to the performance interface board 22 is distributed to the performance control board 23 together with the 3.3V generated by the DC/DC converter DC1. The 3.3V DC voltage distributed to the performance control board 23 is then supplied as power supply voltage to the composite chip 50, PROM 53, and CGROM 55.
図7(a)に示す通り、演出制御基板23には、2つのDC/DCコンバータDC3,DC4が配置されており、各々に供給される直流電圧5Vに基づいて、1.5Vと1.05Vを生成している。ここで、直流電圧1.05Vは、複合チップ50のチップコア用の電源電圧であり、直流電圧1.5Vは、DRAM54とのI/O(入出力)用の電源電圧である。したがって、直流電圧1.5Vは、電源電圧として、DRAM54にも供給される。 As shown in Figure 7(a), the performance control board 23 is equipped with two DC/DC converters, DC3 and DC4, which generate 1.5V and 1.05V based on the DC voltage of 5V supplied to each. Here, the DC voltage of 1.05V is the power supply voltage for the chip core of the composite chip 50, and the DC voltage of 1.5V is the power supply voltage for I/O (input/output) with the DRAM 54. Therefore, the DC voltage of 1.5V is also supplied to the DRAM 54 as a power supply voltage.
図3(a)に示す通り、演出インタフェイス基板22は、主制御部21から制御コマンドCMDとストローブ信号STBとを受けて、演出制御基板23に転送している。より詳細には、図7(a)に示す通りであり、制御コマンドCMDとストローブ信号STBは、入力バッファ40を経由して、演出制御基板23の複合チップ50(CPU回路51)に転送される。ここで、ストローブ信号STBは、受信割込み信号IRQ_CMD であり、演出制御CPU63は、受信割込み信号IRQ_CMD を受けて起動される割込み処理プログラム(割込みハンドラ)に基づいて、制御コマンドCMDを取得している。 As shown in Figure 3(a), the performance interface board 22 receives a control command CMD and a strobe signal STB from the main control unit 21 and transfers them to the performance control board 23. More specifically, as shown in Figure 7(a), the control command CMD and strobe signal STB are transferred to the composite chip 50 (CPU circuit 51) of the performance control board 23 via the input buffer 40. Here, the strobe signal STB is the received interrupt signal IRQ_CMD, and the performance control CPU 63 obtains the control command CMD based on the interrupt processing program (interrupt handler) that is activated in response to the received interrupt signal IRQ_CMD.
図7(a)に示す通り、演出インタフェイス基板22の入力バッファ44は、枠中継基板35,36からチャンスボタン11や音量スイッチVLSWのスイッチ信号を受け、各スイッチ信号を演出制御基板23のCPU回路51に伝送している。具体的には、音量スイッチVLSWの接点位置(0~7)を示すエンコーダ出力の3bit長と、チャンスボタン11のON/OFF状態を示す1bit長をCPU回路51に伝送している。 As shown in Figure 7(a), the input buffer 44 of the performance interface board 22 receives switch signals from the chance button 11 and volume switch VLSW from the frame relay boards 35 and 36, and transmits each switch signal to the CPU circuit 51 of the performance control board 23. Specifically, it transmits to the CPU circuit 51 a 3-bit encoder output indicating the contact position (0-7) of the volume switch VLSW, and a 1-bit signal indicating the ON/OFF state of the chance button 11.
また、演出インタフェイス基板22には、ランプ駆動基板30やモータランプ駆動基板31が接続されると共に、枠中継基板35,36を経由して、ランプ駆動基板37にも接続されている。図示の通り、ランプ駆動基板30に対応して、出力バッファ42が配置され、モータランプ駆動基板31に対応して、入力バッファ43aと出力バッファ43bが配置されている。なお、図7(a)では、便宜上、入力バッファ43aと出力バッファ43bを総称して、入出力バッファ43と記載している。入力バッファ43aは、可動演出体たる役物の現在位置(演出モータM1~Mnの回転位置)を把握する原点センサの出力SN0~SNnを受けて、演出制御基板23のCPU回路51に伝送している。 The performance interface board 22 is also connected to the lamp drive board 30 and motor lamp drive board 31, and is also connected to the lamp drive board 37 via the frame relay boards 35 and 36. As shown in the figure, an output buffer 42 is arranged corresponding to the lamp drive board 30, and an input buffer 43a and an output buffer 43b are arranged corresponding to the motor lamp drive board 31. For convenience, in Figure 7(a), the input buffer 43a and output buffer 43b are collectively referred to as the input/output buffer 43. The input buffer 43a receives outputs SN0 to SNn from an origin sensor that detects the current position of the movable performance element (the rotational position of the performance motors M1 to Mn), and transmits these to the CPU circuit 51 of the performance control board 23.
ランプ駆動基板30、モータランプ駆動基板31、及び、ランプ駆動基板37には、同種のドライバICが搭載されており、演出インタフェイス基板22は、演出制御基板23から受けるシリアル信号を、各ドライバICに転送している。シリアル信号は、具体的には、ランプ(モータ)駆動信号SDATAとクロック信号CKであり、駆動信号SDATAがクロック同期方式で各ドライバICに伝送され、多数のLEDランプや電飾ランプによるランプ演出や、演出モータM1~Mnによる役物演出が実行される。 The lamp drive board 30, motor lamp drive board 31, and lamp drive board 37 are each equipped with the same type of driver IC, and the performance interface board 22 transfers the serial signals received from the performance control board 23 to each driver IC. Specifically, the serial signals are the lamp (motor) drive signal SDATA and the clock signal CK. The drive signal SDATA is transmitted to each driver IC using a clock synchronization method, and lamp performances using numerous LED lamps and electric lamps, as well as special feature performances using performance motors M1 to Mn, are executed.
本実施例の場合、ランプ演出は、三系統のランプ群CH0~CH2によって実行されており、ランプ駆動基板37は、枠中継基板35,36を経由して、CH0のランプ駆動信号SDATA0を、クロック信号CK0に同期して受けている。なお、シリアル信号として伝送される一連のランプ駆動信号SDATA0は、動作制御信号ENABLE0がアクティブレベルに変化したタイミングで、ドライバICからランプ群CH0に出力されることで一斉に点灯状態が更新される。 In this embodiment, the lamp effects are performed by three lamp groups CH0 to CH2, and the lamp drive board 37 receives the lamp drive signal SDATA0 from CH0 in synchronization with the clock signal CK0 via the frame relay boards 35 and 36. The series of lamp drive signals SDATA0 transmitted as serial signals are output from the driver IC to the lamp group CH0 when the operation control signal ENABLE0 changes to active level, thereby updating the lighting status of all the lamps at once.
以上の点は、ランプ駆動基板30についても同様であり、ランプ駆動基板30のドライバICは、ランプ群CH1のランプ駆動信号SDATA1を、クロック信号CK1に同期して受け、動作制御信号ENABLE1がアクティブレベルに変化したタイミングで、ランプ群CH1の点灯状態を一斉に更新している。 The above also applies to the lamp drive board 30. The driver IC of the lamp drive board 30 receives the lamp drive signal SDATA1 for lamp group CH1 in synchronization with the clock signal CK1, and simultaneously updates the lighting status of lamp group CH1 when the operation control signal ENABLE1 changes to the active level.
一方、モータランプ駆動基板31に搭載されたドライバICは、クロック同期式で伝送されるランプ駆動信号を受けてランプ群CH2を駆動すると共に、クロック同期式で伝送されるモータ駆動信号を受けて、複数のステッピングモータで構成された演出モータ群M1~Mnを駆動している。なお、ランプ駆動信号とモータ駆動信号は、一連のシリアル信号SDATA2であって、クロック信号CK1に同期してシリアル伝送され、これを受けたドライバICは、動作制御信号ENABLE2がアクティブレベルに変化するタイミングで、ランプ群CH2やモータ群M1~Mnの駆動状態を更新する。 Meanwhile, the driver IC mounted on the motor lamp drive board 31 receives a lamp drive signal transmitted in clock synchronization to drive the lamp group CH2, and receives a motor drive signal transmitted in clock synchronization to drive the performance motor group M1-Mn, which is made up of multiple stepping motors. The lamp drive signal and motor drive signal are a series of serial signals SDATA2 that are transmitted serially in synchronization with the clock signal CK1, and the driver IC that receives these signals updates the drive status of the lamp group CH2 and the motor groups M1-Mn when the operation control signal ENABLE2 changes to the active level.
続いて、音声回路SNDについて説明する。図7(a)に示す通り、演出インタフェイス基板22には、演出制御基板23のCPU回路51(演出制御CPU63)から受ける指示に基づいて音声信号を再生する音声プロセッサ(音声合成回路)27と、再生される音声信号の元データである圧縮音声データなどを記憶する音声メモリ28と、音声プロセッサ27から出力される音声信号を受けるデジタルアンプ29と、が搭載されている。 Next, we will explain the audio circuit SND. As shown in Figure 7(a), the performance interface board 22 is equipped with an audio processor (audio synthesis circuit) 27 that reproduces audio signals based on instructions received from the CPU circuit 51 (performance control CPU 63) of the performance control board 23, an audio memory 28 that stores compressed audio data, which is the original data for the reproduced audio signals, and a digital amplifier 29 that receives the audio signals output from the audio processor 27.
音声プロセッサ27は、内部回路の異常動作時に、内部回路の設定値を自動的にデフォルト値(初期値)にリセットするWDT回路と、音声制御レジスタSRGとを内蔵して構成されている。そして、音声プロセッサ27は、演出制御CPU63から音声制御レジスタSRGに受ける動作パラメータ(音声コマンドによる設定値)に基づいて、音声メモリ28をアクセスして、必要な音声信号を再生して出力している。 The audio processor 27 is configured with a built-in WDT circuit that automatically resets the internal circuit settings to default values (initial values) in the event of an abnormal operation of the internal circuit, and an audio control register SRG. The audio processor 27 then accesses the audio memory 28 based on the operating parameters (setting values via audio commands) received by the audio control register SRG from the performance control CPU 63, and reproduces and outputs the required audio signals.
図7(a)に示す通り、音声プロセッサ27と、音声メモリ28とは、26bit長の音声アドレスバスと、16bit長の音声データバスで接続されている。そのため、音声メモリ28には、1Gbit(=226×16)のデータが記憶可能となる。 7A, the audio processor 27 and audio memory 28 are connected by a 26-bit audio address bus and a 16-bit audio data bus, so that the audio memory 28 can store 1 Gbit (= 2 × 16) of data.
音声制御レジスタSRGは、レジスタバンク1~レジスタバンク6に区分され、各々、00H~FFHのレジスタ番号で特定される。したがって、所定の設定動作は、レジスタバンクを特定した上で、演出制御CPU63が、所定のレジスタ番号(1バイト長)の音声制御レジスタSRGに、1バイト長の動作パラメータを書込むことで実現される。 The audio control registers SRG are divided into register banks 1 to 6, each identified by a register number between 00H and FFH. Therefore, a specific setting operation is achieved by the performance control CPU 63 identifying the register bank and then writing a 1-byte operating parameter to the audio control register SRG with the specified register number (1 byte long).
本実施例の場合、音声制御レジスタSRGのレジスタ番号(00H~FFH)は、演出制御CPU63のアドレス空間CS3に対応しており、例えば、レジスタ番号XXHの音声制御レジスタSRGに、動作パラメータYYHを設定する場合には、演出制御CPU63は、アドレス空間CS3のゼロ番地にXXHを書込み、次に、1番地にYYHを書込むことになる。すなわち、演出制御CPU63は、そのデータバスにXXHとYYHを、この順番に書き出すことになる。なお、本明細書において、添え字Hや、0X/0xの接頭記号は、数値が16進数表示であることを示している。 In this embodiment, the register numbers (00H to FFH) of the sound control register SRG correspond to the address space CS3 of the performance control CPU 63. For example, when setting the operating parameter YYH in the sound control register SRG with register number XXH, the performance control CPU 63 writes XXH to address zero in address space CS3, and then writes YYH to address 1. In other words, the performance control CPU 63 writes XXH and YYH to its data bus in that order. Note that in this specification, the subscript H and the prefixes 0X/0x indicate that the values are expressed in hexadecimal.
また、本明細書において、アドレス空間CS0~CS7とは、揮発性の有無を含むメモリ種別や、データバス幅(8/16/32ビット)を、各々、規定可能なCPU回路51にとって外部メモリを意味する(内蔵メモリを除く)。このアドレス空間CS0~CS7は、異なるチップセレクト信号CS0~CS7で選択され、READ/WRITE アクセス時に機能するREAD/WRITE 制御信号がメモリ種別に対応して最適化できるよう設定可能に構成されている。なお、この設定動作は、バスステートコントローラ66に対して実行される。 In addition, in this specification, address space CS0 to CS7 refers to external memory (excluding built-in memory) for the CPU circuit 51, where the memory type (including whether it is volatile or not) and data bus width (8/16/32 bits) can be specified. This address space CS0 to CS7 is selected by different chip select signals CS0 to CS7, and is configured to be configurable so that the READ/WRITE control signals that function during READ/WRITE access can be optimized according to the memory type. This configuration operation is performed by the bus state controller 66.
図7(e)は、演出制御CPU63による音声レジスタSRGへの設定動作を図示したものであり、2bit長のアドレスバスA1-A0と、1バイト長のデータバスD7-D0の内容が示されている。なお、本実施例では、チップセレクト信号CS3は、アドレス空間CS3をアクセスする場合に、自動的にアクティブになるよう、電源投入時に設定されるが、この点は図9や図16に関して後述する。 Figure 7(e) illustrates the setting operation of the sound register SRG by the performance control CPU 63, showing the contents of the 2-bit address bus A1-A0 and the 1-byte data bus D7-D0. In this embodiment, the chip select signal CS3 is set at power-on so that it automatically becomes active when address space CS3 is accessed; this will be discussed later in connection with Figures 9 and 16.
何れにしても、本実施例の場合、音声メモリ28に記憶された圧縮音声データは、13bit長のフレーズ番号NUM(000H~1FFFH)で特定されるフレーズ(phrase)圧縮データであり、一連の背景音楽の一曲分(BGM)や、ひと纏まりの演出音(予告音)などが、最高8192種類(=213)、各々、フレーズ番号NUMに対応して記憶されている。そして、このフレーズ番号NUMは、演出制御CPU63から音声プロセッサ27の音声制御レジスタSRGに伝送される音声コマンドの設定値(動作パラメータ)によって特定される。 In any case, in this embodiment, the compressed audio data stored in the audio memory 28 is compressed phrase data identified by a 13-bit phrase number NUM (000H to 1FFFH), and up to 8,192 types (=2 13 ) of a series of background music (BGM), a group of effect sounds (warning sounds), etc. are stored, each corresponding to a phrase number NUM. The phrase number NUM is identified by the setting value (operation parameter) of the audio command transmitted from the effect control CPU 63 to the audio control register SRG of the audio processor 27.
前記の通り、上記の構成を有する音声メモリ28は、リセット信号RT3で電源リセットされ、音声プロセッサ27は、リセット信号RT4で電源リセットされる。図7(c)に示す通り、リセット信号RT4は、電源投入後、所定のアサート期間ASRT(Lレベル区間)を経て、Hレベルに立ち上がるが、本実施例では、その後、音声プロセッサ27の内部回路が自動的に機能して、初期化シーケンス処理が実行されるよう構成されている。なお、この初期化シーケンス処理は、所定の手順で実行される内部動作であり、初期化シーケンス処理の動作中は、演出制御CPU63が音声レジスタSRGをアクセスすることはできない。 As described above, the audio memory 28 having the above configuration is powered on and reset by the reset signal RT3, and the audio processor 27 is powered on and reset by the reset signal RT4. As shown in Figure 7(c), after power is turned on, the reset signal RT4 rises to a high level after a predetermined assertion period ASRT (low level period). In this embodiment, the internal circuitry of the audio processor 27 then automatically functions and initialization sequence processing is executed. Note that this initialization sequence processing is an internal operation executed in a predetermined procedure, and while the initialization sequence processing is in operation, the performance control CPU 63 cannot access the audio register SRG.
そして、内部動作たる初期化シーケンス処理が完了すると、CPU回路51に対する割込み信号IRQ_SND がLレベルに変化し、CPU回路51(演出制御CPU63)は、割込み信号IRQ_SND に基づき割込み処理プログラムを実行する。そして、所定の命令に基づいて割込み信号IRQ_SND がHレベルに戻されるが、その詳細については、図18(c)を参照して更に後述する。 When the internal initialization sequence processing is completed, the interrupt signal IRQ_SND to the CPU circuit 51 changes to L level, and the CPU circuit 51 (performance control CPU 63) executes the interrupt processing program based on the interrupt signal IRQ_SND. The interrupt signal IRQ_SND is then returned to H level based on a specified command; details of this will be discussed further below with reference to Figure 18(c).
図7(a)に示す通り、演出制御部23のCPU回路51のデータバスとアドレスバスは、液晶インタフェイス基板24に搭載された時計回路(real time clock )38と演出データメモリ39にも及んでいる。時計回路38は、CPU回路51のアドレスバスの下位4bitと、データバスの下位4bitに接続されており、チップセレクト信号CS4で時計回路38が選択された状態では、CPU回路51が、(4bit長アドレス値を有する)内部レジスタを任意にアクセスできるよう構成されている。 As shown in Figure 7(a), the data bus and address bus of the CPU circuit 51 of the performance control unit 23 also extend to the clock circuit (real time clock) 38 and performance data memory 39 mounted on the LCD interface board 24. The clock circuit 38 is connected to the lower 4 bits of the address bus and the lower 4 bits of the data bus of the CPU circuit 51, and when the clock circuit 38 is selected by the chip select signal CS4, the CPU circuit 51 is configured to be able to access the internal registers (which have 4-bit address values) at will.
また、演出データメモリ39は、高速アクセス可能なメモリ素子SRAM(Static Random Access Memory )であって、CPU回路51のアドレスバスの16bitと、データバスの下位16bitに接続されており、チップセレクト信号CS4でチップ選択された状態では、SRAM(演出データメモリ)39に記憶されている遊技実績情報その他が、CPU回路51から適宜にR/Wアクセスされるようになっている。なお、チップセレクト信号CS4で選択されるアドレス空間CS4において、0番地から15番地までは時計回路38に付番されているので、SRAM39では使用しない。 The effect data memory 39 is a high-speed accessible memory element, SRAM (Static Random Access Memory), connected to 16 bits of the CPU circuit 51's address bus and the lower 16 bits of the data bus. When the chip is selected by the chip select signal CS4, the game performance information and other data stored in the SRAM (effect data memory) 39 can be accessed by the CPU circuit 51 as appropriate via R/W. In the address space CS4 selected by the chip select signal CS4, addresses 0 to 15 are numbered by the clock circuit 38 and are therefore not used by the SRAM 39.
時計回路38と演出データメモリ39は、不図示の二次電池で駆動されており、この二次電池は、遊技動作中、電源基板20からの給電電圧によって適宜に充電される。そのため、電源遮断後も、時計回路38の計時動作が継続され、また、演出データメモリ39に記憶された遊技実績情報が、永続的に記憶保持されることになる(不揮発性を付与)。なお、時計回路(RTC)38は、CPU回路51に対して、割込み信号IRQ_RTC を出力可能に構成されている(RTC割込み)。このRTC割込みには、日、曜日、時、分、秒が特定可能なアラーム割込みと、所定時間経過後に起動されるタイマ割込みが存在するが、本実施例では、毎日の営業終了時に、日々の遊技実績情報を更新するアラーム割込みを活用している。 The clock circuit 38 and effect data memory 39 are powered by a secondary battery (not shown), which is charged appropriately during game operation by the power supply voltage from the power supply board 20. Therefore, even after power is cut off, the clock circuit 38 continues to measure time, and the game performance information stored in the effect data memory 39 is permanently stored (non-volatile). The clock circuit (RTC) 38 is configured to output an interrupt signal IRQ_RTC to the CPU circuit 51 (RTC interrupt). This RTC interrupt includes an alarm interrupt that can specify the date, day of the week, hour, minute, and second, and a timer interrupt that is activated after a predetermined time has elapsed. In this embodiment, the alarm interrupt is used to update the daily game performance information at the end of business each day.
図7(a)の右側に示す通り、演出制御基板23には、CPU回路51やVDP回路52を内蔵する複合チップ50と、CPU回路51の制御プログラムを記憶する制御メモリ(PROM)53と、大量のデータを高速にアクセス可能なDRAM(Dynamic Random Access Memory)54と、演出制御に必要な大量のCGデータを記憶するCGROM55と、が搭載されている。 As shown on the right side of Figure 7(a), the performance control board 23 is equipped with a composite chip 50 incorporating a CPU circuit 51 and a VDP circuit 52, a control memory (PROM) 53 that stores the control program for the CPU circuit 51, a DRAM (Dynamic Random Access Memory) 54 that can access large amounts of data at high speed, and a CGROM 55 that stores the large amounts of CG data required for performance control.
図10に関して後述するように、制御メモリ(PROM)53は、本実施例では、チップセレクト信号CS0で選択されるアドレス空間CS0に位置付けされている。また、DDR(Double-Data-Rate 3)で構成されるDRAM(Dynamic Random Access Memory)54は、チップセレクト信号CS5で選択されるアドレス空間CS5に位置付けされている。 As will be described later with reference to Figure 10, in this embodiment, the control memory (PROM) 53 is located in address space CS0, which is selected by chip select signal CS0. Furthermore, the DRAM (Dynamic Random Access Memory) 54, which is configured using DDR (Double-Data-Rate 3), is located in address space CS5, which is selected by chip select signal CS5.
図8(a)は、演出制御部23を構成する複合チップ50について、関連する回路素子も含めて図示した回路ブロック図である。図示の通り、実施例の複合チップ50には、所定時間毎にディスプレイリストDLを発行するCPU回路51と、発行されたディスプレイリストDLに基づいて画像データを生成して表示装置DS1,DS2を駆動するVDP回路52とが内蔵されている。そして、CPU回路51とVDP回路52とは、互いの送受信データを中継するCPUIF回路56を通して接続されている。 Figure 8(a) is a circuit block diagram illustrating the composite chip 50 that constitutes the performance control unit 23, including related circuit elements. As shown, the composite chip 50 of this embodiment incorporates a CPU circuit 51 that issues a display list DL at predetermined time intervals, and a VDP circuit 52 that generates image data based on the issued display list DL and drives the display devices DS1 and DS2. The CPU circuit 51 and VDP circuit 52 are connected via a CPUIF circuit 56 that relays data sent and received between them.
なお、VDP回路52には、音声プロセッサ27と同等の機能を発揮する音声回路SNDが内蔵されているが、これから説明する最初の実施例では、音声回路SNDを活用していない。但し、最後に説明する実施例のように、VDP回路52に内蔵された音声回路SNDを活用すれば、音声メモリ28や音声プロセッサ27の配置が不要となる。 The VDP circuit 52 has a built-in audio circuit SND that performs the same functions as the audio processor 27, but in the first embodiment described below, the audio circuit SND is not used. However, if the audio circuit SND built into the VDP circuit 52 is used, as in the last embodiment described below, the audio memory 28 and audio processor 27 will not be required.
先ず、CPU回路51は、発振器OSC1の発振出力(例えば100/3MHz)をHCLKI 端子に受けて、これを周波数逓倍(例えば8逓倍)して、266.7MHz程度のCPU動作クロックとしている(図14(b)参照)。ここで、発振器OSC1は、スペクトラムス拡散波を出力するよう構成されることで、電波障害/電磁妨害を防止するEMI(Electromagnetic Interference)対策を図っている。 First, the CPU circuit 51 receives the oscillation output (e.g., 100/3 MHz) of oscillator OSC1 at the HCLKI terminal and multiplies the frequency (e.g., by 8) to generate a CPU operating clock of approximately 266.7 MHz (see Figure 14(b)). Here, oscillator OSC1 is configured to output spread spectrum waves, thereby providing EMI (Electromagnetic Interference) protection to prevent radio interference/electromagnetic jamming.
ところで、本実施例の場合、CPU動作クロックを、発振器OSC1ではなく、後述する発振器OSC2の出力に基づいて生成することも可能であり、発振器OSC1を不要にすることもできる。しかし、発振器を単一化する構成では、PLL回路の周波数逓倍比が、以下に説明するシステムクロックの場合と同じ固定値(例えば5)となるので、CPU動作クロックの周波数は、VDP回路52のシステムクロックと同一の200MHz(=40MHz×5)となる。 In this embodiment, the CPU operating clock can also be generated based on the output of oscillator OSC2 (described below) rather than oscillator OSC1, making oscillator OSC1 unnecessary. However, in a configuration using a single oscillator, the frequency multiplication ratio of the PLL circuit is a fixed value (e.g., 5), the same as that of the system clock (described below), so the frequency of the CPU operating clock will be 200 MHz (= 40 MHz x 5), the same as the system clock of the VDP circuit 52.
このような構成を採ると、内蔵CPU回路51とVDP回路52の動作周期が共通化される利点がある一方で、CPUの動作を可能な限り高速化したい要請に反する。すなわち、VDPの動作は、ある程度以上には高速化できないので、CPU動作の高速化の要請に確実に応えることはできない。そこで、本実施例では、VDP回路52とCPU回路51の各動作周期を各々最適化するべく、2つの発振器を設けている。また、別個の発振器OSC1を設けることで、上記したEMI対策の向上を図ることもできる。 While this configuration has the advantage of sharing the operating cycles of the built-in CPU circuit 51 and VDP circuit 52, it contradicts the desire to make CPU operation as fast as possible. In other words, VDP operation cannot be made faster than a certain point, so it cannot reliably meet the demand for faster CPU operation. Therefore, in this embodiment, two oscillators are provided to optimize the operating cycles of the VDP circuit 52 and CPU circuit 51. Furthermore, providing a separate oscillator OSC1 can also improve the EMI countermeasures mentioned above.
以上を踏まえてVDP回路52について説明すると、VDP回路52は、発振器OSC1とは別の発振器OSC2の発振出力(40MHz)をPLLREF端子に受け、PLL(Phase Locked Loop )回路で、周波数逓倍した上で、VDP回路52のシステムクロックとしている。PLL回路の周波数逓倍比は、所定の設定端子への設定値で固定的に規定され、この実施例では、設定端子(3bit のPLLMD 端子)への設定値が固定値5であることから、VDP回路52のシステムクロックは、200MHz(=40MHz×5)となる(図14(b)参照)。 With the above in mind, the VDP circuit 52 receives the oscillation output (40 MHz) of oscillator OSC2, which is separate from oscillator OSC1, at its PLLREF terminal, and multiplies the frequency in a PLL (Phase Locked Loop) circuit to produce the system clock for the VDP circuit 52. The frequency multiplication ratio of the PLL circuit is fixedly determined by the value set in a specific setting terminal. In this embodiment, the setting value in the setting terminal (3-bit PLLMD terminal) is a fixed value of 5, so the system clock for the VDP circuit 52 is 200 MHz (= 40 MHz x 5) (see Figure 14(b)).
また、本実施例では、表示回路74A~74Cの動作を規定するドットクロックDCKA~DCKC、及び、外付けDRAM54のDDRクロックについても、発振器OSC2の発振出力(40MHz)に基づいて生成している。すなわち、発振器OSC2の出力(40MHz)は、VDP回路52全体のリファレンスクロックとして機能している。 In this embodiment, the dot clocks DCK A to DCK C that regulate the operation of the display circuits 74A to 74C and the DDR clock of the external DRAM 54 are also generated based on the oscillation output (40 MHz) of the oscillator OSC2. In other words, the output (40 MHz) of the oscillator OSC2 functions as a reference clock for the entire VDP circuit 52.
図14や図15に関して後述するように、表示回路74A~74Cは、通常、仕様の異なる表示装置を各々駆動しているので、各表示回路74A~74Cの動作を規定するドットクロックDCKA~DCKCは、駆動対象となる表示装置の仕様に対応させる必要がある。かかる必要に基づき、本実施例では、表示回路74A~74Cは、専用発振回路DCLKA~DCLKCの出力クロック(DCLKAI~DCLKCI)の何れかを受けて、それをドットクロックDCKA~DCKCとすることもできるよう構成されている。 14 and 15, the display circuits 74A to 74C typically drive display devices with different specifications, and therefore the dot clocks DCK A to DCK C that define the operation of each of the display circuits 74A to 74C must correspond to the specifications of the display device to be driven. Based on this need, in this embodiment, the display circuits 74A to 74C are configured to receive one of the output clocks (DCLKAI to DCLKCI) of the dedicated oscillator circuits DCLKA to DCLKC and use that as the dot clock DCK A to DCK C.
この構成を活用した場合には、後述する逓倍比や分周比の設計や、VDPレジスタRGijへの設定処理が不要となり、ドットクロックDCKA~DCKCの周波数を簡単に最適化することができる。すなわち、メイン表示装置DS1のドットクロック周波数FDOT1に対応して発振周波数FDOT1の専用発振回路DCLKAを設け、また、サブ表示装置DS2のドットクロック周波数FDOT2に対応して発振周波数FDOT2の専用発振回路DCLKBを設けることも可能である。 When this configuration is utilized, there is no need to design the multiplication ratio and division ratio, which will be described later, or to set the VDP register RGij, and it is possible to easily optimize the frequencies of the dot clocks DCK A to DCK C. In other words, it is possible to provide a dedicated oscillator circuit DCLKA with an oscillation frequency F DOT1 corresponding to the dot clock frequency F DOT1 of the main display device DS1, and also to provide a dedicated oscillator circuit DCLKB with an oscillation frequency F DOT2 corresponding to the dot clock frequency F DOT2 of the sub-display device DS2.
しかし、このような構成を採る場合には、表示装置の個数に対応して、専用発振回路が必要となり、機器構成が複雑化する。そこで、本実施例では、機器構成を簡素化するため、発振器OSC2の発振出力(40MHz)に基づいて、表示回路74A/74BのドットクロックDCKA/DCKBを生成している。具体的には、図14(b)に示す通り、メイン表示装置DS1を駆動する表示回路74Aについて、発振器OSC2の発振出力(40MHz)に、所定の逓倍処理(×108)と分周処理(1/40)を施すことで、周波数108MHzのドットクロックDCKAを生成している。 However, when such a configuration is adopted, dedicated oscillator circuits are required corresponding to the number of display devices, making the equipment configuration complicated. Therefore, in this embodiment, in order to simplify the equipment configuration, the dot clocks DCK A and DCK B of the display circuits 74A and 74B are generated based on the oscillation output (40 MHz) of the oscillator OSC2. Specifically, as shown in Figure 14(b), for the display circuit 74A that drives the main display device DS1, the oscillation output (40 MHz) of the oscillator OSC2 is subjected to a predetermined multiplication process (x108) and division process (1/40) to generate the dot clock DCK A with a frequency of 108 MHz.
同様に、サブ表示装置DS2を駆動する表示回路74Bについても、発振器OSC2の発振出力(40MHz)に、所定の逓倍処理(×108)と分周処理(1/160)を施すことで、周波数Fdot=27MHzのドットクロックDCKBを生成している。これら逓倍比や分周比を設計することは、それなりに煩雑であり、専用の発振回路を設ける方が容易であるが、本実施例では、機器構成の簡素化を重視して、専用発振回路を設けていない。 Similarly, for the display circuit 74B that drives the sub-display device DS2, the oscillation output (40 MHz) of the oscillator OSC2 is subjected to a predetermined multiplication process (×108) and division process (1/160) to generate a dot clock DCK B with a frequency F dot = 27 MHz. Designing these multiplication and division ratios is quite complicated, and it would be easier to provide a dedicated oscillator circuit, but in this embodiment, emphasis is placed on simplifying the equipment configuration, so a dedicated oscillator circuit is not provided.
何れにしても、ドットクロックDCKA~DCKCは、表示回路74A~74C毎に個々的に設定されるが、これらドットクロックDCKA~DCKCを総称する場合、本明細書では、「表示クロックDCK」と称する場合がある。また、以下の説明では、ドットクロックDCKAやDCKBを、便宜上、「ドットクロックDCK」と略称することがある。 In any case, the dot clocks DCK A to DCK C are set individually for each of the display circuits 74A to 74C, but in this specification these dot clocks DCK A to DCK C may be collectively referred to as the "display clock DCK." In the following explanation, the dot clocks DCK A and DCK B may be abbreviated to the "dot clock DCK" for convenience.
なお、本実施例では、低速LVDS出力の構成を採らないので、表示回路74Aを経由して出力されるLVDS信号のLVDSクロックCLKについても、ドットクロックDCKAと同一の生成過程を経て、周波数108MHzとしている。但し、本実施例では、デュアルリンク伝送路を採るので、実際のLVDSクロックCLKの周波数は、図4に関して説明した通り54MHzとなる。なお、シングルリンク伝送路を採用する場合、LVDSクロックCLKの周波数は、108MHzである。 In this embodiment, since a low-speed LVDS output configuration is not adopted, the LVDS clock CLK of the LVDS signal output via the display circuit 74A is also generated through the same process as the dot clock DCK A and has a frequency of 108 MHz. However, since a dual link transmission path is adopted in this embodiment, the actual frequency of the LVDS clock CLK is 54 MHz, as explained in relation to Figure 4. If a single link transmission path is adopted, the frequency of the LVDS clock CLK is 108 MHz.
上記のように、本実施例では、発振器OSC2の発振出力(40MHz)が、システムクロック、ドットクロックDCK、及び、DDRクロックのリファレンスクロックとして活用される。そこで、この重要性を考慮して、発振器OSC2をVDP回路52と同じ電源電圧3.3Vで動作させると共に、出力イネーブル端子OEがHレベル(=3.3V)であることを条件に、リファレンスクロックを発振出力するよう構成されている。そして、万一、電源電圧3.3Vが所定レベル以下に低下した場合には、その後、正常な演出動作は望めないので、マスク不能の割込み(NMI)が生じるよう構成されている。 As described above, in this embodiment, the oscillation output (40 MHz) of oscillator OSC2 is used as the reference clock for the system clock, dot clock DCK, and DDR clock. Taking this importance into consideration, oscillator OSC2 is configured to operate at the same power supply voltage of 3.3 V as VDP circuit 52, and to oscillate and output the reference clock when output enable terminal OE is at H level (= 3.3 V). If the power supply voltage of 3.3 V were to fall below a predetermined level, normal performance operation would be impossible, and so a non-maskable interrupt (NMI) would be generated.
また、複合チップ50には、HBTSL 端子が設けられ、HBTSL 端子の論理レベルに基づいて、電源投入(CPUリセット)後に実行されるブートプログラム(初期設定プログラム)が、CGROM55に記憶されているか(HBTSL =H)、それ以外のメモリに記憶されているか(HBTSL =L)を特定している。図示の通り、この実施例では、HBTSL =Lレベルに設定されており、演出制御CPU63のアドレス空間CS0のゼロ番地が、CGROM以外に割り当てられ、具体的には、アドレス空間CS0は、制御メモリ53に割り当てられている。 The composite chip 50 is also provided with an HBTSL terminal, and based on the logic level of the HBTSL terminal, it determines whether the boot program (initial setting program) executed after power-on (CPU reset) is stored in CGROM 55 (HBTSL = H) or in some other memory (HBTSL = L). As shown in the figure, in this embodiment, HBTSL is set to the L level, and address zero of the address space CS0 of the performance control CPU 63 is assigned to somewhere other than CGROM; specifically, address space CS0 is assigned to the control memory 53.
一方、HBTSL 端子=Hレベルに設定されている場合(破線参照)は、演出制御CPU63のアドレス空間CS0のゼロ番地が、CGROM55に割り当てられる。この場合は、CGROM55のメモリ種別と、バス幅(64/32/16bit)とが、2bit長のHBTBWD端子と、4bit長のHBTRMSL 端子への入力値に基づいて各々特定されようになっている。なお、これらの点は、図39に基づいて更に後述する。 On the other hand, when the HBTSL terminal is set to the H level (see dashed line), address zero of the address space CS0 of the performance control CPU 63 is assigned to the CGROM 55. In this case, the memory type and bus width (64/32/16 bits) of the CGROM 55 are determined based on the input values to the 2-bit HBTBWD terminal and the 4-bit HBTRMSL terminal, respectively. These points will be discussed further below with reference to Figure 39.
続いて、CPU回路51とVDP回路52について、互いの送受信データを中継するCPUIF回路56について説明する。図8(a)に示す通り、CPUIF回路56には、制御プログラムや必要な制御データを不揮発的に記憶する制御メモリ(PROM)53と、2Mバイト程度の記憶容量を有するワークメモリ(RAM)57とが接続され、各々、CPU回路51からアクセス可能に構成されている。先に説明した通り、制御メモリ(PROM)53は、チップセレクト信号CS0で選択されるアドレス空間CS0に位置付けられ、ワークメモリ(RAM)57は、チップセレクト信号CS6で選択されるアドレス空間CS6に位置付けられている。 Next, we will explain the CPUIF circuit 56, which relays data sent and received between the CPU circuit 51 and the VDP circuit 52. As shown in Figure 8(a), the CPUIF circuit 56 is connected to a control memory (PROM) 53 that stores control programs and necessary control data in a non-volatile manner, and a work memory (RAM) 57 with a storage capacity of approximately 2 MB, each of which is configured to be accessible from the CPU circuit 51. As explained above, the control memory (PROM) 53 is located in address space CS0 selected by chip select signal CS0, and the work memory (RAM) 57 is located in address space CS6 selected by chip select signal CS6.
このワークメモリ(RAM)57には、表示装置DS1,DS2の各一フレームを特定する一連の指示コマンドが記載されたディスプレイリストDLを、一次的に記憶するDLバッファBUFが確保されている。本実施例の場合、一連の指示コマンドには、CGROM55から画像素材(テクスチャ)を読み出してデコード(展開)するためのTXLOADコマンドなどのテクスチャロード系コマンドと、デコード(展開)先のVRAM領域(インデックス空間)を予め特定するなどの機能を有するSETINDEXコマンドなどのテクスチャ設定系コマンドと、デコード(展開)後の画像素材を仮想描画空間の所定位置に配置するためのSPRITEコマンドなどのプリミティブ描画系コマンドと、描画系コマンドによって仮想描画空間に描画された画像のうち、実際に表示装置に描画する描画領域を特定するためのSETDAVR コマンドやSETDAVF コマンドなどの環境設定コマンドと、インデックス空間を管理するインデックステーブルIDXTBLに関するインデックステーブル制御系コマンド(WRIDXTBL)が含まれる。 This work memory (RAM) 57 has a DL buffer BUF for temporarily storing a display list DL containing a series of instruction commands that specify each frame of the display devices DS1 and DS2. In this embodiment, the series of instruction commands includes texture load commands such as the TXLOAD command for reading and decoding (expanding) image material (texture) from CGROM 55, texture setting commands such as the SETINDEX command, which have the function of specifying in advance the VRAM area (index space) to decode (expand), primitive drawing commands such as the SPRITE command for placing the decoded image material in a predetermined position in the virtual drawing space, environment setting commands such as the SETDAVR command and SETDAVF command for specifying the drawing area to actually draw on the display device from the images drawn in the virtual drawing space by the drawing commands, and index table control commands (WRIDXTBL) related to the index table IDXTBL that manages the index space.
なお、図12(c)には、仮想描画空間(水平X方向±8192:垂直Y方向±8192)と、仮想描画空間の中で任意に設定可能な描画領域と、表示装置DS1,DS2に出力する画像データを一次保存するフレームバッファFBa,FBbにおける実描画領域と、の関係が図示されている。 Figure 12(c) shows the relationship between the virtual drawing space (horizontal X direction ±8192: vertical Y direction ±8192), the drawing area that can be set arbitrarily within the virtual drawing space, and the actual drawing area in frame buffers FBa and FBb that temporarily store image data to be output to display devices DS1 and DS2.
次に、CPU回路51は、汎用のワンチップマイコンと同等の性能を有する回路であり、制御メモリ53の制御プログラムに基づき画像演出を統括的に制御する演出制御CPU63と、プログラムが暴走状態になるとCPUを強制リセットするウォッチドッグタイマ(WDT)と、16kバイト程度の記憶容量を有してCPUの作業領域として使用される内蔵RAM59と、CPU63を経由しないでデータ転送を実現するDMAC(Direct Memory Access Controller )60と、複数の入力ポートSi及び出力ポートSoを有するシリアル入出力ポート(SIO)61と、複数の入力ポートPi及び出力ポートPoを有するパラレル入出力ポート(PIO)62と、前記各部の動作を制御するべく設定値が設定される動作制御レジスタREGなどを有して構成されている。但し、外付けのWDT回路58を設けた本実施例では、CPU回路51に内蔵されたウォッチドッグタイマ(WDT)を活用していない。 Next, the CPU circuit 51 is a circuit with performance equivalent to a general-purpose one-chip microcomputer, and is composed of a performance control CPU 63 that comprehensively controls image performance based on the control program in the control memory 53, a watchdog timer (WDT) that forcibly resets the CPU if the program goes out of control, an internal RAM 59 with a storage capacity of approximately 16 kbytes that is used as the CPU's working area, a DMAC (Direct Memory Access Controller) 60 that enables data transfer without going through the CPU 63, a serial input/output port (SIO) 61 with multiple input ports Si and output ports So, a parallel input/output port (PIO) 62 with multiple input ports Pi and output ports Po, and an operation control register REG in which setting values are set to control the operation of each of the above components. However, in this embodiment, which is equipped with an external WDT circuit 58, the watchdog timer (WDT) built into the CPU circuit 51 is not utilized.
なお、本明細書では、便宜上、入出力ポートとの表現を使用するが、演出制御部23において、入出力ポートには、独立して動作する入力ポートと出力ポートとが含まれている。この点は、以下に説明する入出力回路64pや入出力回路64sについても同様である。 For convenience, the term "input/output port" is used in this specification, but in the performance control unit 23, the input/output port includes an input port and an output port that operate independently. This also applies to the input/output circuit 64p and the input/output circuit 64s described below.
パラレル入出力ポート62は、入出力回路64pを通して外部機器(演出インタフェイス基板22)に接続されており、演出制御CPU63は、入力回路64pを経由して、音量スイッチVLSWのエンコーダ出力3bitと、チャンスボタン11のスイッチ信号と、制御コマンドCMDと、割込み信号STBと、を受信するようになっている。エンコーダ出力3bitと、スイッチ信号1bitは、入出力回路64pを経由して、パラレル入出力ポート(PIO)62に供給されている。 The parallel input/output port 62 is connected to an external device (performance interface board 22) via the input/output circuit 64p, and the performance control CPU 63 receives the 3-bit encoder output of the volume switch VLSW, the switch signal of the chance button 11, the control command CMD, and the interrupt signal STB via the input circuit 64p. The 3-bit encoder output and the 1-bit switch signal are supplied to the parallel input/output port (PIO) 62 via the input/output circuit 64p.
同様に、受信した制御コマンドCMDは、入出力回路64pを経由して、パラレル入出力ポート(PIO)62に供給されている。また、ストローブ信号STBは、入出力回路64pを経由して、演出制御CPU63の割込み端子に供給されることで、受信割込み処理を起動させている。したがって、受信割込み処理に基づいて、制御コマンドCMDを把握した演出制御CPU63は、演出抽選などを経て、この制御コマンドCMDに対応する音声演出、ランプ演出、モータ演出、及び画像演出を統一的に制御することになる。 Similarly, the received control command CMD is supplied to the parallel input/output port (PIO) 62 via the input/output circuit 64p. The strobe signal STB is also supplied to the interrupt terminal of the performance control CPU 63 via the input/output circuit 64p, thereby activating the reception interrupt process. Therefore, the performance control CPU 63, which has grasped the control command CMD based on the reception interrupt process, will perform a performance lottery and other operations to uniformly control the audio performance, lamp performance, motor performance, and image performance corresponding to this control command CMD.
特に限定されないが、本実施例では、ランプ演出とモータ演出のために、VDP回路52のSMC回路(Serial Management Controller)78を使用している。SMC回路78は、LEDコントローラとMotorコントローラと、を内蔵した複合コントコントローラであり、クロック同期方式でシリアル信号を出力できるよう構成されている。また、Motorコントローラは、所定の制御レジスタ70への設定値に基づき、任意のタイミングでラッチパルスを出力可能に構成され、また、クロック同期方式でシリアル信号を入力可能に構成されている。 Although not limited to this, in this embodiment, the SMC circuit (Serial Management Controller) 78 of the VDP circuit 52 is used for lamp and motor effects. The SMC circuit 78 is a composite controller incorporating an LED controller and a motor controller, and is configured to output serial signals in a clock-synchronized manner. The motor controller is also configured to output latch pulses at any timing based on the set value in a specific control register 70, and is also configured to input serial signals in a clock-synchronized manner.
そこで、本実施例では、クロック信号に同期してモータ駆動信号やLED駆動信号を、SMC回路78から出力させる一方、適宜なタイミングで、ラッチパルスを、動作制御信号ENABLEとして出力するようにしている。また、演出モータ群M1~Mnからの原点センサ信号SN0~SNnをクロック同期方式でシリアル入力するよう構成されている。 In this embodiment, the motor drive signal and LED drive signal are output from the SMC circuit 78 in synchronization with the clock signal, while a latch pulse is output as the operation control signal ENABLE at an appropriate timing. Furthermore, the origin sensor signals SN0 to SNn from the performance motor groups M1 to Mn are configured to be input serially in clock synchronization.
図7(a)に関して説明した通り、クロック信号CK0~CK2、駆動信号SDATA0~SDATA2、及び、動作制御信号ENABLE0~ENABLE2は、出力バッファ41~43を経由して、所定の駆動基板30,31,37に伝送される。また、原点センサ信号SN0~SNnは、モータランプ駆動基板31から入出力バッファ43を経由して、SMC回路78にシリアル入力される。 As explained with reference to Figure 7(a), the clock signals CK0-CK2, drive signals SDATA0-SDATA2, and operation control signals ENABLE0-ENABLE2 are transmitted to the appropriate drive boards 30, 31, and 37 via output buffers 41-43. Furthermore, the origin sensor signals SN0-SNn are serially input from the motor lamp drive board 31 to the SMC circuit 78 via the input/output buffer 43.
但し、本実施例において、SMC回路78を使用することは必須ではない。すなわち、CPU回路51には、汎用のシリアル入出力ポートSIO61が内蔵されているので、これらを使用して、ランプ演出とモータ演出を実行することもできる。 However, in this embodiment, it is not necessary to use the SMC circuit 78. In other words, the CPU circuit 51 has a built-in general-purpose serial input/output port SIO61, which can also be used to execute lamp and motor effects.
具体的には、図8(a)の破線に示す通りであり、破線で示す構成では、シリアル入出力ポートSIO61に内部接続されている入出力回路64sを経由して、クロック信号CK0~CK2、駆動信号SDATA0~SDATA2が出力され、入出力回路64pを経由して動作制御信号ENABLE0~ENABLE2が出力される。なお、便宜上、入出力ポートや入出力回路と表現するが、実際に機能するのは、出力ポートや出力回路である。 Specifically, as shown by the dashed lines in Figure 8(a), in the configuration shown by the dashed lines, clock signals CK0-CK2 and drive signals SDATA0-SDATA2 are output via input/output circuit 64s internally connected to serial input/output port SIO61, and operation control signals ENABLE0-ENABLE2 are output via input/output circuit 64p. For convenience, these are referred to as input/output ports and input/output circuits, but it is the output ports and output circuits that actually function.
ここで、シリアル出力ポートSOは、16段のFIFOレジスタを内蔵して構成されている(図50(a)参照)。そして、DMAC回路60は、演出制御CPU63から動作開始指示(図22(b)ST18参照)を受けて起動し、ランプ/モータ駆動テーブル(図22(b)参照)から、必要な駆動テータを順番に読み出し、シリアル出力ポートSOのFIFOレジスタにDMA転送するよう構成されている。FIFOレジスタに蓄積された駆動データは、クロック同期方式でシリアル出力ポートSOからシリアル出力される。なお、DMAC回路には、複数(例えば7)のDMAチャネルが存在するが、優先度に劣る第3のDMAチャネルでランプ駆動データをDMA転送し、最優先度の第1のDMAチャネルでモータ駆動データをDMA転送するよう構成されている。 The serial output port SO is configured to incorporate a 16-stage FIFO register (see Figure 50 (a)). The DMAC circuit 60 is configured to start up upon receiving an operation start instruction (see Figure 22 (b) ST18) from the performance control CPU 63, read the necessary drive data in order from the lamp/motor drive table (see Figure 22 (b)), and transfer it via DMA to the FIFO register of the serial output port SO. The drive data accumulated in the FIFO register is output serially from the serial output port SO in a clock-synchronized manner. The DMAC circuit has multiple DMA channels (e.g., seven), and is configured to DMA transfer lamp drive data via the third DMA channel, which has the lowest priority, and DMA transfer motor drive data via the first DMA channel, which has the highest priority.
CPU回路51に内蔵された動作制御レジスタREGは、レジス番号(アドレス値)が0xFF400000以降に付番された8bit、16bit、又は32bit長のレジスタであり、演出制御CPU63から適宜にWRITE/READアクセス可能に構成されている(図10参照)。そのためノイズなどの影響で、動作制御レジスタREGに、不合理な値に設定される可能性がある。 The operation control register REG built into the CPU circuit 51 is an 8-bit, 16-bit, or 32-bit register with a register number (address value) starting from 0xFF400000, and is configured to be accessible for write/read as appropriate from the performance control CPU 63 (see Figure 10). Therefore, due to the influence of noise, etc., there is a possibility that an unreasonable value may be set in the operation control register REG.
但し、例えば、意図的に無限ループ処理を実行させて外付けのWDT回路58を起動させることで、複合チップ50を異常リセットすることができる。この場合、動作制御レジスタREGの値が、電源投入後と同じデフォルト値(初期値)に戻され、且つ、VDP回路52についても、VDPレジスタRGijの値が、デフォルト値(初期値)に戻されることで異常状態が解消される。 However, the combined chip 50 can be reset due to an abnormality, for example, by intentionally executing an infinite loop process and activating the external WDT circuit 58. In this case, the value of the operation control register REG is returned to the same default value (initial value) as after power-on, and the value of the VDP register RGij in the VDP circuit 52 is also returned to the default value (initial value), thereby resolving the abnormal state.
図7(b)は、このリセット動作に関連する回路構成であって、本実施例に特徴的なリセット機構を説明する図面である。なお、本明細書において、RGijと表記するVDPレジスタは、CPU回路51に内蔵された動作制御レジスタREGではなく、VDP回路52の内部動作を制御する制御レジスタ群70(図10参照)の何れかを意味する。また、図7(b)に示すシステム制御回路520とは、VDPレジスタRGij(図10の制御レジスタ群70の何れか)への設定値に基づいて機能するVDP回路52の内部制御回路を意味する(図7(a)参照)。なお、VDPレジスタRGijは、演出制御CPU63のアドレスマップにおいて、チップセレクト信号CS7で選択されるアドレス空間CS7に位置付けられる。 Figure 7(b) shows the circuit configuration related to this reset operation and is a diagram explaining the reset mechanism characteristic of this embodiment. Note that in this specification, the VDP register represented as RGij does not refer to the operation control register REG built into the CPU circuit 51, but rather to one of the control register group 70 (see Figure 10) that controls the internal operation of the VDP circuit 52. Also, the system control circuit 520 shown in Figure 7(b) refers to the internal control circuit of the VDP circuit 52 that functions based on the set value of the VDP register RGij (one of the control register group 70 in Figure 10) (see Figure 7(a)). Note that the VDP register RGij is located in address space CS7 selected by the chip select signal CS7 in the address map of the performance control CPU 63.
以上を踏まえてリセット機構について説明すると、図7(b)に示す通り、複合チップ50は、論理反転されたシステムリセット信号SYSバーを受ける3個のORゲートG2~G4を経由して、内部回路がリセット可能に構成されている。但し、本実施例では、破線で示すように、内蔵WDTを有効化しないので、ORゲートG2の入端子と出力端子は、直結状態となる。 With the above in mind, the reset mechanism will be explained. As shown in Figure 7(b), the combined chip 50 is configured so that the internal circuitry can be reset via three OR gates G2 to G4, which receive the logically inverted system reset signal SYS bar. However, in this embodiment, as shown by the dashed line, the built-in WDT is not enabled, so the input and output terminals of OR gate G2 are directly connected.
何れにしても、CPU回路51とVDP回路52の間に、パターンチェック回路CHKが設けられ、パターンチェック回路CHKは、パラレル入出力ポート(PIO)62から、所定のキーワード列(リセット用の暗号列)を受けることを条件に、リセット信号RSTを出力するよう構成されている。 In any case, a pattern check circuit CHK is provided between the CPU circuit 51 and the VDP circuit 52, and the pattern check circuit CHK is configured to output a reset signal RST upon receiving a predetermined keyword string (a reset code string) from the parallel input/output port (PIO) 62.
そして、複合チップ50の内部回路は、(1)CPU回路51と、(2)VDP回路52の表示回路74と、(3)VDP回路52における表示回路以外とに三分されて、各々、ORゲートG2~G4から第1リセット経路~第3リセット経路のリセット信号を受けるよう構成されている。 The internal circuitry of the combined chip 50 is divided into three parts: (1) the CPU circuit 51, (2) the display circuit 74 of the VDP circuit 52, and (3) the VDP circuit 52 other than the display circuit. Each part is configured to receive reset signals from the first to third reset paths via OR gates G2 to G4.
先ず、入出力端子が直結状態のORゲートG2は、第1リセット経路に関連しており、システムリセット信号SYSバーに基づき、CPU回路51の全体をシステムリセットされるように構成されている。また、ORゲートG3は、第2リセット経路に関連しており、システムリセット信号SYSバーと、パターンチェック回路CHKからのリセット信号RSTとを受けて、OR論理に基づき、VDP回路52全体をリセット可能に構成されている。 First, OR gate G2, whose input and output terminals are directly connected, is associated with the first reset path and is configured to reset the entire CPU circuit 51 based on the system reset signal SYS bar. Furthermore, OR gate G3 is associated with the second reset path and is configured to receive the system reset signal SYS bar and the reset signal RST from the pattern check circuit CHK, and to reset the entire VDP circuit 52 based on OR logic.
この第2リセット経路は、電源投入時の電源リセット動作だけでなく、所定の異常を検出した演出制御CPU63が、VDP回路52の全体を異常リセットして初期状態に戻す用途で使用される。具体的には、VDP回路52の内部動作を示す所定のステイタスレジスタRGijに基づき、重大な異常が発生していると判断される場合には、パターンチェック回路CHKからリセット信号RSTを発生させることで、VDP回路52の全体を異常リセットしている。なお、表示回路74は、ORゲートG4を経由して、第2リセット経路→第3リセット経路で異常リセットされる。 This second reset path is used not only for power reset operations when the power is turned on, but also when the performance control CPU 63 detects a specific abnormality and abnormally resets the entire VDP circuit 52 to return it to its initial state. Specifically, if a serious abnormality is determined to have occurred based on a specific status register RGij that indicates the internal operation of the VDP circuit 52, the pattern check circuit CHK generates a reset signal RST, causing the entire VDP circuit 52 to be abnormally reset. The display circuit 74 is also abnormally reset via the second reset path → third reset path via OR gate G4.
一方、VDP回路52に内蔵された内部回路は、第4リセット経路で、必要時に個々的にリセットすることも可能に構成されている。個々的にリセット可能な内部回路には、図8(a)に示すインデックステーブルIDXTBL、データ転送回路72、プリローダ73、表示回路74、描画回路76、SMC回路78、及び、音声回路SNDや、図13に示すICM回路が含まれている。 Meanwhile, the internal circuits built into the VDP circuit 52 are configured so that they can be individually reset when necessary via the fourth reset path. Internal circuits that can be individually reset include the index table IDXTBL, data transfer circuit 72, preloader 73, display circuit 74, drawing circuit 76, SMC circuit 78, and audio circuit SND shown in Figure 8(a), as well as the ICM circuit shown in Figure 13.
個別的なリセット動作を実現する手法は、図7(b)の下部に記載の通りであり、例えば、表示回路74は、所定のVDPレジスタRGij(システムコマンドレジスタ)に、第1リセット値を書き込むことで、第4リセット経路4A→第3リセット経路を経てリセットされる。 The method for achieving individual reset operations is as shown at the bottom of Figure 7(b). For example, the display circuit 74 is reset via the fourth reset path 4A → third reset path by writing the first reset value to a specific VDP register RGij (system command register).
また、VDP回路52の各内部回路(72,73,74,76,SND,・・・)は、(1)第1のVDPレジスタRGij(リセットRQレジスタ)に、対象回路を特定する設定値を書き込んだ後、(2)所定のVDPレジスタRGij(システムコマンドレジスタ)に、第2リセット値を書き込むことで、個々的にリセットされる(第4リセット経路4B)。なお、この実施例では使用しないが、音声回路SNDは、第4リセット経路4Bによるリセットだけでなく、所定のVDPレジスタ(回路設定コマンドレジスタ)に、リセット値を書き込むことでもリセット可能である(第4リセット経路4C)。 Furthermore, each internal circuit (72, 73, 74, 76, SND, ...) of the VDP circuit 52 is individually reset by (1) writing a setting value identifying the target circuit to the first VDP register RGij (reset RQ register), and then (2) writing a second reset value to a specific VDP register RGij (system command register) (fourth reset path 4B). Although not used in this embodiment, the audio circuit SND can also be reset by writing a reset value to a specific VDP register (circuit setting command register) in addition to being reset via the fourth reset path 4B (fourth reset path 4C).
本実施例は、上記の構成を有するので、電源投入時やプログラム暴走時に、VDP回路52全体が自動的に初期状態に戻るだけでなく、必要に応じて、各部を初期状態に戻して異常事態の回復を図ることができる。例えば、一定期間、内蔵VRAM71に対してREAD/WRITE アクセスがない描画回路76のフリーズ時には、第4リセット経路4Bを経由して描画回路76が個別的に初期化される(図22(d)のST16a参照)。プリローダ73やデータ転送回路72についても、ほぼ同様であり、所定の異常時には、第4リセット経路4Bを経由してプリローダ73が初期化され(図29のST27参照)、第4リセット経路4Bを経由してデータ転送回路72が初期化される(図24や図29のST27参照)。 With the above configuration, this embodiment not only automatically returns the entire VDP circuit 52 to its initial state when power is turned on or a program crashes, but also allows individual components to be returned to their initial state as needed to recover from abnormal situations. For example, when the drawing circuit 76 freezes due to a period of no READ/WRITE access to the internal VRAM 71, the drawing circuit 76 is individually initialized via the fourth reset path 4B (see ST16a in Figure 22(d)). The same is true for the preloader 73 and data transfer circuit 72; when a specific abnormality occurs, the preloader 73 is initialized via the fourth reset path 4B (see ST27 in Figure 29), and the data transfer circuit 72 is initialized via the fourth reset path 4B (see ST27 in Figures 24 and 29).
また、表示回路74については、1/60秒毎の表示タイミングに、表示データの生成が間に合わないアンダーラン(Underrun)異常が続くような場合に、第4リセット経路4A又は第4リセット経路4Bを経由して、表示回路74が個別的に初期化される(図22のST10c参照)。なお、これら個別的なリセット動作については、図22以降に記載したプログラム処理に関して更に後述する。 Furthermore, if an underrun error occurs continuously in which the display data is not generated in time for the display timing every 1/60 seconds, the display circuit 74 is individually initialized via the fourth reset path 4A or the fourth reset path 4B (see ST10c in Figure 22). These individual reset operations will be described further below in relation to the program processing described in Figure 22 and subsequent figures.
以上、本実施例に特徴的なリセット機構について説明したが、何れかのリセット経路1~4が機能して、複合チップ50の内部回路がリセットされると、その内部回路に対応するVDPレジスタRGijの設定値は、電源投入後と同じデフォルト値に戻る。 The above describes the reset mechanism characteristic of this embodiment. When any of reset paths 1 to 4 functions and the internal circuit of the composite chip 50 is reset, the setting value of the VDP register RGij corresponding to that internal circuit returns to the same default value as after power-on.
続いて、CPU回路51の内部構成に戻って、特徴的な回路構成の説明を続ける。図9は、CPU回路51の内部構成をやや詳細に示すブロック図である。CPU回路51は、先に説明した内蔵RAM59、DMAC回路60、SIO61、PIO62、WDT以外にも、多くの特徴的な回路を含んで構成されている。 Next, we will return to the internal configuration of the CPU circuit 51 and continue explaining its distinctive circuit configuration. Figure 9 is a block diagram showing the internal configuration of the CPU circuit 51 in some detail. In addition to the internal RAM 59, DMAC circuit 60, SIO 61, PIO 62, and WDT described above, the CPU circuit 51 is also configured to include many other distinctive circuits.
先ず第1に、CPU回路51は、命令用のCPUフェッチバスと、データ用のCPUメモリアクセスバスとを別々に有してハーバード・アーキテクチャを実現している。そのため、CPUコア(演出制御CPU)63が命令をメモリから読むフェッチ動作と、メモリアクセス動作とが競合せず、フェッチ動作を連続させることで高速処理を実現している。 First, the CPU circuit 51 has a separate CPU fetch bus for instructions and a separate CPU memory access bus for data, realizing a Harvard architecture. As a result, there is no contention between the fetch operation by the CPU core (performance control CPU) 63 to read instructions from memory and the memory access operation, and high-speed processing is achieved by allowing the fetch operations to be performed continuously.
また、CPUコア63は、複数個(例えば15個)のレジスタバンクRB0~RB14を有して構成されており、その使用の有無を選択できるよう構成されている。そして、レジスタバンクRBiの使用を許可した動作状態では、割込み処理の開始時に、CPUの内蔵レジスタ(例えば19個)のレジスタ値(各32bit長)が、空き状態のレジスタバンクRBiに自動的に退避される。 The CPU core 63 is also configured with multiple (e.g., 15) register banks RB0-RB14, and is configured so that its use can be selected. When register bank RBi is enabled for use, the register values (each 32 bits long) of the CPU's internal registers (e.g., 19 registers) are automatically saved to an empty register bank RBi at the start of interrupt processing.
また、割込み処理の終了時に所定の復帰命令を実行すると、例えば19個の退避データが、対応する内蔵レジスタに自動的に復帰される。したがって、通常の構成のように、割込み処理の開始時にPUSH命令を19回実行し、割込み処理の終了時にPOP命令を19回実行する手間が不要となり、高速処理が実現される。 Furthermore, when a specified restore command is executed at the end of interrupt processing, for example, 19 pieces of saved data are automatically restored to the corresponding internal registers. This eliminates the need to execute 19 PUSH commands at the start of interrupt processing and 19 POP commands at the end of interrupt processing, as is the case with conventional configurations, thereby achieving high-speed processing.
また、実施例のCPU回路51は、命令キャッシュメモリ67と、オペランドキャッシュメモリ89と、キャッシュコントローラ69とを設けることで、ハーバードキャッシュ動作を実現しており、同一アドレスをアクセスする場合に、キャッシュ済みのデータを活用することでプログラム処理の更なる高速化を図っている。なお、バスブリッジ65と、周辺バス(1) 用のコントローラ、周辺バス(2) 用のコントローラ、及び、周辺バス(3) 用のコントローラとが設けられることで、内部バスと、周辺バス(1) 、周辺バス(2) 、及び周辺バス(3) とを適宜に接続している。 In addition, the CPU circuit 51 of this embodiment is equipped with an instruction cache memory 67, an operand cache memory 89, and a cache controller 69, thereby achieving Harvard cache operation. When accessing the same address, cached data is utilized, further speeding up program processing. Furthermore, the bus bridge 65, a controller for peripheral bus (1), a controller for peripheral bus (2), and a controller for peripheral bus (3) are provided, which appropriately connects the internal bus with peripheral bus (1), peripheral bus (2), and peripheral bus (3).
次に、図9の回路構成において、バスステートコントローラ66は、動作制御レジスタREGへの適宜な設定値に基づいて動作して、CPU回路51に接続された各種メモリデバイスとのメモリREAD動作やメモリWRITE 動作を最適化する部分である。メモリREAD動作やメモリWRITE 動作は、例えば、図40に例示した動作タイミングで実行されるが、アドレスバス(28Bit )から出力されるアドレスデータと、READデータバス(32Bit )に読み出されるREADデータと、WRITE データバス(32Bit )に書き出されるWRITE データと、チップセレクト信号CS0~CS7などの制御信号との動作タイミングが、動作制御レジスタREGへの設定値に基づいて、各メモリデバイスの特性に対応して適宜に規定される。 Next, in the circuit configuration of Figure 9, the bus state controller 66 operates based on appropriate settings in the operation control register REG to optimize memory READ and WRITE operations with various memory devices connected to the CPU circuit 51. Memory READ and WRITE operations are executed, for example, according to the operation timing illustrated in Figure 40, but the operation timing of the address data output from the address bus (28 bits), the READ data read to the READ data bus (32 bits), the WRITE data written to the WRITE data bus (32 bits), and control signals such as chip select signals CS0 to CS7 is appropriately specified in accordance with the characteristics of each memory device based on the settings in the operation control register REG.
READデータバスとWRITE データバスが別々に設けられているので、上記したハーバード・アーキテクチャによる高速動作が実現される。なお、本明細書では、アドレスバス(28Bit )、READデータバス(32Bit )、及び、WRITE データバス(32Bit )について、図9に示す内部バスや、周辺バス(1) ~周辺バス(3) などと区別する意味で、外部バスと総称することがある。 Separate read and write data buses enable the high-speed operation achieved by the Harvard architecture described above. Note that in this specification, the address bus (28 bits), read data bus (32 bits), and write data bus (32 bits) are sometimes collectively referred to as the external bus to distinguish them from the internal bus shown in Figure 9 and peripheral buses (1) through (3).
図10は、チップセレクト信号CS0~CS7によって選択されるアドレス空間CS0~CS7を図示したものであり、バスステートコントローラ66を経由してアクセスされる演出制御CPU63にとってのアドレスマップを図示したものである。先ず、各アドレス空間CS0~CS7は、何れも、最大64Mバイトに(=0x4000000H=67108864)に規定されている。 Figure 10 illustrates the address spaces CS0 to CS7 selected by the chip select signals CS0 to CS7, and illustrates the address map for the performance control CPU 63, which is accessed via the bus state controller 66. First, each address space CS0 to CS7 is defined to have a maximum size of 64 MB (= 0x4000000H = 67108864).
先に説明した通り、アドレス空間CS0~CS7とは、揮発性の有無を含むメモリ種別や、データバス幅(8/16/32ビット)を、各々、規定可能なCPU回路51にとって外部メモリを意味する。そして、本実施例では、図9(b)や図10に示す通り、制御メモリ(PROM)53がアドレス空間CS0、音声プロセッサ27の音声制御レジスタSRGがアドレス空間CS3、時計回路38の内部レジスタやSRAM39がアドレス空間CS4、外付けDRAM(DDR)54がアドレス空間CS5、ワークメモリ57がアドレス空間CS6、VDPレジスタRGijがアドレス空間CS7に位置付けられている。なお、アドレス空間CS1,CS2についての説明は省略する。 As explained above, address spaces CS0 to CS7 represent external memory for the CPU circuit 51, which can specify the memory type (including whether it is volatile) and the data bus width (8/16/32 bits). In this embodiment, as shown in Figures 9(b) and 10, the control memory (PROM) 53 is located in address space CS0, the audio control register SRG of the audio processor 27 is located in address space CS3, the internal registers of the clock circuit 38 and the SRAM 39 are located in address space CS4, the external DRAM (DDR) 54 is located in address space CS5, the work memory 57 is located in address space CS6, and the VDP register RGij is located in address space CS7. Explanation of address spaces CS1 and CS2 will be omitted.
ところで、図10から確認される通り、アドレス空間CS0~CS7は、アドレス値0x00000000~0x1FFFFFFF(キャッシュ有効空間)だけでなく、アドレス値0x20000000~0x3FFFFFFF(キャッシュ無効空間)にも確保されている。これは、アドレスビットA29=1のときには、CPU回路51の内部動作に基づいて、キャッシュ無効とする一方、アドレスビットA29=0のときにキャッシュ有効とすることで、キャッシュ機能の活用を任意選択できるようにしたものである。 As can be seen from Figure 10, address space CS0 to CS7 is reserved not only for address values 0x00000000 to 0x1FFFFFFF (cache-enabled space), but also for address values 0x20000000 to 0x3FFFFFFF (cache-disabled space). This allows for optional selection of cache function utilization by disabling the cache based on the internal operation of the CPU circuit 51 when address bit A29 = 1, and enabling the cache when address bit A29 = 0.
そのため、本実施例では、全32bitのアドレス情報(ビットA31~A0)のうち、ビットA29の値が1又は0の何れであっても、残り31bit(ビットA31~A30とビットA28~A0)の値が同じであれば、同一のメモリの同一番地を指示することになる。例えば、0x18000000番地をREADアクセスしても、0x38000000番地をREADアクセスしても,ワークメモリ57のゼロ番地から同一データが読み出されることになる。なお、0x18000000番地をREADアクセスした場合には、読み出したデータがキャッシュに保存されるが、図9(b)は、キャッシュ有効/無効のアクセス動作を図示している。 For this reason, in this embodiment, of the 32-bit address information (bits A31 to A0), even if bit A29 is 1 or 0, as long as the values of the remaining 31 bits (bits A31 to A30 and bits A28 to A0) are the same, they will point to the same address in the same memory. For example, whether address 0x18000000 is accessed for READ or address 0x38000000, the same data will be read from address zero of work memory 57. Note that when address 0x18000000 is accessed for READ, the read data is saved in the cache; Figure 9(b) illustrates the access operation with the cache enabled/disabled.
もっとも、所定の動作制御レジスタREGへの設定値に基づいて、命令キャッシュ及び/又はオペランドキャッシュについて、キャッシュ動作を無効化することもできる。但し、本実施例では、電源投入後、命令キャッシュ及びオペランドキャッシュについて、キャッシュ動作を有効化した上で、必要に応じて、キャッシュ無効空間をアクセスすることで、キャッシュ動作を無効化している。 However, it is also possible to disable cache operation for the instruction cache and/or operand cache based on the setting value of a specified operation control register REG. However, in this embodiment, after power-on, cache operation is enabled for the instruction cache and operand cache, and then cache operation is disabled as necessary by accessing the cache-disabled space.
図10のメモリマップについて説明を続けると、0x40000000番地以降は、バスステートコントローラ66が機能しない内部メモリ空間であって、0xF0000000番地~0xFF3FFFFF番地は、キャッシュのアドレスアレイ空間に割り当てられている。また、0xFF400000番地~0xFFF7FFFF番地と、0xFFFC0000番地~0xFFFFFFFF番地は、内蔵周辺モジュールに割り当てられ、具体的には、CPU回路の動作制御レジスタREGに割り当てられている。なお、内蔵RAM59のアドレス範囲は、0xFFF80000~0xFFFBFFFFである。 Continuing with the explanation of the memory map in Figure 10, addresses 0x40000000 and above are internal memory space where the bus state controller 66 does not function, and addresses 0xF0000000 to 0xFF3FFFFF are allocated to the cache address array space. Addresses 0xFF400000 to 0xFFF7FFFF and 0xFFFC0000 to 0xFFFFFFFF are allocated to built-in peripheral modules, specifically the operation control register REG of the CPU circuit. The address range of the built-in RAM 59 is 0xFFF80000 to 0xFFFBFFFF.
CPU回路51の内部構成について説明を続けると、コンペアマッチタイマCMTと、マルチファンクションタイマユニットMTUは、CPU回路51に供給される外部信号をカウントしたり、或いは、内部クロックを逓倍又は分周した計数クロックをカウントして、カウント結果が所定値に達すると、割込み信号などを発生する回路である。特に限定されないが、本実施例では、マルチファンクションタイマユニットMTUを活用して、1mS割込み信号と、20μS割込み信号を発生させている。また、マルチファンクションタイマユニットMTUを活用して、CPUリセット後の経過時間を計測する計時タイマTMを実現している。 Continuing with the explanation of the internal configuration of the CPU circuit 51, the compare match timer CMT and multifunction timer unit MTU are circuits that count external signals supplied to the CPU circuit 51 or count a count clock that is a multiplied or divided internal clock, and generate an interrupt signal or the like when the count result reaches a predetermined value. Although not limited to this, in this embodiment, the multifunction timer unit MTU is used to generate a 1 ms interrupt signal and a 20 μS interrupt signal. The multifunction timer unit MTU is also used to implement a clock timer TM that measures the elapsed time after the CPU is reset.
次に、割込みコントローラINTCは、VDP回路52やDMAC回路60やマルチファンクションタイマユニットMTUなどからの内部割込みと、IRQ_CMD 、IRQ_SND 、IRQ_RCT などの外部割込みを受けて、予め規定されている優先順位に基づいて、割込み処理(割込みハンドラ)を起動させる回路である。ここで、IRQ_CMD は、制御コマンドCMDを受信すべきコマンド受信割込み信号、IRQ_SND は、音声プロセッサ27が初期化シーケンスを終えたことを示す終了割込み信号、IRQ_RCT は、アラーム割込み信号である。 Next, the interrupt controller INTC is a circuit that receives internal interrupts from the VDP circuit 52, DMAC circuit 60, multifunction timer unit MTU, etc., as well as external interrupts such as IRQ_CMD, IRQ_SND, and IRQ_RCT, and activates interrupt processing (interrupt handlers) based on predefined priorities. Here, IRQ_CMD is a command reception interrupt signal that should receive the control command CMD, IRQ_SND is an end interrupt signal indicating that the audio processor 27 has completed the initialization sequence, and IRQ_RCT is an alarm interrupt signal.
そして、本実施例では、割込み優先度は、コマンド受信割込みIRQ_CMD が最高レベルであり、以下、20μS割込み→1mS割込み→VDP回路からの割込み(IRQ0,IRQ1,IRQ2,IRQ3)→DMAC割込み→IRQ_SND →IRQ_RCT の順になっている(図18(d)参照)。なお、これらは何れも、マスク可能な割込みであり、マスク不能な割込みNMIは、先に説明した通り、発振器OSC2からリファレンスクロックが出力されていない場合に演出制御CPU63に出力される。 In this embodiment, the command receive interrupt IRQ_CMD has the highest interrupt priority, followed by the 20 μS interrupt → 1 ms interrupt → interrupts from the VDP circuit (IRQ0, IRQ1, IRQ2, IRQ3) → DMAC interrupt → IRQ_SND → IRQ_RCT (see Figure 18 (d)). Note that all of these are maskable interrupts, and the non-maskable interrupt NMI is output to the performance control CPU 63 when the reference clock is not being output from the oscillator OSC2, as explained above.
そして、何れの割込み処理でも、CPUの複数の内蔵レジスタのレジスタ値(各32bit長)は、空き状態の何れかのレジスタバンクRBiに、自動的に退避される。そして、割込み処理の最後に所定の復帰命令を実行すると、退避データが、対応する内蔵レジスタに自動的に復帰される。 In any interrupt processing, the register values (each 32 bits long) of the CPU's multiple internal registers are automatically saved to one of the free register banks RBi. Then, when a specified restore command is executed at the end of the interrupt processing, the saved data is automatically restored to the corresponding internal register.
続いて、DMAC回路60について説明する。実施例のDMAC回路60は、所定の動作制御レジスタREGへの設定値に基づいて、転送元(Source)から転送先(Destination )に対して、所定のDMA転送モードで、所定のデータ転送単位毎に、所定回数、データ転送を繰り返す回路である。なお、同一の内部構成を有する複数チャネルのDMAC0~DMACnが用意されており、並列的に動作可能となっている。但し、優先度が決まっており(チャネル0>・・・>チャネルn)、チャネル調停動作モードの並列動作時には、所定タイミングでのチャネル調停によって優先度の高いDMACiの動作が優先される。 Next, we will explain the DMAC circuit 60. The DMAC circuit 60 of this embodiment is a circuit that repeats data transfers from a transfer source (Source) to a transfer destination (Destination) in a specified DMA transfer mode for a specified number of times for each specified data transfer unit, based on the setting value of a specified operation control register REG. Multiple channels DMAC0 to DMACn with the same internal configuration are provided, and can operate in parallel. However, priorities are set (Channel 0 > ... > Channel n), and during parallel operation in channel arbitration operation mode, the operation of the DMACi with the highest priority is prioritized through channel arbitration at a specified timing.
DMAC回路60の活用としては、例えば、シリアル出力ポートSOが機能する実施例(図10(a)破線部参照)では、CPU回路51の動作制御レジスタREGには、ランプ/モータ駆動テーブルの先頭アドレス(転送元アドレスの先頭値)と、シリアル出力ポートSOの入力レジスタのアドレス(転送先アドレスの固定値)と、データ転送単位(8bit)と、転送回数と、が指定される。そして、所定の動作制御レジスタREGに動作開始指示を受けたDMAC回路60は、転送元アドレスを更新しつつ、所定の転送先アドレスに駆動データをDMA転送する。そして、全てのDMA転送が終われば、DMAC割込み(動作終了割込み)が生じるよう構成されている。 As an example of how the DMAC circuit 60 is utilized, in an embodiment where the serial output port SO is functional (see the dashed line in Figure 10(a)), the operation control register REG of the CPU circuit 51 is specified with the starting address of the lamp/motor drive table (starting value of the source address), the address of the input register of the serial output port SO (fixed value of the destination address), the data transfer unit (8 bits), and the number of transfers. When a specific operation control register REG receives an instruction to start operation, the DMAC circuit 60 updates the source address while DMA transferring the drive data to the specific destination address. Once all DMA transfers have been completed, a DMAC interrupt (operation end interrupt) is generated.
この点は、ディスプレイリストDLをDMAC回路60が発行する実施例(図25、図29(c))の場合もほぼ同様である。すなわち、演出制御CPU63は、CPU回路51の所定の動作制御レジスタREGに、転送元(DLバッファBUF)の先頭アドレスと、転送先(転送ポートTR_PORT )のアドレスと、DMA転送モードと、データ転送単位と、転送回数、その他の条件を設定することになる。なお、これらの点は、図25に関して更に後述する。 This point is almost the same in the case of the embodiment (Figures 25 and 29(c)) in which the display list DL is issued by the DMAC circuit 60. That is, the performance control CPU 63 sets the starting address of the transfer source (DL buffer BUF), the address of the transfer destination (transfer port TR_PORT), the DMA transfer mode, the data transfer unit, the number of transfers, and other conditions in a predetermined operation control register REG of the CPU circuit 51. These points will be discussed further below in relation to Figure 25.
ところで、一般に、DMA転送モードには、DMA転送の単位動作(R動作/W動作)の途中でバス制御権を開放するなど、DMA動作がメモリバスを占有しないサイクルスチール転送モードと、複数のR動作やW動作を連続させるなど、指定された転送回数が完了するまでバス制御権を解放しないバースト転送(パイプライン転送)モードと、他のデバイスから受けるDMA転送要求(デマンド)がアクティブの間はDMA動作を継続するデマンド転送モードなどが考えられる。しかし、本実施例のDMAC回路60は、DMA転送時のリードアクセス起動(R動作)とライトアクセス起動(W動作)の間に、少なくとも1サイクルのメモリ開放期間を設けたサイクルスチール転送モードで機能することで、演出制御CPU63の動作に支障が出ないようにしている。 Generally, DMA transfer modes include cycle steal transfer mode, in which DMA operations do not occupy the memory bus, such as by releasing bus control during a unit DMA transfer operation (R operation/W operation); burst transfer (pipeline transfer) mode, in which bus control is not released until a specified number of transfers are completed, such as by performing multiple R or W operations in succession; and demand transfer mode, in which DMA operations continue as long as a DMA transfer request (demand) from another device is active. However, the DMAC circuit 60 of this embodiment functions in cycle steal transfer mode, which provides a memory release period of at least one cycle between read access activation (R operation) and write access activation (W operation) during DMA transfer, thereby preventing any interference with the operation of the performance control CPU 63.
図11は、サイクルスチール転送動作(a1)と、パイプライン転送(a2)とを説明する図面である。図11(a1)に示す通り、サイクルスチール転送モードで機能するDMAC回路60は、1データ転送のリードアクセス起動(R)とライトアクセス起動(W)の間に、少なくとも1サイクル空けて動作しており、この空いたサイクルでは、演出制御CPU63のバス使用が可能となる。図11(a1)と図11(a2)の対比関係から明らかなように、パイプライン転送では、一サイクル(一オペランド転送)が終わるまでは、バスがCPUに開放されないのに対して、サイクルスチール転送モードでは、リードアクセス毎に、バスがCPUに開放されるので、CPUの動作が大きく遅れることがない。 Figure 11 is a diagram explaining cycle steal transfer operation (a1) and pipeline transfer (a2). As shown in Figure 11 (a1), the DMAC circuit 60 functioning in cycle steal transfer mode operates with at least one cycle between the read access activation (R) and write access activation (W) of one data transfer, and this empty cycle allows the performance control CPU 63 to use the bus. As is clear from the comparison between Figure 11 (a1) and Figure 11 (a2), in pipeline transfer the bus is not released to the CPU until one cycle (one operand transfer) is completed, whereas in cycle steal transfer mode the bus is released to the CPU after each read access, so CPU operation is not significantly delayed.
そして、例えば、ディスプレイリストDLのVDP回路52への発行時に、DMAC回路60を使用する実施態様では、一サイクルのデータ転送単位(1オペランド)を、32×2bitに設定し、ディスプレイリストDLが格納されている内蔵RAM59のソースアドレスを適宜に増加しつつ(1オペランド転送毎に+8)、固定アドレスで特定されるデータ転送回路72の転送ポートレジスタTR_PORT (図13参照)に対して、DMA転送動作を実行している。 For example, in an embodiment in which the DMAC circuit 60 is used when issuing a display list DL to the VDP circuit 52, the data transfer unit (1 operand) for one cycle is set to 32 x 2 bits, and the source address of the internal RAM 59 in which the display list DL is stored is incremented appropriately (+8 for each operand transfer), and a DMA transfer operation is performed on the transfer port register TR_PORT (see Figure 13) of the data transfer circuit 72, which is specified by a fixed address.
後述するように、実施例では、ディスプレイリストDLに、必要個数のNOP (no operation)コマンドを付加することで、全体のデータサイズを、固定値(例えば、4×64=256バイト、又はその整数倍)に調整しており、32bit×2回の一オペランド転送を32回(又はその整数倍)繰り返すことで、ディスプレイリストDLの発行を完了させている。なお、描画回路76がNOP コマンドを実行しても、no operation状態であって、事実上、何の変化も生じない。 As will be described later, in this embodiment, the required number of NOP (no operation) commands are added to the display list DL to adjust the overall data size to a fixed value (for example, 4 x 64 = 256 bytes, or an integer multiple thereof), and the issuance of the display list DL is completed by repeating 32-bit x 2 single operand transfers 32 times (or an integer multiple thereof). Note that even if the drawing circuit 76 executes a NOP command, it is in a no operation state, and in fact, no change occurs.
また、DMA転送条件に関して動作モードを分類すると、一般に、単一オペランド転送(図11(b1)参照)と、連続オペランド転送(図11(b2)参照)と、ノンストップ転送(図11(b3)参照)とが考えられる。 Furthermore, when classifying operating modes based on DMA transfer conditions, they can generally be considered as single operand transfer (see Figure 11 (b1)), consecutive operand transfer (see Figure 11 (b2)), and non-stop transfer (see Figure 11 (b3)).
ここで、単一オペランド転送とは、図11(b1)に示すように、DMA転送要求が与えられるたびに、1オペランドの転送を繰り返し、転送バイト数をカウントするバイトカウントがゼロになった時点で、DMA割込み要求が生じる動作モードを意味する。次に、連続オペランド転送とは、図11(b2)に示すように、1回のDMA要求で、バイトカウントがゼロになるまでDMA転送を繰り返す動作モードを意味する。 Here, single operand transfer refers to an operating mode in which, as shown in Figure 11 (b1), one operand is repeatedly transferred each time a DMA transfer request is issued, and a DMA interrupt request is generated when the byte count, which counts the number of transferred bytes, reaches zero. Next, continuous operand transfer refers to an operating mode in which, as shown in Figure 11 (b2), DMA transfer is repeated with one DMA request until the byte count reaches zero.
これら、連続オペランド転送(b2)や単一オペランド転送(b1)では、1オペランド転送が終了するごとにチャネル調停が行われ、優先順位の高いチャネルのDMA要求がないことを条件に、現在のチャネルの転送が継続される(チャネル調停動作モード)。そこで、本実施例では、ディスプレイリストDLのVDP回路への発行や、ランプ駆動データやモータ駆動データのDMA転送は、単一オペランド転送方式を採っている。そして、並列動作時には、例えば、モータデータ>ディスプレイリストDL>ランプデータの優先度のチャネル調停となるよう、最適チャネルのDMACiを使用している。 In these continuous operand transfers (b2) and single operand transfers (b1), channel arbitration is performed each time one operand transfer is completed, and the current channel continues to transfer if there is no DMA request from a channel with a higher priority (channel arbitration operation mode). Therefore, in this embodiment, the single operand transfer method is used for issuing the display list DL to the VDP circuit and for DMA transfers of lamp drive data and motor drive data. Then, during parallel operation, the DMACi of the optimal channel is used to arbitrate channels with the priority of motor data > display list DL > lamp data, for example.
一方、ノンストップ転送とは、チャネル調停が実行されない動作モードであって、図11(b3)に記載の通り、1回のDMA要求で、バイトカウントがゼロになるまで連続的にDMA転送が繰り返される。本実施例では、電源投入時のメモリセクション初期化処理(図16のSP8)では、ノンストップ転送でプログラムやデータをDMA転送している。 On the other hand, non-stop transfer is an operating mode in which channel arbitration is not performed, and as shown in Figure 11 (b3), DMA transfer is continuously repeated in response to a single DMA request until the byte count reaches zero. In this embodiment, programs and data are DMA transferred using non-stop transfer during the memory section initialization process (SP8 in Figure 16) when the power is turned on.
以上、CPU回路51について説明したので、次に、VDP回路52について説明すると、VDP回路52には、画像演出を構成する静止画や動画の構成要素となる圧縮データを記憶するCGROM55と、4Gbit程度の記憶容量を有する外付けDRAM(Dynamic Random Access Memory)54と、メイン表示装置DS1と、サブ表示装置DS2とが接続されている。なお、DRAM54は、好適にはDDR3(Double-Data-Rate3 SDRAM )で構成される。 Now that we've explained the CPU circuit 51, we'll move on to the VDP circuit 52. Connected to the VDP circuit 52 are a CGROM 55 that stores compressed data that constitutes the still and moving images that make up the image presentation, an external DRAM (Dynamic Random Access Memory) 54 with a storage capacity of approximately 4 Gbit, the main display device DS1, and the sub-display device DS2. The DRAM 54 is preferably configured as DDR3 (Double-Data-Rate 3 SDRAM).
ここで、DRAM54が、発振器OSC2の発振出力(40MHz)に基づいて生成されたDDRクロックを受けることは、図14(b)に示す通りである。また、実施例のDRAM54は、リフレッシュカウンタ(Refresh Counter )を内蔵しており、初期設定時(図16のSP4)に、自己リフレッシュ機能(Self-Refresh Operation)が有効化されるので、演出制御CPU63によるリフレッシュ制御動作は不要である。 As shown in Figure 14(b), DRAM 54 receives a DDR clock generated based on the oscillation output (40 MHz) of oscillator OSC2. Furthermore, the DRAM 54 of this embodiment has a built-in refresh counter, and the self-refresh function is enabled during initial setup (SP4 in Figure 16), eliminating the need for refresh control operations by the performance control CPU 63.
特に限定するものではないが、この実施例では、CGROM55は、62Gbit程度の記憶容量のNAND型フラッシュメモリで構成されたフラッシュSSD(solid state drive )で構成されており、シリアル伝送によって必要な圧縮データを取得するよう構成されている。そのため、パラレル伝送において不可避的に生じるスキュー(ビットデータ毎の伝送速度の差)の問題が解消され、極限的な高速伝送動作が可能となる。特に限定されないが、本実施例では、SerialATAに準拠したHSS(High Speed Serial )方式で、CGROM55を高速アクセスしている。 In this embodiment, although not particularly limited, the CGROM 55 is configured as a flash SSD (solid state drive) made up of NAND flash memory with a storage capacity of approximately 62 Gbit, and is configured to obtain the required compressed data via serial transmission. This eliminates the problem of skew (differences in transmission speed for each bit of data) that inevitably occurs in parallel transmission, enabling extremely high-speed transmission operations. In this embodiment, although not particularly limited, the CGROM 55 is accessed at high speed using an HSS (High Speed Serial) method that complies with Serial ATA.
なお、SerialATAに準拠したHSS方式を採るか否かに拘らず、NAND型のフラッシュメモリは、ハードディスクより機械的に安定であり、且つ高速アクセスが可能である一方で、シーケンシャルアクセスメモリであるため、DRAMやSRAM(Static Random Access Memory )に比較すると、ランダムアクセス性に問題がある。そこで、本実施例では、一群の圧縮データ(CGデータ)を、描画動作に先行してDRAM54に読み出しておくプリロード動作を実行することで、描画動作時におけるCGデータの円滑なランダムアクセスを実現している。ちなみに、アクセス速度は、内蔵VRAM>外付けDRAM>CGROMの順番に遅くなる。 Whether or not it uses the Serial ATA-compliant HSS method, NAND-type flash memory is more mechanically stable than a hard disk and allows for high-speed access. However, because it is sequential access memory, it has problems with random access compared to DRAM or SRAM (Static Random Access Memory). Therefore, in this embodiment, a preload operation is performed in which a group of compressed data (CG data) is read into DRAM 54 prior to the drawing operation, thereby achieving smooth random access of CG data during the drawing operation. Incidentally, access speeds slow in the following order: built-in VRAM > external DRAM > CG ROM.
VDP回路52は、詳細には、VDP(Video Display Processor )の動作を規定する各種の動作パラメータが演出制御CPU63によって設定可能な制御レジスタ群70と、表示装置DS1,DS2に表示すべき画像データの生成時に使用される48Mバイト程度の内蔵VRAM(video RAM )71と、チップ内部の各部間のデータ送受信及びチップ外部とのデータ送受信を実行するデータ転送回路72と、内蔵VRAM71に関して、SourceやDestination のアドレス情報を特定可能なインデックステーブルIDXTBLと、描画動作に先行してCGROM55をREADアクセスするプリロード動作が実行可能なプリローダ73と、CGROM55から読み出した圧縮データをデコード(復号伸長/展開)するグラフィックスデコーダ(GDEC)75と、デコード(展開)後の静止画データや動画データを適宜に組み合わせて表示装置DS1,DS2の各一フレーム分の画像データを生成する描画回路76と、描画回路76の動作の一部として、適宜な座標変換によって立体画像を生成するジオメトリエンジン77と、描画回路76が生成したフレームバッファFBa,FBbの画像データを読み出して、適宜な画像処理を並列的に実行可能な3系統(A/B/C)の表示回路74A~74Cと、3系統(A/B/C)の表示回路74の出力を適宜に選択出力する出力選択部79と、出力選択部79が出力する画像データをLVDS信号に変換するLVDS部80と、シリアルデータ送受信可能なSMC回路78と、CPUIF回路56とのデータ送受信を中継するCPUIF部81と、CGROM55からのデータ受信を中継するCGバスIF部82と、外付けDRAM54とのデータ送受信を中継するDRAMIF部83と、内蔵VRAM71とのデータ送受信を中継するVRAMIF部84と、を有して構成されている(図8(a)参照)。なお、音声回路SNDも内蔵されている。 The VDP circuit 52, in detail, comprises a control register group 70 in which various operating parameters that define the operation of the VDP (Video Display Processor) can be set by the performance control CPU 63; an internal VRAM (video RAM) 71 of approximately 48 MB that is used when generating image data to be displayed on the display devices DS1 and DS2; a data transfer circuit 72 that transmits and receives data between various parts within the chip and with the outside of the chip; and a source and destination bus for the internal VRAM 71. a preloader 73 capable of executing a preload operation for accessing the CGROM 55 for reading prior to a drawing operation; a graphics decoder (GDEC) 75 for decoding (decoding and expanding/expanding) compressed data read from the CGROM 55; a drawing circuit 76 for generating one frame of image data for each of the display devices DS1 and DS2 by appropriately combining the decoded (expanded) still image data and moving image data; a geometry engine 77 for generating a three-dimensional image by appropriate coordinate conversion as part of the operation of the drawing circuit 76; The device is configured with three display circuits (A/B/C) 74A-74C capable of executing appropriate image processing in parallel, an output selection unit 79 that appropriately selects and outputs the output of the three display circuits 74 (A/B/C), an LVDS unit 80 that converts the image data output by the output selection unit 79 into an LVDS signal, an SMC circuit 78 that can send and receive serial data, a CPU IF unit 81 that relays data transmission and reception with the CPU IF circuit 56, a CG bus IF unit 82 that relays data reception from the CGROM 55, a DRAM IF unit 83 that relays data transmission and reception with the external DRAM 54, and a VRAM IF unit 84 that relays data transmission and reception with the built-in VRAM 71 (see Figure 8(a)). An audio circuit SND is also built in.
図8(b)には、CPUIF部81、CGバスIF部82、DRAMIF部83、及び、VRAMIF部84と、制御レジスタ群70、CGROM55、DRAM54、及び内蔵VRAM71との関係が図示されている。図示の通り、CGROM55から取得したCGデータは、例えば、プリロードデータとして、データ転送回路72及びDRAMIF部83を経由して、外付けDRAM54のプリロード領域に転送される。 Figure 8(b) illustrates the relationship between the CPUIF unit 81, CG bus IF unit 82, DRAMIF unit 83, and VRAMIF unit 84 and the control register group 70, CGROM 55, DRAM 54, and built-in VRAM 71. As shown, CG data acquired from CGROM 55 is transferred, for example, as preload data to the preload area of the external DRAM 54 via the data transfer circuit 72 and DRAMIF unit 83.
但し、上記したプリロード動作は、何ら必須動作ではなく、また、データ転送先も、外付けDRAM54に限定されず、内蔵VRAM71であっても良い。したがって、例えば、プリロード動作を実行しない実施例では、CGデータは、データ転送回路72及びVRAMIF部84を経由して、内蔵VRAM71に転送される(図8(b))。 However, the above-described preload operation is not a required operation, and the data transfer destination is not limited to the external DRAM 54, but can also be the built-in VRAM 71. Therefore, for example, in an embodiment in which the preload operation is not performed, the CG data is transferred to the built-in VRAM 71 via the data transfer circuit 72 and VRAM IF unit 84 (Figure 8(b)).
ところで、本実施例では、内蔵VRAM71には、CGROM55から読み出した圧縮データの展開領域、表示装置のW×H個の表示ピクセルの各ARGB情報(32bit=8×4)を特定する画像データを格納するフレームバッファ領域、及び、各表示ピクセルの深度情報を記憶するZバッファ領域などが必要となる。なお、ARGB情報において、Aは、8bitのαプレーンデータ、RGBは三原色の8bitデータを意味する。 In this embodiment, the built-in VRAM 71 requires a decompression area for compressed data read from the CGROM 55, a frame buffer area for storing image data specifying the ARGB information (32 bits = 8 x 4) for each of the W x H display pixels of the display device, and a Z buffer area for storing depth information for each display pixel. In the ARGB information, A represents 8-bit alpha plane data, and RGB represents 8-bit data for the three primary colors.
ここで、内蔵VRAM71の上記した各領域は、演出制御CPU63がディスプレイリストDLに記載した各種の指示コマンド(前記したテクスチャやSPRITEなど)に基づいて間接的にアクセスされるが、そのREAD/WRITEアクセスにおいて、一々、内蔵VRAM71のDestination アドレスや、Sourceアドレスを特定するのでは煩雑である。そこで、本実施例では、CPUリセット後の初期処理において、描画動作で必要となる一次元または二次元の論理アドレス空間(以下、インデックス空間という)を確保して、各インデックス空間にインデックス番号を付与することで、インデックス番号に基づくアクセスを可能にしている。 The above-mentioned areas of the built-in VRAM 71 are indirectly accessed by the performance control CPU 63 based on the various instruction commands (such as the textures and sprites mentioned above) written in the display list DL, but it would be cumbersome to specify the destination address and source address of the built-in VRAM 71 for each READ/WRITE access. Therefore, in this embodiment, during the initial processing after a CPU reset, one-dimensional or two-dimensional logical address spaces (hereinafter referred to as index spaces) required for drawing operations are secured, and an index number is assigned to each index space, making it possible to access them based on the index number.
具体的には、CPUリセット後、内蔵VRAM71を3種類のメモリ領域に大別すると共に、各メモリ領域に、必要数のインデックス空間を確保している。そして、インデックス空間とインデックス番号とを紐付けて記憶するインデックステーブルIDXTBL(図12(a)参照)を構築することで、その後のインデックス番号に基づく動作を実現している。 Specifically, after the CPU is reset, the internal VRAM 71 is roughly divided into three types of memory areas, and the required number of index spaces are reserved in each memory area. Then, by constructing an index table IDXTBL (see Figure 12(a)) that associates and stores index spaces with index numbers, subsequent operations based on the index numbers are realized.
このインデックス空間は、(1) 初期処理後に追加することや、逆に、(2) 開放することも必要となる。そこで、これら追加/開放の演出制御CPU63の動作時に、追加/開放の処理が可能なタイミングか否か、また、追加/開放などの処理が実際に完了したか否か、などを判定可能なフラグ領域FGをインデックステーブルIDXTBLに設けている。なお、内蔵VRAM71は、以下に説明する2つのAAC領域(a1,a2) と、ページ領域(b) と、任意領域(c) の三種類のメモリ領域に大別され、この三種類のメモリ領域(a1,a2)(b)(c) に対応して、インデックステーブルIDXTBLが3区分されている(図12(a))。図示の通り、この実施例では、AAC領域(a) として、第一AAC領域(a1)と第二AAC領域(a2)が確保されているが、特に限定されるものではなく、何れか一方だけでも良い。なお、以下の説明では、第一と第二のAAC領域(a1,a2) を総称する場合には、AAC領域(a) と称する場合がある。 This index space may need to be (1) added after initial processing, or (2) released. Therefore, a flag area FG is provided in the index table IDXTBL to determine whether the timing for the addition/release process is possible and whether the process has actually been completed when the performance control CPU 63 is operating. The built-in VRAM 71 is broadly divided into three types of memory areas: two AAC areas (a1, a2), a page area (b), and an optional area (c), as described below. The index table IDXTBL is divided into three sections corresponding to these three types of memory areas (a1, a2), (b), and (c) (Figure 12(a)). As shown in the figure, in this embodiment, a first AAC area (a1) and a second AAC area (a2) are secured as the AAC area (a), but this is not particularly limited, and either one may be used. In the following description, the first and second AAC regions (a1, a2) may be collectively referred to as AAC region (a).
本実施例の場合、内蔵VRAM71は、(a) インデックス空間とそのインデックス番号が内部処理によって自動付与され、且つメモリキャッシュ機能を有するAAC領域と、(b) 例えば4096bit×128ラインの二次元空間を単位空間として、その整数倍の範囲でインデックス空間が確保可能なページ領域と、(c) 先頭アドレス(空間先頭アドレス)STxと水平サイズHxが任意に設定できる任意領域と、に区分可能に構成されている(図12(b)参照)。但し、VDP回路52の内部動作を円滑化するため、任意領域(c) において任意設定されるインデックス空間の空間先頭アドレスSTxは、その下位11bitが0であって、所定ビット(2048bit=256バイト)単位とする必要がある。 In this embodiment, the built-in VRAM 71 is configured to be divisible into (a) an AAC area, which has a memory cache function and to which the index space and its index number are automatically assigned by internal processing; (b) a page area, in which the index space can be secured within a range of integer multiples of a two-dimensional unit space of, for example, 4096 bits x 128 lines; and (c) an arbitrary area, in which the start address (space start address) STx and horizontal size Hx can be set arbitrarily (see Figure 12(b)). However, to facilitate the internal operation of the VDP circuit 52, the space start address STx of the index space, which is arbitrarily set in the arbitrary area (c), must have the lowest 11 bits set to 0 and be in units of a specified number of bits (2048 bits = 256 bytes).
そして、CPUリセット後、各々に必要なアドレス空間の最大値と、領域先頭アドレス(下位11bit=0)を規定して、AAC領域(a1)と、第二AAC領域(a2)と、ページ領域(b) とが確保され、その残りのメモリ領域が任意領域(c) となる。VDP回路52の内部動作を円滑化するため、AAC領域のアドレス空間の最大値は、2048bit単位で規定され、ページ領域のアドレス空間の最大値は、上記した4096bit×128ラインの単位空間の整数倍とされる。 After the CPU is reset, the maximum address space required for each area and the area start address (lower 11 bits = 0) are specified, and the AAC area (a1), second AAC area (a2), and page area (b) are secured, with the remaining memory area becoming the optional area (c). To facilitate the internal operation of the VDP circuit 52, the maximum address space for the AAC area is specified in units of 2048 bits, and the maximum address space for the page area is an integer multiple of the unit space of 4096 bits x 128 lines mentioned above.
次に、このように確保された各領域(a1,a2)(b)(c) に必要個数のインデックス空間が設定される。なお、任意領域(c) を使用する場合、VDP回路52の内部動作を円滑化するため、二次元データを扱うインデックス空間の水平サイズHxは、256bitの倍数として、任意に設定可能である一方、その垂直サイズは固定値(例えば、2048ライン)となっている。 Next, the required number of index spaces are set in each of the areas (a1, a2), (b), and (c) thus secured. When using the optional area (c), in order to facilitate the internal operation of the VDP circuit 52, the horizontal size Hx of the index space that handles two-dimensional data can be set arbitrarily as a multiple of 256 bits, while its vertical size is a fixed value (for example, 2048 lines).
何れにしても、第一と第二のAAC領域(a1,a2) は、VDP回路52によって、インデックス空間とインデックス番号が自動的に付与されるので、例えば、テクスチャ設定系コマンドのSETINDEXコマンドによって、デコード先をAAC領域(a) に指定すれば、CGROM55からCGデータを読み出すTXLOAD(テクスチャロード)コマンドでは、CGROM55のSourceアドレスと、展開(デコード)後の水平・垂直サイズなどを指定するだけで足りることになる。そこで、本実施例では、予告演出時などに一時的に出現するキャラクタなどの静止画(テクスチャ)や、Iストリーム動画については、そのデコード先をAAC領域(a) にしている。 In any case, the first and second AAC areas (a1, a2) are automatically assigned index spaces and index numbers by the VDP circuit 52. Therefore, if the decoding destination is specified as AAC area (a) using the SETINDEX command, a texture setting command, for example, then the TXLOAD (texture load) command that reads CG data from CGROM 55 only needs to specify the source address of CGROM 55 and the horizontal and vertical size after expansion (decoding). Therefore, in this embodiment, the decoding destination for still images (textures) such as characters that appear temporarily during previews, and for I-stream video, is AAC area (a).
このAAC領域(a) は、いずれも、メモリキャッシュ機能が付与されているので、例えば、CGROM55の同一のテクスチャを複数回、AAC領域(a) に読み出すような場合には、二度目以降は、AAC領域(a) にキャッシュされているデコードデータが活用可能となり、余分なREADアクセスとデコード処理が抑制可能となる。もっとも、AAC領域(a) を使い切った場合には、古いデータが自動的に破壊されるので、本実施例では、AAC領域(a) を使用する場合、原則として第一AAC領域(a1)を使用することとし、繰り返し使用する特定のテクスチャだけを第二AAC領域(a2)に取得するようにしている。 All of these AAC areas (a) are equipped with a memory cache function. For example, if the same texture from CGROM 55 is read into AAC area (a) multiple times, the decoded data cached in AAC area (a) can be used from the second time onwards, reducing unnecessary read accesses and decoding processes. However, since old data is automatically destroyed when AAC area (a) is used up, in this embodiment, when using AAC area (a), the first AAC area (a1) is used as a general rule, and only specific textures that are used repeatedly are stored in the second AAC area (a2).
繰り返し使用するテクスチャとして、例えば、所定の予告演出時に繰り返し出現するキャラクタや、背景画面を静止画で構築する場合の背景画などを例示することができる。このような場合、テクスチャ設定系コマンドのSETINDEXコマンドによって、デコード先を第二AAC領域(a2)に設定し、TXLOADコマンドによって、キャラクタや背景画などのテクスチャを第二AAC領域(a2)にデコードした後は、第二AAC領域(a2)を使用しないことで、デコード結果を保護する。 Examples of textures that are used repeatedly include characters that appear repeatedly during a specific preview performance, or background images when the background screen is constructed with still images. In such cases, the SETINDEX texture setting command is used to set the decoding destination to the second AAC area (a2), and after the TXLOAD command is used to decode the texture of the characters, background images, etc. into the second AAC area (a2), the second AAC area (a2) is not used, thereby protecting the decoded results.
そして、その後、SETINDEXコマンドによって、デコード先を第二AAC領域(a2)に指定した上で、取得済みのテクスチャを再取得する同一のTXLOADコマンドを実行させると、取得済みのテクスチャがキャッシュヒットするので、CGROM55へのREADアクセスと、デコード処理に要する時間を削除することができる。後述するように、このようなキャッシュヒット機能は、プリロード領域に先読みされたプリロードデータでも発揮されるが、プリロード領域でキャッシュヒットするプリロードデータは、デコード前の圧縮データであるのに対して、AAC領域でキャッシュヒットするのはデコード後の展開データである点に意義がある。 Then, after specifying the second AAC area (a2) as the decoding destination using the SETINDEX command, execute the same TXLOAD command to re-acquire the acquired texture. This results in a cache hit for the acquired texture, eliminating the need for a READ access to CGROM 55 and the time required for the decoding process. As will be described later, this cache hit function is also exhibited with preload data pre-fetched into the preload area, but the significance is that the preload data that hits the cache in the preload area is compressed data before decoding, whereas the cache hit in the AAC area is expanded data after decoding.
ところで、テクスチャ(texture )とは、一般に、物の表面の質感・手触りなどを指す概念であるが、本明細書では、静止画を構成するスプライト画像データや、動画一フレームを構成する画像データや、三角形や四角形などの描画プリミティブ(primitive )に貼り付ける画像データだけでなく、デコード後の画像データも含む概念として使用している。そして、内蔵VRAM71の内部で、画像データをコピーする(以下、便宜上、移動と称する)場合には、テクスチャ設定系コマンドのSETINDEXコマンドによって、移動元の画像データをテクスチャとして設定した上で、SPRITEコマンドを実行することになる。 The term "texture" generally refers to the feel or texture of an object's surface, but in this specification it is used to include not only sprite image data that makes up a still image, image data that makes up a single frame of video, and image data pasted onto drawing primitives such as triangles and rectangles, but also image data after decode. When copying image data within the internal VRAM 71 (hereafter referred to as moving for convenience), the source image data is set as the texture using the SETINDEX texture setting command, and then the SPRITE command is executed.
なお、SPRITEコマンドの実行により、移動元のSource画像データが、形式上は、図12(c)に示す仮想描画空間に描画されるが、表示装置に実際に描画される仮想描画空間内の描画領域と、フレームバッファとなるインデックス空間との対応関係を、予め環境設定コマンド(SETDAVR ,SETDAVF )や、テクスチャ設定系コマンド(SETINDEX)によって設定しておけば、例えば、SPRITEコマンドによる仮想描画空間への描画により、所定のインデックス空間(フレームバッファ)には、移動元のSource画像データが描画されることになる(図12(c)参照)。 When the SPRITE command is executed, the source Source image data is technically drawn in the virtual drawing space shown in Figure 12(c). However, if the correspondence between the drawing area in the virtual drawing space that is actually drawn on the display device and the index space that serves as the frame buffer is set in advance using environment setting commands (SETDAVR, SETDAVF) or texture setting commands (SETINDEX), then, for example, when the SPRITE command is used to draw in the virtual drawing space, the source Source image data will be drawn in a specified index space (frame buffer) (see Figure 12(c)).
何れにしても、本実施例では、内蔵VRAM71が、AAC領域(a1,a2) とページ領域(b) と任意領域(c) に大別され、各々に、適当数のインデックス空間を確保することができ、各インデックス空間は、各領域(a)(b)(c) ごとに独立のインデックス番号によって特定される。インデックス番号は、例えば、1バイト長であり、(内部回路によって自動付与されるAAC領域(a) を除いた)ページ領域(b) と任意領域(c) については、0~255の範囲で演出制御CPU63が、インデックス番号を自由に付与することができる。 In any case, in this embodiment, the built-in VRAM 71 is broadly divided into an AAC area (a1, a2), a page area (b), and an arbitrary area (c), and an appropriate number of index spaces can be allocated to each area. Each index space is identified by an independent index number for each area (a), (b), and (c). The index number is, for example, 1 byte long, and the performance control CPU 63 can freely assign index numbers in the range of 0 to 255 to the page area (b) and arbitrary area (c) (excluding the AAC area (a) which is automatically assigned by the internal circuitry).
そこで、本実施例では、図12(a)に示す通り、表示装置DS1用として、任意領域(c) に、一対のフレームバッファFBaを確保して、ダブルバッファ構造の双方に、インデックス番号255,254を付与している。すなわち、メイン表示装置DS1用のフレームバッファFBaとして、トグル的に切り換えて使用されるインデックス空間255と、インデックス空間254を確保している。特に限定されないが、このインデックス空間255,254は、表示装置DS1の横方向ピクセル数に対応して、水平サイズ1280としている。なお、各ピクセルは、ARGB情報32bitで特定されるので、水平サイズ1280は、32×1280=40960bit(256bitの倍数)を意味する。 In this embodiment, as shown in Figure 12(a), a pair of frame buffers FBa are reserved in the arbitrary area (c) for the display device DS1, and index numbers 255 and 254 are assigned to both of the double buffer structures. In other words, index space 255 and index space 254 are reserved as frame buffer FBa for the main display device DS1, and are used by switching between them in a toggle manner. Although not limited to this, these index spaces 255 and 254 have a horizontal size of 1280, corresponding to the number of horizontal pixels of the display device DS1. Note that each pixel is specified by 32 bits of ARGB information, so the horizontal size of 1280 means 32 x 1280 = 40960 bits (a multiple of 256 bits).
また、表示装置DS2用として、任意領域(c) に、別の一対のフレームバッファFBbを確保して、ダブルバッファ構造の双方にインデックス番号252,251を付与している。すなわち、サブ表示装置DS2用のフレームバッファFBbとして、インデックス空間252と、インデックス空間251を確保している。このインデックス空間252,251は、表示装置DS2の横方向ピクセル数に対応して、水平サイズ480としている。この場合も、各ピクセルは、ARGB情報32bitで特定されるので、水平サイズ480は、32×480=15360bit(256bitの倍数)を意味する。 Furthermore, another pair of frame buffers FBb are reserved in the arbitrary area (c) for display device DS2, and index numbers 252 and 251 are assigned to both sides of the double buffer structure. In other words, index space 252 and index space 251 are reserved as frame buffer FBb for sub-display device DS2. These index spaces 252 and 251 have a horizontal size of 480, corresponding to the number of horizontal pixels of display device DS2. In this case, too, each pixel is specified by 32-bit ARGB information, so a horizontal size of 480 means 32 x 480 = 15,360 bits (a multiple of 256 bits).
なお、フレームバッファFBa,FBbを任意領域(c) に確保するのは、任意領域(c) には、32バイト(=256bit=8ピクセル分)の倍数として、任意の水平サイズに設定することができ、上記のように、表示装置DS1,DS2の水平ピクセル数に一致させれば、確保領域に無駄が生じないからである。一方、ページ領域(b) には、128ピクセル×128ラインの単位空間の整数倍の水平/垂直サイズしか設定できない。 The reason frame buffers FBa and FBb are reserved in the arbitrary area (c) is that the arbitrary area (c) can be set to any horizontal size as a multiple of 32 bytes (= 256 bits = 8 pixels), and as mentioned above, if it matches the number of horizontal pixels of display devices DS1 and DS2, no wasted space will be generated in the reserved area. On the other hand, the page area (b) can only be set to horizontal and vertical sizes that are integer multiples of the unit space of 128 pixels x 128 lines.
但し、任意領域(c)に確保される二次元のインデックス空間は、その垂直サイズが固定値(例えば、2048ライン)となっている。そのため、フレームバッファFBaにおいて、水平サイズ1280×垂直サイズ1024の領域だけが、メイン表示装置DS1にとって有効データ領域となる。この点は、サブ表示装置DS2についても同様であり、フレームバッファFBbにおいて、水平サイズ480×垂直サイズ800の領域だけが、サブ表示装置DS2にとって有効データ領域となる(図12(c),図22(e)参照)。 However, the two-dimensional index space secured in the arbitrary area (c) has a fixed vertical size (e.g., 2048 lines). Therefore, in the frame buffer FBa, only the area with a horizontal size of 1280 x vertical size of 1024 is the valid data area for the main display device DS1. The same is true for the sub-display device DS2, where in the frame buffer FBb, only the area with a horizontal size of 480 x vertical size of 800 is the valid data area for the sub-display device DS2 (see Figures 12(c) and 22(e)).
上記の点は更に後述するが、何れにしても、フレームバッファFBa,FBbは、描画回路76にとっての描画領域として、各ダブルバッファ(255/254 ,252/251 )が交互に使用され、また、表示回路74A,74Bにとっての表示領域として、各ダブルバッファ(255/254 ,252/251 )が交互に使用される。なお、本実施例では、表示ピクセルの深度情報を記憶するZバッファを使用しないので欠番(253)が生じるが、Zバッファを使用する場合には、任意領域(c) におけるインデックス番号253,250のインデックス空間253,250が、表示装置DS1と表示装置DS2のためのZバッファとなる。 This point will be discussed further below, but in any case, frame buffers FBa and FBb alternate in double buffers (255/254, 252/251) as the drawing area for the drawing circuit 76, and alternate in double buffers (255/254, 252/251) as the display area for the display circuits 74A and 74B. Note that in this embodiment, a missing number (253) occurs because a Z-buffer for storing depth information for display pixels is not used. However, if a Z-buffer were used, the index spaces 253 and 250 of index numbers 253 and 250 in arbitrary area (c) would become the Z-buffers for display devices DS1 and DS2.
また、本実施例では、フレームバッファFBa,FBbが確保された任意領域(c) に、追加のインデックス空間(メモリ領域)を確保する場合には、0から始まるインデック番号を付与するようにしている。何ら限定されないが、本実施例では、キャラクタやその他の静止画で構成された演出画像を、必要に応じて、適宜な回転姿勢で表示画面の一部に出現させる予告演出用の作業領域として、任意領域(c) に、インデックス空間(0)を確保している。 In addition, in this embodiment, when additional index space (memory area) is allocated in the arbitrary area (c) where frame buffers FBa and FBb are allocated, index numbers starting from 0 are assigned. Although not limited in any way, in this embodiment, index space (0) is allocated in the arbitrary area (c) as a working area for preview effects in which effect images made up of characters and other still images are made to appear in a part of the display screen in an appropriate rotated position as needed.
但し、作業領域の使用は必須ではなく、また、任意領域(c) に代えて、ページ領域(b) に作業領域としてのインデックス空間を確保しても良い。ページ領域(b) を使用すれば、水平サイズ128(=4096bit)×垂直サイズ128の正方形状の単位空間の倍数寸法のインデックス空間を確保できるので、小型の演出画像を扱うには好適である。 However, the use of a work area is not essential, and index space as a work area may be secured in the page area (b) instead of the arbitrary area (c). If the page area (b) is used, an index space with dimensions that are multiples of a square unit space of horizontal size 128 (= 4096 bits) × vertical size 128 can be secured, making it suitable for handling small-sized effect images.
ところで、本実施例では、背景画も含め動画で構成されており、画像演出は、ほぼ動画のみで実現されている。特に、変動演出時には、多数(通常10個以上)の動画が同時に描画されている。これらの動画は、何れも、一連の動画フレームとして、圧縮状態でCGROM55に格納されているが、Iフレームのみで構成されたIストリーム動画と、IフレームとPフレームとで構成されたIPストリーム動画とに区分される。ここで、Iフレーム(Intra coded frame )とは、他画面とは独立して、入力画像をそのまま圧縮するフレームを意味する。一方、Pフレーム(Predictive coded frame)とは、前方向予測符号化を行うフレームを意味し、時間的に過去に位置するIフレームまたはPフレームが必要となる。 In this embodiment, the background images are also composed of moving images, and the image effects are realized almost entirely with moving images. In particular, during the variable effects, a large number of moving images (usually 10 or more) are simultaneously drawn. All of these moving images are stored in CGROM 55 in a compressed state as a series of moving image frames, and are classified as I-stream moving images consisting of only I-frames, and IP-stream moving images consisting of I-frames and P-frames. Here, an I-frame (Intra-coded frame) refers to a frame in which the input image is compressed as is, independently of other screens. On the other hand, a P-frame (Predictive-coded frame) refers to a frame that undergoes forward predictive coding, and requires an I-frame or P-frame located in the past in time.
そこで、本実施例では、IPストリーム動画については、旧データの破壊が懸念されるAAC領域(a) ではなく、ページ領域(b) に展開している。すなわち、水平サイズ128×垂直サイズ128の倍数寸法のインデックス空間を確保可能なページ領域(b) に、多数のインデックス空間(IDX0~IDXN)を確保して、一連の動画フレームは、各動画MViに対応する、常に同一のインデックス空間IDXiを使用してデコードするようにしている。すなわち、動画MV1はインデックス空間IDX1に展開され、動画MV2はインデックス空間IDX2に展開され、以下同様に、動画MViはインデックス空間IDXiに展開されるよう構成されている。 Therefore, in this embodiment, IP stream video is expanded in the page area (b) rather than the AAC area (a), where there is a concern that old data may be destroyed. That is, a number of index spaces ( IDX0 to IDXN ) are secured in the page area (b), which can secure index spaces of dimensions that are multiples of 128 horizontal size and 128 vertical size, and a series of video frames are always decoded using the same index space IDXi corresponding to each video MVi. That is, video MV1 is expanded in index space IDX1, video MV2 is expanded in index space IDX2, and so on, with each video MVi being expanded in its own index space IDXi.
動画MViについて、更に具体的に説明すると、SETINDEXコマンドによって、「IPストリーム動画MViのデコード先は、ページ領域(b) におけるインデックス番号iのインデックス空間(i)である」と予め指定した上で、IPストリーム動画MViの動画一フレームを取得するTXLOADコマンドを実行させている。 To explain video MVi more specifically, the SETINDEX command specifies in advance that "the decoding destination of IP stream video MVi is index space (i) of index number i in page area (b)," and then the TXLOAD command is executed to obtain one video frame of IP stream video MVi.
すると、TXLOADコマンドが特定するCGROM55上の動画一フレーム(一連の動画フレームの何れか)が、先ず、AAC領域(a) に取得され、その後、自動的に起動するGDEC(グラフィックスデコーダ)75によって、ページ領域(b) のインデックス空間(i)に、取得した動画一フレームがデコードされて展開されることになる。 Then, one video frame (any of a series of video frames) on CGROM 55 specified by the TXLOAD command is first retrieved into AAC area (a), and then the GDEC (graphics decoder) 75, which starts automatically, decodes and expands the retrieved video frame into index space (i) in page area (b).
一方、本実施例では、Iストリーム動画については、静止画と同一扱いとしており、SETINDEXコマンドによって、「Iストリーム動画MVjのデコード先は、第一AAC領域(a1)である」と指定して、TXLOADコマンドを実行させる。その結果、動画フレームは第一AAC領域(a1)に取得され、その後、自動的に起動するGDEC75が、第一ACC領域(a1)にデコードデータを展開している。先に説明した通り、AAC領域(a) のインデックス空間は、自動的に生成されるので、インデックス番号を指定する必要はない。なお、インデックス空間に必要となる展開ボリューム、つまり、デコードされたテクスチャ(動画フレーム)の水平サイズと垂直サイズは、展開先がAAC領域(a) か、ページ領域(b) かに拘らず、TXLOADコマンドによって特定される。 In this embodiment, however, I-stream video is treated the same as still images, and the SETINDEX command specifies that the I-stream video MVj's decoding destination is the first AAC area (a1), and the TXLOAD command is executed. As a result, video frames are acquired in the first AAC area (a1), and then the automatically activated GDEC 75 expands the decoded data to the first ACC area (a1). As explained above, the index space for the AAC area (a) is generated automatically, so there is no need to specify an index number. The expansion volume required for the index space, i.e., the horizontal and vertical sizes of the decoded texture (video frame), are specified by the TXLOAD command, regardless of whether the expansion destination is the AAC area (a) or the page area (b).
ところで、IPストリーム動画MViやIストリーム動画MVjは、一般にN枚の動画フレーム(IフレームやPフレーム)で構成されている。そのため、TXLOADコマンドでは、例えば、k枚目(1≦k≦N)の動画フレームが記憶されているCGROM55のSourceアドレスと、展開後の水平・垂直サイズなどを指定することになる。何ら限定されないが、静止画を殆ど使用しない実施例では、内蔵VRAM71のアドレス空間48Mバイトの大部分(30Mバイト程度)をページ領域(b) に割り当てている。そして、静止画を殆ど使用しない実施例では、AAC領域として、第一AAC領域(a1)だけを確保し、第二AAC領域(a2)を確保せず、また、前記したAAC領域のキャッシュヒット機能も活用しない。 Incidentally, IP stream video MVi and I stream video MVj generally consist of N video frames (I frames and P frames). Therefore, the TXLOAD command specifies, for example, the source address of the CGROM 55 where the kth (1≦k≦N) video frame is stored, as well as the horizontal and vertical sizes after expansion. Although not limiting, in an embodiment in which still images are hardly used, most of the 48 MB address space (approximately 30 MB) of the built-in VRAM 71 is allocated to the page area (b). Furthermore, in an embodiment in which still images are hardly used, only the first AAC area (a1) is reserved as the AAC area, and the second AAC area (a2) is not reserved, and the cache hit function of the AAC area described above is not utilized.
なお、圧縮動画データのデコード処理を高速化するため、専用のGDEC(グラフィックスデコーダ)回路を設けることも考えられる。そして、専用のGDEC回路をVDP回路52に内蔵させれば、N枚の圧縮動画フレームで構成された圧縮動画データのデコード処理において、動画圧縮データの先頭アドレスをGDEC回路に指示すれば足りるので、N枚の圧縮動画フレームについて、1枚ごとに先頭アドレスを指定する必要がなくなる。 It is also possible to provide a dedicated GDEC (graphics decoder) circuit to speed up the decoding process of compressed video data. If a dedicated GDEC circuit is built into the VDP circuit 52, then when decoding compressed video data consisting of N compressed video frames, it is sufficient to instruct the GDEC circuit on the starting address of the video compressed data, eliminating the need to specify the starting address for each of the N compressed video frames.
しかし、このような専用のGDEC回路を、圧縮アルゴリズム毎に複数個内蔵させるのでは、VDP回路52の内部構成が更に複雑化する。そこで、本実施例では、ソフトウェアGDECとし、IPストリーム動画、Iストリーム動画、静止画、その他α値などのデータについて、各圧縮アルゴリズムに対応するソフトウェア処理によってデコード処理を実現している。なお、ハードウェア処理とソフトウェア処理の処理時間差は、あまり問題にならず、処理時間が問題になるのは、もっぱら、CGROM55からのアクセス(READ)タイムである。 However, if multiple dedicated GDEC circuits like this were built in for each compression algorithm, the internal configuration of the VDP circuit 52 would become even more complex. Therefore, in this embodiment, a software GDEC is used, and decoding of data such as IP stream video, I stream video, still images, and other alpha values is achieved through software processing corresponding to each compression algorithm. Note that the difference in processing time between hardware processing and software processing is not a significant issue; the processing time that is an issue is mainly the access (READ) time from the CGROM 55.
続いて、図8(a)に戻って説明を続けると、データ転送回路72は、VDP回路内部のリソース(記憶媒体)と外部記憶媒体を、転送元ポート又は転送先ポートとして、これらの間でDMA(Direct Memory Access)的にデータ転送動作を実行する回路である。図13は、このデータ転送回路72の内部構成を、関連する回路構成と共に記載したブロック図である。 Continuing with the explanation, returning to Figure 8(a), the data transfer circuit 72 is a circuit that performs data transfer operations in a DMA (Direct Memory Access) manner between a resource (storage medium) within the VDP circuit and an external storage medium, with these serving as the transfer source port and transfer destination port. Figure 13 is a block diagram showing the internal configuration of this data transfer circuit 72, along with the related circuit configuration.
図13に示す通り、データ転送回路72は、ルータ機能を有する統合接続バスICMを経由して、CGROM55、DRAM54、及び、内蔵VRAM71とデータを送受信するよう構成されている。なお、CGROM55とDRAM54は、CGバスIF部82や、DMAMIF部83を経由してアクセスされる。 As shown in Figure 13, the data transfer circuit 72 is configured to send and receive data to and from the CGROM 55, DRAM 54, and built-in VRAM 71 via the integrated connection bus ICM, which has a router function. The CGROM 55 and DRAM 54 are accessed via the CG bus IF unit 82 and the DMAMIF unit 83.
一方、CPU回路51は、データ転送回路72に内蔵された転送ポートレジスタTR_PORT を経由して、描画回路76やプリローダ73にディスプレイリストDLを発行している。なお、CPU回路51とデータ転送回路72は、双方向に接続されているが、ディスプレイリストDLの発行時には、転送ポートレジスタTR_PORT は、ディスプレイリストDLを構成する一単位のデータを受け入れるデータ書き込みポートとして機能する。なお、転送ポートレジスタTR_PORT の書込み単位(一単位データ長)は、CPUバス制御部72dのFIFO構造に対応して32bitとなる。 Meanwhile, the CPU circuit 51 issues a display list DL to the drawing circuit 76 and preloader 73 via the transfer port register TR_PORT built into the data transfer circuit 72. The CPU circuit 51 and data transfer circuit 72 are connected bidirectionally, but when issuing a display list DL, the transfer port register TR_PORT functions as a data write port that accepts one unit of data that makes up the display list DL. The write unit (one unit data length) of the transfer port register TR_PORT is 32 bits, corresponding to the FIFO structure of the CPU bus control unit 72d.
図示の通り、演出制御CPU63は、CPUIF部81を経由して、転送ポートレジスタTR_PORT をWRITE アクセスできる一方、DMAC回路60を活用する場合には、DMAC回路60が、転送ポートレジスタTR_PORT を直接的にWRITE アクセスすることになる。そして、転送ポートレジスタTR_PORT に書込まれた一連の指示コマンド(つまり、ディスプレイリストDLを構成する指示コマンド列)は、32bit単位で、FIFO構造(32bit×130段)のFIFOバッファを内蔵したCPUバス制御部72dに、自動蓄積されるよう構成されている。 As shown in the figure, the performance control CPU 63 can perform WRITE access to the transfer port register TR_PORT via the CPUIF unit 81, but when the DMAC circuit 60 is used, the DMAC circuit 60 will perform WRITE access to the transfer port register TR_PORT directly. The series of instruction commands written to the transfer port register TR_PORT (i.e., the series of instruction commands that make up the display list DL) are automatically stored in 32-bit units in the CPU bus control unit 72d, which has a built-in FIFO buffer with a FIFO structure (32 bits x 130 stages).
また、このデータ転送回路72は、3チャンネルChA~ChCの伝送経路で、データの送受信動作を実行しており、FIFO構造(64bit×N段)のFIFOバッファを有するChA制御回路72a(N=130段)と、ChB制御回路72b(N=1026段)と、ChC制御回路72c(N=130段)と、を有している。 The data transfer circuit 72 also performs data transmission and reception operations over the transmission paths of three channels ChA to ChC, and includes a ChA control circuit 72a (N=130 stages) with a FIFO buffer structure (64 bits x N stages), a ChB control circuit 72b (N=1026 stages), and a ChC control circuit 72c (N=130 stages).
そして、CPUバス制御部72dに蓄積された指示コマンド列(ディスプレイリストDL)は、演出制御CPU63によるデータ転送レジスタRGij(各種制御レジスタ70の一種)への設定値に基づき、描画回路76か、又はプリローダ73に転送される。矢印で示す通り、ディスプレイリストDLは、CPUバス制御部72dから、ChB制御回路72bのFIFOバッファを経由して描画回路76に転送され、ChC制御回路72cのFIFOバッファを経由してプリローダ73に転送されるよう構成されている。 The instruction command sequence (display list DL) stored in the CPU bus control unit 72d is then transferred to either the drawing circuit 76 or the preloader 73 based on the setting value of the data transfer register RGij (one of the various control registers 70) by the performance control CPU 63. As shown by the arrows, the display list DL is transferred from the CPU bus control unit 72d to the drawing circuit 76 via the FIFO buffer of the ChB control circuit 72b, and then to the preloader 73 via the FIFO buffer of the ChC control circuit 72c.
なお、本実施例では、ChB制御回路72bと、ChC制御回路72cは、ディスプレイリストDLの転送動作に特化されており、CPUバス制御部72dのFIFOバッファに蓄積されたデータは、ChB制御回路72bか、ChC制御回路72cのFIFOバッファを経由して、各々、ディスプレイリストDLの一部として、描画回路76かプリローダ73のディスプレイリストアナライザ(Display List Analyzer )に転送される。 In this embodiment, the ChB control circuit 72b and the ChC control circuit 72c are specialized for the transfer of the display list DL, and the data stored in the FIFO buffer of the CPU bus control unit 72d is transferred as part of the display list DL to the drawing circuit 76 or the display list analyzer of the preloader 73 via the FIFO buffer of the ChB control circuit 72b or the ChC control circuit 72c, respectively.
そして、描画回路76は、転送されたディスプレイリストDLに基づいた描画動作を開始する。一方、プリローダ73は、転送されたディスプレイリストDLに基づき、必要なプリロード動作を実行する。プリロード動作によってCGROM55のCGデータが、DRAM54に確保されたプリロード領域に先読みされ、TXLOADコマンドなどに関して、テクスチャのSourceアドレスを変更したディスプレイリストDL(以下、書換えリストDL’という)が、DRAM54に確保されたDLバッファ領域BUF’に保存される。 The drawing circuit 76 then begins drawing operations based on the transferred display list DL. Meanwhile, the preloader 73 performs the necessary preload operations based on the transferred display list DL. The preload operation pre-reads CG data from CGROM 55 into a preload area allocated in DRAM 54, and the display list DL with the texture source address changed for the TXLOAD command, etc. (hereinafter referred to as the rewrite list DL') is saved in the DL buffer area BUF' allocated in DRAM 54.
一方、CGROM55、DRAM54、及び、内蔵VRAM71などの記憶媒体の間のデータ転送には、ChA制御回路72aと、接続バスアクセス調停回路72eとが機能する。また、インデックステーブルIDXTBLのアドレス情報が必要になる内蔵VRAM71のアクセス時には、IDXTBLアクセス調停回路72fが機能する。具体的に確認すると、ChA制御回路72aは、例えば、(a)CGROM55の圧縮データを内蔵VRAM71に転送する場合や、(b)CGROM55の圧縮データをプリロード(先読み)して外付けDRAM54に転送する場合や、(c)プリロード領域の先読みデータを、内蔵VRAM71に転送する場合に機能する。 Meanwhile, the ChA control circuit 72a and the connection bus access arbitration circuit 72e function to transfer data between storage media such as the CGROM 55, DRAM 54, and built-in VRAM 71. Furthermore, the IDXTBL access arbitration circuit 72f functions when accessing the built-in VRAM 71, which requires address information from the index table IDXTBL. Specifically, the ChA control circuit 72a functions, for example, when (a) compressed data from the CGROM 55 is transferred to the built-in VRAM 71, (b) compressed data from the CGROM 55 is preloaded (read ahead) and transferred to the external DRAM 54, and (c) data read ahead from the preload area is transferred to the built-in VRAM 71.
ここで、ChA制御回路72aは、ChB制御回路72bやChC制御回路72cと並行して動作可能に構成されており、上記した(a)~(c)の動作は、ディスプレイリストDLの発行動作(図22のST8,図27のPT11)や、書換えリストDL’の転送動作(図27のPT10)と並行して実行可能となる。また、ChB制御回路72bとChC制御回路72cも、同時実行可能であり、例えば、ChB制御回路72bが機能する図27のステップPT10の処理と、ChC制御回路72cが機能するステップPT11の処理は並行して実行可能である。但し、転送ポートレジスタTR_PORT は単一であるので、何れか一方(72b/72c)が転送ポートレジスタTR_PORT を使用しているタイミングでは、他方(72c/72b)は、転送ポートレジスタTR_PORT をアクセスすることはできない。 Here, the ChA control circuit 72a is configured to be able to operate in parallel with the ChB control circuit 72b and the ChC control circuit 72c, and the operations (a) to (c) described above can be executed in parallel with the issuance operation of the display list DL (ST8 in FIG. 22, PT11 in FIG. 27) and the transfer operation of the rewrite list DL' (PT10 in FIG. 27). The ChB control circuit 72b and the ChC control circuit 72c can also be executed simultaneously. For example, the processing of step PT10 in FIG. 27, in which the ChB control circuit 72b functions, and the processing of step PT11, in which the ChC control circuit 72c functions, can be executed in parallel. However, because there is only one transfer port register TR_PORT, when one of them (72b/72c) is using the transfer port register TR_PORT, the other (72c/72b) cannot access the transfer port register TR_PORT.
なお、ChA制御回路72aの動作時に、接続バスアクセス調停回路72eは、統合接続バスICMを経由する各記憶素子(CGROM55、DRAM54)とのデータ伝送を調停(Arbitration )している。一方、IDXTBLアクセス調停回路72fは、インデックステーブルIDXTBLに基づいてChA制御回路72aを制御することで、内蔵VRAM71とのデータ交信を調停している。なお、プリローダ73が機能する実施例の場合、DRAM54のDLバッファ領域BUF’に保存された書換えリストDL’は、接続バスアクセス調停回路72eと、ChB制御回路72bを経由して描画回路76に転送されることになる(図28(b)参照)。 When the ChA control circuit 72a is operating, the connection bus access arbitration circuit 72e arbitrates data transmission with each storage element (CGROM 55, DRAM 54) via the integrated connection bus ICM. Meanwhile, the IDXTBL access arbitration circuit 72f arbitrates data communication with the built-in VRAM 71 by controlling the ChA control circuit 72a based on the index table IDXTBL. In an embodiment in which the preloader 73 is functioning, the rewrite list DL' stored in the DL buffer area BUF' of the DRAM 54 is transferred to the drawing circuit 76 via the connection bus access arbitration circuit 72e and the ChB control circuit 72b (see Figure 28(b)).
上記の通り、本実施例のデータ転送回路72は、各種の記憶リソース(Resource)から任意に選択されたデータ転送元と、各種の記憶リソース(Resource)から任意に選択されたデータ転送先との間で、高速のデータ転送を実現している。図13から確認される通り、データ転送回路72が機能する記憶リソースには、内蔵VRAM71だけでなく、CPUIF部56、CGバスIF部82、DRAMIF部83を経由する外部デバイスも含まれる。 As described above, the data transfer circuit 72 of this embodiment realizes high-speed data transfer between a data transfer source arbitrarily selected from various storage resources (Resources) and a data transfer destination arbitrarily selected from various storage resources (Resources). As can be seen from Figure 13, the storage resources on which the data transfer circuit 72 functions include not only the built-in VRAM 71, but also external devices via the CPU IF unit 56, CG bus IF unit 82, and DRAM IF unit 83.
そして、CGROM55から1回に取得すべきデータ量(メモリシーケンシャルREAD)のように、ChA制御回路72aが機能する外部デバイスとのデータ転送量は、ChB制御回路72bやChC制御回路72cが機能するディスプレイリストDLの場合と比較して膨大であり、互いに、データ転送量が大きく相違する。 Furthermore, the amount of data transferred between the external device in which the ChA control circuit 72a functions, such as the amount of data to be acquired at one time from the CGROM 55 (memory sequential READ), is enormous compared to the display list DL in which the ChB control circuit 72b and ChC control circuit 72c function, and the data transfer amounts differ greatly.
ここで、これら各種のデータ転送について、単位データ量や総転送データ量を、細かく設定可能に構成することも考えらえるが、これでは、VDP内部の制御動作が煩雑化し、円滑な転送動作が阻害される。そこで、本実施例では、データ転送の最低データ量Dminを一意に規定すると共に、総転送データ量を、最低データ量DTminの整数倍となるよう制限することで、高速で円滑なデータ転送動作を実現している。特に限定されないが、実施例のデータ転送回路72では、最低データ量Dmin(単位データ量)を、256バイトとし、総転送データ量を、この整数倍に制限することにしている。 It is possible to configure these various types of data transfers so that the unit data volume and total transfer data volume can be precisely set, but this would complicate the control operations within the VDP and hinder smooth transfer operations. Therefore, in this embodiment, a minimum data volume Dmin for data transfer is uniquely defined, and the total transfer data volume is limited to an integer multiple of the minimum data volume DTmin, thereby achieving fast and smooth data transfer operations. Although not particularly limited, in the data transfer circuit 72 of this embodiment, the minimum data volume Dmin (unit data volume) is set to 256 bytes, and the total transfer data volume is limited to an integer multiple of this.
したがって、32bit毎にCPUバス制御部72dのFIFOバッファに蓄積されたディスプレイリストDLの指示コマンド列は、その総量が最低データ量Dminに達したタイミングで、ChB制御回路72bやChC制御回路72cに転送され、各々のFIFOバッファに蓄積されることになる。 Therefore, the display list DL instruction command sequence stored in the FIFO buffer of the CPU bus control unit 72d in 32-bit increments is transferred to the ChB control circuit 72b and ChC control circuit 72c when the total amount reaches the minimum data amount Dmin, and is then stored in the respective FIFO buffers.
ディスプレイリストDLは、一連の指示コマンドで構成されているが、本実施例では、転送ポートレジスタTR_PORT の書込み単位(32bit)に対応して、ディスプレイリストDLは、コマンド長が、32bitの整数N倍(N>0)の指示コマンドのみで構成されている。したがって、データ転送回路72を経由して、ディスプレイリストDLの指示コマンドを受ける描画回路76やプリローダ73は、素早く円滑にコマンド解析処理(DL analyze)を開始することができる。なお、32bitの整数N倍のコマンド長は、その全てが有意ビットとは限らず、無意ビット(Don't care bit)も含んで、32bitの整数N倍という意味である。 The display list DL is made up of a series of instruction commands. In this embodiment, the display list DL is made up of only instruction commands whose command length is an integer multiple of 32 bits (N > 0), corresponding to the write unit (32 bits) of the transfer port register TR_PORT. Therefore, the drawing circuit 76 and preloader 73, which receive the instruction commands of the display list DL via the data transfer circuit 72, can quickly and smoothly start the command analysis process (DL analyze). Note that the command length of an integer multiple of 32 bits does not necessarily mean that all of the bits are significant, but also includes insignificant bits (don't care bits), meaning that it is an integer multiple of 32 bits.
次に、プリローダ73について説明する。先に概略説明した通り、プリローダ73は、データ転送回路72(ChC制御回路72c)から転送されたディスプレイリストDLを解釈して、TXLOADコマンドが参照しているCGROM55上のCGデータを、予め、DRAM54のプリロード領域に転送する回路である。また、プリローダ73は、このTXLOADコマンドに関し、CGデータの参照先を、転送後のアドレスに書換えた書換えリストDL’を、DRAM54のDLバッファBUF’に記憶する。なお、DLバッファBUF’や、プリロード領域は、CPUリセット後の初期処理時(図21のSS3)に、予め確保されている。 Next, the preloader 73 will be described. As outlined above, the preloader 73 is a circuit that interprets the display list DL transferred from the data transfer circuit 72 (ChC control circuit 72c) and transfers the CG data in CGROM 55 referenced by the TXLOAD command to the preload area of DRAM 54 in advance. Furthermore, the preloader 73 stores a rewrite list DL' in the DL buffer BUF' of DRAM 54, in which the reference destination of the CG data for this TXLOAD command is rewritten to the address after transfer. The DL buffer BUF' and preload area are reserved in advance during the initial processing after the CPU is reset (SS3 in Figure 21).
そして、書換えリストDL’は、描画回路76の描画動作の開始時に、データ転送回路72の接続バスアクセス調停回路72eや、ChB制御回路72bを経由して、描画回路76のディスプレイリストアナライザ(DL Analyzer )に転送される。そして、描画回路76は、書換えリストDL’に基づいて、描画動作を実行する。したがって、TXLOADコマンドなどに基づき、本来は、CGROM55から取得すべきCGデータが、プリロード領域に先読みされているプリロードデータとして、DRAM54のプリロード領域から取得される。この場合、プリロードデータは、上書き消去されない限り、繰り返し使用可能であり、プリロード領域にキャッシュヒットしたプリロードデータは、繰り返し再利用される。 The rewrite list DL' is then transferred to the display list analyzer (DL Analyzer) of the drawing circuit 76 via the connection bus access arbitration circuit 72e and ChB control circuit 72b of the data transfer circuit 72 when the drawing operation of the drawing circuit 76 begins. The drawing circuit 76 then executes the drawing operation based on the rewrite list DL'. Therefore, based on a TXLOAD command or the like, CG data that should normally be obtained from the CGROM 55 is instead obtained from the preload area of the DRAM 54 as preload data that has been preloaded into the preload area. In this case, the preload data can be used repeatedly unless it is overwritten and erased, and preload data that hits the cache in the preload area is repeatedly reused.
本実施例では、十分な記憶容量を有する外付けDRAM54にプリロード領域を設定しているので、上記のキャッシュヒット機能が有効に機能する。また、外付けDRAM54の記憶容量が大きいので、例えば、複数フレーム分のCGデータを一気にプリロードする多重プリロードも可能である。すなわち、プリローダ73の動作期間に関し、CGデータの先読み動作を含んだ一連のプリロード動作の動作期間を、VDP回路52の間欠動作時の動作周期δの整数倍の範囲内で、適宜に設定することで多重プリロードが実現される。 In this embodiment, the preload area is set in the external DRAM 54, which has sufficient storage capacity, so the cache hit function described above functions effectively. Furthermore, because the external DRAM 54 has a large storage capacity, multiple preloading, for example, is also possible, in which multiple frames of CG data are preloaded at once. In other words, multiple preloading is achieved by appropriately setting the operating period of the preloader 73, which is a series of preloading operations including the CG data prefetching operation, within the range of an integer multiple of the operating cycle δ of the VDP circuit 52 during intermittent operation.
但し、以下の説明では、便宜上、多重プリロードのない実施例について説明するので、実施例のプリローダ73は、一動作周期(δ)の間に、一フレーム分のプリロード動作を完了することにする。なお、図22に関し後述するように、本実施例では、VDP回路52の間欠動作時の動作周期δは、表示装置DS1の垂直同期信号の2倍周期である1/30秒である。 However, for the sake of convenience, the following explanation will be based on an embodiment without multiple preloading, and the preloader 73 in this embodiment will complete the preloading operation for one frame during one operation cycle (δ). As will be described later with reference to FIG. 22, in this embodiment, the operation cycle δ during intermittent operation of the VDP circuit 52 is 1/30 seconds, which is twice the period of the vertical synchronization signal of the display device DS1.
次に、描画回路76は、データ転送回路72を経由して転送されたディスプレイリストDLや書換えリストDL’の指示コマンド列を順番に解析して、グラフィックスデコーダ75やジオメトリエンジン77などと協働して、VRAM71に形成されたフレームバッファに、各表示装置DS1,DS2の一フレーム分の画像を描画する回路である。 Next, the drawing circuit 76 sequentially analyzes the instruction command sequences of the display list DL and rewrite list DL' transferred via the data transfer circuit 72, and works in conjunction with the graphics decoder 75 and geometry engine 77 to draw one frame's worth of image for each display device DS1, DS2 in the frame buffer formed in the VRAM 71.
上記の通り、プリローダ73を機能させる実施例では、書換えリストDL’のCGデータの参照先は、CGROM55ではなく、DRAM54に設定されたプリロード領域である。そのため、描画回路76による描画の実行中に生じるCGデータへのシーケンシャルアクセスを迅速に実行することができ、動きの激しい高解像度の動画についても問題なく描画することができる。すなわち、本実施例によれば、CGROM55として、安価なSATAモジュールを活用しつつ、複雑高度な画像演出を実行することができる。 As described above, in an embodiment in which the preloader 73 is activated, the CG data in the rewrite list DL' is referenced not to the CGROM 55 but to the preload area set in the DRAM 54. This allows for rapid sequential access to CG data that occurs while the drawing circuit 76 is drawing, making it possible to draw high-resolution moving images with rapid movement without any problems. In other words, according to this embodiment, complex and sophisticated image presentations can be achieved while utilizing an inexpensive SATA module as the CGROM 55.
ところで、プリローダ73を機能させるか否かに拘らず、ディスプレイリストDLや書換えリストDL’の転送時に、仮にデータ化けが発生しても、描画回路76は、これを検出することはできない。また、ノイズなどの影響で、描画回路76がフリーズして、内蔵VRAM71のREAD/WRITE アクセスが異常停止することも有り得る。そこで、本実施例では、描画回路76が不合理な指示コマンド(analyze 不能のビット並び)を検出した場合や、一定期間、内蔵VRAM71に対してREAD/WRITE アクセスがない場合には、描画異常割込みを発生させるよう構成されている(描画異常割込みが許可状態)。なお、この点は、図22(d)に関して後述する。 Regarding whether the preloader 73 is enabled or disabled, even if data corruption occurs during the transfer of the display list DL or rewrite list DL', the drawing circuit 76 will not be able to detect this. Furthermore, noise or other factors may cause the drawing circuit 76 to freeze, resulting in an abnormal halt to READ/WRITE access to the internal VRAM 71. Therefore, in this embodiment, if the drawing circuit 76 detects an irrational instruction command (a bit sequence that cannot be analyzed) or if there is no READ/WRITE access to the internal VRAM 71 for a certain period of time, a drawing abnormality interrupt is generated (drawing abnormality interrupt is enabled). This point will be discussed later with reference to Figure 22(d).
次に、図12に関して説明した通り、VRAM71の任意領域(c) に確保されたフレームバッファFBは、描画領域と読出領域に区分されたダブルバッファであり、2つの領域を、交互に用途を切り替えて使用する。また、本実施例では、2つの表示装置DS1,DS2が接続されているので、図12に示す通り、2区画のフレームバッファFBa/FBbが確保されている。したがって、描画回路76は、表示装置DS1用のフレームバッファFBaの描画領域(書込み領域)に、一フレーム分の画像データを描画すると共に、表示装置DS2用のフレームバッファFBaの描画領域(書込み領域)に、一フレーム分の画像データを描画することになる。なお、描画領域に、画像データが書込まれているとき、表示回路74は、他方の読出領域(表示領域)の画像データを読み出して、各表示装置DS1,DS2に出力する。 Next, as explained with reference to Figure 12, the frame buffer FB allocated in the arbitrary area (c) of the VRAM 71 is a double buffer divided into a drawing area and a readout area, with the two areas being used alternately. Furthermore, in this embodiment, since two display devices DS1 and DS2 are connected, two frame buffers FBa/FBb are allocated, as shown in Figure 12. Therefore, the drawing circuit 76 draws one frame's worth of image data in the drawing area (write area) of the frame buffer FBa for display device DS1, and also draws one frame's worth of image data in the drawing area (write area) of the frame buffer FBa for display device DS2. Note that while image data is being written to the drawing area, the display circuit 74 reads out the image data from the other readout area (display area) and outputs it to each display device DS1 or DS2.
表示回路74は、フレームバッファFBa,FBbの画像データを読み出して、最終的な画像処理を施した上で出力する回路である(図14(a)参照)。最終的な画像処理には、例えば、画像を拡大/縮小するスケーラのスケーリング処理、微妙なカラー補正処理、画像全体の量子化誤差が最小化するディザリング処理が含まれている。そして、これらの画像処理を経たデジタルRGB信号(合計24bit)が、通常は、水平同期信号HSや垂直同期信号VSなどと共に出力される。 The display circuit 74 reads image data from frame buffers FBa and FBb, performs final image processing, and outputs the result (see Figure 14(a)). Final image processing includes, for example, scaling by a scaler to enlarge or reduce the image, subtle color correction, and dithering to minimize quantization error across the entire image. The digital RGB signal (24 bits in total) that has undergone this image processing is then typically output along with a horizontal synchronization signal HS, a vertical synchronization signal VS, and so on.
図14(a)に示す通り、本実施例では、上記の動作を並列的に実行する3系統の表示回路A/B/Cが設けられており、各表示回路74A~74Cは、各々に対応するフレームバッファFBa/FBb/FBcの画像データを読み出して、上記の最終画像処理を実行する。但し、本実施例では、表示装置は2個であるので、フレームバッファFBcは確保されておらず、表示回路74Cが機能することもない。 As shown in Figure 14(a), this embodiment is provided with three display circuits A/B/C that perform the above operations in parallel, and each display circuit 74A-74C reads image data from its corresponding frame buffer FBa/FBb/FBc and performs the above final image processing. However, since this embodiment has two display devices, frame buffer FBc is not reserved and display circuit 74C does not function.
ここで、メイン表示装置DS1の仕様を確認すると、メイン表示装置DS1は、左右方向に隣接する奇数ピクセル(ODD)と偶数ピクセル(EVEN)を、別々のLVDS(Low Voltage Differential Signaling)伝送路を通して、受信部RV(RVa+RVb)で受ける必要がある。また、メイン表示装置DS1の動作クロックCKの周波数は、40~70MHz程度(典型値54MHz)にする必要があり、(WTh+640)×(WTv+1024)/54MHz≒1/60秒となるよう、水平/垂直方向の待機時間WTh/WTvを設定する必要がある。更に、メイン表示装置DS1に対して画像データ(ODD/EVEN信号)を出力するタイミングでは、アクティブレベルのデータ有効信号ENABを出力する必要がある。 Checking the specifications of the main display device DS1, we see that the main display device DS1 must receive adjacent odd-numbered pixels (ODD) and even-numbered pixels (EVEN) in the horizontal direction via separate LVDS (Low Voltage Differential Signaling) transmission paths at the receiver RV (RVa + RVb). Furthermore, the frequency of the main display device DS1's operating clock CK must be approximately 40-70 MHz (typically 54 MHz), and the horizontal and vertical wait times WTh/WTv must be set so that (WTh + 640) x (WTv + 1024)/54 MHz ≒ 1/60 seconds. Furthermore, when outputting image data (ODD/EVEN signals) to the main display device DS1, an active-level data enable signal ENAB must be output.
そこで、表示回路74Aは、上記した全ての仕様を満たす信号を出力する必要がある。図15(a)~図15(e)は、表示回路74Aから出力される各種の信号を図示したものである。まず、ドットクロック(LVDSクロック)DCKの周波数を決定する必要があるが、本実施例では、メイン表示装置DS1を、典型値54MHzの動作クロックCKで動作させるので、これに対応して、(VDP回路52における)設計上のドットクロックDCKを、108MHz(=54×2)としている。 Therefore, the display circuit 74A must output signals that meet all of the above specifications. Figures 15(a) to 15(e) illustrate the various signals output from the display circuit 74A. First, the frequency of the dot clock (LVDS clock) DCK must be determined. In this embodiment, the main display device DS1 operates on an operating clock CK with a typical value of 54 MHz, so the designed dot clock DCK (in the VDP circuit 52) is set to 108 MHz (= 54 x 2) accordingly.
それは、横1280ドット×縦1024ラインの表示パネルLCD(図15(f)参照)において、左右に隣接する2つの画素が、54MHzの動作クロックCKに同期して一気に処理されるので、実質的には、108MHzのドットクロックDCKで動作するのと等価だからである。 This is because, on a display panel LCD (see Figure 15(f)) with 1280 horizontal dots and 1024 vertical lines, two adjacent pixels on the left and right are processed at once in synchronization with a 54 MHz operating clock CK, which is essentially equivalent to operating with a 108 MHz dot clock DCK.
そして、表示回路74Aの動作を規定する各種の動作パラメータは、周波数108MHzのドットクロックDCKに基づいて規定される。先ず、(WTh+640)×(WTv+1024)/54MHz≒1/60秒となるよう、水平/垂直方向の待機時間WTh/WTvを設定する必要があるが、表示回路74Aについての動作パラメータWTh,WTvとしては、(WTh+1280)×(WTv+1024)/108MHz≒1/60秒を満たす必要がある。 The various operating parameters that define the operation of the display circuit 74A are determined based on a dot clock DCK with a frequency of 108 MHz. First, the horizontal and vertical waiting times WTh/WTv must be set so that (WTh + 640) x (WTv + 1024)/54 MHz ≒ 1/60 seconds. However, the operating parameters WTh and WTv for the display circuit 74A must satisfy (WTh + 1280) x (WTv + 1024)/108 MHz ≒ 1/60 seconds.
また、水平/垂直方向の待機時間WTh/WTvについて、表示装置DS1の仕様上の許容範囲も考慮する必要がある。そこで、本実施例では、水平待機時間WThを、108MHzのドットクロックDCKでカウントして、382クロックとし、垂直待機時間WTvを、59ラインとしている。したがって、一フレームの画像更新に要する時間は、(382+1280)×(59+1024)/108MHz=16.666mSとなり、フレームレートFR(Frame Rate)が1/60秒となる。 Furthermore, the tolerance range of the display device DS1 specifications for the horizontal and vertical wait times WTh/WTv must also be taken into consideration. Therefore, in this embodiment, the horizontal wait time WTh is counted using a 108 MHz dot clock DCK, and is set to 382 clocks, and the vertical wait time WTv is set to 59 lines. Therefore, the time required to update one frame of image is (382 + 1280) x (59 + 1024) / 108 MHz = 16.666 mS, and the frame rate FR (Frame Rate) is 1/60 seconds.
この関係は、表示装置DS1の更新周期FR[秒]を規定するものであり、後述するドットクロックDCKの周波数Fdot、水平同期のサイクル数THc、及び、垂直同期のライン数TVlを使用すると、FR=THc×TVl/Fdotとなる。ここで更新周期FRが長すぎると、フリッカなどの異常が生じるおそれがあり、一方、更新周期FRが短すぎると、表示装置が正常な更新処理を実行できないので、0.95/60<FR[秒]<1.05/60の範囲に規定すべきである。 This relationship defines the update period FR [seconds] of the display device DS1, and is expressed as FR = THc × TVl/ Fdot , where Fdot is the frequency of the dot clock DCK, THc is the number of horizontal synchronization cycles, and TVl is the number of vertical synchronization lines, as described below. If the update period FR is too long, there is a risk of abnormalities such as flickering, whereas if the update period FR is too short, the display device will not be able to perform normal update processing. Therefore, the update period FR should be defined in the range 0.95/60 < FR [seconds] < 1.05/60.
この設定に対応して、データ有効信号ENABは、各ラインの画像更新動作において、382クロックに対応する待機時間WTh(=382/108MHz)は、Lレベルであり、その後、1280クロックに対応するアクティブ区間(=1280/108MHz)は、アクティブレベル(H)となる(図15(c))。なお、図15(d)と、図15(e)に示す通り、データ有効信号ENABのアクティブ区間では、一ライン1280ドットの画素について、所定の時間(11.85μS=1280/108MHz)で画像更新動作が完了するよう、画像データが出力される。すなわち、1280個のドットクロックDCKに同期して、1280個の画素データ(Pixel Data)が出力される。なお、表示装置DS1には、諧調度28×28×28のフルカラー画像が表示されるので、1画素の画素データは、3×8ビット長である。 Corresponding to this setting, the data valid signal ENAB is at the L level during the wait time WTh (=382/108 MHz) corresponding to 382 clocks during the image update operation for each line, and then becomes active (H) during the active interval (=1280/108 MHz) corresponding to 1280 clocks (FIG. 15(c)). As shown in FIGS. 15(d) and 15(e), during the active interval of the data valid signal ENAB, image data is output so that the image update operation for one line of 1280 dots of pixels is completed within a predetermined time (11.85 μS = 1280/108 MHz). That is, 1280 pieces of pixel data are output in synchronization with 1280 dot clocks DCK. Since the display device DS1 displays a full-color image with a gradation of 28 × 28 × 28 , the pixel data for one pixel is 3 × 8 bits long.
ところで、本実施例では、メイン表示装置DS1では必要とはされないものの、垂直同期信号VSと水平同期信号HSを出力している。垂直同期信号VSは、垂直待機時間WTvの時間内に出力され、水平同期信号HSは、水平待機時間WThの時間内に出力される。なお、図15(a)と図15(b)には、理解の便宜上、各々の動作周期が示されている。また、図15(f)には、TH×TV(=1083×1662クロック)で特定される矩形枠の左上と右下の頂点に、〇印を示して「表示動作の開始」「表示動作の終了」と記載されているが、この〇印は、1/60秒ごとに開始される表示回路74Aの動作周期を規定する「Vブランク開始」を意味する。表示動作を規定する1083×1662クロックが、1/60秒に一致するので、「表示動作の開始」から「表示動作の終了」までの経過時間(表示回路74Aの動作周期)は1/60秒である。なお、「Vブランク開始」については、図22に基づいて後述する。 In this embodiment, the main display device DS1 outputs a vertical synchronization signal VS and a horizontal synchronization signal HS, even though they are not required. The vertical synchronization signal VS is output within the vertical wait time WTv, and the horizontal synchronization signal HS is output within the horizontal wait time WTh. For ease of understanding, Figures 15(a) and 15(b) show the respective operating cycles. Also, Figure 15(f) shows a rectangular frame defined by TH x TV (= 1083 x 1662 clocks) with circles at the top left and bottom right vertices, indicating "Start of display operation" and "End of display operation." These circles represent "V blank start," which defines the operating cycle of the display circuit 74A, which starts every 1/60 seconds. Since the 1083 x 1662 clock that defines the display operation coincides with 1/60 seconds, the elapsed time from the "start of display operation" to the "end of display operation" (the operating cycle of the display circuit 74A) is 1/60 seconds. Note that "V blank start" will be discussed later with reference to Figure 22.
図14に戻って説明を続けると、実施例の出力選択部79は、表示回路74Aの出力信号を、108MHzのドットクロックDCKを2分周するデュアルリンクに分割して、各々、LVDS部80aと、LVDS部80bに伝送している(図14(a)、図5参照)。そして、各LVDS部80a,80bは、画像データ(合計24bitのデジタルRGB信号)を、第1と第2のLVDS信号に変換し、これにクロック信号(54MHz=108/2)を伝送する一対を加えて、全五対の差動信号LVDS1,LVDS2として、2つの経路を経由して、メイン表示装置DS1に出力している(図14(a)図4参照)。 Returning to Figure 14, the output selection unit 79 of this embodiment divides the output signal of the display circuit 74A into dual links by dividing the 108 MHz dot clock DCK by two, and transmits them to the LVDS units 80a and 80b, respectively (see Figures 14(a) and 5). Each LVDS unit 80a, 80b then converts the image data (a total of 24-bit digital RGB signals) into first and second LVDS signals, adds a pair that transmits a clock signal (54 MHz = 108/2), and outputs a total of five pairs of differential signals LVDS1, LVDS2 via two paths to the main display device DS1 (see Figure 14(a) and 4).
先に説明した通り、メイン表示装置DS1では、一画素分のODD信号と、隣接する一画素分のEVEN信号とが、同じタイミングで処理されるので、実質的な動作クロックCKの周波数は、表示回路74Aが出力する108MHzのドットクロックDCKに一致する。 As explained earlier, in the main display device DS1, the ODD signal for one pixel and the EVEN signal for the adjacent pixel are processed at the same time, so the frequency of the actual operating clock CK matches the 108 MHz dot clock DCK output by the display circuit 74A.
以上、メイン表示装置DS1に伝送すべき画像を生成する表示回路74Aについて説明したが、表示回路74Bは、サブ表示装置DS2に伝送すべき画像データを生成している。表示回路74Bが出力するデジタルRGB信号は、出力選択部79を経由してデジタルRGB部80cに供給され、垂直同期信号VSや水平同期信号HSと共に、サブ表示装置DS2に伝送される。 The above describes the display circuit 74A, which generates images to be transmitted to the main display device DS1. The display circuit 74B generates image data to be transmitted to the sub-display device DS2. The digital RGB signal output by the display circuit 74B is supplied to the digital RGB section 80c via the output selection section 79, and is transmitted to the sub-display device DS2 along with the vertical synchronization signal VS and horizontal synchronization signal HS.
なお、同期信号VS,HSと共に、データ有効信号ENABもデジタルRGB部80cを経由して伝送されるが、これら各信号は、LVDS伝送路の場合のような離散値ではなく、連続信号として伝送されるのは勿論である(図14(a)参照)。 In addition to the synchronization signals VS and HS, the data valid signal ENAB is also transmitted via the digital RGB section 80c, but of course these signals are transmitted as continuous signals rather than as discrete values as in the case of an LVDS transmission line (see Figure 14(a)).
ところで、本実施例の場合、各表示回路74A~74Bには、表示タイミングに対して、表示データの生成が間に合わなかったUnderrun異常をカウントするアンダーランカウンタURCNTa~URCNTcが設けられている(図15参照)。そして、このアンダーランカウンタURCNTa~URCNTcのカウンタ値は、アンダーラン異常が発生するとVBLANK毎に自動的に加算されるよう構成されている。 In this embodiment, each display circuit 74A-74B is provided with an underrun counter URCNTa-URCNTc that counts underrun abnormalities, which occur when display data is not generated in time for the display timing (see Figure 15). The counter values of these underrun counters URCNTa-URCNTc are configured to be automatically incremented for each VBLANK when an underrun abnormality occurs.
次に、SMC回路78(Serial Management Controller)は、LEDコントローラとMotorコントローラとを内蔵した複合コントコントローラである。そして、外部基板に搭載したLED/Motorドライバ(シフトレジスタを内蔵するドライバIC)に対して、クロック信号に同期してLED駆動信号やモータ駆動信号を出力する一方、適宜なタイミングで、ラッチパルスを出力可能に構成されている。 Next, the SMC circuit 78 (Serial Management Controller) is a composite controller incorporating an LED controller and a motor controller. It outputs LED drive signals and motor drive signals in synchronization with a clock signal to an LED/motor driver (a driver IC incorporating a shift register) mounted on an external board, while also being able to output latch pulses at appropriate timing.
上記したVDP回路52の内部回路及びその動作に関し、内部回路が実行すべき動作内容は、演出制御CPU63が、制御レジスタ群70に設定する動作パラメータ(設定値)で規定され、VDP回路52の実行状態は、制御レジスタ群70の動作ステイタス値をREADすることで特定できるようになっている。制御レジスタ群70は、演出制御CPU63のメモリマップ上、1Mバイト程度のアドレス空間(0~FFFFFH)にマッピングされた多数のVDPレジスタRGijを意味し、演出制御CPU63は、CPUIF部81を経由して動作パラメータのWRITE (設定)動作と、動作ステイタス値のREAD動作を実行するようになっている(図8(b)参照)。 Regarding the internal circuitry and operation of the VDP circuit 52 described above, the operations to be performed by the internal circuitry are defined by operational parameters (setting values) set in the control register group 70 by the performance control CPU 63, and the execution state of the VDP circuit 52 can be determined by reading the operational status values of the control register group 70. The control register group 70 refers to the numerous VDP registers RGij mapped to an address space of approximately 1 MB (0-FFFFFH) on the memory map of the performance control CPU 63, and the performance control CPU 63 writes (sets) operational parameters and reads operational status values via the CPUIF unit 81 (see Figure 8(b)).
制御レジスタ群70(VDPレジスタRGij)には、割り込み動作などシステム動作に関する初期設定値が書込まれる「システム制御レジスタ」と、内蔵VRAMにAAC領域(a) やページ領域(b) を確定する共に、インデックステーブルIDXTBLを構築又は変更などに関する「インデックステーブルレジスタ」と、演出制御CPU63とVDP回路52の内部回路との間のデータ転送回路72によるデータ転送処理に関する設定値などが書込まれる「データ転送レジスタ」と、グラフィックスデコーダ75の実行状況を特定する「GDECレジスタ」と、指示コマンドや描画回路76に関する設定値が書込まれる「描画レジスタ」と、プリローダ73の動作に関する設定値が書込まれる「プリローダレジスタ」と、表示回路74の動作に関する設定値が書込まれる「表示レジスタ」と、LEDコントローラ(SMC回路78)に関する設定値が書込まれる「LED制御レジスタ」と、Motorコントローラ(SMC回路78)に関する設定値が書込まれる「モータ制御レジスタ」と、音声回路SNDに関する設定値が書込まれる「音声制御レジスタSRG」と、が含まれている。但し、本実施例では、音声回路SNDを活用していない。 The control register group 70 (VDP register RGij) includes a "system control register" in which initial settings related to system operations such as interrupt operations are written, and an AAC area (a) and a page area (b) in the built-in VRAM. The registers include an "index table register" for determining the index table IDXTBL and for constructing or modifying it, a "data transfer register" for writing settings related to the data transfer process by the data transfer circuit 72 between the performance control CPU 63 and the internal circuitry of the VDP circuit 52, a "GDEC register" for specifying the execution status of the graphics decoder 75, a "drawing register" for writing instruction commands and settings related to the drawing circuit 76, a "preloader register" for writing settings related to the operation of the preloader 73, a "display register" for writing settings related to the operation of the display circuit 74, an "LED control register" for writing settings related to the LED controller (SMC circuit 78), a "motor control register" for writing settings related to the motor controller (SMC circuit 78), and an "audio control register SRG" for writing settings related to the audio circuit SND. However, in this embodiment, the audio circuit SND is not used.
何れにしても、以下の説明では、制御レジスタ群70に含まれる一又は複数のレジスタRGijを、上記した個別名称で呼ぶ場合と、VDPレジスタRGijと総称することがあるが、何れにしても、演出制御CPU63は、所定のVDPレジスタRGijに、適宜な設定値を書込むことで、VDP回路52の内部動作を制御している。具体的には、演出制御CPU63は、適宜な時間間隔で更新するディスプレイリストDLと、所定のVDPレジスタRGijへの設定値に基づいて、所定の画像演出を実現している。なお、この実施例では、ランプ演出やモータ演出も含め、演出制御CPU63が担当するので、VDPレジスタRGijには、LED制御レジスタやモータ制御レジスタも含まれる。 In any case, in the following explanation, one or more registers RGij included in the control register group 70 will be referred to either by the individual names mentioned above or collectively as VDP registers RGij. In either case, the performance control CPU 63 controls the internal operation of the VDP circuit 52 by writing appropriate setting values to specific VDP registers RGij. Specifically, the performance control CPU 63 realizes specific image effects based on the display list DL, which is updated at appropriate time intervals, and the setting values in the specific VDP registers RGij. In this embodiment, the performance control CPU 63 is responsible for lamp effects and motor effects as well, so the VDP registers RGij also include LED control registers and motor control registers.
続いて、上記したCPU回路51とVDP回路52とを内蔵した複合チップ50によって実現される、画像演出、音声演出、モータ演出、及び、ランプ演出の統一的な演出制御動作について説明する。 Next, we will explain the unified control operation of image effects, audio effects, motor effects, and lamp effects, which is realized by the composite chip 50 incorporating the above-mentioned CPU circuit 51 and VDP circuit 52.
本実施例の場合、複合チップ50の動作は、電源投入や異常リセットによるパワーオンリセット動作(図16(a)参照)によって開始され、初期設定プログラム(ブートプログラム)Pinitによる初期設定処理(SP1~SP9)を経て、演出制御プログラムMain及び割込み処理プログラム(ベクタハンドラ)Voptによるメイン制御処理(SP10)に移行するよう構成されている。メイン制御処理については、図18(a)に、その導入部の処理内容が記載されており、本体部の処理内容が図22(a)に記載されている。なお、図18のステップSP27の処理は、図21(a)のステップSS1~SS3の処理を含んでいない。 In this embodiment, the operation of the composite chip 50 is initiated by a power-on reset operation (see Figure 16(a)) caused by power-on or abnormal reset, and is configured to transition through initial setup processing (SP1-SP9) by the initial setup program (boot program) Pinit, and then to main control processing (SP10) by the performance control program Main and the interrupt processing program (vector handler) Vopt. The introductory part of the main control processing is described in Figure 18(a), and the main part of the main control processing is described in Figure 22(a). Note that the processing of step SP27 in Figure 18 does not include the processing of steps SS1-SS3 in Figure 21(a).
以上を踏まえて、パワーオンリセット動作について図16(a)に基づいて説明する。電源投入時など、システムリセット信号SYSが所定の期間(アサート期間)Lレベルを維持すると、全ての動作制御レジスタREGや、全てのVDPレジスタRGijは、所定のデフォルト値に自動設定される。 Based on the above, the power-on reset operation will be explained with reference to Figure 16(a). When the system reset signal SYS remains at the L level for a predetermined period (assertion period), such as when power is turned on, all operation control registers REG and all VDP registers RGij are automatically set to predetermined default values.
そして、その後、システムリセット信号SYSがHレベル(ネゲートレベル)に変化すると(図6(d)のタイミングT1参照)、本実施例では、CPUリセット後の経過時間を計測するべく、計時タイマTM(図9(a))の動作を開始させる(SP1)。また、アドレス空間CS0の先頭番地からの32bitデータが、演出制御CPU63のプログラムカウンタPCに設定され、これに続く32bitデータが、スタックポインタSPに設定されるよう構成されている(SP1)。なお、図10や図17(c)では、プログラムカウンタPCやスタックポインタSPの初期値を記憶するメモリの先頭領域をベクタテーブルVECTと称している。 Then, when the system reset signal SYS subsequently changes to H level (negate level) (see timing T1 in Figure 6(d)), in this embodiment, the clock timer TM (Figure 9(a)) starts operating to measure the elapsed time after the CPU reset (SP1). Also, 32-bit data from the first address of address space CS0 is set in the program counter PC of the performance control CPU 63, and the following 32-bit data is set in the stack pointer SP (SP1). In Figures 10 and 17(c), the top area of memory that stores the initial values of the program counter PC and stack pointer SP is called the vector table VECT.
図16(b)に示す通り、このベクタテーブルVECTには、優先度と割込み要因などを特定するベクタ番号と、アドレス情報とが対応して記憶されている。ベクタ番号は、その番号が小さいほど優先度が高いが、例えば、ベクタ番号11は、マスク不能割込み(NMI)であって、アドレス情報として、NMI割込み時に実行される割込み処理プログラムの先頭アドレスが記憶されている。また、ベクタ番号64は、VDPからの内部割込み(VDP_IRQ0)であって、アドレス情報として、VDP_IRQ0割込み時に実行される割込み処理プログラムの先頭アドレスが記憶されている。 As shown in Figure 16(b), this vector table VECT stores vector numbers that specify priority and interrupt causes, etc., in association with address information. The smaller the vector number, the higher the priority. For example, vector number 11 is a non-maskable interrupt (NMI), and the address information stored therein is the start address of the interrupt processing program executed upon an NMI interrupt. Furthermore, vector number 64 is an internal interrupt from the VDP (VDP_IRQ0), and the address information stored therein is the start address of the interrupt processing program executed upon a VDP_IRQ0 interrupt.
割込み優先度は、図18(d)に示す通りであるので、ベクタ番号64より小さいベクタ番号の欄には、制御コマンド受信割込みIRQ_CMD と、20μSタイマ割込みと、1mSタイマ割込みについて、割込み処理プログラムの先頭アドレスが各々記憶されていることになる。一方、ベクタ番号64より大きいベクタ番号の欄には、VDP_IRQ 1より優先度が低い割込み処理プログラム(IRQ_SND ,IRQ_RTC など)の先頭アドレスが各々記憶されている。 The interrupt priorities are as shown in Figure 18 (d), so the columns for vector numbers smaller than vector number 64 store the start addresses of the interrupt processing programs for the control command receive interrupt IRQ_CMD, the 20μS timer interrupt, and the 1mS timer interrupt. On the other hand, the columns for vector numbers larger than vector number 64 store the start addresses of interrupt processing programs (IRQ_SND, IRQ_RTC, etc.) with a lower priority than VDP_IRQ 1.
また、ベクタテーブルVECTにおいて、ベクタ番号0とベクタ番号1は、パワーオンリセット時にCPUのプログラムカウンタと、スタックポインタに自動設定されるべき、設定値が規定されている。図16(b)に示す通り、この実施例では、パワーオンリセット時(リセットアサート期間)の内部動作として、4バイトデータ「****」が、プログラムカウンタPCに設定され、4バイトデータ「++++」がスタックポインタSPに設定される。なお、「****」は、アドレス空間CS0に不揮発的に記憶されている初期設定プログラムPinit(図16のSP1~SP9)の先頭アドレス値であり、「++++」は、内蔵RAM59に確保された、LIFO(Last-In First-Out )方式で機能するスタック領域の先端又は終端のアドレス値である。 In addition, the vector table VECT specifies the values for vector number 0 and vector number 1 to be automatically set in the CPU's program counter and stack pointer upon power-on reset. As shown in Figure 16(b), in this embodiment, the internal operation upon power-on reset (reset assertion period) is to set 4-byte data "****" in the program counter PC and 4-byte data "++++" in the stack pointer SP. Note that "****" is the starting address value of the initialization program Pinit (SP1 to SP9 in Figure 16) stored non-volatilely in address space CS0, and "++++" is the address value of the beginning or end of the stack area allocated in internal RAM 59, which functions in a LIFO (Last-In First-Out) manner.
なお、本実施例では、レジスタバンクRBiを有効活用するので、割込み処理時に、スタック領域が消費されることなく、それほどのメモリ容量は必要とされない。すなわち、本実施例では、スタック領域は、専ら、関数処理や、サブルーチン処理において活用される。 In this embodiment, the register bank RBi is used effectively, so stack space is not consumed during interrupt processing, and so significant memory capacity is not required. In other words, in this embodiment, the stack space is used exclusively for function processing and subroutine processing.
以上の動作の結果、その後、演出制御CPU63は、アドレス値「****」以降に記載された初期設定プログラムPinitを実行することになる。但し、アドレス空間CS0のメモリREAD動作は、バスステートコントローラ66(図9)の動作を規定する動作制御レジスタREGのデフォルト値(初期値)に基づいて実行される。この動作制御レジスタREGの初期値は、リセットアサート期間(システムリセット信号SYSがLレベルを維持する図7(d)に示す期間)に自動的に設定される値であり、アドレス空間CS0を、如何なるメモリデバイスで構成しても、問題なくREADアクセスできるよう、最遅READアクセス動作(デフォルトアクセス動作)に設定されている。 As a result of the above operations, the performance control CPU 63 will then execute the initial setting program Pinit, which is written after the address value "****". However, the memory READ operation for address space CS0 is executed based on the default value (initial value) of the operation control register REG, which defines the operation of the bus state controller 66 (Figure 9). The initial value of this operation control register REG is a value that is automatically set during the reset assertion period (the period shown in Figure 7(d) when the system reset signal SYS maintains an L level), and is set to the slowest READ access operation (default access operation) so that address space CS0 can be accessed without any problems, regardless of the memory device it is configured with.
そこで、このデフォルトアクセス動作を、最適なアクセス動作に変更するべく、最初に、アドレス空間CS0に対するバスステートコントローラ66(図9)の動作を規定する所定の動作制御レジスタREGに最適値を設定する(SP1)。すなわち、初期設定プログラムPinit(SP1~SP9)、演出制御プログラムMainB(SP10以下)、定数データなどを格納したPROM53をアクセスする場合のメモリREAD動作を、メモリデバイスに合わせて最適化するべく、バス幅やページアクセスの有無を設定すると共に、チップセレク信号CS0や、READ制御信号や、WRITE 制御信号その他の動作タイミングを最適設定する(図40参照)。 To change this default access behavior to the optimal access behavior, an optimal value is first set in a specific operation control register REG, which defines the operation of the bus state controller 66 (Figure 9) for address space CS0 (SP1). That is, to optimize the memory READ operation when accessing PROM 53, which stores the initial setting program Pinit (SP1-SP9), performance control program MainB (SP10 and following), constant data, etc., to suit the memory device, the bus width and whether or not page access is enabled are set, and the operation timing of the chip select signal CS0, READ control signal, WRITE control signal, and other signals are optimally set (see Figure 40).
以上の設定の結果、ステップSP2以降の処理は、アドレス空間CS0に記憶されているプログラムを、最適にメモリREADして実行されることになる。そこで、次に、演出制御CPU63が、VDPレジスタRGijをアクセスする場合のREAD/WRITE アクセス動作を最適化するべく、VDPレジスタRGijに対するバスステートコントローラ66(図9)の動作を規定する所定の動作制御レジスタREGに最適値を設定する(SP2)。 As a result of the above settings, processing from step SP2 onwards will be executed by optimally reading the program stored in address space CS0 from memory. Next, the performance control CPU 63 sets an optimal value in a specified operation control register REG that defines the operation of the bus state controller 66 (Figure 9) for VDP register RGij, in order to optimize the READ/WRITE access operation when accessing VDP register RGij (SP2).
先に説明した通り、本実施例では、VDPレジスタRGijは、演出制御CPU63のアドレス空間CS7に位置付けられているので、チップセレク信号CS7や、その他の制御信号の動作タイミングを最適設定するべく所定の動作制御レジスタREGに所定値を書込むことになる。 As explained above, in this embodiment, the VDP register RGij is located in the address space CS7 of the performance control CPU 63, so a predetermined value is written to a predetermined operation control register REG to optimally set the operation timing of the chip select signal CS7 and other control signals.
続いて、特定のVDPレジスタRGijのレジスタ値を読み出して、その値が所定値(デバイスコード)か否かを判定する(SP3)。これは、VDP回路52のシステムクロックが安定化したことの確認判定である。すなわち、VDP回路52は、PLLREF端子に供給される発振器OSC2の発振出力に基づいて動作するが、このVDP回路52が、CPU回路51からの指令(つまり、VDPレジスタRGijへの設定など)を正常に受け付け可能か否かの判定である。 Next, the register value of a specific VDP register RGij is read, and it is determined whether this value is a predetermined value (device code) (SP3). This is a confirmation that the system clock of the VDP circuit 52 has stabilized. In other words, the VDP circuit 52 operates based on the oscillation output of oscillator OSC2 supplied to the PLLREF terminal, and this is a determination of whether the VDP circuit 52 can normally accept commands from the CPU circuit 51 (i.e., settings to the VDP register RGij, etc.).
そして、デバイスコードの読出し処理(SP3)によって、システムクロックが安定化したことが確認できれば、その後は、VDP回路52の正常動作を期待できるので、所定のVDPレジスタRGijに対する設定処理を実行する(SP4~SP6)。ステップSP4の処理では、先ず、演出制御CPU63からVDPレジスタRGijをアクセスする場合のエンディアン設定(ビッグ/リトル)や、データバス幅を設定し(SP40)、また、VDP回路からCPU回路への内部割込み(VDP_IRQ0,VDP_IRQ1,VDP_IRQ2,VDP_IRQ3)について、割込み有意レベル(H/L)を設定する(SP41)。 Then, once it is confirmed that the system clock has stabilized through the device code read process (SP3), normal operation of the VDP circuit 52 can be expected, and the setting process for the specified VDP register RGij is executed (SP4-SP6). In the process of step SP4, first, the endian setting (big/little) and data bus width when accessing the VDP register RGij from the performance control CPU 63 are set (SP40), and the interrupt significance level (H/L) for the internal interrupts (VDP_IRQ0, VDP_IRQ1, VDP_IRQ2, VDP_IRQ3) from the VDP circuit to the CPU circuit is set (SP41).
なお、本実施例では、設定値の最上位ビット(Most significant Bit)を、VDPレジスタRGijの最上位ビットに格納するビックエンディアンに設定し、データ32バス幅を32bitに設定するが、これらの設定値が、仮に、デフォルト値と同じであれば、これらの設定処理を省略することもできる(以下の処理も同様)。 In this embodiment, the most significant bit of the setting value is set to big endian, which stores it in the most significant bit of the VDP register RGij, and the data 32 bus width is set to 32 bits. However, if these setting values are the same as the default values, these setting processes can be omitted (the same applies to the following processes).
また、ステップSP4の処理では、所定のシステム制御レジスタRGijへの設定値に基づいて、表示クロックの周波数が設定される(SP42~SP44)。具体的には、表示回路74Aと表示回路74Bについて、40MHzのリファレンスクロック(発振器OSC2の出力)を基礎にして、ドットクロックDCKAやDCKBを生成することを、各々、所定のシステム制御レジスタRGijに設定し(SP42)、このリファレンスクロックに対する逓倍比と分周比を表示回路毎に適宜に規定する(SP43)。また、表示回路74Bの動作開始を、表示回路74Aの動作開始に同期させるべく所定のシステム制御レジスタRGijに設定する(SP44)。更にまた、LVDSのサンプリングクロックを表示回路AのドットクロックDCKAと同一に設定する(SP43)。 Furthermore, in the processing of step SP4, the frequency of the display clock is set based on the value set in a predetermined system control register RGij (SP42-SP44). Specifically, for display circuits 74A and 74B, the generation of dot clocks DCKA and DCKB based on the 40 MHz reference clock (output of oscillator OSC2) is set in the predetermined system control register RGij (SP42), and the multiplication ratio and division ratio for this reference clock are specified appropriately for each display circuit (SP43). Furthermore, the start of operation of display circuit 74B is set in the predetermined system control register RGij to synchronize with the start of operation of display circuit 74A (SP44). Furthermore, the LVDS sampling clock is set to the same as the dot clock DCKA of display circuit A (SP43).
これらの処理において、ドットクロックDCKは、表示回路74Aと表示回路74Bについて別々に設定され、表示回路74Aに適用されるメイン表示装置DS1用のドットクロックDCKAの周波数は、先に説明した通り、108MHzに設定される。一方、表示回路74Bに適用されるサブ表示装置DS2用のドットクロックDCKBの周波数は、横480×縦800ピクセルに対応して、27MHzに設定される。 In this process, the dot clock DCK is set separately for display circuit 74A and display circuit 74B, and the frequency of the dot clock DCKA for the main display device DS1 applied to display circuit 74A is set to 108 MHz, as explained above. On the other hand, the frequency of the dot clock DCKB for the sub-display device DS2 applied to display circuit 74B is set to 27 MHz, corresponding to 480 horizontal x 800 vertical pixels.
また、ステップSP4の処理では、LVDS部80をデュアルリンク(一対のLVDS伝送路)として使用すると設定し(SP45)、また、所定のシステム制御レジスタRGijへの設定値に基づいて、LVDS部80の動作状態を、ゼロを出力するマスク状態(Defult状態)から、表示回路74の出力にしたがうマスク解除状態に切り替える(SP45)。なお、LVDS部80をシングルリンク(単一のLVDS伝送路)として使用する場合には、ステップSP45の処理において、その旨の設定をすることになる。 Furthermore, in the processing of step SP4, the LVDS unit 80 is set to be used as a dual link (a pair of LVDS transmission paths) (SP45), and based on the setting value of a predetermined system control register RGij, the operating state of the LVDS unit 80 is switched from a masked state (Default state) that outputs zero to an unmasked state that follows the output of the display circuit 74 (SP45). Note that if the LVDS unit 80 is to be used as a single link (a single LVDS transmission path), the processing of step SP45 will set it accordingly.
図6(f)に示すように、ステップSP45の処理の結果、LVDS部80の動作がdefult状態から非マスク状態に切り替わることで、その後、表示回路74が動作を開始したタイミングT4の後は(図21のSS4参照)、LVDS部80a,80bには、出力選択部79を経由して、ODD信号とEVEN信号が供給され、デュアルリンクを経由して、表示装置DS1にLVDS信号(LVDS1/LVDS2)が伝送されることになる(図14(a)参照)。なお、LVDSのサンプリングクロックは、表示回路AのドットクロックDCKAと同一の108MHzであると設定されるが、本実施例では、デュアルリンク構成を採るので、各デュアルリンクにおけるLVDSサンプリングクロックは、54MHzである(図4参照)。 As shown in FIG. 6(f), as a result of the processing of step SP45, the operation of the LVDS unit 80 switches from the default state to the non-masked state. After that, after timing T4 when the display circuit 74 starts operating (see SS4 in FIG. 21), the ODD signal and EVEN signal are supplied to the LVDS units 80a and 80b via the output selection unit 79, and the LVDS signal (LVDS1/LVDS2) is transmitted to the display device DS1 via the dual link (see FIG. 14(a)). Note that the LVDS sampling clock is set to 108 MHz, the same as the dot clock DCKA of display circuit A. However, since this embodiment uses a dual link configuration, the LVDS sampling clock in each dual link is 54 MHz (see FIG. 4).
また、ステップSP4の処理では、PLLREF端子(図8(a)参照)へのクロック信号(リファレンスクロック)に基づいてDDR(DRAM54)を機能させる旨を設定する(SP46)。なお、PLLREF端子に、発振器OSC2のリファレンスクロックが供給されることは、図8(a)に関して説明した通りである。また、DDR(DRAM54)に内蔵されたレジスタに、適宜な値を設定することで、DRAM54の自己リフレッシュ機能(Self-Refresh Operation)を有効化し、DRAM54が正常動作するためのその他の設定をする(SP47)。以上の処理によって、DRAM54は、正常に動作可能な状態になり、その後のPROM53からDRAM54へのデータ転送動作(SP8)や、DRAM54に転送された制御プログラムの実行(SP10)が、何ら問題なく実現されることになる。 Furthermore, in the processing of step SP4, a setting is made to operate the DDR (DRAM 54) based on the clock signal (reference clock) to the PLLREF terminal (see FIG. 8(a)) (SP46). As explained with reference to FIG. 8(a), the reference clock from oscillator OSC2 is supplied to the PLLREF terminal. Furthermore, by setting appropriate values in a register built into the DDR (DRAM 54), the self-refresh function of the DRAM 54 is enabled, and other settings are made to ensure normal operation of the DRAM 54 (SP47). Through the above processing, the DRAM 54 is placed in a state where it can operate normally, and the subsequent data transfer operation from PROM 53 to DRAM 54 (SP8) and the execution of the control program transferred to the DRAM 54 (SP10) are realized without any problems.
続いて、図10に示すメモリマップを実現するべく、アドレス空間CS1~CS6を定義する(SP5)。先に説明した通り、アドレス空間CS3は、音声プロセッサ27の内部レジスタに付与され、アドレス空間CS4は、RTC38の内部レジスタやSRAM39のアドレス空間に付与され、アドレス空間CS5は、外付けDRAM(DDR)54に付与され、アドレス空間CS6は、内蔵CPUのワークメモリ57に付与される。 Next, address spaces CS1 to CS6 are defined to realize the memory map shown in Figure 10 (SP5). As explained above, address space CS3 is assigned to the internal registers of the audio processor 27, address space CS4 is assigned to the internal registers of the RTC 38 and the address space of the SRAM 39, address space CS5 is assigned to the external DRAM (DDR) 54, and address space CS6 is assigned to the work memory 57 of the built-in CPU.
なお、VDPレジスタRGijが、アドレス空間CS7に割り当てられることは固定的に規定されているので、アドレス空間CS7の定義処理は不要である。また、アドレス空間CS0は、CPU回路51のメモリマップ0x000000000番地以降であることは予め固定的に規定されており、この規定を前提として、アドレス空間CS0が、CGROM55に確保されているか、その他のメモリデバイスに付与されるかは、HBTSL 端子のH/Lレベルで規定される。 Note that since it is fixedly specified that VDP register RGij is assigned to address space CS7, there is no need to define address space CS7. Furthermore, it is fixedly specified in advance that address space CS0 is from address 0x000000000 onwards in the memory map of the CPU circuit 51. Based on this specification, whether address space CS0 is secured in CGROM 55 or assigned to another memory device is specified by the H/L level of the HBTSL terminal.
先に説明した通り、本実施例では、HBTSL 端子=Lとなっており、CGROM55以外にアドレス空間CS0が定義されていることが示されている。そして、CGROM55以外である制御メモリ53の具体的なバス幅や、最適なアクセス動作については、ステップSP1において設定済みであるので、アドレス空間CS0についても、ステップSP5の処理は不要である。 As explained earlier, in this embodiment, the HBTSL terminal is set to L, indicating that address space CS0 is defined in addition to CGROM 55. Furthermore, since the specific bus width and optimal access operation for control memory 53, which is other than CGROM 55, have already been set in step SP1, processing in step SP5 is not required for address space CS0 either.
続いて、ステップSP5の処理で定義されたアドレス空間CS1~CS6について、各アドレス空間CSiをアクセスする場合のバス幅やページアクセスの有無について、所定の動作制御レジスタREGに所定値を書込む(SP6)。また、チップセレク信号CSiその他を最適設定するべく、所定の動作制御レジスタREGに所定値を書込む(SP6)。これらの処理は、ステップSP1やSP2の処理と同様の内容であり、バスステートコントローラ66(図9)の動作を規定する動作制御レジスタへの書込み処理によって、チップセレク信号CSi、READ制御信号、WRITE 制御信号、その他の動作タイミングが最適に設定される。 Next, for the address spaces CS1 to CS6 defined in step SP5, predetermined values are written to a predetermined operation control register REG regarding the bus width and whether or not page access is to be performed when accessing each address space CSi (SP6). Furthermore, predetermined values are written to a predetermined operation control register REG to optimally set the chip select signal CSi and other signals (SP6). These processes are similar to those in steps SP1 and SP2, and the chip select signal CSi, READ control signal, WRITE control signal, and other operation timings are optimally set by writing to the operation control registers that define the operation of the bus state controller 66 (Figure 9).
続いて、既に動作を開始しているWDT回路58に関し、WDT回路58にクリア信号を出力することで、異常リセットを回避する(SP7)。これは、電源投入後、WDT回路58が自動的に動作を開始することを考慮したものであり、この後も、繰り返し同様の処理が実行される。なお、ステップSP9の処理は、サブルーチンSP7として制御メモリ53に格納されているが、ステップSP9の終了時までは、制御メモリ53のサブルーチンSP7が呼び出され、ステップSP9の終了後は、外付けDRAM54に転送された別のサブルーチンSP7’が呼び出されて実行される。 Next, a clear signal is output to the WDT circuit 58, which has already started operating, to avoid an abnormal reset (SP7). This takes into account that the WDT circuit 58 automatically starts operating after power is turned on, and similar processing is executed repeatedly thereafter. Note that the processing of step SP9 is stored in control memory 53 as subroutine SP7, but until the end of step SP9, subroutine SP7 in control memory 53 is called, and after the end of step SP9, another subroutine SP7' transferred to external DRAM 54 is called and executed.
続いて、アドレス空間CS0に格納されているプログラムやデータのうち、図16(b)や図17(c)に示すベクタハンドラVopt(割込み処理プログラム)、エラー復帰処理プログラムPiram、演出制御プログラムMainB、初期値有り変数D、及び、定数データCを、外付けDRAM54や、内蔵RAM59に転送する(SP8)。なお、初期値有り変数Dとは、所定の変数領域に記憶されている初期値データを意味する。このメモリセクションの初期化処理(SP8)は、演出制御処理の高速化を図るため、プログラムやデータを転送する処理であり、アクセス速度に劣るROMへのアクセスを回避するための処理である。 Next, of the programs and data stored in address space CS0, the vector handler Vopt (interrupt processing program), error recovery processing program Piram, performance control program MainB, variable D with initial value, and constant data C shown in Figures 16(b) and 17(c) are transferred to external DRAM 54 or internal RAM 59 (SP8). Note that variable D with initial value refers to initial value data stored in a specified variable area. This memory section initialization process (SP8) transfers programs and data to speed up performance control processing and avoids access to ROM, which has slower access speeds.
そして、次に、レジスタバンクRBiを使用する旨の設定をする(SP9)。そのため、その後は、割込み処理時に、レジスタバンクRB0~RB14が機能することになり、割込み処理が迅速化されると共に、スタック領域の消費が緩和される。 Next, settings are made to use register bank RBi (SP9). As a result, register banks RB0 to RB14 will function during interrupt processing, speeding up interrupt processing and reducing stack space consumption.
以上の処理は、アドレス空間CS0である制御メモリ53に格納されている「初期設定プログラムPinit」の実行によって実現される(図17(c)参照)。そして、この初期設定プログラムPinitの実行が終われば、続いて、演出制御プログラムMainによるメイン制御処理を実行する(SP10)。ここで、メイン制御処理の実行とは、ステップSP8の転送処理によって、制御メモリ53から外付けDRAM54に転送された「演出制御プログラムMain」の実行を意味する(図16(b)参照)。 The above processing is realized by executing the "initialization program Pinit" stored in the control memory 53, which is address space CS0 (see Figure 17(c)). Once execution of this initialization program Pinit is complete, the main control processing is then executed by the performance control program Main (SP10). Here, execution of the main control processing refers to the execution of the "performance control program Main" transferred from the control memory 53 to the external DRAM 54 by the transfer processing of step SP8 (see Figure 16(b)).
「演出制御プログラムMain」の処理は、図18(a)と図21の上部に示すメイン導入処理と、図21下部と図22(a)に示すメイン本体処理とに区分される。具体的な内容については、図18(a)、及び、図21~図22に基づいて説明するが、それに先行して、メモリセクションの初期化処理(SP8)について説明する。図17(a)に示す通り、メモリセクションの初期化処理(SP8)では、最初に複数チャネルのDMACを動作停止状態に初期設定する。なお、この処理は、念のための形式的な処理に過ぎない。 The processing of the "Performance Control Program Main" is divided into the main installation processing shown in Figure 18(a) and the upper part of Figure 21, and the main main processing shown in the lower part of Figure 21 and Figure 22(a). Specific details will be explained based on Figure 18(a) and Figures 21-22, but before that, the memory section initialization processing (SP8) will be explained. As shown in Figure 17(a), the memory section initialization processing (SP8) first initializes the DMACs of multiple channels to a stopped state. Note that this processing is merely a formality, just to be safe.
以上の処理が終われば、所定チャネルのDMACiを起動させて、制御メモリ53の記憶されているベクタハンドラVopt(割込み処理プログラム)を、内蔵RAM59に、ノンストップ転送方式(図11(b3)参照)でDMA転送する。本実施例では、割込み処理プログラムVoptを内蔵RAM59に転送するので、外付けDRAM54の異常時においても、適切な異常対応処理が可能となる。 Once the above processing is complete, the DMACi for the specified channel is started, and the vector handler Vopt (interrupt processing program) stored in the control memory 53 is DMA transferred to the internal RAM 59 using the non-stop transfer method (see Figure 11 (b3)). In this embodiment, the interrupt processing program Vopt is transferred to the internal RAM 59, making it possible to appropriately handle the abnormality even when an abnormality occurs in the external DRAM 54.
その後の処理も同じであり、所定チャネルのDMACiを使用して、ノンストップ転送方式で実行され、エラー復帰処理プログラムPiramを内蔵RAM59にDMA転送する(SP62)。本実施例では、エラー復帰処理プログラムPiramを内蔵RAM59に転送するので、エラー復帰処理において、周辺回路を確実にリセット状態にすることができる。例えば、エラー復帰処理プログラムPiramを、内蔵RAM59以外の例えば外付けDRAM54に転送すると、エラー復帰処理時に、外付けDRAM54をリセット処理できないことになる。 The subsequent processing is also the same, and is executed using the non-stop transfer method using the DMACi of the specified channel, and the error recovery processing program Piram is DMA transferred to the internal RAM 59 (SP62). In this embodiment, the error recovery processing program Piram is transferred to the internal RAM 59, so the peripheral circuits can be reliably reset during the error recovery processing. For example, if the error recovery processing program Piram were transferred to an external DRAM 54 other than the internal RAM 59, the external DRAM 54 could not be reset during the error recovery processing.
次に、演出制御プログラムMainを、外付けDRAM54にDMA転送し(SP63)、定数データCを、外付けDRAM54にDMA転送する(SP64)。定数データには、演出抽選に使用する抽選データや、図22(b)に示す各種の駆動データテーブルにおける、ランプ駆動データやモータ駆動データが含まれる。また、初期値の有る変数Dを、外付けDRAM54にDMA転送するが(SP65)、これら何れも、所定チャネルのDMACiを使用したノンストップ転送方式で実行される。 Next, the performance control program Main is DMA transferred to the external DRAM 54 (SP63), and constant data C is DMA transferred to the external DRAM 54 (SP64). The constant data includes the lottery data used in the performance lottery, as well as lamp drive data and motor drive data in the various drive data tables shown in Figure 22 (b). In addition, variable D, which has an initial value, is DMA transferred to the external DRAM 54 (SP65), and all of this is performed using a non-stop transfer method using the DMACi of the specified channel.
最後に、外付けDRAMの変数領域Bの先頭にクリアデータを書込む(SP66)。この先頭アドレスを、仮にADbとすると、その後のDMA転送処理では、転送元アドレスをADbとし、転送先アドレスをADb+1と初期設定した後、各アドレス値ADb,ADb+1をインクリメント処理しつつ、このクリアデータを拡散させることで、変数領域Bのクリア処理を実行することになる(SP67)。 Finally, clear data is written to the beginning of variable area B in the external DRAM (SP66). If this beginning address is assumed to be ADb, then in the subsequent DMA transfer process, the source address is initially set to ADb and the destination address is initially set to ADb+1. Then, the address values ADb and ADb+1 are incremented while this clear data is diffused, thereby clearing variable area B (SP67).
以上説明したステップSP61~SP66、及びステップSP67の処理は、何れも、類似の動作であり図17(b)に示す通りである。すなわち、先ず、所定チャネルのDMACiに関し、DMA転送条件として、(1)サイクルスチール転送モード、(2)ノンストップ転送方式を採り、(3)SourceとDestination のアドレス値をincrement 更新すると、設定する(SP68)。 The processing of steps SP61 to SP66 and step SP67 described above all performs similar operations, as shown in Figure 17(b). That is, first, for the DMACi of a specified channel, the following DMA transfer conditions are set: (1) cycle steal transfer mode, (2) nonstop transfer method, and (3) the source and destination address values are incremented (SP68).
次に、転送元Sourceアドレスと、転送先Destination アドレスの初期値を設定し(SP69)、転送サイズを設定し、割込み禁止などに設定した上で(SP70)、DMA転送の動作を開始させる(SP71)。なお、ステップSP68~SP71の設定は、何れも所定の動作制御レジスタREGへの設定動作によって実現される。 Next, the initial values for the source address and destination address are set (SP69), the transfer size is set, and interrupts are disabled (SP70), and then the DMA transfer operation is started (SP71). Note that the settings in steps SP68 to SP71 are all achieved by setting a specified operation control register REG.
このメモリセクションの初期化処理では、DMA転送終了の割込みを禁止設定しているので(SP70)、DMA転送の動作を開始させた後は、所定の動作制御レジスタREGのステイタスフラグを、繰り返しREADアクセスして、DMA転送の終了を待つ(SP72)。但し、動作終了までの処理時間を考慮して、WDT回路58に対して、クリア信号を繰り返し出力する(SP73)。そして、DMA転送の終了時には、所定の動作制御レジスタREGへの設定動作に基づいてDMACiを停止設定する。 In the initialization process for this memory section, DMA transfer completion interrupts are prohibited (SP70). Therefore, after starting the DMA transfer operation, the status flag of the specified operation control register REG is repeatedly read and accessed to wait for the DMA transfer to complete (SP72). However, taking into account the processing time until the operation completes, a clear signal is repeatedly output to the WDT circuit 58 (SP73). Then, when the DMA transfer completes, the DMACi is stopped based on the setting operation in the specified operation control register REG.
続いて、メイン制御処理の動作内容(メイン導入処理+メイン本体処理)について、図18(a)~図22に基づいて説明する。メイン制御処理(メイン導入処理+メイン本体処理)については、図18(a)と図21の上部に、メイン導入処理(SP20~SP27)が記載されており、メイン本体処理の一部である初期設定処理(SS1~SS6)が、図21の下部に記載されている。また、メイン本体処理の残部である定常処理(ST4~ST14)の内容は、図22に記載されている。 Next, the operation details of the main control processing (main introduction processing + main main processing) will be explained based on Figures 18(a) to 22. With regard to the main control processing (main introduction processing + main main processing), the main introduction processing (SP20 to SP27) is shown at the top of Figure 18(a) and Figure 21, and the initial setting processing (SS1 to SS6), which is part of the main main processing, is shown at the bottom of Figure 21. The details of the regular processing (ST4 to ST14), which is the remainder of the main main processing, are shown in Figure 22.
図18(a)に示す通り、メイン導入処理では、最初に、CGROM55について、そのバス幅やROMデバイスの種別を特定する(SP20)。具体的には、図19(a)に示す通りであり、CGROM55とのインタフェイスを司るCGバスの動作状態を特定する所定のVDPレジスタRGij(例えばCGバスStatusレジスタ)をREADアクセスして(SP80)、CGバスについて動作設定が可能か否かを判定する(SP81)。 As shown in Figure 18(a), the main installation process first identifies the bus width and ROM device type for the CGROM 55 (SP20). Specifically, as shown in Figure 19(a), a specific VDP register RGij (e.g., the CG bus status register) that identifies the operating status of the CG bus that controls the interface with the CGROM 55 is accessed for READ (SP80), and a determination is made as to whether operational settings for the CG bus are possible (SP81).
ここで、CGバスStatusレジスタの値が1であれば、CGバスの内部回路がリセット動作中であることを意味し、VDPレジスタRGijへの設定値を受け付けることができないことを意味する。そこで、CGバスStatusレジスタの値が1から0に変化していることを確認した上で(SP81)、CGROMを構成するメモリデバイスに対応して規定可能なデバイス区間(SPA0~SPAn)毎に(1)各デバイス区間SPAiの有効/無効、(2)ROMデバイスの種別、(3)データバス幅などの動作パラメータを、所定のVDPレジスタRGijに設定する(SP82)。 Here, if the value of the CG bus Status register is 1, it means that the internal circuitry of the CG bus is undergoing a reset operation, and that the setting value for the VDP register RGij cannot be accepted. Therefore, after confirming that the value of the CG bus Status register has changed from 1 to 0 (SP81), the system sets operational parameters such as (1) the enable/disable status of each device section SPAi, (2) the type of ROM device, and (3) the data bus width in the specified VDP register RGij for each device section (SPA0-SPAn) that can be defined corresponding to the memory devices that make up the CGROM (SP82).
図18(a)に示す通り、この実施例では、CGROM55を複数領域(デバイス区間)に区分できるようになっており、例えば、デバイス区間(SPA0~SPAn)毎に、メモリデバイスや、データバス幅を選択可能に構成されている。メモリデバイスとしては、例えば、(1)本実施例で採用するSATAモジュール(AHSI/F)、(2)パラレルI/F(Interface )形式を採るメモリ素子、(3)シーケンシャルI/F形式を採るメモリ素子などに大別されるが、大別されたメモリデバイスごとに、メモリデバイスを具体的に選択可能であり、且つ、データバス幅などを任意に規定できるようになっている。 As shown in Figure 18(a), in this embodiment, the CGROM 55 can be divided into multiple areas (device sections), and for example, the memory device and data bus width can be selected for each device section (SPA0 to SPAn). Memory devices can be broadly classified into, for example, (1) the SATA module (AHSI/F) used in this embodiment, (2) memory elements using a parallel I/F (Interface), and (3) memory elements using a sequential I/F format, and for each broadly classified memory device, it is possible to specifically select the memory device, and the data bus width, etc. can be specified as desired.
次に、デバイス区間(SPA0~SPAn)毎に選択されたメモリデバイスとのメモリREAD動作を最適化するべく、所定の動作パラメータを、所定のVDPレジスタRGijに設定する(SP83)。動作パラメータには、チップセレクト信号と、その他の制御信号(READ制御信号など)との動作タイミングを規定する設定値が含まれている。また、シーケンシャルI/F形式を採るメモリ素子が選択された場合には、図19(b)も示す動作を実現するべく、アドレスラッチの出力タイミングや、読出しクロック数なども特定される。 Next, to optimize memory READ operations with the memory device selected for each device section (SPA0 to SPAn), specific operating parameters are set in the specific VDP register RGij (SP83). The operating parameters include setting values that define the operation timing of the chip select signal and other control signals (such as the READ control signal). Furthermore, if a memory device using a sequential I/F format is selected, the address latch output timing and the number of read clocks are also specified to achieve the operation shown in Figure 19(b).
したがって、種類の異なるメモリデバイスを組合せてCGROM55を構成することもできる。但し、本実施例では、SATAモジュールだけを使用してCGROM55を構成し、デバイス区間(SPA0)だけを有効化し、他のデバイス区間(SPA1~SPAn)を無効化している。 Therefore, it is possible to configure CGROM 55 by combining different types of memory devices. However, in this embodiment, CGROM 55 is configured using only SATA modules, with only the device section (SPA0) enabled and the other device sections (SPA1 to SPAn) disabled.
何れにしても、ステップSP82~SP83の設定処理が終われば、その設定処理の実効化を図るべく、所定のVDPレジスタRGijに所定値を書込む(SP84)。これは、CGバスの内部回路がステップSP82~SP83の設定処理に対応して動作できるまでに所定の時間を要することを考慮したものであり、内部回路の動作中は、前記したCGバスStatusレジスタ(SP80参照)の値が0となる。 In any case, once the setting processes of steps SP82 to SP83 are complete, a specified value is written to a specified VDP register RGij in order to put those setting processes into effect (SP84). This takes into account the fact that it takes a certain amount of time for the CG bus's internal circuitry to be able to operate in response to the setting processes of steps SP82 to SP83; while the internal circuitry is operating, the value of the CG bus Status register (see SP80) mentioned above is 0.
したがって、その後は、CGバスStatusレジスタを繰り返しREADアクセスして(SP85)、Statusレジスタの値が1から0に戻ることを確認して処理を終える(SP86)。なお、所定回数の判定に拘らず、Statusレジスタの値が1から0に戻らない場合に、ステップSP66の処理を終えても良い。但し、その場合CGROMが正常にアクセスできない状態で遊技処理が始まるので、その後、何れかのタイミングでWDT回路58が起動して複合チップ50が異常リセット状態になる。そして、この場合は、再度、パワーオンリセット動作が実行されることになる。 Therefore, the CG bus Status register is subsequently repeatedly accessed for read (SP85), and processing ends upon confirmation that the value of the Status register has returned from 1 to 0 (SP86). Note that processing in step SP66 may end if the value of the Status register does not return from 1 to 0, regardless of the predetermined number of determinations. However, in this case, the game processing begins in a state in which the CGROM cannot be accessed normally, and the WDT circuit 58 will then be activated at some point, causing the composite chip 50 to enter an abnormal reset state. In this case, the power-on reset operation will be executed again.
一方、図18のステップSP20の処理が、正常に実行された後は、割込みコントローラINTCや、DMAC回路60や、マルチファンクションタイマユニットMTUなど、CPU回路51の内蔵回路をソフトウェア処理によって個々的に初期化する(SP21)。 On the other hand, after the processing of step SP20 in Figure 18 is executed normally, the internal circuits of the CPU circuit 51, such as the interrupt controller INTC, DMAC circuit 60, and multifunction timer unit MTU, are individually initialized by software processing (SP21).
次に、マルチファンクションタイマユニットMTUについて、所定のタイマ計測動作を開始させた後(SP22)、内部割込み及び内部割込みについて、所定の動作制御レジスタREGに許可設定値を書込んで割込み許可状態に設定する(SP23)。 Next, the multifunction timer unit MTU starts a specified timer measurement operation (SP22), and then writes an enable setting value to a specified operation control register REG for internal interrupts and internal interrupts, setting the interrupt enable state (SP23).
その結果、その後は、図18(d)に示す各種の割込みが生じ得ることになる。通常、このタイミングでは、音声プロセッサ27は、その初期化シーケンスを終えているので、図7(c)に示す通り、終了割込み信号IRQ_SND はLレベルに降下している筈である。そのため、図18(c)に示す割込み処理が起動され、演出制御CPU63は、エラーフラグERRを1に初期設定すると共に、アドレス空間CS3をREADアクセスして(SP30)、音声プロセッサ27の所定の音声レジスタSRGの値を取得して、初期化シーケンスが正常に終了しているか否かを判定する(SP31)。 As a result, various interrupts shown in Figure 18(d) may occur thereafter. Normally, at this timing, the sound processor 27 has completed its initialization sequence, and the end interrupt signal IRQ_SND should have dropped to L level, as shown in Figure 7(c). Therefore, the interrupt processing shown in Figure 18(c) is initiated, and the performance control CPU 63 initializes the error flag ERR to 1 and performs READ access to address space CS3 (SP30), obtains the value of a specified sound register SRG in the sound processor 27, and determines whether the initialization sequence has completed normally (SP31).
そして、万一、初期化シーケンスが正常に終了していない場合には、演出制御CPU63は、音声プロセッサ27の所定の音声レジスタSRGにリセットコマンドを書込むと共に(SP32)、1に初期設定されているエラーフラグERRを2にセットする(SP33)。このエラーフラグERRは、音声プロセッサ初期化処理(SP26)を実行するか否かを規定しており、エラーフラグERR=1がステップSP26の実行条件となっている。 If the initialization sequence does not end normally, the performance control CPU 63 writes a reset command to a specified audio register SRG of the audio processor 27 (SP32) and sets the error flag ERR, which is initially set to 1, to 2 (SP33). This error flag ERR determines whether or not to execute the audio processor initialization process (SP26), and the error flag ERR = 1 is the execution condition for step SP26.
一方、音声プロセッサ27は、リセットコマンドを受けたことに対応して、終了割込み信号IRQ_SND =Hレベルの状態で、再度、初期化シーケンスを開始し、初期化シーケンスが終われば、終了割込み信号IRQ_SND はLレベルに降下させる。この結果、図18(c)の処理が再実行されることになる。 Meanwhile, in response to receiving the reset command, the audio processor 27 restarts the initialization sequence with the end interrupt signal IRQ_SND at H level, and when the initialization sequence is complete, it drops the end interrupt signal IRQ_SND to L level. As a result, the processing of Figure 18 (c) is executed again.
以上、初期化シーケンスが正常に終了していない例外的な場合について説明したが、通常は、ステップSP31に続いて、ステップSP32の処理が実行され、演出制御CPU63は、所定の音声レジスタSRGに、所定値を書込むことで終了割込み信号IRQ_SND を、LレベルからHレベルに復帰させる(SP34)。 The above describes exceptional cases where the initialization sequence does not end normally, but normally, following step SP31, step SP32 is executed, and the performance control CPU 63 writes a predetermined value to a predetermined sound register SRG, thereby returning the end interrupt signal IRQ_SND from L level to H level (SP34).
そして、最後に、所定の音声レジスタSRGに所定値を書込むことで、全ての音声レジスタSRGへのREAD/WRITE アクセスを許可する(SP35)。この処理の結果、その後の音声プロセッサ初期化処理(SP26)では、必要な設定処理を実行できることになる。 Finally, by writing a specified value to a specified audio register SRG, READ/WRITE access to all audio registers SRG is permitted (SP35). As a result of this processing, the necessary setting processing can be performed in the subsequent audio processor initialization processing (SP26).
以上、ステップSP23の割込み許可設定に対応するMaskable Interruptの一例について説明したが、発振器OSC2の発振停止に基づくマスク不能割込み(Non Maskable Interrupt)は、任意のタイミングで起動可能である。先に説明した通り、内蔵CPU(演出制御CPU63)以外の回路の動作クロック(CPUシステムクロック)は、発振器OSC2の出力クロックをPLL(Phase Locked Loop )で周波数逓倍して生成されており、発振器OSC2の発振が停止されれば、その後のVDP回路52の正常動作は不可能である。 The above describes an example of a maskable interrupt corresponding to the interrupt permission setting in step SP23, but a non-maskable interrupt based on the oscillation of oscillator OSC2 stopping can be activated at any time. As explained earlier, the operating clock (CPU system clock) for circuits other than the built-in CPU (performance control CPU 63) is generated by frequency multiplying the output clock of oscillator OSC2 using a PLL (Phase Locked Loop), and if the oscillation of oscillator OSC2 stops, normal operation of the VDP circuit 52 will be impossible thereafter.
一方、演出制御CPU63の動作クロックは、発振器OSC1の出力クロックをPLLで逓倍して生成されており、プログラム処理は継続可能である。しかも、割込み処理プログラムは、内蔵RAM59に格納されている。そこで、演出制御CPU63は、異常事態の発生を音声やランプによって異常報知すると共に(SP28)、WDT回路58にクリア信号を出力し続ける(SP29)。異常報知は、例えば「異常事態が発生しました。至急、係員に連絡して下さい」との音声報知となる。なお、WDT回路58にクリア信号を出力し続けるのは、異常リセット動作を回避するためである。すなわち、発振器OSC1が動作を停止する重大な異常時には、仮に、異常リセット処理を繰り返しても、機器の正常復帰が望めないと考えられるからである。 Meanwhile, the operating clock of the performance control CPU 63 is generated by multiplying the output clock of oscillator OSC1 using a PLL, allowing program processing to continue. Furthermore, the interrupt processing program is stored in the internal RAM 59. Therefore, the performance control CPU 63 issues an abnormality alert using audio and a lamp (SP28), and continues to output a clear signal to the WDT circuit 58 (SP29). The abnormality alert may be, for example, an audio alert stating, "An abnormality has occurred. Please contact an attendant immediately." The reason for continuing to output a clear signal to the WDT circuit 58 is to avoid an abnormal reset operation. In other words, in the event of a serious abnormality that causes oscillator OSC1 to stop operating, it is unlikely that the device will be able to return to normal even if the abnormal reset process is repeated.
以上、図18(b)と、図18(c)について説明したので、図18(a)に戻って説明を続ける。ステップSP24では、外付けDRAM54のプログラム領域を保護するため、必要領域を書込み禁止に設定する。次に、電源遮断時に電池で駆動されている時計回路38について、電源遮断時の正常動作を確認すると共に、念のためアラーム割込みについて再設定する(SP25)。 As mentioned above, Figures 18(b) and 18(c) have been explained, so let's return to Figure 18(a) to continue the explanation. In step SP24, necessary areas are set to write-protected to protect the program area of the external DRAM 54. Next, the clock circuit 38, which is battery-powered when the power is cut off, is checked for normal operation when the power is cut off, and the alarm interrupt is reset just to be sure (SP25).
そして、エラーフラグERR=1であることを条件に、音声プロセッサ27の内蔵レジスタ(音声レジスタSRG)に、必要な設定値を書込んで初期化処理を実行する(SP26)。なお、エラーフラグERR=0の場合は、所定時間、エラーフラグERR=1となるまで待機するが、限界時間を超える場合には、WDT回路58を起動させるべく無限ループ処理に移行する。 Then, on condition that the error flag ERR = 1, the necessary setting values are written to the built-in register (audio register SRG) of the audio processor 27 and initialization processing is performed (SP26). Note that if the error flag ERR = 0, the process waits for a predetermined time until the error flag ERR = 1, but if the time limit is exceeded, the process transitions to an infinite loop process to activate the WDT circuit 58.
次に、給電制御回路SPYを制御して、表示装置DS1の起動を準備し、また、VDPレジスタRGijに必要な設定値を書込んで、表示クロックDCK及び表示回路74を初期化する(SP27)。なお、ステップSP27の処理は、詳細には、図21のステップSP50~SP57の処理として示されている。 Next, the power supply control circuit SPY is controlled to prepare for the startup of the display device DS1, and the necessary setting values are written to the VDP register RGij to initialize the display clock DCK and display circuit 74 (SP27). The processing of step SP27 is shown in detail as the processing of steps SP50 to SP57 in Figure 21.
以上、音声プロセッサから終了割込み信号IRQ_SND を受ける実施例について説明したが、図18(c)の割込み処理を省略するのも好適である。図20は、変形実施例を示しており、終了割込み信号IRQ_SND に代えて、マルチファンクションタイマユニットMTUが生成する1msタイマ割込信号を活用している。 The above describes an embodiment in which the end interrupt signal IRQ_SND is received from the audio processor, but it is also preferable to omit the interrupt processing in Figure 18(c). Figure 20 shows a modified embodiment in which the end interrupt signal IRQ_SND is replaced by a 1 ms timer interrupt signal generated by the multifunction timer unit MTU.
図20は、1msタイマ割込処理の一部を図示したものであり、初期状態がゼロである動作管理フラグFLGの値(0/1/2/3)に基づいて、4段階の動作を実現している。なお、音声プロセッサ27のIRQ_SND 出力端子は、開放状態とし、CPU回路51のIRQ_SND 入力端子は、Hレベルに固定されている。 Figure 20 illustrates part of the 1 ms timer interrupt process, realizing four stages of operation based on the value (0/1/2/3) of the operation management flag FLG, which is initially set to zero. The IRQ_SND output terminal of the audio processor 27 is open, and the IRQ_SND input terminal of the CPU circuit 51 is fixed to the H level.
1mSタイマ割込み処理において、先ず、ステップSP42の処理で、動作管理フラグFLG=0と判定される場合には、音声プロセッサ27の初期化シーケンスが正常終了していることを確認する(SP43)。そして、正常終了している場合には、所定の音声レジスタSRGに所定値を書込むことで割込み信号(IRQ_SND )をクリアさせ(SP46)、動作管理フラグFLGを1にする(SP47)。なお、ステップSP43とSP46の処理は、図18(c)のステップSP31とSP34の処理と同じである。 In the 1 ms timer interrupt process, first, if it is determined in step SP42 that the operation management flag FLG = 0, it is confirmed that the initialization sequence of the audio processor 27 has ended normally (SP43). If it has ended normally, a predetermined value is written to a predetermined audio register SRG to clear the interrupt signal (IRQ_SND) (SP46), and the operation management flag FLG is set to 1 (SP47). Note that the processes of steps SP43 and SP46 are the same as the processes of steps SP31 and SP34 in Figure 18(c).
一方、初期化シーケンスが正常終了していない場合には、所定の音声レジスタSRGにリセットコマンドを書込むことで、音声プロセッサ27に初期化シーケンスを起動させ(SP44)、動作管理フラグFLGをゼロに戻す(SP45)。なお、ステップSP44の処理は、図18(c)のステップSP32の処理に対応している。 On the other hand, if the initialization sequence has not ended normally, a reset command is written to a specified audio register SRG, causing the audio processor 27 to start the initialization sequence (SP44) and resetting the operation management flag FLG to zero (SP45). Note that the processing in step SP44 corresponds to the processing in step SP32 in Figure 18(c).
通常は、ステップSP47の処理を経て動作管理フラグFLG=1となるので、次の1msタイマ割込みでは、所定の音声レジスタに所定値を書込むことで全ての音声レジスタへのアクセスを許可し(SP48)、動作管理フラグFLG=2に設定する(SP49)。ステップSP48の処理は、図18(c)のステップSP35の処理に対応している。 Normally, the operation management flag FLG = 1 after processing in step SP47, so at the next 1 ms timer interrupt, a specified value is written to a specified audio register to allow access to all audio registers (SP48), and the operation management flag FLG = 2 is set (SP49). The processing in step SP48 corresponds to the processing in step SP35 in Figure 18(c).
次に、動作管理フラグFLG=2の1msタイマ割込みでは、図18(a)のステップSP26の場合と同様に、音声プロセッサ27の内蔵レジスタ(音声レジスタSRG)に、必要な設定値を書込んで初期化処理を実行し(SP50)、動作管理フラグFLG=3に設定する。 Next, in the case of a 1 ms timer interrupt with the operation management flag FLG = 2, as in step SP26 of Figure 18(a), the necessary setting values are written to the built-in register (audio register SRG) of the audio processor 27, initialization processing is performed (SP50), and the operation management flag FLG = 3 is set.
動作管理フラグFLG=3は、通常の音声制御状態を意味し、必要な音声レジスタSRGに、必要な動作パラメータを設定することで、音声制御を進行させる(SP52)。 Operation management flag FLG = 3 indicates normal audio control status, and audio control proceeds by setting the necessary operation parameters in the necessary audio registers SRG (SP52).
以上、音声プロセッサ27の初期化シーケンスの正常終了を、割込み信号(IRQ_SND )に起因する割込み処理で確認する方法(図18(c)のSP31)と、1mSタイマ割込み処理で確認する方法(図20のSP43)について説明したが、これらの方法に、何ら限定されるものではない。例えば、図18のステップSP26の処理の一部として、音声プロセッサ27の初期化シーケンスが正常に終了したか否かを判定するのも好適である。 The above describes a method for checking whether the initialization sequence of the audio processor 27 has completed successfully using an interrupt process triggered by an interrupt signal (IRQ_SND) (SP31 in Figure 18(c)) and a method for checking using a 1 ms timer interrupt process (SP43 in Figure 20), but the present invention is not limited to these methods. For example, it is also preferable to determine whether the initialization sequence of the audio processor 27 has completed successfully as part of the process of step SP26 in Figure 18.
以上、メイン導入処理の概要(図18のSP20~SP26)について説明したので、以下、図21~22に基づいて、ステップSP27の処理(起動準備処理+初期化処理)の詳細と、メイン本体処理処理(SS1~SS6、及び、ST4~ST14)の動作を説明する。 The above explains the overview of the main installation process (SP20 to SP26 in Figure 18). Below, we will explain the details of step SP27 (startup preparation process + initialization process) and the operation of the main main body processing process (SS1 to SS6 and ST4 to ST14) based on Figures 21 and 22.
図21に示す通り、演出制御CPU63は、ステップSP27の処理として、先ず、計時タイマTMを判定して、演出制御CPU63の動作開始(図6(d)のタイミングT1)から1秒経過したことを、WDT回路58にクリア信号を出力しつつ確認する(SP50)。これは、VDP回路52が実質的な動作を開始するまでは、表示装置DS1を非動作状態に維持するためである。また、WDT回路58にクリア信号を出力するので、WDT回路58の起動が確実に防止され、複合チップ50が異常リセットされるなど、ここまでの初期化処理が無駄になるおそれはない(この意義は、以下の待機処理においても同じである)。 As shown in Figure 21, in processing step SP27, the performance control CPU 63 first checks the clock timer TM and confirms that one second has passed since the performance control CPU 63 started operating (timing T1 in Figure 6(d)) while outputting a clear signal to the WDT circuit 58 (SP50). This is to maintain the display device DS1 in a non-operating state until the VDP circuit 52 begins actual operation. Furthermore, because a clear signal is output to the WDT circuit 58, activation of the WDT circuit 58 is reliably prevented, and there is no risk of the initialization process up to this point being wasted, such as an abnormal reset of the composite chip 50 (this significance applies to the standby process below).
次に、演出制御CPU63は、給電制御回路SPYへの制御信号PS1,PS2をLレベルからHレベルに遷移させる(SP51)。この処理は、図6(g)や、図6(h)に示すタイミングT2の動作であり、制御信号PS1,PS2は、その後もHレベルに維持される。 Next, the performance control CPU 63 transitions the control signals PS1 and PS2 sent to the power supply control circuit SPY from L level to H level (SP51). This process corresponds to the operation at timing T2 shown in Figures 6(g) and 6(h), and the control signals PS1 and PS2 are subsequently maintained at H level.
制御信号PS1がHレベルになると、MOSトランジスタQ1がON状態となり、バックライト部BLに電源電圧12Vが給電される。但し、このタイミングT2では、バックライト部BLのドライバDVLのBL_EN 端子とPWM 端子が、共にLレベルであるので、バックライト部BLが発光することはない。 When the control signal PS1 goes high, the MOS transistor Q1 turns on and the 12V power supply voltage is supplied to the backlight unit BL. However, at timing T2, the BL_EN terminal and PWM terminal of the backlight unit BL driver DVL are both low, so the backlight unit BL does not emit light.
また、制御信号PS2がHレベルになると、MOSトランジスタQ4がON状態となり、液晶表示部MONIに電源電圧5が給電される。但し、このタイミングT2では、バックライト部BLが消灯状態であるので、不自然な画像が表示されるおそれはない。 Furthermore, when the control signal PS2 goes high, the MOS transistor Q4 turns on, and the power supply voltage 5 is supplied to the liquid crystal display unit MONI. However, at this time T2, the backlight unit BL is turned off, so there is no risk of an unnatural image being displayed.
ステップSP51の処理が終われば、次に、演出制御CPU63は、所定のVDPレジスタRGijへの設定値に基づいて、リフレッシュモードを規定すると共に、内蔵VRAM71のリフレッシュ周期や、行アドレス(リフレッシュアドレス)の初期値を設定して、内蔵VRAM71の初期化処理を実行する(SP52)。 Once processing of step SP51 is completed, the performance control CPU 63 then determines the refresh mode based on the setting value of a specified VDP register RGij, sets the refresh period of the built-in VRAM 71, and sets the initial values of the row address (refresh address), and performs initialization processing of the built-in VRAM 71 (SP52).
実施例のVRAM71は、DRAM(Dynamic Random Access Memory)で構成されており、メモリセルに蓄えられた電荷は、素子内部の漏れ電流によって徐々に失われる。そこで、本実施例では、例えば、一行ずつリフレッシュする分散リフレッシュ方式を採って、ステップSP52の処理で規定されたリフレッシュ周期で、素子内の全ての行(ROW)をリフレッシュしてメモリセルの電荷消失を未然防止している。したがって、VRAM71において、長時間アクセスされないメモリセルが存在しても、そのデータが消失するおそれはない。なお、リフレッシュモードは、分散リフレッシュ方式に限定されず、集中リフレッシュ方式を採ることもできる。 The VRAM 71 in this embodiment is composed of DRAM (Dynamic Random Access Memory), and the charge stored in the memory cells is gradually lost due to leakage current within the device. Therefore, in this embodiment, for example, a distributed refresh method is used, in which each row is refreshed at a time. All rows in the device are refreshed at the refresh cycle specified in the processing of step SP52, thereby preventing the loss of charge in the memory cells. Therefore, even if there are memory cells in the VRAM 71 that are not accessed for a long period of time, there is no risk of the data being lost. Note that the refresh mode is not limited to the distributed refresh method, and a concentrated refresh method can also be used.
次に、VDPレジスタRGijに必要な設定値を書込んで、表示クロックDCKを初期化すると共に、表示回路74を初期化する(SP54)。なお、この処理は、該当する内部回路をハードウェアリセットする動作に他ならない。 Next, the necessary setting values are written to the VDP register RGij, the display clock DCK is initialized, and the display circuit 74 is initialized (SP54). Note that this process is nothing more than an operation to perform a hardware reset on the relevant internal circuitry.
続いて、給電制御回路SPYへの制御信号STBYをLレベルからHレベルに遷移させる(SP56)。この処理は、図6(i)に示すタイミングT3の動作であり、制御信号STBYのHレベルはその後も維持される。なお、このタイミングT3では、バックライト部BLのドライバDVLに、電源電圧12Vが給電済みであるので(タイミングT2)、ドライバDVLは、動作可能状態となる。但し、制御制御信号PWMは、依然としてLレベルを維持しているので、バックライト部BLが発光することはない。 Next, the control signal STBY sent to the power supply control circuit SPY is transitioned from L level to H level (SP56). This process corresponds to the operation at timing T3 shown in Figure 6(i), and the control signal STBY remains at H level thereafter. At timing T3, the driver DVL of the backlight unit BL has already been supplied with a power supply voltage of 12V (timing T2), so the driver DVL is in an operable state. However, because the control control signal PWM is still maintained at L level, the backlight unit BL does not emit light.
次に、図16のステップSP4の処理の実効化や、図21のステップSP54の処理の実効化を、所定のVDPレジスタ(ステイタスレジスタSTS)RGijを、Readアクセスすることで確認する(SP57)。具体的には、先ず、ステイタスレジスタSTS(1)によって、図16のステップSP4の処理で設定された表示クロックが安定化していることを確認する。 Next, the execution of the processing of step SP4 in FIG. 16 and the execution of the processing of step SP54 in FIG. 21 are confirmed by reading the specified VDP register (status register STS) RGij (SP57). Specifically, first, the status register STS (1) is used to confirm that the display clock set in the processing of step SP4 in FIG. 16 has stabilized.
次に、ステイタスレジスタSTS(2)によって、ステップSP54の処理に対応して、表示回路の初期化が正常に完了していることを確認する。続いて、ステップSP45の処理でデュアルリンク設定されているLVDS回路80について、各部LVDS1/LVDS2の初期化が正常に完了していることを、ステイタスレジスタSTS(3)によって確認する。そして、全ての初期化が正常に完了していることが確認されると、メイン導入処理が終わる(SP57)。 Next, the status register STS (2) is used to confirm that initialization of the display circuit has been completed successfully in response to the processing of step SP54. Next, the status register STS (3) is used to confirm that initialization of each section LVDS1/LVDS2 of the LVDS circuit 80, which is set to dual link in the processing of step SP45, has been completed successfully. Once it is confirmed that all initialization has been completed successfully, the main installation processing ends (SP57).
続いて、その後の処理について、プリローダが機能しない実施例に関して説明する。図21~図22(a)に示す通り、メイン本体処理は、CPUリセット後に実行されるVDP初期設定処理(SS1~SS6)と、その後、1/30秒毎に繰り返し実行される定常処理(ST4~ST14)とに区分される。 Next, the subsequent processing will be described for an example in which the preloader does not function. As shown in Figures 21 to 22(a), the main main body processing is divided into VDP initial setting processing (SS1 to SS6) that is executed after the CPU is reset, and then regular processing (ST4 to ST14) that is repeatedly executed every 1/30 seconds.
そして、定常処理(ST4~ST14)は、割込みカウンタVCNTが、VCNT≧2となったタイミングで開始されるので(ST4)、定常処理の動作周期δは、1/30秒となる。この動作周期δは、演出制御CPU63の制御に基づいて間欠動作するVDP回路52について、その実質的な動作周期δに他ならない。なお、判定条件を、VCNT≧2とするのは、定常処理(ST4~ST14)が異常に長引いて、VCNT=2のタイミングを見逃す可能性を考慮したものであるが、VCNT=3となる事態が発生しないよう設計されている。 Since steady-state processing (ST4 to ST14) begins when the interrupt counter VCNT reaches VCNT≧2 (ST4), the operating period δ of steady-state processing is 1/30 seconds. This operating period δ is nothing more than the actual operating period δ of the VDP circuit 52, which operates intermittently under the control of the performance control CPU 63. The reason for setting the judgment condition as VCNT≧2 is to take into account the possibility that steady-state processing (ST4 to ST14) may take an abnormally long time, causing the timing of VCNT=2 to be missed, but it is also designed to prevent a situation in which VCNT=3 occurs.
以上を踏まえてVDP初期設定処理について説明する。図21に示す通り、本実施例では、VDP初期設定処理において、記憶容量48Mバイトの内蔵VRAM71を、適切な記憶容量を有するACC領域(a) と、ページ領域(b) と、任意領域(c) と、に適宜に切り分ける(SS1)。具体的には、ACC領域(a1,a2) と、ページ領域(b) について、各々の領域先頭アドレスと必要な総データサイズを、所定のインデックステーブルレジスタRGijに設定する(SS1)。すると、確保されたACC領域(a1,a2) と、ページ領域(b) には含まれない残余領域が任意領域(c) となる。 Based on the above, the VDP initial setting process will now be explained. As shown in Figure 21, in this embodiment, during the VDP initial setting process, the built-in VRAM 71 with a storage capacity of 48 MB is divided into an ACC area (a) with appropriate storage capacity, a page area (b), and a user-defined area (c) (SS1). Specifically, for the ACC area (a1, a2) and the page area (b), the start addresses and total required data sizes for each area are set in a specified index table register RGij (SS1). The reserved ACC area (a1, a2) and the remaining area not included in the page area (b) then become the user-defined area (c).
ここで、第一と第二のACC領域(a1,a2) と、ページ領域(b) の領域先頭アドレスは、各々の下位11bitが0でなくてはならないが、2048bit単位で任意に選択可能である(1番地=1バイトとして、256番地ごとの選択)。また、総データサイズも、単位サイズの整数倍の範囲で任意に選択される。特に限定されないが、ACC領域(a) の単位サイズは、2048bit、ページ領域(b) の単位サイズは、512kbitである。 Here, the starting addresses of the first and second ACC areas (a1, a2) and the page area (b) must each have the lowest 11 bits set to 0, but can be selected arbitrarily in 2048-bit units (selection in increments of 256 addresses, with 1 address = 1 byte). The total data size can also be selected arbitrarily within the range of an integer multiple of the unit size. While not particularly limited, the unit size of the ACC area (a) is 2048 bits, and the unit size of the page area (b) is 512 kbits.
このように本実施例では、ACC領域(a1,a2) と、ページ領域(b) の領域設定に一定の条件を設けるが、それは、メモリ容量が限られている内蔵VRAM71について、可能な限り無駄領域を排除する一方で、VDP回路52の内部動作の円滑化を図るためである。すなわち、内蔵VRAM71の記憶容量を無闇に増加させると、製造コストの高騰やチップ面積の大型化が懸念される一方、無駄領域を完全に排除するような自由な領域設定を認めると、内部処理が煩雑化して、VRAMアクセスの処理時間を短縮化できないためである。なお、以下に説明するインデックス空間の確保に、一定の制約を設けるのも同じ理由による。 In this way, in this embodiment, certain conditions are imposed on the area settings of the ACC area (a1, a2) and the page area (b). This is to eliminate as much wasted area as possible from the built-in VRAM 71, which has limited memory capacity, while also facilitating the internal operation of the VDP circuit 52. In other words, while increasing the memory capacity of the built-in VRAM 71 indiscriminately could raise concerns about rising manufacturing costs and increasing the chip area, allowing free area settings that completely eliminate wasted area would complicate internal processing and make it impossible to shorten the processing time for VRAM access. The same reason is also why certain restrictions are imposed on allocating index space, as explained below.
以上を踏まえて説明を続けると、ステップSS1の処理に続いて、ページ領域(b) と、任意領域(c) について、必要なインデックス空間IDXiを確保する(SS2)。具体的には、所定のインデックステーブルレジスタRGijに、必要な情報を設定することで、各領域(b)(c)のインデックス空間IDXiを確保する。 Continuing with the above, following the processing of step SS1, the necessary index space IDXi is reserved for page area (b) and arbitrary area (c) (SS2). Specifically, the necessary information is set in a specified index table register RGij to reserve index space IDXi for each area (b) and (c).
例えば、ページ領域(b) にインデックス空間IDXiを設ける場合には、任意のインデックス番号iに対応して、任意の水平サイズHxと、任意の垂直サイズWxの倍数情報(単位空間に対する縦横の倍数情報)が、所定のインデックステーブルレジスタRGijに設定される(SS2)。 For example, when an index space IDXi is set in page area (b), multiple information (horizontal and vertical multiple information for the unit space) of an arbitrary horizontal size Hx and an arbitrary vertical size Wx corresponding to an arbitrary index number i is set in a predetermined index table register RGij (SS2).
先に説明した通り、ページ領域(b) のインデックス空間IDXiは、水平サイズ128×垂直サイズ128ラインを単位空間としており、また、1ピクセルは32bitの情報で特定されるので、水平サイズHxと垂直サイズWxの設定に基づいて、データサイズ(bit長)=32×128×Hx×128×Wxのインデックス空間IDXiが確保されたことになる。なお、ページ領域(b) のインデックス空間IDXiの先頭アドレス(空間先頭アドレス)は、内部的に自動付与される。 As explained earlier, the index space IDXi of page area (b) has a unit space of 128 horizontal lines x 128 vertical lines, and since one pixel is specified by 32 bits of information, an index space IDXi with a data size (bit length) of 32 x 128 x Hx x 128 x Wx is secured based on the horizontal size Hx and vertical size Wx settings. The starting address (space starting address) of index space IDXi of page area (b) is automatically assigned internally.
また、任意領域(c) にインデックス空間IDXiを設ける場合には、任意のインデックス番号iに対応して、任意の先頭アドレス(空間先頭アドレス)STxと、任意の水平サイズHxの倍数情報が、所定のインデックステーブルレジスタRGijに設定される(SS2)。ここで、任意とは、所定条件を前提とするもので、水平サイズHxは256bit単位で任意決定され、先頭アドレスSTxの下位11bitは0であって、2048bit単位で任意決定される。先に説明した通り、任意領域の垂直サイズは、2048ラインに固定化されるので、水平サイズHxの設定に基づいて、先頭アドレスSTx以降には、データサイズ(bit長)=2048×Hxのインデックス空間が確保されたことになる。 Furthermore, when an index space IDXi is set in the arbitrary area (c), an arbitrary start address (space start address) STx and multiple information of an arbitrary horizontal size Hx are set in a predetermined index table register RGij corresponding to an arbitrary index number i (SS2). Here, "arbitrary" means that predetermined conditions are assumed, and the horizontal size Hx is arbitrarily determined in 256-bit units, the lowest 11 bits of the start address STx are 0, and it is arbitrarily determined in 2048-bit units. As explained earlier, the vertical size of the arbitrary area is fixed to 2048 lines, so based on the setting of the horizontal size Hx, an index space of data size (bit length) = 2048 x Hx is secured after the start address STx.
具体的には、メイン表示装置DS1のフレームバッファFBaとして、水平サイズ1280×垂直ライン2048の一対のインデックス空間が、各々インデックス番号を特定して、一又は複数の所定のインデックステーブルレジスタRGijに設定され、サブ表示装置DS2のフレームバッファFBbとして、水平サイズ480×垂直ライン2048の一対のインデックス空間が、各々インデックス番号を特定して、一又は複数の所定のインデックステーブルレジスタRGijに設定される。なお、もし、表示装置の水平ピクセル数が、256bit/32bitの整数倍に一致しない場合には、各インデックス空間の水平サイズを、その表示装置の水平ピクセル数より大きく、且つ、256/32=8の整数倍となる値に設定して、無駄なメモリ領域の発生を最小限に抑制する。 Specifically, as the frame buffer FBa of the main display device DS1, a pair of index spaces with a horizontal size of 1280 x 2048 vertical lines are set in one or more predetermined index table registers RGij, each with a specified index number. As the frame buffer FBb of the sub-display device DS2, a pair of index spaces with a horizontal size of 480 x 2048 vertical lines are set in one or more predetermined index table registers RGij, each with a specified index number. Note that if the number of horizontal pixels of the display device does not match an integer multiple of 256 bits/32 bits, the horizontal size of each index space is set to a value that is larger than the number of horizontal pixels of the display device and is an integer multiple of 256/32 = 8, minimizing the generation of wasted memory space.
以上のように、ページ領域(b) と、任意領域(c) について、必要なサイズ情報やアドレス情報を所定のインデックステーブルレジスタRGijに各々設定することで、必要個数のインデックス空間IDXiが生成される(SS2)。そして、この設定処理(SS2)に対応して、各インデックス空間IDXiのアドレス情報やサイズ情報を特定するインデックステーブルIDXTBLが自動的に構築される。図12(a)に示す通り、インデックステーブルIDXTBLには、各インデックス空間IDXiの先頭アドレスが、その他の必要情報と共に記憶されており、VDP回路52内部でのデータ転送時や、外部記憶リソース(Resource)からのデータ取得時に参照される(図13参照)。なお、AAC領域(a) のインデックス空間IDXiは、必要時に自動生成され、自動消滅するので、ステップSS2の設定処理は不要である。 As described above, the required number of index spaces IDXi are generated by setting the required size and address information for the page area (b) and the arbitrary area (c) in the specified index table register RGij (SS2). Then, in response to this setting process (SS2), an index table IDXTBL specifying the address and size information for each index space IDXi is automatically constructed. As shown in FIG. 12(a), the index table IDXTBL stores the starting address of each index space IDXi along with other required information, and is referenced during data transfer within the VDP circuit 52 and when retrieving data from an external storage resource (see FIG. 13). Since the index space IDXi for the AAC area (a) is automatically generated and deleted when needed, the setting process of step SS2 is unnecessary.
図12(a)(b)に示す通り、任意領域(c) には、各一対のフレームバッファFBaとFBbが確保され、各々、インデックス番号が付与されている。Zバッファを使用しない実施例では、フレームバッファFBaとして、インデックス番号255,254が付与された、一対のインデックス空間255,254が確保される。また、フレームバッファFBbとして、インデックス番号252,251が付与された、一対のインデックス空間252,251が確保される。なお、本実施例では、任意領域(c) に、インデックス番号0の作業領域(インデックス空間0)も確保されている。 As shown in Figures 12(a) and 12(b), a pair of frame buffers FBa and FBb are secured in the arbitrary area (c), and each is assigned an index number. In an embodiment that does not use a Z-buffer, a pair of index spaces 255 and 254, assigned index numbers 255 and 254, are secured as frame buffer FBa. Furthermore, a pair of index spaces 252 and 251, assigned index numbers 252 and 251, are secured as frame buffer FBb. In this embodiment, a working area (index space 0) with index number 0 is also secured in the arbitrary area (c).
また、本実施例では、ページ領域(a) に、IPストリーム動画のデコード領域となる必要個数のインデックス空間IDXiを確保し、インデックス番号iを付与することにしている。但し、初期的には、背景動画(IPストリーム動画)のためのインデックス空間IDX0だけを確保している。そして、画像演出(変動演出や予告演出)における必要性に応じて、インデックステーブルレジスタRGijへの設定処理や、ディスプレイリストDLの指示コマンドに基づいて、ページ領域(a) のインデックス空間IDXjを増やし、その後、不要になれば、そのインデックス空間IDXjを開放するようにしている。すなわち、図12(a)は、定常動作時のインデックステーブルIDXTBLを示している。 In this embodiment, the page area (a) is allocated the necessary number of index spaces IDXi to serve as the decoding area for the IP stream video, and each is assigned an index number i. However, initially, only the index space IDX0 for the background video (IP stream video) is allocated. Then, depending on the needs of the image presentation (variation presentation or preview presentation), the index space IDXj in the page area (a) is increased based on the setting process for the index table register RGij and the instruction command of the display list DL, and then, when it is no longer needed, the index space IDXj is released. That is, Figure 12(a) shows the index table IDXTBL during normal operation.
なお、ACC領域(a) のインデックス空間は、ディスプレイリストDLに記載されている指示コマンドに基づいて、必要時に自動的に生成され、インデックステーブルIDXTBLには、自動生成されたインデックス空間IDXjの先頭アドレスや、その他の必要情報が自動設定される。本実施例では、このAAC領域(a) を、静止画その他のテクスチャのデコード領域として使用している。 The index space of the ACC area (a) is automatically generated when necessary based on the instruction commands written in the display list DL, and the starting address of the automatically generated index space IDXj and other necessary information are automatically set in the index table IDXTBL. In this embodiment, this AAC area (a) is used as a decoding area for still images and other textures.
インデックス空間を確保する上記の動作は、もっぱら、制御レジスタ群70に含まれるインデックステーブルレジスタRGijへの設定動作によって実現されるが、ステップSS1~SS2の処理に続いて、他のVDPレジスタRGijに、必要な設定動作(SS3)を実行することで、図30~図31に示すVDP回路52の定常動作(間欠動作)を可能にしている。 The above operation of reserving index space is achieved primarily by setting the index table register RGij included in the control register group 70. However, following the processing of steps SS1 and SS2, the necessary setting operation (SS3) is performed on the other VDP register RGij, enabling steady-state (intermittent) operation of the VDP circuit 52 shown in Figures 30 and 31.
本実施例において、必要な設定処理(SS3)には、少なくともSS30~SS39が含まれている。なお、ステップSS30~SS37は、何ら処理の順番を限定せず、以下の説明順序に拘わらず、任意の順番で実行することができる。 In this embodiment, the required setting process (SS3) includes at least steps SS30 to SS39. Note that steps SS30 to SS37 do not limit the order of processing, and can be performed in any order regardless of the order described below.
本実施例では、先ず、表示回路74の動作を規定する所定の表示レジスタRGijに、所定の動作パラメータ(ライン数と画素数)を書込むことで、各表示装置DS1,SD2について表示ライン数と水平画素数を設定する(SS30)。本実施例の場合、メイン表示装置DS1の水平画素数は、1280ドットであり、表示ライン数は1024行である。また、サブ表示装置DS2の水平画素数は、480ドットであり、表示ライン数は80行である。ステップSS34の設定処理の結果、各フレームバッファFBa,FBbにおいて、表示回路74A,74BがREADアクセスすべき有効データ領域(図22(e)の破線部)の縦横寸法が、特定されることになる。 In this embodiment, the number of display lines and horizontal pixels are first set for each display device DS1, SD2 by writing specified operating parameters (number of lines and number of pixels) to a specified display register RGij that defines the operation of the display circuit 74 (SS30). In this embodiment, the number of horizontal pixels for the main display device DS1 is 1280 dots and the number of display lines is 1024 rows. The number of horizontal pixels for the sub-display device DS2 is 480 dots and the number of display lines is 80 rows. As a result of the setting process in step SS34, the vertical and horizontal dimensions of the valid data area (dashed line area in Figure 22(e)) to which the display circuits 74A, 74B should access for READ are specified in each frame buffer FBa, FBb.
次に、表示回路74の動作を規定する所定の表示レジスタRGijに、所定の動作パラメータ(THc,WTh)を書込むことで、各表示装置DS1,SD2について、水平周期THのサイクル数THcと、水平待機時間WThを設定する(SS31)。また、所定の表示レジスタRGijに、所定の動作パラメータ(TVl,WTv)を書込むことで、各表示装置DS1,SD2について、垂直周期TVのライン数TVlと、垂直待機時間WTvを設定する(SS32)。 Next, predetermined operating parameters (THc, WTh) are written to a predetermined display register RGij that defines the operation of the display circuit 74, thereby setting the number of cycles THc in the horizontal period TH and the horizontal waiting time WTh for each display device DS1, SD2 (SS31). Furthermore, predetermined operating parameters (TVl, WTv) are written to a predetermined display register RGij, thereby setting the number of lines TVl in the vertical period TV and the vertical waiting time WTv for each display device DS1, SD2 (SS32).
図15に関して説明した通り、メイン表示装置DS1については、水平周期THのサイクル数THc=1662、垂直周期TVのライン数TVl=1083と設定される。また、水平待機時間WTh=382、垂直待機時間WTv=59ラインと設定される。一方、サブ表示装置DS2については、例えば、水平周期THのサイクル数THc=519、垂直周期TVのライン数TVl=867と設定され、水平待機時間WTh=39、垂直待機時間WTv=67ラインと設定される。なお、THc-WTh=519-39=480、TVl-WTv=867-67=800であり、サブ表示装置のピクセル数(横480×縦800)に整合する。 As explained with reference to Figure 15, for the main display device DS1, the number of cycles in the horizontal period TH is set to THc = 1662, and the number of lines in the vertical period TV is set to TVl = 1083. The horizontal wait time WTh is set to 382, and the vertical wait time WTv is set to 59 lines. On the other hand, for the sub-display device DS2, the number of cycles in the horizontal period TH is set to THc = 519, the number of lines in the vertical period TV is set to TVl = 867, and the horizontal wait time WTh is set to 39, and the vertical wait time WTv is set to 67 lines. Note that THc - WTh = 519 - 39 = 480, and TVl - WTv = 867 - 67 = 800, which matches the pixel count of the sub-display device (480 horizontal x 800 vertical).
何れにしても、図16のステップSP4の処理によってドットクロックDCKの周波数Fdot(=108MHz)が決定され、また、ステップSS30~SS32の処理によって、メイン表示装置DS1について、水平周期THのサイクル数THc(=1662)と、垂直周期TVのライン数TVl(=1083)が規定された結果、一フレームの表示期間が、THc×TVl/Fdotと確定されることになる。具体的には、一フレームの表示期間は、1083×1662/108MHz=16.667mSであり、フレームレートFRが1/60秒であると確定される。 16 determines the frequency F dot (=108 MHz) of the dot clock DCK, and steps SS30 to SS32 define the number of cycles THc (=1662) in the horizontal period TH and the number of lines TVl (=1083) in the vertical period TV for the main display device DS1, resulting in the display period of one frame being determined as THc x TVl/F dot . Specifically, the display period of one frame is determined to be 1083 x 1662/108 MHz = 16.667 mS, and the frame rate FR is determined to be 1/60 second.
なお、サブ表示装置DS2についても、例えば、ドットクロックDCKの周波数Fdot=27MHz、水平周期THのサイクル数THc=519、及び、垂直周期TVのライン数TVl=867に基づいて、519×867/27MHz=16.66mSと確定される。 For the sub-display device DS2, for example, based on the frequency F dot of the dot clock DCK = 27 MHz, the number of cycles of the horizontal period THc = 519, and the number of lines of the vertical period TVl = 867, the frequency is determined to be 519 x 867/27 MHz = 16.66 mS.
次に、本実施例では、サブ表示装置DS2に関して、所定の表示レジスタRGijに、水平周期信号HSのパルス幅と、パルス立上りエッジのVブランク開始タイミングからのサイクル数の設定する(SS33)。また、サブ表示装置DS2に関して、垂直周期信号VSのパルス幅と、パルス立上りエッジのVブランク開始タイミングからのサイクル数の設定する(SS34)。 Next, in this embodiment, for the sub-display device DS2, the pulse width of the horizontal periodic signal HS and the number of cycles from the V blank start timing of the pulse rising edge are set in a specific display register RGij (SS33). Also, for the sub-display device DS2, the pulse width of the vertical periodic signal VS and the number of cycles from the V blank start timing of the pulse rising edge are set (SS34).
先に説明した通り、メイン表示装置DS1は、水平同期信号HSや垂直同期信号VSを必要としないので、メイン表示装置DS1に対する上記の処理(SS33~SS34)は不要である。但し、ステップSS33~SS34の設定処理を省略した場合には、電源リセット時に設定されたデフォルト値が機能するので、実際には、表示装置74Aも、水平同期信号HSや垂直同期信号VSを出力することになる。 As explained above, the main display device DS1 does not require a horizontal synchronization signal HS or a vertical synchronization signal VS, so the above processing (SS33 to SS34) for the main display device DS1 is not necessary. However, if the setting processing of steps SS33 to SS34 is omitted, the default values set at power reset will function, so in reality, the display device 74A will also output a horizontal synchronization signal HS and a vertical synchronization signal VS.
デフォルト値によれば、例えば、Vブランク開始タイミングから16クロック後にアクティブレベルとなる、パルス幅40クロック分の水平同期信号HSが出力され、Vブランク開始タイミングに同期してアクティブレベルとなる、パルス幅3ライン分の垂直同期信号VSが出力される。 According to the default values, for example, a horizontal synchronization signal HS with a pulse width of 40 clocks is output, which becomes active 16 clocks after the V blank start timing, and a vertical synchronization signal VS with a pulse width of 3 lines is output, which becomes active in synchronization with the V blank start timing.
この動作は、メイン表示装置DS1に対して、水平待機時間WTh=382クロックの間に、水平フロントポーチHPv=16、パルス幅PWh=40、水平バックポーチBPv=326の水平同期信号HSが出力され、また、垂直待機時間WTv=59ラインの間に、垂直フロントポーチHPv=0、パルス幅PWv=3、垂直バックポーチBPv=56の垂直同期信号VSが出力されることを意味する。但し、メイン表示装置において、これらの同期信号が無視されることは前記した通りである。 This operation means that a horizontal synchronization signal HS with a horizontal front porch HPv = 16, pulse width PWh = 40, and horizontal back porch BPv = 326 is output to the main display device DS1 during the horizontal wait time WTh = 382 clocks, and a vertical synchronization signal VS with a vertical front porch HPv = 0, pulse width PWv = 3, and vertical back porch BPv = 56 is output during the vertical wait time WTv = 59 lines. However, as mentioned above, these synchronization signals are ignored by the main display device.
なお、デフォルト値に基づく同期信号HS,VSが出力されるのを防ぐため、水平同期信号HSや垂直同期信号VSを出力しないよう、所定のシステム制御レジスタRGijに設定する構成を採っても良い。このようなマスク設定を設けた場合には、VDP回路52の水平同期信号HSの出力端子や、垂直同期信号VSの出力端子は、Hレベル又はLレベルの固定値を維持することができる。 In order to prevent synchronization signals HS and VS based on default values from being output, a specific system control register RGij may be configured to not output the horizontal synchronization signal HS or vertical synchronization signal VS. When such a mask setting is implemented, the output terminal for the horizontal synchronization signal HS and the output terminal for the vertical synchronization signal VS of the VDP circuit 52 can maintain a fixed value of H level or L level.
続いて、所定のシステム制御レジスタRGijに、Vブランク割込みを許可すると設定する(SS35)。この結果、本実施例では、16.667mS=1/60秒ごとに生じるVブランク開始タイミングに対応して、図22(c)に示すVBLANK開始割込みが生じることなる。このVブランク割込みタイミングは、演出制御CPU63の定常処理(ST5~ST14)の開始タイミングを規定するとともに、表示回路74A,74Bにとっての表示期間の開始タイミング(直前の表示期間の終了タイミング)を意味する。 Next, a specific system control register RGij is set to allow V blank interrupts (SS35). As a result, in this embodiment, the VBLANK start interrupt shown in Figure 22(c) occurs in response to the V blank start timing, which occurs every 16.667 mS = 1/60 seconds. This V blank interrupt timing determines the start timing of the regular processing (ST5 to ST14) of the performance control CPU 63, and also indicates the start timing of the display period for the display circuits 74A and 74B (the end timing of the previous display period).
次に、所定の表示レジスタRGijに、所定の動作パラメータ(アドレス値)を書込んで、各フレームバッファFBa,FBbについて、垂直表示開始位置と水平表示開始位置を特定する(SS36)。その結果、ステップSS34の処理で縦横寸法が特定された有効データ領域が、フレームバッファFBa,FBb上に確定されることになる。ここで、垂直表示開始位置と水平表示開始位置は、各インデックス空間における相対アドレス値であって、図22(e)に示す実施例では、表示開始位置は(0,0)となっている。 Next, predetermined operating parameters (address values) are written to predetermined display registers RGij to specify the vertical and horizontal display start positions for each frame buffer FBa and FBb (SS36). As a result, the valid data areas whose vertical and horizontal dimensions were specified in step SS34 are defined on the frame buffers FBa and FBb. Here, the vertical and horizontal display start positions are relative address values in each index space; in the example shown in Figure 22(e), the display start position is (0,0).
ここで、「表示領域」とは、表示回路74A,74Bが、表示装置DS1,DS2を駆動するために、画像データを読み出すべきインデックス空間(フレームバッファFBa,FBb)を意味し、各々ダブルバッファ構造であるフレームバッファFBa,FBbにおけるダブルバッファの何れか一方を意味する。もっとも、表示回路74A,74Bが、実際に画像データを読み出すのは、表示領域(0)又は表示領域(1)における、ステップSS30とステップSS36で特定された「有効データ領域」に限定される。 Here, "display area" refers to the index space (frame buffers FBa and FBb) from which display circuits 74A and 74B should read image data to drive display devices DS1 and DS2, and refers to either of the double buffers in frame buffers FBa and FBb, which each have a double buffer structure. However, display circuits 74A and 74B actually read image data only from the "valid data area" identified in steps SS30 and SS36 in display area (0) or display area (1).
次に、メイン表示装置DS1を駆動する表示回路74Aに関する表示レジスタRGij(DSPAINDEX )と、サブ表示装置DS2を駆動する表示回路74Bに関する表示レジスタRGij(DSPBINDEX )に、各々、「表示領域(0)」と「表示領域(1)」を設定して、各表示領域を定義する(SS37)。 Next, "display area (0)" and "display area (1)" are set in the display register RGij (DSPAINDEX) for the display circuit 74A that drives the main display device DS1 and the display register RGij (DSPBINDEX) for the display circuit 74B that drives the sub-display device DS2, respectively, to define each display area (SS37).
何ら限定されないが、本実施例では、フレームバッファFBaについて、VRAM任意領域(c) におけるインデックス番号254のインデックス空間254を「表示領域(0)」と定義し、VRAM任意領域(c) におけるインデックス番号255のインデックス空間255を、「表示領域(1)」と定義している(SS37)。 Although not limited in any way, in this embodiment, for frame buffer FBa, index space 254 of index number 254 in VRAM arbitrary area (c) is defined as the "display area (0)," and index space 255 of index number 255 in VRAM arbitrary area (c) is defined as the "display area (1)" (SS37).
また、フレームバッファFBbについて、VRAM任意領域(c) におけるインデックス番号251のインデックス空間251を「表示領域(0)」とし、VRAM任意領域(c) におけるインデックス番号252のインデックス空間252を「表示領域(1)」としている(SS37)。なお、「表示領域」を初期処理(SS3)において定義することは、特に限定されず、動作周期δ毎に、表示回路74が画像データをREADアクセスすべきインデックス空間(表示領域)をトグル的に切換えても良い。なお、フレームバッファFBaと、フレームバッファFBbについて、各々の表示領域(0)と表示領域(1)を、このタイミングでゼロクリアするのも好適であり、この場合には、表示装置に不自然な画像が表示されることがない。 Furthermore, for frame buffer FBb, index space 251 of index number 251 in VRAM arbitrary area (c) is set as "display area (0)," and index space 252 of index number 252 in VRAM arbitrary area (c) is set as "display area (1)" (SS37). Note that there is no particular limitation on defining the "display area" in the initialization process (SS3); the index space (display area) that the display circuit 74 should access to read image data may be toggled every operating cycle δ. Note that it is also preferable to clear the respective display areas (0) and (1) of frame buffers FBa and FBb to zero at this timing; in this case, unnatural images will not be displayed on the display device.
本実施例では、以上の処理(SS30~SS37)を含んだ初期設定が終われば、次に、所定のシステム制御レジスタRGijへの設定値が、その後、ノイズなどの影響で変更されないよう、第1種の禁止設定レジスタRGijに、所定の禁止値を設定している(第1の禁止設定SS38)。 In this embodiment, once the initial setup including the above processes (SS30 to SS37) is complete, a predetermined prohibition value is set in the first type prohibition setting register RGij to prevent the setting value in the predetermined system control register RGij from being changed due to noise or other factors (first prohibition setting SS38).
ここで、今後の書込みが禁止される設定値には、(1) 表示装置DS1,DS2の表示クロックDCKに関する設定値、(2) LVDSのサンプリングクロックに関する設定値、(3) 出力選択回路79の選択動作に関する設定値、(4) 複数の表示装置DS1,DS2の同期関係(表示回路74Bが表示回路74Aの動作周期に従属すること)などが含まれている。なお、第1の禁止設定を解除するソフトウェア処理は存在するが、本実施例では使用していない。但し、必要に応じて使用するのも好適である。 The setting values that are prohibited from being written in the future include (1) setting values related to the display clock DCK of the display devices DS1 and DS2, (2) setting values related to the LVDS sampling clock, (3) setting values related to the selection operation of the output selection circuit 79, and (4) the synchronization relationship between the multiple display devices DS1 and DS2 (the dependency of display circuit 74B on the operating cycle of display circuit 74A). Although software processing exists to cancel the first prohibition setting, it is not used in this embodiment. However, it is preferable to use it if necessary.
次に、第2種の禁止設定レジスタRGijに、所定の禁止値を設定することで、初期設定系のVDPレジスタRGijについて書込み禁止設定をしている(第2の禁止設定SS39)。ここで、禁止設定されるレジスタには、ステップSP4や、ステップSS30~SS37に係るVDPレジスタRGijが含まれている。 Next, a predetermined prohibition value is set in the second-type prohibition setting register RGij, thereby prohibiting writing to the VDP register RGij of the initial setting system (second prohibition setting SS39). The registers that are prohibited here include the VDP register RGij related to step SP4 and steps SS30 to SS37.
一方、第3種の禁止設定レジスタRGijに、所定の禁止値を設定することで、ステップSS1~SS3の設定処理に関するVDPレジスタを含んだ、多数のVDPレジスタへの禁止設定も可能である(第3の禁止設定)。但し、本実施例では原則として使用しない。何れにしても、第2の禁止設定や、第3の禁止設定は、所定の解除レジスタRGijに、解除値を書込むことで任意に解除可能であり、定常動作中に設定値を変更することも可能となる。 On the other hand, by setting a specific prohibition value in the third type prohibition setting register RGij, it is possible to prohibit multiple VDP registers, including the VDP registers related to the setting processes in steps SS1 to SS3 (third prohibition setting). However, this is not used as a general rule in this embodiment. In any case, the second prohibition setting and the third prohibition setting can be released at will by writing a release value to the specific release register RGij, and it is also possible to change the setting value during normal operation.
以上の処理が終われば、次に、図21のステップSP52の処理で、リフレッシュ周期を規定した内蔵VRAM71の初期化終了について、ステイタスレジスタ(4)を参照して、動作が安定していること(初期化の正常終了)を確認する(SS40)。 Once the above processing is complete, the next step in step SP52 of Figure 21 is to check whether the initialization of the built-in VRAM 71, which specifies the refresh cycle, has been completed by referencing the status register (4) to confirm that operation is stable (initialization has been completed successfully) (SS40).
以上の処理によって、内蔵VRAM71と、表示回路74と、LVDS回路30の全てが、正常に初期化処理を終えたことが、ステイタスレジスタ(1)~(4)の値に基づいて確認されるので、次に、所定の表示レジスタRGij(DSPACTL/DSPBCTL )に規定値を書込むことで、表示回路74A,74Bの動作を開始させ(SS4a)、また、所定のシステム制御レジスタRGij(SYSDSPLVDS1MD/SYSDSPLVDS2MD )に規定値を書込むことで、表示回路74Aからの出力データをLVDS回路80(LVDS1/LVDS2 )から出力させる(SS4b)。 The above process confirms that the internal VRAM 71, display circuit 74, and LVDS circuit 30 have all successfully completed initialization based on the values of status registers (1) to (4). Next, a specified value is written to the specified display register RGij (DSPACTL/DSPBCTL), causing the display circuits 74A and 74B to begin operating (SS4a). Furthermore, a specified value is written to the specified system control register RGij (SYSDSPLVDS1MD/SYSDSPLVDS2MD), causing the output data from the display circuit 74A to be output from the LVDS circuit 80 (LVDS1/LVDS2) (SS4b).
この動作は、図6(e)のタイミングT4の処理に他ならず、本実施例では、タイミングT2から所定時間τ(例えば20mS)以内に、ステップSS4a~SS4bの処理が実行されるようプログラム設計されている。そして、表示回路74A,74BとLVDS回路80の動作開始(タイミングT4)に対応して、計時タイマTMをゼロから再始動させる(SS4c)。なお、ステップSS4a~SS4bの処理手順は、必ずしも、限定されない。仮に、ステップSS4a~SS4bの処理を逆順に実行しても、LVDS回路80から、せいぜい一瞬だけ無為な画像データが出力されるに過ぎず、しかも、バックライト部BLが消灯しているので何の問題もない。 This operation is none other than the processing at timing T4 in Figure 6(e), and in this embodiment, the program is designed to execute steps SS4a and SS4b within a predetermined time τ (e.g., 20 mS) from timing T2. Then, in response to the start of operation of display circuits 74A, 74B and LVDS circuit 80 (timing T4), the clock timer TM is restarted from zero (SS4c). Note that the processing sequence of steps SS4a to SS4b is not necessarily limited. Even if steps SS4a to SS4b were executed in reverse order, useless image data would only be output from the LVDS circuit 80 for a moment, and there would be no problem because the backlight unit BL would be off.
何れにしても、本実施例では、上記のステップSS4a~SS4bの処理に対応して、表示回路74は、1/60秒ごとVブランク開始状態となり、また、LVDS回路(LVDS1/LVDS2 )80が動作することで、図15に示す表示動作が繰り返されることになる。なお、図15において、〇印で示す表示動作の開始タイミング、及び表示動作の終了タイミングは、Vブランク開始タイミングを示している。 In any case, in this embodiment, in response to the processing of steps SS4a to SS4b above, the display circuit 74 enters a V blank start state every 1/60 seconds, and the LVDS circuit (LVDS1/LVDS2) 80 operates, thereby repeating the display operation shown in Figure 15. Note that in Figure 15, the start timing and end timing of the display operation indicated by circles indicate the V blank start timing.
そして、このVブランク開始タイミングに基づいて、表示回路74の動作における水平基準点TH0(=水平基準時刻)と、垂直基準点(=垂直基準時刻)TV0が規定されることになり、表示回路74は、水平基準点TH0から水平待機時間WThを経過するまで、表示装置の各ピクセルに対応する画像データを出力しないで待機する。同様に、表示回路74は、垂直基準点TV0から、垂直待機時間WTvを経過するまで、表示装置の各ピクセルに対応する画像データを出力しないで待機するよう構成されている。 The horizontal reference point TH0 (= horizontal reference time) and vertical reference point (= vertical reference time) TV0 for the operation of the display circuit 74 are then defined based on this V-blank start timing, and the display circuit 74 waits without outputting image data corresponding to each pixel of the display device until the horizontal waiting time WTh has elapsed from the horizontal reference point TH0. Similarly, the display circuit 74 is configured to wait without outputting image data corresponding to each pixel of the display device until the vertical waiting time WTv has elapsed from the vertical reference point TV0.
また、表示回路74Bは、表示装置74Aに同期して動作するので(図16のSP4)、サブ表示装置DS2についての表示動作の開始と終了タイミングも、メイン表示装置DS1のタイミングと同じである。したがって、サブ表示装置DS2に対するフレーム周期(519×867/27)は、サブ表示装置DS2に対するフレーム周期(1083×1662/108)より短く設定されることで、Vブランク開始時には、サブ表示装置DS2の更新処理が完了しているよう設定される。 Furthermore, because the display circuit 74B operates in synchronization with the display device 74A (SP4 in Figure 16), the start and end timing of the display operation for the sub-display device DS2 is also the same as that of the main display device DS1. Therefore, by setting the frame period for the sub-display device DS2 (519 x 867/27) shorter than the frame period for the sub-display device DS2 (1083 x 1662/108), the update process for the sub-display device DS2 is set to be completed when the V-blank starts.
以上の意義を有するステップSS4の処理が終われば、次に、計時タイマTMに基づいて300mS経過するのを待ち(SS5)、その後、給電制御回路SPYへの制御信号PWMをLレベルからHレベルに遷移させる(SS6)。その結果、バックライト部BLは、発光状態となり、これ以前に動作を開始している液晶表示部MONIは、表示回路74Aから受ける画像データに基づいて表示動作を開始する。なお、このタイミングでは、ディスプレイリストが発行されていないので、VRAMの内容がそのまま表示されることは先に説明した通りである。そこで、ステップSS5~SS6の処理を、タイマ割込み処理に委ねるのも好適であり(破線参照)、このような構成を採ると、タイミングT5の時点では、ディスプレイリストDLが発行済みとなるので、表示装置DS1には、所定の初期画面が表示されることになる。 After the processing of step SS4, which has the above significance, is completed, the process next waits for 300 mS based on the clock timer TM (SS5), and then transitions the control signal PWM sent to the power supply control circuit SPY from low to high (SS6). As a result, the backlight unit BL enters an illuminating state, and the liquid crystal display unit MONI, which had already started operating, begins displaying based on the image data received from the display circuit 74A. As explained above, at this timing, the display list has not yet been issued, so the contents of VRAM are displayed as is. Therefore, it is preferable to leave the processing of steps SS5 and SS6 to timer interrupt processing (see dashed lines). With this configuration, the display list DL has already been issued by timing T5, and the specified initial screen is displayed on the display device DS1.
続いて、メイン本体処理の残部であって、所定時間毎に繰り返し実行される定常処理について図22に基づいて説明する。図22に示す通り、演出制御CPU63の動作は、メイン制御処理(a)と、1mS毎に起動するタイマ割込み処理(b)と、制御コマンドCMDを受けて起動する受信割込み処理(不図示)と、表示装置DS1のVブランク(垂直帰線期間)の開始タイミングに生じるVBLANK信号を受けて起動するVBLANK割込み処理(c)と、動作フリーズ時や不合理な指示コマンド検出時に生じる描画異常割込み処理(d)と、を含んで構成されている。なお、20μS割込み処理については説明を省略する。 Next, the remaining part of the main main processing, the steady-state processing that is repeatedly executed at predetermined intervals, will be explained based on Figure 22. As shown in Figure 22, the operation of the performance control CPU 63 is composed of main control processing (a), timer interrupt processing (b) that starts every 1 ms, reception interrupt processing (not shown) that starts in response to a control command CMD, VBLANK interrupt processing (c) that starts in response to a VBLANK signal generated at the start of the V-blank (vertical blanking period) of the display device DS1, and drawing abnormality interrupt processing (d) that occurs when operation freezes or an irrational instruction command is detected. Note that an explanation of the 20 μS interrupt processing will be omitted.
受信割込み処理では、主制御部21から受けた制御コマンドCMDを、メイン制御処理(ST13)において参照できるよう、所定の受信バッファに記憶して処理を終える。また、VBLANK割込み処理(図22(b))では、VBLANK割込み毎に、割込みカウンタVCNTをインクリメントし(ST15)、メイン制御処理の開始タイミングでは、割込みカウンタVCNTの値に基づいて、1/30秒の動作開始タイミングを把握した上で、割込みカウンタVCNTをゼロクリアしている(ST4)。 In the receive interrupt process, the control command CMD received from the main control unit 21 is stored in a specified receive buffer so that it can be referenced in the main control process (ST13), and the process ends. In addition, in the VBLANK interrupt process (Figure 22 (b)), the interrupt counter VCNT is incremented for each VBLANK interrupt (ST15), and at the start of the main control process, the 1/30 second operation start timing is determined based on the value of the interrupt counter VCNT, and the interrupt counter VCNT is cleared to zero (ST4).
一方、タイマ割込み処理には、図22(b)に示す通り、原点センサ信号など取得を取得してモータ演出を進行させる処理(ST18)と、ランプ演出の進行処理(ST19)と、が含まれている。ランプ演出やモータ演出は、全ての演出動作を一元管理する演出シナリオに基づいて制御されており、演出カウンタENが管理する演出開始時に達すれば、演出シナリオ更新処理(ST11)において、モータ駆動テーブルやランプ駆動テーブルが特定されるようになっている。 On the other hand, as shown in Figure 22 (b), the timer interrupt process includes a process (ST18) for acquiring origin sensor signals and the like to progress the motor effect, and a process (ST19) for progressing the lamp effect. The lamp and motor effects are controlled based on a performance scenario that centrally manages all performance operations, and when the performance start time managed by the performance counter EN is reached, the motor drive table and lamp drive table are identified in the performance scenario update process (ST11).
そして、その後は、特定されたモータ駆動テーブルに基づいてモータ演出が進行し、特定されたモータ駆動テーブルに基づいてランプ演出が進行することになる。先に説明した通り、ステップST18の動作時に、DMAC回路(第1と第2のDMAチャンネル)60が機能する実施例もある。なお、モータ演出は、1mS毎に進行するが、ランプ演出は、1mSより長い適宜なタイミングで進行する。 Then, the motor performance progresses based on the identified motor drive table, and the lamp performance progresses based on the identified motor drive table. As explained above, there are also embodiments in which the DMAC circuit (first and second DMA channels) 60 functions when step ST18 is operating. Note that the motor performance progresses every 1 ms, but the lamp performance progresses at appropriate timings longer than 1 ms.
一方、図22(d)に示す通り、描画異常割込み処理では、描画回路76の動作状態を示すステイタスレジスタRGijをREADアクセスして、割込み原因を特定する。具体的には、(1) 異常な指示コマンドの検出(ビット化け)による描画異常割込みか、(2) 描画回路76の動作異常(フリーズ)による描画異常割込みかを特定する(ST16a)。そして、異常な指示コマンドの検出に基づく描画異常割込みである場合には、所定のシステム制御レジスタRGijに、所定値を書き込むことで、描画回路76を初期化する(ST16b)。この動作は、図7(b)に示すリセット経路4Bの個別リセット動作に他ならない。 On the other hand, as shown in Figure 22(d), in the drawing abnormality interrupt processing, the status register RGij, which indicates the operating status of the drawing circuit 76, is accessed for read access to identify the cause of the interrupt. Specifically, it is identified whether the drawing abnormality interrupt is due to (1) the detection of an abnormal command (bit corruption) or (2) an operational abnormality (freeze) of the drawing circuit 76 (ST16a). If the drawing abnormality interrupt is due to the detection of an abnormal command, a predetermined value is written to a predetermined system control register RGij, thereby initializing the drawing circuit 76 (ST16b). This operation is nothing more than the individual reset operation of the reset path 4B shown in Figure 7(b).
次に、個別リセット動作の正常終了を、所定のステイタスレジスタRGijで確認した後、描画回路76の動作を規定する一群の動作パラメータを所定の描画レジスタRGijに再設定して処理を終える(ST16c)。そして、戻り先アドレスを記憶するスタック領域を調整した後(割込み処理後の戻り先アドレスを消去する開放処理)、ステップST13の処理に移行させる(ST16c)。 Next, after confirming the successful completion of the individual reset operation in a specified status register RGij, the group of operating parameters that define the operation of the drawing circuit 76 are reset to the specified drawing register RGij, and processing ends (ST16c). Then, after adjusting the stack area that stores the return address (a release process that erases the return address after interrupt processing), processing proceeds to step ST13 (ST16c).
一方、描画回路76の動作異常に基づく描画異常割込みの場合には、無限ループ処理に移行させることで(ST16d)、WDT回路58を起動させ、複合チップ50全体をリセットする。なお、CPU回路51をリセットしたくない場合には、所定のキーワード列をパターンチェック回路CHKに出力して、リセット信号RSTによってVDP回路52だけをリセットしても良い(図7(b)参照)。この場合には、VDP回路52のリセット動作の正常終了を確認した後、ステップST4やST13の処理に移行させる。なお、可能な限り制御コマンドCMDの読み落しを回避するためには、他の場合も含め、ステップST4より、ステップST13に移行される方が良い。 On the other hand, in the case of a drawing abnormality interrupt based on an operational abnormality of the drawing circuit 76, the process transitions to an infinite loop (ST16d), activates the WDT circuit 58, and resets the entire combined chip 50. If it is not desired to reset the CPU circuit 51, a predetermined keyword string may be output to the pattern check circuit CHK, and only the VDP circuit 52 may be reset by the reset signal RST (see FIG. 7(b)). In this case, after confirming that the reset operation of the VDP circuit 52 has been completed successfully, the process transitions to steps ST4 and ST13. To avoid missing the control command CMD as much as possible, it is better to transition to step ST13 from step ST4, including other cases.
複合チップ50全体をリセットすると、それまでの演出が消滅して、演出制御が完全に初期状態(電源投入状態)に戻るが、VDP回路52だけをリセットする場合には、VDP回路52のリセット動作が完了するまで、所定の待機時間は生じるものの、一連の演出制御を継続させることができる。なお、演出制御CPU63は、画像演出、ランプ演出、及び、音声演出を統一的に制御しているので、各演出に不自然なズレが生じることもない。 When the entire composite chip 50 is reset, all previous effects are erased and effect control is returned to its initial state (power-on state). However, when only the VDP circuit 52 is reset, the entire series of effect control can continue, although there is a predetermined waiting time until the reset operation of the VDP circuit 52 is complete. Furthermore, because the effect control CPU 63 controls the image effects, lamp effects, and audio effects in a unified manner, there is no unnatural discrepancy between the various effects.
なお、以上説明したステップSS1~SS3の初期設定処理は、VDPレジスタRGijのレジスタアドレス値と、そのレジスタRGijへの設定値とを対応させた初期値設定テーブルSETTABLE(図36参照)に基づいて実行される。以上、初期設定処理について説明したので、次に、定常処理(ST4~ST14)を説明する前に、演出制御CPU63によって制御されるVDP回路52の定常動作(間欠動作)について図30(a)及び図31(b)に基づいて概略的に説明しておく。 The initial setting process of steps SS1 to SS3 described above is executed based on the initial value setting table SETTABLE (see Figure 36), which associates the register address value of VDP register RGij with the setting value for that register RGij. Having explained the initial setting process above, we will now provide a brief explanation of the steady-state operation (intermittent operation) of the VDP circuit 52 controlled by the performance control CPU 63, based on Figures 30(a) and 31(b), before explaining the steady-state processing (ST4 to ST14).
VDP回路52の間欠動作は、図30や図31に示す通りであり、プリローダ73を使用しない実施例では、図30(a)に示すように、演出制御CPU63が完成させたディスプレイリストDLiは、その動作周期(T1)で、描画回路76に発行され、描画回路76はディスプレイリストDLiに基づく描画動作によって、フレームバッファFBa,FBbに、画像データを完成させる。そして、フレームバッファFBa,FBbに完成された画像データは、次の動作周期T1+δに、表示回路74が表示装置DS1,DS2に出力することで、その後の、表示装置DS1,DS2の描画動作に基づき、遊技者が感知する表示画面となる。 The intermittent operation of the VDP circuit 52 is as shown in Figures 30 and 31. In an embodiment that does not use the preloader 73, as shown in Figure 30(a), the display list DLi completed by the presentation control CPU 63 is issued to the drawing circuit 76 in that operation cycle (T1), and the drawing circuit 76 completes image data in frame buffers FBa and FBb through drawing operations based on the display list DLi. The completed image data in frame buffers FBa and FBb is then output by the display circuit 74 to display devices DS1 and DS2 in the next operation cycle T1+δ, and the display screen perceived by the player is created based on the subsequent drawing operations of display devices DS1 and DS2.
一方、プリローダ73を使用する実施例では、図31(a)に示すように、演出制御CPU63が完成させたディスプレイリストDLiは、その動作周期(T1)で、プリローダ73に発行され、プリローダ73は、ディスプレイリストDLiを解釈して、必要な先読み動作を実行すると共に、ディスプレイリストDLiの一部を書き換えて、書換えリストDL’を完成させる。なお、先読みされたCGデータと書換えリストDL’は、DRAM54の適所に格納される。 On the other hand, in an embodiment using a preloader 73, as shown in FIG. 31(a), the display list DLi completed by the performance control CPU 63 is issued to the preloader 73 in its operating cycle (T1), and the preloader 73 interprets the display list DLi, performs the necessary prefetching operations, and rewrites part of the display list DLi to complete the rewrite list DL'. The prefetched CG data and rewrite list DL' are stored in appropriate locations in the DRAM 54.
次に、描画回路76は、その次の動作周期(T1+δ)で、DRAM54から書換えリストDL’を取得し、書換えリストDL’に基づく描画動作によって、フレームバッファFBa,FBbに、画像データを完成させる。そして、フレームバッファFBa,FBbに完成された画像データは、更にその次の動作周期(T1+2δ)で、表示回路74が表示装置DS1,DS2に出力することで、その後の表示装置DS1,DS2の描画動作に基づき、遊技者が感知する表示画面となる。 Next, in the next operating cycle (T1 + δ), the drawing circuit 76 retrieves the rewrite list DL' from DRAM 54 and completes the image data in the frame buffers FBa and FBb through drawing operations based on the rewrite list DL'. Then, in the next operating cycle (T1 + 2δ), the display circuit 74 outputs the completed image data in the frame buffers FBa and FBb to the display devices DS1 and DS2, and the display screen perceived by the player is created based on the subsequent drawing operations of the display devices DS1 and DS2.
以上、VDP回路52の間欠動作について概略的に説明したが、上記した図30~図31の動作を実現するため、演出制御CPU63は、初期処理(SS1~SS3)の後、割込みカウンタVCNTの値を繰り返し参照して、動作開始タイミングに達するのを待ち、動作開始タイミング(一つ飛びのVブランク開始タイミング)に達すれば、割込みカウンタVCNTをゼロクリアする(ST4)。 The above provides an overview of the intermittent operation of the VDP circuit 52. To achieve the operation shown in Figures 30 to 31, the performance control CPU 63 performs initial processing (SS1 to SS3), then repeatedly references the value of the interrupt counter VCNT, waiting for the operation start timing to be reached. When the operation start timing (the start timing of every other V blank) is reached, the interrupt counter VCNT is cleared to zero (ST4).
その後、定常動作を開始するが、本実施例では、最初に、定常動作を開始すべき動作開始条件を満たしているか否かを判定する(ST5)。なお、この判定タイミングは、図30~図31に記載のT1,T1+δ、T1+2δ、・・・・のタイミング、つまり、表示装置DS1の垂直帰線期間(VBLANK)の開始タイミングである。なお、表示装置DS2の表示タイミングは、表示装置DS1の表示タイミングに従属するよう、初期設定(ST3)時に設定されている。 After that, steady-state operation begins. In this embodiment, first, it is determined whether the operation start conditions for starting steady-state operation are met (ST5). The timing for this determination is the timings T1, T1+δ, T1+2δ, ... shown in Figures 30 and 31, i.e., the start timing of the vertical blanking period (VBLANK) of display device DS1. The display timing of display device DS2 is set during initial setup (ST3) so that it is subordinate to the display timing of display device DS1.
垂直帰線期間(VBLANK)の開始タイミングで判定される動作開始条件は、プリローダ73を活用するか否かで異なるので、先ず、プリローダ73を活用しない実施例(図22)について説明する。この場合は、本来、図30(a)のタイムチャートに示す通りにVDPの内部動作が進行するよう、回路構成やプログラムが設計されている。すなわち、動作周期(T1)で完成されたディスプレイリストDL1に基づき、描画回路76は、その動作周期中(T1~T1+δ)に、描画動作を終える筈である。しかし、例えば、図30(a)の動作周期(T1+2δ)で完成されたディスプレイリストDL3のように、その動作周期中(T1+2δ~T1+3δ)に、描画動作を終わらない場合も無いとは言えない。また、表示回路74に関して、表示タイミングに対して、表示データの生成が間に合わないUnderrun異常が生じている可能性も無くはない。 The operation start condition determined at the start timing of the vertical blanking interval (VBLANK) differs depending on whether or not the preloader 73 is used. Therefore, we will first describe an embodiment (Figure 22) that does not utilize the preloader 73. In this case, the circuit configuration and program are designed so that the internal operation of the VDP proceeds as shown in the time chart of Figure 30(a). That is, based on the display list DL1 completed in the operation cycle (T1), the drawing circuit 76 should complete its drawing operation within that operation cycle (T1 to T1 + δ). However, it is possible that the drawing operation will not be completed within that operation cycle (T1 + 2δ to T1 + 3δ), as in the case of display list DL3 completed in the operation cycle (T1 + 2δ) of Figure 30(a). Furthermore, it is possible that an underrun error has occurred in the display circuit 74, in which display data generation is unable to keep up with the display timing.
ステップST5の判定処理は、かかる事態を考慮したのであり、演出制御CPU63は、描画回路76の動作状態を示すステイタスレジスタRGij(制御レジスタ群70の一種)をアクセスして、ステップST5のタイミングで、描画回路76が、必要な動作を終えているか否かと、Underrun異常の有無を判定する。なお、Underrun異常の有無は、アンダーランカウンタURCNTa~URCNTcに基づいて判定される。また、プリローダ73を活用しない実施例では、例えば、図30(a)のタイミングT1+δでは、描画回路76に関する描画レジスタのステイタス情報をREADアクセスして、ディスプレイリストDL1に基づく描画動作が終わっていることを確認する。 The determination process in step ST5 takes such a situation into consideration, and the performance control CPU 63 accesses the status register RGij (a type of control register group 70) that indicates the operating state of the drawing circuit 76, and determines at the timing of step ST5 whether the drawing circuit 76 has completed the necessary operations and whether an underrun abnormality exists. The presence or absence of an underrun abnormality is determined based on the underrun counters URCNTa to URCNTc. Also, in an embodiment that does not utilize the preloader 73, for example, at timing T1+δ in Figure 30(a), the status information of the drawing register related to the drawing circuit 76 is read and accessed to confirm that the drawing operation based on the display list DL1 has ended.
そして、動作開始条件を満たさない場合(異常/不適合)には、異常回数をカウントする異常フラグERをインクリメントして、ステップST6~ST8処理をスキップする。異常フラグERは、その他の重大異常フラグABNと共に、ステップST9やST10の処理で判定され、重大異常フラグABNがリセット状態である前提において、連続異常回数が多くない場合(ER≦2)には、正常時と同様に、演出コマンド解析処理を実行する(ST13)。 If the operation start conditions are not met (abnormal/non-conformance), the abnormality flag ER, which counts the number of abnormalities, is incremented and steps ST6 to ST8 are skipped. The abnormality flag ER, along with the other serious abnormality flags ABN, is determined in steps ST9 and ST10. Assuming that the serious abnormality flag ABN is reset, if the number of consecutive abnormalities is not high (ER≦2), the performance command analysis process is executed (ST13), just as in normal cases.
Underrun異常時の場合も、同様に、ステップST6~ST8処理をスキップする。そして、所定のシステム制御レジスタRGijに、所定のクリア値を書込むことで、表示クロックDCK(周波数)と表示回路74を初期化する(ST10c)。そして、この初期化処理の正常終了を確認した後、表示クロックDCKの周波数や、表示回路74の動作を規定する一群のシステム制御レジスタRGijの値を、規定値に再設定した上で(ST10c)、演出コマンド解析処理を実行する(ST13)。 In the case of an underrun abnormality, steps ST6 to ST8 are similarly skipped. Then, a predetermined clear value is written to a predetermined system control register RGij, thereby initializing the display clock DCK (frequency) and the display circuit 74 (ST10c). After confirming that this initialization process has completed successfully, the values of the group of system control registers RGij that determine the frequency of the display clock DCK and the operation of the display circuit 74 are reset to their predetermined values (ST10c), and then the performance command analysis process is executed (ST13).
演出コマンド解析処理(ST13)では、主制御基板21から制御コマンドCMDを受けているか否かを判定し、制御コマンドCMDを受けた場合には、その制御コマンドCMDを解析して必要な処理を実行する(ST13)。ここで、必要な処理には、変動演出の開始を指示する制御コマンドCMDに基づく新規の変動演出の開始準備処理や、エラー発生を示す制御コマンドCMDに基づくエラー報知の開始処理が含まれる。続いて、WDT回路にクリアパルスを出力して(ST14)、ステップST4の処理に戻る。 The effect command analysis process (ST13) determines whether a control command CMD has been received from the main control board 21, and if a control command CMD has been received, analyzes the control command CMD and executes the necessary processing (ST13). The necessary processing here includes preparation processing for the start of a new variable effect based on a control command CMD that instructs the start of a variable effect, and initiation processing for an error notification based on a control command CMD that indicates the occurrence of an error. Next, a clear pulse is output to the WDT circuit (ST14), and processing returns to step ST4.
以上、軽微なUnderrun異常時や、動作開始条件が不適合の場合であって、異常フラグERがER≦2である場合について説明したが、このような場合には、その動作周期では、表示回路74が読み出す表示領域をトグル切換える処理(ST6)や、ディスプレイリストの作成処理(ST7)がスキップされ、且つ、演出シナリオが進行しないことになる(ST8~ST12参照)。これは、不完全な状態のフレームバッファFBa,FBbの画像データを出力させないためである。そのため、例えば、図30(a)の動作周期(T1+3δ)では、画像演出が進行せず、元の画面(DL2に基づく画面)が再表示されるフレーム落ちが生じる。 The above describes the case where there is a minor underrun error, or when the operation start conditions are not met and the error flag ER is ER≦2. In such cases, the process of toggling the display area read by the display circuit 74 (ST6) and the process of creating a display list (ST7) are skipped during that operation cycle, and the performance scenario does not proceed (see ST8-ST12). This is to prevent the output of incomplete image data from frame buffers FBa and FBb. Therefore, for example, during the operation cycle (T1+3δ) in Figure 30(a), the image performance does not proceed, and a frame drop occurs in which the original screen (the screen based on DL2) is redisplayed.
ここで、フレーム落ちを回避するため、動作開始条件が成立するまで待機する構成も考えられる。しかし、演出制御CPU63が実行すべき制御処理(ST6~ST12)は数多く、各々の処理時間を確保する必要があるので、本実施例では、動作開始条件を満たさない場合にフレーム落ちを生じさせている。 To avoid frame drops, it is possible to configure the system to wait until the operation start conditions are met. However, since there are many control processes (ST6 to ST12) that the performance control CPU 63 must execute and it is necessary to ensure time for each process, in this embodiment, frame drops occur when the operation start conditions are not met.
但し、フレーム落ちが生じたとしても、割込み処理(図22(b))によって進行するランプ演出やモータ演出と比較して、1/30~2/30秒程度、画像演出の進行が遅れるだけであり、これに遊技者が気付くことはない。しかも、フレーム落ち時には、演出カウンタENの更新処理を含んだ演出シナリオ処理(ST11)や、音声進行処理(ST12)も合わせてスキップされるので、その後に開始されるリーチ演出や予告演出や役物演出において、画像演出、音声演出、ランプ演出、及びモータ演出などの開始タイミングがずれるおそれはない。 However, even if a frame is dropped, the image effects are only delayed by about 1/30 to 2/30 of a second compared to the lamp and motor effects that proceed through interrupt processing (Figure 22 (b)), and the player will not notice this. Furthermore, when a frame is dropped, the effect scenario processing (ST11), which includes the effect counter EN update processing, and the audio progression processing (ST12) are also skipped, so there is no risk of delays in the start timing of image effects, audio effects, lamp effects, and motor effects in the reach effects, preview effects, and bonus effects that begin thereafter.
すなわち、演出シナリオでは、画像演出、音声演出、ランプ演出、モータ演出の開始タイミングと、その後に実行すべき演出内容を一元的に管理しており、正常時に限り更新される演出カウンタENによって、開始タイミングを制御しているので、各種の演出の同期が外れることはない。例えば、爆発音と、爆発画像と、役物移動と、ランプフラッシュ動作を複合した演出動作がある場合、フレーム落ちが生じた後であっても、上記した各演出動作は正しく同期して開始される。 In other words, the performance scenario centrally manages the start timing of image, audio, lamp, and motor effects, as well as the performance content to be executed thereafter. The start timing is controlled by the performance counter EN, which is updated only under normal conditions, so the various effects never become out of sync. For example, if there is a performance that combines explosion sounds, explosion images, prop movement, and lamp flashing, each of the above performance actions will start correctly and in sync, even after a frame drop occurs.
以上、比較的軽微な異常時について説明したが、重大異常フラグABNがセット状態である場合や、連続異常回数が多い場合(ER>2)や、繰り返しUnderrun異常が生じる場合には、ステップST10の判定の後、無限ループ状態としている(ST10b)。その結果、WDT回路58の計時動作が進行して、演出制御CPU63を含んだ複合チップ50は、異常リセットされ、その後、初期処理(SS1~SS3)が再実行されることで、異常事態発生の根本原因の解消が期待される。 The above describes relatively minor abnormalities, but if the serious abnormality flag ABN is set, if there are many consecutive abnormalities (ER>2), or if an underrun abnormality occurs repeatedly, an infinite loop state is entered after the judgment in step ST10 (ST10b). As a result, the timing operation of the WDT circuit 58 progresses, and the composite chip 50 including the performance control CPU 63 is reset due to an abnormality. After that, the initial processing (SS1-SS3) is re-executed, which is expected to resolve the root cause of the abnormality.
なお、このリセット動作は、WDT回路58が起動して実行されるので、CPU回路51も含め複合チップ50全体がリセット状態となる(図7(b))。そこで、CPU回路51のリセットを回避するべく、演出制御CPU63が、所定のキーワード列(例えば1バイトデータ3個)をパターンチェック回路CHKに出力して、リセット信号RSTをVDP回路52に出力するのも好適である(図36のST100参照)。この場合も、VDP回路52のリセット動作の正常終了を確認した後(ST101)、ステップST4やST13の処理に移行させることになる。 This reset operation is performed by activating the WDT circuit 58, so the entire composite chip 50, including the CPU circuit 51, is reset (Figure 7(b)). Therefore, to avoid resetting the CPU circuit 51, it is also preferable for the performance control CPU 63 to output a predetermined keyword string (e.g., three 1-byte data items) to the pattern check circuit CHK and output a reset signal RST to the VDP circuit 52 (see ST100 in Figure 36). In this case, after confirming that the reset operation of the VDP circuit 52 has completed successfully (ST101), the process will proceed to steps ST4 and ST13.
何れにしても、この異常時には、音声回路SNDも合わせ異常リセットされるので、画像演出、音声演出、ランプ演出、モータ演出は、全て初期状態に戻ることになる。但し、これらのリセット動作は、主制御部21や払出制御部25には、何の影響も与えなので、大当り状態の消滅や、賞球の消滅のような事態が発生するおそれはない。 In any case, when this abnormality occurs, the audio circuit SND is also reset, and the image effects, audio effects, lamp effects, and motor effects all return to their initial states. However, these reset operations have no effect on the main control unit 21 or payout control unit 25, so there is no risk of the jackpot state disappearing or prize balls disappearing.
以上、異常事態について説明したが、実際には、軽微な場合も含め上記した異常が発生することは殆どなく、ステップST5の処理の後、所定の表示レジスタRGij(DSPACTL /DSPBCTL)への設定に基づき、表示回路74Aと表示回路74Bが読み出すべき画像データを記憶するフレームバッファFBa,FBbの「表示領域」をトグル的に切り換える(ST6)。先に説明した通り、「表示領域(0)」と「表示領域(1)」は、予め初期処理において定義されているので(ST3)、ステップST6の処理では、フレームバッファFBa,FBbについて、今回の「表示領域」が、表示領域(0)/表示領域(1)の何れであるかを特定する。 The above describes abnormal situations, but in reality, even minor abnormalities rarely occur. After processing in step ST5, the "display area" of frame buffers FBa and FBb, which store the image data to be read by display circuit 74A and display circuit 74B, is toggled (ST6) based on the settings in the specified display register RGij (DSPACTL/DSPBCTL). As explained earlier, "display area (0)" and "display area (1)" are defined in advance in the initialization process (ST3). Therefore, in the processing in step ST6, it is determined whether the current "display area" for frame buffers FBa and FBb is display area (0) or display area (1).
このステップST6が実行されることで、表示回路74Aは、インデックス空間254(表示領域(0))と、インデックス空間255(表示領域(1))から、動作周期δ毎に、交互に画像データを読み出して表示装置DS1を駆動することになる。同様に、表示回路74Bは、インデックス空間251(表示領域(0))と、インデックス空間252(表示領域(1))から、動作周期δ毎に、交互に画像データを読み出してサブ表示装置DS2を駆動することになる。なお、表示回路74が実際にREADアクセスするのは、表示領域(0)/表示領域(1)における有効データ領域に限定されるのは先に説明した通りである。 By executing step ST6, the display circuit 74A alternately reads image data from index space 254 (display area (0)) and index space 255 (display area (1)) for each operation cycle δ to drive the display device DS1. Similarly, the display circuit 74B alternately reads image data from index space 251 (display area (0)) and index space 252 (display area (1)) for each operation cycle δ to drive the sub-display device DS2. As explained above, the actual READ access by the display circuit 74 is limited to the valid data area in display area (0)/display area (1).
何れにしても、本実施例では、動作周期毎に「表示領域」が切り替わるので、表示回路74A,74Bは、直前の動作周期で描画回路76が完成させた画像データについて、表示装置DS1,DS2への出力処理を開始することになる。但し、ステップST5の処理は、メイン表示装置DS1の垂直帰線期間(Vブランク)の開始時から開始されるので、実際には、垂直帰線期間が完了してから画像データの出力処理が開始されることになる。図30(a)において、表示回路の欄に示す矢印は、この出力処理の動作周期を示している。 In any case, in this embodiment, the "display area" switches with each operating cycle, so the display circuits 74A and 74B begin output processing to the display devices DS1 and DS2 for the image data completed by the drawing circuit 76 in the previous operating cycle. However, since the processing of step ST5 begins at the start of the vertical blanking period (V blank) of the main display device DS1, the image data output processing actually begins after the vertical blanking period has ended. In Figure 30(a), the arrows in the display circuit column indicate the operating cycle of this output processing.
以上のような意義を有するステップST6の処理が終われば、演出制御CPU63は、続いて、次の動作周期で、表示回路74が表示装置に出力するべき画像データを特定したディスプレイリストDLを完成させる(ST7)。特に限定されないが、この実施例では、RAM59のリストバッファ領域(DLバッファBUF)を確保し、そこにディスプレイリストDLを完成させている(図13参照)。 Once the processing of step ST6, which has the above significance, is completed, the performance control CPU 63 then completes a display list DL that specifies the image data that the display circuit 74 should output to the display device in the next operating cycle (ST7). Although not limited to this, in this embodiment, a list buffer area (DL buffer BUF) in RAM 59 is reserved and the display list DL is completed there (see Figure 13).
ディスプレイリストDLは、一連の指示コマンドを、適宜な順番で列記して構成され、EODL(End Of DL )コマンドを記載して終わるよう構成されている。そして、本実施例では、データ転送回路72、描画回路76、プリローダ73の円滑な動作を実現するべく、EODLコマンドを含む全ての指示コマンドを、コマンド長が32bitの整数N倍(N>0)の指示コマンドだけに限定している。なお、32bitの整数N倍で構成された指示コマンドに、無意ビット(Don't care bit)も含んで良いことは先に説明した通りである。 The display list DL is composed of a series of instruction commands listed in an appropriate order and is configured to end with an EODL (End Of DL) command. In this embodiment, to ensure smooth operation of the data transfer circuit 72, drawing circuit 76, and preloader 73, all instruction commands, including the EODL command, are limited to only those whose command length is an integer multiple of 32 bits (N > 0). As explained earlier, instruction commands consisting of an integer multiple of 32 bits may also include don't care bits.
このように、実施例のディスプレイリストDLは、コマンド長が32bitの整数N倍(N>0)の指示コマンドだけで構成されているので、ディスプレイリストDL全体のデータボリューム値(データ総量)は、必ず、コマンド長の最小単位(32bit=4バイト)の整数倍となる。更に、本実施例では、データ転送回路72の最低データ量Dminを考慮して、ディスプレイリストDLのデータボリューム値を、最低データ量Dminの整数倍(1以上)であって、且つ、指示コマンドの最小単位(4バイト)の整数倍となるよう調整している。例えば、Dmin=256バイトであれば、ディスプレイリストDLのデータボリューム値は、256バイト、512バイト・・・の何れかの値に調整される。 As such, since the display list DL in this embodiment is composed only of instruction commands whose command length is an integer multiple of N (N > 0) of 32 bits, the data volume value (total amount of data) of the entire display list DL is always an integer multiple of the smallest unit of command length (32 bits = 4 bytes). Furthermore, in this embodiment, taking into account the minimum data volume Dmin of the data transfer circuit 72, the data volume value of the display list DL is adjusted to be an integer multiple (1 or more) of the minimum data volume Dmin and also an integer multiple of the smallest unit of an instruction command (4 bytes). For example, if Dmin = 256 bytes, the data volume value of the display list DL is adjusted to one of 256 bytes, 512 bytes, etc.
ここで、演出内容の複雑さに応じて、適宜に、256バイトか、又は512バイトに調整するのも好適であるが、本実施例では、表示装置が二個であり、サブ表示装置DS2はそれほど複雑な画像演出を実行させないことを考慮して、ディスプレイリストDLのデータボリューム値を、常に、256バイトに調整している。 It would be appropriate to adjust this to 256 bytes or 512 bytes depending on the complexity of the presentation content, but in this embodiment, taking into account that there are two display devices and the sub-display device DS2 does not execute particularly complex image presentations, the data volume value of the display list DL is always adjusted to 256 bytes.
もっとも、この手法は、何ら限定されず、表示装置が三個以上になる場合や、サブ表示装置DS2も含め複雑な画像演出を実行する遊技機の場合には、512バイト又は、768バイトに調整される。また、通常の演出時は、ディスプレイリストDLのデータボリューム値を256バイトに調整し、特別な演出を実行する場合に限り、ディスプレイリストDLのデータボリューム値を、512バイト又は、768バイトに調整するのも好適である。 However, this method is not limited in any way, and in gaming machines with three or more display devices, or that execute complex image effects including the sub-display device DS2, the data volume value is adjusted to 512 bytes or 768 bytes. It is also preferable to adjust the data volume value of the display list DL to 256 bytes during normal effects, and to adjust the data volume value of the display list DL to 512 bytes or 768 bytes only when executing special effects.
但し、本実施例の場合には、ディスプレイリストDLのデータボリューム値は、各動作周期δにおいて、予め規定された所定バイト長(256バイト)に調整される。調整手法としては、32bit長のEODLコマンドの後に、不足領域を補填する32bit長のNOP (No Operation)コマンドを埋める簡易手法(A)か、或いは、不足領域を32bit長のNOP コマンドで埋めた後、最後に32bit長のEODLコマンドを記載する標準手法(B)が考えられる。なお、ディスプレイリストDLのデータボリューム値(データ総量)を全く調整することなくEODLコマンドで終結させ、データ転送回路72の動作時に、ダミーデータを付加的に転送して、最低データ量Dminの整数倍の転送量を確保する無調整手法(C)も考えられる。 However, in this embodiment, the data volume value of the display list DL is adjusted to a predetermined byte length (256 bytes) in each operation cycle δ. Possible adjustment methods are a simple method (A) in which a 32-bit EODL command is followed by a 32-bit NOP (No Operation) command to fill in the missing area, or a standard method (B) in which the missing area is filled with a 32-bit NOP command and then a 32-bit EODL command is written at the end. Alternatively, a non-adjustment method (C) is also possible in which the data volume value (total data amount) of the display list DL is terminated with an EODL command without any adjustment, and dummy data is additionally transferred during operation of the data transfer circuit 72 to ensure a transfer amount that is an integer multiple of the minimum data amount Dmin.
ここで、標準手法(B)を採る場合には、最初、コマンドカウンタCNTを規定値(256バイトに対応する64-1)に初期設定し、DLバッファ領域BUFに、有意な指示コマンドを書き込むごとに、コマンドカウンタCNTを適宜に減算し、一連の有意な指示コマンドの書き込みが終われば、コマンドカウンタCNTがゼロになるまで、NOP コマンドを記載し、最後にEODLコマンドを記載する手法が考えられる。本実施例の場合、指示コマンドは、そのコマンド長が32bitの整数N倍(N>0)のものに限定されているので、上記の処理は容易であり、コマンドカウンタCNTの減算処理は、整数Nに対応した減算処理となる。 If standard method (B) is adopted, the command counter CNT is initially set to a specified value (64-1, which corresponds to 256 bytes), and the command counter CNT is decremented appropriately each time a significant command is written to the DL buffer area BUF. Once a series of significant commands have been written, NOP commands are written until the command counter CNT reaches zero, and finally an EODL command is written. In this embodiment, the command length is limited to an integer multiple of 32 bits (N>0), so the above process is simple, and the decrement process for the command counter CNT corresponds to the integer N.
一方、簡易手法(A)を採る場合には、ディスプレイリストDLの作成時、最初に、リストバッファ領域(DLバッファBUF)の全てをNOP コマンドで埋めれば足りるので、一見、標準手法(B)より優れているように思われる。また、簡易性の観点では、無調整手法(C)も優れているように思われる。しかし、本実施例では、基本的に標準手法(B)を採っており、ディスプレイリストDLの先頭からEODLコマンドまでの実データ量、つまり、EODLコマンドまでのデータ量が、常に、データ転送回路72の最低データ量Dminの整数倍となるよう調整している。 On the other hand, when using the simplified method (A), it is sufficient to first fill the entire list buffer area (DL buffer BUF) with NOP commands when creating the display list DL, so at first glance it appears to be superior to the standard method (B). Furthermore, from the perspective of simplicity, the no-adjustment method (C) also appears to be superior. However, this embodiment basically uses the standard method (B), and adjusts the actual amount of data from the beginning of the display list DL to the EODL command, that is, the amount of data up to the EODL command, to always be an integer multiple of the minimum data amount Dmin of the data transfer circuit 72.
これは、プリローダ73を活用する実施例を考慮したものであり、もし、簡易手法(A)や無調整手法(C)を採用すると、EODLコマンドまでのディスプレイリストDLの実データ量が、ランダムな値となり、プリローダ73が書き換えた書換えリストDL’のDRAM54への転送時や、DRAM54から描画回路76への書換えリストDL’の転送時に支障が生じるからである。なお、書換えリストDL’のDRAM54への転送時には、データ転送回路72のChA制御回路72aが機能し、書換えリストDL’の描画回路76への転送時には、ChB制御回路72bが機能するが(図28参照)、何れの場合もEODLコマンドまでの書換えリストDL’しか転送しないことになる。 This takes into consideration an embodiment that utilizes the preloader 73. If the simple method (A) or the adjustment-free method (C) were adopted, the actual data amount of the display list DL up to the EODL command would become a random value, causing problems when the rewrite list DL' rewritten by the preloader 73 is transferred to the DRAM 54, and when the rewrite list DL' is transferred from the DRAM 54 to the drawing circuit 76. Note that when the rewrite list DL' is transferred to the DRAM 54, the ChA control circuit 72a of the data transfer circuit 72 functions, and when the rewrite list DL' is transferred to the drawing circuit 76, the ChB control circuit 72b functions (see Figure 28). However, in either case, only the rewrite list DL' up to the EODL command is transferred.
以上、ディスプレイリストDLのデータボリューム値を調整する標準手法(B)の利点を説明したが、プリローダ73を使用しない実施例では、発行されたディスプレイリストDLは、描画回路76によって処理されるだけであるので、簡易手法(A)や無調整手法(C)の使用が何ら禁止されない。 The above explains the advantages of the standard method (B) for adjusting the data volume value of the display list DL, but in embodiments that do not use the preloader 73, the issued display list DL is simply processed by the drawing circuit 76, so there is no prohibition on using the simple method (A) or the adjustment-free method (C).
但し、以下の説明では、プリローダ73の使用の有無に拘らず、原則として標準手法(B)を採ることを前提に、図23に基づいて、ディスプレイリストDLの詳細について説明する。 However, in the following explanation, we will assume that standard method (B) is used in principle, regardless of whether or not a preloader 73 is used, and will explain the details of the display list DL based on Figure 23.
特に限定されないが、本実施例では、ディスプレイリストDLに、先ず、メイン表示装置DS1に関する指示コマンド列(L11~L16)を記載し、その後、サブ表示装置DS2に関する指示コマンド列(L17~L20)を記載するようにしている。また、標準手法(B)を採用して、ディスプレイリストDLのデータボリューム値を固定長(256バイト)に調整している。なお、図23は、事実上、演出制御CPU63が、RAM59のリストバッファ領域に、指示コマンドを書き込む手順や、ディスプレイリストDLに基づく描画回路76の動作を示したものともなっている。 Although not particularly limited, in this embodiment, the display list DL first contains a sequence of instruction commands (L11 to L16) related to the main display device DS1, followed by a sequence of instruction commands (L17 to L20) related to the sub-display device DS2. Furthermore, standard method (B) is adopted to adjust the data volume value of the display list DL to a fixed length (256 bytes). Note that Figure 23 also essentially shows the procedure by which the performance control CPU 63 writes instruction commands to the list buffer area of RAM 59, and the operation of the drawing circuit 76 based on the display list DL.
図23に示す通り、ディスプレイリストDLの先頭では、環境設定系の指示コマンド(SETDAVR )を記載して、表示装置DS1のフレームバッファFBaについて、インデックス空間IDX上の左上基点アドレス(X,Y)を規定する(L11)。図12(a)に関して説明した通り、本実施例では、表示装置DS1用として、任意領域(c) に、一対のフレームバッファFBaが確保されている。そして、通常は、表示回路74にとっての有効データ領域に対応して、基点アドレス(X,Y)=(0,0)とすることで、フレームバッファFBaの先頭位置から描画回路76に活用される。 As shown in Figure 23, an environment setting command (SETDAVR) is written at the beginning of the display list DL, specifying the upper left base address (X, Y) in the index space IDX for the frame buffer FBa of display device DS1 (L11). As explained with reference to Figure 12(a), in this embodiment, a pair of frame buffers FBa is reserved in the arbitrary area (c) for display device DS1. Normally, the base address (X, Y) is set to (0, 0), corresponding to the valid data area for the display circuit 74, and the frame buffer FBa is used by the drawing circuit 76 from its beginning.
図12(c)では、その下方左側の実描画領域にL11と付しているが、これは、指示コマンドL11によって、フレームバッファFBa上の実描画領域が、フレームバッファFBaの基点アドレス(0,0)位置から始まると特定されたことを意味している。ただし、実描画領域の縦横寸法や、その実描画領域を具体的に特定するインデックス番号は、未だ未確定であり、後述する指示コマンド(SETINDEX)L13によって確定する。なお、指示コマンドL11ではZバッファの使用の有無も指定される。 In Figure 12(c), the actual drawing area on the lower left is labeled L11. This means that the instruction command L11 has specified that the actual drawing area on frame buffer FBa begins at the base address (0,0) of frame buffer FBa. However, the vertical and horizontal dimensions of the actual drawing area and the index number that specifically identifies that actual drawing area have not yet been determined, and will be determined by instruction command (SETINDEX) L13, which will be described later. Note that instruction command L11 also specifies whether or not to use the Z-buffer.
次に、環境設定系の指示コマンド(SETDAVF )によって、仮想描画空間上に、左上基点座標(Xs,Ys)と、右下対角点座標(Xe,Ye)を設定して、W×H寸法の描画領域を定義する(L12)。ここで、仮想描画空間とは、描画用の指示コマンド(SPRITEコマンドなど)によって描画可能な、X方向±8192、Y方向±8192の仮想的な二次元空間である(図12(c)参照)。 Next, the environment setting command (SETDAVF) is used to set the upper left base coordinates (Xs, Ys) and the lower right diagonal coordinates (Xe, Ye) in the virtual drawing space, thereby defining a drawing area with dimensions W x H (L12). Here, the virtual drawing space is a virtual two-dimensional space with dimensions of ±8192 in the X direction and ±8192 in the Y direction, which can be used to draw using drawing command commands (such as the SPRITE command) (see Figure 12(c)).
この指示コマンドL12(SETDAVF )によって、仮想描画空間は、描画内容が実際に表示装置DS1に反映される描画領域と、その他の非描画領域に区分される。また、指示コマンドL12(SETDAVF )は、指示コマンドL11で開始位置(基点アドレス)が規定された実描画領域と、仮想描画空間上の描画領域とを対応付けることになる。 This instruction command L12 (SETDAVF) divides the virtual drawing space into a drawing area where the drawing content is actually reflected on display device DS1, and the other non-drawing area. Furthermore, instruction command L12 (SETDAVF) associates the actual drawing area, whose start position (base address) is specified by instruction command L11, with the drawing area in the virtual drawing space.
この点を言い換えると、指示コマンドL12によって、(インデックス空間は未定の)フレームバッファFBaには、仮想描画空間上の描画領域に対応する、基点アドレスから始まるW×Hの実描画領域が定義されることになる。したがって、指示コマンドL12で指定する描画領域は、フレームバッファFBaの水平サイズと同一か、それ以下とする必要がある。通常、描画領域や実描画領域は、表示回路74にとっての有効データ領域(図22(e))と同寸法となるよう定義される。 In other words, instruction command L12 defines an actual drawing area (W x H) starting from the base address in frame buffer FBa (for which the index space is undefined) that corresponds to the drawing area in the virtual drawing space. Therefore, the drawing area specified by instruction command L12 must be the same as or smaller than the horizontal size of frame buffer FBa. Normally, the drawing area and actual drawing area are defined to have the same dimensions as the valid data area (Figure 22 (e)) for the display circuit 74.
そして、描画回路76が指示コマンドL11,L12を実行した後は、仮想描画空間に描画された描画内容のうち、描画領域に含まれるものだけが、フレームバッファFBaの実描画領域に反映されることになる。したがって、描画領域からはみ出した部分や、図12(c)において作業領域と記載された部分の描画内容は、そのままでは、フレームバッファに反映されることはない。なお、仮想描画空間に作業領域を確保する場合には、仮想描画空間の非描画領域が使用される。 After the drawing circuit 76 executes the instruction commands L11 and L12, only the drawing content drawn in the virtual drawing space that is included in the drawing area is reflected in the actual drawing area of the frame buffer FBa. Therefore, drawing content that extends beyond the drawing area or in the area marked as the working area in Figure 12 (c) will not be reflected in the frame buffer as is. Note that when allocating a working area in the virtual drawing space, the non-drawing area of the virtual drawing space is used.
次に、今回の動作周期において、描画回路76が、これから完成させるディスプレイリストDLに基づいて描画する描画内容を何処に描画すべきかを規定する(L13)。具体的には、ダブルバッファ構成の表示装置DS1のフレームバッファFBaについて、今回のディスプレイリストDLに基づく描画内容の「書込み領域」となるインデックス空間IDXが特定される(L13)。具体的には、テクスチャ設定系のコマンドであるSETINDEXコマンドによって、(1) フレームバッファFBaは、任意領域に確保されていること、及び、(2) 「書込み領域」となるインデックス空間IDXNの任意領域上のインデックス番号Nが特定される。 Next, in this operation cycle, the drawing circuit 76 specifies where to draw the drawing content to be drawn based on the display list DL to be completed (L13). Specifically, for the frame buffer FBa of the double-buffered display device DS1, the index space IDX that will be the "write area" for the drawing content based on the current display list DL is specified (L13). Specifically, the SETINDEX command, which is a texture setting command, specifies (1) that the frame buffer FBa is allocated in an arbitrary area, and (2) the index number N in the arbitrary area of the index space IDX N that will be the "write area."
この指示コマンドL13によって、例えば、N=255と特定された場合には、仮想描画空間上に定義された描画領域に対応する実描画領域は、具体的には、ダブルバッファ構造のフレームバッファFBaにおけるインデックス空間IDX255であると定義されたことになる。 If, for example, N=255 is specified by this instruction command L13, the actual drawing area corresponding to the drawing area defined in the virtual drawing space is specifically defined as the index space IDX 255 in the frame buffer FBa having a double buffer structure.
本実施例の場合、フレームバッファFBaのインデックス番号は、255又は254であり(図12(a))、トグル的に切り換えた何れかが指定される(L13)。なお、このインデックス番号は、メイン制御処理のステップST6で指定された表示領域(0)/(1)ではない方のインデック番号である。例えば、ステップST6の処理において、表示回路74に対して、表示領域(0)が指定されている場合には、表示領域(1)が、描画回路76にとっての「書込み領域」となる。 In this embodiment, the index number of frame buffer FBa is 255 or 254 (Figure 12(a)), and either one is designated by toggling (L13). Note that this index number is the index number of the display area other than (0)/(1) designated in step ST6 of the main control processing. For example, if display area (0) is designated for display circuit 74 in the processing of step ST6, display area (1) becomes the "write area" for drawing circuit 76.
以上の通り、指示コマンドL11と指示コマンドL12とで、実描画領域(W×Hの論理空間)と描画領域(W×Hの仮想空間)との対応関係が、一般的に定義された後、インデックス空間IDXを具体的に特定する指示コマンドL13(SETINDEX)によって、W×Hの仮想空間が、特定のインデックス空間IDXにおけるW×Hの論理空間であると対応付けられたことになる。 As described above, after the correspondence between the actual drawing area (logical space of W x H) and the drawing area (virtual space of W x H) is generally defined by instruction command L11 and instruction command L12, the virtual space of W x H is associated with the logical space of W x H in the specific index space IDX by instruction command L13 (SETINDEX), which specifically specifies the index space IDX.
この点を言い換えると、今後、一連の指示コマンドに基づいて、W×Hの仮想空間に仮想的に描画される内容は、仮想空間と内蔵VRAM71の実アドレスとの対応関係を規定するVDP内部の変換テーブルに基づいて、内蔵VRAM71(フレームバッファ)の画像データとなる。 In other words, from now on, the content that will be virtually drawn in the W x H virtual space based on a series of instruction commands will become image data in the built-in VRAM 71 (frame buffer) based on a conversion table inside the VDP that defines the correspondence between the virtual space and the real addresses in the built-in VRAM 71.
続いて、「書込み領域」として、特定されたインデックス空間IDXを、例えば、黒色で塗りつぶすフレームバッファ・クリア処理を実行する指示コマンドが記載される(L14,L15)。これは、二動作期間前にフレームバッファFBaに書き込まれた画像データの消去処理に他ならない。 Next, an instruction command is written to execute a frame buffer clear process that fills the specified index space IDX as the "write area" with, for example, black (L14, L15). This is nothing more than a process to erase the image data written to the frame buffer FBa two operation periods ago.
具体的には、環境設定コマンドの一種であるSETFCOLOR コマンドによって、例えば黒色を選択し、プリミティブ描画系コマンドであるRECTANGLE コマンドによって矩形領域を塗り潰すべく規定する。なお、RECTANGLE コマンドでは、仮想描画空間に設定された描画領域(フレームバッファFBaに対応する仮想空間)について、その左上端点と、右下端点のXY座標が指定される(図12(c)参照)。 Specifically, the SETFCOLOR command, which is a type of environment setting command, selects black, for example, and the RECTANGLE command, which is a primitive drawing command, specifies the rectangular area to be filled. The RECTANGLE command specifies the X and Y coordinates of the upper left and lower right corners of the drawing area set in the virtual drawing space (the virtual space corresponding to the frame buffer FBa) (see Figure 12(c)).
以上の処理によって、描画準備処理が完了するので、次に、静止画や動画一フレームなど、適宜なテクスチャを、仮想描画空間に描画するための指示コマンドを列記する。典型的には、先ず、テクスチャの展開先となるインデックス空間IDXを、テクスチャ設定系のSETINDEXコマンドで特定した上で、テクスチャロード系の指示コマンドであるTXLOADコマンドを記載して、CGROM55から読み出す所定のテクスチャを、所定のインデックス空間IDXに展開するようディスプレイリストDLに記載する。 The above process completes the rendering preparation process, so next, command instructions are entered to render an appropriate texture, such as a still image or a single frame of video, in the virtual rendering space. Typically, the index space IDX into which the texture will be deployed is first specified using a texture setting command, the SETINDEX command, and then the TXLOAD command, a texture load command, is entered and the specified texture read from CGROM 55 is entered in the display list DL to be deployed in the specified index space IDX.
先に説明した通り、本実施例では、背景動画が、IPストリーム動画で構成されている。そこで、例えば、背景動画について、これを展開すべきインデックス空間IDXを、テクスチャ設定系のSETINDEXコマンドで、ページ領域(b) のインデックス空間IDX0と特定した上で、テクスチャロード系のTXLOADコマンドを記載する。なお、TXLOADコマンドでは、今回LOADすべき動画フレームについて、CGROM55の先頭アドレス(テクスチャのSourceアドレス)と、展開後のデータサイズ(水平×垂直)を特定する必要がある。 As explained above, in this embodiment, the background video is composed of IP stream video. Therefore, for example, the index space IDX into which the background video should be loaded is specified as index space IDX 0 in page area (b) using the texture setting command SETINDEX, and then the texture loading command TXLOAD is written. The TXLOAD command must specify the starting address of the CGROM 55 (texture source address) and the data size (horizontal x vertical) after loading for the video frame to be loaded.
VDP回路52において、上記のTXLOADコマンドが実行されると、背景動画の一動画フレーム(テクスチャ)は、先ず、AAC領域(a) に取得され、その後、自動的に起動するGDEC75によって、ページ領域(b) のインデックス空間IDX0に展開される。次に、この一動画フレームを仮想描画空間に描画することになる。この場合に、SETINDEXコマンド(テクスチャ設定系)によって、「ページ領域(b) のインデックス空間IDX0が、その後の処理対象のテクスチャである」と設定しても良いが、TXLOADコマンドに連続して処理する場合には、このSETINDEXコマンドの記載を省略することができる。 When the VDP circuit 52 executes the TXLOAD command, one video frame (texture) of the background video is first acquired in the AAC area (a), and then the GDEC 75, which starts automatically, expands it into the index space IDX 0 of the page area (b). This one video frame is then drawn in the virtual drawing space. In this case, the SETINDEX command (texture setting system) may be used to set that "index space IDX 0 of the page area (b) is the texture to be processed thereafter," but if processing is to be performed immediately following the TXLOAD command, the SETINDEX command may be omitted.
何れにしても、「ページ領域(b) のインデックス空間IDX0が、その後の処理対象のテクスチャである」と特定されている状態で、次に、αブレンド処理のためのパラメータを設定するなど、適宜な描画間演算系の指示コマンドを記載する。なお、αブレンド処理とは、既に描画領域(フレームバッファFBa)に記載されている画像と、これから上書きする画像との透明化/半透明化処理に関するものある。したがって、背景動画の動画フレームのように、第一枚目の描画動作では、描画間演算系の指示コマンドの使用は不要である。 In either case, once it has been determined that "index space IDX 0 of page area (b) is the texture to be processed subsequently," appropriate inter-rendering calculation command instructions are then entered, such as setting parameters for alpha blending. Alpha blending is a process for making the image already written in the rendering area (frame buffer FBa) transparent or semi-transparent with the image to be overwritten. Therefore, for the first rendering operation, such as for a video frame of a background video, it is not necessary to use inter-rendering calculation command instructions.
続いて、プリミティブ描画系の指示コマンドであるSPRITEコマンドによって、「ページ領域(b) のインデックス空間IDX0のテクスチャ(背景動画の一動画フレーム)」を、仮想描画空間の適所(矩形のDestination 領域)に描画するべくSPRITEコマンドを記載する。なお、SPRITEコマンドには、仮想描画空間のDestination 領域について、その左上端点と、右下端点を特定する必要がある。 Next, the SPRITE command, which is a primitive rendering instruction command, is written to draw the "texture (one video frame of the background video) in index space IDX 0 of page area (b)" in the appropriate location (rectangular Destination area) in the virtual rendering space. Note that the SPRITE command requires that the upper left and lower right corners of the Destination area in the virtual rendering space be specified.
このDestination 領域は、予め、指示コマンドL11,L12によって、実描画領域(FBa)に対応付けられた描画領域(仮想描画空間上に定義された仮想空間)の全体又はその一部である。但し、背景動画は、通常、表示画面全体に描画するので、このような場合のDestination 領域は、描画領域の全体又はそれ以上となる。なお、Destination 領域が、描画領域の全体より大きい場合とは、例えば、背景動画がズームアップされる場合である。 This destination area is the entire drawing area (virtual space defined on the virtual drawing space) that has been previously associated with the actual drawing area (FBa) by instruction commands L11 and L12, or a portion thereof. However, since background video is usually drawn on the entire display screen, the destination area in such cases is the entire drawing area or larger. An example of a destination area that is larger than the entire drawing area is when the background video is zoomed in.
以上の処理によって、背景動画の動画フレームの描画が終わったので、続いて、テクスチャロード系、テクスチャ設定系、描画間演算系、プリミティブ描画系コマンドなどの指示コマンドを適宜な順番で列記して、背景動画に重ねて、各種のテクスチャを描画するべくディスプレイリストDLを構成することになる。先に説明したように、変動演出時では、多数の動画が必要となるので、その場合には、内蔵VRAM71のページ領域(b) について、インデックス空間IDXを増加するべく、インデックステーブル制御系の指示コマンド(NEWPIX)を記載することになる。 The above process completes the drawing of the video frames for the background video. Next, command instructions such as texture load, texture setting, inter-drawing calculation, and primitive drawing commands are listed in the appropriate order and overlaid on the background video to create a display list DL for drawing various textures. As explained above, a large number of videos are required for variable effects, so in that case, an index table control command (NEWPIX) is written to increase the index space IDX for page area (b) of the built-in VRAM 71.
例えば、二つ目のIPストリーム動画に関し、NEWPIXコマンドによって、ページ領域(b) に、追加のインデックス空間IDX1を確保した後、このインデックス空間IDX1を特定して(SETINDEX)、二つ目の動画の一フレームの展開を指示し(TXLOAD)、展開したテクスチャを描画領域の適所に配置する(SPRITE)。通常、この場合のDestination 領域は、描画領域の一部となる。 For example, for the second IP stream video, an additional index space IDX1 is reserved in page area (b) using the NEWPIX command, and then this index space IDX1 is specified (SETINDEX), a command is issued to render one frame of the second video (TXLOAD), and the rendered texture is placed in an appropriate location in the rendering area (SPRITE). Normally, the destination area in this case is part of the rendering area.
以下、同様であり、NEWPIXコマンドによって、次々、インデックス空間IDXkを確保した後、適宜なαブレンド処理を実行しつつ、複数のIPストリームを描画領域に描画すれば、描画領域への描画内容は、実描画領域であるフレームバッファFBaに画像データとして順次蓄積されることになる。複数N個のIPストリーム動画が描画されている演出時には、ページ領域(b) において、複数N個のインデックス空間が機能している。 The same applies to the following, and after reserving index spaces IDXk one after another using the NEWPIX command, if multiple IP streams are drawn in the drawing area while performing appropriate alpha blending, the contents drawn in the drawing area will be sequentially stored as image data in the frame buffer FBa, which is the actual drawing area.When a plurality of N IP stream videos are drawn, a plurality of N index spaces are in operation in the page area (b).
そして、一連の変動演出が終了したような場合には、ページ領域(b) に確保した多数のインデックス空間IDX1~IDXkのうち、不要と思われるインデックス空間IDXを開放するべく、DELPIXコマンドによって不要なインデックス空間IDXを削除すれば良い。 Then, when a series of variable effects has ended, the unnecessary index spaces IDX can be deleted using the DELPIX command in order to free up the index spaces IDX that are deemed unnecessary from among the many index spaces IDX 1 to IDX k secured in the page area (b).
なお、静止画やIストリーム動画を描画する場合には、SETINDEXコマンドによって、これらのテクスチャのデコード先が、AAC領域(a) であると指定した上で、TXLOADコマンドを実行させれば、AAC領域(a) に取得されたテクスチャは、その後、自動的に起動するGDEC75によってACC領域(a) に展開される。そして、展開されたテクスチャは、SPRITEコマンドによって、描画領域の適所に描画すれば良い。なお、キャッシュヒット機能を活用するか否かに応じて、第一AAC領域(a1)か、第二AAC領域(a2)が使用される。 When drawing still images or I-stream video, use the SETINDEX command to specify that the AAC area (a) is the decode destination for these textures, and then execute the TXLOAD command. The texture acquired in the AAC area (a) will then be expanded into the ACC area (a) by the automatically activated GDEC75. The expanded texture can then be drawn in the appropriate location in the drawing area using the SPRITE command. Depending on whether or not the cache hit function is used, either the first AAC area (a1) or the second AAC area (a2) will be used.
ここまでの説明では、各テクスチャは、直接的に、メイン表示装置用DS1の描画領域に描画されるが、必ずしも、このような動作に限定されない。例えば、既に表示装置DS1用に確保されている描画領域に重複しない状態で、適宜な描画領域を設け(図12(c))、この描画領域を内蔵VRAM71の作業領域に対応付ければ、中間的な描画領域を構築して、適宜な演出画像を完成させることができる。ここで、表示装置DS1用の描画領域と重複しない状態とするのは、重複領域については、後の対応付け設定が優先され、その領域への描画内容がフレームバッファFBaに反映されないからである。 In the explanation up to this point, each texture is drawn directly in the drawing area of the main display device DS1, but this is not necessarily the only possible operation. For example, by creating an appropriate drawing area that does not overlap with the drawing area already reserved for display device DS1 (Figure 12(c)), and associating this drawing area with the working area of the internal VRAM 71, an intermediate drawing area can be constructed and an appropriate rendering image can be completed. The reason for not overlapping with the drawing area for display device DS1 is that for overlapping areas, subsequent association settings take priority, and the contents drawn in that area are not reflected in the frame buffer FBa.
図12(c)に示す通り、本実施例の作業領域は、任意領域(c) におけるインデックス空間IDX0である。そして、この作業領域を使用する演出タイミングでは、先行して、演出画像用の描画領域(図12(c)参照)を、作業領域(インデックス空間IDX0の実描画領域)に対応付けるための指示コマンド列(SETDAVR ,SETDAVF ,SETINDEX)を記載しておく。図12(c)に示す通り、演出画像用の描画領域は、メイン表示装置DS1用の描画領域に含まれない領域に確保される。 As shown in Fig. 12(c), the work area in this embodiment is index space IDX 0 in arbitrary area (c). Then, at the timing of the performance using this work area, an instruction command sequence (SETDAVR, SETDAVF, SETINDEX) is written in advance to associate the drawing area for the performance image (see Fig. 12(c)) with the work area (the actual drawing area of index space IDX 0 ). As shown in Fig. 12(c), the drawing area for the performance image is secured in an area not included in the drawing area for the main display device DS1.
そして、その後は、フレームバッファFBaに関する指示コマンド列L16と同様の指示コマンドを列記して、インデックス空間IDX0に、適宜な演出画像を完成させれば良い。本実施例の場合、演出画像は、静止画で構成されるので、デコードデータは第一AAC領域(a1)に展開されるよう指示コマンド(SETINDEX)が記載され、次に、インデックス空間IDX0の描画領域の適所をDestination とするプリミティブ描画系の指示コマンド(SPRITE)が使用されることになる。なお、このような動作は、演出内容に応じて、一回又は複数回繰り返される。 Thereafter, instruction commands similar to the instruction command sequence L16 for frame buffer FBa are entered to complete an appropriate effect image in index space IDX 0. In the case of this embodiment, since the effect image is composed of a still image, an instruction command (SETINDEX) is entered to cause the decoded data to be expanded in the first AAC area (a1), and then a primitive drawing instruction command (SPRITE) is used with an appropriate location in the drawing area of index space IDX 0 as the Destination. Note that this operation is repeated once or multiple times depending on the effect content.
そして、演出画像を完成させたインデックス空間IDX0をテクスチャと位置付けた後(SETINDEX)、SPRITEコマンドによって、メイン表示装置用DS1の描画領域の適所に、インデックス空間IDX0の演出画像(テクスチャ)を描画すれば良い。このような場合、インデックス空間IDX0の演出画像を、三角形の描画プリミティブ(primitive )に分解し、適宜な角度に回転させた上で、描画領域に描画することが考えられる。なお、テクスチャの回転角度は、例えば、予告演出の信頼度などに対応付けられる。 Then, after positioning the index space IDX 0 in which the effect image has been completed as a texture (SETINDEX), the effect image (texture) of the index space IDX 0 can be drawn in an appropriate location in the drawing area of the main display device DS1 using the SPRITE command. In such a case, it is conceivable to decompose the effect image of the index space IDX 0 into triangular drawing primitives, rotate them at an appropriate angle, and then draw them in the drawing area. The rotation angle of the texture can be associated with, for example, the reliability of the preview effect.
以上、メイン表示装置DS1の一フレームを完成させるための指示コマンド列(L11~L16)について説明したが、サブ表示装置DS2の一フレームを完成させるための指示コマンド列(L17~L12)についても、同様である。すなわち、フレームバッファFBbの開始XY座標を特定し(L17)を定義し(通常はX=0,Y=0)、図12(c)に示す仮想描画空間上に、サブ表示装置DS2のための描画領域を定義する(L18)。 The above describes the instruction command sequence (L11 to L16) for completing one frame on the main display device DS1, but the same applies to the instruction command sequence (L17 to L12) for completing one frame on the sub-display device DS2. That is, the starting X and Y coordinates of the frame buffer FBb are specified (L17) and defined (usually X = 0, Y = 0), and the drawing area for the sub-display device DS2 is defined in the virtual drawing space shown in Figure 12(c) (L18).
ところで、本実施例では、メイン表示装置DS1用の画像データの生成を終えた後、サブ表示装置DS2用の生成処理に移行するので、サブ表示装置DS2用の描画領域が、メイン表示装置DS1用の描画領域と重複しても何の問題もなく、描画領域を自由に設定することができる。そのため、ディスプレイリストDLの生成プログラムの開発時、例えば、SPRITEコマンドで、新規に設定された描画領域に適宜なテクスチャを貼り付けるような場合、SPRITEコマンドの動作パラメータ(Destination 領域)の設定その他を、ある程度、定型化することができる。 In this embodiment, after generating image data for the main display device DS1, the process moves on to generating image data for the sub-display device DS2. This means that even if the drawing area for the sub-display device DS2 overlaps with the drawing area for the main display device DS1, there is no problem, and the drawing area can be set freely. Therefore, when developing a program to generate a display list DL, for example, if you want to apply an appropriate texture to a newly set drawing area using the SPRITE command, you can standardize the settings of the SPRITE command's operating parameters (Destination area) and other settings to a certain extent.
このような任意の描画領域の定義が終われば(L18)、次に、ダブルバッファ構成の表示装置DS2のフレームバッファFBbについて、今回のディスプレイリストDLに基づく描画内容の「書込み領域」となるインデックス空間IDXを特定する(L19)。このインデックス空間IDXのインデックス番号は、フレームバッファFBbに関し、メイン制御処理のステップST6で指定された表示領域(0)/(1)に対応しない方のインデック番号である。 Once this arbitrary drawing area has been defined (L18), the index space IDX that will serve as the "write area" for the drawing content based on the current display list DL is identified for the frame buffer FBb of the double-buffered display device DS2 (L19). The index number of this index space IDX is the index number for the frame buffer FBb that does not correspond to the display area (0)/(1) specified in step ST6 of the main control process.
そして、その後、サブ表示装置DS2についての指示コマンド列L20~L22が、メイン表示装置DS1に関する指示コマンド列L14~L16と同様に列記される。また、インデックス空間IDX0に完成させた演出画像を使用することもできる。 Then, the instruction command sequence L20 to L22 for the sub-display device DS2 is listed in the same manner as the instruction command sequence L14 to L16 for the main display device DS1. It is also possible to use the effect image completed in the index space IDX0 .
以上、ディスプレイリストDLを構成するL11~L22の指示コマンドは、本実施例では、全て、コマンド長が32ビットの整数倍のものに限定されている。そして、先に説明した通り、本実施例のディスプレイリストDLのデータボリューム値(データ総量)を、固定長(256バイト)に調整しており、ダミーコマンドたる必要数のNOP コマンド(L23)を付加した上で、EODLコマンド(L24)で終結させている。すなわち、図23の実施例では、前記した標準手法(B)を採っている。 As described above, in this embodiment, the command lengths of all instruction commands L11 to L22 that make up the display list DL are limited to integer multiples of 32 bits. As explained above, the data volume value (total amount of data) of the display list DL in this embodiment is adjusted to a fixed length (256 bytes), and the necessary number of NOP commands (L23) are added as dummy commands before terminating with the EODL command (L24). In other words, the embodiment in Figure 23 employs the standard method (B) described above.
但し、標準手法(B)を採る場合でも、全ての動作周期において、ディスプレイリストDLのデータ総量を256バイトと固定化することは必ずしも必須ではない。すなわち、別の実施例では、NOP コマンドを除くディスプレイリストDLのデータ総量が、256バイトを超える場合(例えば、特別な演出期間)には、ディスプレイリストDLのデータ総量は、NOP コマンドを付加することで、512バイト又はそれ以上のN×256バイトに調整される。なお、標準手法(B)を採る場合、N×256バイトの最後はEODLコマンドで終端されることは先に説明した通りである。 However, even when standard method (B) is used, it is not necessarily necessary to fix the total data size of the display list DL to 256 bytes throughout all operating cycles. That is, in another embodiment, if the total data size of the display list DL excluding NOP commands exceeds 256 bytes (for example, during a special presentation period), the total data size of the display list DL is adjusted to 512 bytes or more, or N x 256 bytes, by adding NOP commands. As explained above, when standard method (B) is used, the end of the N x 256 bytes is terminated with an EODL command.
以上、ディスプレイリストDLの構成について詳細に説明したが、演出制御CPU63は、完成させた固定バイト長のディスプレイリストDLをVDP回路に発行することになる(ST7~ST8)。図24は、演出制御CPU63が、転送回路72の転送ポートレジスタTR_PORT を直接WRITE アクセスして、描画回路76にディスプレイリストDLを発行するDL発行処理(図22のST8)を説明するフローチャートである。なお、転送ポートレジスタTR_PORT は、データ転送回路72の動作内容を規定するデータ転送レジスタRGijの一種である。 The configuration of the display list DL has been explained in detail above, but the performance control CPU 63 then issues the completed fixed-byte-length display list DL to the VDP circuit (ST7-ST8). Figure 24 is a flowchart explaining the DL issuance process (ST8 in Figure 22) in which the performance control CPU 63 directly WRITE-accesses the transfer port register TR_PORT of the transfer circuit 72 and issues a display list DL to the drawing circuit 76. The transfer port register TR_PORT is a type of data transfer register RGij that defines the operation of the data transfer circuit 72.
DL発行処理を実現するには、先ず、データ転送回路72の動作内容を規定する複数のデータ転送レジスタRGijに、必要な設定値を設定する必要がある。具体的には、データ転送回路72の転送動作態様と、データ転送回路72内部の伝送経由と、を所定のデータ転送レジスタRGijに特定する。設定内容は、特に限定されないが、ここでは、CPUIF部56からChB制御回路72bを経由すること、及び、CPUバス制御部72dに関し、そのFIFOバッファの残量をチェックしながらデータ転送動作を実行すると設定する(ST20)。なお、以下の説明では、ChB制御回路72bを、便宜上、「転送回路ChB」と略すことがある。 To execute the DL issuance process, the necessary settings must first be set in the multiple data transfer registers RGij, which define the operation of the data transfer circuit 72. Specifically, the transfer operation mode of the data transfer circuit 72 and the transmission route within the data transfer circuit 72 are specified in the specified data transfer register RGij. While there are no particular restrictions on the settings, here, the settings are set to transfer data from the CPUIF unit 56 via the ChB control circuit 72b, and for the CPU bus control unit 72d, to execute the data transfer operation while checking the remaining capacity of its FIFO buffer (ST20). Note that in the following description, the ChB control circuit 72b may be abbreviated as "transfer circuit ChB" for convenience.
次に、転送総サイズを、所定のデータ転送レジスタRGijに設定する。先に説明した通り、本実施例では、ディスプレイリストDLのデータ総量を256バイトの整数倍に調整しているので、その値を設定する。なお、データ総量=256×Nは、データ転送回路72の最低データ量Dminの整数N倍にもなっている。通常、倍数Nは、1又は2であるが、以下の説明では、N=1として説明することにする。 Next, the total transfer size is set in the specified data transfer register RGij. As explained earlier, in this embodiment, the total data amount of the display list DL is adjusted to an integer multiple of 256 bytes, so that value is set. Note that the total data amount = 256 x N is also an integer multiple N of the minimum data amount Dmin of the data transfer circuit 72. Typically, the multiple N is 1 or 2, but in the following explanation, N = 1 will be used.
ここで、転送ポートレジスタTR_PORT (以下、転送ポートと略すことがある)は、32bit長のレジスタであるので、演出制御CPU63は、32bit毎に、転送ポートTR_PORT に対して、レジスタWRITE 動作を実行することになる。そこで、レジスタWRITE 回数を管理する管理カウンタCNの値を64の初期設定する(ST21)。なお、無調整手法(C)を採る場合は、このタイミングで、最低データ量Dminの整数倍のデータ転送量を決定して、管理カウンタCNを設定することになる。 Here, the transfer port register TR_PORT (hereinafter sometimes abbreviated as transfer port) is a 32-bit register, so the performance control CPU 63 executes a register WRITE operation on the transfer port TR_PORT every 32 bits. Therefore, the value of the management counter CN, which manages the number of register WRITEs, is initially set to 64 (ST21). Note that if the non-adjustment method (C) is used, the data transfer volume that is an integer multiple of the minimum data volume Dmin is determined at this timing, and the management counter CN is set accordingly.
以上の処理で初期設定が完了するので、次に、転送回路ChBを経由するデータ転送動作を開始状態に設定すると共に(ST22)、描画回路76の動作を規定する所定の描画レジスタRGijへの設定値に基づいて、描画動作を開始させる(ST23)。この結果、その後、演出制御CPU63が、転送ポートTR_PORT にレジスタWRITE 動作する指示コマンド列について、描画回路76(ディスプレイリストアナライザ)による迅速かつ円滑なAnalyze 処理が担保される。 The above process completes the initial settings, and next, data transfer operation via transfer circuit ChB is set to the start state (ST22), and drawing operation is started based on the setting value of a specific drawing register RGij that defines the operation of the drawing circuit 76 (ST23). As a result, the performance control CPU 63 subsequently ensures fast and smooth analysis processing by the drawing circuit 76 (display list analyzer) for instruction command sequences that perform register WRITE operations on the transfer port TR_PORT.
なお、迅速かつ円滑なAnalyze 処理には、ディスプレイリストDLに列記する指示コマンドが、コマンド長32bit整数倍の指示コマンドに限定されている点も有効に寄与する。図30(a)におけるタイミングt1,t2,t3,t4は、ステップST23の動作タイミングを示している。なお、ディスプレイリストDLの発行処理(ST8)は、素早く終わるので、図30~図31では発行処理の要する時間幅を記載していない。 Furthermore, the fact that the instruction commands listed in the display list DL are limited to those with a command length that is an integer multiple of 32 bits also contributes effectively to a fast and smooth analyze process. Timings t1, t2, t3, and t4 in Figure 30(a) indicate the operation timing of step ST23. Note that because the display list DL issuance process (ST8) is completed quickly, the time required for the issuance process is not shown in Figures 30 and 31.
続いて、ステップST22の設定が機能したか否かを確認する(ST24)。これは、データ転送回路72の各部の初期設定は、演出制御CPU63によるレジスタWRITE 動作(設定動作)より処理時間がかかるので、不完全な状態のデータ転送回路72に対して、その後の指示を与えないためである。そして、万一、所定時間、待機しても動作開始状態にならない場合には、重大異常フラグABNをセットしてDL発行処理を終える(ST25)。その結果、その後、WDT回路58が機能して、複合チップ50は異常リセットされる(ST10)。 Next, it is confirmed whether the settings in step ST22 have worked (ST24). This is because the initial settings of each part of the data transfer circuit 72 take longer to process than the register WRITE operation (setting operation) by the performance control CPU 63, so no further instructions are given to the incomplete data transfer circuit 72. If the circuit does not start operating after waiting for a predetermined time, the serious abnormality flag ABN is set and the DL issuance process is terminated (ST25). As a result, the WDT circuit 58 then functions, and the composite chip 50 is reset as abnormal (ST10).
なお、演出制御CPU63は、CPU回路51のリセットを回避するべく、所定のキーワード列をパターンチェック回路CHKに出力して、リセット信号RSTに基づいてVDP回路52だけを異常リセットしても良いのは前述した通りである。 As mentioned above, the performance control CPU 63 may output a predetermined keyword string to the pattern check circuit CHK to abnormally reset only the VDP circuit 52 based on the reset signal RST in order to avoid resetting the CPU circuit 51.
但し、通常は、ステップST22の設定は、迅速に完了するので、続いて、CPUバス制御部72dのFIFOバッファ(32bit×130段)について、FIFOバッファが満杯でないことを確認した上で(ST26)、ディスプレイリストDLを構成する先頭行から順番に、一行ごとに転送ポートTR_PORT に指示コマンドを書込む(ST28)。 However, since the setting in step ST22 is usually completed quickly, the CPU bus control unit 72d then checks to see if the FIFO buffer (32 bits x 130 stages) is full (ST26), and then writes instruction commands to the transfer port TR_PORT for each line in the display list DL, starting from the first line (ST28).
そして、管理カウンタCNをデクリメントしつつ(ST29)、管理カウンタCNがゼロになるまで、ステップST26~ST29の処理を繰り返す(ST30)。この実施例の場合、データ転送回路72には、最低データ量Dminが規定されているので、FIFOバッファに最低データ量Dminが蓄積されたタイミングで、データ転送動作が実行されることになり、間欠的な転送動作となる。 Then, while decrementing the management counter CN (ST29), steps ST26 to ST29 are repeated until the management counter CN reaches zero (ST30). In this embodiment, a minimum data amount Dmin is specified for the data transfer circuit 72, so the data transfer operation is executed when the minimum data amount Dmin is accumulated in the FIFO buffer, resulting in intermittent transfer operations.
何れにしても、本実施例では、迅速にDL発行処理(ST28)が完了するが、万一、ノイズなどの影響でVDPレジスタRGijへの設定内容が矛盾したような場合には、ステップST26の判定において、所定時間待機してもFIFOバッファFullの状態が解消されない場合もあり得る。そして、そのような場合には、所定のVDPレジスタRGijに初期化データをセットして、描画回路76とデータ転送回路72を初期化した上で、重大異常フラグABNをセットしてDL発行処理を終える(ST27)。 In any case, in this embodiment, the DL issuance process (ST28) is completed quickly. However, if the settings in the VDP register RGij become inconsistent due to noise or other factors, the FIFO buffer full state determined in step ST26 may not be resolved even after waiting for a specified period of time. In such a case, initialization data is set in the specified VDP register RGij, the drawing circuit 76 and data transfer circuit 72 are initialized, and the serious abnormality flag ABN is set, ending the DL issuance process (ST27).
ところで、このタイミングでは、データ転送回路72や、描画回路76は、既に動作を開始しており、ある程度の処理を終えているので、描画回路76の初期化処理には、描画レジスタRGijの内容を維持した状態で、(1) ディスプレイリストDLによって設定される可能性のある全ての内部パラメータを初期値に設定すること、(2) 全ての内部制御回路を初期状態に設定すること、(3) GDEC75を初期化すること、(4) AAC領域のキャッシュ状態を初期化することが含まれている。同様に、データ転送回路72の初期化処理には、FIFOバッファのクリアなど、それまでのデータ転送全体の初期化処理が含まれている。この結果、データ転送回路72の動作状態を示すステイタス情報が所定値(データ転送全体初期化中を示す値)に変化する。 By the way, at this timing, the data transfer circuit 72 and drawing circuit 76 have already started operating and have completed a certain amount of processing, so the initialization process for the drawing circuit 76 includes (1) setting all internal parameters that may be set by the display list DL to their initial values, (2) setting all internal control circuits to their initial states, (3) initializing the GDEC 75, and (4) initializing the cache state of the AAC area, while maintaining the contents of the drawing register RGij. Similarly, the initialization process for the data transfer circuit 72 includes initialization of the entire data transfer up to that point, such as clearing the FIFO buffer. As a result, the status information indicating the operating state of the data transfer circuit 72 changes to a predetermined value (a value indicating that the entire data transfer is being initialized).
なお、上記したステップST27の初期化処理では、描画レジスタRGijの内容を維持したが、所定の描画レジスタについては、その内容を初期化しても良い。初期値にクリアされる所定の描画レジスタには、(a) 描画実行開始を設定する実行制御レジスタ(図24のST23参照)、(b) 描画回路76の実行状況を示すステイタスレジスタ、及び、(c) 現在処理しているディスプレイリストの位置を特定するステイタスレジスタが含まれる。 Note that while the contents of the drawing register RGij were maintained in the initialization process of step ST27 described above, the contents of certain drawing registers may also be initialized. The certain drawing registers that are cleared to their initial values include (a) an execution control register that sets the start of drawing execution (see ST23 in Figure 24), (b) a status register that indicates the execution status of the drawing circuit 76, and (c) a status register that identifies the position of the display list currently being processed.
何れにしても、重大異常フラグABNをセットした結果、その後、WDT回路58や演出制御CPU63が機能して、複合チップ50か、又はVDP回路52が異常リセットされるので(ST10a)、描画回路76やデータ転送回路72を初期化する処理は必ずしも必須ではない。一方、描画回路76やデータ転送回路72を初期化する場合には、その結果、異常回復が期待できるので、重大異常フラグABNをセットすることなく、ステップST20の処理に戻ってDL発行処理を再実行するのも好適である。 In either case, as a result of setting the serious abnormality flag ABN, the WDT circuit 58 and performance control CPU 63 then function and the composite chip 50 or VDP circuit 52 undergoes an abnormal reset (ST10a), so initializing the drawing circuit 76 and data transfer circuit 72 is not necessarily required. On the other hand, if the drawing circuit 76 and data transfer circuit 72 are initialized, recovery from the abnormality can be expected as a result, so it is also preferable to return to the processing of step ST20 and re-execute the DL issuance process without setting the serious abnormality flag ABN.
この点は、ステップST25の処理においても同様であり、データ転送回路72や描画回路76を初期化した上で、重大異常フラグABNをセットすることなく、ステップST20の処理に戻るもの好適である。但し、このような場合には、DL発行処理の再実行回数をカウントし、再実行回数が限界値を越えれば、重大異常フラグABNをセットしてDL発行処理を終えることになる。 The same applies to the processing of step ST25, where it is preferable to initialize the data transfer circuit 72 and drawing circuit 76 and then return to the processing of step ST20 without setting the serious abnormality flag ABN. In such a case, however, the number of times the DL issuance processing is retried is counted, and if the number of retries exceeds a limit value, the serious abnormality flag ABN is set and the DL issuance processing is terminated.
図24(b)は、正常な動作状態について、確認的に図示したものである。図示の通り、発行されたディスプレイリストDLは、列記された指示コマンドの順番に、描画回路76(ディスプレイリストアナライザ)によって解析され、各指示コマンドに基づく動作が実行される。この動作は、ディスプレイリストDLの発行処理や、データ転送回路72のデータ転送動作(ST26~ST30)に並行して実行される。 Figure 24(b) is a confirmation diagram of a normal operating state. As shown in the figure, the issued display list DL is analyzed by the drawing circuit 76 (display list analyzer) in the order of the listed instruction commands, and operations based on each instruction command are executed. This operation is executed in parallel with the display list DL issuance process and the data transfer operation (ST26 to ST30) of the data transfer circuit 72.
例えば、指示コマンド(TXLOAD)が実行されることで、CGROM55から必要なテクスチャが読み出されてAAC領域(a) に取得され、その後、GDEC75が自動的に起動してデコード動作が実行され、デコード後のデータが所定のインデックス空間に展開される。また、指示コマンドによっては、ジオメトリエンジン77その他が機能するが、何れにしても、描画回路76の各部が協働することで、ディスプレイリストDLに対応する画像データがフレームバッファFBa,FBbに完成されることになる。 For example, when the instruction command (TXLOAD) is executed, the necessary texture is read from CGROM 55 and stored in AAC area (a). The GDEC 75 then automatically starts up and performs a decoding operation, with the decoded data being expanded into a specified index space. Depending on the instruction command, the geometry engine 77 and other functions may also function, but in any case, the various parts of the drawing circuit 76 work together to complete the image data corresponding to the display list DL in the frame buffers FBa and FBb.
続いて、DMAC回路60を介在させてディスプレイリストDLを発行する場合を、図25に基づいて説明する。何ら限定されないが、DMAC回路60に内蔵された第1~第4のDMAチャンネルのうち、第3のDMAチャンネルを使用することにする。 Next, we will explain the case where a display list DL is issued via the DMAC circuit 60, based on Figure 25. Although not limited in any way, we will use the third DMA channel of the first to fourth DMA channels built into the DMAC circuit 60.
図25の実施例では、先ず、所定のデータ転送レジスタRGijと、所定の描画レジスタRGijに各々クリア値を設定して、データ転送回路72と、描画回路76を初期化する(ST20)。この処理は、図24のステップST27のエラー処理と同じであり、FIFOバッファを含んだデータ転送回路72の内部回路が初期化され、データ転送の進行状態を示すデータ転送レジスタのステイタスビットが初期値となり、データ転送全体を初期化中であることを示すビットが所定値となる。 In the example of Figure 25, first, a clear value is set in a specified data transfer register RGij and a specified drawing register RGij, respectively, to initialize the data transfer circuit 72 and the drawing circuit 76 (ST20). This process is the same as the error processing in step ST27 of Figure 24, in which the internal circuitry of the data transfer circuit 72, including the FIFO buffer, is initialized, the status bit of the data transfer register indicating the progress of the data transfer is set to its initial value, and the bit indicating that the entire data transfer is being initialized is set to a specified value.
描画回路76についても同様であり、上記した(1) 内部パラメータを初期値に設定すること、(2) 内部制御回路を初期状態に設定すること、(3) GDEC75を初期化すること、(4) AAC領域のキャッシュ状態を初期化する処理が含まれている。また、描画回路の初期化処理(図25のST20)においても、前記した所定の描画レジスタRGijを初期化しても良い。なお、図24の処理において、このような初期化処理を最初に実行しても良い。 The same applies to the drawing circuit 76, and includes the above-mentioned processes of (1) setting internal parameters to initial values, (2) setting the internal control circuit to an initial state, (3) initializing the GDEC 75, and (4) initializing the cache state of the AAC area. The aforementioned predetermined drawing register RGij may also be initialized during the drawing circuit initialization process (ST20 in FIG. 25). Note that this initialization process may be executed first in the process of FIG. 24.
図25の処理では、次に、初期化処理が正常に完了したことを、データ転送回路72と描画回路76の動作状態を特定する所定のステイタスレジスタRGijをREADして確認する(ST21)。そして、万一、初期化できない場合には、重大異常フラグABNをセットして処理を終える(ST22)。但し、このような事態は、実際にはほぼ発生しない。 In the process of Figure 25, the specified status register RGij, which specifies the operating status of the data transfer circuit 72 and the drawing circuit 76, is then read to confirm that the initialization process has been completed successfully (ST21). If initialization is not possible, the serious abnormality flag ABN is set and the process ends (ST22). However, this situation almost never actually occurs.
次に、データ転送回路72の転送動作態様と、データ転送回路72内部の伝送経由とを、所定のデータ転送レジスタRGijに設定する。設定内容は、特に限定されないが、ここでは、CPUIF部56からChB制御回路72bを経由すること、及び、CPUバス制御部72dへの転送プロトコルに関し、DMAC回路60への設定に従うと設定する(ST23)。 Next, the transfer operation mode of the data transfer circuit 72 and the internal transmission route of the data transfer circuit 72 are set in a specified data transfer register RGij. The settings are not particularly limited, but here, the settings are set to route from the CPUIF unit 56 through the ChB control circuit 72b, and the transfer protocol to the CPU bus control unit 72d follows the settings in the DMAC circuit 60 (ST23).
次に、転送総サイズを、所定のデータ転送レジスタRGijに設定する。図24の場合と同様、データ総量=256となる。なお、無調整手法(C)を採る場合は、このタイミングで、最低データ量Dminの整数倍の転送総サイズを決定して設定することになる。次に、所定の描画レジスタRGijへの設定値に基づいて、描画回路76の描画動作を開始させる(ST25)。図30(a)におけるタイミングt1,t2,t3,t4は、ステップST25の動作タイミングでもある。そして次に、DMAC回路60の動作を開始させた上で(ST26)、データ転送回路72のデータ転送動作を開始させる(ST27)。 Next, the total transfer size is set in the specified data transfer register RGij. As in Figure 24, the total data amount = 256. If the non-adjustment method (C) is used, the total transfer size is determined and set at this timing as an integer multiple of the minimum data amount Dmin. Next, the drawing operation of the drawing circuit 76 is started based on the value set in the specified drawing register RGij (ST25). Timings t1, t2, t3, and t4 in Figure 30(a) are also the operation timings of step ST25. Next, the DMAC circuit 60 is started to operate (ST26), and then the data transfer operation of the data transfer circuit 72 is started (ST27).
DMAC回路60の動作を開始処理は、図25(b)に示す通りであり、先ず、DMAC転送を禁止した状態で、一サイクルのデータ転送単位(1オペランド)の転送が完了するのを待つ(ST40)。詳細な動作内容は、図26に示す処理と同じであり、DMAC転送を禁止設定する処理(ST53)と、その後の待機処理(ST54)に区分される。 The process for starting the operation of the DMAC circuit 60 is shown in Figure 25(b). First, DMAC transfer is disabled and the process waits for the transfer of one data transfer unit (one operand) per cycle to be completed (ST40). The detailed operation is the same as the process shown in Figure 26, and is divided into the process of disabling DMAC transfer (ST53) and the subsequent wait process (ST54).
このような処理を設けるのは、(1) 他の実施例では、メイン制御処理やタイマ割込み処理(図22)で、DMAC回路60(第3のDMAチャンネル)を使用する可能性があること、及び、(2) 図22のステップST5の処理を設けない他の実施例において、ディスプレイリストDLの発行を開始したDMAC回路60が、その動作周期(δ)内ではDL発行動作を終了できない場合もあり得ることなどを考慮したものである。 The reason for providing this processing is that (1) in other embodiments, the DMAC circuit 60 (third DMA channel) may be used in the main control processing or timer interrupt processing (Figure 22), and (2) in other embodiments that do not provide the processing of step ST5 in Figure 22, the DMAC circuit 60 that has started issuing a display list DL may not be able to complete the DL issuing operation within its operating period (δ).
上記のような例外事態において、動作中のDMAC回路60に対して、新規の設定値(矛盾する設定値など)を追加的に設定すると、正常なDMA動作が全く担保されず、深刻なトラブルが懸念されるが、ステップST40の処理を設けることで、その後の設定値に基づく正常動作が担保される。すなわち、本実施例を一部変更した変更実施例でも、先行するトラブルに拘らず、その後の正常なDMA動作を実現することができる。 In exceptional circumstances such as those described above, if new setting values (such as conflicting setting values) are additionally set for the operating DMAC circuit 60, normal DMA operation cannot be guaranteed and serious problems may occur. However, by providing the processing of step ST40, normal operation based on the subsequent setting values is guaranteed. In other words, even in a modified embodiment that is a partial modification of this embodiment, normal subsequent DMA operation can be achieved regardless of any preceding problems.
以上のような意義を有するステップST40の処理を実行すれば、次に、DMAC回路60の動作条件を設定する(ST41)。具体的には、図9に示す通り、サイクルスチール転送モードを選択し、一オペランド転送を32bit転送×2回とする。また、Sourceアドレスは、RAM59のリストバッファ領域(DLバッファBUF)のアドレスであるので順次増加と認識すべきこと、一方、Destination アドレスは、転送ポートTR_PORT であるため固定値とすべきことを規定する。 After executing the processing of step ST40, which has the above significance, the operating conditions of the DMAC circuit 60 are set (ST41). Specifically, as shown in Figure 9, cycle steal transfer mode is selected, and one operand transfer is set to two 32-bit transfers. It also specifies that the source address should be recognized as sequentially increasing because it is an address in the list buffer area (DL buffer BUF) of RAM 59, while the destination address should be a fixed value because it is the transfer port TR_PORT.
次に、RAM59のDLバッファBUFの先頭アドレスを、DMAC回路60の動作を規定する所定の動作制御レジスタREGに設定すると共に(ST42)、転送先アドレスである転送ポートTR_PORT のアドレスを設定する(ST43)。また、転送総サイズ、つまり、ディスプレイリストDLのデータ総量を256バイトに設定した上で(ST44)、DMAC回路60のDMA動作を開始させる(ST45)。 Next, the start address of the DL buffer BUF in RAM 59 is set in a predetermined operation control register REG that defines the operation of the DMAC circuit 60 (ST42), and the address of the transfer port TR_PORT, which is the transfer destination address, is set (ST43). The total transfer size, i.e., the total amount of data in the display list DL, is set to 256 bytes (ST44), and the DMA operation of the DMAC circuit 60 is started (ST45).
ところで、ここまでの説明は、指示コマンドの実質ビット長が、全て32bitの整数倍であることを前提にした。しかし、ディスプレイリストDLや指示コマンドの構成は必ずしも限定されないので、以下、このような場合について説明する。 The explanation up to this point has been based on the assumption that the actual bit length of all instruction commands is an integer multiple of 32 bits. However, the configuration of the display list DL and instruction commands is not necessarily limited, so the following explanation will focus on such cases.
例えば、前記した無調整手法(C)を採る場合も含め、ディスプレイリストDLのデータ総量Xが、32bitの整数倍ではない任意値Xである場合には、ステップST44の処理では、この任意値Xを、適切な転送量MODに調整した上で、転送総サイズの設定処理を実行する。ここで、適切な転送量MODは、一オペランド転送についての設定内容と、データ転送回路72の最低データ量Dmin(バイト)とに基づいて規定される。 For example, even when the non-adjustment method (C) described above is used, if the total data amount X of the display list DL is an arbitrary value X that is not an integer multiple of 32 bits, in the processing of step ST44, this arbitrary value X is adjusted to an appropriate transfer amount MOD, and then the total transfer size setting process is executed. Here, the appropriate transfer amount MOD is determined based on the settings for one operand transfer and the minimum data amount Dmin (bytes) of the data transfer circuit 72.
具体的には、一オペランド転送設定がNバイト×M回であれば、転送量MODは、N×M(バイト)の整数倍であって、且つ、Dmin(バイト)の整数倍の値に調整される。例えば、N×M=8×4、Dmin=256であれば、任意値X(=300)バイトは、転送量MOD(=512)バイトに調整される。 Specifically, if the single operand transfer setting is N bytes x M times, the transfer amount MOD is adjusted to a value that is an integer multiple of N x M (bytes) and an integer multiple of Dmin (bytes). For example, if N x M = 8 x 4 and Dmin = 256, the arbitrary value X (= 300) bytes is adjusted to the transfer amount MOD (= 512) bytes.
以上、一般論も含め説明したが、DMAC回路60のDMA動作は、図9に示すようなサイクルスチール転送動作が開始され、CPUの動作を特に阻害することなく、ディスプレイリストDLが、実施例の場合には32ビット毎に、転送ポートTR_PORT に転送される。そして、転送されたデータは、転送回路ChBを経由して、描画回路76に転送される。 The above explanation includes general concepts, but the DMA operation of the DMAC circuit 60 begins with a cycle steal transfer operation as shown in Figure 9, and the display list DL is transferred to the transfer port TR_PORT in 32-bit increments in this example, without interfering with CPU operation. The transferred data is then transferred to the drawing circuit 76 via transfer circuit ChB.
このような動作を実現するため、本実施例では、ステップST45の処理に続いて、データ転送回路72の転送動作を開始させて処理を終える(ST27)。その後、データ転送回路72は、DMAC回路60から最低データ量Dminを一単位として、ディスプレイリストDLの指示コマンド列を受け、これを描画回路76に転送する。そして、描画回路76は、ディスプレイリストDLの指示コマンドに基づいて描画動作を実行する。したがって、ステップST27の処理の後、演出制御CPU63は、図22のステップST11の処理を開始することができ、VDP回路52による描画動作(DMAC回路60によるDL発行処理)と並行して、音声演出やランプ演出やモータ演出を制御することができる。 To achieve this operation, in this embodiment, following the processing of step ST45, the data transfer circuit 72 begins its transfer operation and ends the processing (ST27). The data transfer circuit 72 then receives a series of display list DL instruction commands from the DMAC circuit 60, with the minimum data volume Dmin as one unit, and transfers these to the drawing circuit 76. The drawing circuit 76 then executes drawing operations based on the display list DL instruction commands. Therefore, after processing step ST27, the performance control CPU 63 can begin processing step ST11 in FIG. 22, and can control audio, lamp, and motor effects in parallel with the drawing operation by the VDP circuit 52 (DL issuance processing by the DMAC circuit 60).
図25(c)は、この動作内容を図示したものである。DMA転送に先行して、描画回路の動作を開始しており(ST25)、描画回路76のディスプレイリストアナライザは、迅速かつ円滑にAnalyze 処理を実行し、その他、GDEC75やジオメトリエンジン77などの動作に基づき、フレームバッファFBa,FBbには、各表示装置DS1,DS2について、各一フレーム分の画像データが生成される。 Figure 25(c) illustrates this operation. Prior to the DMA transfer, the drawing circuit starts operation (ST25), and the display list analyzer of the drawing circuit 76 quickly and smoothly executes the analysis process. Based on the operation of the GDEC 75, geometry engine 77, etc., one frame's worth of image data is generated in the frame buffers FBa and FBb for each of the display devices DS1 and DS2.
ところで、DL発行処理をステップST27の処理で終える図25の構成は、必ずしも、限定されない。例えば、図32~図33のように、音声演出、ランプ演出、及びモータ演出を、他のCPUが制御する場合には、ステップST27の処理の後、DMAC回路60やデータ転送回路72の正常動作を確認するのが好ましい。図26は、図25のステップST27に続く動作であり、正常動作の確認処理を説明するフローチャートである。 However, the configuration of Figure 25, in which the DL issuance process ends with the processing of step ST27, is not necessarily limited. For example, as in Figures 32 and 33, if another CPU controls the audio effects, lamp effects, and motor effects, it is preferable to check the normal operation of the DMAC circuit 60 and data transfer circuit 72 after processing step ST27. Figure 26 is a flowchart that explains the operation following step ST27 in Figure 25 and the process of checking normal operation.
先ず、所定のステイタスレジスタを参照して、DMAC回路60の転送動作が正常に終了していることを確認する(ST50)。また、データ転送回路72が転送動作を終了していることを確認する(ST51)。通常、このような経路で、図25のDL発行処理が完了する。 First, a specific status register is referenced to confirm that the DMAC circuit 60's transfer operation has completed successfully (ST50). It is also confirmed that the data transfer circuit 72 has completed its transfer operation (ST51). This is how the DL issuance process in Figure 25 is usually completed.
一方、所定時間待機しても.DMAC回路60の動作が完了していない場合、或いは、データ転送回路72が転送動作を完了していない場合には、描画回路76とデータ転送回路72について、所定のVDPレジスタRGijにクリア値を設定して、DL発行処理を初期化する(ST52)。これは、ディスプレイリストDLの発行処理が正常に終了していないことに基づく動作であり、具体的には、図24のステップST27のエラー処理や、図25のステップST20の初期処理と同じ内容である。 On the other hand, if the operation of the DMAC circuit 60 has not been completed after waiting for a predetermined time, or if the data transfer circuit 72 has not completed its transfer operation, a clear value is set to a predetermined VDP register RGij for the drawing circuit 76 and data transfer circuit 72, and the DL issuance process is initialized (ST52). This is an operation based on the fact that the display list DL issuance process has not ended normally, and specifically, it is the same as the error processing in step ST27 of FIG. 24 and the initial processing in step ST20 of FIG. 25.
すなわち、この場合も、描画回路76は、既に動作を開始しており、ある程度の処理を終えているので、描画回路76の初期化処理には、(1) ディスプレイリストDLによって設定される可能性のある全ての内部パラメータを初期値に設定すること、(2) 全ての内部制御回路を初期状態に設定すること、(3) GDEC75を初期化すること、(4) AAC領域のキャッシュ状態を初期化することが含まれる。 In other words, in this case too, the drawing circuit 76 has already started operating and has already completed a certain amount of processing, so the initialization process for the drawing circuit 76 includes (1) setting all internal parameters that may be set by the display list DL to their initial values, (2) setting all internal control circuits to their initial states, (3) initializing the GDEC 75, and (4) initializing the cache state of the AAC area.
次に、新規のDMA転送動作を禁止した上で(ST53)、実行中の一オペランドの転送動作が終わるのを待つ(ST54)。先に説明した通り、本実施例では、32bit転送×2回を一オペランドとしており、動作中のDMAC回路60をいきなり初期化することを避けるためである。 Next, new DMA transfer operations are prohibited (ST53), and the process waits for the ongoing transfer operation of one operand to finish (ST54). As explained earlier, in this embodiment, two 32-bit transfers are considered one operand, and this is to avoid abruptly initializing the DMAC circuit 60 while it is in operation.
そして、この準備作業が終われば、DMAC回路60の動作を規定する所定の動作制御レジスタREGにクリア値を設定して、DMAC回路60を初期化する(ST52)。そして、重大異常フラグABNをセットしてDL発行処理を終える。なお、この場合、ステップST52やST55の処理によって、異常回復が期待できるので、重大異常フラグABNをセットすることなく、図25のステップST20に戻って、DL発行処理を再実行するのも好適である。但し、DL発行処理(ST23~ST27)の再実行回数をカウントし、再実行回数が限界値を越えれば、重大異常フラグABNをセットしてDL発行処理を終える必要がある。 Once this preparation work is complete, a clear value is set in the specified operation control register REG, which defines the operation of the DMAC circuit 60, to initialize the DMAC circuit 60 (ST52). The serious abnormality flag ABN is then set, and the DL issuance process is terminated. In this case, since the processing of steps ST52 and ST55 can be expected to recover from the abnormality, it is also preferable to return to step ST20 in Figure 25 and re-execute the DL issuance process without setting the serious abnormality flag ABN. However, the number of retries of the DL issuance process (ST23 to ST27) must be counted, and if the number of retries exceeds a limit, the serious abnormality flag ABN must be set and the DL issuance process must be terminated.
続いて、プリローダ73を使用する場合のメイン制御処理について、図27に基づいて説明する。図27の処理は、図22の処理に類似しているが、先ず、開始条件判定(ST5’)の内容が相違する。すなわち、プリローダを使用する実施例では、各動作周期の開始時に、描画回路76とプリローダ73のステイタス情報をREADアクセスして、ディスプレイリストDL1に基づく描画動作が終わっていること、及び、ディスプレイリストDL2に基づくプリロード動作が終わっていること確認する(ST5’)。 Next, the main control processing when using the preloader 73 will be described with reference to Figure 27. The processing in Figure 27 is similar to the processing in Figure 22, but differs first in the content of the start condition determination (ST5'). That is, in an embodiment using a preloader, at the start of each operation cycle, status information from the drawing circuit 76 and preloader 73 is read and accessed to confirm that the drawing operation based on display list DL1 has finished, and that the preload operation based on display list DL2 has finished (ST5').
図31(a)のタイムチャートに示す通り、プリローダ76は、例えば、動作周期(T1)に発行されたディスプレイリストDL1に基づき、その動作周期中(T1~T1+δ)に、先読み動作(プリロード動作)を終えている筈である。また、描画回路76は、例えば、動作周期(T1+δ)で指示された動作開始指令に基づき、その動作周期中(T1+δ~T1+2δ)に、ディスプレイリストDL1に基づく描画動作を終えている筈である。 As shown in the time chart of Figure 31(a), for example, the preloader 76 should have completed the pre-reading operation (preloading operation) during the operating cycle (T1 to T1+δ) based on the display list DL1 issued during that operating cycle (T1). Furthermore, the drawing circuit 76 should have completed the drawing operation based on the display list DL1 during the operating cycle (T1+δ to T1+2δ) based on the operation start command issued during the operating cycle (T1+δ).
そこで、(ST5’)では、描画回路76とプリローダ73に関するVDPレジスタRGijのステイタス情報をREADアクセスして、上記の正常動作を確認するのである。図31(a)には、動作周期T1,T1+δ,T1+2δ,T1+4δの判定タイミングでは正常動作が確認されるが、動作周期T1+3δの判定タイミングでは、プリロード動作が終了していない状態が示されている。 Therefore, in (ST5'), the status information of the VDP register RGij related to the drawing circuit 76 and preloader 73 is read and accessed to confirm the above-mentioned normal operation. Figure 31(a) shows that normal operation is confirmed at the judgment timings of operation cycles T1, T1+δ, T1+2δ, and T1+4δ, but that the preload operation has not finished at the judgment timing of operation cycle T1+3δ.
そして、このような異常時には、異常フラグERをインクリメントした上で(ER=ER+1)、ステップST9の処理に移行させている。そのため、図22の実施例の場合と同様に、フレーム落ちが生じる。すなわち、表示領域の切換え処理(ST6)がスキップされるので、同じ画面が再表示される。図30(a)に示す動作期間(T1+3δ~T1+4δ)は、その動作状態を示している。 In the event of such an abnormality, the abnormality flag ER is incremented (ER = ER + 1) and the process proceeds to step ST9. As a result, as in the example of Figure 22, a frame is dropped. In other words, the display area switching process (ST6) is skipped, and the same screen is redisplayed. The operating period (T1 + 3δ to T1 + 4δ) shown in Figure 30 (a) shows this operating state.
また、ステップST5’の判定において、開始条件を満たさない場合には、描画回路76に対して、書換えリストDL’に基づく描画動作の開始指示(PT10)が実行されないので、描画回路76は非動作状態であり、また、新規のディスプレイリストが生成されることもない。なお、図31(a)において、タイミングt0,t2,t4は、描画動作の開始指示(PT10)の動作タイミング、より正確には、図28のステップST26のタイミングを示している。 Furthermore, if the start condition is not met as determined in step ST5', the drawing circuit 76 is not instructed to start the drawing operation (PT10) based on the rewrite list DL', so the drawing circuit 76 is in an inactive state and no new display list is generated. Note that in Figure 31(a), timings t0, t2, and t4 indicate the operation timing of the drawing operation start instruction (PT10), or more precisely, the timing of step ST26 in Figure 28.
以上、ステップST5’の判定が不適合の場合を説明したが、通常の場合は、フレームバッファFBa,FBbの表示領域をトグル的に切換えた後(ST6)、描画回路76に対して、書換えリストDL’に基づく描画動作を開始させる(PT10)。具体的な内容は、図28に示す通りであり、描画回路76は、演出制御CPU63の制御に基づき、データ転送回路72(転送回路ChB)を経由して、外付けDRAM54のDLバッファBUF’から書換えリストDL’を取得して描画動作を実行することになる。 The above describes the case where the judgment in step ST5' is incompatible, but under normal circumstances, after toggling between the display areas of frame buffers FBa and FBb (ST6), the drawing circuit 76 is instructed to begin drawing operations based on the rewrite list DL' (PT10). Specific details are shown in Figure 28, where, under the control of the performance control CPU 63, the drawing circuit 76 retrieves the rewrite list DL' from the DL buffer BUF' in the external DRAM 54 via the data transfer circuit 72 (transfer circuit ChB) and performs drawing operations.
この動作を実現する図28のフローチャートを説明することに先行して、プリローダ73の動作を確認すると、プリローダ73は、一動作周期前に取得したディスプレイリストDLに基づき、CGROM55の先読み動作(プリロード)を完了しており、先読みされたデータは、外付けDRAM54に確保されたプリロード領域に既に格納済みである。また、ディスプレイリストDLに記載されているテクスチャロード系のコマンド(TXLOAD)については、そのSourceアドレスがプリロード領域のアドレスに書換えられ、書換えリストDL’として、外付けDRAM54のDLバッファBUF’に格納されている。 Prior to explaining the flowchart in Figure 28 that realizes this operation, let's examine the operation of the preloader 73. The preloader 73 has completed a look-ahead operation (preload) from the CGROM 55 based on the display list DL obtained one operating cycle ago, and the pre-read data has already been stored in a preload area allocated in the external DRAM 54. Furthermore, for texture load commands (TXLOAD) listed in the display list DL, their source addresses have been rewritten to addresses in the preload area, and these have been stored in the DL buffer BUF' in the external DRAM 54 as a rewrite list DL'.
なお、この書換え処理において、ディスプレイリストDLのデータ総量に変化はなく、書換えリストDL’のデータ総量は、ディスプレイリストDLと同じである。また、ディスプレイリストDLは、標準手法(B)で作成されており、書換えリストDL’の最後は、ディスプレイリストDLの場合と同様にEODLコマンドである。 Note that this rewrite process does not change the total amount of data in the display list DL, and the total amount of data in the rewrite list DL' is the same as that of the display list DL. Furthermore, the display list DL was created using the standard method (B), and the end of the rewrite list DL' is an EODL command, just like the display list DL.
以上を踏まえて、図28について説明すると、演出制御CPU63は、先ず、所定のデータ転送レジスタRGijと、所定の描画レジスタRGijに各々クリア値を設定して、データ転送回路72と、描画回路76を初期化する(ST20)。この処理は、図25のST20の処理と同一内容である。次に、この初期化処理が正常に終了したことを確認し(ST21)、万一、所定時間経過しても初期化が完了しない場合には、重大異常フラグABNをセットして処理を終える(ST22)。 With the above in mind, referring to Figure 28, the performance control CPU 63 first sets clear values to the specified data transfer register RGij and the specified drawing register RGij, respectively, to initialize the data transfer circuit 72 and the drawing circuit 76 (ST20). This process is identical to the process at ST20 in Figure 25. Next, it confirms that this initialization process has completed successfully (ST21), and if the initialization is not completed after a specified time has elapsed, it sets the serious abnormality flag ABN and ends the process (ST22).
通常は、データ転送回路72と描画回路76の初期化は正常に終了するので、続いて、データ転送回路72内部の伝送経由を、所定のデータ転送レジスタRGijに設定する(ST23)。具体的には、外付けDRAM54から、ChB制御回路72bを経由して描画回路76にデータを転送すると設定する(ST23)。次に、書換えリストDL’が格納されている外付けDRAM54のDLバッファBUF’について、その先頭アドレスを、所定のデータ転送レジスタRGijに設定する(ST24)。 Normally, the initialization of the data transfer circuit 72 and drawing circuit 76 is completed successfully, so the internal data transfer route for the data transfer circuit 72 is set to a specified data transfer register RGij (ST23). Specifically, it is set to transfer data from the external DRAM 54 to the drawing circuit 76 via the ChB control circuit 72b (ST23). Next, the starting address of the DL buffer BUF' in the external DRAM 54, which stores the rewrite list DL', is set to the specified data transfer register RGij (ST24).
また、この書換えリストDL’について、転送総サイズを、所定のデータ転送レジスタRGijに設定する(ST25)。先に説明した通り、書換えリストDL’のデータ総量は、ディスプレイリストDLのデータ総量と同じであり、具体的には、例えば、256バイトである。 Furthermore, for this rewrite list DL', the total transfer size is set in a specified data transfer register RGij (ST25). As explained above, the total data amount of the rewrite list DL' is the same as the total data amount of the display list DL, specifically, for example, 256 bytes.
次に、所定の描画レジスタRGijへの設定値に基づいて、描画回路76の描画動作を開始させる(ST26)。図30(a)におけるタイミングt1,t2,t3,t4は、ステップST26の動作タイミングでもある。そして、次に、所定のデータ転送レジスタRGijへの設定値に基づいて、データ転送回路60の動作を開始させて処理を終える(ST27)。その後、演出制御CPU63は、データ転送回路72や描画回路の動作に特に関与せず、次回の動作周期で実効化されるディスプレイリストの生成処理(ST7)に移行する。 Next, the drawing operation of the drawing circuit 76 is started based on the value set in the specified drawing register RGij (ST26). Timings t1, t2, t3, and t4 in Figure 30(a) are also the operation timings of step ST26. Next, the operation of the data transfer circuit 60 is started based on the value set in the specified data transfer register RGij, and the processing ends (ST27). Thereafter, the performance control CPU 63 does not particularly participate in the operation of the data transfer circuit 72 or the drawing circuit, and proceeds to the display list generation process (ST7) that will be executed in the next operating cycle.
一方、ステップST26のタイミングで動作を開始する描画回路76は、書換えリストDL’に基づいた描画動作を実行して、フレームバッファFBa,FBbに、書換えリストDL’に基づいた画像データを生成する。なお、この動作において、描画回路76は、CGROM55をREADアクセスすることなく、もっぱら、プリロード領域をREADアクセスするので、一連の描画動作を迅速に完了することができる。 Meanwhile, the drawing circuit 76, which begins operation at step ST26, performs drawing operations based on the rewrite list DL' and generates image data based on the rewrite list DL' in the frame buffers FBa and FBb. Note that during this operation, the drawing circuit 76 does not perform READ access to the CGROM 55, but instead performs READ access solely to the preload area, allowing the series of drawing operations to be completed quickly.
以上、ステップPT10の処理内容を説明したので、図27に戻って説明を続けると、ステップPT11の処理の後、プリローダ73を活用する実施例では、次サイクルで実効化されるディスプレイリストDLを、標準手法(B)に基づいて作成する(ST7)。例えば、図31(a)に示す動作周期(T1)では、次サイクルである動作周期(T1+δ)において、描画回路76に参照されるディスプレイリストDLを作成する。 The processing content of step PT10 has been explained above. Returning to FIG. 27, after the processing of step PT11, in an embodiment utilizing the preloader 73, a display list DL to be executed in the next cycle is created based on the standard method (B) (ST7). For example, in the operating cycle (T1) shown in FIG. 31(a), a display list DL to be referenced by the drawing circuit 76 is created in the next operating cycle (T1+δ).
次に、演出制御CPU63は、作成後のディスプレイリストDLを、描画回路76ではなく、プリローダ73に発行する(PT11)。具体的な動作内容は、図29に示す通りである。先に、プリローダ73を使用しない実施例(図22)に関し、演出制御CPU63が、ディスプレイリストDLを、直接的に、描画回路76に発行する場合(図24)と、DMAC回路60を経由して発行する場合(図25)を示しているが、図29には、発行先がプリローダ73である点を除いて、ほぼ同じ動作が図29(b)と図29(c)に示されている。 Next, the performance control CPU 63 issues the created display list DL to the preloader 73, not to the drawing circuit 76 (PT11). The specific operation is as shown in Figure 29. Previously, with regard to the embodiment (Figure 22) that does not use the preloader 73, we showed the case where the performance control CPU 63 issues the display list DL directly to the drawing circuit 76 (Figure 24) and the case where it issues via the DMAC circuit 60 (Figure 25). In Figure 29, almost the same operation is shown in Figures 29(b) and 29(c), except that the destination is the preloader 73.
図29(a)は、図29(b)の動作を説明するフローチャートであり、図24のフローチャートとほぼ同じである。但し、CPUIF部56からChC制御回路72cを経由すること、及び、CPUバス制御部72dに関し、そのFIFOバッファの残量をチェックしながらデータ転送動作を実行すると設定する(ST20)。なお、以下の説明では、ChC制御回路72cを、便宜上、「転送回路ChC」と略すことがある。 Figure 29(a) is a flowchart explaining the operation of Figure 29(b), and is almost identical to the flowchart of Figure 24. However, it is set so that data is transferred from the CPUIF unit 56 via the ChC control circuit 72c, and that the CPU bus control unit 72d executes the data transfer operation while checking the remaining capacity of its FIFO buffer (ST20). Note that in the following description, the ChC control circuit 72c may be abbreviated as "transfer circuit ChC" for convenience.
次に、転送総サイズ(標準手法(B)で調整された例えば256バイト)を、所定のデータ転送レジスタRGij設定し、管理カウンタCNを64に初期設定する(ST21)。次に、転送回路ChCを経由するデータ転送動作を開始状態に設定すると共に(ST22)、プリローダ73の動作を規定するプリロードレジスタRGijへの設定値に基づいて、プリロード動作を開始させる(ST23)。 Next, the total transfer size (e.g., 256 bytes adjusted using standard method (B)) is set in the specified data transfer register RGij, and the management counter CN is initialized to 64 (ST21). Next, the data transfer operation via the transfer circuit ChC is set to the start state (ST22), and the preload operation is started based on the set value in the preload register RGij, which defines the operation of the preloader 73 (ST23).
この結果、その後、プリローダ73は、演出制御CPU63が、転送ポートTR_PORT に書込む指示コマンド毎に、必要な解析(Analyze )処理を実行し、CGROM55をREADアクセスすべき指示コマンド(TXLOAD)を検出すると、そのテクスチャをプリロードして、DRAM54のプリロード領域に保存する。また、テクスチャのSourceアドレスを変更した書換えリストDL’をDRAM54のDLバッファ領域BUF’に保存する。 As a result, the preloader 73 then performs the necessary analysis (Analyze) for each instruction command written to the transfer port TR_PORT by the performance control CPU 63, and when it detects an instruction command (TXLOAD) that requires READ access to the CGROM 55, it preloads the texture and saves it in the preload area of the DRAM 54. It also saves the rewrite list DL' with the changed texture source address in the DL buffer area BUF' of the DRAM 54.
なお、図31(a)におけるタイミングt1,t3,t5は、事実上、図29のステップST23の動作タイミングを示している。但し、この実施例においても、ディスプレイリストDLの発行処理の途中で、何らかの異常が発生すれば、ステップST25やステップST27の処理を実行する。具体的には、データ転送回路72や、プリローダ73の動作を初期化して、可能な範囲でディスプレイリストDLの発行処理(ST20~ST30)を再実行する。プリローダ73の初期化処理には、未完成状態の書き換えリストDL’の消去や、新規にプリロードデータを記憶したプリロード領域のクリア処理が含まれる。 Note that timings t1, t3, and t5 in Figure 31(a) effectively represent the operation timing of step ST23 in Figure 29. However, even in this embodiment, if any abnormality occurs during the display list DL issuance process, the processes of steps ST25 and ST27 are executed. Specifically, the operation of the data transfer circuit 72 and preloader 73 is initialized, and the display list DL issuance process (ST20 to ST30) is re-executed to the extent possible. The initialization process of the preloader 73 includes erasing the incomplete rewrite list DL' and clearing the preload area where new preload data has been stored.
以上、プリローダ73を使用する場合と、使用しない場合について詳細に説明したが、具体的な動作内容は、特に限定されない。図30(b)は、演出制御CPU63が生成したディスプレイリストを、生成したその動作周期ではなく、一動作周期δ遅れて描画回路76に発行する実施例を示している。このような実施例の場合には、描画回路76は、一動作周期(δ)のほぼ全時間を使用できるので、フレーム落ちの可能性が低減される。 The above provides a detailed explanation of when the preloader 73 is used and when it is not used, but the specific operation is not particularly limited. Figure 30(b) shows an example in which the display list generated by the performance control CPU 63 is issued to the drawing circuit 76 with a delay of one operating cycle δ, rather than in the same operating cycle in which it was generated. In such an example, the drawing circuit 76 can use almost the entire time of one operating cycle (δ), thereby reducing the possibility of frame drops.
また、図31(b)は、演出制御CPU63が生成したディスプレイリストを、生成したその動作周期ではなく、一動作周期遅れてプリローダ73に発行する実施例を示している。この場合は、プリローダ73は、一動作周期(δ)のほぼ全時間を使用してプリドード動作を実行することができるので、この場合も、フレーム落ちの可能性が低減される。 Furthermore, Figure 31(b) shows an example in which the display list generated by the performance control CPU 63 is issued to the preloader 73 one operation cycle later, rather than in the same operation cycle in which it was generated. In this case, the preloader 73 can perform preloading operations using almost the entire time of one operation cycle (δ), thereby again reducing the possibility of frame drops.
なお、ここまでの説明では、複合チップ50を使用することにしているが、必ずしも、演出制御CPU63とVDP回路52を、一素子に集積化する必要はない。更にまた、上記の実施例では、演出制御全体を、単一のCPU(演出制御CPU63)で制御しているが、上流側のCPUと、下流側の演出制御CPU63が互いに協働して、演出制御動作を実行しても良い。 In the explanation so far, we have used a combined chip 50, but the performance control CPU 63 and VDP circuit 52 do not necessarily need to be integrated into a single element. Furthermore, in the above example, the entire performance control is controlled by a single CPU (performance control CPU 63), but the upstream CPU and downstream performance control CPU 63 may also work together to execute performance control operations.
図32~図33は、このような実施例を示すブロック図である。図示の通り、この実施例では、上流側の演出制御CPUが、音声演出と、ランプ演出と、モータ演出を制御している。一方、下流側のCPU回路51は、演出制御CPUから受ける制御コマンドCMD’に基づいて、画像演出だけを制御している。 Figures 32 and 33 are block diagrams showing such an embodiment. As shown, in this embodiment, the upstream performance control CPU controls the audio performance, lamp performance, and motor performance. Meanwhile, the downstream CPU circuit 51 controls only the image performance based on the control command CMD' received from the performance control CPU.
このような構成を採る場合には、CPU回路51は、図22(a)のステップST12の処理と、図22(b)の処理を実行する必要がなく、十分に時間をかけて複雑なディスプレイリストDLを生成することができ、より複雑で高度な3D(Dimension )などの画像演出を実現することができる。このような場合には、ディスプレイリストが大型化するが、その場合には、ディスプレイリストDLのデータ総量は、ダミーコマンドを付加することで、512バイト又はそれ以上のN×256バイトに調整される。 When this configuration is adopted, the CPU circuit 51 does not need to perform the processing of step ST12 in Figure 22(a) and the processing of Figure 22(b), and can take sufficient time to generate a complex display list DL, enabling more complex and advanced image effects such as 3D (Dimensional) to be realized. In such cases, the display list becomes larger, but in this case, the total data size of the display list DL can be adjusted to 512 bytes or more, i.e., N x 256 bytes, by adding dummy commands.
また、下流側のCPU回路51の動作は、画像演出制御に特化されるので、ディスプレイリストDLの発行後、描画動作が完了するのを確認することもできる。図24の下方は、この場合の動作制御例を示しており、限界時間を超えても描画動作が完了しない場合には、重大異常フラグABNをセットして処理を終える(ST32)。なお、下流側のCPU回路51の処理は、画像演出制御だけであるので、簡易的には、描画動作の完了を無限ループ状に待機するのでも良い。 Furthermore, since the operation of the downstream CPU circuit 51 is specialized for image presentation control, it is also possible to confirm that the drawing operation is complete after the display list DL is issued. The lower part of Figure 24 shows an example of operation control in this case, and if the drawing operation is not completed after the limit time has elapsed, the serious abnormality flag ABN is set and processing ends (ST32). Note that, since the processing of the downstream CPU circuit 51 is limited to image presentation control, it is also possible to simply wait for the drawing operation to be completed in an infinite loop.
このような構成を採る場合、図22(a)の開始条件判定(ST5)を所定時間繰り返すことができる。このように構成しても、描画動作完了の遅れが、それほど長くなければ、表示領域(0)と表示領域(1)の切り換えが遅れるだけの問題しか生じない。すなわち、図34(a)に示す動作周期T1+3δのように、表示動作が二回繰り返される一動作周期の中で、前半だけ、フレーム落ち状態となり、後半は、正常なフレームが表示される。 When this configuration is adopted, the start condition determination (ST5) in Figure 22(a) can be repeated for a predetermined time. Even with this configuration, as long as the delay in completing the drawing operation is not too long, the only problem that occurs is a delay in switching between display area (0) and display area (1). In other words, as shown in Figure 34(a), in one operation cycle in which the display operation is repeated twice, frames are dropped only in the first half, and normal frames are displayed in the second half.
この点は、プリローダを使用する場合も同様であり、図27(a)の開始条件判定(ST5’)を所定時間繰り返すことができる。そして、多少の遅れであれば、図34(b)に示す動作周期T1+3δのように、前半だけ、フレーム落ち状態となり、後半は、正常なフレームが表示される。但し、描画動作の完了が大幅に遅れると、図30(a)の動作周期T1+3δと同様に、完全なフレーム落ちが生じることになり、万一、このような事態が継続すると、WDT回路58が起動することになる。この点は、プリローダを使用しない場合も同様である。 This is also true when a preloader is used, and the start condition determination (ST5') in Figure 27(a) can be repeated for a predetermined period of time. If there is a slight delay, frames will be dropped in only the first half, as in the operation cycle T1 + 3δ shown in Figure 34(b), and normal frames will be displayed in the second half. However, if the completion of the drawing operation is significantly delayed, complete frame dropping will occur, as in the operation cycle T1 + 3δ in Figure 30(a), and if this situation continues, the WDT circuit 58 will be activated. This is also true when a preloader is not used.
また、CPU回路51の制御動作が画像演出制御に特化される場合、DMA転送を採用する実施例では、図26の下方に示す通り、描画回路76の描画動作の完了と、データ転送回路72の動作完了と、DMAC回路60の動作完了が判定される(ST50’~ST52’)。そして、何れかの動作が正常に終了しない場合には、データ転送回路72と、描画回路76の動作を初期化し、ステップST53~ST55の処理と同様の処理(ST55’~ST57’)が実行される。なお、この場合も、所定回数だけ、DL発行処理を再実行するのが好適である。 Furthermore, when the control operation of the CPU circuit 51 is specialized for image rendering control, in an embodiment employing DMA transfer, as shown at the bottom of Figure 26, the completion of the drawing operation of the drawing circuit 76, the completion of the operation of the data transfer circuit 72, and the completion of the operation of the DMAC circuit 60 are determined (ST50'-ST52'). If any of the operations does not end normally, the operation of the data transfer circuit 72 and the drawing circuit 76 is initialized, and processing similar to the processing of steps ST53-ST55 (ST55'-ST57') is executed. Note that in this case as well, it is preferable to re-execute the DL issuance process a predetermined number of times.
以上、メイン表示装置DS1及びサブ表示装置DS2のフレームバッファFBa,FBbとして、各表示装置の水平ピクセル数に完全一致する水平サイズのインデックス空間を構築する実施例について説明した。図35(a)は、この関係を確認的に図示したものであり、仮想描画空間上の描画領域(W×H)と、インデックス空間上の有効データ領域(実描画領域W×H)とが、何れも、表示装置の水平/垂直ピクセル数に一致する場合を示している。 The above describes an embodiment in which an index space with a horizontal size that perfectly matches the number of horizontal pixels of each display device is constructed as the frame buffers FBa and FBb of the main display device DS1 and sub-display device DS2. Figure 35(a) clearly illustrates this relationship, showing a case in which the drawing area (W x H) in the virtual drawing space and the valid data area (actual drawing area W x H) in the index space both match the number of horizontal and vertical pixels of the display devices.
このような対応関係において、ディスプレイリストDLによる仮想描画空間への描画動作は、必ずしも、描画領域(W×H)に限定されないので、例えば、図35(a)上部の左傾斜線で示すように、描画領域(W×H)を超える描画画像(W’×H’)について、その描画位置を時間的に移動させることで、図35(a)下部の右傾斜線で示す実描画領域W×Hへの描画内容を、縦/横/斜めに適宜に移動させることが可能となる。 In this correspondence relationship, the drawing operation in the virtual drawing space by the display list DL is not necessarily limited to the drawing area (W x H). For example, as shown by the left-sloping line at the top of Figure 35(a), by moving the drawing position over time for a drawing image (W' x H') that exceeds the drawing area (W x H), it is possible to move the drawing content in the actual drawing area W x H, shown by the right-sloping line at the bottom of Figure 35(a), vertically, horizontally, or diagonally as appropriate.
また、このような演出を実行するため、例えば、図35(b)に示すように、表示装置の水平ピクセル数より大きい水平サイズWのインデックス空間を設けても良い。この場合には、ディスプレイリストDLの指示コマンドL12(SETDAVF )で定義される仮想描画空間上の描画領域W×Hは、表示装置の水平/垂直ピクセル数に対応する実描画領域w×hより大きく設定される。なお、図35(b)の下部には、実描画領域w×hが、右傾斜線で示されている。 In order to achieve this effect, for example, an index space with a horizontal size W larger than the number of horizontal pixels of the display device may be provided, as shown in Figure 35(b). In this case, the drawing area WxH in the virtual drawing space defined by instruction command L12 (SETDAVF) in the display list DL is set larger than the actual drawing area wxh corresponding to the number of horizontal/vertical pixels of the display device. Note that the actual drawing area wxh is indicated by a right-sloping line at the bottom of Figure 35(b).
そして、実描画領域w×hの縦横寸法は、図21のステップSS30の処理で、表示装置の表示ライン数と水平画素数として特定され、また、実描画領域w×hの左上端点は、図21のステップSS36の処理で、垂直/水平表示開始位置として、所定の表示レジスタに設定される。 The vertical and horizontal dimensions of the actual drawing area w x h are then specified as the number of display lines and horizontal pixels of the display device in step SS30 of Figure 21, and the upper left corner point of the actual drawing area w x h is set in a specified display register as the vertical/horizontal display start position in step SS36 of Figure 21.
一方、インデックス空間における基点アドレス(X,Y)は、ディスプレイリストの指示コマンドL11によって、所定の描画レジスタに設定される。先に説明した通り、具体的には、環境設定系の指示コマンドL11(SETDAVR )によって、インデックス空間IDX上の左上基点アドレスが、例えば(0,0)と規定される。そして、実描画領域w×hの左上端点を、定常処理において適宜に移動させれば、図35(b)下部の右傾斜線で示す実描画領域W×Hの描画内容は、縦/横/斜めに適宜に移動することになる。 Meanwhile, the base address (X, Y) in the index space is set in a specified drawing register by the display list instruction command L11. As explained earlier, specifically, the environment setting instruction command L11 (SETDAVR) specifies the top left base address in the index space IDX as (0, 0), for example. Then, by moving the top left corner point of the actual drawing area w×h as appropriate during routine processing, the drawing contents of the actual drawing area W×H, indicated by the right-sloping line at the bottom of Figure 35(b), will move vertically, horizontally, or diagonally as appropriate.
図21に関して説明した通り、ステップSS30~SS37に係るVDPレジスタRGijについては、初期設定後に、書込み禁止設定がされているが(第2の禁止設定SS39)、上記の演出を実行するタイミングでは、所定のVDPレジスタRGijに解除値を書込むことで、この禁止設定が解除される。 As explained in relation to Figure 21, the VDP register RGij related to steps SS30 to SS37 is write-protected after initial setting (second protection setting SS39), but when the above-mentioned effect is executed, this protection is released by writing a release value to a specific VDP register RGij.
ところで、上記の実施例では、第1種や第2種の禁止設定レジスタを活用して、所定のシステム制御レジスタRGijや初期設定系の所定のVDPレジスタRGijを、画一的に書込み禁止状態に設定して(図21のSS38,SS39参照)、これらのレジスタへの設定値が、その後、ノイズなどの影響で変更されないようにした。しかし、このような書込み禁止設定をすることなく、重要なシステム制御レジスタRGijの設定値については、所定時間毎に設定処理を繰り返すのも好適である。 In the above embodiment, the first and second type prohibition setting registers are utilized to uniformly set certain system control registers RGij and certain VDP registers RGij for the initial setting system to a write-prohibited state (see SS38 and SS39 in Figure 21), preventing the settings of these registers from being changed thereafter due to noise or other factors. However, it is also preferable to repeat the setting process for important system control registers RGij at predetermined intervals without setting them to a write-prohibited state.
図36は、このような場合の処理を説明する図面であり、初期設定処理(SS1~SS3)において設定すべき設定値は、制御メモリ53(PROGMROM)に記憶された設定値テーブルSETTABLEに纏められている。なお、図21のステップSS1~SS3では、説明を省略しているが、(a) 初期値設定テーブルSETTABLEに基づいて初期設定処理を実行すること、及び、(b) 初期値設定テーブルSETTABLEの内容については、図21の実施例も、以下に説明する内容と実質的に同じである。 Figure 36 is a diagram explaining the processing in such a case, where the setting values to be set in the initial setting processing (SS1 to SS3) are summarized in a setting value table SETTABLE stored in control memory 53 (PROGMROM). Note that, although explanations of steps SS1 to SS3 in Figure 21 are omitted, the embodiment of Figure 21 is substantially the same as the content explained below in terms of (a) executing the initial setting processing based on the initial value setting table SETTABLE, and (b) the contents of the initial value setting table SETTABLE.
そして、何れの実施例でも、設定値テーブルSETTABLEは、VDPレジスタRGijのレジスタアドレス値と、そのレジスタRGijへの設定値を一組みとした複数組(N組)で構成されている。特に限定されないが、レジスタアドレス値は16bit長、設定値は32bit長に固定化されており、各々が固定長であることで、初期値設定テーブルSETTABLEのデータ容量は、6×Nバイト(=48t×Nbit)長、VDPレジスタRGijはN個となっている。 In either embodiment, the setting value table SETTABLE is composed of multiple sets (N sets), each set consisting of the register address value of a VDP register RGij and the setting value for that register RGij. Although not particularly limited, the register address value is fixed at 16 bits and the setting value is fixed at 32 bits. As each is a fixed length, the data capacity of the initial value setting table SETTABLE is 6 x N bytes (= 48t x N bits) long, and there are N VDP registers RGij.
但し、図21の実施例では、初期値設定テーブルSETTABLEが一回だけREADアクセスされ、全N個のVDPレジスタRGijが一回だけ初期設定されるのに対して、図36の実施例では、全N個のVDPレジスタRGijは、一回だけ初期設定されるN1個のVDPレジスタRGijと、一回目の初期設定の後、1/30秒毎に繰り返し初期設定されるN2個のVDPレジスタRGijとに区分される。但し、図36の実施例においても、ステップSS5~SS6の処理は、電源投入後に一回実行されるだけである。 However, whereas in the embodiment of FIG. 21, the initial value setting table SETTABLE is accessed for READ only once and all N VDP registers RGij are initialized only once, in the embodiment of FIG. 36, all N VDP registers RGij are divided into N1 VDP registers RGij that are initialized only once, and N2 VDP registers RGij that are repeatedly initialized every 1/30 seconds after the first initialization. However, even in the embodiment of FIG. 36, the processing of steps SS5 to SS6 is only executed once after power is turned on.
そして、図36の実施例では、繰り返し初期設定される設定値には、(1)DMA転送動作についての設定値、(2)VRAMに対する設定値、(3)割込みに関する設定値、(4)表示回路74に関する設定値、及び、(5)描画回路76に関する設定値が含まれている。 In the example of Figure 36, the setting values that are repeatedly initialized include (1) setting values for DMA transfer operations, (2) setting values for VRAM, (3) setting values for interrupts, (4) setting values for the display circuit 74, and (5) setting values for the drawing circuit 76.
(1)DMA転送動作に関する設定値は、例えば、ステップST41で規定する動作条件の前提条件となる設定値であり、図25(c)や図29(c)における動作条件の違いに拘わらず固定的に適用される基本設定値である。具体的には、(a) DAMC回路60に内蔵されたFIFOバッファ(N段)がどれだけ開放されると、転送元に転送要求をするかの閾値(例えば全体の1/2段)、(b) 転送先や転送元とハンドシェイク動作をするか否か(例えばNo)などの設定値が含まれる。 (1) The setting values for DMA transfer operations are, for example, setting values that are prerequisites for the operating conditions specified in step ST41, and are basic setting values that are fixedly applied regardless of differences in the operating conditions in Figures 25(c) and 29(c). Specifically, these include setting values such as (a) the threshold for how much of the FIFO buffer (N stages) built into the DMA circuit 60 must be freed up before a transfer request is made to the transfer source (e.g., 1/2 of the total stages), and (b) whether or not to perform a handshake operation with the transfer destination and transfer source (e.g., No).
また、(2)VRAMの設定値には、リフレッシュ動作のリフレッシュ周期が含まれている。内蔵VRAM71は、このリフレッシュ周期で動作することで、記憶データの自然放電が防止される。次に、(3)割込みに関する設定値には、割込み要求要因となるエラー種別や、割込み信号の出力端子(内蔵CPUの内部端子)を特定する値であり、例えば、(a) 描画回路76がフリーズすればCPU回路51に対して描画異常割込みが発生すること(割込み許可状態、図22(d)参照)、(b) 表示装置DS1のVBLANK開始時に、CPU回路51に対してVBLANK開始割込みが発生すること(図22(c)参照)などの設定値が含まれている。 Furthermore, (2) the VRAM setting value includes the refresh cycle for refresh operations. By operating the built-in VRAM 71 at this refresh cycle, natural discharge of stored data is prevented. Next, (3) the interrupt-related setting value is a value that specifies the type of error that will cause an interrupt request and the output terminal of the interrupt signal (internal terminal of the built-in CPU). For example, it includes setting values such as (a) that if the drawing circuit 76 freezes, a drawing abnormality interrupt will be generated for the CPU circuit 51 (interrupt enabled state, see Figure 22(d)), and (b) that when VBLANK starts on the display device DS1, a VBLANK start interrupt will be generated for the CPU circuit 51 (see Figure 22(c)).
なお、本実施例は、CPU回路51とVDP回路52とが統合された複合チップ50を使用するが、別チップとする場合には、VDP回路52が割込み信号を出力する出力端子は、CPU回路51の外部割込み入力端子に接続される。 In this embodiment, a combined chip 50 is used in which the CPU circuit 51 and VDP circuit 52 are integrated. However, if they are separate chips, the output terminal from which the VDP circuit 52 outputs an interrupt signal is connected to the external interrupt input terminal of the CPU circuit 51.
また、(4)表示回路に関する設定値には、(a) 各フレームバッファの水平/垂直開始位置(SS36参照)、(b) 各表示装置の水平同期信号に関する設定値、(c) 各表示装置の垂直同期信号に関する設定値、(d) スケーラについての設定値、(e) 各表示装置の水平画素数と表示ライン数の設定値(SS30)などが含まれている。 (4) Display circuit settings include (a) the horizontal/vertical start position of each frame buffer (see SS36), (b) the horizontal synchronization signal setting for each display device, (c) the vertical synchronization signal setting for each display device, (d) the scaler setting, and (e) the number of horizontal pixels and number of display lines setting for each display device (SS30).
(5)描画回路76に関する設定値には、描画異常割込みが発生するまでのフリーズ時間の設定値が含まれている。この設定値は、例えば、垂直同期信号の周期の整数倍として設定される。図22(d)において説明した通り、ここで規定されたフリーズ期間、描画回路76がVRAMをアクセスしない場合には、描画回路76が個別的にリセットされ(ST16b)、描画回路76に対する動作パラメータが再設定される(ST16c)。 (5) The settings for the drawing circuit 76 include a setting value for the freeze time until a drawing abnormality interrupt occurs. This setting value is set, for example, as an integer multiple of the period of the vertical synchronization signal. As explained in Figure 22(d), if the drawing circuit 76 does not access the VRAM during the specified freeze period, the drawing circuit 76 is individually reset (ST16b), and the operating parameters for the drawing circuit 76 are reset (ST16c).
上記の通り、この実施例では、重要な設定値については、所定時間毎に繰り返し再設定されるので、ノイズなどの影響で、万一、設定値のビット化けが生じても、その異常が直ちに回復される。また、この実施例では、図21の実施例の場合のように、第1種や第2種の禁止設定レジスタRGijを書込み禁止状態に禁止設定しないので、やや煩雑な禁止解除処理を経ることなく、自由に書換え処理を実行することができる。 As mentioned above, in this embodiment, important setting values are repeatedly reset at predetermined intervals, so even if a bit in a setting value becomes corrupted due to noise or other factors, the abnormality is immediately corrected. Furthermore, in this embodiment, the first and second type inhibition setting registers RGij are not set to a write-protected state, as in the embodiment of Figure 21, so rewriting can be performed freely without having to go through the somewhat complicated inhibition release process.
以上、ここまで実施例では、(1a)所定のフリーズ時間を経過する描画回路76の動作フリーズ状態か、(1b)描画回路76が、ディスプレイリストDLに不合理な指示コマンドを検出した場合には、VDP回路52の描画回路76からCPU回路51に対して、描画異常割込みが生じる構成について説明した(図22(d)参照)。そして、描画異常割込み時には、割込み原因を判定した上で(図22(d)のST16a)、その判定結果に応じた処理を実行する構成(ST16c~ST16d)を採った。 So far, in the embodiments described above, a configuration has been described in which a drawing abnormality interrupt is generated from the drawing circuit 76 of the VDP circuit 52 to the CPU circuit 51 when (1a) the drawing circuit 76 enters an operation freeze state after a predetermined freeze time has elapsed, or (1b) the drawing circuit 76 detects an irrational instruction command in the display list DL (see FIG. 22(d)). When a drawing abnormality interrupt occurs, the cause of the interrupt is determined (ST16a in FIG. 22(d)), and processing is executed according to the determination result (ST16c to ST16d).
しかし、本発明者の実験によれば、ノイズの多い過酷な動作条件下でも、描画異常割込みが生じることは殆ど無い。そこで、制御負担を軽減化するためには、割込み原因判定処理(ST16a)を設けることなく、画一的に無限ループ処理に移行させるか(図27(b)参照)、パターンチェック回路CHK(図7(b)参照)を機能させるのも好適である(図27(c)のST17a参照)。 However, according to the inventor's experiments, drawing abnormality interrupts rarely occur, even under harsh operating conditions with a lot of noise. Therefore, in order to reduce the control burden, it is preferable to either move to a uniform infinite loop process (see Figure 27(b)) without providing interrupt cause determination processing (ST16a), or to activate the pattern check circuit CHK (see Figure 7(b)) (see ST17a in Figure 27(c)).
この場合には、その後、所定時間後にWDT回路58が起動して、複合チップ50全体がリセットされるか、或いは、その後、直ちにVDP回路52だけがリセットされることになる(図7(b)参照)。なお、リセットキーワードの出力処理(ST17a)に基づき、VDP回路52がリセットされた場合には、そのリセット動作の正常終了を確認すると共に、戻り番地を記憶するスタック領域を整理した後(ST17b)、例えば、ステップST4かST13の処理に移行させることになる。 In this case, the WDT circuit 58 will then be activated after a predetermined time, and the entire combined chip 50 will be reset, or just the VDP circuit 52 will be reset immediately thereafter (see Figure 7(b)). If the VDP circuit 52 is reset based on the reset keyword output process (ST17a), the normal completion of the reset operation will be confirmed, and the stack area that stores the return address will be organized (ST17b), after which processing will proceed to, for example, step ST4 or ST13.
また、本実施例では、異常判定処理(図22や図27のST5)を設けて描画回路76の動作完了を1/30秒毎に判定しているので、更に制御負担を軽減するべく、実質的に何も実行しない描画異常割込み処理(図27(d))を設けても良い。図27(d)に示す通り、この構成では、描画異常割込み時、直ちにIRET(Interrupt Return)命令を実行してメイン制御処理に戻るので、描画回路76のフリーズ状態などは、そのまま継続されることになる。しかし、本実施例では、図22や図27のステップST5の処理で、フレーム落ち回数を、異常フラグERでカウントしており、いずれWDT回路58か、パターンチェック回路CHKが起動するので、図27(d)の構成は、図27(b)や図27(c)の構成と実質的に同じである。 In addition, in this embodiment, an abnormality determination process (ST5 in Figures 22 and 27) is provided to determine whether the drawing circuit 76 has completed operation every 1/30 seconds. To further reduce the control burden, a drawing abnormality interrupt process (Figure 27(d)) that essentially does nothing may be provided. As shown in Figure 27(d), in this configuration, when a drawing abnormality interrupt occurs, the IRET (Interrupt Return) command is immediately executed to return to the main control process, so the drawing circuit 76 may remain frozen. However, in this embodiment, the number of frame drops is counted using the abnormality flag ER in the process of step ST5 in Figures 22 and 27, and either the WDT circuit 58 or the pattern check circuit CHK will eventually be activated. Therefore, the configuration of Figure 27(d) is essentially the same as the configurations of Figures 27(b) and 27(c).
また、制御負担を更に軽減化するため、初期設定時(図21のステップSS3参照)に、VDP回路52を描画異常割込み禁止状態に設定するのも好適である。なお、電源投入時のデフォルト状態が、描画異常割込み禁止状態である構成を採る場合には、(a) 異常割込みの許可/禁止を規定する許否値を設定すべき所定のシステム制御レジスタRGijを書込み禁止状態に設定するか、或いは、(b) 所定時間毎に、前記のシステム制御レジスタRGijに禁止値を繰り返し書込むことになる。 In addition, to further reduce the control burden, it is also preferable to set the VDP circuit 52 to a drawing abnormality interrupt disabled state during initialization (see step SS3 in Figure 21). If the default state at power-on is a drawing abnormality interrupt disabled state, (a) a specific system control register RGij, which should set the enable/disable value that specifies whether abnormality interrupts are enabled or disabled, is set to a write-disabled state, or (b) a disable value is repeatedly written to the system control register RGij at predetermined intervals.
この構成は、一見、図27(b)や図27(b)の構成より優れているようにも思われる。しかし、この種の遊技機の全機種について、(a) 描画異常割込みを、画一的に禁止状態に設定する構成より、(b) 画一的に許可状態に設定した上で、機種毎に図22(d)の構成を採るか、図27(b)~(d)の何れかの構成を採るかを選択する方が、制御プログラムの汎用化の観点からは優れている。なお、前者の構成(a) では、機種毎に、初期設定ルーチン(図21のステップSS3参照)などを変える必要性(煩雑さ)が生じる。 At first glance, this configuration appears to be superior to the configurations in Figures 27(b) and 27(b). However, from the perspective of versatility of the control program, it is better to (b) uniformly enable drawing abnormality interrupts for all models of this type of gaming machine, rather than (a) uniformly prohibiting them for all models. Then, for each model, select either the configuration in Figure 22(d) or one of the configurations in Figures 27(b) to (d). Note that the former configuration (a) requires (complexity) changes to the initial setting routine (see step SS3 in Figure 21) for each model.
なお、更なる変更実施例として、複合チップ50に内蔵された音声回路SNDを活用するのも好適である。図37は、このような実施例を示すブロック図である。図37を、図7と対比すれば明らかな通り、この実施例では、音声プロセッサ27と、音声メモリ28が不要となり、且つ、CPU回路51のデータバス(8bit分)とアドレスバス(2bit分)について、音声回路への外部配線が不要となる。また、アンダーフロー信号UFの伝送線も存在しないので、このUF伝送線に重畳するノイズによって、複合チップが誤って異常リセットされるおそれも回避される。 As a further modified embodiment, it is also preferable to utilize the audio circuit SND built into the combined chip 50. Figure 37 is a block diagram showing such an embodiment. As is clear from comparing Figure 37 with Figure 7, in this embodiment, the audio processor 27 and audio memory 28 are not required, and external wiring to the audio circuit is not required for the data bus (8 bits) and address bus (2 bits) of the CPU circuit 51. In addition, since there is no transmission line for the underflow signal UF, the risk of the combined chip being erroneously reset due to noise superimposed on this UF transmission line is also avoided.
また、この実施例では、音声メモリ28を排除することに対応して、音声メモリ28に記憶すべき音声データを、CGROM53に格納している。図38(d)は、CGROM53の記憶内容を図示したものであり、CGROM53には、サウンドROMヘッダ情報と、フレーズヘッダ情報HDと、一群の音声データを圧縮した多数のフレーズデータPHと、音声回路SNDの動作を規定する多数のサウンドコマンドSCMDと、が固定的に記憶されている。 Furthermore, in this embodiment, in response to the elimination of the audio memory 28, the audio data that should be stored in the audio memory 28 is stored in the CGROM 53. Figure 38(d) illustrates the contents of the CGROM 53, which permanently stores sound ROM header information, phrase header information HD, a large number of phrase data PH that are compressed groups of audio data, and a large number of sound commands SCMD that define the operation of the audio circuit SND.
図示の通り、サウンドROMヘッダ情報は、先頭番地SNDstから記憶されており、これに続いて、データサイズHDvlのフレーズヘッダ情報HDが、先頭番地HDstから記憶されている。また、データサイズPHvlのフレーズデータPHが、先頭番地PHstから記憶され、データサイズSCMDvlのサウンドコマンドSCMDが、先頭番地SCMDstから記憶されている。 As shown in the figure, sound ROM header information is stored starting from the first address SNDst, followed by phrase header information HD of data size HDvl, stored starting from the first address HDst. Furthermore, phrase data PH of data size PHvl is stored starting from the first address PHst, and sound command SCMD of data size SCMDvl is stored starting from the first address SCMDst.
ここで、サウンドROMヘッダ情報とは、具体的には、フレーズヘッダHD領域の先頭アドレスHDstと、フレーズヘッダHD領域のデータサイズHDvlと、フレーズデータ領域PHの先頭アドレスPHstと、フレーズデータ領域PHのデータサイズPHvlと、サウンドコマンド領域SCMの先頭アドレスSCMDstと、サウンドコマンド領域SCMDのデータサイズSCMDvlと、を意味する。そして、これらの情報は、電源投入時に音声回路SNDの内部回路に取得されるようになっている(ステップSD4参照)。 Here, sound ROM header information specifically refers to the start address HDst of the phrase header HD area, the data size HDvl of the phrase header HD area, the start address PHst of the phrase data area PH, the data size PHvl of the phrase data area PH, the start address SCMDst of the sound command area SCM, and the data size SCMDvl of the sound command area SCMD. This information is acquired by the internal circuitry of the audio circuit SND when power is turned on (see step SD4).
また、フレーズヘッダ情報HDとフレーズデータPHは、電源投入時に、外付けDRAM54に転送することで、その後のREADアクセスの迅速化を図っている(ステップSD6)。このように、本実施例では、音声プロセッサ27と、音声メモリ28を排除して、小型化と製造コストの抑制を図ると共に、安価で大容量化が容易である一方、アクセス速度の遅いCGROM53の弱点を克服している。 Furthermore, the phrase header information HD and phrase data PH are transferred to the external DRAM 54 when the power is turned on, thereby speeding up subsequent READ access (step SD6). In this way, in this embodiment, the voice processor 27 and voice memory 28 are eliminated, thereby reducing size and manufacturing costs, and overcoming the weakness of the CGROM 53, which is inexpensive and easy to increase in capacity, but has a slow access speed.
以上を踏まえて、電源投入時の初期設定処理について図38(a)に基づいて説明する。なお、これらの処理は、図21のステップSS3の処理の一部として実行される。 Based on the above, the initial setup process at power-on will be explained with reference to Figure 38(a). Note that this process is executed as part of step SS3 in Figure 21.
図7(b)に関して説明した通り、電源投入時やWDT58が起動する異常リセット時には、リセット経路2の経路で音声回路SNDがハードウェアリセットされる(ステップSD1)。また、演出制御CPU63が、音声回路SNDの異常を検出した場合には、リセット経路4B又は4Cの経路で音声回路SNDがハードウェアリセットされる(ステップSD1)。なお、演出制御CPU63がパターンチェック回路CHKを機能させることで、音声回路SNDが、他の回路(72,73,74・・)と共にハードウェアリセットされる場合もある(ステップSD1)。 As explained with reference to Figure 7(b), when power is turned on or an abnormal reset occurs when WDT 58 is activated, audio circuit SND is hardware reset via reset path 2 (step SD1). Furthermore, if the performance control CPU 63 detects an abnormality in audio circuit SND, audio circuit SND is hardware reset via reset path 4B or 4C (step SD1). Note that the performance control CPU 63 may activate the pattern check circuit CHK, causing audio circuit SND to be hardware reset along with other circuits (72, 73, 74, etc.) (step SD1).
これら何れの場合でも、次に、演出制御CPU63は、リセット動作が正常に完了したことを確認した上で(ステップSD2)、最初に、サウンドデータ領域の先頭アドレスSNDstを、音声回路SNDのシステム制御レジスタRGijに設定する(ステップSD3)。次に、所定のシステム制御レジスタに所定値を設定することで、サウンドROMヘッダ情報HDを内部回路に記憶させる。なお、サウンドROMヘッダ情報HDは、前記した6要素(HDst,HDvl,PHst,PHvl,SCMDst,SCMDvl)であり、図38(c)に記載の通りである。 In either of these cases, the performance control CPU 63 then confirms that the reset operation has been completed successfully (step SD2), and then first sets the starting address SNDst of the sound data area to the system control register RGij of the audio circuit SND (step SD3). Next, by setting a predetermined value in a predetermined system control register, the sound ROM header information HD is stored in the internal circuit. Note that the sound ROM header information HD is the six elements mentioned above (HDst, HDvl, PHst, PHvl, SCMDst, SCMDvl), as shown in Figure 38 (c).
そして、ここまでの処理が正常に動作したことを確認し、万一、正常に終了できない場合には、リセット経路4B又は4Cの経路で、音声回路を個別的にリセットする。但し、通常は、正常終了を確認できるので、続いて、データ転送回路72を利用して、フレーズヘッダ情報HDと、フレーズデータPHを外付けDRAM54に転送する(ステップSD6)。なお、データ転送回路72には、転送先の先頭アドレスBGNと、転送元の先頭アドレスHDstと、転送データ総量HDvl+FDvlなどが適宜に指定される。 Then, it is confirmed that the processing up to this point has operated normally, and if it has not completed normally, the audio circuits are individually reset via reset path 4B or 4C. However, since normal completion can usually be confirmed, the phrase header information HD and phrase data PH are then transferred to the external DRAM 54 using the data transfer circuit 72 (step SD6). The data transfer circuit 72 is appropriately specified with the destination start address BGN, the source start address HDst, the total amount of data to be transferred (HDvl + FDvl), etc.
次に、フレーズヘッダ情報HDとフレーズデータPHは、CGROM55ではなく、外付けDRAM54に存在することを、所定のシステム制御レジスタRGijに設定した上で(ステップSD7)、外付けDRAM54に転送した一群のデータの先頭アドレスBGN(サウンドRAM先頭アドレス)を、所定のシステム制御レジスタに設定する(ステップSD8)。その後、その他の初期設定処理を終えることで(ステップSD9)、音声制御動作が可能となる。 Next, the phrase header information HD and phrase data PH are stored in the external DRAM 54, not in the CGROM 55, by setting a predetermined system control register RGij (step SD7), and then the start address BGN (sound RAM start address) of the group of data transferred to the external DRAM 54 is set in the predetermined system control register (step SD8). After that, other initial setting processes are completed (step SD9), and audio control operation becomes possible.
先に説明した通り、サウンドROMヘッダ情報、つまり、6個の情報(HDst,HDvl,PHst,PHvl,SCMDst,SCMDvl)は、音声回路SNDの内部回路に保存されているので(ステップSD4)、その後、演出制御CPU63は、フレーズデータなどの必要な情報を、サウンドRAM先頭アドレスBGNとの相対値で指示することができ、この指示を受けた音声回路SNDは、相対アドレス値を絶対アドレス値に変換して、必要な音声処理を実行することになる。フレーズデータなどの音声データは、CGROM55ではなく、外付けDRAM54からREADアクセスされるので、複雑高度な音声演出であっても、これを円滑に実現することができる。 As explained earlier, the sound ROM header information, i.e., six pieces of information (HDst, HDvl, PHst, PHvl, SCMDst, SCMDvl), are stored in the internal circuitry of the audio circuit SND (step SD4). The performance control CPU 63 can then specify necessary information such as phrase data using relative values relative to the sound RAM start address BGN. Upon receiving this instruction, the audio circuit SND converts the relative address value into an absolute address value and executes the necessary audio processing. Since audio data such as phrase data is accessed for read access from the external DRAM 54 rather than the CGROM 55, even complex and sophisticated audio performances can be smoothly realized.
以上、各種の実施例について詳細に説明したが、弾球遊技機や回胴遊技機などに限定されないだけでなく、具体的な記載内容についても、何ら本発明を限定しない。特に、バックライト部BLと液晶表示部MONIについて、給電制御回路の回路構成や動作タイミング(図6)、及び、これに対応する図21の制御処理は、一例を例示したに過ぎず、何ら本発明を限定せず、適宜に変更可能である。 The above provides a detailed explanation of various embodiments, but the present invention is not limited to pinball gaming machines or slot machines, and the specific descriptions do not limit the present invention in any way. In particular, the circuit configuration and operation timing of the power supply control circuit (Figure 6) for the backlight unit BL and LCD display unit MONI, as well as the corresponding control processing in Figure 21, are merely examples and do not limit the present invention in any way and can be modified as appropriate.
例えば、実施例では、制御信号PS1,PS2を使用したが、バックライト部BLとして、BL_EN 端子と、PWM 端子を有するドライバDVLを使用する場合には、制御信号PS1は、特段必要とされない。また、制御信号STBY,PWMを使用するので、制御信号PS2についても省略可能である。制御信号PS1,PS2を省略した場合には、電源電圧12Vと5Vは、電源投入時からバックライト部BLと液晶表示部MONIに供給されることになる。 For example, in the embodiment, control signals PS1 and PS2 are used, but if a driver DVL having a BL_EN terminal and a PWM terminal is used as the backlight unit BL, control signal PS1 is not particularly required. Also, since control signals STBY and PWM are used, control signal PS2 can also be omitted. If control signals PS1 and PS2 are omitted, power supply voltages of 12V and 5V will be supplied to the backlight unit BL and the liquid crystal display unit MONI from the time the power is turned on.
但し、電源投入後、素早く(例えば20mS以内)、有意な画像信号の伝送を要求する仕様の液晶表示部MONIに応えるには、制御信号PS2を使用して電源電圧5Vの給電開始タイミングを遅らせるのが好適である。図47は、このような実施例を説明するタイムチャートであり、制御信号PS1を省略する一方、表示回路74からの出力を、LVDS回路80が出力し始めるタイミングT4に同期して、液晶表示部MONIに電源電圧5Vの給電を開始する実施例を示している。そして、この場合も、例えば、タイマ割込みを利用して、タイミングT4から更に300mS遅れてバックライト部BLが点灯すれば、フレームバッファFBa,FBbをゼロクリアしなくても、不自然な画像が表示されるおそれがなくなる。 However, to accommodate a liquid crystal display unit MONI that requires significant image signal transmission quickly (e.g., within 20 ms) after power-on, it is preferable to use control signal PS2 to delay the timing at which the supply of 5V power is initiated. Figure 47 is a time chart illustrating such an embodiment, showing an embodiment in which control signal PS1 is omitted and the supply of 5V power to the liquid crystal display unit MONI is initiated in synchronization with timing T4, when the LVDS circuit 80 begins outputting the output from display circuit 74. Even in this case, if the backlight unit BL is turned on with a delay of an additional 300 ms from timing T4, for example, using a timer interrupt, the risk of an unnatural image being displayed can be eliminated, even without clearing frame buffers FBa and FBb to zero.
また、ここまでの実施例では、バックライト点灯までに、かなりの待機時間(>1000+300mS)を設けているが、1000mSの待機時間を排除すると共に、表示回路74からの出力を、LVDS回路80が出力し始めるタイミングを、可能な限り早めるのも好適である。例えば、図48に示すように、LVDS回路のDual Link 設定や、その他の設定を行うステップSP45の動作に続いて、表示回路74やLVDS回路80(LVDS1/LVDS2 )の動作を開始させるステップSS4(SS4a+SS4b)の処理を実行するのも好適である。なお、先に説明した通り、ステップSS4aとSS4bの実行順序は、任意である。 In addition, in the embodiments described so far, a considerable waiting time (>1000 + 300 mS) is set before the backlight turns on, but it would also be preferable to eliminate the 1000 mS waiting time and advance as far as possible the timing at which the LVDS circuit 80 starts outputting the output from the display circuit 74. For example, as shown in FIG. 48, it would also be preferable to execute step SS4 (SS4a + SS4b), which starts operation of the display circuit 74 and the LVDS circuit 80 (LVDS1/LVDS2), following the operation of step SP45, which sets up the Dual Link of the LVDS circuit and performs other settings. As explained above, the order in which steps SS4a and SS4b are executed is arbitrary.
この場合には、ステップSS3の処理を実行することなく、ステップSS4の処理を実行するので、無意味な画像信号が伝送されることになるが、バックライト部BLが消灯している限り、特段の問題は生じない。すなわち、バックライト部BLが消灯している状態では、ステップSP41~SP44の処理を先行させる限り、ステップSP4~SP10で実行される表示動作に関する各処理は、適宜な順番に入れ替えることができる。 In this case, the process of step SS4 is executed without executing the process of step SS3, resulting in the transmission of a meaningless image signal. However, as long as the backlight unit BL is off, no particular problems arise. In other words, when the backlight unit BL is off, as long as the processes of steps SP41 to SP44 are executed first, the display operation-related processes executed in steps SP4 to SP10 can be rearranged in any order.
特に、LVDS回路80(LVDS1/LVDS2 )についてのデュアルリンク設定その他の設定処理(SP41)については、図16のステップSP4のタイミングではなく、図21のステップSP54のタイミングでまとめて行うことが考えられる。まとめて行う設定処理には、デュアルリンク構成のLVDS回路80について、LVDS1回路/LVDS2回路から出力すべきデータが、表示回路74の出力(ODD/EVEN)であることの設定が含まれる。また、このステップSP54の実行タイミングから、表示回路74とLVDS回路80の動作を開始すべきことを、所定の表示レジスタRGij(DSPACTRL)や、所定のシステム制御レジスタRGij(SYSDSPLVDS1MD 、SYSDSPLVDS2MD )に設定しても良い。 In particular, the dual link setting and other setting processes (SP41) for the LVDS circuit 80 (LVDS1/LVDS2) can be performed together at step SP54 in FIG. 21, rather than at step SP4 in FIG. 16. The combined setting process includes setting the data to be output from the LVDS1 circuit/LVDS2 circuit of the dual link LVDS circuit 80 to be the output (ODD/EVEN) of the display circuit 74. Furthermore, when step SP54 is executed, a setting may be made in a specified display register RGij (DSPACTRL) or a specified system control register RGij (SYSDSPLVDS1MD, SYSDSPLVDS2MD) to indicate that the display circuit 74 and LVDS circuit 80 should start operating.
また、ステップSP54のレジスタ設定タイミングで、表示回路74のデータをLVDS出力する旨を、所定のシステム制御レジスタRGij(SYSDSPLVDSLNK 、SYSDSPLVDS1CFG1 、SYSDSPLVDS2CFG1 )に設定し(SP4参照)、その後、ステップSS4のタイミングで表示回路74とLVDS回路80の動作を開始するよう構成するのも好適である。なお、図47のタイミングT4の直前に、ステップSP42~SP44、及びステップSP46の処理を実行した上でLVDS回路80の出力動作(SS4)を開始しても良い。 Also, at the register setting timing of step SP54, it is preferable to set a specific system control register RGij (SYSDSPLVDSLNK, SYSDSPLVDS1CFG1, SYSDSPLVDS2CFG1) to output data from the display circuit 74 via LVDS (see SP4), and then configure the display circuit 74 and LVDS circuit 80 to start operation at the timing of step SS4. Note that steps SP42 to SP44 and step SP46 may be executed immediately before timing T4 in Figure 47, and then the output operation of the LVDS circuit 80 (SS4) may be started.
但し、外付けDRAM(DDR)54に関するステップSP46~SP47の処理は、必ず、ステップSP8の処理に先行させる必要があることは前記した通りである。 However, as mentioned above, the processing of steps SP46 to SP47 related to the external DRAM (DDR) 54 must always precede the processing of step SP8.
また、パワーオンリセット動作に関し、図16に示すパワーオンリセット動作は、制御メモリ53の0x00000000番地以降に確保されたベクタテーブルVECTの情報に基づいて起動されたが、HBTSL 端子=Hレベルに設定すると共に、CGROM55の先頭領域にベクタテーブルVECTを配置するのも好適である。図39(a)や図39(b)は、このような場合のアドレスマップを図示したものであり、演出制御CPU63のアドレス空間CS0は、CGROM55の一部(先頭領域)に確保されている。 Furthermore, with regard to the power-on reset operation, the power-on reset operation shown in Figure 16 is initiated based on the information in the vector table VECT allocated from address 0x00000000 onwards in the control memory 53, but it is also preferable to set the HBTSL terminal to high level and place the vector table VECT in the leading area of the CGROM 55. Figures 39(a) and 39(b) show the address map for such a case, with the address space CS0 of the performance control CPU 63 allocated in part (leading area) of the CGROM 55.
なお、CGROM55の本体部は、演出制御CPU63からアクセスされることはなく(アクセス不可)、専らVDP回路52からアクセスされるので、アドレス空間CSiに位置付けられることない。先に説明した通り、CGROM55の本体部を、複数のメモリデバイスで構成することもでき、このような場合には、図18(a)のステップSP20の処理によって、SPA0~SPA1のデバイス区間に区分することで、メモリデバイスの特性に適合した最適なREADアクセスが可能となる。 The main body of CGROM 55 is not accessed (cannot be accessed) by the performance control CPU 63, and is accessed exclusively by the VDP circuit 52, so it is not located in the address space CSi. As explained above, the main body of CGROM 55 can also be configured with multiple memory devices. In such cases, by dividing it into device sections SPA0 to SPA1 by processing step SP20 in Figure 18(a), optimal READ access suited to the characteristics of the memory devices becomes possible.
何れにしても、HBTSL 端子=Hレベルに設定されている場合には、これに対応して、CGROM55のメモリ種別と、バス幅(64/32/16bit)とが、2bit長のHBTBWD端子と、4bit長のHBTRMSL 端子への固定的な入力値に基づいて予め特定されている必要がある。 In any case, when the HBTSL terminal is set to the H level, the memory type and bus width (64/32/16 bits) of the CGROM 55 must be specified in advance based on the fixed input values to the 2-bit HBTBWD terminal and the 4-bit HBTRMSL terminal.
そして、この実施例では、ベクタテーブルVECTに続いて、CGROM55からのREADアクセスを最適化するためのバスパラメータをCGROM55の先頭領域に記憶されておく必要がある。なお、必須ではないが、演出制御プログラムの違法解析を困難にするため難読化した場合に、それを解読するための難読化パラメータを記憶させておくのも好適である。 In this embodiment, following the vector table VECT, bus parameters for optimizing read access from CGROM 55 must be stored in the leading area of CGROM 55. Although not essential, it is also preferable to store obfuscation parameters for deciphering the performance control program if it has been obfuscated to make illegal analysis of the program more difficult.
このような構成を採った場合には、電源リセット後、リセットアサート期間に、以下の動作1~動作4がプログラム処理を経ることなく自動的に実行される。先ず、HBTRMSL 端子への入力値に基づいてアドレス空間CS0のバス幅が特定され、また、BTBWD 端子への入力値に基づいてメモリ種別が自動的に特定され、所定のVDPレジスタRGijに各々設定される(動作1)。この場合のメモリ種別は、パラレルI/F(Interface )形式を採るメモリ素子、シーケンシャルI/F形式を採るメモリ素子に大別される。 When this configuration is used, after a power reset, the following operations 1 to 4 are automatically executed during the reset assertion period without going through program processing. First, the bus width of address space CS0 is determined based on the value input to the HBTRMSL terminal, and the memory type is automatically determined based on the value input to the BTBWD terminal and set in the specified VDP register RGij (operation 1). In this case, memory types are broadly divided into memory elements that use a parallel I/F (interface) format and memory elements that use a sequential I/F format.
次に、CGROM55に記憶されている難読化パラメータをロードし、難読化を解除するために必要な情報が内部回路内に自動設定される(動作2)。また、CGROM55に記憶されているバスパラメータが自動的にVDPレジスタRGijに取得される(動作3)。なお、この動作3は、図19のステップSP63のプログラム処理に対応する動作であり、内部回路によって自動的に実行される。 Next, the obfuscation parameters stored in CGROM 55 are loaded, and the information required to remove the obfuscation is automatically set in the internal circuit (operation 2). Furthermore, the bus parameters stored in CGROM 55 are automatically acquired in the VDP register RGij (operation 3). Note that operation 3 corresponds to the program processing of step SP63 in Figure 19, and is automatically executed by the internal circuit.
そして最後に、動作1~3で設定されたバスパラメータを実効化するべく、図19のステップSP64のプログラム処理に対応する動作が内部回路によって、自動的に実行される(動作4)。そして、バスパラメータの設定が実効化されたタイミングで、ベクタテーブルの情報に基づいてプログラムカウンタPCと、スタックポインタSPの値が自動的に設定され、ブートプログラム(初期設定プログラム)の実行が開始される。 Finally, to put into effect the bus parameters set in operations 1 to 3, the internal circuitry automatically executes the operation corresponding to the program processing in step SP64 in Figure 19 (operation 4). Then, once the bus parameter settings have been put into effect, the program counter PC and stack pointer SP are automatically set based on the information in the vector table, and execution of the boot program (initial setting program) begins.
この図39(a)に示す構成によれば、図16(a)のステップSP1のプログラム処理も不要となり、自動的に動作1~動作4が実行されるので、プログラム処理負担が大きく軽減される。そして、この場合も、初期設定プログラムPinitの動作に基づいて、ベクタハンドラVopt以降のプログラムやデータが適宜なRAM領域に転送される。 The configuration shown in Figure 39(a) eliminates the need for the program processing in step SP1 in Figure 16(a) and automatically executes operations 1 to 4, significantly reducing the program processing burden. Also in this case, programs and data from vector handler Vopt onwards are transferred to the appropriate RAM area based on the operation of the initial setting program Pinit.
なお、ベクタハンドラVopt以降のプログラムやデータは、必ずしもCGROM55の先頭領域に記憶させておく必要はなく、例えば、制御メモリ53に記憶させておくのでも良い(図39(b))。また、ベクタハンドラVopt以降のプログラムやデータは、必ずしもRAM領域に転送する必要はなく、転送しない場合には、初期化設定プログラムにおけるメモリセクション初期化処理(図16のSP8)が不要となる。 The programs and data following the vector handler Vopt do not necessarily need to be stored in the first area of the CGROM 55; they may be stored in the control memory 53, for example (Figure 39 (b)). Furthermore, the programs and data following the vector handler Vopt do not necessarily need to be transferred to the RAM area; if they are not transferred, the memory section initialization process in the initialization setting program (SP8 in Figure 16) is not required.
また、Vブランクタイミングと、有意な画像データの送信終了タイミングとを必ずしも一致させる必要はない。すなわち、図15(f)に示す表示領域の左下端点(〇印)のタイミングで、画像データの送信を終了させることは何ら必要ない。要するに、表示装置側から要求される待機時間WTh/WRvの仕様や、水平/垂直同期信号HS/Vsの仕様を満たせば、それで足りる。 Furthermore, it is not necessary to match the V blank timing with the timing at which significant image data transmission ends. In other words, there is no need to end image data transmission at the timing of the bottom left corner (circle) of the display area shown in Figure 15(f). In short, it is sufficient to meet the specifications for the waiting time WTh/WRv and the horizontal/vertical synchronization signals HS/Vs required by the display device.
図41(a)は、このような実施例を説明する図面であり、例えば、表示回路74Aの動作を示している。この実施例でも、メイン表示装置DS1の仕様に対応して、ドットクロックDCKの周波数Fdotは、108MHzと規定される。また、フレームレートFRを1/60秒に一致させるために、THc×TVl/Fdot=1/60とする必要があり、ここでも、図15(f)の場合と同様に、水平同期のサイクル数THcを1662クロック、垂直同期のライン数TVlを1083ラインとしている。 Figure 41(a) is a diagram illustrating such an embodiment, showing, for example, the operation of the display circuit 74A. In this embodiment, too, the frequency F dot of the dot clock DCK is specified as 108 MHz in accordance with the specifications of the main display device DS1. Furthermore, in order to make the frame rate FR equal to 1/60 seconds, it is necessary to set THc x TVl / F dot = 1/60. Here, as in the case of Figure 15(f), the number of horizontal synchronization cycles THc is set to 1662 clocks, and the number of vertical synchronization lines TVl is set to 1083 lines.
また、図示の実施例では、一般の表示装置にも対応できるよう、表示装置の仕様に対応して、水平同期信号HSと垂直同期信号VSを出力している。図示例では、水平同期信号HSのパルス幅が100クロック分であり、水平フロントポーチFPhは、110(=10+100)クロック、水平バックポーチBPhは172クロックに設計されている。また、垂直同期信号VSのパルス幅は、10ライン分であり、垂直フロントポーチFPvは20(=10+10)ライン、垂直バックポーチBPvは291ラインに設計されている。 In addition, in the illustrated embodiment, the horizontal synchronization signal HS and vertical synchronization signal VS are output in accordance with the display device specifications so as to be compatible with general display devices. In the illustrated example, the pulse width of the horizontal synchronization signal HS is 100 clocks, the horizontal front porch FPh is designed to be 110 (= 10 + 100) clocks, and the horizontal back porch BPh is designed to be 172 clocks. In addition, the pulse width of the vertical synchronization signal VS is 10 lines, the vertical front porch FPv is designed to be 20 (= 10 + 10) lines, and the vertical back porch BPv is designed to be 291 lines.
但し、図41(a)(b)に示す実施例では、〇印で示すVブランク開始タイミングより先に出力動作を終えるため、垂直待機時間WTvを49ライン、水平待機時間WThを372クロックとしている。したがって、この実施例によれば、一フレームの画像更新処理が終わった後、10ライン分の時間(154μS)経過後にVブランク開始タイミングが到来することになり、如何なる動作条件でも画像更新処理が確実化される(図41(b)参照)。 However, in the embodiment shown in Figures 41(a) and (b), the vertical wait time WTv is set to 49 lines and the horizontal wait time WTh is set to 372 clocks in order to complete the output operation before the V blank start timing indicated by the circle. Therefore, according to this embodiment, the V blank start timing arrives 10 lines (154 μS) after the image update process for one frame is completed, ensuring image update process under any operating conditions (see Figure 41(b)).
このような動作は、特に、他の表示回路に同期して付随的に動作する表示回路、例えば、表示回路74Aの動作に付随する表示回路74Bや表示回路74Cにおいて、好適に機能する。図41(c)~図41(e)は、この点を説明する図面であり、表示回路74BにおけるVブランク周期T2が、表示回路74AにおけるVブランク周期T1より長い場合を図示している(T1<T2)。 This type of operation is particularly suitable for display circuits that operate in synchronization with other display circuits, such as display circuits 74B and 74C that operate in conjunction with display circuit 74A. Figures 41(c) to 41(e) are diagrams that explain this point, showing a case where the V blank period T2 in display circuit 74B is longer than the V blank period T1 in display circuit 74A (T1<T2).
このような場合に、表示回路74AにおけるVブランク周期T1を表示回路74Aに付随させて動作させると、表示回路74Bにおける画像データの出力の完了前に、Vブランクが開始されることになり、画像欠損や不自然な表示動作が生じるおそれがある(図41(d))。一方、表示回路74Bを独立的に動作させたのでは、表示回路74Aの動作と同期する描画回路の動作タイミングと整合が取れなくなる。 In such a case, if the V blank period T1 of display circuit 74A is operated in conjunction with display circuit 74A, the V blank will begin before the output of image data in display circuit 74B is completed, which could result in image loss or unnatural display behavior (Figure 41(d)). On the other hand, if display circuit 74B is operated independently, it will not be possible to match the operating timing of the drawing circuit, which is synchronized with the operation of display circuit 74A.
そこで、表示回路74Aの動作に付随する表示回路74BのVブランク周期T2が、表示回路74AのVブランク周期T1より長い場合には、図41(a)(b)の場合と同様に、表示装置Bにおいて画像データの出力後に、十分な余裕時間が生じるよう、待機時間(垂直ブランク期間)を短く設定すればよい。この場合、待機時間を極端に短く設定しない限り、通常の液晶表示装置では、問題なく表示動作が実現される。 Therefore, if the V blank period T2 of display circuit 74B, which accompanies the operation of display circuit 74A, is longer than the V blank period T1 of display circuit 74A, then, as in the case of Figures 41(a) and (b), the wait time (vertical blank period) should be set short so that there is sufficient time after image data is output in display device B. In this case, unless the wait time is set extremely short, display operation will be achieved without any problems on a typical LCD display device.
なお、例えば、表示回路74Aの動作に付随する表示回路74BのVブランク周期T3が、表示回路74AのVブランク周期T1より短い場合にも、Vブランク周期T3の後に余分の待機期間が生じるが、全体としての待機時間を極端に長くならない限り、問題なく表示動作が実現される。 For example, even if the V blank period T3 of display circuit 74B accompanying the operation of display circuit 74A is shorter than the V blank period T1 of display circuit 74A, an extra waiting period will occur after the V blank period T3, but as long as the overall waiting time is not extremely long, the display operation will be realized without any problems.
以上、本発明の実施例について詳細に説明したが、具体的な記載内容は何ら本発明を限定しない。例えば、実施例では、もっぱらデュアルリンク伝送路(一対のLVDS伝送路)について説明したが、機器構成を簡略化するには、シングルリンク伝送路(単一のLVDS伝送路)を採用するのも好適である。 Although the embodiments of the present invention have been described in detail above, the specific descriptions do not limit the present invention in any way. For example, although the embodiments have been described primarily in terms of dual link transmission lines (a pair of LVDS transmission lines), it is also preferable to employ a single link transmission line (a single LVDS transmission line) to simplify the equipment configuration.
シングルリンク伝送路の場合、ドットクロックDCKの周波数が、108MHzであれば、LVDSクロックCLKの周波数も108MHzとなる。なお、この場合も、ドットクロックDCKとLVDSクロックCLKは、発振器OSC2を共通の供給元とし、且つ、同一生成過程で生成するのが好適である。 In the case of a single-link transmission path, if the dot clock DCK frequency is 108 MHz, the LVDS clock CLK frequency will also be 108 MHz. In this case, too, it is preferable that the dot clock DCK and LVDS clock CLK share a common supply source, oscillator OSC2, and be generated using the same generation process.
また、前記の実施例とは相違して、VDP回路52のシステムクロックと、CPU回路51のCPU動作クロックの供給元を、単一の発振器OSC2に共通化するのも回路構成の簡素化する上で好適である。そして、共通の設定端子(3bit のPLLMD 端子)の設定値に基づいて、PLL回路の逓倍比を共通設定する構成を採れば、周波数設定処理が不要となり更に効果的である。 In addition, unlike the previous embodiment, it is also advantageous to simplify the circuit configuration by sharing the source of the system clock for the VDP circuit 52 and the CPU operating clock for the CPU circuit 51 as a single oscillator OSC2. Furthermore, if the multiplication ratio of the PLL circuit is commonly set based on the setting value of a common setting terminal (a 3-bit PLLMD terminal), this eliminates the need for frequency setting processing, making it even more effective.
この場合、CPU動作クロックを高速化したい要請にはやや反するが、VDP回路52の内部回路が許容する最高周波数のシステムクロックを採用し、これと同じ周波数のCPU動作クロックとするのが好適である。 In this case, although it goes against the desire to speed up the CPU operating clock somewhat, it is preferable to use a system clock with the highest frequency allowed by the internal circuitry of the VDP circuit 52 and set the CPU operating clock at the same frequency.
例えば、発振器OSC2の発振周波数が40MHzの場合、設定端子(3bit のPLLMD 端子)への設定値を5にすることで、システムクロックとCPU動作クロックを共通的に200MHz(=40MHz×5)に設定できる。この構成によれば、発振器OSC1が不要となり、回路構成を簡素化できだけでなく、やや煩雑なVDPレジスタへの設定処理も不要となる。なお、VDP回路52と、CPU回路51の動作周期が一致するメリットもある。 For example, if the oscillation frequency of oscillator OSC2 is 40 MHz, setting the setting terminal (3-bit PLLMD terminal) to 5 allows the system clock and CPU operating clock to be set to a common frequency of 200 MHz (= 40 MHz x 5). This configuration not only eliminates the need for oscillator OSC1, simplifying the circuit configuration, but also obviating the need for somewhat complicated setting processes in the VDP register. Another advantage is that the operating cycles of VDP circuit 52 and CPU circuit 51 match.
最後に動画演出について整理しておく。先に説明した通り、本実施例では、変動演出の殆どは、静止画でなく、動画を使用して実現される。また、変動演出中は、暗転予告など特別な場合を除いて、複数の動画が並列的に動作している。 Finally, let's clarify the video effects. As explained above, in this embodiment, most of the change effects are realized using video, not still images. Also, during change effects, multiple videos run in parallel, except in special cases such as when the screen goes black.
<初期処理>
動画演出を実行するため、本実施例では、電源投入後の初期処理において、AAC領域やページ領域が確保され(図21のSS1)、ページ領域内に、インデックス番号で特定される一又は複数のインデックス空間が確保される。
<Initial processing>
In order to execute video effects, in this embodiment, an AAC area and a page area are secured during the initial processing after power-on (SS1 in Figure 21), and one or more index spaces identified by index numbers are secured within the page area.
具体的には、単位空間4096ビット×128ラインの基本サイズの整数N倍のページ領域が一又は複数個確保され、各々に、一意のインデックス番号が付与される(図21のSS2)。本実施例では、1ピクセルを32ビット(ARGB8888)で表現するので、ページ領域の単位空間は、128ピクセル×128ラインとなる。 Specifically, one or more page areas each an integer N times the basic size of the unit space (4096 bits x 128 lines) are secured, and each is assigned a unique index number (SS2 in Figure 21). In this example, one pixel is represented by 32 bits (ARGB8888), so the unit space of the page area is 128 pixels x 128 lines.
なお、先に説明した通り、ページ領域内のインデックス空間は、必要に応じて開放することも、追加することもできるので、変動演出の必要時に、ページ領域内に新規のインデックス空間を生成しても良い。 As explained above, index space within a page area can be released or added as needed, so new index space can be generated within the page area when needed for variable effects.
ところで、本実施例では、初期処理で確保されるAAC領域は、静止画やIストリーム動画のデコード領域として使用される。この場合、画像素材(テクスチャ)のメモリリードを指定するロードコマンドTXLOADで、テクスチャ(動画一フレームや静止画)の展開後のサイズを規定すると、デコード領域の先頭アドレスと、水平サイズが自動的にAAC領域に確保される。 In this embodiment, the AAC area secured during initial processing is used as a decoding area for still images and I-stream video. In this case, when the size of the texture (one video frame or still image) after expansion is specified using the load command TXLOAD, which specifies memory read of the image material (texture), the starting address and horizontal size of the decoding area are automatically secured in the AAC area.
<定常動作時のIPストリーム動画の再生>
上記の初期処理の後、適宜なタイミングで一又は複数の動画演出が実行される。ここで、IPストリーム動画の再生を指示するディスプレイリストDLには、以下のコマンドCM1~CM5が、描画回路への指示コマンドとして必要となる。
<IP Stream Video Playback During Steady Operation>
After the above initial processing, one or more video effects are executed at appropriate timing. Here, the display list DL that instructs the playback of IP stream video requires the following commands CM1 to CM5 as instruction commands to the drawing circuit.
図43(a)は、ディスプレイリストDLの要部を図示したものであり、図23の指示コマンド列L16を再掲したものである。以下、デコード領域として、ページ領域を使用する実施例を説明するが、任意領域を使用することもでき、この場合は、ページ領域を任意領域と読み替えれば良い。但し、ページ領域のインデックス空間は、任意の水平サイズ×垂直サイズが2048ラインであり垂直方向に無駄が生じる。 Figure 43 (a) illustrates the main parts of the display list DL, and is a reprint of the instruction command sequence L16 in Figure 23. Below, an example will be described in which a page area is used as the decode area, but an arbitrary area can also be used; in this case, simply read "page area" as "arbitrary area." However, the index space for a page area is an arbitrary horizontal size x vertical size of 2048 lines, which results in wasted space in the vertical direction.
(1)テクスチャコマンドSETINDEX(CM1)
先ず、テクスチャコマンドSETINDEX(CM1)によって、デコード領域として、任意領域を使用するか、ページ領域を使用するかを指定するが、IPストリーム動画の場合、実施例では、ページ領域のインデックス空間iを使用する。より具体的には、必要な動作パラメータを付加したテクスチャコマンドSETINDEXをディスプレイリストDLに記載して、「ページ領域」と、「テクスチャ」と、を選択し、使用するインデックス空間を特定するインデックス番号iを規定する。
(1) Texture command SETINDEX (CM1)
First, the texture command SETINDEX (CM1) specifies whether to use an arbitrary area or a page area as the decode area, but in the case of IP stream video, in this embodiment, the index space i of the page area is used. More specifically, the texture command SETINDEX with the necessary operation parameters added is written in the display list DL to select "page area" and "texture" and to specify the index number i that specifies the index space to be used.
なお、任意領域を使用する場合には、テクスチャコマンドSETINDEXで、「任意領域」と、「テクスチャ」と、を選択し、任意領域のインデックス空間を特定するインデックス番号iを規定する。 When using a custom area, use the texture command SETINDEX to select "custom area" and "texture" and specify the index number i that identifies the index space of the custom area.
(2)ロードコマンドTXLOAD(CM2)
次に、素材のメモリリードを指定するロードコマンドTXLOAD(CM2)によって、必要なテクスチャ(動画を構成する単位フレーム)をCGROMからロードすることを指定する。具体的には、必要な動作パラメータを付加したロードコマンドTXLOADを、ディスプレイリストDLに記載する。すると、VDP回路52では、指定されたテクスチャを、CGROMの所定領域からロードし、これをデコードしたデコードデータを、ページ領域のインデックス空間iに展開することになる。
(2) Load command TXLOAD (CM2)
Next, a load command TXLOAD (CM2) that specifies a memory read of the material is used to specify that the required texture (unit frame that makes up the video) be loaded from CGROM. Specifically, the load command TXLOAD with the required operational parameters added is written in the display list DL. The VDP circuit 52 then loads the specified texture from a specified area in CGROM, decodes it, and expands the decoded data into index space i of the page area.
ロードコマンドTXLOADに付加される動作パラメータには、(1) テクスチャ(動画を構成する単位フレーム)を、先頭フレームとしてデコードするか、継続フレームとしてデコードするかの区別、(2) テクスチャの展開後の水平サイズ、(3) テクスチャの展開後の垂直サイズ、(4) テクスチャのソースアドレス(テクスチャが記憶されているCGROMの先頭アドレス)、が含まれている。 The operational parameters added to the load command TXLOAD include (1) whether the texture (the unit frames that make up the video) should be decoded as the first frame or as a subsequent frame, (2) the horizontal size of the texture after it has been expanded, (3) the vertical size of the texture after it has been expanded, and (4) the source address of the texture (the starting address of the CGROM where the texture is stored).
(3)基本情報セットコマンドSETTXATR(CM3)
次に、ディスプレイリストDLに、必要な動作パラメータを付加した基本情報セットコマンドSETTXATR(CM3)を記載して、テクスチャのカラーモードが、ARGB8888モード(1ピクセルが32ビット長)であるなど、このテクスチャの基本情報を設定する。
(3) Basic information set command SETTXATR (CM3)
Next, a basic information set command SETTXATR (CM3) with necessary operation parameters added is written in the display list DL to set basic information about this texture, such as the texture color mode being ARGB8888 mode (1 pixel is 32 bits long).
また、ピクセル間のブレンド処理についても必要な情報を設定する。ブレンド処理とは、各ピクセルの色を規定するRGB値や、透過度などを規定するα値について、フレームバッファなどへの描画済のピクセルとの混合演算を意味する。本実施例では、変動演出時、常に、複数の動画が並列動作しているので、透過度などに関するαブレンド演算が必要となる。 In addition, the necessary information is set for blending between pixels. Blending refers to the calculation of mixing the RGB values that define the color of each pixel, and the alpha values that define transparency, etc., with pixels that have already been drawn to a frame buffer, etc. In this example, multiple videos are always running in parallel during the variable effects, so alpha blending calculations for transparency, etc. are required.
(4)画素間ブレンド演算系のコマンド(CM4)
そのため、ディスプレイリストDLには、必要な動作パラメータを付加した画素間ブレンド演算系のコマンド(CM4)が記載され、必要な動作パラメータによって、αブレンド演算式、その他が特定される。
(4) Inter-pixel blending calculation command (CM4)
For this reason, the display list DL describes a command (CM4) for the inter-pixel blending calculation system to which necessary operation parameters are added, and the necessary operation parameters specify the α blending calculation formula and other elements.
(5)スプライトコマンドSPRITE(CM5)
続いて、インデックス空間iに展開されたテクスチャを、仮想描画空間(図12(c)参照)の適所に貼り付けるべく、必要な動作パラメータを付加したスプライトコマンドSPRITE(CM5)を、ディスプレイリストDLに記載する。このスプライトコマンドSPRITEでは、テクスチャの貼り付け先を特定する仮想描画空間の左上頂点(X0、Y0)と、右下頂点(X1、Y1)と、が指定される。
(5) Sprite Command SPRITE (CM5)
Next, in order to paste the texture developed in index space i into the appropriate position in the virtual rendering space (see FIG. 12(c)), a sprite command SPRITE (CM5) with the necessary operation parameters added is written in the display list DL. This sprite command SPRITE specifies the upper left vertex (X0, Y0) and lower right vertex (X1, Y1) of the virtual rendering space, which identify the destination of the texture to be pasted.
また、この左上頂点(X0、Y0)と右下頂点(X1、Y1)で特定される矩形領域に貼り付けるべきテクスチャについて、テクスチャUV座標空間でのUV値、つまり、(U0,V0)と(U1,V1)が指定される。なお、貼り付けるべきテクスチャは、既に、テクスチャコマンドSETINDEXで特定されているので、改めて、テクスチャそのものを特定する必要はない。 Furthermore, for the texture to be pasted into the rectangular area specified by the upper left vertex (X0, Y0) and lower right vertex (X1, Y1), the UV values in the texture UV coordinate space, i.e. (U0, V0) and (U1, V1), are specified. Note that the texture to be pasted has already been specified with the texture command SETINDEX, so there is no need to specify the texture itself again.
また、スプライトコマンドSPRITEに代えて、三角ポリゴンコマンドTRIANGLEを使用して、テクスチャを傾斜して描画することもできる。但し、三角ポリゴンコマンドTRIANGLEについては、傾斜/回転予告演出に関して、後述する。 Also, instead of the sprite command SPRITE, you can use the triangular polygon command TRIANGLE to draw a tilted texture. However, the tilt/rotation preview effects for the triangular polygon command TRIANGLE will be discussed later.
<定常動作時のIストリーム動画の再生>
Iストリーム動画の場合は、静止画の再生の場合と同様、AAC領域にデコード対象のテクスチャ(Iストリーム動画を構成する単位フレーム)をロードすれば足りる。すなわち、テクスチャコマンドSETINDEX(CM1)は、不要であり、ディスプレイリストDLの構成は、以下の通りである。なお、通常、コマンドCM3やコマンドCM4も必要となるが、説明の冗長さを回避するため記載を省略している。
<Playback of I-stream video during steady operation>
In the case of I-stream video, just as in the case of still image playback, it is sufficient to load the texture to be decoded (unit frames that make up the I-stream video) into the AAC area. In other words, the texture command SETINDEX (CM1) is not required, and the display list DL has the following configuration. Note that commands CM3 and CM4 are also normally required, but their description is omitted to avoid redundancy.
(1)ロードコマンドTXLOAD(CM2)
ディスプレイリストDLに、動作パラメータを付加したロードコマンドTXLOADを記載して、テクスチャ(Iストリーム動画を構成する単位フレーム)を、CGROMの所定領域からAAC領域にロードすると指定する。すると、VDP回路52は、ロードしたテクスチャを自動的にデコードして、デコードデータをAAC領域の自動確保空間に展開する。(2)スプライトコマンドSPRITE(CM5)
(1) Load command TXLOAD (CM2)
A load command TXLOAD with operation parameters added is written in the display list DL to specify that a texture (a unit frame that constitutes an I-stream video) is to be loaded from a specified area in the CGROM to the AAC area. The VDP circuit 52 then automatically decodes the loaded texture and expands the decoded data into the automatically allocated space in the AAC area. (2) Sprite command SPRITE (CM5)
続いて、AAC領域の自動確保空間に展開されたテクスチャを、仮想描画空間の適所に貼り付けるべく、必要な動作パラメータを付加したスプライトコマンドSPRITEを、ディスプレイリストDLに記載する。先に説明した通り、スプライトコマンドSPRITEでは、テクスチャの貼り付け先を特定する仮想描画空間の左上頂点と、右下頂点と、が指定される。 Next, in order to paste the texture developed in the automatically allocated space of the AAC area into the appropriate location in the virtual drawing space, a sprite command SPRITE with the necessary operational parameters added is written in the display list DL. As explained above, the sprite command SPRITE specifies the upper left vertex and lower right vertex of the virtual drawing space, which identify where the texture will be pasted.
なお、スプライトコマンドSPRITEに代えて、三角ポリゴンコマンドTRIANGLEを使用して、テクスチャを、傾斜姿勢で描画することもできる。 Instead of the sprite command SPRITE, you can also use the triangular polygon command TRIANGLE to draw the texture in a tilted orientation.
また、テクスチャを拡大縮小したい場合には、スプライトコマンドSPRITEに先行して、補完コマンドSETTXSMPLNG を記載すれば良い。補完コマンドSETTXSMPLNG によって、テクスチャのサンプリング方法(ポイントサンプリング/バイリニアフィルタリング)を特定すれば、テクスチャを拡大/縮小時の補完処理が特定される。 If you want to scale a texture, simply write the complement command SETTXSMPLNG before the sprite command SPRITE. The complement command SETTXSMPLNG specifies the texture sampling method (point sampling/bilinear filtering), and the interpolation process to be used when scaling the texture will be specified.
拡大処理や縮小処理は、スプライトコマンドSPRITEが指定する仮想描画空間の左上頂点と、右下頂点に基づいて自動的に実行される。すなわち、左上頂点と右下頂点で規定される矩形空間の大きさに基づいて、自動的に拡大又は縮小される。そして、ポイントサンプリングを選択した場合、拡大処理は、単純に、モザイク状に実行され、縮小処理は、画素の間引きによって実行される。一方、バイリニアフィルタリングを選択した場合には、不特定のピクセルの情報は、特定済みの周囲のピクセスの情報の加重平均値となる。 Enlargement and reduction are performed automatically based on the upper left and lower right vertices of the virtual drawing space specified by the sprite command SPRITE. In other words, enlargement or reduction is performed automatically based on the size of the rectangular space defined by the upper left and lower right vertices. If point sampling is selected, enlargement is performed simply in a mosaic pattern, and reduction is performed by thinning out pixels. On the other hand, if bilinear filtering is selected, the information for unspecified pixels becomes a weighted average of the information for specified surrounding pixels.
<保留画像の微少変動演出や拡大/縮小演出>
ところで、本実施例の遊技機では、図柄始動口への入賞球が4個を超えると、変動演出が保留状態となり、保留個数を示す保留画像(静止画スプライトやIストリーム又はIPストリーム動画)が表示装置に表示される。
<Slight fluctuation and enlargement/reduction of reserved images>
In the gaming machine of this embodiment, when more than four winning balls enter the pattern starting hole, the variable effect is put on hold, and a reserved image (a still image sprite or an I-stream or IP-stream video) indicating the number of reserved balls is displayed on the display device.
この場合、大当りか否かの抽選結果を示唆するように、保留画像を上下左右に微妙に変動させたり、回転させたり、拡大/縮小することが演出上好ましい。このような構成を採ると、一の静止画や動画を用意するだけで、多彩な演出が可能となり、CGデータ量を抑制することができる。 In this case, it is desirable from a presentation standpoint to subtly move the pending image up and down and left and right, rotate it, and enlarge/reduce it to indicate the result of the lottery, whether it is a jackpot or not. By adopting such a configuration, a variety of presentations are possible by simply preparing a single still image or video, and the amount of CG data can be reduced.
保留画像(静止画スプライトやストリーム動画)の回転は、三角ポリゴンコマンドTRIANGLEによって実行される。一方、微少変動や拡大/縮小演出は、保留画像(静止画スプライトやストリーム動画)を、スプライトコマンドSPRITEによる貼り付け位置の指定や、貼り付け領域の指定によって実現される。そして、拡大/縮小時のディスプレイリストには、スプライトコマンドSPRITEに先行して、補完コマンドSETTXSMPLNG を記載される必要がある。 Rotation of a reserved image (a still sprite or streaming video) is performed using the triangular polygon command TRIANGLE. On the other hand, slight changes and zooming in/out effects are achieved by specifying the paste position and paste area of the reserved image (a still sprite or streaming video) using the sprite command SPRITE. When zooming in/out, the complementary command SETTXSMPLNG must be written in the display list before the sprite command SPRITE.
<セリフ予告>
セリフ予告演出とは、セリフ文字の表示を開始した後、所定時間遅れてセリフ音の音声演出を開始する予告演出を意味する。音声演出をあえて遅らせることで、先行して表示される文字表示のインパクトを高めることができる。
<Dialogue preview>
The dialogue preview effect refers to a preview effect in which the dialogue sound effect starts a predetermined time after the dialogue text starts to be displayed. By deliberately delaying the sound effect, the impact of the preceding text display can be increased.
このセリフ動画演出において、一群のセリフ文字は、1文字ずつ、又は、一単位ずつ、順番に表示される。なお、一群のセリフ文字の表示開始に先行して、キャラクタ画像が表示される場合もある。また、セリフ文字の表示開始後、所定時間の無音期間を設けた上で、セリフ音の出力を開始するのも好適である。 In this dialogue video presentation, a group of dialogue characters is displayed one character at a time or one unit at a time in order. Note that a character image may be displayed prior to the start of displaying a group of dialogue characters. It is also preferable to allow a predetermined silent period after the dialogue characters start to be displayed before starting to output the dialogue sounds.
また、セリフ文字の表示後にキャラクタ画像を表示するようにしてもよく、その場合にはセリフ文字の表示を開始した後、所定時間遅れてセリフ音の音声演出を開始し、その後キャラクタ画像が表示されるという流れとなる。この場合、先行して行われるセリフ文字に対応する音声演出は、その後表示されるキャラクタ画像に対応したものとすることが好適である。また、音声演出の実行後、所定時間の無音期間を設けた上で、キャラクタ画像を表示するようにしてもよい。 Alternatively, a character image may be displayed after the dialogue text is displayed. In this case, after the dialogue text starts to be displayed, a predetermined time delay is given before the dialogue sound is produced, and then the character image is displayed. In this case, it is preferable that the audio production corresponding to the dialogue text that is performed first corresponds to the character image that is displayed afterwards. Alternatively, after the audio production is performed, a predetermined silent period may be set before the character image is displayed.
セリフ予告演出が、IPストリーム動画で実行される場合、音声演出に先行して発行されるディスプレイリストDLには、少なくとも、以下のコマンドが記載されている。 When dialogue previews are performed with IP stream video, the display list DL issued prior to the audio preview contains at least the following commands:
先ず、テクスチャコマンドSETINDEX(CM1)で、テクスチャ(例えば、IPストリーム動画の構成フレーム)のロード先を、例えば、ページ領域に設定する。 First, the texture command SETINDEX (CM1) sets the load destination for the texture (e.g., the constituent frames of an IP stream video) to, for example, a page area.
次に、TXLOADコマンド(CM2)で、テクスチャ(動画を構成する単位フレーム)をCGROMからページ領域にロードし、αブレンド演算に関する必要な情報をセットし(CM3,CM4)、最後に、ページ領域にロードしたテクスチャを、スプライトコマンドSPRITE(CM5)で、仮想描画空間の所定矩形領域に貼り付ける。ここで、貼り付け先の矩形領域を適宜に移動させることで、動画再生位置を変化させるもの好適である。 Next, the TXLOAD command (CM2) loads the texture (the unit frames that make up the video) from CGROM into the page area, and sets the necessary information for the alpha blending calculation (CM3, CM4). Finally, the texture loaded into the page area is pasted into a specified rectangular area in the virtual drawing space using the sprite command SPRITE (CM5). It is preferable to change the video playback position by appropriately moving the rectangular area where the texture is pasted.
なお、セリフ予告演出が、IPストリーム動画で実行される場合は、ロードコマンドTXLOADと、補完コマンドSETTXSMPLNG と、スプライトコマンドSPRITEが使用される。なお、拡大/縮小の処理がない場合には、補完コマンドSETTXSMPLNG が省略される。 When a dialogue preview is performed using IP stream video, the load command TXLOAD, the supplementary command SETTXSMPLNG, and the sprite command SPRITE are used. If there is no scaling processing, the supplementary command SETTXSMPLNG is omitted.
<暗転予告>
暗転予告とは、一連の変動演出中に、表示画面全体が、突然それまでの表示態様から変化して、画面全体又はほぼ全体が真っ暗になる暗転画像が出現する演出を意味する。この予告演出には、先行する動画演出を終了させた後、所定時間、暗転画像を表示するディスプレイリストDLが発行された後、先行動画の発展予告として、後続する発展動画演出が開始される第1態様と、暗転画像を表示するディスプレイリストDLを使用することなく、発展動画演出の開始時に、その動画の一部として暗転画像が出現する第2態様とが含まれる。
<Blackout Notice>
The blackout notice refers to an effect in which, during a series of variable effects, the entire display screen suddenly changes from its previous display mode, and a blackout image appears, making the entire screen or almost the entire screen pitch black. This notice effect includes a first mode in which, after the preceding video effect has ended, a display list DL that displays a blackout image for a predetermined time is issued, and then a subsequent development video effect starts as a notice of the development of the preceding video, and a second mode in which a blackout image appears as part of the video at the start of the development video effect, without using a display list DL that displays a blackout image.
また、暗転画像の表示中に当選期待度を示唆する所定演出を実行するように構成してもよい。更にまた、暗転画像は表示画面のほぼ全体が真っ暗になるものに限らず、それまでの表示画面の視認性を低下させる視認性低下画像であってもよい。具体的には透過性を有する黒色画像である。 It may also be configured to execute a predetermined effect suggesting the likelihood of winning while the blackout image is displayed. Furthermore, the blackout image is not limited to one in which almost the entire display screen goes completely black, but may also be a visibility-reducing image that reduces the visibility of the previous display screen. Specifically, it is a transparent black image.
図43(b)は、第1態様の暗転画像を実現するディスプレイリストDLの構成を図示したものである。先ず、任意領域に確保したフレームバッファFBaについて、インデックス空間上の端点アドレスを特定する(L11)。表示装置DS1の描画領域を仮想描画空間に定義する(L12)。具体的には、仮想描画空間の左上基点と、右下基点の座標を所定レジスタに設定する。 Figure 43 (b) illustrates the configuration of a display list DL that realizes the blackout image of the first mode. First, the endpoint address in the index space is identified for the frame buffer FBa allocated in an arbitrary area (L11). The drawing area of the display device DS1 is defined in the virtual drawing space (L12). Specifically, the coordinates of the upper left base point and lower right base point of the virtual drawing space are set in specified registers.
次に、今サイクルで使用するフレームバッファFBaのインデックス番号をトグル的に切換えて特定する(L13)。また、SETFCOLOR コマンドにより黒色を設定し(L14)、矩形描画コマンド(RECTANGLE )を使用して、表示装置DS1の描画領域全体を黒色で塗りつぶすべく指定する(L15)。 Next, the index number of the frame buffer FBa to be used in this cycle is toggled to identify it (L13). The SETFCOLOR command is then used to set the color black (L14), and a rectangle drawing command (RECTANGLE) is used to specify that the entire drawing area of display device DS1 should be filled with black (L15).
これは、図23に示すL11~L15までの指示コマンドと全く同じであり、通常なら、その後、図43(a)のコマンドが列記されるが、暗転画像の場合には、その後、必要な個数のNOP コマンドを記載した後、EODLコマンドを記載して、EODLコマンドを含んだ全データ量を4×64バイトの整数倍に調整する。 This is exactly the same as the instruction commands L11 to L15 shown in Figure 23, and normally the commands in Figure 43(a) are listed afterwards, but in the case of a blackout image, the required number of NOP commands are then written, followed by an EODL command, adjusting the total data size including the EODL command to an integer multiple of 4 x 64 bytes.
なお、暗転画像に重ねて一又は複数の動画演出をするのも好適であり、この場合には、図43(a)に記載した指示コマンドCM1~CM5が追加的に記載される。 It is also preferable to superimpose one or more video effects onto the blackout image, in which case the instruction commands CM1 to CM5 shown in Figure 43(a) are additionally written.
なお、第2態様の暗転予告の場合には、先行する動画演出も、これに継続する発展動画演出も、各演出を実現する動画フレームは、図43(a)に記載した指示コマンドCM1~CM5によって特定される。 In the case of the blackout announcement of the second mode, the video frames that realize each of the preceding video effects and the subsequent video effects are specified by the instruction commands CM1 to CM5 shown in Figure 43 (a).
<ズームUP/DOWN 予告>
ズーム予告とは、適当なキャラクタが、ズームアップ又はズームダウンされつつ、表示画面上を適宜に移動する演出を意味する(図44(a)参照)。このようなズーム予告は、キャラクタを描いた静止画でも実現できるが、本実施例では、顔の表情を変え、且つ、体全体に動きのあるキャラクタを使用するので、動画演出としている。
<Zoom Up/Down Preview>
The zoom preview refers to a presentation in which an appropriate character moves appropriately on the display screen while being zoomed up or down (see FIG. 44(a)). While such a zoom preview can be realized with a still image of a character, this embodiment uses a character with a changing facial expression and movement throughout its body, making it a moving image presentation.
なお、図44(a)では、ズーム予告に登場するキャラクタを、便宜上、静止画の如き「A」で表現しているが、実際には「A」の部分には、表情や手足に動きのある人物/動物キャラクタが描かれる。 In Figure 44(a), for convenience, the characters appearing in the zoom preview are represented by a still-image-like "A," but in reality, the "A" will be replaced by a human or animal character with moving facial expressions and limbs.
以上を踏まえて説明を続けると、例えば、30fps(frames per second )の3秒動画は、ズーム予告キャラクタが、ズームアップされ、その後、ズームダウンされる30×3=90枚の動画フレームFR1~FR2n-1で構成される。 Continuing with the above explanation, for example, a 3-second video at 30 fps (frames per second) is made up of 30 x 3 = 90 video frames FR1 to FR2n-1, in which the zoom preview character is zoomed in and then zoomed down.
そして、90枚の各動画フレームFRiを描画するディスプレイリストDLは、図23や図43(a)のように構成されるので、ロードされたテクスチャ(ズーム予告キャラクタを描いた動画フレーム)は、スプライトコマンドSPRITEよって、仮想描画空間の適所に貼り付けられる。そのため、貼り付け位置の指定を適宜に移動させるだけで、ズーム予告キャラクタを、表示画面で移動させることができる。なお、ズームアップ/ダウンの動作は、動画として実現されているので、拡大/縮小の制御は、ディスプレイリストにおいて不要である。 The display list DL that draws each of the 90 video frames FRi is configured as shown in Figure 23 or Figure 43(a), so the loaded texture (video frame depicting the zoom preview character) is pasted at the appropriate location in the virtual drawing space using the sprite command SPRITE. Therefore, the zoom preview character can be moved on the display screen simply by moving the paste position designation as appropriate. Note that because the zoom up/down operation is realized as a video, there is no need for enlargement/reduction control in the display list.
一方、ズーム予告キャラクタを一枚の静止画で実現する場合には、スプライトコマンドSPRITEよって、仮想描画空間の左上頂点と右下頂点で規定される矩形空間を、適宜に拡大又は縮小すれば良い。 On the other hand, if you want to create a zoom preview character using a single still image, you can use the sprite command SPRITE to appropriately enlarge or reduce the rectangular space defined by the upper left and lower right vertices of the virtual drawing space.
<傾斜/回転予告>
傾斜/回転予告とは、例えば、図44(a)に示すような直立状態の元画像FR1~FR2n-1を、適宜に傾斜ないし回転させる演出を意味する。図44(b)では、例えば、ズームアップされるN枚の動画フレームFR1~FRnを、順次、時計方向に回転させている。
<Tilt/Rotation Notice>
The tilt/rotation notice means, for example, tilting or rotating the original images FR1 to FR2n-1 in an upright state as shown in Fig. 44(a). In Fig. 44(b), for example, N zoomed-in video frames FR1 to FRn are rotated clockwise in sequence.
このような傾斜/回転予告を実現するには、矩形状の画像(静止画や動画フレームFRiを構成するテクスチャ)を三角形ポリゴンに分割し、各三角形ポリゴンを、三角ポリゴンコマンドTRIANGLE(CM5)で、仮想描画空間の適所に、直立状態又は傾斜状態で、貼り付ける必要がある。 To achieve this type of tilt/rotation preview, a rectangular image (the texture that makes up the still image or video frame FRi) must be divided into triangular polygons, and each triangular polygon must be attached in an upright or tilted position in the appropriate location in the virtual rendering space using the triangle polygon command TRIANGLE (CM5).
なお、以下の説明では、矩形画像(静止画や動画フレームFRi)について、便宜上、拡大/縮小を実行しない場合を説明するが、座標位置を適宜に設定することで、拡大や縮小も可能である。この場合には、CGデータ量を増加させることなく、更に多様な演出が可能となる。 In the following explanation, for convenience, we will assume that rectangular images (still images or video frames FRi) are not enlarged or reduced, but by setting the coordinate position appropriately, they can also be enlarged or reduced. In this case, even more diverse effects can be achieved without increasing the amount of CG data.
さて、図45(c)には、4頂点を有する水平W×垂直Hピクセルで構成された矩形画像(静止画や動画フレームFRi)が、第1ポリゴンと第2ポリゴンに分割された状態が示されている。そして、この実施例では、単一の三角ポリゴンコマンドTRIANGLEの実行によって、4頂点をまとめて直立状態又は傾斜状態で描画する。 Now, Figure 45(c) shows a rectangular image (still image or video frame FRi) consisting of horizontal W x vertical H pixels with four vertices, divided into a first polygon and a second polygon. In this example, the execution of a single triangular polygon command, TRIANGLE, renders the four vertices together in an upright or tilted state.
但し、そのような動作を実現するため、三角ポリゴンコマンドTRIANGLEに付加すべき動作パラメータには、一の三角ポリゴンコマンドで描画すべき多角形の頂点数(情報1)、形状だけかテクスチャを含むかの設定(情報2)、三角ポリゴンのポリゴン描画方法(情報3)、仮想描画空間上での各頂点のXY座標(情報4)、情報4に対応するテクスチャのUV座標空間でのUV値(情報5)、が含まれている。 However, to achieve this, the operational parameters that should be added to the triangular polygon command TRIANGLE include the number of vertices of the polygon to be drawn with one triangular polygon command (information 1), a setting for whether to draw only the shape or include texture (information 2), the polygon drawing method for the triangular polygon (information 3), the XY coordinates of each vertex in the virtual drawing space (information 4), and the UV values in the UV coordinate space of the texture corresponding to information 4 (information 5).
本実施例では、一の三角ポリゴンコマンドで、矩形状の4頂点を描画し、これにテクスチャ(動画フレーム)を貼り付けるので、頂点数=4と特定する情報1と、テクスチャを含むことを特定する情報2と、4頂点についてのXY座標値である情報4と、UV値である情報5とが規定されることになる。 In this example, one triangular polygon command draws four vertices of a rectangle and attaches a texture (video frame) to them, so information 1 specifying the number of vertices = 4, information 2 specifying that a texture is included, information 4 which is the XY coordinate values for the four vertices, and information 5 which is the UV values are specified.
なお、描画方法には、(1)全ての三角ポリゴンに共通の頂点を設定する三角形ファン描画と、(2)最終描画辺と、これに続いて指定された頂点で囲まれた三角形を描画する三角形ストリップ描画と、(3)三角ポリゴンを独立的に描画する三角リスト描画とが選択可能である。 The drawing methods available are (1) triangle fan drawing, which sets a common vertex for all triangular polygons; (2) triangle strip drawing, which draws the final drawing edge and the triangle enclosed by the specified vertices that follow; and (3) triangle list drawing, which draws triangular polygons independently.
図45(c)に示す通り、三角形ストリップ描画手法では、頂点0→頂点1→頂点3の順番で描画され、これに続いて、頂点3→頂点1→頂点2の順番で描画される。一方、三角形ファン描画手法では、共通頂点の頂点1が選択され、頂点1→頂点3→頂点0の順番で描画され、これに続いて、頂点1→頂点2→頂点3の順番で描画される。 As shown in Figure 45(c), in the triangle strip drawing method, vertices are drawn in the order vertex 0 → vertex 1 → vertex 3, followed by vertex 3 → vertex 1 → vertex 2. On the other hand, in the triangle fan drawing method, vertex 1 of the common vertex is selected and drawn in the order vertex 1 → vertex 3 → vertex 0, followed by vertex 1 → vertex 2 → vertex 3.
但し、ここで問題にする矩形画像は、立体的な3D画像でなく、二次元の2D画像であるので、不要部分を消去するカリング(culling )処理が問題にならず、何れを選択しても大差はないが、本実施例では、三角形ストリップ描画を選択している。なお、本明細書では、矩形画像との用語を使用するが、透明部分を含んで矩形であって、必ずしも、画像輪郭が矩形状となるとは限らないのは言うまでもない。 However, since the rectangular image in question here is a two-dimensional 2D image, not a stereoscopic 3D image, there is no issue with culling, which removes unnecessary parts, so it makes no difference which method is selected, but in this example, triangle strip rendering is selected. Note that although the term rectangular image is used in this specification, it is a rectangle that includes transparent parts, and it goes without saying that the image outline is not necessarily rectangular.
以上を踏まえて、三角ポリゴンコマンドTRIANGLEの動作パラメータを算出する演出制御CPU63の動作を図45(a)に基づいて説明する。先ず、水平W×垂直Hピクセルで構成された矩形画像の中心を、仮想描画空間の原点に配置した場合の4頂点を特定する(ST61)。 Based on the above, the operation of the performance control CPU 63, which calculates the operation parameters of the triangular polygon command TRIANGLE, will be explained with reference to Figure 45 (a). First, the four vertices are identified when the center of a rectangular image consisting of W horizontal x H vertical pixels is placed at the origin of the virtual drawing space (ST61).
図12(c)に示す通り、仮想描画空間において、X座標は原点から右方向が正であり、Y座標は、原点から下方向が正であるので、4頂点の座標(x,y)は、頂点0(-W/2,-H/2)と、頂点1(W/2,-H/2)と、頂点2(W/2,H/2)と、頂点3(-W/2,H/2)となる。 As shown in Figure 12(c), in the virtual drawing space, the X coordinate is positive in the right direction from the origin, and the Y coordinate is positive in the downward direction from the origin, so the coordinates (x, y) of the four vertices are vertex 0 (-W/2, -H/2), vertex 1 (W/2, -H/2), vertex 2 (W/2, H/2), and vertex 3 (-W/2, H/2).
次に、図45(b)の回転行列を使用する行列演算によって、原点位置にある矩形画像を時計方向に回転角度θだけ回転した後の4頂点を算出する(ST62)。なお、回転行列における時計方向は、仮想描画空間では、半時計方向になるので、回転角度は、実際には-θである。この回転角度は、動画進行に拘わらず、常に直立状態のテクスチャからの回転角度となる。すなわち、例え、テクスチャを回転角度θ1で定速回転させる場合でも、回転角度は、一定値θ1ではなく、例えば、θ1→2*θ1→3*θ1→4*θ1→5*θ1・・・のように順次増加させる必要がある。 Next, the four vertices after rotating the rectangular image at the origin position clockwise by the rotation angle θ are calculated using a matrix operation using the rotation matrix in Figure 45(b) (ST62). Note that the clockwise direction in the rotation matrix corresponds to the counterclockwise direction in the virtual rendering space, so the rotation angle is actually -θ. This rotation angle is always the rotation angle from the upright texture, regardless of the progression of the animation. In other words, even when rotating the texture at a constant speed by a rotation angle θ1, the rotation angle must not be a constant value θ1, but must be increased sequentially, for example, θ1 → 2*θ1 → 3*θ1 → 4*θ1 → 5*θ1, etc.
次に、ステップST62の処理で算出した4頂点(X,Y)を、任意の移動先に移動させる(ST63)。具体的には、矩形画像の中心点の移動先の座標値が(X0,Y0)であれば、4頂点について、各々、X=X+X0、Y=Y+Y0の演算を実行して、回転後の4頂点の座標を確定する。 Next, the four vertices (X, Y) calculated in step ST62 are moved to the desired destination (ST63). Specifically, if the destination coordinate value of the center point of the rectangular image is (X0, Y0), the calculations X = X + X0 and Y = Y + Y0 are performed for each of the four vertices to determine the coordinates of the four vertices after rotation.
そして、最後に、三角ポリゴンコマンドTRIANGLEの動作パラメータ(4)を付加し、これに対応して、直立状態の矩形画像(テクスチャ)について、4頂点のUV座標系の座標値である動作パラメータ(5)を付加する。情報(1)~(4)についても同様である。 Finally, the operation parameter (4) of the triangular polygon command TRIANGLE is added, and correspondingly, the operation parameter (5) is added, which is the coordinate values of the four vertices in the UV coordinate system for the upright rectangular image (texture). The same applies to information (1) to (4).
なお、仮想描画空間上での各頂点のXY座標である動作パラメータ(4)は、動画進行に応じて適宜に変化し、矩形画像(テクスチャ)の表示内容も変化するが、本実施例では、直立状態のテクスチャの縦横寸法が、変わらないので、動作パラメータ(4)は、常に同じである。 Note that the movement parameters (4), which are the X and Y coordinates of each vertex in the virtual rendering space, change appropriately as the video progresses, and the displayed content of the rectangular image (texture) also changes. However, in this embodiment, the vertical and horizontal dimensions of the texture in the upright state do not change, so the movement parameters (4) always remain the same.
本実施例では、以上の演算が、傾斜/回転予告演出のディスプレイの発行毎に毎回実行される。この点は、演出制御CPU63にとって、やや煩雑であり、テクスチャの回転角度と配置位置だけをVDP回路52に指定することも考えられる。 In this embodiment, the above calculations are performed each time a tilt/rotation preview effect is displayed. This is somewhat cumbersome for the effect control CPU 63, so it is also possible to specify only the texture rotation angle and placement position to the VDP circuit 52.
しかし、そのような構成を採ると、VDP回路52において、回転行列演算をする必要が生じ、計算負荷が増加する。そこで、他にも複雑な算術演算が必要であるVDP回路52の計算負担を軽減化するべく、本実施例では、演出制御CPU63が、座標位置を計算している。 However, adopting such a configuration requires the VDP circuit 52 to perform rotation matrix calculations, increasing the calculation load. Therefore, in this embodiment, to reduce the calculation burden on the VDP circuit 52, which also requires other complex arithmetic operations, the performance control CPU 63 calculates the coordinate position.
但し、演出制御CPU63が行列計算を実行するには、三角関数の演算ルーチン(三角関数用のライブラリ)をメモリ53に配置しておく必要があるだけでなく、それなりの処理時間を要するので、計算処理を高速化する工夫を設けるのが好ましい。 However, for the performance control CPU 63 to perform matrix calculations, not only does it require that trigonometric function calculation routines (libraries for trigonometric functions) be stored in memory 53, but it also requires a certain amount of processing time, so it is preferable to devise a way to speed up the calculation process.
図45(d)は、計算負荷を軽減した実施例であり、矩形画像の中心点から各頂点までの距離(半径r)と、原点位置に配置した場合のテクスチャ4頂点の基準角度α(図45(e)参照)と、に基づいて必要な計算を実行する実施例を示している。 Figure 45(d) shows an example in which the calculation load is reduced, and the necessary calculations are performed based on the distance (radius r) from the center point of the rectangular image to each vertex, and the reference angle α of the four vertices of the texture when placed at the origin (see Figure 45(e)).
先ず、水平W×垂直Hピクセルで構成された矩形画像の中心を、仮想描画空間の原点に配置した場合のテクスチャ4頂点の半径rと、基準角度αを特定する(ST71)。 First, determine the radius r of the four vertices of the texture and the reference angle α when the center of a rectangular image consisting of W horizontal x H vertical pixels is placed at the origin of the virtual rendering space (ST71).
次に、4頂点について、回転角度θだけ半時計方向に回転させた場合の座標値を図45(f)の変換式に基づいて算出する(ST72)。なお、図45(f)の変換式の算出過程は、図46に示されている。 Next, the coordinate values of the four vertices when rotated counterclockwise by the rotation angle θ are calculated based on the transformation formula in Figure 45(f) (ST72). The calculation process for the transformation formula in Figure 45(f) is shown in Figure 46.
次に、ステップST72の処理で算出した4頂点(X,Y)の移動先の座標値が(X0,Y0)であれば、4頂点について、各々、X=X+X0、Y=Y+Y0の演算を実行して、回転後の4頂点の座標を確定する(ST73)。 Next, if the destination coordinate values of the four vertices (X, Y) calculated in step ST72 are (X0, Y0), the calculations X = X + X0 and Y = Y + Y0 are performed for each of the four vertices to determine the coordinates of the four vertices after rotation (ST73).
そして、最後に、動作パラメータ(1)~(5)を付加して、三角ポリゴンコマンドTRIANGLEを完成し、ディスプレイリストDLに追加記載する(ST74)。 Finally, the operation parameters (1) to (5) are added to complete the triangular polygon command TRIANGLE, which is then added to the display list DL (ST74).
ところで、図45~図46では、直立状態で縦長の矩形画像(テクスチャ)を例示しているが、テクスチャを正方形に形成すれば、ルート記号SQRを使用して、H=W=r*SQR(2)となり、図45(f)の変換式が簡素化される。また、Cos(θ)=Sin(90+θ)の関係があるので、図45(f)の変換式を半径rと回転角θと、Sin関数値だけで表現することができる。 While Figures 45 and 46 show an example of a vertically long rectangular image (texture) in an upright position, if the texture is formed into a square, the root symbol SQR can be used, resulting in H = W = r * SQR(2), simplifying the conversion formula in Figure 45(f). Furthermore, because of the relationship Cos(θ) = Sin(90 + θ), the conversion formula in Figure 45(f) can be expressed using only the radius r, rotation angle θ, and sine function value.
そこで、回転角度-180度~0度~180度について、各々のSin関数値を記憶するSINテーブルAngle Table (図46(c)参照)を用意しておくのが好適であり、この場合には、三角関数の演算ルーチンをメモリ53に配置しておく必要がなくなり、且つ、三角関数計算の処理速度を高速化することができる。 It is therefore preferable to prepare a SIN table (see Figure 46(c)) that stores each Sin function value for rotation angles of -180 degrees to 0 degrees to 180 degrees. In this case, there is no need to store trigonometric function calculation routines in memory 53, and the processing speed of trigonometric function calculations can be increased.
なお、本発明は、具体的な記載内容に限定されないが、好適には、前記データ生成処理(SS4a)、及び前記データ出力処理(SS4b)に先行して、前記表示回路の動作を規定する表示クロックの周波数(Fdot)が規定されるべきである。また、前記データ出力処理(SS4b)に先行して、前記LVDS回路についての設定処理が実行されるのも好適である。また、前記LVDS信号は、単一のLVDS伝送路、又は、一対のLVDS伝送路を経由して、前記表示回路に伝送されるのが好適である。 Although the present invention is not limited to the specific details, it is preferable that the frequency (F dot ) of the display clock that determines the operation of the display circuit be defined prior to the data generation process (SS4a) and the data output process (SS4b). It is also preferable that a setting process for the LVDS circuit be executed prior to the data output process (SS4b). It is also preferable that the LVDS signal be transmitted to the display circuit via a single LVDS transmission line or a pair of LVDS transmission lines.
何れの構成でも、前記表示装置は、前記LVDS信号に基づいて、前記表示画面を構成する一群の表示素子を駆動する表示駆動回路(MONI)と、前記表示画面を照明する照明回路(BL)と、を有して構成され、前記データ生成処理(SS4a)と前記データ出力処理(SS4b)は、前記照明回路(BL)が照明動作を開始する以前に実行されるのが好適である。ここで、前記画像制御手段は、前記照明回路(BL)の動作を複数の制御信号で制御するのが好適である。 In either configuration, the display device is configured to include a display drive circuit (MONI) that drives a group of display elements that make up the display screen based on the LVDS signal, and a lighting circuit (BL) that illuminates the display screen, and it is preferable that the data generation process (SS4a) and the data output process (SS4b) are executed before the lighting circuit (BL) begins its lighting operation. Here, it is preferable that the image control means controls the operation of the lighting circuit (BL) using multiple control signals.
また、前記画像制御手段は、前記照明動作の開始に先行して、前記表示駆動回路(MONI)が一ラインの表示素子の描画に要する水平周期(TH)を、前記表示回路の動作を規定する表示クロックの水平サイクル数(THc)に基づいて規定するのが好適である。前記水平周期(TH)は、画像データが伝送されるタイミングと、画像データが伝送されないタイミングとに区分されるのが好適であり、前記照明動作の開始に先行して、前記画像制御手段は、前記表示駆動回路(MONI)の動作に関する所定のライン数(TVl)を規定しており、前記ライン数(TVl)は、前記水平周期(TH)と、前記表示駆動回路(MONI)が一フレーム分の画像を更新するに要する更新周期(FR)と、前記表示回路の動作を規定する表示クロックの周波数(Fdot)とに基づいて、FR=THc×TVl/Fdotと規定されるのが好適である。 Preferably, the image control means, prior to the start of the illumination operation, defines a horizontal period (TH) required for the display drive circuit (MONI) to draw one line of display elements based on the number of horizontal cycles (THc) of a display clock that defines the operation of the display circuit. The horizontal period (TH) is preferably divided into a timing when image data is transmitted and a timing when image data is not transmitted, and prior to the start of the illumination operation, the image control means defines a predetermined number of lines (TVl) for the operation of the display drive circuit (MONI), and the number of lines (TVl) is preferably defined as FR = THc × TVl / F dot based on the horizontal period (TH), an update period (FR) required for the display drive circuit (MONI) to update one frame of image, and a frequency (F dot ) of a display clock that defines the operation of the display circuit.
次に、図49は、モータ演出を実現する更に別の実施例を説明する図面であり、ここでは、SMC回路78や、入出力回路64sを使用することなくモータ演出を実行している。そして、このモータ演出は、4個のステッピングモータMO1~MO4を駆動する4個のモータドライバDV1~DV4と、原点センサなどのセンサ信号SENをCPU回路51にシリアル伝送するセンサ基板86などによって実現される。 Next, Figure 49 illustrates yet another embodiment for achieving motor effects. In this example, motor effects are achieved without using the SMC circuit 78 or the input/output circuit 64s. This motor effect is achieved by four motor drivers DV1-DV4 that drive four stepping motors MO1-MO4, and a sensor board 86 that serially transmits sensor signals SEN from the origin sensor and other devices to the CPU circuit 51.
モータドライバDV1~DV4の動作内容は、演出制御プログラムを実行するCPU回路51の演出制御CPU63によって統括制御されるが、モータドライバDV3~DV4については、演出制御CPU63の指示に基づいて動作するモータコントローラ(Motor Controller)85によって駆動制御される。なお、本明細書において駆動制御とは、回転位置を進める回転駆動と、停止位置を維持する停止駆動を含む概念である。 The operation of motor drivers DV1 to DV4 is controlled by the performance control CPU 63 of the CPU circuit 51, which executes the performance control program, but motor drivers DV3 to DV4 are driven and controlled by a motor controller 85, which operates based on instructions from the performance control CPU 63. Note that in this specification, drive control is a concept that includes rotation drive, which advances the rotational position, and stop drive, which maintains the stop position.
先に説明した通り、複合チップ50のVDP回路52には、SMC回路78(Serial Motor Controller )が内蔵されており、このSMC回路78を活用してモータドライバDV1~DV4を駆動するのも好適であるが、本実施例では、より高性能なモータコントローラ85を使用することで、演出制御CPU63の制御負担を大幅に軽減するだけでなく、高速で高度なモータ演出を実現している。 As explained above, the VDP circuit 52 of the composite chip 50 has a built-in SMC circuit 78 (Serial Motor Controller), and it would be ideal to use this SMC circuit 78 to drive the motor drivers DV1 to DV4. However, in this embodiment, a higher performance motor controller 85 is used, which not only significantly reduces the control burden on the performance control CPU 63, but also achieves high-speed, advanced motor performance.
すなわち、本実施例では、ステッピングモータMO3~MO4を、適宜に回転駆動して、役物を急発進又は急停止させる予告演出や、自然落下を超えるスピードで役物を移動させる予告演出を実行するが、これらの斬新なモータ演出を実行しても、脱調などのトラブルが生じない駆動制御を実現している。ここで、脱調とは、モータドライバDVが出力する歩進パルス(ステッピングモータが受ける入力パルス信号)に対応して、モータが正常に回転しない現象を意味し、過負荷や速度変化の急変時に生じることがある。 In other words, in this embodiment, the stepping motors MO3 to MO4 are driven to rotate appropriately to perform preview effects such as sudden starts or stops of props, or preview effects that move props at speeds faster than natural falling. Even when performing these innovative motor effects, drive control is achieved that prevents problems such as step-out. Here, step-out refers to a phenomenon in which the motor does not rotate normally in response to the step pulses (input pulse signals received by the stepping motor) output by the motor driver DV, and can occur during overload or sudden speed changes.
以下、上記の効果を実現する図49の回路構成について、詳細に説明する。先ず、ステッピングモータMO1~MO4は、全てバイポーラ型のステッピングモータを採用しており、A相及びB相のモータ巻線に双方向の駆動電流を流している(バイポーラ駆動)。引用文献5や引用文献6では、専ら、駆動回路を簡素化することを目的として、ユニポーラ型のモータを使用しているが、本実施例では、同じ消費電力でもユニポーラ型より高い出力トルクが得られるバイポーラ型のモータを採用している。 The circuit configuration of Figure 49, which achieves the above effects, will be described in detail below. First, stepping motors MO1 to MO4 are all bipolar stepping motors, with bidirectional drive currents flowing through the A-phase and B-phase motor windings (bipolar drive). While cited references 5 and 6 use unipolar motors primarily for the purpose of simplifying the drive circuit, this embodiment employs a bipolar motor, which can obtain higher output torque than a unipolar motor for the same power consumption.
上記の構成に対応して、各モータを駆動するモータドライバDV1~DV4は、全て、バイポーラ駆動が可能な駆動回路を内蔵している。また、100%駆動モードにおいて、最大電流MAXと最小電流MAX-δとの間で、定電流制御を実行可能な内部回路を有している。そして、モータドライバDV1~DV2は、CPU回路51に内蔵されたSIOポート61(シリアルポート)と、PIOポート62(パラレルポート)によって制御され、モータドライバDV3~DV4は、モータコントローラ85によって制御されている。なお、モータコントローラ85は、CPU回路51に内蔵されたSIOポート61と、PIOポート62と、コンペアマッチタイマCMTとによって制御されている。 In accordance with the above configuration, motor drivers DV1 to DV4 that drive each motor all incorporate drive circuits capable of bipolar drive. They also have internal circuits that can execute constant current control between the maximum current MAX and the minimum current MAX-δ in 100% drive mode. Motor drivers DV1 to DV2 are controlled by an SIO port 61 (serial port) and a PIO port 62 (parallel port) built into the CPU circuit 51, while motor drivers DV3 to DV4 are controlled by a motor controller 85. The motor controller 85 is controlled by the SIO port 61, PIO port 62, and a compare match timer CMT built into the CPU circuit 51.
図50(a)は、CPU回路51に内蔵されたSIOポート61の内部構成を図示したものである。ここで、SIOポート61は、SPI(Serial Peripheral Interface )方式、つまり、シフトクロックSCKに同期した三線式のシリアル送受信動作が実行可能に構成されている。そして、このSIOポート(シリアルポート)61は、合計6個の同一回路(CH0~CH5)で構成されており、CH0のシリアルポートSIO_0 と、モータドライバDV1~DV2及びセンサ基板86とは、第1のSPI通信路で接続されている。一方、CH1のシリアルポートSIO_1 と、モータコントローラ85とは、第2のSPI通信路で接続されている。 Figure 50(a) illustrates the internal configuration of the SIO port 61 built into the CPU circuit 51. The SIO port 61 is configured to be capable of SPI (Serial Peripheral Interface)-based, i.e., three-wire serial transmission and reception synchronized with the shift clock SCK. The SIO port (serial port) 61 is made up of a total of six identical circuits (CH0 to CH5), with the serial port SIO_0 of CH0 connected to the motor drivers DV1 and DV2 and the sensor board 86 via a first SPI communication path. Meanwhile, the serial port SIO_1 of CH1 connected to the motor controller 85 via a second SPI communication path.
先ず、SIOポート61の内部構成について説明すると、図50(a)に示す通り、SIOポート61は、CH0~CH5とも、シリアルデータTXDを送信する8ビット長の送信シフトレジスタSCTSR と、シリアルデータRXDを受信する8ビット長の受信シフトレジスタSCRSR と、送信データを最高16バイト蓄積可能な16段のFIFOデータレジスタSCFTDRと、受信データを最高16バイト蓄積可能な16段のFIFOデータレジスタSCFRDRと、任意の周波数のシフトクロックSCKを生成可能なボーレートジェネレータBGN と、演出制御CPU63が設定した各種の制御パラメータに基づいて、SIOポート61の内部回路を動作させる送受信コントローラCTL と、演出制御CPU63が送受信コントローラCTL をアクセスするとき、各種データを中継するインタフェイス回路BUSIF と、を有して構成されている。 First, regarding the internal configuration of the SIO port 61, as shown in Figure 50(a), for each of CH0 to CH5, the SIO port 61 is comprised of an 8-bit transmit shift register SCTSR that transmits serial data TXD, an 8-bit receive shift register SCRSR that receives serial data RXD, a 16-stage FIFO data register SCFTDR that can store up to 16 bytes of transmit data, a 16-stage FIFO data register SCFRDR that can store up to 16 bytes of receive data, a baud rate generator BGN that can generate a shift clock SCK of any frequency, a transmit/receive controller CTL that operates the internal circuitry of the SIO port 61 based on various control parameters set by the performance control CPU 63, and an interface circuit BUSIF that relays various data when the performance control CPU 63 accesses the transmit/receive controller CTL.
本実施例では、演出制御CPU63が、FIFOデータレジスタSCFTDRに格納したN*8ビットの送信データは、8ビット長のシリアル送信処理が終わるごとに、自動的に、送信シフトレジスタSCTSR に転送され、FIFOデータレジスタSCFTDRが空になるまでシリアル送信処理が継続されるよう初期的に動作設定されている。また、受信シフトレジスタSCRSR にシリアル受信される受信データは、8ビットに達する毎に、FIFOデータレジスタSCFRDRに蓄積されるよう初期的に動作設定されている。 In this embodiment, the performance control CPU 63 is initially configured to automatically transfer the N*8-bit transmission data stored in the FIFO data register SCFTDR to the transmission shift register SCTSR each time an 8-bit serial transmission process is completed, and to continue the serial transmission process until the FIFO data register SCFTDR is empty. Also, the received data serially received by the reception shift register SCRSR is initially configured to be accumulated in the FIFO data register SCFRDR each time it reaches 8 bits.
なお、送受信コントローラCTLは、オーバランエラーBRI、フレーミングエラーやパリティエラーを示す受信エラーERI、受信FIFOデータフルRXI、送信FIFOデータエンプティTXlなどを示す各種の割込み信号が、演出制御CPU63に対して出力可能に構成されている。 The transmission/reception controller CTL is configured to be able to output various interrupt signals to the performance control CPU 63, such as an overrun error BRI, a reception error ERI indicating a framing error or parity error, a reception FIFO data full RXI, and a transmission FIFO data empty TX1.
以下、CH0のシリアルポート61を、SIO_0 と表記し、CH1のシリアルポートをSIO_1 と表記して説明を続ける。図50(b)は、シリアルポートSIO_0 と、モータドライバDV1~DV2及びセンサ基板86と、の接続関係を図示したものである。 In the following explanation, the serial port 61 for CH0 will be referred to as SIO_0, and the serial port for CH1 will be referred to as SIO_1. Figure 50(b) illustrates the connection relationship between the serial port SIO_0 and the motor drivers DV1-DV2 and the sensor board 86.
シリアルポートSIO_0 は、演出制御CPU63が送受信コントローラCTL に設定した動作パラメータに基づいて動作する。具体的には、送信シフトレジスタSCTSR は、演出制御CPU63がFIFOデータレジスタSCFTDRに格納した最高2×8ビット長の駆動データSDATAを、8ビット毎にシフトクロックSCKに同期してシリアル送信する。この実施例では、シリアルポートSIO_0 のボーレートは、例えば、250kbpsに設定されており、16ビット長の駆動データSDATAの送信時間は、16/(250*103)=0.064mSとなる。 The serial port SIO_0 operates based on the operating parameters set in the transmission/reception controller CTL by the performance control CPU 63. Specifically, the transmission shift register SCTSR serially transmits the drive data SDATA, which is up to 2 x 8 bits long and stored in the FIFO data register SCFTDR by the performance control CPU 63, in 8-bit increments synchronized with the shift clock SCK. In this embodiment, the baud rate of the serial port SIO_0 is set to, for example, 250 kbps, and the transmission time for 16-bit drive data SDATA is 16/(250 * 10 3 ) = 0.064 ms.
モータMO1,MO2は、本実施例では、二相励磁されているが、各8ビットの駆動データSDATAは、各モータMO1,MO2の一ステップ分の歩進動作を指示する4ビットの励磁データ(PHASE指示)と、モータ巻線A/Bに流す駆動電流を規定する4ビットの設定値(電流指示値)と、で構成されている。 In this embodiment, motors MO1 and MO2 are two-phase excited, and each 8-bit drive data SDATA consists of 4-bit excitation data (PHASE instruction) that instructs each motor MO1 or MO2 to advance by one step, and a 4-bit setting value (current instruction value) that specifies the drive current to be passed through motor windings A and B.
そして、各モータドライバDV1,DV2は、シリアルポートSIO_0 から受けた駆動データSDATA(8ビット)に含まれる励磁データ(4ビット)に対応する駆動信号を、PIOポート62から受ける歩進クロックLATCHに同期して、各モータMO1,MO2に出力して、駆動データSDATAで指示された電流指示値(4ビット)に対応する駆動電流で駆動する。電流指示値(4ビット長)によって、0%を含む16通りの電流指示が可能であり、電流指示値に基づく駆動電流に比例して出力トルクが増加する。この意味では、電流指示値は、トルク設定を意味する。 Then, each motor driver DV1, DV2 outputs a drive signal corresponding to the excitation data (4 bits) contained in the drive data SDATA (8 bits) received from the serial port SIO_0 to each motor MO1, MO2 in synchronization with the stepping clock LATCH received from the PIO port 62, driving the motors with a drive current corresponding to the current command value (4 bits) specified in the drive data SDATA. The current command value (4 bits long) allows for 16 different current commands, including 0%, and the output torque increases in proportion to the drive current based on the current command value. In this sense, the current command value represents the torque setting.
本実施例では、駆動データSDATAと、歩進クロックLATCHとは、1mS毎に出力されるので、モータMO1,MO2は、最速で1mS毎にステップ回転することになる。そして、駆動データSDATAは、1mS毎に更新可能であるので、モータMO1,MO2は、最速で1秒間に1000ステップ歩進動作することになる。 In this embodiment, the drive data SDATA and the stepping clock LATCH are output every 1 ms, so motors MO1 and MO2 rotate one step at a maximum of every 1 ms. Furthermore, because drive data SDATA can be updated every 1 ms, motors MO1 and MO2 can operate at a maximum of 1000 steps per second.
一方、各モータMO1,MO2をゆっくり回転させたい場合には、未更新の同一駆動データSDATAを複数回連続して出力するか、或いは、駆動データSDATAやシフトクロックSCKを出力しない待機期間を設ける。なお、同一の駆動データを複数N回連続して出力する場合には、2回目からN-1回目までの停止駆動時の電流指示値を、1回目の電流指示値より減少させるのが好適である。それは、駆動電流に比例して出力トルクが増加する一方で、駆動電流に対応して、消費電力も大きく増加するので、停止駆動時の無駄な消費電力を抑制するためである。 On the other hand, if you want to rotate each motor MO1, MO2 slowly, you can output the same unupdated drive data SDATA multiple times in succession, or provide a waiting period during which drive data SDATA or shift clock SCK are not output. When outputting the same drive data multiple N times in succession, it is preferable to reduce the current command value during stop drive from the second to (N-1)th times compared to the current command value during the first time. This is because, while output torque increases in proportion to the drive current, power consumption also increases significantly in response to the drive current, and so unnecessary power consumption during stop drive is suppressed.
ところで、本実施例では、1mS毎に16個のシフトクロックSCKが出力されるが、16個のシフトクロックSCKは、図49や図50(b)に示す通り、モータドライバDV1と、モータドライバDV2と、センサ基板86に共通的に供給される。 In this embodiment, 16 shift clocks SCK are output every 1 mS, and as shown in Figures 49 and 50(b), the 16 shift clocks SCK are supplied in common to motor driver DV1, motor driver DV2, and sensor board 86.
図51(a)に示すように、センサ基板86には、図51(b)に内部構成を示すシフトレジスタ90が搭載されており、ラッチ信号LOADを受けた後、シフトレジスタ90は、シフトクロックSCKに同期して合計8ビットのセンサ信号SENをシリアル送信する。したがって、本実施例では、シリアルポートSIO_0 が1mS毎に出力する合計16個のシフトクロックSCKのうち、先頭8個のシフトクロックSCKに基づいて、8ビット長のセンサ信号SENが、シリアルポートSIO_0 に取得されることになる。センサ信号SENには、各モータMO1,MO2の回転軸上の基準点が、所定の原点位置を通過したことを示す原点センサ信号や、役物が所定位置に達したいことを示すセンサ信号CHKが含まれている。 As shown in Figure 51(a), the sensor board 86 is equipped with a shift register 90 whose internal configuration is shown in Figure 51(b). After receiving the latch signal LOAD, the shift register 90 serially transmits a total of 8 bits of sensor signal SEN in synchronization with the shift clock SCK. Therefore, in this embodiment, the serial port SIO_0 acquires the 8-bit sensor signal SEN based on the first 8 shift clocks SCK out of a total of 16 shift clocks SCK output by the serial port SIO_0 every 1 ms. The sensor signal SEN includes an origin sensor signal indicating that the reference point on the rotation axis of each motor MO1, MO2 has passed a predetermined origin position, and a sensor signal CHK indicating that the reel has reached a predetermined position.
次に、図50(c)は、シリアルポートSIO_1 と、モータコントローラ85と、の接続関係を図示したものである。この実施例では、モータコントローラ85が、ドライバDV3とドライバDV4に、各々、歩進クロック(パルス信号)を出力しており、モータMO3,MO4は、受けた歩進クロックに同期してステップ回転している。また、各モータMO3,MO4の回転位置や、役物が目的位置に達したことを示すセンサ信号CHKが、モータドライバ85に取得されるよう構成されている。 Next, Figure 50 (c) illustrates the connection relationship between serial port SIO_1 and motor controller 85. In this embodiment, motor controller 85 outputs a step clock (pulse signal) to driver DV3 and driver DV4, respectively, and motors MO3 and MO4 rotate stepwise in synchronization with the received step clock. Furthermore, the motor driver 85 is configured to acquire a sensor signal CHK indicating the rotational position of each motor MO3 and MO4 and when the reel has reached its target position.
モータコントローラ85は、シリアルポートSIO_1 から受けるシフトクロックSCKに同期して、各種の制御データMOSIをシリアルポートSIO_1 から受ける一方で、センサ信号MISOをシリアルポートSIO_1 にシリアル送信している。また、このモータコントローラ85は、コンペアマッチタイマCMTが生成する動作中信号SSを受けている。この動作中信号SSは、モータコントローラ85とシリアルポートSIO_1 とがシリアル送受信動作を実行中であることを示している。 The motor controller 85 receives various control data MOSI from the serial port SIO_1 in synchronization with the shift clock SCK received from the serial port SIO_1, while serially transmitting the sensor signal MISO to the serial port SIO_1. The motor controller 85 also receives an operating signal SS generated by the compare match timer CMT. This operating signal SS indicates that the motor controller 85 and serial port SIO_1 are currently performing serial transmission and reception operations.
図49の左上部に記載の通り、コンペアマッチタイマCMTは、演出制御CPU63の制御に基づいて、基準クロックのカウント動作を開始し、その計数値が、所定の上限値MXに達すると、コンペアマッチ割込み信号を出力するよう構成され、割込み信号を受けた演出制御CPU63は、コンペアマッチタイマCMTのカウント動作を終了させている。 As shown in the upper left of Figure 49, the compare match timer CMT starts counting the reference clock under the control of the performance control CPU 63, and is configured to output a compare match interrupt signal when the count value reaches a predetermined upper limit value MX. Upon receiving the interrupt signal, the performance control CPU 63 ends the counting operation of the compare match timer CMT.
上記の動作は、演出制御CPU63の制御に基づき、1mS毎に繰り返し実行され、カウント動作中であることを示す動作中信号SSは、論理反転されてモータコントローラ85に伝送されている。ここで、動作中信号SSのパルス幅は、CH1のシリアルポートSIO_1 が、シリアル送受信処理に要する時間に対応して、1mS以内の最適値に決定されている。この意味において、動作中信号SSは、シリアルポートSIO_1 の動作中信号でもあり、そのパルス幅は、基準クロックのパルス周期と、コンペアマッチ動作の上限値MXの積で決まる。 The above operation is repeatedly executed every 1 ms under the control of the performance control CPU 63, and the operating signal SS, which indicates that the counting operation is in progress, is logically inverted and transmitted to the motor controller 85. Here, the pulse width of the operating signal SS is determined to an optimal value within 1 ms, corresponding to the time required for serial transmission and reception processing by CH1's serial port SIO_1. In this sense, the operating signal SS is also the operating signal of serial port SIO_1, and its pulse width is determined by the product of the pulse period of the reference clock and the upper limit value MX of the compare match operation.
特に限定されないが、シリアルポートSIO_1 についても、シフトクロックSCKのボーレートが、250kbpsに設定されている。そして、間欠的にシリアル送信される制御データMOSIは、本実施例では、FIFOデータレジスタSCFTDRの蓄積容量に対応して、最高、16*8ビットに制限しており、駆動データMOSIの送信時間は、最大でも、16*8/(250*103)=0.512msとなるよう制限されている。なお、原点センサ信号の取得に、32個のシフトクロックSCKを要するので、シリアル受信の動作時間は、32/(250*103)=0.128mSとなる。なお、本実施例では、動作周期1mSを考慮して、一回のシリアル送信を16*8ビット長に制限としているが、ボーレートを高めることで、それ以上に設定することもできる。 Although not particularly limited, the baud rate of the shift clock SCK for the serial port SIO_1 is also set to 250 kbps. In this embodiment, the control data MOSI, which is serially transmitted intermittently, is limited to a maximum of 16*8 bits in accordance with the storage capacity of the FIFO data register SCFTDR, and the transmission time of the drive data MOSI is limited to a maximum of 16*8/(250* 103 ) = 0.512 ms. Since 32 shift clocks SCK are required to acquire the origin sensor signal, the operating time for serial reception is 32/(250* 103 ) = 0.128 ms. In this embodiment, taking into account the operating cycle of 1 ms, a single serial transmission is limited to a length of 16*8 bits; however, it is possible to set a longer length by increasing the baud rate.
制御データMOSIには、ステッピングモータMO3,MO4の一連の動作を規定する一連の指示データINS1と、駆動巻線に流す駆動電流の最大値MAXを規定する電流指示データINS2とが、含まれている。そして、電流指示データINS2に基づいて生成された2値信号SETx、SETyが設定回路LMTに供給され、設定回路LMTが出力する所定レベルのアナログ信号に基づいて、モータドライバDV3,DV4が、100%駆動モードにおいて、最小値MAX-δと、最大値MAXの範囲内で定電流制御動作を実行するようになっている。なお、100%未満の駆動モード(待機動作モード)を採ることもできるが、この点については後述する。 The control data MOSI includes a series of instruction data INS1 that defines the series of operations of the stepping motors MO3 and MO4, and current instruction data INS2 that defines the maximum value MAX of the drive current to be passed through the drive windings. Binary signals SETx and SETy generated based on the current instruction data INS2 are supplied to the setting circuit LMT, which outputs an analog signal of a predetermined level. Based on this, motor drivers DV3 and DV4 perform constant current control operation within the range of minimum value MAX-δ and maximum value MAX in 100% drive mode. Note that a drive mode below 100% (standby operation mode) can also be adopted, but this will be discussed later.
一般に、ステッピングモータを高速回転させると、駆動電流の切り替え時の立ち上がりが遅れることで、出力トルクが低下するが、本実施例では、敢えて、モータの最大定格電圧(24V)より10V以上も高いモータ駆動電圧(35V)を与える一方で、このモータ駆動電流をチョッピングする定電流制御を実行することで、安定した高速回転を実現している。 Generally, when a stepping motor is rotated at high speed, the rise time when the drive current is switched is delayed, resulting in a decrease in output torque. However, in this embodiment, a motor drive voltage (35V) that is more than 10V higher than the motor's maximum rated voltage (24V) is applied, while constant current control is implemented to chop this motor drive current, thereby achieving stable high-speed rotation.
図52(a)は、モータドライバDV1,DV2の内部構成を示すブロック図である。図示の通り、モータドライバDV1,DV2は、シリアルポートSIO_0 からシフトクロックSCKを受けるSCK 端子と、PIOポート62から歩進クロックLATCHを受けるRCK 端子と、シリアルポートSIO_0 から制御データSDATAを受けるSI端子と、PIOポート62からリセット信号RESETを受けるSCLR端子及びSTANDBY 端子と、100%定電流制御における最大電流MAXを規定するアナログ信号を受けるVREF_A端子及びVREF_B端子と、定電流制御用の内部クロックの周波数を規定する信号を受けるOSCM端子と、モータ駆動電圧35Vを受けるVM端子と、VM端子から受けた直流電圧35Vを降圧させて生成した定電圧5Vを出力するVCC 端子と、定電流制御用の電流検出抵抗RS_A/RS_B(例えば0.33Ω)が接続されるRS_A端子及びRS_B端子と、ステッピングモータのA相巻線に駆動電流を出力するOUT_A ±端子と、ステッピングモータのB相巻線に駆動電流を出力するOUT_B ±端子と、Lレベルの電圧を受けることで、内部回路が動作可能となるG-端子と、を有して構成されている。 Figure 52(a) is a block diagram showing the internal configuration of motor drivers DV1 and DV2. As shown in the figure, motor drivers DV1 and DV2 have an SCK terminal that receives a shift clock SCK from the serial port SIO_0, an RCK terminal that receives a stepping clock LATCH from the PIO port 62, an SI terminal that receives control data SDATA from the serial port SIO_0, an SCLR terminal and a STANDBY terminal that receive a reset signal RESET from the PIO port 62, VREF_A terminal and VREF_B terminal that receive an analog signal that defines the maximum current MAX in 100% constant current control, an OSCM terminal that receives a signal that defines the frequency of the internal clock for constant current control, a VM terminal that receives a motor drive voltage of 35V, a VCC terminal that outputs a constant voltage of 5V generated by stepping down the DC voltage of 35V received from the VM terminal, RS_A terminal and RS_B terminal to which current detection resistors RS_A/RS_B (for example, 0.33 Ω) for constant current control are connected, and an OUT_A terminal that outputs a drive current to the A-phase winding of the stepping motor. It consists of a ± terminal, an OUT_B ± terminal that outputs drive current to the B-phase winding of the stepping motor, and a G- terminal that receives an L-level voltage to enable the internal circuitry to operate.
直流電圧35Vを受けるVM端子には、図示の通り、33μFの導電性高分子コンデンサが接続されている。先に説明した通り、本明細書において、導電性高分子コンデンサとは、アルミ電解コンデンサの電解液の代わりに、導電性高分子と電解液とを融合させた電解質を配置したハイブリッドコンデンサを意味する。そして、この導電性高分子コンデンサは、定格電圧(Rated Voltage )50Vであって、直径6.3mm、高さ7.7mmの円筒形状の表面実装品である。 As shown in the figure, a 33 μF conductive polymer capacitor is connected to the VM terminal, which receives a DC voltage of 35 V. As explained earlier, in this specification, a conductive polymer capacitor refers to a hybrid capacitor in which an electrolyte made by combining a conductive polymer and an electrolyte is used instead of the electrolyte used in an aluminum electrolytic capacitor. This conductive polymer capacitor has a rated voltage of 50 V and is a cylindrical surface-mount product with a diameter of 6.3 mm and a height of 7.7 mm.
そして、5V給電時における静電容量は、公称値の(33μF)の-10%未満に維持される。また、等価直列抵抗ESRは、公称値で40mΩである。 When powered at 5V, the capacitance is maintained at less than -10% of the nominal value (33μF). The nominal equivalent series resistance (ESR) is 40mΩ.
一般的な回路構成とは異なり、図52のドライバDV1,DV2では、電解コンデンサにセラミックコンデンサを並列接続することなく、モータドライバ(DV1,DV2)毎に、単一のコンデンサを配置することで、所望の平滑機能とデカップリング動作を実現しており、他の回路素子の配置スペースを消費しない。すなわち、導電性高分子コンデンサから、少なくとも半径20mmの範囲内に、追加して平滑コンデンサやデカップリングコンデンサが配置されることはない。 Unlike typical circuit configurations, the drivers DV1 and DV2 in Figure 52 do not connect ceramic capacitors in parallel with electrolytic capacitors, but instead place a single capacitor for each motor driver (DV1, DV2), thereby achieving the desired smoothing and decoupling functions and not consuming space for other circuit elements. In other words, no additional smoothing capacitors or decoupling capacitors are placed within a radius of at least 20 mm from the conductive polymer capacitor.
また、表面実装された円筒形の頂面には、静電容量を示す数値「33」と、定格電圧50Vを示す記号「H」が記載され、また、マイナス極性の方向が、黒塗り記号で特定されているので、目視確認で、容易に基板上の部品チェックができる。 The top surface of the surface-mounted cylinder is marked with the number "33" indicating the capacitance and the symbol "H" indicating the rated voltage of 50V, and the direction of the negative polarity is identified with a black symbol, making it easy to visually check the components on the board.
図示の通り、モータドライバDV1,DV2は、RS_A端子やRS_B端子の電圧に基づいて出力トルクを制御するトルク制御部(torque control、VREF comp 、Bridge A NF level set )と、8ビット長のシフトレジスタ(shift register)と、定電圧生成部(VCC_REG )と、中央制御部(Main control Logic)と、内部クロックなどの発振部(oscillator、Internal oscillator )と、ブリッジ駆動回路(Motor output stage Bridge A/B )と、過熱検出回路(TSD )と、過電流検出回路(ISD )と、35V電源のパワーオンリセット回路(POR )と、を内蔵して構成されている。 As shown in the diagram, motor drivers DV1 and DV2 are comprised of a torque control unit (torque control, VREF comp, Bridge A NF level set) that controls the output torque based on the voltage at the RS_A and RS_B terminals, an 8-bit shift register, a constant voltage generator (VCC_REG), a central control unit (Main control Logic), an oscillator (Internal oscillator) for the internal clock, a bridge driver circuit (Motor output stage Bridge A/B), an overheat detection circuit (TSD), an overcurrent detection circuit (ISD), and a 35V power-on reset circuit (POR).
上記の回路構成を有するモータドライバを駆動するため、SI端子に供給される制御データSDATA(8ビット)は、一ステップ分の歩進動作を指示する励磁データ(4ビットPHASE指示)と、モータ巻線A/Bに流す駆動電流を規定する電流指示値(4ビット)と、で構成されている。 To drive a motor driver with the circuit configuration described above, the control data SDATA (8 bits) supplied to the SI terminal consists of excitation data (4-bit PHASE instruction) that indicates one step of forward movement, and a current instruction value (4 bits) that specifies the drive current to be passed through motor windings A and B.
また、SCLR端子とSTANDBY 端子には、電源投入時にLレベルのリセット信号RESETを受けた後は、Hレベルに維持されるので、内部回路は定常的に動作可能状態となる。図示の通り、G-端子は、定常的にLレベルであるので、前記のリセット動作が電源投入後に可能となる。 Furthermore, after receiving the low-level reset signal RESET at power-on, the SCLR and STANDBY terminals remain high, allowing the internal circuitry to operate steadily. As shown in the diagram, the G- terminal is constantly low, allowing the above-mentioned reset operation to occur after power-on.
また、VREF_A端子及びVREF_B端子には、VCC 端子から出力される定電圧5Vを分圧した指示電圧が供給されており、本実施例では、100%駆動モードにおいて、定電流制御における最大電流MAXが、例えば、545mAに規定されている。 In addition, the VREF_A and VREF_B terminals are supplied with an instruction voltage obtained by dividing the constant voltage of 5V output from the VCC terminal. In this embodiment, in 100% drive mode, the maximum current MAX under constant current control is set to, for example, 545mA.
先に説明したように、制御データSDATAに含まれる電流指示値は、4ビット長であって、最大電流値は、0%を含んだ16段階に設定できる。そのため、この設定値に基づいて、実際の最大電流は、MAX値の100%以外にも、MAX値の94%、MAX値の86%、・・・MAX値の5%の電流値に設定可能となる。そのため、以下に説明する定電流制御の説明において、任意%駆動モードにおける最大電流を、特に、電流上限値NFと称することにする。例えば、N%駆動モードにおける電流上限値NFは、最大電流MAXに対して、MAX*N/100の関係となる。 As explained earlier, the current instruction value contained in the control data SDATA is 4 bits long, and the maximum current value can be set to 16 levels, including 0%. Therefore, based on this setting value, the actual maximum current can be set to a current value other than 100% of the MAX value, such as 94%, 86%, ... or 5% of the MAX value. For this reason, in the explanation of constant current control below, the maximum current in the arbitrary % drive mode will be referred to specifically as the current upper limit value NF. For example, the current upper limit value NF in the N% drive mode has a relationship with the maximum current MAX of MAX * N/100.
先に説明した通り、本実施例では、1mSの動作周期において、同一の駆動データを複数N回連続して出力する低速回転時には、1回目とN回目の電流指示値を100%とし、2回目からN-1回目までの電流指示値を、例えば、25%に抑制して消費電力を抑制している。この場合、電流上限値NKが最大電流MAXに対して、NF=0.25*MAXとなるので消費電力が大幅(6.2%程度)に抑制される。 As explained above, in this embodiment, during low-speed rotation when the same drive data is output N times in succession during a 1 ms operating cycle, the current command value for the first and Nth times is set to 100%, and the current command value for the second through N-1th times is suppressed to, for example, 25%, thereby suppressing power consumption. In this case, the current upper limit value NK is NF = 0.25 * MAX relative to the maximum current MAX, so power consumption is significantly suppressed (by approximately 6.2%).
図52に示す通り、OSCM端子には、定電圧5Vを供給する抵抗2.7KΩと、グランドラインに連結されたコンデンサ330pFと、が接続されることで、定電流制御を管理する内部クロックの周波数が、1578kHz程度に設定されている。内部クロックの周波数は、駆動電流の検出周期を規定しており、モータ駆動電流を定電流制御するためには、後述する制御手法1では、1300kHz~1800kHzに設定するのが好適である。 As shown in Figure 52, a 2.7 kΩ resistor that supplies a constant voltage of 5 V and a 330 pF capacitor connected to the ground line are connected to the OSCM terminal, setting the frequency of the internal clock that manages constant current control to approximately 1578 kHz. The internal clock frequency determines the detection period for the drive current, and for constant current control of the motor drive current, it is preferable to set it to 1300 kHz to 1800 kHz in Control Method 1, which will be described later.
先に説明した通り、モータ駆動電流は、100%駆動モードにおける定電流制御として、最大値MAXと最小値MAX-δとの間で増減制御される。ここで、定電流制御周期(チョッピング周期Tchop)は、適宜に設定可能であるが、この種のモータ演出において、モータ駆動電流を定電流制御するためには、後述する制御手法1において、チョッピング周期Tchop=8~12μSとするのが好適であり、本実施例では、定電流制御のチョッピング周期Tchopを10μSにしている。 As explained above, the motor drive current is controlled to increase or decrease between the maximum value MAX and the minimum value MAX-δ as a constant current control in 100% drive mode. Here, the constant current control period (chopping period T chop ) can be set appropriately, but in this type of motor performance, in order to control the motor drive current to a constant current, in control method 1 described later, it is preferable to set the chopping period T chop = 8 to 12 μS, and in this embodiment, the chopping period T chop for constant current control is set to 10 μS.
図52(b)~(c)に示す通り、本実施例では、100%駆動モードでは、チョッピング周期の開始時から、モータ駆動電流が増加を始め、MAX値=545mAに至った後は、次のチョッピング周期の開始まで減少を続けることになる。なお、100%駆動モード未満の駆動モードにすれば、MAX値が適宜に低下することで、消費電力が抑制されることは先に説明した通りである。 As shown in Figures 52(b) and 52(c), in this embodiment, in 100% drive mode, the motor drive current begins to increase from the start of the chopping cycle, and after reaching a MAX value of 545 mA, it continues to decrease until the start of the next chopping cycle. As explained above, if a drive mode is selected that is less than 100% drive mode, the MAX value will be appropriately reduced, thereby reducing power consumption.
次に、図52(d)と図52(e)は、駆動巻線A/Bを駆動するBridgeA駆動回路と、BridgeB駆動回路を示す回路図であり、ブリッジ駆動回路(Motor output stage Bridge A/B )の内部構成と、電流検出抵抗RS_A/RS_Bと、モータ駆動電圧35Vと、を示している。図示の通り、何れの駆動回路も、高圧側のP型MOSトランジスタU1,U2と、低圧側のN型MOSトランジスタL1,L2とで、バイポーラ駆動を実現するHブリッジを構成している。 Next, Figures 52(d) and 52(e) are circuit diagrams showing the Bridge A and Bridge B drive circuits that drive drive windings A and B, and show the internal configuration of the bridge drive circuits (Motor output stage Bridge A/B), current detection resistors RS_A/RS_B, and a motor drive voltage of 35V. As shown, both drive circuits configure an H-bridge that achieves bipolar drive using P-type MOS transistors U1 and U2 on the high-voltage side and N-type MOS transistors L1 and L2 on the low-voltage side.
実施例の場合、バイポーラ型ステッピングモータのA相巻線とB相巻線は、何れも、一相当たりの巻線インダクタンス値が、例えば4.2mH、その内部抵抗21Ωである。そのため、モータ駆動電圧を35Vとした場合、各巻線に流れる定常電流(飽和状態の直流電流)は、35/21=1.7Aとなり、このモータの定格電流(1A)を大幅に超える。しかし、本実施例では、最大電流を545mAに抑制する定電流制御を実行することで、トルク低下を回避して、ステッピングモータの高速回転を実現している。 In this example, the A-phase winding and B-phase winding of the bipolar stepping motor each have a winding inductance value of, for example, 4.2 mH and an internal resistance of 21 Ω. Therefore, when the motor drive voltage is 35 V, the steady-state current (DC current in saturated state) flowing through each winding is 35/21 = 1.7 A, which significantly exceeds the rated current (1 A) of this motor. However, in this example, constant current control is implemented to limit the maximum current to 545 mA, thereby avoiding torque degradation and achieving high-speed rotation of the stepping motor.
図53(a)は、ブリッジ駆動回路(Motor output stage Bridge A/B )の動作を説明する図面であり、一のチョッピング周期Tchopにおける、コイル充電動作CHARGEと、コイルSLOW放電動作と、コイルFAST放電動作と、を示す図面である。図示の通り、SLOW放電は、低電圧側のトランジスタL1,L2を経由してコイル電流を放電させる動作であり、一方、FAST放電は、CHRGE動作時にOFF状態であったトラジスタをON遷移させる一方、ON状態であったトランジスタをOFF遷移させる動作である。 53(a) is a diagram explaining the operation of the bridge drive circuit (Motor output stage Bridge A/B), showing the coil charging operation CHARGE, the coil slow discharging operation, and the coil fast discharging operation in one chopping period T chop . As shown in the figure, the slow discharging operation is an operation in which the coil current is discharged via the low-voltage side transistors L1 and L2, while the fast discharging operation is an operation in which a transistor that was in the OFF state during the charge operation is turned on and a transistor that was in the ON state is turned off.
電流リップルが小さく、且つ、平均電流が大きい点では、FAST放電よりSLOW放電の方が優れているが、SLOW放電を採ると、ある速度以上の高速動作では、これに追随した正常動作が担保されない。そこで、本実施例では、ステッピングモータを高速回転させる目的から、平均電流が高いSLOW放電と、高速動作に適したFAST放電と、を組み合わせることで、コイル放電電流を最適化している。 Slow discharge is superior to fast discharge in that it has a smaller current ripple and a larger average current, but when slow discharge is used, normal operation cannot be guaranteed at high speeds above a certain level. Therefore, in this embodiment, in order to rotate the stepping motor at high speeds, the coil discharge current is optimized by combining slow discharge, which has a high average current, with fast discharge, which is suitable for high-speed operation.
なお、本実施例では、ステッピングモータをバイポーラ駆動するので、トランジスタの動作状態は、図53(a)の右向きの駆動電流を実現する図53(b)のON/OFF状態と、左向きの駆動電流を実現する図53(c)のON/OFF状態とに、適宜に切り替わることになる。 In this embodiment, the stepping motor is driven bipolarly, so the operating state of the transistor switches appropriately between the ON/OFF state of Figure 53 (b) which realizes the rightward driving current of Figure 53 (a) and the ON/OFF state of Figure 53 (c) which realizes the leftward driving current.
以上を踏まえて、図53(a)に示す充電動作と放電動作について更に説明すると、CHARGE動作時には、Hブリッジの対角位置の高圧側と低圧側のトランジスタU1,L2がON動作し、逆対角位置のトラジスタU2,L1がOFF状態となる。仮に、コイル巻線のインダクタンスLが4.2mH、内部抵抗Rが21Ωであるとすると、コイルの時定数の逆数R/Lは、5000となる(時定数は、0.2mS)。 Based on the above, to further explain the charging and discharging operations shown in Figure 53(a), during CHARGE operation, transistors U1 and L2 on the high-voltage and low-voltage diagonal sides of the H-bridge are turned ON, while transistors U2 and L1 on the opposite diagonal are turned OFF. If the inductance L of the coil winding is 4.2 mH and the internal resistance R is 21 Ω, then the reciprocal of the coil's time constant, R/L, is 5000 (the time constant is 0.2 mS).
そのため、CHARGE動作開始時のコイル初期電流をI0とし、モータ駆動電圧35VをEとすると、CHARGE動作開始からの経過時間tにおけるコイル電流Iは、I=E/R+(I0-E/R)*EXP(-5000*t)となり、仮にI0=0.5[A]なら、I≒1.67-1.17*EXP(-5000*t)[A]となる。なお、電流検出抵抗RS_A/RS_Bは、例えば0.33Ωであって、内部抵抗R=21Ωより格段に低いので無視できる。 Therefore, if the initial coil current at the start of the CHARGE operation is I0 and the motor drive voltage is 35V, then the coil current I at elapsed time t from the start of the CHARGE operation is I=E/R+(I0 - E/R)*EXP(-5000*t), and if I0 =0.5[A], then I≈1.67-1.17*EXP(-5000*t)[A]. Note that the current detection resistance RS_A/RS_B is, for example, 0.33Ω, which is significantly lower than the internal resistance R=21Ω and can be ignored.
一方、SLOW放電開始時のコイル初期電流をI0とすると、SLOW放電動作開始からの経過時間tにおけるコイル電流Iは、I=I0*EXP(-5000*t)となり、仮にI0=0.5[A]なら、I≒0.5*EXP(-5000*t)[A]となる。また、FAST放電開始時のコイル初期電流をI0とすると、FAST放電動作開始からの経過時間tにおけるコイル電流Iは、I=-E/R+(I0+E/R)*EXP(-5000*t)となり、仮にI0=0.5[A]なら、I≒-1.67+2.17*EXP(-5000*t)[A]となる。 On the other hand, if the initial coil current at the start of slow discharge is I0 , the coil current I at elapsed time t from the start of slow discharge operation is I = I0 * EXP(-5000 * t), and if I0 = 0.5 [A], then I ≈ 0.5 * EXP(-5000 * t) [A]. Also, if the initial coil current at the start of fast discharge is I0 , the coil current I at elapsed time t from the start of fast discharge operation is I = -E/R + ( I0 + E/R) * EXP(-5000 * t), and if I0 = 0.5 [A], then I ≈ -1.67 + 2.17 * EXP(-5000 * t) [A].
図53(c)は、SLOW放電とFAST放電について、各々の放電曲線を示しており、初期電流I0=0.5[A]から急激に電流が減少するFAST放電と、破線に示すように、ゆっくり電流が減少するSLOW放電と、が示されている。因みに、この実施例では、ステッピングモータをバイポーラ駆動するので、FAST放電動作によって、コイル駆動電流の方向が切り替わるが、FAST放電では、その放電動作開始後、0.12mS程度で、0.5Aから-0.5Aにコイル駆動電流が移行することになる。 53(c) shows the discharge curves for slow discharge and fast discharge, showing fast discharge in which the current decreases rapidly from an initial current I 0 = 0.5 A, and slow discharge in which the current decreases slowly, as shown by the dashed line. Incidentally, in this embodiment, the stepping motor is driven bipolarly, so the direction of the coil drive current is switched by the fast discharge operation, and in fast discharge, the coil drive current shifts from 0.5 A to -0.5 A in about 0.12 ms after the start of the discharge operation.
なお、本実施例では、100%駆動モードにおける最大電流MAXを545mAに設定しているが、図53(c)では、大型矢印で示す最大電流の振幅幅を、作図の便宜上、±500mAとしている。また、500mAとこれに極めて近い最低電流との間で実行される定電流制御については、その振幅幅を小型矢印で図示している。 In this embodiment, the maximum current MAX in 100% drive mode is set to 545 mA, but in Figure 53 (c), the amplitude range of the maximum current indicated by the large arrow is set to ±500 mA for ease of illustration. Furthermore, for the constant current control performed between 500 mA and the minimum current very close to this, the amplitude range is shown by the small arrow.
図54(a)は、図53(a)で説明したCHARGE動作、SLOW動作、及びFAST動作を組み合わせた定電流制御動作を説明するタイムチャートであり、駆動電流Ioutの増減状態を示している。 Figure 54(a) is a time chart illustrating constant current control operation that combines the CHARGE operation, SLOW operation, and FAST operation described in Figure 53(a), and shows the increase and decrease in drive current Iout.
図54(a)は、図52のモータドライバDV1,DV2で採用した制御方法1を図示したものであり、一のチョッピング周期Tchopにおいて、CHARGE→SLOW→FASTの順番で制御を推移させている。図示の動作において、チョッピング周期Tchopは、図52(b)の場合と同様、周波数1.6MHz程度の内部クロックの16個分であって10μSとしている。先に説明した通り、制御方法1を採る場合には、チョッピング周期Tchopを8~12μS程度とするのが好適である。 Figure 54(a) illustrates control method 1 employed by motor drivers DV1 and DV2 in Figure 52, with control progressing in the order of CHARGE → SLOW → FAST in one chopping cycle T chop . In the illustrated operation, the chopping cycle T chop , like in Figure 52(b), is 10 μS, equivalent to 16 internal clocks with a frequency of about 1.6 MHz. As explained above, when control method 1 is employed, it is preferable to set the chopping cycle T chop to about 8 to 12 μS.
図示の制御手法1では、CHARGE動作において、駆動電流Ioutが電流上限値NFに達した後、SLOW動作に移行し、この実施例では、残りクロック数が6個に達したタイミングで、FAST動作に移行させている。この制御方法1は、FAST動作の動作時間を固定的に確保できるメリットがある。なお、図57に示すモータドライバDV3,DV4においても、この制御方法1を採用しても良いのは勿論である。 In the illustrated control method 1, during CHARGE operation, after the drive current Iout reaches the upper current limit NF, the system transitions to SLOW operation, and in this example, when the number of remaining clocks reaches six, the system transitions to FAST operation. This control method 1 has the advantage of ensuring a fixed operating time for FAST operation. It goes without saying that this control method 1 can also be used for the motor drivers DV3 and DV4 shown in Figure 57.
次に、図54(b)は、一のチョッピング周期Tchopにおいて、CHARGE→FAST→SLOWの順番で制御を推移させる制御方法2を示している。図示の動作において、チョッピング周期Tchopは、周波数1.18MHz程度の内部クロックの16個分であって13.56μSとしている。特に限定されないが、制御手法2を採用する場合、この種のモータ制御では、定電流制御周期(チョッピング周期)を、6~25μS程度とするのが好適である。 Next, Figure 54(b) shows control method 2, in which control is transitioned in the order of CHARGE → FAST → SLOW in one chopping cycle T chop . In the illustrated operation, the chopping cycle T chop is 13.56 μS, which corresponds to 16 internal clocks with a frequency of approximately 1.18 MHz. Although not particularly limited, when control method 2 is adopted, it is preferable for this type of motor control to have a constant current control cycle (chopping cycle) of approximately 6 to 25 μS.
そして、CHARGE動作において、駆動電流Ioutが電流上限値NFに達した後、先ず、FAST動作に移行し、所定の閾値THまで降下すると、その後は、SLOW動作に移行させている。この制御方法2は、SLOW動作の開始電流を、閾値THによって固定化することができ、必要な平均電流を確保できるメリットがある。但し、電流上限値や、閾値の検出遅れを避けるため、内部クロックは、640kHz~2400kHzとすべきである。 In CHARGE operation, after the drive current Iout reaches the upper current limit NF, the system first switches to FAST operation, and then switches to SLOW operation once it drops to a predetermined threshold TH. This control method 2 has the advantage of being able to fix the starting current for SLOW operation using threshold TH, ensuring the required average current. However, to avoid delays in detecting the upper current limit and threshold, the internal clock should be set to 640 kHz to 2400 kHz.
なお、この制御方法2では、必ずしも、閾値THを固定的に設定する必要はなく、所定の平均電流が維持されるよう、電流減衰状況などに対応して、適宜に閾値THを変更させるのが好適である。この制御方法2は、図57に示すモータドライバDV3,DV4で採用されているが、図52に示すモータドライバDV1,DV2でも、制御方法1に代えて、制御方法2を採用しても良いのは勿論である。 In this control method 2, it is not necessary to set the threshold value TH to a fixed value; it is preferable to change the threshold value TH appropriately in response to the current attenuation situation, etc., so that a predetermined average current is maintained. This control method 2 is used in the motor drivers DV3 and DV4 shown in Figure 57, but it goes without saying that control method 2 may also be used in place of control method 1 in the motor drivers DV1 and DV2 shown in Figure 52.
図55は、モータドライバDV1,DV2にシリアル送信される制御データSDATAの構成を説明するため、モータドライバの一部を詳細に図示したものである。具体的には、図55には、図52のトルク制御部(torque control、VREF comp 、Bridge A NF level set )と、8ビット長のシフトレジスタ(shift register)と、中央制御部(Main control Logic)と、を注出して図示している。 Figure 55 shows a detailed view of a portion of the motor driver to explain the structure of the control data SDATA that is serially transmitted to motor drivers DV1 and DV2. Specifically, Figure 55 shows the torque control section (torque control, VREF comp, Bridge A NF level set), 8-bit shift register, and main control logic from Figure 52.
先に説明した通り、制御データSDATAには、一ステップ分の歩進動作を指示する励磁データ(PHASE指示値4ビット)と、モータ巻線A/Bに流す駆動電流を規定する電流指示値(4ビット)と、が含まれる。そして、これら8ビットデータは、パラレル変換されて記憶レジスタ(storage register)に保存された後、歩進クロックLATCHに同期して、入力回路(Logic input Gate)にラッチされると共に、中央制御部(Motor Control Logic )に供給される。 As explained above, the control data SDATA includes excitation data (4-bit PHASE instruction value) that indicates one step of advancement, and a 4-bit current instruction value that specifies the drive current to be passed through motor windings A and B. This 8-bit data is then converted to parallel and stored in a storage register, after which it is latched in the input circuit (Logic input gate) in synchronization with the advancement clock LATCH and supplied to the central control unit (Motor Control Logic).
そして、中央制御部(Motor Control Logic )は、励磁データ(4ビット)に基づいてPHASE信号を生成すると共に、電流指示値(4ビット)に基づいて、定電流制御における電流上限値NFを規定する。ここで、電流上限値NFは、100%駆動モードでは、最大電流MAXに一致するが、100%未満の駆動モードでは、駆動モードに対応した電流上限値となる。 The central control unit (Motor Control Logic) generates a PHASE signal based on the excitation data (4 bits) and determines the current upper limit NF for constant current control based on the current command value (4 bits). Here, the current upper limit NF corresponds to the maximum current MAX in 100% drive mode, but in drive modes below 100%, it becomes the current upper limit corresponding to the drive mode.
出力トルクは、コイル巻線に流れる駆動電流に対応するので、駆動電流が高いほど、出力トルクが高まる点で好適であるが、停止状態を維持するためには、それほどの出力トルクを要しない。そこで、本実施例では、先に説明した通り、必要に応じて、電流上限値NFを切り替えて無駄な消費電力を抑制している。 Since output torque corresponds to the drive current flowing through the coil windings, a higher drive current is advantageous in that it increases output torque, but maintaining a stopped state does not require that much output torque. Therefore, in this embodiment, as explained above, the current upper limit value NF is switched as needed to reduce unnecessary power consumption.
また、制御データSDATAに含まれる4ビット長の励磁データによって、2相励磁、1-2相励など適宜な励磁モードを採ることができるが、本実施例では、ステッピングモータMO1~MO2を2相励磁している。明らかなように、同一の励磁データが、繰り返しシリアル送信された場合には、ステッピングモータはステップ移動(歩進)せず、その停止状態を維持するべく停止駆動される。そのため、先に説明した通り、この停止駆動時には、電流指示値(4ビット)を低下させて消費電力を抑制している。 The 4-bit excitation data included in the control data SDATA can be used to select an appropriate excitation mode, such as two-phase excitation or one-two-phase excitation. In this embodiment, however, the stepping motors MO1-MO2 are two-phase excited. As is clear, when the same excitation data is repeatedly transmitted serially, the stepping motor does not move in steps (advance) but is instead driven to a stop to maintain its stopped state. Therefore, as explained above, during this stop-drive operation, the current command value (4 bits) is reduced to reduce power consumption.
なお、停止駆動は、励磁データ(PHASE指示値4ビット)のシリアル送信が途絶えた後も、上限値NFに基づく定電流制御として実行される。また、励磁データの送信が途絶えた後、歩進クロックLATCHだけが定期的に供給される場合も、記憶レジスタ(storage register)に保存されている励磁データと電流指示値に基づいた定電流制御によって停止駆動が繰り返される。 The stop drive continues to be performed as constant current control based on the upper limit value NF even after serial transmission of the excitation data (4-bit PHASE instruction value) has ceased. Also, even if only the stepping clock LATCH is supplied periodically after transmission of the excitation data has ceased, the stop drive is repeated using constant current control based on the excitation data and current instruction value stored in the storage register.
図56は、シリアルポートSIO_0 からモータドライバDV1/DV2が受ける駆動データDATA、シフトクロックSCK、及び、歩進クロックLATCHと、モータドライバDV1~DV2がステッピングモータMO1/MO2に出力するA相とB相の駆動電流Ioutとの関係を図示したものである。駆動電流は、図53で説明した制御方法1によって定電流制御されており、チョッピング周期Tchop=10μSでの定電流制御の動作状態がノコギリ歯状に示されている。 Fig. 56 shows the relationship between the drive data DATA, shift clock SCK, and stepping clock LATCH received by motor drivers DV1/DV2 from serial port SIO_0, and the A-phase and B-phase drive currents Iout output by motor drivers DV1-DV2 to stepping motors MO1/MO2. The drive currents are constant-current controlled by control method 1 described in Fig. 53, and the operating state of constant-current control with a chopping period T chop =10µS is shown in a sawtooth pattern.
PHASE信号は、励磁データ(4ビット)の推移に対応して、A相とB相について、図示例では、HH:電流ベクトルA→LH:電流ベクトルB→LL:電流ベクトルC→HL:電流ベクトルDと推移しており、時計回転CWを実現している。また、電流指示値(4ビット)は、全て1111であり、ステッピングモータMO1/MO2は、このタイミングでは100%駆動モードで動作している。 In the illustrated example, the PHASE signal changes from HH: current vector A → LH: current vector B → LL: current vector C → HL: current vector D for phases A and B in response to the transition of the excitation data (4 bits), achieving clockwise rotation CW. Furthermore, the current command values (4 bits) are all 1111, and stepping motors MO1/MO2 are operating in 100% drive mode at this timing.
先に説明した通り、シリアルポートSIO_0 は、ボーレート250kbpsの速度でシフトクロックSCKを出力しているので、励磁データ(4ビット)及び電流指示値(4ビット)のシリアル送信は、32μSで完了する。一方、PIOポート62は、1mS毎に、歩進クロックLATCHを出力するので、図56に電流ベクトルA、電流ベクトルB、電流ベクトルC、電流ベクトルDの間には、各々、実際には、968μS程度(=1000-32)の大きな隙間が存在することになる。 As explained earlier, serial port SIO_0 outputs the shift clock SCK at a baud rate of 250 kbps, so serial transmission of the excitation data (4 bits) and current instruction value (4 bits) is completed in 32 μS. On the other hand, PIO port 62 outputs the stepping clock LATCH every 1 ms, so in Figure 56, there is actually a large gap of approximately 968 μS (= 1000 - 32) between each of current vectors A, B, C, and D.
図57は、モータドライバDV3~DV4の内部構成を示すブロック図である。図示の通り、このモータドライバDV3/DV4は、励磁方式の設定データ(3ビット)を受けるDMODE0~DMODE2端子と、回転方向の指定を受けるCW/CCW端子と、歩進クロックを受けるCLK 端子と、リセット信号を受けるRESET 端子と、モータ駆動動作の許可/禁止の許否指令を受けるENABLE端子と、モータ駆動電流を検出するための検出抵抗(例えば0.33Ω)が接続されるRSA 端子及びRSB 端子と、定電流制御における電流上限値NFを規定する設定電圧を受けるVREFA 端子及びVREFB 端子と、モータ駆動電圧35Vを受けるVM端子と、内部で生成した定電圧5Vを出力するVCC 端子と、内部クロックを規定するためのOSCM端子と、PHASE信号の進行をモニタ可能なMO端子と、内部エラー状態をモニタ可能なLO端子と、駆動電流Ioutを出力するOUTA±端子及びOUTB±端子と、を有して構成されている。 Figure 57 is a block diagram showing the internal configuration of motor drivers DV3-DV4. As shown in the figure, motor drivers DV3/DV4 are configured with DMODE0-DMODE2 terminals that receive excitation mode setting data (3 bits), a CW/CCW terminal that specifies the rotation direction, a CLK terminal that receives a stepping clock, a RESET terminal that receives a reset signal, an ENABLE terminal that receives a command to enable/disable motor drive operation, RSA and RSB terminals to which detection resistors (e.g., 0.33 Ω) are connected for detecting the motor drive current, VREFA and VREFB terminals that receive a setting voltage that determines the upper current limit NF for constant current control, a VM terminal that receives a 35V motor drive voltage, a VCC terminal that outputs an internally generated constant voltage of 5V, an OSCM terminal that determines the internal clock, an MO terminal that can monitor the progress of the PHASE signal, an LO terminal that can monitor internal error states, and OUTA± and OUTB± terminals that output the drive current Iout.
そして、モータドライバDV3/DV4は、OSCM端子への接続素子に基づいて内部クロックを生成する発振回路(Motor Oscillator,OSC-Clock Converter )と、VM端子に受ける駆動電圧35Vに基づいて定電圧5Vを生成する定電圧回路(VCC Regulator )と、VREFA 端子やVREFB 端子に受ける電圧に基づいて、定電流制御の上限電流NFを規定する電流制御回路(Current Reference Setting ,Current Level Set )と、外部から受ける各種の指令に対応した内部信号を生成する信号復元回路(Signal Decode Logic )と、A相とB相のモータ駆動電流Ioutを監視する一対の監視回路(Current Comp)と、駆動巻線A/Bを駆動する一対の駆動回路(H-bridge)と、過熱検出回路(TSD )と、過電流検出回路(ISD )と、35V電源のパワーオンリセット回路(Power-On Reset)と、各部の動作を制御する中央制御部(Motor Control logic )と、を有して構成されている。 Motor drivers DV3/DV4 are comprised of an oscillator circuit (Motor Oscillator, OSC-Clock Converter) that generates an internal clock based on the elements connected to the OSCM terminal, a constant voltage circuit (VCC Regulator) that generates a constant voltage of 5V based on the 35V drive voltage received at the VM terminal, a current control circuit (Current Reference Setting, Current Level Set) that determines the upper limit current NF for constant current control based on the voltage received at the VREFA and VREFB terminals, a signal restoration circuit (Signal Decode Logic) that generates internal signals corresponding to various external commands, a pair of monitoring circuits (Current Comp) that monitor the motor drive current Iout for phases A and B, a pair of drive circuits (H-bridge) that drive drive windings A/B, an overheat detection circuit (TSD), an overcurrent detection circuit (ISD), a 35V power supply power-on reset circuit (Power-On Reset), and a central control unit (Motor Control Logic) that controls the operation of each component.
図示の通り、直流電圧35Vを受けるVM端子には、図52の場合と同じ33μFの導電性高分子コンデンサ、すなわち、アルミ電解コンデンサの電解液の代わりに導電性高分子と電解液とを融合させた電解質を配置したハイブリッドコンデンサが接続されている。図52の場合と同様、この導電性高分子コンデンサも、定格電圧(Rated Voltage )50Vであって、直径6.3mm、高さ7.7mmの円筒形状の表面実装品である。そして、モータドライバ(DV3,DV4)毎に、単一のコンデンサを配置するだけで、所望のデカップリング動作を実現することができる。静電容量を示す数値「33」と、定格電圧50Vを示す記号「H」、マイナス極性を示す黒塗り記号についても、図52に関して説明した通りである。 As shown in the figure, the VM terminal, which receives a DC voltage of 35V, is connected to the same 33μF conductive polymer capacitor as in Figure 52. That is, a hybrid capacitor in which an electrolyte made from a combination of conductive polymer and electrolyte is used instead of the electrolyte of an aluminum electrolytic capacitor. As in Figure 52, this conductive polymer capacitor also has a rated voltage of 50V and is a cylindrical surface-mount device with a diameter of 6.3mm and a height of 7.7mm. The desired decoupling operation can be achieved by simply placing a single capacitor for each motor driver (DV3, DV4). The capacitance value "33", the symbol "H" indicating a rated voltage of 50V, and the black symbol indicating negative polarity are the same as those explained in Figure 52.
一方、OSCM端子には、定電圧5Vに接続された抵抗5.1kΩと、グランドに接続されたコンデンサ270pFが接続されており、定電流制御を管理する内部クロックの周波数が1.18MHzに設定されている。そのため、本実施例では、チョッピング周波数が、例えば、1.18/16=73.75kHzとなり、チョッピング周期13.56μSで定電流制御が実行されることになる。 Meanwhile, the OSCM terminal is connected to a 5.1 kΩ resistor connected to a constant voltage of 5 V and a 270 pF capacitor connected to ground, and the frequency of the internal clock that manages constant current control is set to 1.18 MHz. Therefore, in this embodiment, the chopping frequency is, for example, 1.18/16 = 73.75 kHz, and constant current control is performed with a chopping period of 13.56 μS.
また、VREFA 端子とVREFB 端子には、モータコントローラ85から受ける電流上限値の設定信号SETx、SETy(図49参照)に対応した電圧が、設定回路LMTを経由して、共通的に供給されるよう構成されている(図49参照)。具体的には、設定回路LMTの電子スイッチSWのON動作時の設定電圧が0.78Vであるのに対して、電子スイッチSWのOFF動作時の設定電圧が0.1685Vとなるよう分圧回路が設定されている。 The VREFA and VREFB terminals are also configured to receive voltages corresponding to the upper current limit setting signals SETx and SETy (see Figure 49) received from the motor controller 85 via the setting circuit LMT (see Figure 49). Specifically, the voltage divider circuit is configured so that the set voltage when the electronic switch SW of the setting circuit LMT is ON is 0.78V, while the set voltage when the electronic switch SW is OFF is 0.1685V.
モータドライバDV3/DV4では、この設定電圧0.78/0.16Vに対応して、定電流制御における電流上限値NFが決まるよう構成されており、この実施例では、電流上限値NFは、A相及びB相について、スイッチ回路SWのON/OFFに対応して、共通的に473mA/102mA程度となる。 Motor drivers DV3/DV4 are configured to determine the upper current limit NF for constant current control in accordance with the set voltage of 0.78/0.16V. In this embodiment, the upper current limit NF is approximately 473mA/102mA for both phases A and B, corresponding to the ON/OFF state of the switch circuit SW.
上記の回路構成に対応して、本実施例では、例えば、モータ演出中の定電流制御では、電流上限値NFが473mAとなるモータを駆動制御する一方、例えば、モータ演出の開始前の待機動作中は、電流上限値NFが、それまでの1/4以下である102mAとなる待機制御することで、無駄な消費電力を抑制している。因みに、待機制御時の消費電力は、原理上、駆動制御時の4.65%程度となる。 In accordance with the above circuit configuration, in this embodiment, for example, during constant current control of the motor during performance, the motor is driven and controlled so that the upper current limit NF is 473 mA. However, during standby operation before the start of the motor performance, for example, standby control is performed so that the upper current limit NF is 102 mA, which is less than one-quarter of the previous value, thereby reducing unnecessary power consumption. Incidentally, power consumption during standby control is, in principle, approximately 4.65% of that during drive control.
次に、励磁方式を規定するDMODE0~DMODE2端子には、3ビット長の設定データを供給可能に構成されている。そして、このモータドライバDV3/DV4では、駆動電流Ioutを矩形状に変化させる2相励磁(図58(a)参照)だけでなく、0%駆動状態を挿入してパルス波形をやや緩和する1-2相励磁(図58(b)参照)や、電流上限値NFを+100%駆動と-100%駆動の間で多段階に変化させることで、駆動電流Ioutを略正弦波状に変化させるマイクロステップ励磁動作を指定することもできるよう構成されている。 Next, the DMODE0 to DMODE2 terminals, which specify the excitation method, are configured to be able to supply 3-bit setting data. Furthermore, motor drivers DV3/DV4 are configured to allow specification of not only two-phase excitation (see Figure 58(a)), which changes the drive current Iout in a rectangular shape, but also one-two-phase excitation (see Figure 58(b)), which inserts a 0% drive state to slightly soften the pulse waveform, and microstep excitation, which changes the current upper limit NF in multiple steps between +100% drive and -100% drive, to change the drive current Iout in an approximately sinusoidal wave shape.
ここで、駆動電流Ioutを正弦波に近づけるほど、ステッピングモータが滑らか回転するので、この点では優れている。しかし、精密機械とは異なり、この種の遊技機における役物演出では、精密機械ほどの滑らかな回転は不要と解される。また、ステップ角を小さくして、円滑に回転するより、ステップ角を大きくとって、高速回転を実行した方がモータ演出としては効果的である。 Here, the closer the drive current Iout is to a sine wave, the smoother the rotation of the stepping motor, which is an advantage. However, unlike precision machinery, it is understood that the smooth rotation of this type of gaming machine is not necessary for the role-playing effects of this type of gaming machine. Also, rather than reducing the step angle and achieving smooth rotation, it is more effective for the motor's performance to increase the step angle and achieve high-speed rotation.
そこで、本実施例では、DMODE0~DMODE2端子に供給する設定データに基づいて、ステッピングモータを2相励磁又は1-2相励磁している。ここで、モータを高速回転するためには、ステップ角が大きい2相励磁の方が、1-2相励磁より有利である。また、設定データは、ソフトウェア処理による制御値としても良いが、本実施例では、ハードウェアによる固定値としており、2相励磁か1-2相励磁かは、遊技機の機種毎に規定している。 In this embodiment, the stepping motor is excited in two phases or one-two phases based on the setting data supplied to the DMODE0 to DMODE2 terminals. To rotate the motor at high speed, two-phase excitation, which has a larger step angle, is more advantageous than one-two phase excitation. While the setting data can be a control value processed by software, in this embodiment it is a fixed value set by hardware, and whether two-phase excitation or one-two phase excitation is used is specified for each gaming machine model.
但し、以下の説明では、モータドライバDV3/DV4のDMODE0~DMODE2端子には、所定の設定データ(001)が固定的に供給されることで、モータコントローラ85から歩進クロックCLKを受ける毎に、ステッピングモータを2相励磁することにする。すなわち、モータドライバDV3/DV4は、図58(a)の動作をすることにする。 However, in the following explanation, the DMODE0 to DMODE2 terminals of motor drivers DV3/DV4 are supplied with fixed setting data (001), causing the stepping motor to undergo two-phase excitation each time it receives a stepping clock CLK from the motor controller 85. In other words, motor drivers DV3/DV4 will operate as shown in Figure 58(a).
次に、CW/CCW端子と、CLK 端子と、ENABLE端子には、各々、モータコントローラ85から、1ビット長の方向指示データと、ステッピングモータを一ステップ歩進させるための歩進クロックCLKと、駆動動作を許可する許可信号ENABLEとが、適宜に供給されている。なお、RESET 端子は、定常的にLレベルであることで、内部のNOT回路を経由することで常に動作可能状態となっている(図49参照)。 Next, the CW/CCW terminal, CLK terminal, and ENABLE terminal are each supplied with one-bit direction data, a stepping clock CLK for moving the stepping motor one step, and an enable signal ENABLE that enables drive operation from the motor controller 85. The RESET terminal is constantly at L level, and is always enabled via an internal NOT circuit (see Figure 49).
図58(a)と、図58(b)は、2相励磁動作と、1-2相励磁動作時における歩進クロックCLKと、A相巻線とB相巻線の駆動電流Ioutを図示したものである。なお、時計方向回転CWを指示された場合、ドライバ内部回路は、歩進クロックCLKに対応して、駆動電流Ioutが時間軸の右方向に推移するよう動作する。一方、反時計方向回転CCWを指示された場合には、ドライバ内部回路は、歩進クロックCLKに対応して、駆動電流Ioutが時間軸の左方向に推移するよう動作する。すなわち、歩進クロックCLKを受ける毎に、駆動電流Iout(a),Iout(b)の電流レベルや電流方向が推移する。図示の通り、2相励磁では、歩進クロックCLKを受ける毎に電流方向が変化し、1-2相励磁や不図示のマイクロステップ励磁では、歩進クロックCLKを受ける毎に電流レベルが変化する。 Figures 58(a) and 58(b) show the stepping clock CLK and the drive current Iout for the A-phase winding and B-phase winding during two-phase excitation and one-two-phase excitation. When clockwise rotation (CW) is instructed, the driver's internal circuitry operates so that the drive current Iout shifts to the right on the time axis in response to the stepping clock CLK. On the other hand, when counterclockwise rotation (CCW) is instructed, the driver's internal circuitry operates so that the drive current Iout shifts to the left on the time axis in response to the stepping clock CLK. In other words, the current level and direction of the drive currents Iout(a) and Iout(b) shift each time a stepping clock CLK is received. As shown, in two-phase excitation, the current direction changes each time a stepping clock CLK is received. In 1-2 phase excitation and microstep excitation (not shown), the current level changes each time a stepping clock CLK is received.
ここで、歩進クロックCLKは、適宜なタイミングで、モータコントローラ85から、適宜な速度で供給されるが、歩進クロックCLKは、ステッピングモータのステップ角θに対応しており、歩進クロックCLKを受ける毎に、ステッピングモータは、一ステップ角θ[度Degree]だけ回転する。したがって、N個の歩進クロックCLKを受けると、N*θ[度]だけ回転することになり、ステッピングモータは、歩進クロックCLKの個数に対応する角度だけ回転することになる。 Here, the stepping clock CLK is supplied at an appropriate timing and speed from the motor controller 85. The stepping clock CLK corresponds to the step angle θ of the stepping motor, and each time the stepping motor receives a step clock CLK, it rotates by one step angle θ [degree]. Therefore, when N stepping clocks CLK are received, the stepping motor will rotate by N*θ [degrees], and the stepping motor will rotate by an angle corresponding to the number of step clocks CLK.
ここで、N個の歩進クロックCLKが、時間Tを要して供給された場合、N*θ[度]の回転に、時間T[秒]を要したことになり、回転角速度は、N*θ/T[Degree per Second ]となる。本実施例で使用するステッピングモータは2相励磁され、ステップ角θは、例えば、7.5度であるので、モータ一回転には、48個(=360/7.5)の歩進クロックCLKを要することになる。 Here, if N stepping clocks CLK are supplied over a time T, it will take time T [seconds] to rotate N*θ [degrees], and the rotational angular velocity will be N*θ/T [degrees per second]. The stepping motor used in this example is two-phase excited, and the step angle θ is, for example, 7.5 degrees, so 48 (= 360/7.5) stepping clocks CLK are required for one rotation of the motor.
したがって、歩進クロックCLKのパルス速度がV[PPS(Pulse Per Second)]の場合、モータ一回転に要する48個のパルスCLKは、48/V[S]で供給されるので、このモータは、一分間に、60*V/48回転することになり、モータ回転数rpm(rotations per minute)に換算すると、60*V/48[rpm]となる。 Therefore, if the pulse speed of the stepping clock CLK is V [PPS (Pulse Per Second)], the 48 pulses CLK required for one rotation of the motor are supplied at 48/V [S], so the motor will rotate at 60*V/48 revolutions per minute, which converts to a motor rotations per minute (rpm) of 60*V/48 [rpm].
ところで、このモータドライバDV3/DV4においても、電流上限値NFに基づいて定電流制御が実行される。しかし、図57に関して説明した通り、電流上限値NFは、この実施例では、可動演出中である駆動制御中か、可動演出開始前の待機制御中かに応じて、473mA/102mAの何れかとなり、モータコントローラ85によって適宜に変更されるよう構成されている。 Incidentally, in these motor drivers DV3/DV4, constant current control is also performed based on the current upper limit value NF. However, as explained in relation to Figure 57, in this embodiment, the current upper limit value NF is set to either 473 mA or 102 mA depending on whether drive control is being performed during a moving performance or standby control is being performed before the start of a moving performance, and is configured to be changed appropriately by the motor controller 85.
図58(c)は、例えば、待機制御中から駆動制御に移行する場合の定電流制御の動作を示しており、何れの制御状態でも、図54(b)に示す制御方法2に基づいて、CHARGE→FAST→SLOWの定電流制御が実行されることが示されている。一方、図58(d)は、例えば、駆動制御中から待機制御に移行する場合を示しており、この場合も、図54(b)に示す制御方法2に基づいて、CHARGE→FAST→SLOWの定電流制御が実行される。 Figure 58(c) shows the operation of constant current control when, for example, transitioning from standby control to drive control, and shows that in either control state, constant current control of CHARGE → FAST → SLOW is executed based on control method 2 shown in Figure 54(b). On the other hand, Figure 58(d) shows the case when, for example, transitioning from drive control to standby control is executed, and in this case too, constant current control of CHARGE → FAST → SLOW is executed based on control method 2 shown in Figure 54(b).
なお、歩進クロックCLKが途絶えても、モータドライバDV3/DV4は、所定の上限電流NFに基づく定電流制御を継続するので、モータMO3,MO4は、停止状態を維持する停止駆動がされる。 Even if the stepping clock CLK is interrupted, motor drivers DV3/DV4 continue constant current control based on the specified upper limit current NF, so motors MO3 and MO4 are driven to a stopped state.
次に、図59は、モータドライバDV3/DV4の動作を制御するモータコントローラ85の内部構成を示すブロック図である。モータコントローラ85は、4個のモータドライバを制御する同一構成の4個の内部回路(図59の破線で囲んだ回路)を4個内蔵して構成されている。4個のモータドライバを制御する場合には、各モータドライバは4個のステッピングモータを駆動するが、各モータの回転軸を、本明細書では、便宜上、X軸、Y軸、Z軸、U軸と称している。 Next, Figure 59 is a block diagram showing the internal configuration of the motor controller 85, which controls the operation of motor drivers DV3/DV4. The motor controller 85 is configured with four internal circuits (circuits surrounded by dashed lines in Figure 59) that have the same configuration and control four motor drivers. When controlling four motor drivers, each motor driver drives four stepping motors, and for convenience, the rotation axes of each motor are referred to in this specification as the X-axis, Y-axis, Z-axis, and U-axis.
この表現に対応して、モータコントローラ85には、図59において破線で囲んだ、同一構成のX軸用回路、Y軸用回路、Z軸用回路、及び、U軸用回路が含まれるが、この実施例では、X軸用回路とY軸用回路だけを使用している。 In accordance with this representation, the motor controller 85 includes identically configured X-axis, Y-axis, Z-axis, and U-axis circuits, all of which are enclosed by dashed lines in Figure 59; however, in this embodiment, only the X-axis and Y-axis circuits are used.
ここで、X軸用回路は、ステッピングモータMO3を駆動するモータドライバDV3を駆動制御し、Y軸用回路は、ステッピングモータMO4を駆動するモータドライバDV4を駆動制御している。そして、X軸用回路とY軸用回路の動作内容は、シリアルポートSIO_1 を経由して、演出制御CPU63によって演出制御される。 Here, the X-axis circuit drives and controls motor driver DV3, which drives stepping motor MO3, and the Y-axis circuit drives and controls motor driver DV4, which drives stepping motor MO4. The operation of the X-axis circuit and Y-axis circuit is controlled by performance control CPU 63 via serial port SIO_1.
以上を踏まえて、図59の回路構成について確認すると、モータコントローラ85は、シフトクロックSCKに同期して、シリアルポートSIO_1 から制御データMOSIをシリアル受信する一方、センサ信号MISOをシリアルポートSIO_1 にシリアル送信している。また、PIOポート62からリセット信号RESETを受けると共に、コンペアマッチタイマCMTからは、有効期間がLレベルとなる動作中信号SSを受けている。 Considering the above, if we examine the circuit configuration in Figure 59, we can see that the motor controller 85 receives control data MOSI serially from serial port SIO_1 in synchronization with the shift clock SCK, while also serially transmitting the sensor signal MISO to serial port SIO_1. It also receives a reset signal RESET from PIO port 62, and receives an operating signal SS, the valid period of which is low, from the compare match timer CMT.
また、モータコントローラ85のX軸用回路は、モータドライバDV3に対して、歩進クロックOUTx(CLK)と、上限電流を規定する設定信号SETxと、回転方向(CW/CCW)を規定する方向指示データDIRxと、動作許可信号ENABLExを送信している。一方、モータコントローラ85のY軸用回路は、モータドライバDV4に対して、歩進クロックOUTy(CLK)と、上限電流を規定する設定信号SETyと、回転方向を規定する方向二値信号DIRyと、動作許否指令ENABLEyを送信している。 The X-axis circuit of the motor controller 85 also sends a stepping clock OUTx (CLK), a setting signal SETx that specifies the upper limit current, direction instruction data DIRx that specifies the direction of rotation (CW/CCW), and an operation enable signal ENABLEx to the motor driver DV3. Meanwhile, the Y-axis circuit of the motor controller 85 sends a stepping clock OUTy (CLK), a setting signal SETy that specifies the upper limit current, a direction binary signal DIRy that specifies the direction of rotation, and an operation enable/disable command ENABLEy to the motor driver DV4.
ここで、動作許可信号ENABLEx,ENABLEyがLレベルであると、モータドライバDV3/DV4に内蔵された駆動回路のHブリッジを構成する4個のMOSトランジスタの出力が全てHiZ状態になり、モータ駆動が禁止される。したがって、演出制御CPU63は、ステッピングモータMO3/MO4によるモータ演出開始に先行して、モータコンローラ85に所定の制御データを送信して、モータコントローラ85からモータドライバDV3/DV3に、Hレベルの動作許可信号ENABLEx,ENABLEyが出力されるよう制御する必要がある。もっとも、煩雑さを解消するためには、上記の動作を電源投入時に一回だけ実行すれば足りるので、以下では、そのような実施例について説明する。 Here, when the operation enable signals ENABLEx and ENABLEy are at L level, the outputs of all four MOS transistors that make up the H-bridge of the drive circuit built into motor drivers DV3/DV4 go into the HiZ state, prohibiting motor drive. Therefore, prior to the start of motor performance by stepping motors MO3/MO4, the performance control CPU 63 must send specified control data to motor controller 85, and control the motor controller 85 to output H-level operation enable signals ENABLEx and ENABLEy to motor drivers DV3/DV3. However, to avoid complexity, it is sufficient to perform the above operation only once when power is turned on, and such an embodiment will be described below.
さて、図59に戻ってモータドライバ85について説明を続けると、モータコントローラ85は、CPU回路51との間で、SPI(Serial Peripheral Interface )通信も、I2C(Inter-Integrated Circuit)通信も可能に構成されているが、本実施例では、最初に説明した通り、SPI通信によってシリアル送受信動作を実行している。 Returning to FIG. 59 to continue the explanation of the motor driver 85, the motor controller 85 is configured to be capable of both SPI (Serial Peripheral Interface) communication and I2C (Inter-Integrated Circuit) communication with the CPU circuit 51, but in this embodiment, as explained at the beginning, serial transmission and reception operations are performed using SPI communication.
そして、モータコントローラ85は、I2C通信時に機能するSCL 端子SDA 端子と、デバイス選択番号を受けるDS0-DS1 端子と、動作中信号SSを受けるSS端子と、シフトクロックSCKを受けるSCK 端子と、制御データMOSIを受けるMOSI端子と、センサ信号MISOを出力するMISO端子と、複数のモータ(X/Y/Z/U軸の全部又は一部)の同時スタートを示すCSTA端子と、割込みが起動したことを示すINT 端子と、リセット信号を受けるRST 端子と、内部動作を規定する基準クロックを受けるCLK 端子と、シリアル通信動作モードがSPIかI2Cかを規定するIFSEL 端子と、を有して構成されている。 The motor controller 85 is configured to have an SCL terminal and an SDA terminal that function during I2C communication, DS0-DS1 terminals that receive a device selection number, an SS terminal that receives an operating signal SS, an SCK terminal that receives a shift clock SCK, a MOSI terminal that receives control data MOSI, an MISO terminal that outputs a sensor signal MISO, a CSTA terminal that indicates the simultaneous start of multiple motors (all or some of the X/Y/Z/U axes), an INT terminal that indicates that an interrupt has been activated, an RST terminal that receives a reset signal, a CLK terminal that receives a reference clock that determines internal operation, and an IFSEL terminal that determines whether the serial communication operation mode is SPI or I2C .
図示の通り、DS0-DS1 端子は、例えば、00に固定されているので、このモータコントローラ85に付与されたデバイス番号は、0ということになる。実施例のモータコントローラ85は、一のシリアルポートSIO_1 に、複数個が並列的に接続可能に構成されており、デバイス番号は、何れか一のモータコンローラを特定する用途で使用される。 As shown in the figure, the DS0-DS1 terminals are fixed to, for example, 00, so the device number assigned to this motor controller 85 is 0. In this embodiment, multiple motor controllers 85 can be connected in parallel to a single serial port SIO_1, and the device number is used to identify any one motor controller.
また、この実施例では、IFSEL 端子がHレベルに固定されることで、モータコントローラ85は、SPIモードで動作する。したがって、この実施例では、SCL 端子と、SDA 端子は機能させない。但し、I2Cモードで動作させても良いのは勿論であり、I2Cモードでも以下の動作は実現可能である。 In this embodiment, the IFSEL terminal is fixed to the H level, causing the motor controller 85 to operate in SPI mode. Therefore, the SCL and SDA terminals are not enabled in this embodiment. However, it is of course possible to operate in I2C mode, and the following operations can be realized in I2C mode as well.
図示の通り、CLK 端子には、発振回路が生成した周波数9.8MHz程度の基準クロックが供給されている。また、RST端子には、PIOポート62からリセット信号RESETが供給され、SS端子には、コンペアマッチタイマCTMから動作中信号SSが供給されるよう構成されている。なお、SCK 端子とMOSI端子には、シリアルポートSIO_1 の対応回路からシフトクロックSCKと、制御データMISOが出力され、MISO端子からシリアルポートSIO_1 の受信シフトレジスタSCRSR に対して、センサデータMISOがシリアル伝送される。 As shown in the diagram, the CLK terminal is supplied with a reference clock with a frequency of approximately 9.8 MHz generated by the oscillator circuit. The RST terminal is supplied with a reset signal RESET from the PIO port 62, and the SS terminal is supplied with an operating signal SS from the compare match timer CTM. The SCK and MOSI terminals output the shift clock SCK and control data MISO from the corresponding circuit of serial port SIO_1, and the sensor data MISO is serially transmitted from the MISO terminal to the receive shift register SCRSR of serial port SIO_1.
続いて、モータコントローラ85のX軸用回路について説明する。図59に示す通り、X軸用回路は、モータドライバDV3に歩進クロックCLKを出力するOUTx端子と、方向指示データを出力するDIRx端子と、動作許可信号ENABLExを出力するP2x 端子と、上限電流の設定信号SETxを出力するP3x 端子とを有して構成されている。 Next, we will explain the X-axis circuit of the motor controller 85. As shown in Figure 59, the X-axis circuit is composed of an OUTx terminal that outputs a stepping clock CLK to the motor driver DV3, a DIRx terminal that outputs direction indication data, a P2x terminal that outputs an operation enable signal ENABLEx, and a P3x terminal that outputs an upper limit current setting signal SETx.
また、X軸用回路は、モータMO3によって駆動される役物が、原点位置か否かを示す原点センサ信号を受けるP0x 端子と、この役物が目的位置に達したか否かを示す目的位置センサ信号を受けるP1x 端子と、を有している。 The X-axis circuit also has a P0x terminal that receives an origin sensor signal indicating whether the reel driven by motor MO3 is at the origin position, and a P1x terminal that receives a destination position sensor signal indicating whether the reel has reached the destination position.
なお、Y軸用回路は、上記したX軸用回路と同一構成であり、モータドライバが、DV3からDV4に代わり、ステッピングモータが、MO3からMO4に代わるだけである。なお、本実施例では、Z軸用回路と、U軸用回路を使用していないが、これらを使用すれば、4個のステッピングモータを、同期的又は独立的に駆動制御することができる。 The Y-axis circuit has the same configuration as the X-axis circuit described above, except that the motor driver changes from DV3 to DV4 and the stepping motor changes from MO3 to MO4. While the Z-axis circuit and U-axis circuit are not used in this example, using them would allow the four stepping motors to be driven and controlled synchronously or independently.
上記したP0x 端子、P1x 端子、P2x 端子、P3x 端子に対応して、モータコントローラ85には、入出力動作が可能な汎用入出力ポートが内蔵されており、また、演出制御CPU63からの指令に基づいて、汎用入出力ポートに必要な入出力動作を実行させる汎用ポート制御回路が内蔵されている。汎用入出力ポートは、入力ポートとしても、出力ポートとしても使用可能であるので、本実施例では、P0x 端子とP1x 端子が、汎用入力ポートP0,P1の入力端子となり、P2x 端子とP3x 端子が、汎用出力ポートP2,P3の出力端子となるよう初期設定している。 The motor controller 85 has built-in general-purpose input/output ports capable of input/output operations, corresponding to the P0x, P1x, P2x, and P3x terminals mentioned above. It also has a built-in general-purpose port control circuit that causes the general-purpose input/output ports to perform the necessary input/output operations based on commands from the performance control CPU 63. Since the general-purpose input/output ports can be used as both input and output ports, in this embodiment, the P0x and P1x terminals are initially set as input terminals for the general-purpose input ports P0 and P1, and the P2x and P3x terminals are initially set as output terminals for the general-purpose output ports P2 and P3.
また、モータコンローラ85には、OUTx端子から出力する歩進クロックCLKの出力クロック数や、出力クロック周期(歩進クロックCLKのクロック速度)などを任意に設定可能な複数のレジスタが、含まれている。歩進クロックCLKのクロック速度でモータ回転速度が決まり、歩進クロックCLKの出力パルス数で回転角度が決まるが、モータコントローラ85は、演出制御CPU63の指示に基づき、任意個数の歩進クロックを、任意のクロック速度で、出力できるよう構成されている。 The motor controller 85 also includes multiple registers that can arbitrarily set the number of output clocks of the stepping clock CLK output from the OUTx terminal, the output clock period (clock speed of the stepping clock CLK), and other parameters. The motor rotation speed is determined by the clock speed of the stepping clock CLK, and the rotation angle is determined by the number of output pulses of the stepping clock CLK, but the motor controller 85 is configured to be able to output any number of stepping clocks at any clock speed based on instructions from the performance control CPU 63.
なお、先に説明した通り、モータドライバDV3/DV4は、歩進クロックCLK毎に、一ステップだけモータMO3を回転させるので、出力クロック数によってモータMO3の回転角度が規定され、また、歩進クロックCLKのク出力周期に対応して、モータMO3の回転速度が変わる。 As explained above, motor drivers DV3/DV4 rotate motor MO3 by one step for each stepping clock CLK, so the rotation angle of motor MO3 is determined by the number of output clocks, and the rotation speed of motor MO3 changes according to the output cycle of the stepping clock CLK.
ところで、モータコンローラ85によれば、加速制御や減速制御も任意であり、加減速制御を伴わない矩形駆動(図60(a))だけでなく、図60(b)に示す台形駆動も可能である。図60(a)に示す矩形駆動は、モータの回転速度が比較的遅い場合に採用され、回転開始から回転終了まで、歩進クロックCLKのパルス速度(パルス出力周期に対応)が、常に起動パルス速度に一致する。なお、矩形駆動は、その制御が簡単であってCPUによるプログラム処理でも対応可能であるので、モータMO3,MO43だけでなく、シリアルポートSIO_を経由するモータMO1,MO2の駆動にも活用されている。 By the way, motor controller 85 allows for arbitrary acceleration and deceleration control, and not only rectangular drive (Figure 60(a)) without acceleration and deceleration control is possible, but also trapezoidal drive shown in Figure 60(b). Rectangular drive shown in Figure 60(a) is used when the motor rotation speed is relatively slow, and the pulse speed of the stepping clock CLK (corresponding to the pulse output period) always matches the starting pulse speed from the start of rotation to the end of rotation. Furthermore, rectangular drive is simple to control and can be handled by program processing by the CPU, so it is used not only for motors MO3 and MO43, but also for driving motors MO1 and MO2 via serial port SIO_.
一方、図60(b)に示す台形駆動は、モータの回転速度が速い場合に採用され、歩進クロックCLKのパルス速度が、起動パルス速度から徐々に直線的に速くなり、目標値である運転パルス速度に達する。その後、運転パルス速度で必要量だけ回転した後、歩進クロックCLKのパルス速度が、運転パルス速度から徐々に直線的に遅くなり、起動パルス速度に至ってモータが停止する。この台形駆動によれば、モータ回転の急発進や急停止が回避されるので、脱調などの不正常動作を未然に回避することができる。 On the other hand, trapezoidal drive, shown in Figure 60 (b), is used when the motor rotation speed is high, in which the pulse speed of the stepping clock CLK gradually increases linearly from the starting pulse speed until it reaches the target value of the running pulse speed. After that, after rotating the required amount at the running pulse speed, the pulse speed of the stepping clock CLK gradually decreases linearly from the running pulse speed until it reaches the starting pulse speed and the motor stops. This trapezoidal drive prevents sudden starts and stops of motor rotation, making it possible to prevent abnormal operation such as loss of synchronization.
図示の通り、パルス速度は、三以上の複数段階で直線的に増加し、三以上の複数段階で直線的に減少している。このような台形駆動は、図60(b)に示す通り、歩進クロックCLKのパルス周期を複雑に変化させる必要があり、CPUのプログラム処理では、実現が容易でない。そこで、本実施例では、モータコントローラ85を活用することで、CPUの制御負担を増加させることなく、モータMO3,MO4の急発進や急停止が回避した状態で、各モータの高速回転を実現している。後述するように、本実施例では、所定の演出時には、所定の役物を、自然落下より高速で降下/上昇させている。 As shown, the pulse speed increases linearly in three or more stages, and then decreases linearly in three or more stages. This type of trapezoidal drive requires complex changes to the pulse period of the stepping clock CLK, as shown in Figure 60(b), and is not easy to achieve through CPU program processing. Therefore, in this embodiment, by utilizing the motor controller 85, high-speed rotation of each motor is achieved while avoiding sudden starts and stops of motors MO3 and MO4 without increasing the control burden on the CPU. As will be described later, in this embodiment, during a specified performance, a specified prop is lowered/raised at a speed faster than natural falling.
図60(c)に示す通り、矩形駆動では、出力パルス数だけでなく、開始終了速度FL、目標速度FH、加速レート、及び、減速レートなどの動作パラメータを特定する必要があるが、これらの動作パラメータは、演出制御CPU63によって、以下に説明する内蔵レジスタに設定される。 As shown in Figure 60 (c), rectangular drive requires specifying not only the number of output pulses but also operating parameters such as the start and end speed FL, target speed FH, acceleration rate, and deceleration rate. These operating parameters are set by the performance control CPU 63 in the built-in registers described below.
モータコンローラ85の内蔵レジスタは、図59に示す通り、第1種レジスタN個と、第2種レジスタM個と、第1種レジスタへの設定値を事前に設定可能なプリレジスタN個とが含まれている。そして、第1種レジスタに基づくモータ動作が完了すると、これに対応するプリレジスタの事前設定値が、第1種レジスタに自動的に転送され、新たなモータ動作が開始可能状態となる。したがって、本実施例では、第1種レジスタに動作パラメータを設定した後、継続するモータ動作についても、プリレジスタに動作パラメータを設定することで、一連のモータ動作を素早く設定することができる。 As shown in Figure 59, the built-in registers of the motor controller 85 include N first-type registers, M second-type registers, and N pre-registers in which values can be preset for the first-type registers. When a motor operation based on the first-type register is completed, the corresponding pre-register value is automatically transferred to the first-type register, making it possible to start a new motor operation. Therefore, in this embodiment, after setting operating parameters in the first-type registers, a series of motor operations can be quickly set by setting operating parameters in the pre-registers for subsequent motor operations as well.
ここで、第1種レジスタとプリレジスタには、目標速度FHを設定するレジスタRFH(R1)、加速レートを規定するレジスタRUR(R2)、減速レートを規定するレジスタRDR(R3)、スローダウンポイントを規定するレジスタRDP(R4)、出力パルス数を規定するレジスタRWV(R5)、及び、動作モード(R6)、を指定可能な6個のレジスタが、各々、含まれている。なお、スローダウンポイントとは減速処理を開始するタイミングを意味するが、レジスタRDPには、減速動作を実行するパルス数を規定することになる。なお、スローダウンポイントを規定するレジスタRDPと、減速レートを規定するレジスタRDRとは択一的に使用され、減速レートを規定した場合には、スローダウンポイントが自動的に決定される。 The first-type registers and pre-registers each contain six registers that can specify the target speed FH: register RFH (R1), which sets the target speed FH; register RUR (R2), which specifies the acceleration rate; register RDR (R3), which specifies the deceleration rate; register RDP (R4), which specifies the slow-down point; register RWV (R5), which specifies the number of output pulses; and operating mode (R6). The slow-down point refers to the timing at which the deceleration process begins, while register RDP specifies the number of pulses used to execute the deceleration operation. Register RDP, which specifies the slow-down point, and register RDR, which specifies the deceleration rate, are used alternatively; when the deceleration rate is specified, the slow-down point is automatically determined.
第1種レジスタとプリレジスタには、上記した動作パラメータを設定できるので、途中停止後の動作モードだけでなく、再回転動作における目標速度、加速レート、減速レート、出力パルス数などを、プリレジスタに予約設定することができる。 The above-mentioned operating parameters can be set in the Type 1 register and pre-register, so not only the operating mode after a mid-stop, but also the target speed, acceleration rate, deceleration rate, and number of output pulses for restarting the rotation can be reserved and set in the pre-register.
次に、第2種レジスタには、モータ回転開始時の初速度FLと停止前の最終速度FLを規定するレジスタRFLや、モータの動作モードを設定可能なレジスタRMDや環境設定レジスタRENVが含まれている。ここで、モータの動作モードには、CW[Clockwise ]方向への連続移動(MD1)、CCW[counterclockwise]方向への連続移動(MD2)、CW方向への相対移動(MD3)、CCW方向への相対移動(MD4)、センサ検出までCW方向に移動するCW位置決め移動(MD5)、センサ検出までCCW方向に移動するCCW位置決め移動(MD6)、タイマで規定されて時間だけ移動するタイマ移動(MD7)、が含まれており、モード設定レジスタRMDに所定の動作パラメータを設定することで、(MD1)~(MD7)の何れかのモータ動作が規定される。 Next, the second-type registers include register RFL, which specifies the initial speed FL when the motor starts rotating and the final speed FL before it stops, as well as register RMD and environment setting register RENV, which can set the motor's operating mode. Here, motor operating modes include continuous movement in the clockwise direction (MD1), continuous movement in the counterclockwise direction (MD2), relative movement in the clockwise direction (MD3), relative movement in the counterclockwise direction (MD4), CW positioning movement, which moves in the clockwise direction until sensor detection (MD5), CCW positioning movement, which moves in the counterclockwise direction until sensor detection (MD6), and timer movement, which moves for a period of time specified by a timer (MD7). Setting specific operating parameters in mode setting register RMD specifies one of the motor's modes (MD1) through (MD7).
本実施例において、動作モード(MD5)や動作モード(MD6)において検出対象となるセンサには、役物が原点位置に位置するか否かを示す原点センサと、役物が目的位置に位置するか否かを示す目的位置センサとが含まれる。したがって、本実施例によれば、原点位置に向かう復帰動作や、目的位置に向かう進行動作が、一の動作モードとして規定可能となる。なお、動作モード(MD5)や動作モード(MD6)では、速度レジスタRFHで設定された運転速度で回転を続け、その後、センサ信号を検出すると、パルス数レジスタRWVに設定された個数だけパルスを出力して停止する。 In this embodiment, the sensors that are detected in operation mode (MD5) and operation mode (MD6) include an origin sensor that indicates whether the reel is located at the origin position, and a destination position sensor that indicates whether the reel is located at the destination position. Therefore, according to this embodiment, a return operation toward the origin position and a forward operation toward the destination position can be defined as one operation mode. In operation mode (MD5) and operation mode (MD6), the robot continues to rotate at the operating speed set in speed register RFH, and then, when a sensor signal is detected, it outputs the number of pulses set in pulse count register RWV and stops.
一方、動作モード(MD3)や動作モード(MD4)の相対移動では、その運転速度は、速度レジスタRFHで規定され、パルス数レジスタRWVに設定された個数だけパルスを出力して停止する。この場合、矩形駆動だけでなく、台形駆動も可能であり、台形駆動の場合には、加速レートレジスタRURで設定された態様で回転を開始し、速度レジスタRFHで規定された運転速度で回転した後、減速レートレジスタRDRで設定された態様で運転を終了する。なお、台形駆動において、加速制御だけを除いた動作(瞬時スタート+減速停止)や、減速制御だけを除いた動作(加速スタート+瞬時停止)も可能である。 On the other hand, in relative movement in operation mode (MD3) or operation mode (MD4), the operating speed is specified by speed register RFH, and the number of pulses set in pulse count register RWV is output before stopping. In this case, trapezoidal drive is also possible in addition to rectangular drive. In the case of trapezoidal drive, rotation begins in the manner set by acceleration rate register RUR, rotates at the operating speed specified by speed register RFH, and then ends in the manner set by deceleration rate register RDR. Note that with trapezoidal drive, operation excluding only acceleration control (instant start + deceleration stop) or operation excluding only deceleration control (acceleration start + instant stop) is also possible.
また、動作モード(MD1)や動作モード(MD2)に規定する連続移動では、速度レジスタRFHで規定された運転速度で回転を続け、停止コマンドを受けることで回転を終了する。そして、何れの動作モードでも、スタートコマンドを受けることで、その動作を開始する。すなわち、モータコンローラ85は、演出制御CPU63から、スタートマンドや、停止コマンドを含んだ各種のコマンドを受けて動作するよう構成されている。 Furthermore, in the continuous movement specified in operation mode (MD1) or operation mode (MD2), rotation continues at the operating speed specified in speed register RFH, and rotation ends upon receiving a stop command. In either operation mode, operation begins upon receiving a start command. In other words, the motor controller 85 is configured to operate upon receiving various commands, including start commands and stop commands, from the performance control CPU 63.
ここで、演出制御CPU63が、モータコンローラ85に対して出力可能なコマンドには、停止コマンド(CM0)の他に、スタート態様が異なる複数のスタートコマンド(CM1)と、スタート態様が異なる複数の残量スタートコマンド(CM2)と、変更態様が異なる複数の速度変更コマンド(CM3)と、汎用出力ポートから所定データを出力する出力コマンド(CM4)、が含まれている。本実施例では、この出力コマンド(CM4)を使用して、汎用出力ポートP2、P3には、許可信号ENABLExと、電流上限値の設定信号SETxが出力される。 Here, the commands that the performance control CPU 63 can output to the motor controller 85 include, in addition to the stop command (CM0), multiple start commands (CM1) with different start modes, multiple remaining amount start commands (CM2) with different start modes, multiple speed change commands (CM3) with different change modes, and an output command (CM4) that outputs specified data from a general-purpose output port. In this embodiment, this output command (CM4) is used to output an enable signal ENABLEx and a current upper limit setting signal SETx to the general-purpose output ports P2 and P3.
なお、動作モード(MD3)や動作モード(MD4)に規定する相対移動の動作モードでは、内蔵された残パスカウンタRESTによって、残りパルス数が管理されている。そして、演出制御CPU63は、残パスカウンタRESTから残りパルス数を読み出すことで、適宜なタイミングでモータを途中停止させることもできる。残量スタートコマンドは、この途中停止後の再スタートを規定するものである。 In the relative movement operation modes specified in operation mode (MD3) and operation mode (MD4), the number of remaining pulses is managed by the built-in remaining pass counter REST. The performance control CPU 63 can also stop the motor midway at an appropriate timing by reading the number of remaining pulses from the remaining pass counter REST. The remaining amount start command specifies the restart after this midway stop.
また、第2種レジスタに含まれる環境設定レジスタRENVには、図60(d)に関して後述するカウントダウン制御を実現するカウントアップ時間TCUPと、カウントダウン時間TCDWとが設定可能に構成されている。カウントアップ時間TCUPと、カウントダウン時間TCDWは、何れも、4つの選択肢からその一つが選択可能になっている。 The environment setting register RENV included in the second-type register is configured to allow setting of a count-up time TCUP and a count-down time TCDW, which realize the count-down control described below in relation to Figure 60(d). One of four options can be selected for both the count-up time TCUP and the count-down time TCDW.
以上、演出制御CPU63がWRITE アクセス可能な各種のレジスタについて説明したが、モータコンローラ85の動作内容を示すステイタスレジスタその他も設けられており、これらのレジスタを、適宜にREADアクセスすることで、演出制御CPUは、モータコンローラ85の動作状態を把握することができる。 The above describes the various registers that the performance control CPU 63 can access for WRITE, but there are also status registers and other registers that indicate the operation of the motor controller 85, and by appropriately accessing these registers for READ, the performance control CPU can grasp the operating status of the motor controller 85.
図61(a)は、演出制御CPU63によって1mS毎に実行されるタイマ割込みの処理内容を示すものであり、図22(b)の内容を詳細化したものである。また、図62は、図61(a)の処理に基づく、モータコントローラ85へのシリアル伝送手順を説明するタイムチャートである。 Figure 61(a) shows the timer interrupt processing executed every 1 mS by the performance control CPU 63, and is a detailed version of the processing in Figure 22(b). Figure 62 is a time chart explaining the serial transmission procedure to the motor controller 85 based on the processing in Figure 61(a).
1msタイマ割込み処理では、先ず、パルス状のラッチ信号LOADをセンサ基板86に出力すると共に、歩進クロックLATCHを、モータドライバDV1,DV2に出力する(RT1)。すると、ラッチパルスLOADを受けたセンサ基板86のシフトレジスタ90は、センサ信号をラッチする。また、歩進クロックLATCHを受けたモータドライバDV1,DV2は、前回のタイマ割込みで取得した8ビットデータ(電流指示値+PHASE設定)に基づいて、モータMO1,MO2を回転駆動/停止駆動する。 The 1 ms timer interrupt process first outputs a pulsed latch signal LOAD to the sensor board 86, and outputs a stepping clock LATCH to motor drivers DV1 and DV2 (RT1). The shift register 90 on the sensor board 86 then latches the sensor signal upon receiving the latch pulse LOAD. Motor drivers DV1 and DV2 then rotate/stop motors MO1 and MO2 based on the 8-bit data (current command value + PHASE setting) acquired during the previous timer interrupt.
次に、演出制御CPU63は、シリアルポートSIO_0 のデータレジスタSCFRDRに取得済の前回データを、メモリの所定エリアに格納する(R2)。このように、本実施例では、前回のタイマ割込みによりシリアル受信したシリアルデータを、次回のタイマ割込み時にメモリ取得するので、電源投入後の最初の取得データ(RT2)は、当然に無視される。なお、最初に説明した通り、受信シフトレジスタSCRSR にシリアル受信されたシリアルデータは、8ビットに達するごとに、自動的に、FIFO構造のFIFOデータレジスタSCFRDRに蓄積されるよう初期設定されている。 Next, the performance control CPU 63 stores the previous data already acquired in the data register SCFRDR of the serial port SIO_0 in a specified area of memory (R2). In this way, in this embodiment, the serial data received serially in response to the previous timer interrupt is acquired from memory at the time of the next timer interrupt, so the first acquired data (RT2) after power-on is naturally ignored. As explained at the beginning, the serial data received serially in the receiving shift register SCRSR is initially set to automatically accumulate in the FIFO data register SCFRDR, which has a FIFO structure, every time it reaches 8 bits.
続いて、モータMO1やMO2によるモータ演出中か否かが判定される(RT3)。そして、モータMO1及び/又はMO2によるモータ演出中であれば、モータMO1,MO2をステップ回転させるための駆動データSDATA(16ビット)を、シリアルポートSIO_0 のFIFOデータレジスタSCFTDRに設定する(RT4)。駆動データSDATA(16ビット)は、モータMO1やMO2に対して、各々、PHASE設定値(4ビット)と電流指示値(4ビット)の8ビットで構成されるので、全体で16ビットとなる。 Next, it is determined whether motors MO1 and MO2 are currently performing a motor effect (RT3). If motors MO1 and/or MO2 are currently performing a motor effect, drive data SDATA (16 bits) for step rotation of motors MO1 and MO2 is set in the FIFO data register SCFTDR of serial port SIO_0 (RT4). The drive data SDATA (16 bits) is made up of 8 bits for each of motors MO1 and MO2: a PHASE setting value (4 bits) and a current instruction value (4 bits), for a total of 16 bits.
先に説明した通り、駆動データSDATAは、必ずしも、1mS毎に更新される必要はなく、モータの回転速度が遅い場合には、同一のPHASE設定値が複数N回使用される。この場合、N回のPHASE設定値は、常に同一であるが、2回目からN-1回目までの電流指示値は、例えば25%駆動の抑制レベルとするのが好適である。この抑制レベルでは、電力消費が原理的に1/16=6.25%となる。 As explained earlier, drive data SDATA does not necessarily need to be updated every 1 mS; if the motor rotation speed is slow, the same PHASE setting value can be used multiple times, N times. In this case, the N PHASE setting values are always the same, but it is preferable to set the current instruction value from the second to the (N-1)th time to a suppression level of, for example, 25% drive. At this suppression level, power consumption is theoretically 1/16 = 6.25%.
また、後述する図60(d)の動作を実現するには、一連の回転動作を開始するに先立って、停止状態を維持するPHASE設定値(最終回転時の送信値)と、上限レベルの電流指示値(100%駆動)と、で構成された駆動データSDATAを、FIFOデータレジスタSCFTDRに設定する。 In addition, to realize the operation shown in Figure 60(d) described below, before starting a series of rotation operations, drive data SDATA consisting of a PHASE setting value (transmitted value at the final rotation) that maintains the stopped state and an upper limit current instruction value (100% drive) is set in the FIFO data register SCFTDR.
例えば、モータMO1とMO2が同期して回転を開始する場合には、前記した各8ビットで合計16ビットの駆動データSDATAが、FIFOデータレジスタSCFTDRに用意される。そして、回転開始に先行して、この駆動データSDATAが複数回シリアル送信されることで、上限レベルの停止駆動が実行される。なお、この動作は、役物の慣性を吸収して脱調などのトラブルを未然防止するためであるので、低速でスタートする役物や、軽量の役物には不要である。 For example, when motors MO1 and MO2 start rotating in sync, the aforementioned 8-bit drive data SDATA, totaling 16 bits, is prepared in the FIFO data register SCFTDR. Then, prior to the start of rotation, this drive data SDATA is serially transmitted multiple times, executing an upper-level stop drive. Note that this operation is intended to absorb the inertia of the reel and prevent problems such as stepping out, and is therefore not necessary for reels that start at low speeds or lightweight reels.
一方、モータMO1やMO2によるモータ演出中でなければ、停止状態のモータMO1,MO2について、停止駆動用の駆動データSDATAを、FIFOデータレジスタSCFTDRに設定する(RT5)。停止駆動用の駆動データSDATAとは、停止状態を維持するPHASE設定値(前回の送信値)と、抑制レベルの電流指示値(例えば25%駆動)と、で構成される。 On the other hand, if motors MO1 and MO2 are not currently performing motor effects, drive data SDATA for stop drive is set in the FIFO data register SCFTDR for motors MO1 and MO2 that are in a stopped state (RT5). Drive data SDATA for stop drive consists of the PHASE setting value (previously transmitted value) that maintains the stopped state and the current instruction value for the suppression level (e.g., 25% drive).
この場合も、図60(d)の動作を実現するには、いきなり抑制レベルの電流指示値を送信するのではなく、停止状態を維持するPHASE設定値(前回の送信値)と、上限レベルの電流指示値(100%駆動)と、で構成された駆動データSDATAを、適当回数だけ先行して送信して、上限レベルの停止駆動が実行される。この動作も、役物の慣性を吸収するためであるので、ゆっくり停止する役物や、軽量の役物には不要となる。 In this case, to achieve the operation shown in Figure 60(d), rather than immediately transmitting the suppression level current command value, drive data SDATA consisting of the PHASE setting value (previously transmitted value) to maintain the stopped state and the upper limit level current command value (100% drive) is transmitted in advance an appropriate number of times, and the upper limit level stop drive is performed. This operation is also to absorb the inertia of the reel, so it is not necessary for reels that stop slowly or are lightweight.
続いて、演出制御CPU63は、シリアルポートSIO_0 のFIFOデータレジスタSCFTDRに設定した駆動データSDATA(16ビット)に関して、シリアルポートSIO_0 のシリアル送受信処理を開始させる(RT6)。その結果、シリアルポートSIO_0 は、FIFOデータレジスタSCFTDRが空になるまで、合計16個のシフトクロックSCKを出力し、このシフトクロックSCKに同期して、16ビットの送信データ(駆動データSDATA)がモータドライバDV1,DV2に転送される。 Next, the performance control CPU 63 starts serial transmission/reception processing of the serial port SIO_0 for the drive data SDATA (16 bits) set in the FIFO data register SCFTDR of the serial port SIO_0 (RT6). As a result, the serial port SIO_0 outputs a total of 16 shift clocks SCK until the FIFO data register SCFTDR becomes empty, and the 16-bit transmission data (drive data SDATA) is transferred to the motor drivers DV1 and DV2 in synchronization with these shift clocks SCK.
なお、図56において説明した通り、このタイミングで送信した駆動データSDATAは、次回のタイマ割込みで出力される歩進クロックLATCHによって実効化される。 As explained in Figure 56, the drive data SDATA sent at this timing is executed by the stepping clock LATCH output at the next timer interrupt.
また、シフトクロックSCKは、センサ基板86にも供給されるので、最初の8個のシフトクロックSCKに同期して、センサ信号SENが、シリアルポートSIO_0 の受信シフトレジスタSCRSR にシリアル受信され、受信データは、FIFOデータレジスタSCFRDRに蓄積される。合計16個のシフトクロックSCKが出力されるので、蓄積データは、合計16ビット長であるが、最初の8ビットだけが有意なセンサ信号SENであり、残りの8ビットは、無為な00Hである(図51(b)参照) The shift clock SCK is also supplied to the sensor board 86. Synchronized with the first eight shift clocks SCK, the sensor signal SEN is serially received by the receive shift register SCRSR of the serial port SIO_0, and the received data is stored in the FIFO data register SCFRDR. Since a total of 16 shift clocks SCK are output, the stored data is 16 bits long. However, only the first eight bits are valid sensor signal SEN, and the remaining eight bits are useless 00H (see Figure 51(b)).
この実施例では、ボーレート250kbpsとしているので、シフトクロックSCKの16個分は、約16/250k=0.064mSであり、タイマ割込みの動作周期1mSにおいて、極めて短時間で処理を終わることになる(図63の上段部分参照)。また、演出制御CPU63は、シリアル送信の処理を開始させるだけであって(R6)、シリアル送信の完了を待たないので、ステップR1~R6の処理は、ごく一瞬で終わることになる。なお、シリアル受信されたデータを、次回のタイマ割込み処理に委ねる点も処理時間の短縮に寄与している。 In this embodiment, the baud rate is 250 kbps, so 16 shift clocks SCK is approximately 16/250 k = 0.064 mS, and with a timer interrupt operating period of 1 mS, processing is completed in an extremely short time (see the upper part of Figure 63). Also, the performance control CPU 63 only starts the serial transmission process (R6) and does not wait for the serial transmission to be completed, so the processing of steps R1 to R6 is completed in an instant. Furthermore, the fact that the serially received data is left to the next timer interrupt processing also contributes to shortening the processing time.
ところで、CH0のモータ演出が終了した後は、図61の破線で示すように、ステップRT5の処理を実行することなく、ステップRT4とRT6の処理をスキップしても良い。この場合には、最終のPHASE設定値と電流設定値と、に基づいた定電流制御によって、各モータMO1,MO2が繰り返し停止駆動される。 By the way, after the CH0 motor performance has ended, as shown by the dashed line in Figure 61, the processing of steps RT4 and RT6 may be skipped without executing the processing of step RT5. In this case, motors MO1 and MO2 are repeatedly stopped and driven by constant current control based on the final PHASE setting value and current setting value.
以上のシリアルポートSIO_0 の処理が終われば、演出制御CPU63は、コンペアマッチタイマCMTを機能させて、パルス幅が、例えば0.8mS程度の動作中信号SSの出力を開始させる(RT7)。図49の左上部に記載の通り、コンペアマッチタイマCMTは、クロック信号のカウント動作の開始に対応して、動作中信号SSをHレベルに遷移させ、その後、カウント結果が、所定の上限値MXに達するとCMT割込みを発生させるよう初期設定されている。 Once the above processing of serial port SIO_0 is complete, the performance control CPU 63 activates the compare match timer CMT, causing it to begin outputting an operating signal SS with a pulse width of, for example, approximately 0.8 ms (RT7). As shown in the upper left of Figure 49, the compare match timer CMT transitions the operating signal SS to H level in response to the start of the clock signal count operation, and is initially configured to then generate a CMT interrupt when the count result reaches a predetermined upper limit value MX.
そして、CMT割込み処理において、演出制御CPU63が、コンペアマッチタイマCMTのカウント動作を停止することで、動作中信号SSがHレベルからLレベルに戻る。以上の通り、動作中信号SSについても、演出制御CPU63は、立上りエッジと、立下りエッジにしか関与しないので、他の演出制御処理の処理時間を奪うなどの悪影響を与えるおそれはない。 Then, during the CMT interrupt processing, the performance control CPU 63 stops the counting operation of the compare match timer CMT, causing the operating signal SS to return from H level to L level. As described above, the performance control CPU 63 is only concerned with the rising edge and falling edge of the operating signal SS, so there is no risk of it having a negative impact, such as taking away processing time from other performance control processes.
動作中信号SSをHレベルに立上げた後、演出制御CPU63は、モータコントローラ85からセンサ信号MISOを取得する(RT8)。図62(a)は、この取得手順を示すタイムチャートであり、8個のシフトクロックSCKに同期して、デバイス番号S7~S6=00、動作種別S5~S4=11、読出し対象UZYX軸S3~S0=0010、又はS3~S0=0001とすることで、デバイス番号00のモータコントローラ85における、X軸かY軸のセンサ信号を取得する旨を規定する。 After raising the in-operation signal SS to H level, the performance control CPU 63 acquires the sensor signal MISO from the motor controller 85 (RT8). Figure 62(a) is a time chart showing this acquisition procedure, which synchronizes with eight shift clocks SCK, setting device numbers S7-S6 = 00, operation type S5-S4 = 11, and read target UZYX axes S3-S0 = 0010 or S3-S0 = 0001 to specify that the sensor signal for the X or Y axis of the motor controller 85 with device number 00 is to be acquired.
次に、その後の8個のシフトクロックSCKに同期して、X軸であるモータMO3の関するセンサ信号(又は、Y軸であるモータMO4関するセンサ信号)を取得する。すなわち、図62(a)の動作を二回繰り返すことで、X軸とY軸のセンサ信号を取得する。なお、図59に示す通り、汎用入出力ポートのうち、入力ポートに設定されているのは、ポートP0(P0x 端子、P0y 端子)と、ポートP1(P1x 端子,P1y 端子)だけであるので、受信データD7~D0のうち有意データは、D1,D0だけである。そして、演出制御CPUは、取得したセンサ信号D1,D0を、メモリの適所に保存して、その後のモータ演出に活用する。 Next, in synchronization with the eight subsequent shift clocks SCK, the sensor signal for motor MO3 (X-axis) (or the sensor signal for motor MO4 (Y-axis)) is acquired. In other words, by repeating the operation of Figure 62(a) twice, sensor signals for the X and Y axes are acquired. As shown in Figure 59, of the general-purpose input/output ports, only port P0 (P0x terminal, P0y terminal) and port P1 (P1x terminal, P1y terminal) are set as input ports, so of the received data D7 to D0, only D1 and D0 are significant. The performance control CPU then stores the acquired sensor signals D1 and D0 in an appropriate location in memory and uses them in subsequent motor performances.
但し、先に説明したように、演出制御CPU63がモータコントローラ85に指定できる動作モードには、センサ検出までCW方向に移動するCW位置決め移動(MD5)や、センサ検出までCCW方向に移動するCCW位置決め移動(MD6)の動作モードが含まれているので、演出制御CPU63は、特に、センサ信号を把握する必要はなく、したがって、ステップRT8の処理を省略することもできる。 However, as explained above, the operating modes that the performance control CPU 63 can specify to the motor controller 85 include CW positioning movement (MD5), which moves in the CW direction until sensor detection, and CCW positioning movement (MD6), which moves in the CCW direction until sensor detection. Therefore, the performance control CPU 63 does not need to specifically grasp the sensor signal, and therefore the processing of step RT8 can be omitted.
何れにしても、次に、演出制御CPU63は、モータMO3やMO4によるモータ演出中か否かに基づいて、モータMO3,MO4のモータ動作を規定する最高8×16ビットの制御データMOSIを、シリアルポートSIO_1 のFIFOデータレジスタSCFTDRに設定する(RT9)。モータ演出中であれば、これを実現する演出回転駆動用の制御データがFIFOデータレジスタSCFTDRに設定されるが、モータ演出中でなければ、定電流制御における上限値NFを抑制するための待機停止駆動用の制御データが設定される。 In any case, next, the performance control CPU 63 sets up to 8 x 16 bits of control data MOSI that specifies the motor operation of motors MO3 and MO4 in the FIFO data register SCFTDR of serial port SIO_1 based on whether or not a motor performance is being performed by motors MO3 and MO4 (RT9). If a motor performance is being performed, control data for the performance rotation drive that achieves this is set in the FIFO data register SCFTDR, but if a motor performance is not being performed, control data for standby stop drive that suppresses the upper limit value NF in constant current control is set.
以上のようにして、ステップRT8~RT9の処理が終われば、次に、シリアルポートSIO_1 のシリアル送信処理を開始させる(RT10)。図62(b)と、図62(c)は、シリアルポートSIO_1 から、モータコントローラ85に制御データMOSIをシリアル送信する場合の手順を図示したものである。 Once steps RT8 and RT9 have been completed, serial transmission processing of serial port SIO_1 begins (RT10). Figures 62(b) and 62(c) illustrate the steps for serially transmitting control data MOSI from serial port SIO_1 to motor controller 85.
先ず、図62(b)は、許可信号ENABLEや設定信号SETを、汎用出力ポートP2,P3から出力する場合の出力手順を示すタイムチャートである。図示の通り、8個のシフトクロックSCKに同期して、デバイス番号S7~S6=00、動作種別S5~S4=10、書込み対象UZYX軸S3~S0=0010、又はS3~S0=0001とすることで、デバイス番号00のモータコントローラ85における、X軸用(モータドライバDV3)か、Y軸用(モータドライバDV4)の制御信号を出力する旨を規定する。 First, Figure 62(b) is a time chart showing the output procedure when the enable signal ENABLE and the setting signal SET are output from the general-purpose output ports P2 and P3. As shown, by synchronizing with eight shift clocks SCK, and setting device numbers S7 to S6 = 00, operation type S5 to S4 = 10, and write target UZYX axes S3 to S0 = 0010 or S3 to S0 = 0001, it is specified that a control signal for the X axis (motor driver DV3) or Y axis (motor driver DV4) of the motor controller 85 with device number 00 is to be output.
次に、その後の8個のシフトクロックSCKに同期して、モータドライバDV3の関する制御信号(又は、モータドライバDV4関する制御信号)を出力する。この場合の、図62(b)の動作を二回繰り返すことで、X軸とY軸の制御信号の出力が完了する。なお、図59に示す通り、汎用入出力ポートのうち、出力ポートに設定されているのは、ポートP2(P2x 端子、P2y 端子)と、ポートP3(P3x 端子,P3y 端子)だけであるので、出力データD7~D0のうち有意データは、D3(=SET)と、D2(=ENABLE)だけである。 Next, in synchronization with the next eight shift clocks SCK, a control signal for motor driver DV3 (or a control signal for motor driver DV4) is output. In this case, the operation of Figure 62(b) is repeated twice to complete the output of the X-axis and Y-axis control signals. As shown in Figure 59, of the general-purpose input/output ports, only port P2 (P2x terminal, P2y terminal) and port P3 (P3x terminal, P3y terminal) are set as output ports, so of the output data D7 to D0, the only significant data are D3 (= SET) and D2 (= ENABLE).
先に説明した通り、本実施例では、設定信号SETのH/Lレベルに応じて、定電流制御の電流上限値NFが、回転駆動用のHレベルと、停止駆動用のLレベルの二段階に制御されており、役物演出中はSET=Hレベルに制御され、演出待機中はSET=Lに制御される。 As explained above, in this embodiment, the upper current limit value NF of the constant current control is controlled in two stages: H level for rotational drive and L level for stop drive, depending on the H/L level of the setting signal SET. SET is controlled to H level during special effects performance, and SET is controlled to L level during performance standby.
次に、図62(c)は、モータコントローラ85の動作を規定するコマンドの送信処理や、内蔵レジスタへの動作パラメータの設定処理を説明するタイムチャートである。モータコントローラ85の動作を規定する各種のコマンド(CM1)~(CM4)は、何れも8ビット構成であるので、図62(c)の上段部分の処理で完了する。すなわち、コマンドを送信する場合は、先ず、8個のシフトクロックSCKに同期して、デバイス番号S7~S6=00、動作種別S5~S4=00、コマンド対象UZYX軸S3~S0=00**、をシリアル送信することで、デバイス番号00のモータコントローラ85における、X軸(MO3)及び/又はY軸(MO4)に対するコマンドが送信されることを予告する。 Next, Figure 62(c) is a time chart explaining the process of sending commands that define the operation of the motor controller 85 and the process of setting operating parameters in the built-in registers. The various commands (CM1) to (CM4) that define the operation of the motor controller 85 are all 8-bit, so the processing in the upper part of Figure 62(c) is completed. That is, when sending a command, device numbers S7 to S6 = 00, operation types S5 to S4 = 00, and command target UZYX axes S3 to S0 = 00** are first serially sent in synchronization with eight shift clocks SCK, thereby notifying the user that a command will be sent to the X-axis (MO3) and/or Y-axis (MO4) of the motor controller 85 with device number 00.
次に、これに続く、8個のシフトクロックSCKに同期して、8ビット長のコマンドデータを送信する。なお、S3~S0=0001であれば、X軸(MO3)に関するコマンドとなり、S3~S0=0010であれば、Y軸(MO4)に関するコマンドとなり、S3~S0=0011であれば、X軸及びY軸(MO3+MO4)に対するコマンドとなる。 Next, 8-bit command data is transmitted in synchronization with the following eight shift clocks SCK. If S3 to S0 = 0001, the command is for the X axis (MO3); if S3 to S0 = 0010, the command is for the Y axis (MO4); and if S3 to S0 = 0011, the command is for both the X and Y axes (MO3 + MO4).
以上、コマンド送信について説明したが、各種のレジスタに動作パラメータを設定する場合には、レジスタ番号が8ビット長、動作パラメータが16ビット長であることに対応して、図62(c)の上段部分に続いて下段部分の処理が必要となる。具体的に説明すると、レジスタへの動作パラメータの設定時には、先ず、8個のシフトクロックSCKに同期して、デバイス番号S7~S6=00、動作種別S5~S4=00、コマンド対象UZYX軸S3~S0=00**、をシリアル送信することで、デバイス番号00のモータコントローラ85における、X軸(MO3)及び/又はY軸(MO4)に対するレジスタ設定値が送信されることを予告する。 The above explains command transmission, but when setting operating parameters in various registers, the processing in the lower section of Figure 62(c) is required following the upper section, since register numbers are 8 bits long and operating parameters are 16 bits long. Specifically, when setting operating parameters in registers, first, in synchronization with eight shift clocks SCK, device numbers S7-S6 = 00, operation types S5-S4 = 00, and command target UZYX axes S3-S0 = 00** are serially transmitted, thereby notifying the user that the register setting values for the X axis (MO3) and/or Y axis (MO4) of the motor controller 85 with device number 00 will be transmitted.
次に、8個のシフトクロックSCKに同期して、8ビット長のレジスタ番号を送信する。そして、その後は、16個のシフトクロックに同期して、レジスタ番号で特定されたレジスタへの設定値(16ビット長の動作パラメータ)をシリアル送信することになる。 Next, an 8-bit register number is transmitted in synchronization with eight shift clocks SCK. Then, the setting value (16-bit operating parameter) for the register identified by the register number is serially transmitted in synchronization with 16 shift clocks.
図63の下段には、シリアルポートSIO_1 におけるシリアル受信処理と、これに続くシリアル送信処理が記載されている。X軸とY軸のシリアル受信に合計16*2個のシフトクロックSCKを要し、8*16ビットの制御データMOSIのシリアル送信にシフトクロックSCKを8*16個を要するので、ボーレート250kbpsで動作させた場合の処理時間は、10*16/250k=0.645mSであり、タイマ割込みの一周期1mSの半分ぐらいの時間で全ての処理が終わることになる。 The bottom part of Figure 63 shows the serial receive processing on serial port SIO_1, followed by the serial transmit processing. A total of 16*2 shift clocks SCK are required for serial receive of the X and Y axes, and 8*16 shift clocks SCK are required for serial transmission of the 8*16-bit control data MOSI. Therefore, when operating at a baud rate of 250 kbps, the processing time is 10*16/250 k = 0.645 mS, meaning that all processing is completed in about half the 1 mS timer interrupt cycle.
但し、演出制御CPU63は、シリアル送信の処理を開始させるだけで処理を終え(R11)、シリアル送信完了を待たないので、ステップR7~R11の処理は、ごく一瞬で終わることになる。 However, the performance control CPU 63 only starts the serial transmission process and ends it (R11), and does not wait for the serial transmission to be completed, so the processing of steps R7 to R11 is completed in an instant.
図64(a)は、モータドライバDV3,DV4によって駆動されるステッピングモータMO3,MO4と、モータMO3,MO4によって回転駆動されるスパイラルシャフトBARと、スパイラルシャフトBARのネジ山に対応するネジ溝GVがガイド溝と共に設けられた役物AMUと、役物AMUのガイド溝GVを把持して役物AMUの直線移動を案内する案内部材GDとが、図示されている。 Figure 64 (a) shows stepping motors MO3 and MO4 driven by motor drivers DV3 and DV4, a spiral shaft BAR driven to rotate by the motors MO3 and MO4, a reel AMU on which a screw groove GV corresponding to the thread of the spiral shaft BAR is provided along with a guide groove, and a guide member GD that grips the guide groove GV of the reel AMU and guides the linear movement of the reel AMU.
役物AMUのガイド溝GVは、案内部材GDによって直線移動可能に保持されているので、役物AMUは、スパイラルシャフトBARの回転に対応して、直線移動することになる。ここで、スパイラルシャフトBAR及び案内部材GDは、遊技盤の左右位置において、上下方向に隠蔽状態で配置されており、遊技盤の左右上部には、原点位置の役物AMUが隠蔽状態で待機している。なお、図示例では2つの役物AMU,AMUが分離状態であり、独立的に移動可能であるが、2つの役物を連結状態にするのも好適である。 The guide groove GV of the reel AMU is held by the guide member GD so that it can move linearly, and the reel AMU moves linearly in response to the rotation of the spiral shaft BAR. Here, the spiral shaft BAR and guide member GD are arranged on the left and right sides of the game board in a vertically concealed state, and the reel AMU is waiting in a concealed state at the top left and right of the game board in its origin position. In the illustrated example, the two reels AMU, AMU are separate and can move independently, but it is also preferable to connect the two reels.
先に説明した通り、ステッピングモータMO3,MO4は、何れも2相励磁されてステップ角θは7.5度である。そして、360/7.5=48より、各モータMO3,MO4は、48個の歩進クロックCLKを受けることで一回転することになる。一方、モータMO3,MO4の回転に対応して回転するスパイラルシャフトBARの回転ピッチは、24mmであり、モータ一回転に対応して、役物AMUは、L=24mm移動することになる。 As explained earlier, stepping motors MO3 and MO4 are both two-phase excited with a step angle θ of 7.5 degrees. Since 360/7.5=48, each motor MO3 and MO4 will rotate once upon receiving 48 stepping clocks CLK. Meanwhile, the rotational pitch of the spiral shaft BAR, which rotates in response to the rotation of motors MO3 and MO4, is 24 mm, and the reel AMU moves L=24 mm in response to one motor rotation.
したがって、移動距離TOTAL[mm]を実現するには、モータの回転数TOTAL/L=TOTAL/24[回]が必要であり、この回転に必要な歩進クロックCLKのステップ数は、TOTAL/24*48=TOTAL*2となる。ここで、歩進クロックCLKのパルス速度を、PS[PPS:pulse per second]とすると、ステップ数TOTAL*2を出力するに要する時間は、TOTAL*2/PS[秒]となる。 Therefore, to achieve a travel distance of TOTAL [mm], the motor must rotate TOTAL/L = TOTAL/24 [times], and the number of steps of the stepping clock CLK required for this rotation is TOTAL/24 * 48 = TOTAL * 2. Here, if the pulse speed of the stepping clock CLK is PS [PPS: pulses per second], then the time required to output the number of steps TOTAL * 2 is TOTAL * 2/PS [seconds].
本実施例では、歩進クロックCLKのパルス速度PSは、2900pps程度までは安定して出力可能である。例えば、パルス速度PS=2900ppsの場合、移動距離TOTAL[mm]を実現するに要する時間T[秒]は、TOTAL*2/PS=TOTAL/1450[秒]・・・(式1)となる。なお、パルス速度PS=2900ppsに対応する役物の移動速度は、本実施例では、2900/48*24=1450mm/Sであって、1m/S以上である。 In this embodiment, the pulse speed PS of the stepping clock CLK can be stably output up to approximately 2900 pps. For example, when the pulse speed PS = 2900 pps, the time T [seconds] required to achieve a movement distance TOTAL [mm] is TOTAL * 2/PS = TOTAL/1450 [seconds]... (Equation 1). In this embodiment, the movement speed of the reel corresponding to a pulse speed PS = 2900 pps is 2900/48 * 24 = 1450 mm/s, which is greater than 1 m/s.
ところで、自由落下は物質の重量に関係せず、落下距離=1/2*g*t2の関係が成立する。ここで、g=重力加速度、t=落下時間である。したがって、例えば、30cmの自由落下に要する時間Tは、0.3=1/2*g*T2より、T=SQR(0.6/9.8)≒0.247秒となる。ここで、TOTAL=300[mm]として、役物AMUの移動時間を計算すると、上記した式1より、TOTAL/1450≒0.207[秒]となり、本実施例によれば、移動距離30cm程度であれば、自由落下より高速度で役物AMUを移動できることが確認される。なお、自由落下において、51cm通過時の落下速度が1m/Sである。 Free fall is independent of the weight of the object, and the relationship fall distance = 1/2 * g * t2 holds. Here, g = gravitational acceleration, and t = fall time. Therefore, for example, the time T required for a 30 cm free fall is 0.3 = 1/2 * g * T2, so T = SQR (0.6/9.8) ≒ 0.247 seconds. Here, assuming TOTAL = 300 mm, the travel time of the accessory AMU is calculated using the above formula 1 as TOTAL / 1450 ≒ 0.207 seconds. This confirms that, according to this embodiment, the accessory AMU can be moved at a higher speed than a free fall if the travel distance is approximately 30 cm. Note that the fall speed during free fall is 1 m/s when passing 51 cm.
図64(b)は、モータMO3及び/又はモータMO4によるモータ演出の一例を説明する図面であり、役物AMUが、突然、自由落下速度を超える速度で落下して、跳ね返って停止する動作を示している。この動作は、(1)原点復帰動作と、(2)待機動作と、(3)急落下動作と、(4)バウントアップ動作と、(5)バウンドダウン動作とで構成されている。 Figure 64 (b) is a diagram illustrating an example of a motor effect using motor MO3 and/or motor MO4, showing the action of the reel AMU suddenly falling at a speed exceeding the free fall speed, bouncing back to a stop. This action consists of (1) a return-to-origin action, (2) a standby action, (3) a sudden drop action, (4) a bounce-up action, and (5) a bounce-down action.
先ず、原点復帰動作は、センサ検出までCCW方向に移動する動作モード(MD6)を使用してもよいが、ここでは、CCW方向に位置決め移動する動作モード(MD4)を使用している。次に、急落下動作は、CW方向に位置決め移動する動作モード(MD3)を使用している。なお、センサ検出までCW方向に移動する動作モード(MD5)を使用しても良いのは勿論である。 First, for the origin return operation, an operation mode (MD6) in which the actuator moves in the CCW direction until the sensor detects the movement can be used, but here, an operation mode (MD4) in which the actuator moves for positioning in the CCW direction is used. Next, for the sudden drop operation, an operation mode (MD3) in which the actuator moves for positioning in the CW direction is used. Of course, an operation mode (MD5) in which the actuator moves in the CW direction until the sensor detects the movement can also be used.
何れにしても、急落下動作(3)の運転速度は、2900ppsに設定されるので、自由落下より速い速度で役物AMUが移動する。なお、パルス数レジスタRWVに設定されるパルス数は、600パルスであり、移動距離TOTALは、600/48*24=300mmである。また、台形駆動が採用され、所定の加速レートと、減速レートが規定されることで、最適な加速時間と減速時間が確保される。そのため、高速移動しても脱調などのトラブルは生じない。 In either case, the operating speed for the sudden drop operation (3) is set to 2900 pps, so the AMU reel moves at a speed faster than free fall. The number of pulses set in the pulse count register RWV is 600 pulses, and the total movement distance is 600/48*24=300 mm. Furthermore, trapezoidal drive is used, and by specifying a predetermined acceleration rate and deceleration rate, optimal acceleration and deceleration times are ensured. Therefore, problems such as step-out do not occur even when moving at high speeds.
続く、バウンドアップ動作(4)とバウンドダウン動作(5)には、CCW方向に位置決め移動する動作モード(MD4)と、CW方向に位置決め移動する動作モード(MD3)が使用される。これらの運転速度は、500pps程度で低速であるので、矩形駆動を採用しており、各々のステップ数は、50パルスであって、25mm程度の跳ね返り動作を演出している。 The following bounce-up operation (4) and bounce-down operation (5) use an operation mode (MD4) for positioning movement in the CCW direction and an operation mode (MD3) for positioning movement in the CW direction. These operation speeds are low at around 500 pps, so rectangular drive is used, with each step count of 50 pulses, producing a bouncing movement of around 25 mm.
以上の通り、本実施例では、モータコントローラ85を活用することで、演出制御CPU63の制御負担が軽減されると共に、複雑高度なモータ演出が可能となる。また、役物を高速移動させても、加速時間や減速時間を確保することで、脱調などの事態を未然防止することができる。 As described above, in this embodiment, by utilizing the motor controller 85, the control burden on the performance control CPU 63 is reduced and complex, advanced motor performances are possible. Furthermore, even when the props are moved at high speed, by ensuring sufficient acceleration and deceleration times, problems such as loss of synchronization can be prevented.
但し、実施例で使用するモータドライバDV3,DV4は、そのVREFA 端子やVREFB 端子について、図57のような回路構成を採るので、モータドライバDV1,DV2の場合とは異なり、出力電流Ioutの上限値NFを複数段階に制御することはできない。その一方で、上限電流の設定回路LMTを設けるので、1ビット長の設定信号SETによって電子スイッチSWをON/OFF制御することで、任意のタイミングで上限電流NFを制御することができる(図57参照)。 However, the motor drivers DV3 and DV4 used in this embodiment have a circuit configuration as shown in Figure 57 for their VREFA and VREFB terminals, so unlike the motor drivers DV1 and DV2, the upper limit value NF of the output current Iout cannot be controlled in multiple stages. On the other hand, because an upper limit current setting circuit LMT is provided, the upper limit current NF can be controlled at any timing by controlling the electronic switch SW to turn ON/OFF using a 1-bit setting signal SET (see Figure 57).
そこで、本実施例では、モータMO3やモータMO4による役物演出の実行時だけ上限電流NFをHレベル(473mA)にし、それ以外の待機状態では、電子スイッチSWをOFF設定して、上限電流NFをLレベル(102mA)に維持している。 In this embodiment, the upper limit current NF is set to H level (473 mA) only when motors MO3 and MO4 are performing special effects, and in other standby states, the electronic switch SW is set to OFF, maintaining the upper limit current NF at L level (102 mA).
また、別の実施例では、役物演出中も適宜に上限電流NFを制御することで、無駄な消費電力を抑制している。具体的には、モータコントローラ85の環境設定レジスタRENVを活用して、図60(d)に記載のカウントダウン制御を実行している。先に説明した通り、環境設定レジスタRENVには、カウントアップ時間TCUPと、カウントダウン時間TCDWとが設定可能に構成されている。 In another embodiment, unnecessary power consumption is reduced by appropriately controlling the upper limit current NF even during the performance of the special feature. Specifically, the environment setting register RENV of the motor controller 85 is used to execute the countdown control shown in Figure 60 (d). As explained above, the environment setting register RENV is configured to allow the count-up time TCUP and the count-down time TCDW to be set.
そこで、本実施例では、スタートコマンドの発行時には、これに合わせて、設定信号SETをHレベルに遷移させて、上限電流NFをHレベル(473mA)に設定すると共に、カウントアップ時間TCUPを設定して、TCUPカウントダウン動作を開始させている。このモータコントローラ85では、カウントダウン動作が完了するまでは、スタートコマンドが実効化されないよう構成されており、所定の待機時間(カウントダウン時間)を経た後に、一連のパルス列を出力し始める。 In this embodiment, when a start command is issued, the setting signal SET transitions to H level, the upper limit current NF is set to H level (473 mA), the count-up time TCUP is set, and the TCUP count-down operation begins. The motor controller 85 is configured so that the start command is not executed until the count-down operation is complete, and begins outputting a series of pulses after a specified waiting time (count-down time) has elapsed.
一方、スタートコマンドの発行に対応して、設定信号SETは、直ちにHレベルに遷移するので、対応するステッピングモータMO3/MO4は、上限電流NFが低いそれまでの待機モードから、上限電NFが高い駆動モードに移行することになる。但し、このタイミングでは、未だ、新規の歩進クロックCLKが出力されていないので、モータMO3/MO4は停止状態を維持するが、停止状態における駆動が、低電流駆動から高電流駆動に移行することになる(図58(c)参照)。 Meanwhile, in response to the issuance of the start command, the setting signal SET immediately transitions to H level, causing the corresponding stepping motors MO3/MO4 to transition from the standby mode with a low upper limit current NF to a drive mode with a high upper limit current NF. However, since a new stepping clock CLK has not yet been output at this timing, motors MO3/MO4 remain stopped, but their drive in the stopped state transitions from low current drive to high current drive (see Figure 58 (c)).
そして、その後、新規の歩進クロックCLKが出力されたタイミングで、モータMO3/MO4は、安定した高電流駆動状態でステップ回転することになる。回転開始時には、必ず規定レベルの出力トルクが必要であるところ、本実施例では、事前に高電流駆動を開始しているので、出力トルクの不足がなく、慣性の大きい役物であっても円滑に起動させることができる。 Then, when a new stepping clock CLK is output, motors MO3/MO4 will rotate stepwise in a stable, high-current drive state. A specified level of output torque is always required when rotation begins, but in this embodiment, high-current drive is initiated in advance, so there is no shortage of output torque, and even devices with large inertia can be started smoothly.
その後、モータMO3/MO4が所定の回転動作を終えた後、停止コマンドが発行されるが、これに合わせて、環境設定レジスタRENVのカウントダウン時間TCDWを設定して、TCDWカウントダウン動作を開始させる。そして、演出制御CPU63は、その後、1mS毎に環境設定レジスタRENVをREADアクセスして、TCDWカウントダウン動作が終わったことが確認されれば、設定信号SETをLレベルに遷移させて上限電流NFをLレベル(102mA)に降下させる。なお、TCDWカウントダウン動作の終了に対応して割込み処理を起動させるのも好適であり、この場合には、1mS毎に環境設定レジスタRENVをREADアクセスする必要がない。 After that, when motors MO3/MO4 have completed their specified rotational operation, a stop command is issued. In response to this, the countdown time TCDW in the environment setting register RENV is set and the TCDW countdown operation begins. The performance control CPU 63 then reads and accesses the environment setting register RENV every 1 ms, and once it has confirmed that the TCDW countdown operation has ended, it transitions the setting signal SET to L level and reduces the upper limit current NF to L level (102 mA). It is also preferable to start an interrupt process in response to the end of the TCDW countdown operation; in this case, there is no need to read and access the environment setting register RENV every 1 ms.
何れにしても、上記のカウントダウン制御は、役物の慣性が大きい場合にも、停止状態を確実に安定化させるためであり、所定時間だけ高電流状態でモータを停止駆動することで、役物の停止状態が安定化する。なお、カウントダウン制御は、主として役物AMUの慣性を吸収する目的で実行されるので、環境設定レジスタRENVに設定するカウントアップ時間TCUPや、カウントダウン時間TCDWは、役物AMUの重量などに対応して適宜に設定される。また、スタートコマンドに対応して、カウントアップ時間TCUPを設定する上記の方法に代えて、スタートコマンドの発行前に、カウントアップ時間TCUPを設定することもでき、この場合には、スタートコマンドの発行に対応して、歩進クロックCLKの出力が開始される。 In any case, the above countdown control is intended to reliably stabilize the stopped state even when the inertia of the reel is large, and by stopping and driving the motor at a high current for a predetermined period of time, the stopped state of the reel is stabilized. Since the countdown control is primarily performed to absorb the inertia of the reel AMU, the count-up time TCUP and count-down time TCDW set in the environment setting register RENV are set appropriately according to the weight of the reel AMU, etc. Furthermore, instead of the above method of setting the count-up time TCUP in response to a start command, the count-up time TCUP can also be set before the start command is issued. In this case, the output of the stepping clock CLK will begin in response to the issuance of the start command.
以上、本発明の実施例について説明したが、具体的な記載内容は、特に本発明を限定しない。例えば、CPU回路51は、モータドライバ85を介することなく、直接、ドライバDV3,DV4を制御しても良い。また、図63では、スパイラルシャフトBARの回転に対応して、役物AMUが直線移動する例を説明したが、何ら限定されず、円形歯車であるラックと、円形歯車に歯合する平板材であるピニオンと、を利用した伝達機構を利用してもよい。また、役物の移動は、必ずしも直線移動に限定されない。役物を回転移動させても良いし、非直線的な役物の往復移動、例えば、円弧軌道に沿った往復移動も好適である。 The above describes an embodiment of the present invention, but the specific description does not particularly limit the present invention. For example, the CPU circuit 51 may directly control the drivers DV3 and DV4 without going through the motor driver 85. Also, while Figure 63 describes an example in which the reel AMU moves linearly in response to the rotation of the spiral shaft BAR, this is not limited to this, and a transmission mechanism using a rack, which is a circular gear, and a pinion, which is a flat material that meshes with the circular gear, may also be used. Furthermore, the movement of the reel is not necessarily limited to linear movement. The reel may be rotated, or non-linear reciprocating movement of the reel, such as reciprocating movement along an arc trajectory, is also suitable.
また、加速時間及び減速時間を有して、高速運転に好適な台形駆動と、低速運転に好適な即スタート及び即停止の定速運転(矩形駆動)について説明したが、特に限定されない。例えば、加速時間だけゼロの定速スタート運転や、減速時間だけゼロの即停止運転も好適である。また、モータコントローラ85が介在する台形駆動について説明したが、例えば、図50(b)の構成において、演出制御CPU63が、矩形駆動だけでなく台形駆動を実行しても良い。定速スタート運転や即停止運転についても同様である。 Furthermore, while trapezoidal drive, which has acceleration and deceleration times and is suitable for high-speed operation, and constant-speed operation (rectangular drive) with instant start and instant stop, which is suitable for low-speed operation, have been described, this is not particularly limited. For example, constant-speed start operation with zero acceleration time, and instant stop operation with zero deceleration time are also suitable. Furthermore, while trapezoidal drive involving the motor controller 85 has been described, for example, in the configuration of Figure 50(b), the performance control CPU 63 may execute trapezoidal drive in addition to rectangular drive. The same applies to constant-speed start operation and instant stop operation.
以上、ステッピングモータを使用した役物演出について説明した。しかし、遊技機の機種によっては、棒状役物を上下左右に細かく振動させる予告演出を実行したい場合もある。かかる場合、カム材を使用して棒状役物を往復運動させることも考えられるが、カム材を使用する限り、棒状役物の振動幅や振動強度を変える多様な予告演出を実現することはできない。 The above explains how to use a stepping motor to create special effects. However, depending on the type of gaming machine, there may be cases where you want to create a preview effect in which the rod-shaped special effect vibrates finely up, down, left, and right. In such cases, it is possible to use a cam material to make the rod-shaped special effect move back and forth, but as long as a cam material is used, it is not possible to create a variety of preview effects that change the vibration amplitude or vibration intensity of the rod-shaped special effect.
そこで、図65の実施例では、ブラシ付きDCモータMOaと、ラック及びピニオン機構を活用して、棒状役物を往復回転させる予告演出を実現している。ここで、DCモータMOaは、図52に内部構成を示すモータドライバDV5で駆動されて往復回転しており、後述するように、振動幅や振動強度が任意に変更可能である。 In the example shown in Figure 65, a brushed DC motor MOa and a rack and pinion mechanism are used to create a preview effect in which a rod-shaped device rotates back and forth. Here, the DC motor MOa is driven by a motor driver DV5, the internal configuration of which is shown in Figure 52, and the vibration amplitude and intensity can be changed as desired, as described below.
なお、図65(b)では、DCモータMOaと同期回転するラックRAと、ラックRAに歯合して直線移動する一対のピニオンPN1,PN2と、が示されているが、単一のピニオンPN1で足りるのは勿論である。また、図65(a)に示す通り、モータドライバDV5は、DCモータMOaだけでなく、DCモータMObについても駆動することができる。 Note that Figure 65(b) shows a rack RA that rotates synchronously with the DC motor MOa, and a pair of pinions PN1, PN2 that mesh with the rack RA and move linearly, but of course a single pinion PN1 would suffice. Also, as shown in Figure 65(a), the motor driver DV5 can drive not only the DC motor MOa, but also the DC motor MOb.
但し、以下では、モータドライバDV5は、DCモータMOaだけを駆動し、単一のラックRAに基づいて、一対のピニオンPN1,PN2が往復移動する実施例について説明する。 However, the following describes an embodiment in which the motor driver DV5 drives only the DC motor MOa, and the pair of pinions PN1, PN2 reciprocates based on a single rack RA.
モータドライバDV5は、図52(a)の内部構成を有して構成され、定電流制御期間が、8~12μS程度の定電流制御を実行している(図54(a)参照)。そして、このモータドライバDV5は、2相励磁モード、又は、1-2相励磁モードで動作しており、図52(d)に示すBridgeA回路から駆動パルスOUT_A ±を出力する共に、図52(e)に示すBridgeB回路から駆動パルスOUT_B ±を出力している。 Motor driver DV5 has the internal configuration shown in Figure 52(a) and performs constant current control with a constant current control period of approximately 8 to 12 μS (see Figure 54(a)). This motor driver DV5 operates in two-phase excitation mode or one-two-phase excitation mode, outputting drive pulses OUT_A ± from the Bridge A circuit shown in Figure 52(d) and drive pulses OUT_B ± from the Bridge B circuit shown in Figure 52(e).
図66は、BridgeA回路の回路構成と、1-2相励磁モードを説明する図面である。図66(a)に示す通り、BridgeA回路を構成する4個のトランジスタは、P型MOSトランジスタU1,U2と、N型MOSトランジスタL1,L2に区分されて、Hブリッジ回路を構成している。 Figure 66 explains the circuit configuration of the Bridge A circuit and the 1-2 phase excitation mode. As shown in Figure 66(a), the four transistors that make up the Bridge A circuit are divided into P-type MOS transistors U1 and U2 and N-type MOS transistors L1 and L2, forming an H-bridge circuit.
そして、P型トランジスタU1,U2のソース端子Sと、N型トランジスタL1,L2のソース端子Sが接続されると共に、P型トランジスタU1,U2のドレイン端子Dに駆動電源(35V)が供給され、N型トランジスタL1,L2のドレイン端子Dがグランド電位となっている。なお、P型トランジスタU1,U2には、ソース端子Sからドレイン端子Dに向けてボディダイオードDbが形成され、N型トランジスタL1,L2には、ドレイン端子Dからソース端子Sに向けてボディダイオードDbが形成されている。 The source terminals S of P-type transistors U1 and U2 are connected to the source terminals S of N-type transistors L1 and L2, and a drive power supply (35 V) is supplied to the drain terminals D of P-type transistors U1 and U2, with the drain terminals D of N-type transistors L1 and L2 at ground potential. Furthermore, body diodes Db are formed from the source terminals S to the drain terminals D of P-type transistors U1 and U2, and body diodes Db are formed from the drain terminals D to the source terminals S of N-type transistors L1 and L2.
図66(f)は、DCモータMOaへの駆動電流Iout(A)の推移を示すタイムチャートであり、所定の基準時間(τ)毎に、動作状態が推移して、1-2相励磁が実現されている。なお、基準時間τは、最小で1mSであるが(図63参照)、本実施例では、DCモータを円滑に往復運動させるため、基準時間τを、1mSの整数N倍としている(τ=Nミリ秒)。 Figure 66 (f) is a time chart showing the transition of the drive current Iout (A) to the DC motor MOa. The operating state transitions at predetermined reference time intervals (τ), achieving 1-2 phase excitation. Note that the reference time τ is at least 1 ms (see Figure 63). However, in this embodiment, the reference time τ is set to an integer multiple N of 1 ms (τ = N milliseconds) to ensure smooth reciprocating motion of the DC motor.
先ず、CW回転動作状態11を説明すると、図66(b)に示すように、モータドライバDV5は、4個のトランジスタを適宜にON/OFF制御して、右向き駆動電流Iout(A)を定電流制御して、DCモータMOaを時計方向(CW)に回転させている。なお、このCW回転時、モータドライバDV5は、所定の電流上限値NFに規定された定電流制御を実行しており、駆動電流は、CHARGE動作→SLOW放電動作→FAST放電動作を繰り返している(図54(a)参照)。 First, let's explain the CW rotation operation state 11. As shown in Figure 66(b), the motor driver DV5 appropriately turns on/off four transistors to constant-current control the rightward drive current Iout (A), causing the DC motor MOa to rotate in the clockwise (CW) direction. During this CW rotation, the motor driver DV5 executes constant-current control defined by a predetermined current upper limit NF, and the drive current repeatedly cycles through CHARGE operation → SLOW discharge operation → FAST discharge operation (see Figure 54(a)).
上記の定電流制御が、3基準時間(=3*τ)だけ継続された後、動作状態は、図66(c)の停止動作状態00に推移する。図66(c)に示すように、停止動作状態00では、全てのトランジスタL1,L2,U1,U2がOFF動作して、図示の経路でモータコイルの充電電流がFAST放電する。すなわち、トランジスタL1,U2の各ボディダイオードDbを経由して回生電流が流れて、DCモータMOaは素早く停止状態となる。 After the above constant current control continues for three reference times (= 3 * τ), the operating state transitions to the stopped operating state 00 shown in Figure 66(c). As shown in Figure 66(c), in the stopped operating state 00, all transistors L1, L2, U1, and U2 are turned off, and the charging current of the motor coil is fast discharged via the path shown. In other words, the regenerative current flows via the body diodes Db of transistors L1 and U2, and the DC motor MOa quickly comes to a stop.
そして、基準時間(τ)だけ継続する停止動作状態00の後、図66(c)から図66(d)に移行して、駆動電流Iout(A)<0となる。このCCW回転動作状態10では、図66(d)の左向きに駆動電流が流れることで、DCモータMOaは、反時計方向(CCW)に回転する。このCCW回転時も、モータドライバDV5は、所定の電流上限値NFに規定された定電流制御を実行している(図54(a)参照)。 Then, after the stop operation state 00, which lasts for a reference time (τ), the state transitions from Figure 66(c) to Figure 66(d), where the drive current Iout (A) becomes < 0. In this CCW rotation operation state 10, the drive current flows to the left in Figure 66(d), causing the DC motor MOa to rotate in the counterclockwise (CCW) direction. Even during this CCW rotation, the motor driver DV5 executes constant current control defined by a predetermined current upper limit value NF (see Figure 54(a)).
この定電流制御が、3基準時間(=3*τ)だけ継続された後に、動作状態は、図66(d)のCCW回転動作状態10から、図66(e)の停止動作状態01に推移する。図66(e)に示す通りのように、停止動作状態01でも、全てのトランジスタL1,L2,U1,U2がOFF動作して、図示の経路でモータコイルの充電電流がFAST放電して、DCモータMOaは素早く停止状態となる。 After this constant current control continues for three reference times (= 3 * τ), the operating state transitions from CCW rotation operating state 10 in Figure 66(d) to stopped operating state 01 in Figure 66(e). As shown in Figure 66(e), even in stopped operating state 01, all transistors L1, L2, U1, and U2 are turned off, and the charging current of the motor coil is fast discharged via the path shown, quickly bringing the DC motor MOa to a stopped state.
そして、基準時間(=τ)だけ継続する停止動作状態01の後、再度、図66(b)のCW回転動作状態11に移行する。以下同様であり、結局、ブラシ付きDCモータMOaは、CW回転11(回転時間3*τ)→停止00(停止時間τ)→CCW回転10(回転時間3*τ)→停止01(停止時間τ)→CW回転11(回転時間3*τ)→・・・・の回転動作を繰り返すことになる。言い換えると、ブラシ付きDCモータMOaは、回転時間3*τの往復回転をすることになり、この往復回転に対応して、ピニオンPN1,PN2は、これらに一体化した棒状役物と共に直線的に往復運動をすることになる。 Then, after the stop operation state 01, which lasts for a reference time (= τ), it transitions again to the CW rotation operation state 11 in Figure 66 (b). This process continues in the same way, and ultimately the brushed DC motor MOa repeats the following rotational operation: CW rotation 11 (rotation time 3 * τ) → stop 00 (stop time τ) → CCW rotation 10 (rotation time 3 * τ) → stop 01 (stop time τ) → CW rotation 11 (rotation time 3 * τ) → ... In other words, the brushed DC motor MOa rotates back and forth for a rotation time of 3 * τ, and in response to this rotation, the pinions PN1 and PN2 perform linear reciprocating motion together with the rod-shaped accessories integrated with them.
図66(f)は、基準時間(τ)毎に動作状態が推移することで、正負にレベル変化する駆動電流Iout(A)の推移を示している。図示の通り、CW方向の回転時間は、3基準時間(3*τ)であり、1基準時間(τ)の休止を挟んで、3基準時間(3*τ)のCCW回転に移行している。 Figure 66 (f) shows the transition of the drive current Iout (A), whose level changes between positive and negative as the operating state transitions every reference time (τ). As shown in the figure, the rotation time in the CW direction is 3 reference times (3 * τ), followed by a pause of 1 reference time (τ) before transitioning to CCW rotation for 3 reference times (3 * τ).
したがって、基準時間τを長く設定すれば、DCモータMOaの回転角度が増加することで、往復運動の振幅幅が増加し、逆に、基準時間τを短く設定すれば、振幅幅の狭い微振動が実現されることになる。なお、駆動電流Iout(A)の正負の電流上限値±NFは、0%~100%の範囲で、16段階に変更できることは、先に説明した通りである。 Therefore, if the reference time τ is set long, the rotation angle of the DC motor MOa increases, thereby increasing the amplitude of the reciprocating motion. Conversely, if the reference time τ is set short, a micro-vibration with a narrow amplitude is achieved. As explained above, the positive and negative current upper limit ±NF of the drive current Iout (A) can be changed in 16 steps within the range of 0% to 100%.
図67は、上記の往復回転動作を実現するため、CPU回路51から出力される制御データSDATAと、シフトクロックSCKと、歩進クロックLATCHと、を図示したものである。なお、図67には、駆動電流Iout(A)だけでなく、駆動電流Iout(B)も図示しているが、本実施例では、駆動電流Iout(B)は使用しない。また、歩進クロックLATCHは、最短で1mS毎に出力可能であるが、ここでは、先に説明した通り、1mSの整数N倍の基準時間(=τ)毎に出力されている。 Figure 67 illustrates the control data SDATA, shift clock SCK, and stepping clock LATCH output from the CPU circuit 51 to achieve the reciprocating rotation operation described above. Note that Figure 67 also illustrates drive current Iout(B) in addition to drive current Iout(A), but in this embodiment, drive current Iout(B) is not used. Furthermore, the stepping clock LATCH can be output at the shortest interval of 1 mS, but here, as explained above, it is output every reference time (= τ) that is an integer multiple of 1 mS.
図56に関して説明した通り、制御データSDATAは、4ビット長のトルク(上限電流)設定値と、4ビット長のPHASE設定値とで、構成されている。ここで、トルク設定値は、定電流制御における電流上限値NFに他ならず、0~100%まで16段階(0を除くと15段階)の設定が可能となっている。但し、図67では、作図の便宜上、トルク設定値は100%に統一されている。 As explained in Figure 56, the control data SDATA consists of a 4-bit torque (upper limit current) setting value and a 4-bit PHASE setting value. Here, the torque setting value is nothing more than the upper limit current value NF in constant current control, and can be set in 16 steps from 0 to 100% (15 steps excluding 0). However, in Figure 67, for convenience of drawing, the torque setting value is standardized to 100%.
1-2相励磁を実現するには、CPU回路51は、PHASE設定値(=B相とA相の制御値)として、二進数で、1111→1100→1110→0010→1010→1001→1011→0111→1111を出力する必要がある。但し、本実施例では、B相の駆動電流Iout(B)を問題にしないので、A相制御値である、11→00→10→10→10→01→11→11→11・・・だけが意義を持つ。 To achieve 1-2 phase excitation, the CPU circuit 51 must output the following binary values as the PHASE setting value (= control value for B and A phases): 1111 → 1100 → 1110 → 0010 → 1010 → 1001 → 1011 → 0111 → 1111. However, in this embodiment, the B phase drive current Iout(B) is not an issue, so only the A phase control value, 11 → 00 → 10 → 10 → 10 → 01 → 11 → 11 → 11..., is significant.
ここで、制御値11は、図66(b)のCW回転動作状態11を実現し、制御値00は、図66(c)の停止状態00を実現し、制御値10は、図66(d)のCCW回転動作状態10を実現し、制御値01は、図66(e)の停止状態01を実現するための制御データである。そして、歩進クロックLATCHを受ける毎に、各制御データ(A相制御値)が実効化されてDCモータMOaが歩進動作することになる。 Here, the control value 11 realizes the CW rotation operation state 11 in Figure 66(b), the control value 00 realizes the stopped state 00 in Figure 66(c), the control value 10 realizes the CCW rotation operation state 10 in Figure 66(d), and the control value 01 is control data for realizing the stopped state 01 in Figure 66(e). Each time the stepping clock LATCH is received, each control data (A-phase control value) is executed and the DC motor MOa performs stepping operation.
ところで、駆動電流Iout(A)の正負上限値±NFは、0%~100%の範囲で、0を除く15段階に変更可能であるが、この意義について、次に説明する。先ず、通常のブラシ付きDCモータについて考察すると、磁界中にモータコイル電流Iを流して発生するフレミング力は、電流値Iに比例する。一方、このフレミング力に基づいて、モータコイルが回転すると、回転速度Vに比例した逆起電力Eが発生する。 The upper limit ±NF of the positive and negative values of the drive current Iout (A) can be changed in 15 steps, excluding 0, within the range of 0% to 100%. The significance of this will be explained below. First, considering a normal brushed DC motor, the Fleming force generated by passing a motor coil current I through a magnetic field is proportional to the current value I. Meanwhile, when the motor coil rotates based on this Fleming force, a back electromotive force E proportional to the rotational speed V is generated.
そして、DCモータを定電圧駆動した場合には、駆動直流電圧VBと、コイルインダクタンスLと、コイル損失抵抗rと、コイル電流Iと、逆起電力Eとの間に、VB=r*I+L*(dI/dt)+Eの関係式が成立する。すなわち、コイル電流Iが増えて回転速度Vが増加すると、これに対応して、逆起電力Eが増加するので、コイル電流Iと回転速度Vには、所定の平衡点が発生することになり、この平衡点において、回転速度Vとコイル電流Iは、各々、一定化する。そして、コイル電流が一定化すると、L*(dI/dt)=0となるので、VB=r*I+Eの関係式が成立する。 When a DC motor is driven at a constant voltage, the relationship VB = r*I + L*(dI/dt) + E holds between the drive DC voltage VB, coil inductance L, coil loss resistance r, coil current I, and back electromotive force E. In other words, when the coil current I increases and the rotational speed V increases, the back electromotive force E also increases accordingly, and a predetermined equilibrium point is reached between the coil current I and the rotational speed V, at which point the rotational speed V and the coil current I each become constant. When the coil current becomes constant, L*(dI/dt) = 0, and so the relationship VB = r*I + E holds.
しかし、本実施例では、DCモータMOaを、定電圧駆動するのではなく、敢えて、定電流駆動をするので、この定電流制御が有効に機能する限りは、上記した平衡点が発生しない。そして、定電流制御では、コイル電流Iが一定であるので、これに対応してフレミング力も一定となり、加速度αが一定の等加速度運動が実現する。 However, in this embodiment, the DC motor MOa is driven at a constant current rather than at a constant voltage, so as long as this constant current control functions effectively, the above-mentioned equilibrium point does not occur. Furthermore, with constant current control, the coil current I is constant, so the Fleming force is also constant, achieving uniform acceleration motion with a constant acceleration α.
すなわち、本実施例の構成では、図67(c)のように、時間tの経過と共に、回転速度Vが増加する。ここで、等式V=α*tにおける加速度αは、定電流制御の電流上限値NFに比例する。また、回転速度Vを実現する動作点の移動距離Lは、図67(d)に示すように、L=1/2*α*t2となる。 That is, in the configuration of this embodiment, the rotation speed V increases with the passage of time t, as shown in Figure 67(c). Here, the acceleration α in the equation V = α * t is proportional to the upper current limit value NF of constant current control. Furthermore, the movement distance L of the operating point that realizes the rotation speed V is L = 1/2 * α * t2 , as shown in Figure 67(d).
以上を踏まえて、図67(b)に示す駆動電流Iout(A)を検討すると、加速度αは、モータ駆動電流I(電流上限値NF)に比例するので、電流上限値NFを上げるほど、役物が勢いよく往復運動することになる。 Based on the above, when we consider the drive current Iout (A) shown in Figure 67 (b), we can see that the acceleration α is proportional to the motor drive current I (current upper limit NF), so the higher the current upper limit NF, the more vigorously the reel will move back and forth.
また、役物の移動距離は、加速度αに比例すると共に、往路及び復路の移動時間tの二乗にも比例するので、電流上限値NFを上げ、且つ、基準時間τを大きく設定すると、役物は、大きな移動幅を、高速で往復運動することになる。一方、電流上限値NFをM倍に上げる一方で、基準時間τを1/M2倍にすると、それまでと同じ移動幅を、高加速度で往復する強振動を実現できる。例えば、電流上限値NFを4倍にして、基準時間τを1/2倍にすれば、同じ動作幅について、4倍の強振動を実現することができる。 Furthermore, since the movement distance of the reel is proportional to the acceleration α and also to the square of the travel time t for the forward and return trips, increasing the current upper limit NF and setting a long reference time τ will cause the reel to move back and forth at high speed over a large range of movement. On the other hand, if the current upper limit NF is increased by M times while the reference time τ is increased by 1/ M2 , a strong vibration can be achieved that moves back and forth over the same range of movement at high acceleration. For example, if the current upper limit NF is increased by four times and the reference time τ is reduced by half, a fourfold stronger vibration can be achieved for the same movement range.
一方、基準時間τを小さくするほど、役物の振幅幅が減少して、微振動に至ることになる。この場合に、電流上限値NFに対応してトルク(加速度α)が変動するので、強い微振動と、弱い微振動を実現することもできる。 On the other hand, the shorter the reference time τ, the smaller the amplitude of the reel, resulting in micro-vibrations. In this case, the torque (acceleration α) fluctuates in response to the upper current limit value NF, making it possible to achieve both strong and weak micro-vibrations.
以上の通り、ステッピングモータをバイポーラ駆動するモータドライバDV5で、ブラシ付きDCモータMOaを駆動することで、棒状役物を、任意の振幅幅、任意のトルクで往復移動させることができ、バリエーションに富んだ役物演出が可能となる。なお、DCモータMOaの回転軸に、棒状部材を固定すれば、棒状役物が、任意の振幅幅で、任意のトルクで揺動運動をする役物演出を実現することもできる(図65(c)参照)。 As described above, by driving the brushed DC motor MOa with the motor driver DV5, which bipolarly drives the stepping motor, the rod-shaped prop can be moved back and forth at any amplitude and torque, enabling a wide variety of prop performances. Furthermore, by fixing a rod-shaped member to the rotation axis of the DC motor MOa, it is possible to realize a prop performance in which the rod-shaped prop oscillates at any amplitude and torque (see Figure 65 (c)).
なお、ここまでの説明では、専ら、1-2相励磁について説明したが、図56や図58(a)に示す2相励磁を採用しても良いのは勿論である。2相励磁の場合は、図66(c)と図66(e)の休止期間がなく、図66(b)に示すCW回転動作状態11と、図66(d)に示すCCW回転動作状態10と、が休止なく繰り返される。なお、CPU回路51の制御動作は、図56に示す通りである。 Up to this point, we have mainly been talking about 1-2 phase excitation, but of course 2-phase excitation as shown in Figures 56 and 58(a) can also be used. In the case of 2-phase excitation, there is no pause as in Figures 66(c) and 66(e), and the CW rotation operation state 11 shown in Figure 66(b) and the CCW rotation operation state 10 shown in Figure 66(d) are repeated without pause. The control operation of the CPU circuit 51 is as shown in Figure 56.
2相励磁の動作内容をタイムチャートで示すと、図67(e)の通りであり、2相励磁では、往路移動と復路移動との間に休止時間がないので、往復運動の動作周期が、基準時間τの4倍(=4*τ)となる。すなわち、2相励磁では、往復運動の動作周期が1-2相励磁の場合(=8*τ)の半分であって、往復運動を高速化できるので、例えば、微振動を実現する上では、1-2相励磁ではなく、2相励磁を採用すべきである。 The operation of two-phase excitation is shown in a time chart in Figure 67(e). With two-phase excitation, there is no pause between forward and backward movement, so the operating period of the reciprocating motion is four times the reference time τ (= 4 * τ). In other words, with two-phase excitation, the operating period of the reciprocating motion is half that of 1-2 phase excitation (= 8 * τ), allowing for faster reciprocating motion. Therefore, for example, to achieve micro-vibrations, two-phase excitation should be used rather than one-two phase excitation.
以上、DCモータMOaが往復回転する実施例について説明したが、特に限定されるものではない。例えば、図68(a)に示すように、DCモータMOaによって回転駆動されるカム材と、カム材に向けて付勢された棒状役物(振動体)と、を使用する場合には、DCモータMOaを一方向に連続回転させたので足りる。 The above describes an embodiment in which the DC motor MOa rotates back and forth, but this is not particularly limited. For example, as shown in Figure 68(a), when using a cam member that is rotationally driven by the DC motor MOa and a rod-shaped accessory (vibrator) that is biased toward the cam member, it is sufficient to rotate the DC motor MOa continuously in one direction.
このような実施例では、例えば、図66(b)に示すCW回転動作が継続されることで、棒状役物の振動動作が実現される。図68(d)は、15段階の何れかに設定されたトルク設定NFと、図66(b)に示すCW回転動作状態を示すPHASE設定(11)とが、タイミングt1の歩進クロックLATCHによって実効化され、その後、CW方向の回転が継続される動作状態を示している。 In this embodiment, for example, the vibration of the rod-shaped device is achieved by continuing the clockwise rotation shown in Figure 66(b). Figure 68(d) shows an operating state in which the torque setting NF, set to one of 15 levels, and the PHASE setting (11) indicating the clockwise rotation operating state shown in Figure 66(b), are activated by the stepping clock LATCH at timing t1, after which the clockwise rotation continues.
この振動演出は、例えば、5秒~10秒程度継続されるが、その後、適宜なタイミングで、トルク設定NF=0と、PHASE設定11の制御データSDATAが送信され、これらの制御データが、タイミングt2の歩進クロックLATCHによって実効化されることでDCモータが停止状態となる。なお、トルク設定NF=0は、発生トルクがゼロの動作を意味するが、このトルク設定NF=0に代えて、全トランジスタをOFF状態に制御したのでも良い。具体的には、例えば、SCLR端子やSTANDBY 端子をLレベルに変化させれば良い。但し、STANDBY 端子=Lに制御すると、内蔵されたOSC回路(Motor Oscillator)や、出力回路(BridgeA/BridgeB)が停止状態となるので、その後のモータ演出時には、STANDBY 端子=Hに戻す必要がある。 This vibration effect continues for, for example, 5 to 10 seconds, after which, at an appropriate timing, control data SDATA with a torque setting of NF=0 and a PHASE setting of 11 is sent. This control data is then executed by the stepping clock LATCH at timing t2, causing the DC motor to stop. Note that a torque setting of NF=0 means that the generated torque is zero; however, instead of setting NF=0, all transistors can be controlled to an OFF state. Specifically, this can be achieved by, for example, changing the SCLR terminal or STANDBY terminal to an L level. However, since controlling the STANDBY terminal to L will stop the built-in OSC circuit (Motor Oscillator) and output circuits (Bridge A/Bridge B), the STANDBY terminal must be returned to H for subsequent motor effects to occur.
ところで、DCモータでは、一般に、モータ駆動電流と、発生トルクとの間には図68(b)に示す比例関係があるが、本実施例では、モータ駆動電流を定電流制御することで、発生トルクを一意に制御している。 In general, with a DC motor, there is a proportional relationship between the motor drive current and the generated torque, as shown in Figure 68(b). However, in this embodiment, the generated torque is uniquely controlled by constant current control of the motor drive current.
この構成よれば、例えば、振動演出による予告演出において、信頼度に応じて、トルク設定値NFを変えることで、役物の振動強度を変えることができる。この場合、一の振動演出において、振動強度を、一定値に維持する必要は、必ずしも無く、時間経過と共に、振動強度を変えることもできる。例えば、図68(e)の動作例では、タイミングt1から開始された振動演出が、その後、タイミングt2で振動が強化され、タイミングt3で更に振動が強化されている。 With this configuration, for example, in a preview performance using vibration effects, the vibration intensity of the reel can be changed by changing the torque setting value NF depending on the reliability. In this case, it is not necessary to maintain the vibration intensity at a constant value in one vibration performance, and the vibration intensity can also be changed over time. For example, in the operation example of Figure 68(e), the vibration performance starts at timing t1, and then the vibration is strengthened at timing t2, and further strengthened at timing t3.
以上の通り、DCモータを定電流制御する本実施例では、任意の強度の振動を実現できるので、役物演出のバリエーションを豊富化することができる。更に、本実施例の構成によれば、遊技者の好みに合わせて、遊技動作中に振動演出の有無や振動レベルを選択させることや、遊技ホールの好みに合わせて、電源投入後の初期設定時に、振動演出の有無や、振動レベルを初期設定することもできる。 As described above, this embodiment, which uses constant current control of the DC motor, can realize vibrations of any intensity, thereby increasing the variety of device effects. Furthermore, this configuration allows players to select whether or not to enable vibration effects and the vibration level during gameplay to suit their preferences, and the vibration effects and vibration level can also be initially set during initial setup after power-on to suit the preferences of the gaming hall.
また、モータ駆動電流の上限値NFは、一定であってトルクに対応して増加することはないので、過熱によってコイル巻線が焼き切れるなどのおそれはない。すなわち、遊技者が仮に振動体を強く拘束した場合でも、通常のDCモータのように、トルクを増加させるべく駆動電流が増加することはないので、過熱のおそれは皆無である。 In addition, the upper limit NF of the motor drive current is constant and does not increase in response to torque, so there is no risk of the coil windings burning out due to overheating. In other words, even if a player strongly restrains the vibrator, the drive current does not increase to increase torque, as with a normal DC motor, so there is no risk of overheating.
ところで、本実施例の振動演出は、定電流制御によって実行されるので、モータ回転は、図68(c)に示す通り、時間経過と共に加速される。そして、加速度αは、電流値にも比例するので、モータ駆動電流の上限値NFが高いほど、加速度αの大きい高速振動となり、この意味でも迫力ある役物演出が実現される。なお、振動予告は、例えば、5秒~10秒程度で終了するので、上限値NFが高いトルク設定値100%の場合でも、DCモータの回転が限界を超えて高速化することはない。 Incidentally, the vibration effects in this embodiment are performed using constant current control, so motor rotation accelerates over time, as shown in Figure 68 (c). The acceleration α is also proportional to the current value, so the higher the upper limit NF of the motor drive current, the greater the acceleration α and the faster the vibration, which also contributes to a more powerful role-playing effect. The vibration preview ends after, for example, 5 to 10 seconds, so even if the upper limit NF is set to a high torque setting of 100%, the DC motor rotation will not exceed its limit and speed up.
GM 遊技機
MOa DCモータ
DV5 ドライバ
GM MOa DC Motor DV5 Driver
Claims (1)
前記ドライバは、前記DCモータを同一方向に連続回転させるべき駆動動作状態において、前記DCモータのコイル電流について、前記モータ制御信号が規定する上限値に向かう上昇制御と、前記上限値より低い降下値(>0)に向かう降下制御とを繰り返す定電流制御を、途切れなく連続的に実行するよう構成されていることを特徴とする遊技機。 A gaming machine provided with a driver that rotates a DC motor (excluding a stepping motor) based on a motor control signal received from an external device, and a device that moves in response to the rotation of the DC motor,
The gaming machine is characterized in that, in a driving operation state in which the DC motor should be rotated continuously in the same direction, the driver is configured to continuously execute constant current control without interruption , which repeats increasing control of the coil current of the DC motor toward an upper limit value specified by the motor control signal and decreasing control toward a decrease value (>0) lower than the upper limit value.
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2021093771A JP7765201B2 (en) | 2021-06-03 | 2021-06-03 | gaming machines |
| JP2025179259A JP2026016566A (en) | 2021-06-03 | 2025-10-24 | gaming machines |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2021093771A JP7765201B2 (en) | 2021-06-03 | 2021-06-03 | gaming machines |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2025179259A Division JP2026016566A (en) | 2021-06-03 | 2025-10-24 | gaming machines |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2022185875A JP2022185875A (en) | 2022-12-15 |
| JP7765201B2 true JP7765201B2 (en) | 2025-11-06 |
Family
ID=84441966
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2021093771A Active JP7765201B2 (en) | 2021-06-03 | 2021-06-03 | gaming machines |
| JP2025179259A Pending JP2026016566A (en) | 2021-06-03 | 2025-10-24 | gaming machines |
Family Applications After (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2025179259A Pending JP2026016566A (en) | 2021-06-03 | 2025-10-24 | gaming machines |
Country Status (1)
| Country | Link |
|---|---|
| JP (2) | JP7765201B2 (en) |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2014236805A (en) | 2013-06-06 | 2014-12-18 | オムロン株式会社 | Drive control device |
| JP2019146763A (en) | 2018-02-27 | 2019-09-05 | 株式会社三共 | Game machine |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS58212393A (en) * | 1982-06-02 | 1983-12-10 | Inoue Japax Res Inc | Driving method for dc motor and pulse motor |
| JPH0326295U (en) * | 1989-07-24 | 1991-03-18 |
-
2021
- 2021-06-03 JP JP2021093771A patent/JP7765201B2/en active Active
-
2025
- 2025-10-24 JP JP2025179259A patent/JP2026016566A/en active Pending
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2014236805A (en) | 2013-06-06 | 2014-12-18 | オムロン株式会社 | Drive control device |
| JP2019146763A (en) | 2018-02-27 | 2019-09-05 | 株式会社三共 | Game machine |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2026016566A (en) | 2026-02-03 |
| JP2022185875A (en) | 2022-12-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7561929B2 (en) | Gaming Machines | |
| JP7490120B2 (en) | Gaming Machines | |
| JP7765201B2 (en) | gaming machines | |
| JP7765202B2 (en) | gaming machines | |
| JP7765203B2 (en) | gaming machines | |
| JP7536160B2 (en) | Gaming Machines | |
| JP7496919B2 (en) | Gaming Machines | |
| JP7496920B2 (en) | Gaming Machines | |
| JP7686040B2 (en) | Gaming Machines | |
| JP7686039B2 (en) | Gaming Machines | |
| JP7621436B2 (en) | Gaming Machines | |
| JP7686041B2 (en) | Gaming Machines | |
| JP7657069B2 (en) | Gaming Machines | |
| JP7657068B2 (en) | Gaming Machines | |
| JP7657070B2 (en) | Gaming Machines | |
| JP7789168B2 (en) | gaming machines | |
| JP7796850B2 (en) | gaming machines |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210610 |
|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240430 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20241211 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20250114 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20250317 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20250603 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20250729 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20250930 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20251024 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 7765201 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |