This FAQ applies to the ADV7182, ADV7280, ADV7280-M. ADV7281, ADV7281-M, ADV7281-MA, ADV7282 and ADV7282-M models. These models will be referred to with the abbreviation ADV7182/ADV782x in this FAQ.
The INTRQ interrupt pin on the ADV7182/ADV728x can be programmed to change state under a number of different conditions. This can be a useful tool to detect issues with the inputted analog video.
The INTRQ pin can be programmed to drive high or low when activated.
The following example will describe how to set the interrupt pin to go from a high state to a low state when the ADV7182/ADV728x has locked or lost lock to the inputted video. The interrupt will remain low until cleared. These writes should be performed after an ADI recommended script has been performed. ADI recommended scripts can be found here: ADV728x Design Support files
The following steps are needed to program the Interrupt:
1) Enter the Interrupt/VDP Map Map by setting register 0x0E bit [6:5] to 01 (binary)
2) Program the interrupt to drive low when active and to stay low until cleared: In register 0x40 write 0xD1
3) Unmask (i.e. activate) the lock interrupt: Set register 0x44 bit[0] to 1.
4) Unmask (i.e. activate) the unlock interrupt: Set register 0x44 bit[1] to 1.
5) Clear the interrupt. set register 0x43 bits [1:0] to 1.
6) Exit the Interrupt/VDP Map: set register 0x0E bit [6:5] to 00 (binary)
See script below:
Read/Write | Device Address | Register Address | Value | Comment |
---|---|---|---|---|
Write | 0x42 | 0x0E | 0x20 | Enter Interrupt/VDP Map |
Write | 0x42 | 0x40 | 0xD1 | INTRQ pin drives low when active and remains low until interrupt is cleared |
Write | 0x42 | 0x44 | 0x03 | Active SD_LOCK and SD_UNLOCK interrupts |
Write | 0x42 | 0x43 | 0x03 | Clear SD_LOCK and SD_UNLOCK interrupts |
Write | 0x42 | 0x0E | 0x00 | Re-enter main map |
The ADV7182 has now been programmed to drive the INTRQ pin high under normal operation. When the ADV7182 locked to a video source or looses video lock, the INTRQ pin will drive low and remain low until the interrupt has been cleared.
How to clear the interrupt:
Read/Write | Device Address | Register Address | Value | Comment |
---|---|---|---|---|
Write | 0x42 | 0x0E | 0x20 | Enter Interrupt/VDP Map |
Write | 0x42 | 0x43 | 0x03 | Clear SD_LOCK and SD_UNLOCK interrupts |
Write | 0x42 | 0x0E | 0x00 | Re-enter main map |
The INTRQ pin will then drive high and will only drive low on the next loss of video lock.
Note:
When the INTRQ pin drives low you need to be able to tell if an lock or lost lock event has occurred. You should perform a read of register 0x10 in the User Map. This register contains the IN_LOCK [bit 0] and LOST_LOCK [bit 1] bits. These bit can be used to determine if a lock or lost lock event has occurred. See this thread for more information https://ez.analog.com/docs/DOC-3108.