我现在的系统:DS90UB954-Q1 EVM + TIDA-01130(DS90UB953-Q1 + OV2775) + ALP
状况:
通过ALP的board.WriteI2C() 和 board.ReadI2C()函数无法正常读写sensor OV2775的寄存器,读出来的值始终为0,而这两个函数可正常读写UB954和UB953的寄存器。有区别的就是,OV2775的寄存器地址是16-bit的,UB954和UB953是8-bit的。
量测了读写sensor的I2C波形,sensor都是有正常应答ACK的,但是总线上只看到了8bit的寄存器地址,而我原意是读写16bit寄存器地址,因为OV2775的寄存器都是16bit地址。
操作如下:
board.WriteI2C(OV2775, 0x300c, 0x6c)
board.ReadI2C(OV2775, 0x300c)
问题:
1. ALP 的WriteI2C、ReadI2C函数不支持16-bit寄存器地址?
2.如果不支持,那么是否有其他函数能支持16-bit寄存器地址的读写操作?
Mickey Zhang:
ALP工具不能读16bit地址,建议换其他I2C工具来读取。
user5321474:
回复 Mickey Zhang:
那是否支持16bit地址的写操作? 16bit地址写该如何操作?
Mickey Zhang:
回复 user5321474:
1. 首先请您确认954寄存器0x5D和0x65中使用正确的 Imager ID address和 Alias。
2. ALP可以写16bit地址。