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?
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.
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 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