Note updated this post with an improved software routine.
This FAQ applies to the ADV7182, ADV7280, ADV7280-M, ADV7281, ADV7281-M, ADV7281-MA, ADV7282 and ADV7282-M.
Even if the external 28.63636 MHz crystal is damaged and does not oscillate:
- I2C communication with the ADV7182/ADV728x will still work correctly.
- It is possible to program the ADV7182/ADV728x normally will ADI scripts.
- The ADV7182/ADV728x may even be able to partially lock to the incoming analog video source ( the IN_LOCK bit may be set).
However if the external 28.63636 MHz crystal is damaged and does not oscillate:
- The ADV7182/ADV728x will not be able to output digital video correctly.
- Unless a 28.63636 MHz crystal with a +/-50ppm accuracy is used, then the ADV7182/ADV728x will not be able to lock to the color sub-carrier frequency burst of incoming analog video (the FSC_LOCK bit will be low) .
It is possible to use an oscilloscope or similar to probe the crystal to see if it is oscillating correctly. However a high-end probe with low capacitance will have to be used. Otherwise the performance of the crystal will change (e.g. Placing an oscilloscope probe on the PCB traces to/from the crystal could actually cause the crystal to start oscillating).
Is is also possible to feed the crystal input out on the GPO pins. Placing an oscilloscope probe on the GPO output from the ADV728x will not affect the performance of the crystal. This option is only available on the ADV7280-M, ADV7281-M, ADV7281-MA and ADV7282-M models. See this post for more options.
Also it is possible to perform a 'heartbeat' test to determine if the crystal connected to the ADV7182/ADV728x will oscillate. The heartbeat test works by setting and clearing an interrupt bit. If the crystal is not oscillating correctly then the interrupt will not be set and cleared correctly.
When crystal oscillates correctly:
step 1: perform an ADI recommended script
Step 2: Enter Interrupt map by setting register 0x0E to the value 0x20.
Step 3: perform the reads & writes below.
If crystal is present you will have the following response
* Note that the interrupt status will always be 0 after power-up if crystal is present
If crystal is not present you will have the following response
* Note these errors show that the crystal is not oscillating correctly.
Step 4: For robustness the reads & writes of step 3 should be performed a few times.
Step 5: Remember to re-enter the user map before running any more scripts (set register 0x0E to the value 0x00)
Note these tests can be carried out on ADV7182/ADV728x evaluation boards. Writing 0x04 to register 0x13 will cause the crystal to stop oscillating. See this post for more details. http://ez.analog.com/message/80298#80298