(Topic ID: 61474)

Switch Matrix, Active High or Low Pulse

By Zitt

10 years ago



Topic Stats

  • 3 posts
  • 2 Pinsiders participating
  • Latest reply 10 years ago by Zitt
  • Topic is favorited by 1 Pinsider

You

Linked Games

#1 10 years ago

As many know; I'm working on a Re-theme/Custom machine - Star Trek: The Mirror Universe.
http://pinside.com/pinball/forum/topic/star-trek-mirror-universe-pinball

Anyway; I'm going to be re-inventing the wheel here... IE I don't want to do an MP3 Trigger because I feel the cost doesn't justify the functionality. Instead; I plan on re-purposing a Raspberry Pi to do the Audio work for the switch positions. I've already done some initial software planning and can confirm that I can do up to 8 voices-at a time- using the RPi.

Anyway; I'm going to be using a Microchip MCP23017 I2C GPIO chip as a 16bit interface the 5x8 switch matrix on the Bally 6502 era machines. I want to directly connect to the switch matrix at A4J2 in the blackbox.

Can someone who's been spending a lot of time in this switch matrix tell me how it operates? I'm pretty sure that the MPU sends pulses to the Strobe signals (ST0-ST4) and that if a switch is closed... it causes that pulse to appear on the I0-I7 lines. What I don't know for sure is if the MPU is pulsing the signal active high or low.

Looking at the schematics; It would seem that in the absence of no signal; the strobes would float high given the 3.3k pullups behind the anode of the diodes. This would lead me to think that the pulse was active high but not sure as the software/code could be actively driving the stobes each cycle.

Would someone in the know wanna help a hacker out? IF you got a logic analyzer capture- that would be icing on the cake.

#2 10 years ago

The easiest way: connect your 23017 to the strobes/returns and see what it does. Just activate switches and see what the inputs read.

You can also measure the strobes with a DMM: if it's next to zero, then 0V is more present than the 5V and it must be active when high.

Quoted from Zitt:

It would seem that in the absence of no signal; the strobes would float high given the 3.3k pullups behind the anode of the diodes. This would lead me to think that the pulse was active high but not sure as the software/code could be actively driving the stobes each cycle

I don't think the signal is ever absent. It's just an electrical circuit the PIA interfaces. The pullup resistor is just a way to get 5V on the switchmatrix if the PIA cannot generate the signal itself. It just switches to ground, and the pullup resistor is needed to get the 5V on the lines. See http://en.wikipedia.org/wiki/Open_collector
There are also some IC's that have this circuit integrated in the IC.

If the program tells the PIA to put a 1 on a line, then the pullup resistor provides the 5V, and the output of the PIA does not switch to ground. If it puts a 0 on the line it switches to ground, so the line becomes 0V.

To answer your question: I think the pulse is active high, because of how the switchmatrix should work. If all lines would be high (except for 1), then a lot of inputs would be present at the returns.

#3 10 years ago

Bump for afternoon crowds. Anyone else have input?

Promoted items from the Pinside Marketplace
From: $ 10.00
Electronics
Third Coast Pinball
Electronics
$ 12.00
Tools
Nezzy's Pinball Prints
Tools
$ 149.95
Boards
Allteksystems
Boards

Reply

Wanna join the discussion? Please sign in to reply to this topic.

Hey there! Welcome to Pinside!

Donate to Pinside

Great to see you're enjoying Pinside! Did you know Pinside is able to run without any 3rd-party banners or ads, thanks to the support from our visitors? Please consider a donation to Pinside and get anext to your username to show for it! Or better yet, subscribe to Pinside+!


This page was printed from https://pinside.com/pinball/forum/topic/switch-matrix-active-high-or-low-pulse and we tried optimising it for printing. Some page elements may have been deliberately hidden.

Scan the QR code on the left to jump to the URL this document was printed from.