问题现象
在调试因特尔D457深度相机时,发下在对深度相机进行I2C配置时,暴露出大量的I2C通信异常,但是使用i2ctransfer命令对相机进行当个寄存器的配置,却又访问正常。查看硬件电路,发现存在1.8V到3.3V电平转换芯片在总线中间。猜测为此原因导致时序不匹配。问题现象如下图所示。
解决方法
由于进度紧急,先通过软件配置的思路来解决此问题,在jeston agx orin 模块中,对i2c clock 进行降速,通过几次尝试,确定i2c的时钟频率设置 clock-frequency = <40000>;为合适值。
同时,对解串器和串行器的I2c速率也需要配置。
解串器配置
配置对应I2C寄存器,如I2C_1(0x641),配置为0x16;