Views:


For this explanation, consider the camera system below.  The controller is on the deserializer side, and it needs to configure the image sensor (camera) upon power-up via the reverse control channel. 


  

You can still use the control channel without the pixel clock (PCLK).  The problem is that the serializer (remote side of the link) is not able to generate an acknowledge to any I2C commands when PCLK is not present.  However, the serializer is always "listening," so commands will still be sent across the link.  The solution is to program the deserializer (local side) to generate the acknowledge for the serializer.  The following steps will work for the MAX96705/6, but the same general approach applies to all Maxim GMSL1 parts.

  1. Power up both parts, PCLK is not present.
  2. Set I2C_LOC_ACK = 1 in the i2cconfig register (0x0D) on the deserializer.  Wait 5ms. 
  3. Set AUTO_CLINK = 1 in the dbl_align_to register (0x67) on the serializer.  Wait 5ms.  With SEREN set by default, the serializer will now keep the reverse channel available without PCLK.
  4. Set I2C_LOC_ACK = 0 on the deserializer.  Wait 5ms.  The serializer should now be able to ACK commands.

It is very important to use the 5ms delays.  This gives the serializer time to process and implement the commands without any errors.  

A text file is attached that contains an Arduino program to test this on the MAX96705/6 pair.  A video is linked below to show how to perform the steps above.  The firmware and logic analyzer captures referenced in the video are attached below.

Video - How to Set Up a SerDes Reverse Control Channel When PCLK is Not Available

https://www.maximintegrated.com/en/design/videos.html/vd_1_qc7n9tml