Sie sind auf Seite 1von 3

Aristocrat Door Security Door security is a big thing. All games note when a door was opened.

One might think that if the game were off at the time you got into it nobody would be the wiser. You just wait until there is a power outage or get into a game that is already turned off, and grab yourself a hand full of loot. Most games have a way of monitoring machine door security when power is turned off. Aristocrats are no exception. This circuit is on sheet 10 of the 410355 I/O Board. No matter which MPU board your system may have the I/O board used in most US Aristocrat games is still the 410355 (as far as I know). The battery backed-up door security system. U9, U10, U18 and U19 are Shift Registers. They have a Preset to them so data may be loaded in parallel fashion on the Load Pulse, or shifted in one bit at a time on the Clock Pulse. When Shift / Load* is High we are in Shift mode. On each Clock Pulse the data present at the SERial input is shifted into the lower bit of the 8-bit shift register. Only the output of the eighth register is available at the output. We shift data in at the bottom and shift it out from the top. Clock is High-Edge triggered. Inhibit being High disables the Clock pulse input but does not prohibit Load* operations. These four Shift registers monitor the four battery-backed Security Switches. U9 - Game (Main) Door Switch. U10 - Belly Door Switch, or Top Box Switch. U18 - Drop Door and U19 - Logic Door. Maybe we can talk Randy into making the print a centerfold picture, otherwise it would be unreadable at 8 by 11. If you have the games you probably also have the schematic so you can follow along. If you dont have the games this article wouldnt mean much to you anyway. Nevertheless, I move right along... To get a grasp of how these shift registers are used it would be helpful to redraw the circuit a bit and show how the switch is wired into the Shift / Load* input of the Shift Registers. The NC contact of the switch is connected to ground. The Common connects to the Shift / LOAD* input of the Shift register. The NO contact goes to a resistor to VBAT. As long as the switch is undisturbed the 74HC165 is in Shift mode and the Shift Register is holding some kind of information. Be mindful that the door switch is in the activated position when the door is closed so the Shift input is normally High. Before powering down the MPU shifts a pattern into the shift register. If the door is opened during power down the door switch makes contact with ground through the NC contact and the Shift Register is loaded with zeros. Actually the switch need not even make contact with the grounded terminal. Just not being pulled High the resistor on pin 1 of the 74HC165s will pull the input to ground doing the same thing. When power is restored the MPU reads the Shift Register to confirm that the door has not been disturbed. C32 and R30 make a glitch filter with a time constant of around 20 ms. Switch wiggles that result in line noise faster than 20 ms are ignored. If any switch wire is removed in an attempt to bypass the system the result is the Shift / Load* input going to ground, flagging a door open condition. U41 monitors the battery BT1 that powers this circuit. Normally the output of U41, at pin 7, is high, Q20 is kept turned on and the Inhibit ("INH") line is held Low. If the voltage on the battery should drop below an acceptable value the Reset*, pin 7, output goes Low. Q20 is turned off and the output, "INH" goes high. This Inhibit signal goes to all the Shift registers U 9, U10, U18 and U19, prohibiting them from working. Again signaling a Door Open condition, but at all four doors.

