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.

TMDS171: adaptive equalization not working

Part Number: TMDS171

Hi

in our system we use the TMDS171.

In some cases we are facing an issue with the adaptive equalization that seems to not behave as expected.

Looking with the LinkEye Tool at the equalization gains imposed by the adaptive equalizer we have found that on 1 or 2 lane we have the gains at the maximum levels even if we are using a very short cable(1m). If we manually set the equalization gain to a lower level we have a clean video signal.

In our application we have to support both short cables and longer cables(max 20m), so the adaptive equalizer is a feature we would like to have enabled and working.

What can cause the adaptive algorithm to work in a wrong way and set the gain at the maximum?

Thank you

Best Regards

  • Stefano

    When you are switching between a short cable and a long cable, does the HPD_SNK get toggled?

    Can you please send me a Page 0 and a Page 1 register dump between the short and the long cable?

    Thanks

    David

  • Hi

    here I have the register dump in the case of a short cable(1m).

    As i said the adaptive equalizer set the gain at an high levels and the equalizer gain is changing continuously 

    CSR PAGE 0
    00	54
    01	4D
    02	44
    03	53
    04	31
    05	37
    06	31
    07	20
    08	01
    09	02
    0A	B3
    0B	00
    0C	00
    0D	00
    0E	00
    0F	0F
    10	00
    11	00
    12	00
    13	00
    14	00
    15	80
    16	00
    17	F0
    18	FF
    19	0F
    1A	FF
    1B	0F
    1C	FF
    1D	0F
    1E	00
    1F	00
    20	0A
    21	00
    22	00
    23	00
    24	00
    25	00
    26	00
    27	00
    28	00
    29	00
    2A	00
    2B	00
    2C	00
    2D	00
    2E	00
    2F	00
    30	00
    31	00
    32	00
    33	00
    34	00
    35	00
    36	00
    37	00
    38	00
    39	00
    3A	00
    3B	00
    3C	00
    3D	00
    3E	00
    3F	00
    40	00
    41	00
    42	00
    43	00
    44	00
    45	00
    46	00
    47	00
    48	00
    49	00
    4A	00
    4B	00
    4C	00
    4D	00
    4E	00
    4F	00
    50	00
    51	00
    52	00
    53	00
    54	00
    55	00
    56	00
    57	00
    58	00
    59	00
    5A	00
    5B	00
    5C	00
    5D	00
    5E	00
    5F	00
    60	00
    61	00
    62	00
    63	00
    64	00
    65	00
    66	00
    67	00
    68	00
    69	00
    6A	00
    6B	00
    6C	00
    6D	00
    6E	00
    6F	00
    70	00
    71	00
    72	00
    73	00
    74	00
    75	00
    76	00
    77	00
    78	00
    79	00
    7A	00
    7B	00
    7C	00
    7D	00
    7E	00
    7F	00
    80	00
    81	00
    82	00
    83	00
    84	00
    85	00
    86	00
    87	00
    88	00
    89	00
    8A	00
    8B	00
    8C	00
    8D	00
    8E	00
    8F	00
    90	00
    91	00
    92	00
    93	00
    94	00
    95	00
    96	00
    97	00
    98	00
    99	00
    9A	00
    9B	00
    9C	00
    9D	00
    9E	00
    9F	00
    A0	00
    A1	00
    A2	00
    A3	00
    A4	00
    A5	00
    A6	00
    A7	00
    A8	00
    A9	00
    AA	00
    AB	00
    AC	00
    AD	00
    AE	00
    AF	00
    B0	00
    B1	00
    B2	00
    B3	00
    B4	00
    B5	00
    B6	00
    B7	00
    B8	00
    B9	00
    BA	00
    BB	00
    BC	00
    BD	00
    BE	00
    BF	00
    C0	00
    C1	00
    C2	00
    C3	00
    C4	00
    C5	00
    C6	00
    C7	00
    C8	00
    C9	00
    CA	00
    CB	00
    CC	00
    CD	00
    CE	00
    CF	00
    D0	00
    D1	00
    D2	00
    D3	00
    D4	00
    D5	00
    D6	00
    D7	00
    D8	00
    D9	00
    DA	00
    DB	00
    DC	00
    DD	00
    DE	00
    DF	00
    E0	00
    E1	00
    E2	00
    E3	00
    E4	00
    E5	00
    E6	00
    E7	00
    E8	00
    E9	00
    EA	00
    EB	00
    EC	00
    ED	00
    EE	00
    EF	00
    F0	00
    F1	00
    F2	00
    F3	00
    F4	00
    F5	00
    F6	00
    F7	00
    F8	00
    F9	00
    FA	00
    FB	00
    FC	00
    FD	00
    FE	00
    
    CSR PAGE 1
    00	C3
    01	01
    02	3F
    03	00
    04	A0
    05	00
    06	00
    07	00
    08	01
    09	00
    0A	00
    0B	33
    0C	00
    0D	00
    0E	11
    0F	00
    10	0F
    11	80
    12	00
    13	F7
    14	00
    15	00
    16	00
    17	00
    18	00
    19	00
    1A	00
    1B	00
    1C	00
    1D	00
    1E	00
    1F	00
    20	00
    21	00
    22	00
    23	00
    24	00
    25	00
    26	00
    27	00
    28	00
    29	00
    2A	00
    2B	00
    2C	00
    2D	00
    2E	00
    2F	00
    30	07
    31	B0
    32	08
    33	00
    34	00
    35	00
    36	00
    37	00
    38	00
    39	00
    3A	00
    3B	08
    3C	04
    3D	06
    3E	00
    3F	00
    40	80
    41	80
    42	80
    43	80
    44	CB
    45	00
    46	00
    47	00
    48	01
    49	01
    4A	7F
    4B	FF
    4C	03
    4D	30
    4E	7B
    4F	74
    50	00
    51	00
    52	00
    53	00
    54	00
    55	00
    56	00
    57	00
    58	00
    59	D7
    5A	00
    5B	FF
    5C	40
    5D	40
    5E	40
    5F	40
    60	00
    61	00
    62	00
    63	00
    64	00
    65	00
    66	00
    67	00
    68	00
    69	00
    6A	00
    6B	00
    6C	00
    6D	00
    6E	00
    6F	00
    70	00
    71	00
    72	00
    73	00
    74	00
    75	00
    76	00
    77	00
    78	00
    79	00
    7A	00
    7B	00
    7C	00
    7D	00
    7E	00
    7F	00
    80	00
    81	C0
    82	00
    83	00
    84	00
    85	00
    86	00
    87	00
    88	00
    89	00
    8A	00
    8B	00
    8C	00
    8D	00
    8E	00
    8F	00
    90	00
    91	00
    92	00
    93	00
    94	00
    95	00
    96	00
    97	00
    98	00
    99	00
    9A	00
    9B	00
    9C	00
    9D	00
    9E	00
    9F	00
    A0	00
    A1	00
    A2	EC
    A3	00
    A4	00
    A5	00
    A6	00
    A7	00
    A8	00
    A9	00
    AA	00
    AB	00
    AC	00
    AD	00
    AE	00
    AF	00
    B0	3E
    B1	90
    B2	00
    
    'DATA FILE FORMAT: <HEX ADDRESS><TAB><HEX DATA>. EVERYTHING AFTER <DATA> IS IGNORED.
    'USE <'> FOR IN-LINE COMMENTING.
    'DATA FILE PARSING STOPS AT FIRST BLANK LINE.
    

    lane 0  min=11.5dB  max=14.62dB

    lane1   min=8.8dB   max=14.62dB

    lane 2  min=3.8dB   max=8.8dB

    Why is it doing so? The best eye with eyescan is at an equalizer gain of 0dB. Why it is not finding the best gain?

  • Stefano

    This looks to be a sink design. When you are switching between the two cables, does HPD_SNK get toggled? You need HPD_SNK to be toggled so the TMDS171 RX can re-lock and re-train its equalizer.

    Thanks

    David

  • Hi

    if I change the cable from short to long and viceversa the adaptive equalizer change the equalizer gain even if in our board we have the HPD_SNK fixed with a pull-up.

    In case of long cable the adaptive equalizer find a equalizer gain set that is near to the optimal.

    In case of short cable the adaptive equalizer find a equalizer gain set that is far from the optimal as you can see in the following image:

    What can cause the adaptive equalizer to work in this wrong way?

    If I toggle the HPD_SNK manually nothing change.

    If I scan the eye with all the different fixed gain value it is confirmed that the best setting is the one with fixed gain set to 0 and the adaptive equalizer set the gain to 11, that seems to me a wrong behavior, as you can see in the following image:

    Can you please help us in understanding why this happen?

    Best Regards

    Stefano

  • Stefano

    1. If I change the cable from short to long and vice versa the adaptive equalizer change the equalizer gain even if in our board we have the HPD_SNK fixed with a pull-up.

    2. In case of long cable the adaptive equalizer find a equalizer gain set that is near to the optimal.

    3. In case of short cable the adaptive equalizer find a equalizer gain set that is far from the optimal.

    Are you saying that for short cable, even though the equalizer is changing, the equalizer is changing to a less optimized position?

    Can we try the following experiment?

    1. Remove cable 

    2. If you are using the TMDS171 HPD_SNK and HPD_SRC, please make sure HPD_SRC is low when HPD_SNK is low, so the source knows the TMDS171 is disconnected

    3. Plugging in the short cable

    4. Drive HPD_SNK high, HPD_SRC should be high, and check the EQ gain

    For the 2nd experiment

    1. Remove cable 

    2. Plugging in the short cable

    3. Write a 1 to the APPLY_RXTX_CHANGES bit and check the EQ gain

    For the 3rd experiment

    1. Remove cable 

    2. Plugging in the short cable

    3. Toggle the PD_EN bit and check the EQ gain

    Thanks

    David

  • Stefano 

    Do you have an update to this thread?

    Thanks

    David

  • Hi David,

    I've made the experiments you have suggested.

    None of those has brought to a change in the adaptive equalizer gain settings.

    It returns back to the non-optimal point.

    The problem arise only on short cable distance(1m).

    We are using a TX output swing of 700mV that should be compliant with the TMD171 receiver.

    Do you have other suggestion?

    Thanks

    Regards

    Stefano

  • Stefano

    Please give me few days to set up and duplicate the issue on the TMDS171 EVM, and I will reply to you what I find.

    Thanks

    David

  • Stefano

    Here are the results from my testing on the TMDS171 EVM. I am seeing the equalizer adapts correctly to both the long and short cable. 

    Have you seen this issue on multiple boards and with multiple cables?

    No Cable Connected

    Long Cable Connected


    Short Cable Connected



    Thanks

    David