Path: utzoo!attcan!telly!problem!compus!lethe!torsqnt!news-server.csri.toronto.edu!cs.utexas.edu!wuarchive!emory!gatech!mcnc!thorin!oscar!tell From: tell@oscar.cs.unc.edu (Stephen Tell) Newsgroups: sci.electronics Subject: Re: Game Arbitration Circuit Message-ID: <18137@thorin.cs.unc.edu> Date: 15 Dec 90 04:54:21 GMT References: <1310039@hpcilzb.HP.COM> Sender: news@thorin.cs.unc.edu Reply-To: tell@oscar.cs.unc.edu (Stephen Tell) Organization: University Of North Carolina, Chapel Hill Lines: 72 In article <1310039@hpcilzb.HP.COM> denny@hpcilzb.HP.COM (Trueman Denny) writes: >I have a friend who wants to build a arbitration circuit as part of a high >school project. Basically all it does is determine who presses a button >first just like in Jeopardy. Does a commodity IC exist that performs this >function? >I assume that a debouncing circuit will be needed to give a clean logic >signal and then some sort of circuit to determine who pressed their button >first and some sort of LED to indentify the person responding first and >a buzzer. If there is a tie then all corresponding LED are energized. I built a device like to pick the first respondent of 6 players for College TV station. I'd like to take credit for this idea, but it came from my advisor. To answer some of your questions first: One usually doesn't want to allow ties. If you do, you need to set a time criterion; does a tie mean within 1 second? 100 milliseconds? 100 nanoseconds? There's really no need to debounce; just trigger on the first bounce that the switch makes. The proposed solution that was posted with an R-S latch for each player and some gating to hold the all latches in the reset state except for the winner suffers from a possible race condition if there is in fact a "tie;" the time-definition of a "tie" is a function of the logic family used. When both inputs to the latch are high, the output is indeterminent, or perhaps both Q and not-Q are high; and after the inputs settle the output assumes a random state. Using clocked J-K flip-flops might produce reasonable behavior but I leave that as an exercise for the reader :-). Our circuit worked like this: An 8-bit shift register was loaded with a single 0 and the rest 1's and its last output is fed back to its input. Only 6 of the shift register outputs were used, one per player. The shift register output is anded with the signal from a player's switch, which 0 when the switch is pressed. The and gate output is low whenever the 0 in the shift register lines up with a switch that is pressed. The shift register is clocked at a rate in excess of 1Khz, so each player's switch is sampled or scaned in turn for 1 millisecond. The 6 and gate outputs are further anded to get a signal that goes low whenever switch is pressed and the corresponding shift register output is 0. This output feeds an S-R latch; when it goes low a player has won and the control latch is tripped changing to the "we have a winner" state. The latch disables the shift-register from clocking, so the 0 in the shift register indicates which player pressed his button first. The shift register outputs are gated with the output of the control latch an drive the output lamps, so when we are in the "winner" state the correct lamp is lit. The actual circuit is more complex than this; they wanted the lamps to "flash randomly" at the start of the game, so there is another control latch that indicates "flash" or "game" mode. When in flash mode the shift register clock is slowed down, the lamps are always enabled, and the input to the shift register becomes the XOR or the last output and one of the intermediate ones, configuring it as a 256-state pseudorandom sequencer. The thing is built in four boxes, the controller, a lamp/switch box for each team of three players, and a remote control box with "reset" and "flash" buttons for the judge. The lamp boxes contain opticly-isolated triac drivers controlling 25-watt 120-volt lamps for the "winner" lamps. If I was doing it again I'd add the other state distinction of "idle" and "armed." To prevent false alarms and people leaning on the buttons. I hope this gives you some ideas. If you really want I can try to draw the schematic, they lost the only copy; I was foolish enough to think I was through with the project when they asked me to fix it. -------------------------------------------------------------------- Steve Tell e-mail: tell@wsmail.cs.unc.edu usmail: #5L Estes Park apts CS Grad Student, UNC Chapel Hill. Carrboro NC 27510 Former chief engineer, Duke Union Community Television, Durham, NC.