So how does the MPU actually make these things happen and how would we troubleshoot this circuit? We could simply replace things until the problem went away. If we suspect the problem to be in this general area we can rationally narrow the possible culprit down to a few parts and just shotgun these parts. That works when we have leaded parts that are easy to change. When we are talking about surface mount devices that are not so easy to change without putting the board at risk we need to be sure we are changing the right part the first time. Just for development of our troubleshooting skills we will take the true technical nerd route and do the smart troubleshooting. In reality our first choice might be the shotgun approach, but if the problem is a broken or burned clad run on the board changing parts unnecessarily is more likely to result in further damage to the board and not resolve the problem. Lets take a close look at what the MPU normally does. The Power Down sequence writes a pattern to the Shift Registers by writing ones (or a pattern we dont know) to address 0x3012030, bits 0 through 3. This generates signals that come into this page as LDSHRIN (Logic Door Shift Register In), GDSHRIN (Game Door Shift Register In), SECSHRIN (Security door, either belly or top box, Shift Register In) and DDSHRIN (Drop Door Shift Register In). Doing this also generates the LDCLK (Load Clock) signal that clocks these bits into the shift registers. The MPU reads these shift registers by reading address 0x3012020. This generates the RDP1 CS on sheet 6, U40, pin 7. RDP1 CS enables U25 onto the data bus for the MPU to read. RDP1 CS also generates LDCLK pulses. These signals come out of the shift registers as LDSHRO (Logic Door Shift Register Out), GDSHRO (Game Door Shift Register Out), SECSHRO (Security Door Shift Register Out), and DDSHRO (Drop Door Shift register Out). The details of how we came to these addresses are included in a larger work that covers the MPU and I/O board in more detail. Since this article is only concerned with this section of the I/O Board it isnt covered here. Normally this would take a few microseconds and happen only once during power down (the write that loads the shift registers) and power up (the read that reads the shift registers). We would have a tough time trying to scope on these signals. Not impossible with a multi-channel logic analyzer but I dont have one on my bench. What we need to do is create a program that does only these few operations and does them repeatedly so we have signals to scope on with ease and can watch the circuit work. We would write this small program and burn it into a pair of EPROMs we would put in U71 and U84, removing all other EPROMs. That assumes a 410557 MPU board is used. For other MPUs the program is written into the main program EPROMs. We omit all programs for normal operation. On power up we do this routine and only this routine. No POST. No Game routine. Only what we want and know. We now know what the MPU is supposed to be doing and can scope the Shift Registers watching normal operation. By activating the door switches we should be able to see the shift registers shift out zeros instead of the data pattern we stored. If we get zeros out of a shift register when that door is open the circuit is working properly. Scoping with a single channel might not be too meaningful. Looking at the signals on the data bus we would see signal activity, but it wont tell us what the signals we are interested in are doing. A two channel scoping method is needed. To test the loading of the shift registers we would put channel A of the scope on the LDCLK line, sync on channel A and use channel B of the scope to look at the shift register input signals. To

check the outputs of the shift registers we would put channel A on the RDP1 line and look at the inputs and outputs of U25 (on sheet 6) with channel B. If we short U41, pin 8 to ground we simulate a dead battery and all shift registers should cease. Normally the MPU seeing this as all doors open would conclude the battery must be dead. The key to this type of troubleshooting is in understanding how the ICs work, how the circuit works in general and how the microprocessor makes it all work as a system. None of these are magic or secrets. All of this can usually be found on line for free. Data sheets for the ICs are readily available from a number of sources. My favorite is www.alldatasheet.com. Data sheets for the microprocessors are just as easily available. Some just happen to be a thousand pages long. Programming guides and user manuals are generally available from the IC manufacturers web site. None of these usually require a cost or even a log in. The only cost of this education is the effort. Or you can go to a Gaming School and spend $10,000. Personally, Ill take the free method. Herschel
0x3012020, Read, "RDP1 CS", Sheet 6, U25 D0 is GDSHR0, Game Door D1 is BDSHR0 (SECSHR0), Belly Door D2 is DDSHR0, Drop Door D3 is not used D4 is HOPCOIN, Hopper Coin Out D5 is HOPHIGH, Hopper Full D6 is DOPTIN, Door Optic D7 is LDSECIN, Logic Door 0x3012030, Write, I/O Driver, "?" D0 is LDSEC0, Logic Door D1 is GDSHRIN, Game Door D2 is BDSHRIN, Belly Door D3 is DDSHRIN, Drop Door 0x301? "LDCLK" to Sheet U19 to Shift the Logic Door Shift Register. When "LDSEC CS" goes Low we are reading the Data Bus (ED[0-3]) and generating the "SECW[0..3]" signals. When "INT CS" goes Low the MPU is reading the INT lines to tell which one generated an Interrupt. "SECW0" - (See Sheet 10) "LDSECO" becomes "LDSHRIN" to U19, pin 10. "SECW1" - "GDSHRIN" goes to U9, pin 10. "SECW2" - "SECSHRIN" goes to U10, pin 10. "SECW3" - "DDSHRIN" goes to U18, pin 10.

Das könnte Ihnen auch gefallen