Is the nRF24L01 IRQ line open-collector

interruptsnrf24l01open-collector

I need to know whether the nRF24L01(+) has an open-collector IRQ output, or a full push-pull driver. The datasheet doesn't mention this fact.

The reason is that I'm working on a circuit involving two peripherals (an nRF24L01 and another chip) attached to an MCU that has only a single INT pin. If both the devices have open-collector IRQ lines, I can easily just wire them all together with an overall pullup resistor, and all will work fine. If however, the nRF24L01 has a full push/pull driver on the IRQ line, then this is impossible, and instead I'll have to buffer it somehow (perhaps with a 7407 or similar). When the interrupt fires, I can query each device over SPI to enquire which device fired the interrupt.

Best Answer

The IRQ pin is a normal Push-Pull output.

There is a very good tutorial document available on the internet: nrf24l01_tutorial_0.pdf

In there it says this about the IRQ line:

The remaining two pins are CE and IRQ. CE is used to control data transmission and reception when in TX and RX modes, respectively. IRQ is the interrupt pin, and is active-low. There are three internal interrupts that can cause this pin to go low when they are active. Each of these bits can be masked out such that when the bit’s respective interrupt becomes active, the status of the IRQ pin is not changed.

It goes on to say:

The SPI pins are all done, so now let’s get to the seventh pin from the top, the IRQ pin. This guy is basically the interrupt pin to signal your microcontroller that something interesting has happened. You can set interrupts for any combination of the following events: data received, data transmitted, and maximum number of transmit retries reached (this particular one is related to the 24L01’s hardware link-layer, more on that later). If you’re not using interrupts, this pin isn’t required because you can poll the 24L01’s STATUS register over SPI to see if any interrupt has occurred, but it’s still faster (in general) to check the status of an IO pin than to send an SPI command and then wait for the response. NOTE: the IRQ pin is ACTIVE-LOW. It is normally high, but when an interrupt is asserted, the pin will go low.

Although it doesn't explicitly say it, the wording implies that it is a normal push-pull output, otherwise one would expect the author to make mention of it being open collector and a pull-up resistor being required.

Also, in the datasheet the pin is labelled as a "Digital Output". In the DC characteristics in section 5.6 it lists the output voltages for a "Digital output pin" (table 13). An open collector wouldn't have an output voltage, so it must be push-pull.