0

I don't have deep knowledge about the CSI protocol, but I have brought up several cameras with that interface connected to my host. Now I am facing a problem with a camera module and I want to identify the cause. Basically, the host does not detect any data coming out of the camera.

I tapped a CSI lane data lane with the oscilloscope and noted that the sensor, after receiving the instruction of sending frames, goes to sate LP11 and remains high there. I noticed in other cameras the signals go low and HS starts. I want to know if that is a problem of the sensor, or the CSI RX also sends some acknowledgement before the TX can drive LP11 low, and start the HS transmission.

hacktastical
  • 49,832
  • 2
  • 47
  • 138

1 Answers1

0

I hazard a guess that there’s something wrong in your camera I2C command sequence that isn’t enabling the camera to start sending frames, so it’s staying in the LP-11 Stop state. Also, do check the clock and see if that’s doing anything. I bet it isn't.

A CSI-2 transmitter doesn't monitor the line state at all. Transmission (LP and HS both) is assumed to be one direction only. This is stipulated in the CSI-2 specification.

There isn't anything the receiver does to 'tell' the transmitter what state it thinks it's in. Rather, the receiver just follows along, switching mode at specified points depending on what the transmitter sends (Stop, HS-mode request, EOT, Escape-mode request, etc.)

What the camera should be doing is sending LP-11,01,00 (HS-mode request), then going into into HS mode shortly thereafter. Meanwhile, the receiver detects the HS-mode request sequence, switches modes and turns on the termination.

hacktastical
  • 49,832
  • 2
  • 47
  • 138
  • Hi and thanks for the answer. I suspected that the RX does not need to send anything and I should be able to observe some activity after the Stop state. I observed the stuck on the high state on all the lanes, data and clock. I know the i2c bus works because during the probe phase, the camera responds with the ID and the host gets also that. I should then suspect that within the sequence of initialization commands anything is wrong or incomplete. I am working with qualcomm in linux, so I will try to find a way to debug those CCI comands and whether there is response or not – Wladimir Dlc R Jul 10 '22 at 20:07