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.

TLK6002: How to choose PRE-CURSOR AND POST-CURSOR tap weights

Part Number: TLK6002

Hi

I am working with tlk6002 at 2.45Gbps data rate. I am using it for transmitting Video Data and doing External Loop-Back to see the  received data on monitor.

The image is not reproducing correctly.Some of the video line data is missing.

There are no FIFO errors or ENCODE INVALID errors. But tlk6002 is giving DECODE INVALID error (THE REGISTER  ADDRESS (0X05) VALUE IS 0X6103 ).

When I change the values in the  register -0X02(CHANNEL_CONTROL_2) the image reproduction is changing.

In DEVICE INITIALISATION section(4.18) under 16-bit interface mode it is mentioned to choose the Values based on the desired application.

How to choose the values for register bits  present in the above image?

Thanks & Regards

Mallikarjuna B

  • Hi Mallikarjuna,

    Are you observing many decode errors in ERROR_COUNTER?

    If the hypothesis is that invalid decodes are occurring due to signal integrity issues, I would focus on tuning TWPOST, TWPRE, and EQPRE.  Regarding tuning TWPOST/TWPRE, I would use a scope after your channel to observe the signal and tune for the best eye.  If this is not possible, greenbox testing might be your best approach.

    https://www.ti.com/lit/an/slyt678/slyt678.pdf?ts=1686002287589&ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252FDS250DF410

    Thanks,
    Drew

     

  • Hi Drew,

    The above link provides the approach to select TWPRE, TWPOST parameters but it doesn't contain any information on how to set EQPRE.

    How to choose this value. Another thing is What should be the swing voltage (SWING[3:0]) to be set.

    How it affects the transmission signal?

    Regards

    Mallikarjuna

  • Hi Mallikarjuna,

    I would leave the swing at default, assuming you don't have any broadband signal attenuation in your signal chain. Increasing swing can help with SNR issues, but can also cause increased crosstalk and EMI.  We typically see swing between 700-1000mVpp for Ethernet systems.  I would expect similar swing to be suitable in this case.

    What is the insertion loss of your channel?

    Thanks,

    Drew

  • Hi drew

    The insertion loss is given as 0.30dB and back reflection loss is given as <-55dB.

    Thanks

    Mallikarjuna

  • Hi Mallikarjuna,

    I found the following description in some internal documentation.  Based on your very low insertion loss, I would recommend setting a high EQPRE value.

    EQPRE: This sets the amount of precursor equalization.  Higher numeric values of EQPRE (such as 11/9 or 13/9) correspond to less equalization and should be used with low-loss interconnects.  Lower numeric values should be used for high-loss interconnects.

    Thanks,

    Drew

  • Hi Drew,

    I have done the  GREENBOX testing and I have shortlisted some values which produces zero errors during PRBS testing (for 2^31-1 and 2^23-1 pattern).

    I have programmed the registers to following shortlisted values in my application. But for these values too I am getting errors when I am applying real Video Data. Decoder Invalid errors are coming

    The register 0x05 value is 0x6103 but it doesn't occur continuously. It occurs irregularly.

    Thanks

    Mallikarjuna B

  • Hi Mallikarjuna,

    The fact that you are getting no errors with PRBS31 strongly suggests that there is not a signal integrity issue on your highspeed signal chain.

    It seems odd that you are receiving decoder invalid errors.  Am I correct in assuming that you are occasionally sending comma characters?

    Is there any possibility that you are occasionally sending invalid K characters?

    Thanks,
    Drew

  • Hi drew,

    Yes, I am sending comma characters occasionally  and if there are any invalid comma characters at the transmission side  the register 0x05 would have shown ENCODE_INVALID errors.

    Another thing is when I am doing Shallow and Deep Loopback there are no ENCODE or DECODE invalid errors. The Image is reproducing perfectly. I think it confirms that there are no Invalid comma characters at the transmission side.

    Thanks

    Mallikarjuna

  • Hi Mallikarjuna,

    Thanks for clarifying.  I had two thoughts, but based on your responses, both seem unlikely.

    1) Invalid encode: Since we don't see ENCODE_INVALID, it seems like this is not an issue.

    2) Alignment Issue: If comma characters are not periodically sent, I know some devices using 8b/10b coding can fall out of alignment.  Since you are occasionally sending comma characters, the device should probably stay aligned.  Also, CHANNEL_SYNC is high based on your 0x05 value.

    It looks like the number of DECODE_INVALID errors are reflected in ERROR_COUNTER.  Have you looked at this?  Does the error count continuously increase, or does it increase in "bursts".  Is there any correlation with certain video content and the errors?

     What value is register 0x03 set to?

    Also, is your high speed signal transmission medium a cable or PCB?

    Thanks,

    Drew

  • Hi drew,

    The value of register 0x03 is 0x018E.

    The error counter values are in very less range . The values are like between 0x03, 0x05, 0x20... But these small number of errors can cause impact on image. There are not increasing in bursts but with small variations.

    Our transmission medium is optical fiber cable.

    Thanks

    Mallikarjuna

  • Hi Mallikarjuna,

    Do you have the capability to transmit arbitrary data?  I'm wondering if it's possible to monitor to see if the errors are associated with any specific 8b/10b codes.  Do you use optical modules to drive your optical fiber cable?  If so, do they have any CDR functionality?

    If the schematic for this application is different from the other thread, can you share it as well?

    Thanks,

    Drew

  • Hi Drew

    We are using SFP-10GLR-31  to drive optical fiber cable. I don't think it has CDR functionality. It's just a electrical to light converter.

    Will the live video data cant be act as arbitrary data?

    Does 8b/10b codes are checked only during external loopback ? Because in SHALLOW and DEEP local loopback there are no errors.

    Schematics for both the threads are same but sorry Drew I can't share the schematic. Those are standalone from extrernal Network.

    Thanks

    Mallikarjuna B

  • Hi Mallikarjuna,

    Thanks for the update.  This is really puzzling.  I would expect 8b/10b codes to be checked during the loopback modes.  I was curious if there was a chance that certain 8b/10b codes were causing errors, but it's not clear why this wouldn't be observable in either the loopback modes or PRBS31 BER testing.

    Is there any chance you have a passive DAC that you could try testing with?

    Thanks,

    Drew

  • Hi Drew,

    We're planning to procure it but does this passive cables improve the present condition ?

    Thanks

    Mallikarjuna

  • Hi Mallikarjuna,

    It's not clear to me why you're observing decoder errors.  Given that loopback works fine, this might indicate some sort of HS issue.  This is definitely surprising given that PRBS31 showed no errors, but my thought is to try changing the HS channel to see if that might change the behavior we're observing.

    Thanks,

    Drew

  • Hi Drew

    Does HS issue means High-Speed link issue?

    Whether it may be linked to RATE_SELECT because while working at FULL_RATE there are some values which doesn't produce these errors for real image too. But for half-rate these errors are producing for every value.

    I think if we solve the RATE_SELECT problem it provide some solution these errors.

    Meanwhile I will try checking transmission with other channel.

    Thanks

    Mallikarjuna

  • Hi Mallikarjuna,

    Apologies for the delay on this.  Yeah HS is high speed.  I'll try to see if I can identify any half-rate related issues and make suggestions this week.

    Are there any updates on your end?  Did changing the channel have any impact on the signal?

    Thanks,

    Drew

  • Hi Drew

    Actually we can work with only single channel i.e CHANNEL-A because there are some hardware issues onboard work with the other channel.

    So at present I have provision with only CHANNEL-A.

    I have done a small experiment with RATE_SELECT . I'll post in the other thread.

    Thanks

    Mallikarjuna

  • Hi Mallikarjuna,

    Thanks for the update.

    Thanks,

    Drew