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.

DS90UB929-Q1: How to remote control I2C slave device throw DS90UB924-Q1?

Part Number: DS90UB929-Q1
Other Parts Discussed in Thread: DS90UB924-Q1

Hello,

Do we have document or can show me

How to use DS90UB929-Q1 to remote control I2C slave device(Display) throw DS90UB924-Q1?

  • Hello,

    Registers 0x7 and 0x8 can be programmed to configure a remote slave attached to the remote deserializer. Register 0x07 sets the Slave ID and Register 0x08 sets the Slave Alias. This document may also be helpful to learn more about I2C communication with these devices: I2C Communication Over FPD-Link III with Bidirectional Control Channel

    Regards,

    Ben

  • Hello Ben:

    Does it mean UB924 no need to do any register setting?  If yes, 

    First one, we are follow below step by step on UB929.

    Set I2C Pass-through (Register 0x03 as 0xDA)

    Set Slave ID[0] (Register 0x07 as 0xA8) (example: Slave Display I2C address is 0x54<<1)

    Set Slave Alias[0] (Register 0x08 as 0xA8)

    Read/Write to Slave display using address 0xA8

    Is everything setting correct? But now we still cannot Read/Write Slave display used above setting. 

    BR.Doug

  • Hi Doug,

    The 924 shouldn't need any configuration for this function.

    Is the address 0x54 an 8-bit address? If it is already a 7-bit address you do not need to shift when you program the Slave ID and Alias. Can you provide the script you are using or the commands you are programming?

    Regards,

    Ben

  • Hi Ben:

    Got it,

    Address 0x54 is 7bit for slave device. But we setting register 0x07 and 0x08 both are 0xA8 (8bit).

    Could you help review commands process? Pls see the attached file name is "Slave0_0x54 - E2E.txt"

    Thank you.

    BR.Doug

    15:57:27.030 -> i2c_address=0xC
    15:57:48.779 -> w 0x03 0xDA
    15:57:48.779 -> write
    15:57:48.779 -> Addr=0x3
    15:57:48.779 -> 0xDA
    15:57:48.779 -> Data=0xDA
    15:57:48.779 -> write succes
    15:58:02.655 -> w 0x07 0xA8
    15:58:02.655 -> write
    15:58:02.655 -> Addr=0x7
    15:58:02.655 -> 0xA8
    15:58:02.655 -> Data=0xA8
    15:58:02.655 -> write succes
    15:58:07.191 -> w 0x08 0xA8
    15:58:07.191 -> write
    15:58:07.191 -> Addr=0x8
    15:58:07.191 -> 0xA8
    15:58:07.191 -> Data=0xA8
    15:58:07.191 -> write succes
    15:58:17.099 -> w 0x66 0x03
    15:58:17.099 -> write
    15:58:17.099 -> Addr=0x66
    15:58:17.099 -> 0x03
    15:58:17.099 -> Data=0x3
    15:58:17.099 -> write succes
    15:58:22.224 -> w 0x67 0x03
    15:58:22.224 -> write
    15:58:22.224 -> Addr=0x67
    15:58:22.224 -> 0x03
    15:58:22.224 -> Data=0x3
    15:58:22.224 -> write succes
    15:58:33.372 -> w 0x65 0x04
    15:58:33.372 -> write
    15:58:33.372 -> Addr=0x65
    15:58:33.372 -> 0x04
    15:58:33.372 -> Data=0x4
    15:58:33.372 -> write succes
    15:58:39.481 -> w 0x64 0x01
    15:58:39.481 -> write
    15:58:39.481 -> Addr=0x64
    15:58:39.481 -> 0x01
    15:58:39.481 -> Data=0x1
    15:58:39.481 -> write succes
    15:58:54.242 -> Change_Slave_ID=0x54
    15:58:54.242 -> i2c_address=0x54
    15:59:00.425 -> r 0x00
    15:59:00.425 -> read
    15:59:00.425 -> 0x00
    15:59:00.425 -> 0x0
    15:59:00.425 -> Data=0xD
    
    
    

  • Hi Doug,

    Registers 0x07 and 0x08 are programmed with the 7-bit address of the remote Slave device, so if 0x54 is already in 7-bit format, you should program 0x54 in those registers. Also, can you confirm the SER and DES have established lock? You will not be able to communicate to the remote slave if lock has not been established.

    Regards,

    Ben

  • Hi Ben:

    Unfortunrary, when we changed 7-bit format fill register 0x07 and 0x08. It seems cannot read from Slave ID=0x54.

    Pls see the below programmed are our results.

    08:40:15.880 -> i2c_address=0xC
    08:42:16.790 -> w 0x03 0xDA
    08:42:16.790 -> write
    08:42:16.790 -> Addr=0x3
    08:42:16.790 -> 0xDA
    08:42:16.790 -> Data=0xDA
    08:42:16.790 -> write succes
    08:42:30.604 -> w 0x07 0x54
    08:42:30.604 -> write
    08:42:30.604 -> Addr=0x7
    08:42:30.604 -> 0x54
    08:42:30.604 -> Data=0x54
    08:42:30.604 -> write succes
    08:42:35.542 -> w 0x08 0x54
    08:42:35.542 -> write
    08:42:35.542 -> Addr=0x8
    08:42:35.542 -> 0x54
    08:42:35.542 -> Data=0x54
    08:42:35.542 -> write succes
    08:42:47.316 -> w 0x66 0x03
    08:42:47.316 -> write
    08:42:47.316 -> Addr=0x66
    08:42:47.316 -> 0x03
    08:42:47.316 -> Data=0x3
    08:42:47.316 -> write succes
    08:42:52.212 -> w 0x67 0x03
    08:42:52.212 -> write
    08:42:52.212 -> Addr=0x67
    08:42:52.212 -> 0x03
    08:42:52.212 -> Data=0x3
    08:42:52.212 -> write succes
    08:43:11.281 -> w 0x65 0x04
    08:43:11.329 -> write
    08:43:11.329 -> Addr=0x65
    08:43:11.329 -> 0x04
    08:43:11.329 -> Data=0x4
    08:43:11.329 -> write succes
    08:43:20.606 -> w 0x64 0x01
    08:43:20.606 -> write
    08:43:20.606 -> Addr=0x64
    08:43:20.606 -> 0x01
    08:43:20.606 -> Data=0x1
    08:43:20.606 -> write succes
    08:43:46.520 -> Change_Slave_ID=0x54
    08:43:46.520 -> i2c_address=0x54
    08:43:53.064 -> r 0x00
    08:43:53.064 -> read
    08:43:53.064 -> 0x00
    08:43:53.064 -> 0x0
    08:43:53.064 -> Error reading from i2c
    08:43:53.064 -> Data=0xC0
    

    Yes, we are already confirmed SER and DES have established lock.

    BR.Doug

  • Hi Doug,

    Based on the "error reading from I2C", it looks like the Slave ID should be set to 0xA8 like you had it before. This error was not present in your previous attachment. Since I am not familiar with the display you are using, I'm not sure what you are expecting to see when reading/writing to the display. If you are still having trouble communicating with the device, I would check the configuration of the slave display, as well as the connection from the 924 to the display.

    Just to confirm, can you communicate with the 924 via I2C?

    Regards,

    Ben

  • Hi Ben:

    Currently, we can communication with the 924 via on I2C.

    Before that we must write registers 0x64~0x66 in our programmed.

    Could you explain more about the different?

    Otherwise, thanks for your effort.

    BR.Doug    

  • Hi Doug,

    Yes, writing to 0x64-0x66 is configuring the patgen function. If you are not receiving inputs from the SOC, you need to use patgen to lock onto the 924 device, which it seems you are doing. My recommendation is to confirm the configuration of the remote device you are attempting to communicate with, including hardware connection, and any software settings you may have to configure on that end.

    Regards,

    Ben

  • Hi Ben:

    Thanks for your reply. We already fixed this issue.

    BR. Doug