Multiple Hardware Interrupt signals - Page 1
Forum section: electronics / projects

author: Pariah_Zero
author_rank: Newbie
timestamp: February 11, 2014, 03:30:51 am
content: My memory is fuzzy and my google-fu is failing meI've been working on a design with a number of chips are connecting to a microcontroller using i2c.A bunch of the chips have open drain interrupts, so it's easy to chain them to the same pin on the MCU, and then query the chips when an interrupt is received...However, one of the chips has four interrupts which are logic level pins (not open drain); as I recall these can't be simply chained together, as I'd end up with one chip fighting to hold the interrupt high, while the others fight to hold it low, with an eventual release of blue smoke.There are only a few external interrupt pins; certainly more than I have available interrupt pins.So what options are available to handle more interrupts than available interrupt pins?

author: TerraHertz
author_rank: Super Contributor
timestamp: February 11, 2014, 04:09:39 am
content: The magic words are 'Programmable Interrupt Controller'. PIC.Read up on the old x86 legacy chips like the 8259. Maybe there's something equivalent today.Or, use a small programmable logic device to implement a simple PIC.

author: AlfBaz
author_rank: Super Contributor
timestamp: February 11, 2014, 05:08:26 am
content: There's always the 74LS32

author: dannyf
author_rank: Super Contributor
timestamp: February 11, 2014, 12:17:19 pm
content: QuoteUsing diodes to OR them.

author: qno
author_rank: Frequent Contributor
timestamp: February 11, 2014, 07:36:40 pm
content: You can use a transistor with a pull up resistor.To quicky see the device that made the interrupt use a decimal to hex demultiplexer.checkout 74xxx147

author: NiHaoMike
author_rank: Super Contributor
timestamp: February 11, 2014, 07:50:01 pm
content: You could use diodes if they're active low or a transistor and resistor if they're active high.Another solution is to use a PCF8574 or similar, but that's probably more complex than necessary.

author: dannyf
author_rank: Super Contributor
timestamp: February 11, 2014, 08:21:21 pm
content: QuoteDiodes can OR them if they are active high too.

author: NiHaoMike
author_rank: Super Contributor
timestamp: February 11, 2014, 10:13:42 pm
content: Quote from: dannyf on February 11, 2014, 08:21:21 pmYou'll still need to invert it to connect it to an active low bus.

author: dannyf
author_rank: Super Contributor
timestamp: February 11, 2014, 10:36:54 pm
content: No.

author: NiHaoMike
author_rank: Super Contributor
timestamp: February 12, 2014, 12:19:14 am
content: Quote from: dannyf on February 11, 2014, 10:36:54 pmHe already has an active low interrupt bus. Using another I/O to make an active high interrupt bus is one option, but if I/Os are scarce, a better choice might be to use a transistor and two resistors to tie it into the active low bus. (The second resistor is to pull down the line when no interrupt is active. Otherwise, the line will float when there's no interrupt and be prone to noise.)

author: dannyf
author_rank: Super Contributor
timestamp: February 12, 2014, 12:28:23 am
content: QuoteDiodes can OR active high signals or active low signals.