This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TSER953: Link Margin: DS90UB953

Part Number: TSER953
Other Parts Discussed in Thread: DS90UB960-Q1, DS90UB953-Q1, DS90UB960-Q1EVM

Hi There,

We are using the DS90UB953-Q1 Serializer on our camera board and the DS90UB960-Q1 Deserializer on the carrier board. The FPD-Link III connection is configured in synchronous mode with a 50 Mbps back-channel rate, and Adaptive EQ is enabled.

We occasionally observe link errors in the logs (CRC error details attached here: Error_Ser_Deser.docx ), including both correctable (corr) and uncorrectable (uncorr) errors. To investigate, we performed a link margin analysis. The results indicate that the expected criteria of 4 strobe and 3 EQ green boxes are met (refer to the example image below). However, the link still appears to be somewhat sensitive.

image.png

Could you please advise if there is any method to fine-tune the back-channel clock for improved stability? Additionally, are there any undocumented or unexposed registers in the serializer or deserializer that could help optimize this behavior?

  • Hello Vignesh,

    How many camera are connected to the DES? to which RX Port?

    What is the length of the used cable? 

    Have you tested with another Camera, DES board, different cable type or cable length?

    Can you provide a dump from the following registers for each connected Rx port. Please read the registers two times, one time right after configuring the link, and one time after 5 minutes.

    953: 0x02-0x07, 0x10-0x11, 0x32, 0x37, 0x50-0x52, 0x55, 0x56, 0x5B-0x64

    960: 0x02-0x06, 0x0C, 0x0D, 0x1F-0x24, 0x32-0x37, 0x40-0x49, 0x4B-0x58, 0x5B-0x6D, 0x70-0x76, 0x7A-0x7D, 0xA5, 0xB9, 0xBC, 0xD2-0xDB.

  • Hi,

    We connected 1 camera only for testing to the DES to 0th port. The length of the cable (RG-174) is 2m. When testing the camera with the DS90UB960-Q1EVM, I can get upto 9 EQ passed levels. The register dump after the configuring the link and after 5 minutes are attached here.

    ===== [BUS 9] Reading Deserializer (UB960 @ 0x30) Registers =====
    bus 9 device 0x30 reg 0x02 = 0x1e
    bus 9 device 0x30 reg 0x03 = 0x40
    bus 9 device 0x30 reg 0x04 = 0xd0
    bus 9 device 0x30 reg 0x05 = 0x01
    bus 9 device 0x30 reg 0x06 = 0x00
    bus 9 device 0x30 reg 0x0C = 0x0f
    bus 9 device 0x30 reg 0x0D = 0xb9
    bus 9 device 0x30 reg 0x1F = 0x00
    bus 9 device 0x30 reg 0x20 = 0xf0
    bus 9 device 0x30 reg 0x21 = 0x03
    bus 9 device 0x30 reg 0x22 = 0x00
    bus 9 device 0x30 reg 0x23 = 0x00
    bus 9 device 0x30 reg 0x24 = 0x00
    bus 9 device 0x30 reg 0x32 = 0x00
    bus 9 device 0x30 reg 0x33 = 0x00
    bus 9 device 0x30 reg 0x34 = 0x00
    bus 9 device 0x30 reg 0x35 = 0x00
    bus 9 device 0x30 reg 0x36 = 0x00
    bus 9 device 0x30 reg 0x37 = 0x00
    bus 9 device 0x30 reg 0x40 = 0x00
    bus 9 device 0x30 reg 0x41 = 0xa9
    bus 9 device 0x30 reg 0x42 = 0x71
    bus 9 device 0x30 reg 0x43 = 0x01
    bus 9 device 0x30 reg 0x44 = 0x00
    bus 9 device 0x30 reg 0x45 = 0x00
    bus 9 device 0x30 reg 0x46 = 0x20
    bus 9 device 0x30 reg 0x47 = 0x00
    bus 9 device 0x30 reg 0x48 = 0x00
    bus 9 device 0x30 reg 0x49 = 0x00
    bus 9 device 0x30 reg 0x4B = 0x12
    bus 9 device 0x30 reg 0x4C = 0x01
    bus 9 device 0x30 reg 0x4D = 0x03
    bus 9 device 0x30 reg 0x4E = 0x04
    bus 9 device 0x30 reg 0x4F = 0x64
    bus 9 device 0x30 reg 0x50 = 0x00
    bus 9 device 0x30 reg 0x51 = 0x08
    bus 9 device 0x30 reg 0x52 = 0x00
    bus 9 device 0x30 reg 0x53 = 0x03
    bus 9 device 0x30 reg 0x54 = 0x00
    bus 9 device 0x30 reg 0x55 = 0x00
    bus 9 device 0x30 reg 0x56 = 0x00
    bus 9 device 0x30 reg 0x57 = 0x00
    bus 9 device 0x30 reg 0x58 = 0x5e
    bus 9 device 0x30 reg 0x5B = 0x30
    bus 9 device 0x30 reg 0x5C = 0x4a
    bus 9 device 0x30 reg 0x5D = 0x84
    bus 9 device 0x30 reg 0x5E = 0x00
    bus 9 device 0x30 reg 0x5F = 0x00
    bus 9 device 0x30 reg 0x60 = 0x00
    bus 9 device 0x30 reg 0x61 = 0x00
    bus 9 device 0x30 reg 0x62 = 0x00
    bus 9 device 0x30 reg 0x63 = 0x00
    bus 9 device 0x30 reg 0x64 = 0x00
    bus 9 device 0x30 reg 0x65 = 0xca
    bus 9 device 0x30 reg 0x66 = 0x00
    bus 9 device 0x30 reg 0x67 = 0x00
    bus 9 device 0x30 reg 0x68 = 0x00
    bus 9 device 0x30 reg 0x69 = 0x00
    bus 9 device 0x30 reg 0x6A = 0x00
    bus 9 device 0x30 reg 0x6B = 0x00
    bus 9 device 0x30 reg 0x6C = 0x00
    bus 9 device 0x30 reg 0x6D = 0x7c
    bus 9 device 0x30 reg 0x70 = 0x2b
    bus 9 device 0x30 reg 0x71 = 0x2c
    bus 9 device 0x30 reg 0x72 = 0x00
    bus 9 device 0x30 reg 0x73 = 0x04
    bus 9 device 0x30 reg 0x74 = 0xb0
    bus 9 device 0x30 reg 0x75 = 0x0f
    bus 9 device 0x30 reg 0x76 = 0x00
    bus 9 device 0x30 reg 0x7A = 0x00
    bus 9 device 0x30 reg 0x7B = 0x00
    bus 9 device 0x30 reg 0x7C = 0x21
    bus 9 device 0x30 reg 0x7D = 0x00
    bus 9 device 0x30 reg 0xA5 = 0x1c
    bus 9 device 0x30 reg 0xB9 = 0x33
    bus 9 device 0x30 reg 0xBC = 0x80
    bus 9 device 0x30 reg 0xD2 = 0x94
    bus 9 device 0x30 reg 0xD3 = 0x03
    bus 9 device 0x30 reg 0xD4 = 0x60
    bus 9 device 0x30 reg 0xD5 = 0xf2
    bus 9 device 0x30 reg 0xD6 = 0x00
    bus 9 device 0x30 reg 0xD7 = 0x02
    bus 9 device 0x30 reg 0xD8 = 0x07
    bus 9 device 0x30 reg 0xD9 = 0x7f
    bus 9 device 0x30 reg 0xDA = 0x00
    bus 9 device 0x30 reg 0xDB = 0x00
    
    ===== [BUS 9] Reading Serializer (UB953 @ 0x25) Registers =====
    bus 9 device 0x25 reg 0x02 = 0x72
    bus 9 device 0x25 reg 0x03 = 0x48
    bus 9 device 0x25 reg 0x04 = 0x00
    bus 9 device 0x25 reg 0x05 = 0x03
    bus 9 device 0x25 reg 0x06 = 0x41
    bus 9 device 0x25 reg 0x07 = 0x25
    bus 9 device 0x25 reg 0x10 = 0x00
    bus 9 device 0x25 reg 0x11 = 0x00
    bus 9 device 0x25 reg 0x32 = 0x09
    bus 9 device 0x25 reg 0x37 = 0x60
    bus 9 device 0x25 reg 0x50 = 0x20
    bus 9 device 0x25 reg 0x51 = 0xc0
    bus 9 device 0x25 reg 0x52 = 0x45
    bus 9 device 0x25 reg 0x55 = 0x00
    bus 9 device 0x25 reg 0x56 = 0x00
    bus 9 device 0x25 reg 0x5B = 0x02
    bus 9 device 0x25 reg 0x5C = 0x00
    bus 9 device 0x25 reg 0x5D = 0x00
    bus 9 device 0x25 reg 0x5E = 0x00
    bus 9 device 0x25 reg 0x5F = 0x00
    bus 9 device 0x25 reg 0x60 = 0x00
    bus 9 device 0x25 reg 0x61 = 0x1e
    bus 9 device 0x25 reg 0x62 = 0x00
    bus 9 device 0x25 reg 0x63 = 0x0f
    bus 9 device 0x25 reg 0x64 = 0x94
    ===== All Register Reads Completed =====
    
    ===== [BUS 9] Reading Deserializer (UB960 @ 0x30) Registers =====
    bus 9 device 0x30 reg 0x02 = 0x1e
    bus 9 device 0x30 reg 0x03 = 0x40
    bus 9 device 0x30 reg 0x04 = 0xd0
    bus 9 device 0x30 reg 0x05 = 0x01
    bus 9 device 0x30 reg 0x06 = 0x00
    bus 9 device 0x30 reg 0x0C = 0x0f
    bus 9 device 0x30 reg 0x0D = 0xb9
    bus 9 device 0x30 reg 0x1F = 0x00
    bus 9 device 0x30 reg 0x20 = 0xf0
    bus 9 device 0x30 reg 0x21 = 0x03
    bus 9 device 0x30 reg 0x22 = 0x00
    bus 9 device 0x30 reg 0x23 = 0x00
    bus 9 device 0x30 reg 0x24 = 0x00
    bus 9 device 0x30 reg 0x32 = 0x00
    bus 9 device 0x30 reg 0x33 = 0x00
    bus 9 device 0x30 reg 0x34 = 0x00
    bus 9 device 0x30 reg 0x35 = 0x00
    bus 9 device 0x30 reg 0x36 = 0x00
    bus 9 device 0x30 reg 0x37 = 0x00
    bus 9 device 0x30 reg 0x40 = 0x00
    bus 9 device 0x30 reg 0x41 = 0xa9
    bus 9 device 0x30 reg 0x42 = 0x71
    bus 9 device 0x30 reg 0x43 = 0x01
    bus 9 device 0x30 reg 0x44 = 0x00
    bus 9 device 0x30 reg 0x45 = 0x00
    bus 9 device 0x30 reg 0x46 = 0x20
    bus 9 device 0x30 reg 0x47 = 0x00
    bus 9 device 0x30 reg 0x48 = 0x00
    bus 9 device 0x30 reg 0x49 = 0x00
    bus 9 device 0x30 reg 0x4B = 0x12
    bus 9 device 0x30 reg 0x4C = 0x01
    bus 9 device 0x30 reg 0x4D = 0x03
    bus 9 device 0x30 reg 0x4E = 0x04
    bus 9 device 0x30 reg 0x4F = 0x64
    bus 9 device 0x30 reg 0x50 = 0x00
    bus 9 device 0x30 reg 0x51 = 0x08
    bus 9 device 0x30 reg 0x52 = 0x00
    bus 9 device 0x30 reg 0x53 = 0x03
    bus 9 device 0x30 reg 0x54 = 0x00
    bus 9 device 0x30 reg 0x55 = 0x00
    bus 9 device 0x30 reg 0x56 = 0x00
    bus 9 device 0x30 reg 0x57 = 0x00
    bus 9 device 0x30 reg 0x58 = 0x5e
    bus 9 device 0x30 reg 0x5B = 0x30
    bus 9 device 0x30 reg 0x5C = 0x4a
    bus 9 device 0x30 reg 0x5D = 0x84
    bus 9 device 0x30 reg 0x5E = 0x00
    bus 9 device 0x30 reg 0x5F = 0x00
    bus 9 device 0x30 reg 0x60 = 0x00
    bus 9 device 0x30 reg 0x61 = 0x00
    bus 9 device 0x30 reg 0x62 = 0x00
    bus 9 device 0x30 reg 0x63 = 0x00
    bus 9 device 0x30 reg 0x64 = 0x00
    bus 9 device 0x30 reg 0x65 = 0xca
    bus 9 device 0x30 reg 0x66 = 0x00
    bus 9 device 0x30 reg 0x67 = 0x00
    bus 9 device 0x30 reg 0x68 = 0x00
    bus 9 device 0x30 reg 0x69 = 0x00
    bus 9 device 0x30 reg 0x6A = 0x00
    bus 9 device 0x30 reg 0x6B = 0x00
    bus 9 device 0x30 reg 0x6C = 0x00
    bus 9 device 0x30 reg 0x6D = 0x7c
    bus 9 device 0x30 reg 0x70 = 0x2b
    bus 9 device 0x30 reg 0x71 = 0x2c
    bus 9 device 0x30 reg 0x72 = 0x00
    bus 9 device 0x30 reg 0x73 = 0x04
    bus 9 device 0x30 reg 0x74 = 0xb0
    bus 9 device 0x30 reg 0x75 = 0x0f
    bus 9 device 0x30 reg 0x76 = 0x00
    bus 9 device 0x30 reg 0x7A = 0x00
    bus 9 device 0x30 reg 0x7B = 0x00
    bus 9 device 0x30 reg 0x7C = 0x21
    bus 9 device 0x30 reg 0x7D = 0x00
    bus 9 device 0x30 reg 0xA5 = 0x1c
    bus 9 device 0x30 reg 0xB9 = 0x33
    bus 9 device 0x30 reg 0xBC = 0x80
    bus 9 device 0x30 reg 0xD2 = 0x94
    bus 9 device 0x30 reg 0xD3 = 0x03
    bus 9 device 0x30 reg 0xD4 = 0x60
    bus 9 device 0x30 reg 0xD5 = 0xf2
    bus 9 device 0x30 reg 0xD6 = 0x00
    bus 9 device 0x30 reg 0xD7 = 0x02
    bus 9 device 0x30 reg 0xD8 = 0x07
    bus 9 device 0x30 reg 0xD9 = 0x7f
    bus 9 device 0x30 reg 0xDA = 0x00
    bus 9 device 0x30 reg 0xDB = 0x00
    
    ===== [BUS 9] Reading Serializer (UB953 @ 0x25) Registers =====
    bus 9 device 0x25 reg 0x02 = 0x72
    bus 9 device 0x25 reg 0x03 = 0x48
    bus 9 device 0x25 reg 0x04 = 0x00
    bus 9 device 0x25 reg 0x05 = 0x03
    bus 9 device 0x25 reg 0x06 = 0x41
    bus 9 device 0x25 reg 0x07 = 0x25
    bus 9 device 0x25 reg 0x10 = 0x00
    bus 9 device 0x25 reg 0x11 = 0x00
    bus 9 device 0x25 reg 0x32 = 0x09
    bus 9 device 0x25 reg 0x37 = 0x60
    bus 9 device 0x25 reg 0x50 = 0x20
    bus 9 device 0x25 reg 0x51 = 0xc0
    bus 9 device 0x25 reg 0x52 = 0x45
    bus 9 device 0x25 reg 0x55 = 0x00
    bus 9 device 0x25 reg 0x56 = 0x00
    bus 9 device 0x25 reg 0x5B = 0x00
    bus 9 device 0x25 reg 0x5C = 0x00
    bus 9 device 0x25 reg 0x5D = 0x00
    bus 9 device 0x25 reg 0x5E = 0x00
    bus 9 device 0x25 reg 0x5F = 0x00
    bus 9 device 0x25 reg 0x60 = 0x00
    bus 9 device 0x25 reg 0x61 = 0x1e
    bus 9 device 0x25 reg 0x62 = 0x00
    bus 9 device 0x25 reg 0x63 = 0x0f
    bus 9 device 0x25 reg 0x64 = 0x14
    ===== All Register Reads Completed =====
    

  • Hi Vignesh,

    both register dumps look okay to me. Also I see you are receiving data at the RX Ports. However, in register 0xA5 it looks like you are using the wrong REFCLK value? shown 15MHz but it supposed to be 25MHz. Please make sure to measure it and it fulfills the datasheet specs.

  • Hi,

    We used the 25MHz oscillator and verified it using a scope. In the register dump, the register 0xA5 has 0x1c, which is 28MHz. When we checked the same in the TI EVM kit (PN: DS90UB960-Q1EVM), the register value is 0x1b, which is nearer to the required 25MHz clock. Can you please check if this clock can be tuned internally? Or any other way to reduce the corr and uncorr errors?

  • Hi,

    The REFCLK can't be changed or tuned internally. It is okay though to see different value than 25MHz, since this measurement has a variation of +/-20%.

    To your link, as I said I do not see anything wrong. No errors or discrepancies. maybe you can test with a different cable type or cable length.

  • Hi Hamzeh,

    We replaced the cable with a shorter one (~10 cm), but the error still persists. There is also no noticeable change in the link margin.

    Are there any undocumented or unexposed registers in the serializer or deserializer that could help us here?