Part Number:DS90UB964-Q1
我们软件启动时,会通过写RESET_CTL(0x01)寄存器复位964。
现在有以下现象:通过I2C slave port 1对0x01寄存器写入0x07,无法达到复位效果,通过I2C slave port 0同样操作,可以达到目的。
测试过程中通过I2C port 0/1读写0xc寄存器,保证I2C读写链路正常。
复位成功时,0xc寄存器会恢复默认值,失败时无法恢复。
希望贵公司提供下支持,感谢。
Kailyn Chen:
您好,选择port1 时,0x0c寄存器配置的什么值?能正确读取0x0c的值吗?
按照您的描述,选取port0 没问题,选取port1有问题,所以想看下当配置为port1时,是否已经成功配置为port1.
,
GuoQiang Wang1:
我理解 port 0/port 1都应该能读写964相关寄存器。0xc寄存器决定的是remote devices的映射。
我详细描述下现在的现象:
1、通过port 0 向0x0c寄存器写入0xff,读取验证写入成功。向0x01寄存器写入0x07,964复位,0xc寄存器读取结果为0x0f(恢复默认值)。
2、通过port 0 向0x0c寄存器写入0xff,读取验证写入成功。向0x01寄存器写入0x07,此时应该复位,但是0xc寄存器读取结果为0xff(未能恢复默认值)。
,
GuoQiang Wang1:
现在我的问题是,对等的I2C port,port 0 /port 1,在写0x0c寄存器,看起来确实对等。
但是port 0/port 1向0x01寄存器写入0x07,reset设备,发现只有port 0操作有效。
我们I2C port 0 /prot 1各自接了一块芯片,这个问题会导致port 1接的那个芯片无法reset设备。
,
Kailyn Chen:
您好,您这里指的port 0和port1 应该是CSI TX 的两个port吧?您说的是对的,0x0C决定的是remote devices的映射。
如果您指的local I2C 寄存器访问的话,CSI 的两个port 选择是配置寄存器0x32. 选择CSI port0的话,寄存器0x32=0x01,配置CSI port1的话,0x32=0x12.
如果是RX port的4个port选择的话, 是配置寄存器0X4C。
,
GuoQiang Wang1:
Sorry,我可能没表达清楚,我想表达的是这个I2C port0/1。
看描述,两路I2C应该是对等的(不考虑remote divices,仅对于964寄存器读写)。
实际证明,在读写0x0c寄存器时,确实两个port都可以正确。
但是在对0x01寄存器写入0x07时,出现了不对等现象,通过port 1(I2C_SDA2/I2C_SCL2)写入操作,未能复位0x0c寄存器。
我需要知道这种不对等是芯片设计如此,还是我有哪个寄存器没配置导致。
再次明确下,只关注两路I2C读写964寄存器的不对等,不考虑CSI/remote devices等切换。
,
GuoQiang Wang1:
,
Kailyn Chen:
好的,明白您的意思了。通常第二个I2C用于当964接两个处理器的时候,需要处理器单独和964通信的时候使用。您是不是这种应用?然后两个处理器单独和964进行通信,发现0xC寄存器可以正常读写,0x01不行?其他寄存器呢?
,
GuoQiang Wang1:
没有验证所有寄存器,但是摄像头正常配置相关的寄存器都正常。
,
Kailyn Chen:
您好,两个I2C是对等的.
写0x0c寄存器是没问题的,所以应该排除硬件上的问题。 我想看下写0x01寄存器为0x07的时候,再读取下0x01,看是否已经成功写入?
GuoQiang Wang1 说:通过port 0 向0x0c寄存器写入0xff,读取验证写入成功。向0x01寄存器写入0x07,此时应该复位,但是0xc寄存器读取结果为0xff(未能恢复默认值)。
或者我建议更改下IDx的上下拉电阻,即为改下I2C的地址,看下是否还是I2C port1有问题?
,
GuoQiang Wang1:
关于您说的第一点我们可以从寄存器说明中看出 This bit is self-clearing。
关于您说的第二点,可以从手册中看出 the second I2C port uses the same I2C address。
能否给我留个联系方式?这是我邮箱:guoqiang.wang@uisee.com
,
Kailyn Chen:
第二点,指的是的两个I2C可以使用同一个从机地址。
我的意思是硬件中IDx这个引脚的上下拉电阻更换下,更改其他的地址也试试,比如现在R1和R2的值搭配的地址(参考table 10)为0x60,那么我们改为0x64再试试。如果也是同样结果,第二个I2C port还是有问题,我这边帮您进一步去确认下。