looking for TTL solution to determine if 24 inputs have changed state

Status
Not open for further replies.

Build-A-Burger

Full Member level 1
Joined
Oct 27, 2010
Messages
95
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,286
Location
Wyoming
www.hampleman.com
Activity points
2,102


I'm designing a board to multiplex 24 inputs to 1 pc104 port which is on my SBC. There are (3) '374's which are polled by the SBC using lines from pc104 port B (output) to see if one of the inputs has changed. The 4th '374 reads the output from a 74C922 keypad chip of which the DA pin is connected to an interrupt pin. When a keypress is made, the ISR routine on the SBC reads the 4th '374 to get the keypress. It would be nice if I could come up with a TTL solution on the input side of the 1st 3 '374's to or together with the DA on the keypad chip so that the system would not have to poll the 24 input lines. I could have used a MPC23017 but I don't have I2C or SPI. The SBC is a TS-5500 which has a couple serial ports so I could possibly use an I2C to serial converter but it seems kind of a stretch.
 

You may already be set up to do this...

24 inputs, either on or off, creates a binary pattern which represents a unique number. Devise an algorithm to examine each bit in this number, and you can calculate the state of each input.

This may require you to examine three 8 bit numbers individually. If one of them changes, it is a signal that one of the inputs has changed.
 

Yeah, that's what I plan on doing for now, its just that I'm trying to save some processing time by making it trigger an interrupt. I have to poll it for now. It may not be that big a deal - its not that critical for what I'm doing. The ISR that currently handles the keypad interrupt could go read the DA line and if low, then it would check the other 3 374's to see which one has changed. I do, however, have some interrupt lines on the pc104 bus...
 

Status
Not open for further replies.

Similar threads

Cookies are required to use this site. You must accept them to continue using the site. Learn more…