ZHCADV1A September   2022  – February 2024 DS90UB960-Q1 , HD3SS3212-Q1

 

  1.   1
  2.   摘要
  3. 1市场需求
  4. 2多路复用 FPD-Link 方案
  5. 3多路复用执行和设置
  6. 4切换协议的实现方案
  7. 5评估对信号完整性的影响
    1. 5.1 回波损耗
    2. 5.2 插入损耗
  8. 6裕度分析
  9. 7结语
  10. 8参考资料

切换协议的实现方案

在切换之前,禁用解串器输出,防止系统进入错误处理或失效防护模式。不建议在正传输数据时在摄像头之间切换。在通道间进行多路复用时,实现以下协议。

Analog LaunchPad Program
# Digital reset at initialization 
        board.WriteI2C(desAddr,0x01,0x01) 

# Enable CSI-2 output and forwarding (steps below)
        board.WriteI2C(desAddr,0x32,0x01) # Select CSI-2 port 0
        board.WriteI2C(desAddr,0x33,0x03) # Enable CSI-2 output with continuous clock mode
        board.WriteI2C(desAddr,0x20,0x00) # Forward all CSI-2 to port 0

# Before switching the MUX, disable the associated port and forwarding
        board.WriteI2C(desAddr,0x20,0xF0) # Disable forwarding
        board.WriteI2C(desAddr,0x0C,0x00) # Disable the RX port receiver

# After switching the MUX, restart the forwarding and the port receiver. 
        board.WriteI2C(desAddr,0x0C,0x0F) # Enable the RX port receiver 
        time.sleep(0.1) # Allow time for the port to re-lock
        board.WriteI2C(desAddr,0x20,0x00) # Enable forwarding

# The switching protocol above disables forwarding for all channels. Depending on the application, deactivating only the multiplexed channel is sufficient.

For Example:
        # Disable forwarding of RX Port 2
        board.WriteI2C(desAddr, 0x20, 0x40) 

        # Disable Port 2 Receiver
        board.WriteI2C(desAddr, 0x0C, 0x0B)

图 4-1 展示了从打开多路复用器到重新建立链路的切换时间。除重新建立链路所需的时间外,还需要考虑通过 I2C 的成像器的初始化时间,摄像头初始化完成后,就可以在处理器上看到输出。

GUID-20230929-SS0I-WFTN-64LN-HLHC4M8GHVGQ-low.png
蓝色:链路状态,绿色:多路复用器打开或关闭
图 4-1 多路复用期间的链路状态