我们的项目是将 DS90UB941AS设置为单个 DSI 输出两个 FPD-Link 连接到两个显示屏, 如下所示
我们的产品输出的两个屏分辨率都是是854*480,现在想问问,具体的时序该如何配置呢?尝试过很多配置,都无法输出图像,
WriteI2C(0x01, 0x08); //禁用 DSI
WriteI2C(0x1E, 0x01); //选择 FPD-Link III 端口 0
WriteI2C(0x4F, 0x8C); //设置 DSI_CONTINUOUS_CLOCK,4 个通道,DSI 端口 0
WriteI2C(0x5B, 0x07); //强制进入分离器模式
WriteI2C(0x56, 0x80); //启用左/右 3D 处理以允许分离超级帧
WriteI2C(0x32, 0x56); //将行大小设置为 854(LSB)
WriteI2C(0x33, 0x03); //将行大小设置为 854(MSB)
//裁剪端口 0 854*480 图像
WriteI2C(0x1E, 0x01); //选择 FPD-Link III 端口 1
WriteI2C(0x36, 0x00); //将裁剪起始 X 位置设置为 0 (LSB)
WriteI2C(0x37, 0x80); //将裁剪起始 X 位置设置为 0 (MSB) 并启用裁剪
WriteI2C(0x38, 0x56); //将裁剪停止 X 位置设置为 853 (LSB)
WriteI2C(0x39, 0x03); //将裁剪停止 X 位置设置为 853 (MSB)
WriteI2C(0x3A, 0x00); //将裁剪起始 Y 位置设置为 0 (LSB)
WriteI2C(0x3B, 0x00); //将裁剪起始 Y 位置设置为 0 (MSB)
WriteI2C(0x3C, 0xDF); //将裁剪停止 Y 位置设置为 479 (LSB)
WriteI2C(0x3D, 0x01); //将裁剪停止 Y 位置设置为 479 (MSB)
//裁剪端口 1 854*480 图像
WriteI2C(0x1E, 0x02); //选择 FPD-Link III 端口 1
WriteI2C(0x36, 0x00); //将裁剪起始 X 位置设置为 0 (LSB)
WriteI2C(0x37, 0x80); //将裁剪起始 X 位置设置为 0 (MSB) 并启用裁剪
WriteI2C(0x38, 0x56); //将裁剪停止 X 位置设置为 853 (LSB)
WriteI2C(0x39, 0x03); //将裁剪停止 X 位置设置为 853 (MSB)
WriteI2C(0x3A, 0x00); //将裁剪起始 Y 位置设置为 0 (LSB)
WriteI2C(0x3B, 0x00); //将裁剪起始 Y 位置设置为 0 (MSB)
WriteI2C(0x3C, 0xDF); //将裁剪停止 Y 位置设置为 479 (LSB)
WriteI2C(0x3D, 0x01); //将裁剪停止 Y 位置设置为 479 (MSB)
//在 DSI 端口 0 上对 TSKIP_CNT DSI 参数进行编程
WriteI2C(0x40, 0x04); //选择 DSI 端口 0 数字寄存器
WriteI2C(0x41, 0x20); //选择 DPHY_SKIP_TIMING 寄存器
WriteI2C(0x42, 0x6F); //为 33MHz DSI 时钟频率写入 TSKIP_CNT 值
WriteI2C(0x01, 0x00); //启用 DSI
另外我目前也遇到另一个问题,就是HDMI输出图像,也是在时序上遇到问题,导致电脑通过HDMI无法输出图像显示在屏中,显示的分别率是854*480,麻烦解答下,比较急切,谢谢!