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.

DS90UB954-Q1: I2C

Part Number: DS90UB954-Q1
Other Parts Discussed in Thread: ALP

Hi team,

I received a question about the DS90UB954-Q1 from my customer. Could you please support the questions below?

[Background]

I connected the DS90UB954EVM and our product board with DS90UB954 via I2C, and I would like to set the our product board with DS90UB954 to output eye pattern mode.

I have stopped the communication from the I2C master on the product board to the I2C slave on the DS90UB954.
Analog LaunchPAD cannot recognize DS90UB954 (I2C-Address: 0x7A (8 bit)) on the our product board.
On the other hand, the DS90UB954 (I2C-Address: 0x60) on the EVM side is recognized.

[Question]

1. Is it possible for Analog LaunchPAD to recognize multiple DS90UB954s?

2.Are there any restrictions on the DS90UB954 I2C device addresses that can be connected?

Regards,

Yamaguchi

  • Hi Yamaguchi-san,

    Do you have two USB ports connected to ALP? If so, two profiles should show up on the GUI and you can select which one to talk to. If there's only one USB port can you're trying to communicate to two slaves, the profile itself will only show the one with the lower I2C address, but on the scripting tab you should be able to ping both buses.

    Best,

    Jiashow

  • Hi Jiashow-san,

    Thank you so much for the answer. The customer understood.

    I have additional request as follows.

    The customer has only one USB port. If possible, could you give me an example of a .py file that customer can run from the Script tab and output waveforms for eye pattern measurement to the CML_OUT pin?

    Regards,

    Yamaguchi

  • Hi Yamaguchi-san,

    Here's an example for RX0:

    board.WriteI2C(devAddr, 0xB0,0x14) # FPD-Link III RX Shared, page 0

    board.WriteI2C(devAddr, 0xB1,0x00) # Offset 0

    board.WriteI2C(devAddr, 0xB2,0x80) # Enable loop through driver

    board.WriteI2C(devAddr, 0xB1,0x03) #

    board.WriteI2C(devAddr, 0xB2,0x28) #

    board.WriteI2C(devAddr, 0xB1,0x04) #

    board.WriteI2C(devAddr, 0xB2,0x28) # #

    board.WriteI2C(devAddr, 0xB1,0x02) #

    board.WriteI2C(devAddr, 0xB2,0x20) # #

    board.WriteI2C(devAddr, 0xB0,0x04) # Offset 4

    board.WriteI2C(devAddr, 0xB1,0x0F) #

    board.WriteI2C(devAddr, 0xB2,0x01) #

    board.WriteI2C(devAddr, 0xB1,0x10) #

    board.WriteI2C(devAddr, 0xB2,0x02) # Enable CML data output

    where devAddr is your 8-bit deserializer address.

    Best,

    Jiashow

  • Hi Jiashow-san,

    Thank you so much for your support. The customer confirmed the operation on the evaluation board with the script you sent. Thank you.

    I received additional question from the customer. Could you please advise to the question below?

    [Background]

    I connected the DS90UB954EVM and our product board with DS90UB954 via I2C, and I would like to set the our product board with DS90UB954 to output eye pattern mode.

    I have stopped the communication from the I2C master on the product board to the I2C slave on the DS90UB954.

    [Question]

    In the case of the our product board with the TI evaluation board connected, if I set the waveform output when the SER side is not connected, the waveform appears, but if I set the waveform output when the SER side is connected, the waveform does not appear.
    Is there any problem with the output waveform if I set it when the SER side is not connected and then connect the SER side?

    Also, what waveform will be output when the SER side is not connected?

    Regards,

    Yamaguchi

  • Hi Yamaguchi-san,

    Could you clarify your question? When you say waveform, do you mean the CMLOUT channel?

    The CMLOUT waveform is a representation of the forward channel eye and should only appear if the link is running.

    Best,

    Jiashow

  • Hi Jiashow-san,

    Thank you for your support. Yes, the waveform means the CMLOUT channel.

    The customer was able to output waveforms of about 40MHz on the EVM, but the customer haven't been able to output waveforms of 2GHz yet.
    Does it need additional settings to output the 2GHz waveform?

    Regards,

    Yamaguchi

  • Hello,

    What serializer are you running with? The CMLOUT outputs the forward channel eye, what's the expected forward channel rate?

    Best,
    Jiashow

  • Hello Jiashow-san,

    Thank you for your support. I got the feedback from the customer.

    The serializer is DS90UB953. The expected forward channel rate is as follows.

    Synchronous Mode

    REF FREQUENCY : 25MHz

    FC DATA RATE:4Gbps(FC FREQUENCY : 2GHz)

    The following is what the customer wants to do(purpose).

    First of all, we would like to check the 2GHz eye pattern at CML_OUT pin with test pattern using DS90UB954EVM and DS90UB953EVM.

    After that, we would like to connect the DS90UB954EVM to the DS90UB954 on the product board via I2C, control the product board from the DS90UB954EVM, and confirm the 2GHz eye pattern on the CML_OUT pin of the product board using the test pattern. The serializer to be connected to the product board is DS90UB953.

    [Question]

    I know that BIST mode should be set to evaluate with the test pattern, but even with the BIST EN register enabled and the CMLOUT output setting that you provided, only a 40MHz waveform is output from CMLOUT.
    If there are other registers to set, please let me know.

    Regards,

    Yamaguchi

  • Hi Yamaguchi-san,

    You can simply generate a pattern on the serializer (instead of running BIST). Can you share your full init code? 

    Are you running in coax mode? If so, can you probe Rin- to GND? It should show a 2GHz signal.

    Best,

    Jiashow

  • Hi Jiashow-san,

    Thank you so much for your support. I got the feedback from the customer. Could you please advise for the question below?

    <What the customer wants to do>

    1. We would like to confirm the 2GHz eye pattern at the CML_OUT pin with a test pattern using the DS90UB954EVM and the DS90UB953EVM.

    2. We would like to connect the DS90UB954EVM to the DS90UB954 on the product board via I2C, control the product board from the DS90UB954EVM, and confirm the 2GHz eye pattern on the CML_OUT pin of the product board using the test pattern. The serializer to be connected to the product board is DS90UB953.

    The product board in #2 above already works with the product farm operation, but I can't get the init code (initial setting) because it is developed by another department. My department is designing the DS90UB953 side, and I need to evaluate the eye pattern of the communication channel with the DS90UB954 side in my department, so I am asking a lot of questions.
    I would appreciate it if you could teach me the initial setup from scratch.
    Currently, I am only running the code in the .py file you gave me.
    I'm trying to run it in Coax mode.

    <Question>

    As far as I read the data sheet, it seems easier to run BIST mode. I think that the register setting of address 0xB3 of DS90UB954 and the register setting of addresses 0x35 and 0x14 of DS90UB953 are related. Is this correct? Is it possible to get an example of setting BIST mode?

    Regards,

    Yamaguchi

  • Hi Yamaguchi-san,

    BIST mode and CMLOUT are two different ways to diagnose the link.

    I'm having trouble attaching a BIST script. Can you reach out to me via email and I can send you an example BIST script?

    Best,

    Jiashow