I'm trying to run a video PRBS (VPRBS) test with the MAX96716 (deserializer) and MAX96717 (serializer).
I followed the sequence shown in the MAX96716A User Guide, but the behavior is different from what I expected.
Here are my results:
SER(MAX96717):
- PCLKDET (0x0112[7]) = 1
DES(MAX96716):
- VIDEO_LOCK (0x01FC[0]) = 1
- VPRBS_FAIL (0x01FC[5]) = 0
- VPRBS_ERR (0x01FB) = 0xFF
And here are my questions:
-
I think VIDEO_FAIL is asserted when the received pattern is wrong for several consecutive cycles/frames. Is that correct?
-
VPRBS_ERR reaches 0xFF very quickly, but VPRBS_FAIL is not asserted. Why would the error counter saturate without FAIL being set?
-
Even though I did not enable the VPRBS generator (0x026B[7]), the VIDEO_LOCK bit is still set. What does VIDEO_LOCK indicate?
-
The datasheets for both MAX96716 and MAX96717 say to enable the PRBS generator on the transmitter first, then enable the checker on the receiver.
However, the MAX96716 user guide enables the checker first. In this context, does “PRBS generator” refer to the pattern generator rather than the VPRBS generator?
Below are the relevant excerpts from the user guide and the datasheet.
User guide sequence
| # Connect Serializer GMSL link to Deserializer GMSL link A #Disable auto bpp on serializer 0x80,0x0110,0x60 #Enable serializer internal PCLK generation, PCLK = 150MHz 0x80,0x024F,0x0D #Enable serializer pattern generator 0x80,0x026B,0x01 #Delay for 3ms #Enable PRBS checker for deserializer 0x98,0x01FC,0x90 #Delay for 3ms #Enable serializer VPRBS generator 0x80,0x026B,0x81 |
Datasheet
| To run the video PRBS test, first enable the PRBS generator on the transmitter side, then enable the checker on the receiver side. |