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.
Hi Ti
目前928测接的屏幕显示正常,主控SOC可以读取到927 928的ID。
927的i2c数据透传给928, 目前在928测可以测量到SCL SDA脚出来的波形。但928接入的从设备touchscreen没有ack响应,导致i2c通信失败。
截图为928 SCL SDA脚测量的波形。
初始化如下:
log("[read id927] 0x00= 0x%02x\n", ds90ub927_read_reg(0x00));
ds90ub927_write_reg(0x03, 0xDA); // pass through enable
ds90ub927_write_reg(0x07, ADDR_GT9XX_8BIT);//UB927 set Slave ID
ds90ub927_write_reg(0x08, ADDR_GT9XX_8BIT_ALIAS);//UB927 set Slave Alias
ds90ub927_write_reg(0x11, 0x33);
log("[read id928] 0x00= 0x%02x\n", ds90ub928_read_reg(0x00));
ds90ub928_write_reg(0x21, 0x55);
ds90ub928_write_reg(0x26, 0x0F);//SCL High Time
ds90ub928_write_reg(0x27, 0x15);//SCL Low Time
麻烦协助分析一下原因,谢谢。
如之前寄存器配置,已经在927上设置过Device ID 和slave Alias ID,并且相同。 从机7bit 地址是0x14。
#define ADDR_GT9XX_8BIT 0x28 //7bit addr 0x14
#define ADDR_GT9XX_8BIT_ALIAS 0x28//7bit addr 0x14
ds90ub927_write_reg(0x07, ADDR_GT9XX_8BIT);//UB927 set Slave ID
ds90ub927_write_reg(0x08, ADDR_GT9XX_8BIT_ALIAS);//UB927 set Slave Alias
1. 是不是只需要设置927的Device ID 和slave Alias ID就可以了?
2. SOC到927的波形是标准的400Khz,928到touchscreen的波形只有70Khz左右。
通过配置928的
ds90ub928_write_reg(0x26, 0x0F);//SCL High Time
ds90ub928_write_reg(0x27, 0x15);//SCL Low Time
可以把928输出的波形设置为400K,
想问下是不是只需要设置928的 SCL High Time /SCL Low Time 就可以了