Analog Devices ADRV9001 User Manual page 182

System development user guide for the rf agile transceiver family
Hide thumbs Also See for ADRV9001:
Table of Contents

Advertisement

UG-1828
The GP_INT pin is configured by adi_adrv9001_gpio_GpIntMask_Set() after device initialization. When a rising edge is detected on the
GP_INT pin, the baseband processor should call the API command adi_adrv9001_gpio_GpIntHandler() , the interrupt handler will
return information related to the interrupt source to the user. Calling this command may be sufficient to clearing the error. Either
handler function returns a recovery action which suggests further action if necessary, adi_adrv9001_gpio_GpIntStatus_Get() can also be
used to read in the current interrupt status register.
Two cases are provided for users to handle the interrupt.
Usecase 1: User Handles Status Register
In this scenario, full control (via public API functions) is given to the user to set/get mask, sticky mask and status registers (although the
status register is a read only). Hence the user can custom tailor solutions (recovery actions) to handle the different events/interrupts. This
requires that the user completely maintains the status register (i.e. clear interrupts that have been serviced bit by bit).
Usecase 2: User Calls ADI GPIntHandler (Recommended)
In this scenario, the user can monitor the GP_INT pins and call a central GPIntHandler function provided by ADI to handle decoding
and maintaining the status register. The user can then plug their custom actions into the corresponding sub block of the GPIntHandler
function (or implement their recovery action after GPIntHandler). The advantage of using this technique (and why it is recommended)
is that ADI can provide some built-in recovery action for specific events before potentially calling user functions. Figure 157 shows the
sequence of events between baseband processor and ADRV9001 API with respect to the GP interrupts.
PROCESSOR
adi_adrv9001_GpIntMaskSet (FOR GP_INT TO FIRE ON INTERRUPT EVENT GROUP)
Figure 157. Sequence of Events Between Baseband Processor and ADRV9001 API with Respect to GP Interrupts
BASEBAND
(USER)
MONITOR GP_INT
GP_INT GOES HIGH
adi_adrv9001_GpIntHandler( )
RETURN STATUS REGISTER PRIOR
TO CLEARING PLUS GP_INT MASK
COMPLETE ANY FURTHER
PROCESSING IF NECESSARY
ADRV9001
API
EVENT
Rev. PrA | Page 182 of 253
Preliminary Technical Data
AN INTERRUPT EVENT
IN EVENT GROUP
OCCURS
READ STATUS REGISTER
LOOP THROUGH
ALL STATUS BITS
PROGRAMMED TO
GP_INT EXECUTING
RECOVERY CODE EVENT
CLEAR STATUS BITS
AS THEY ARE PROCESSED

Hide quick links:

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the ADRV9001 and is the answer not in the manual?

This manual is also suitable for:

Adrv9002

Table of Contents

Save PDF