您好!
我们尝试将 LM98722与 CIS 传感器结合使用。 键设置:
INCLK 4MGz、模式3、CISA 模式、3个不同的 SH 间隔。
带注释的 LM98722初始化代码如下:
//Page0 -默认值
WRITE_REG<0x00、0b0010'0010>();//[5]外部 INCLK;[1]主控模式
WRITE_REG<0x02、0b1100'0110>();//[7:6]模式3; [2]用户提供像素速率时钟
WRITE_REG<0x05、0b0100'0000>();//[7]输出- LVDS; [6]启用输出; [5] SH2 -正常
//Page2
WRITE_REG<0x1F、0x02>();//切换到 Page2
WRITE_REG<0x0D、0x17>();//行长度 MSB (6000)
WRITE_REG<0x0E、0x70>();//行长度 LSB
WRITE_REG<0x09、0x00>();//活动/白色像素开始- MSB (244)
WRITE_REG<0x0A、0xF4>();//活动/白色像素开始- LSB
WRITE_REG<0x0B、0x14>();//活动/白色像素末尾- MSB (5136)
WRITE_REG<0x0C、0x10>();//活动/白色像素末尾- LSB
WRITE_REG<0x10、0x0000'1010>();//默认为[6:5]; [4:3] CISA 模式; [1:0] 3灯/3 SH 间隔
//Page3
WRITE_REG<0x1F、0x03>(); //切换到 Page3
WRITE_REG<0x00、0x03>();// SH 间隔1状态0:持续时间= 3 pxl 周期
WRITE_REG<0x0A、0x03>();// SH 间隔2状态0:持续时间= 3 pxl 周期
WRITE_REG<0x14、0x03>();// SH 间隔3状态0:持续时间= 3 pxl 周期
//Page5
WRITE_REG<0x1F、0x05>(); //切换到 Page5
WRITE_REG<0x00、0b0001'0000>();// SH5输出在 SH 间隔1状态0期间设置为高电平
WRITE_REG<0x0A、0b0001'0000>();// SH5输出在 SH 间隔2状态0期间设置为高电平
WRITE_REG<0x14、0b0001'0000>();// SH5输出在 SH 间隔3状态0期间设置为高电平
//Page7
WRITE_REG<0x1F、0x07>(); //切换到 Page7
//SH1
WRITE_REG<0x00、0x00>();//SH1像素开启(83 pxl 周期)
WRITE_REG<0x01、0x53>();
WRITE_REG<0x02、0x04>();//SH1像素关闭(83 + 1120 pxl 周期)
WRITE_REG<0x03、0xB3>();
//SH2
WRITE_REG<0x04、0x00>();//SH2像素开启(83 pxl 周期)
WRITE_REG<0x05、0x53>();
WRITE_REG<0x06、0x04>();//SH2像素关闭(83 + 1120 pxl 周期)
WRITE_REG<0x07、0xB3>();
//SH3
WRITE_REG<0x08、0x00>();//SH3像素开启(83 pxl 周期)
WRITE_REG<0x09、0x53>();
WRITE_REG<0x0A、0x03>();//SH3像素关闭(83 + 800 pxl 周期)
WRITE_REG<0x0B、0x73>();
//Page8
WRITE_REG<0x1F、0x08>(); //切换到 Page8
WRITE_REG<0x00、0b0100'0100>();//PHIA1、PHIA2极性、状态(活动、 时序、未反转)
WRITE_REG<0x04、0b0100'0100>();//SH1、SH2极性、状态(活动、 时序、未反转)
WRITE_REG<0x05、0b0100'0100>();//SH3、SH4极性、状态(活动、 时序、未反转)
WRITE_REG<0x06、0b0100'0000>();//SH5极性、状态(活动、时序、 未反转)
根据数据表、在此模式下、SH1 - SH3上的信号应按顺序传输、如下图所示:

但实际上、在实际应用中、它们会同时运行!
有趣的是、如果我们将设置更改为4个不同的 SH 间隔(第2页、寄存器0x10、位1:0 - 11)、SH1和 SH2按顺序进行、而 SH3和 SH4仍然同时进行:

这是否表示 LM98722芯片出现故障或初始化代码中出现一些错误?
我期待着迅速作出反应。
提前感谢!