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.

DS90UB927Q-Q1: Cannot write/read from indirect registers (Pattern Generator)

Part Number: DS90UB927Q-Q1

Hello!

i am trying to write in the indirect registers to configure the pattern generator, using the AN-2198 as a guide, but it is not working.

This is the sequence that i am using to set the divider to 3:

i2c_write_register(0x03,0x66,0x18); // PGCDC
i2c_write_register(0x03,0x67,0x18);

where the first parameter in my function is the data, the second is the register address and the third is the i2c address, and this function that i made can read and write other registers without any problem.

Can you help me with this issue?

Thanks in advance.

  • Hello Daniel,

    When you say it is not working, do you mean that you can't write values at all to the indirect registers? Have you tried reading from the indirect registers to see if you can properly read the default values? For example, if you do the following command:

    i2c_write_register(0x03,0x66,0x18); // PGCDC

    Then you read register 0x67, you should see the default value of 0x08 returned. Can you try that first?

    Best Regards,
    Casey
  • Hi Casey!

    Thanks for the response,

    I've already tried to read the register the way you said, but it aways returns 0x00. 

    The default value for this register is 0x08, according to the AN2198.

    Have you heard of this issue before?

    I'm using the UB927 evaluation board, and a MSP432 LaunchPad as the i2c master.

    Kind Regards,

    Daniel

  • Hello Daniel,

    I've never seen this issue before so I suspect it is an I2C driver issue. The problem may be that if you are using the 927 EVM board, there is already an I2C master on that board (which is used to interface with the GUI). If you are trying to use an external MCU connected into the board, then there may be contention problems between the two MCUs. 

    Can you try reading regular registers? For example read register 0x03, check the default value, and then try setting bit 3 to 0 and check to make sure the command worked. 

    Best Regards,

    Casey 

  • Hi Casey!

    I can read and write on the regular registers just fine.

    I'll check if the other i2c master on the board is causing the problem.

    Thank you!

    Best regards,
    Daniel