A golden clock and a magnifying glass resting on a wooden table, creating a warm and inviting atmosphere.

Black Screen Troubles? How to Detect the GMSL Pixel Clock

In the world of GMSL connections, the pixel clock (PCLK) is required to ensure seamless video data transmission. Without a stable PCLK, your display could end up with a black screen or even fail to show any image at all. This guide will walk you through the importance of the PCLK signal and how to use it effectively for debugging GMSL issues.  

Pixel Clock 

Once two GMSL devices have successfully established a connection and are configured, they can begin sending data across the GMSL link. The sensor or video data will always be input to the serializer and output from the deserializer. Therefore, the first logical place to start looking for an issue is at the physical layer receiver of the GMSL serializer.  

All physical layer interfaces will use a clock signal, whether it is embedded in the data stream or a discrete set of pins, the clock in the data stream allows the serializer to interpret the 1s and 0s coming in. 

The pixel clock, or PCLK, is generated from the source of the video data. With GMSL, PCLK is generically used to reference the video source clock. For simplicity’s sake, we will use a camera sensor as an example. A camera sensor will typically use the MIPI-CSI2 D-PHY interface, which has up to 4 data lanes and 1 clock lane.  

  Example of a MIPI-CSI2 D-PHY Interface

Figure 1: Example of a MIPI-CSI2 D-PHY Interface 

Logically, without some type of clock signal on this interface, there would be no way to decode the data signals. A valid PCLK confirms that the video source is active and capable of generating a reliable clock signal.  

Pixel Clock Detect  

There is a helpful bit in all GMSL serializers to indicate that a PCLK is detected and it’s called pixel clock detect, or simply PCLKDET. This bit is asserted when a pixel clock can be extracted from the video interface receiver and indicates that some sort of video is received. It does not indicate that the data is valid, but it is a simple check to determine if the video source is functioning. 

  PCLKDET Bit in the MAX96717 Status Registers

Figure 2: PCLKDET Bit in the MAX96717 Status Registers 

With a quick check of the PCLKDET bit, you will instantly be able to know if there is video or not. If the PCLKDET=0, then nothing else downstream in the signal chain is worth investigating.  

Additionally, each video pipe of the serializer will have its own independent PCLKDET bit to provide additional granularity for the independent video streams. 

Debugging Steps 

A quick camera debugging example is when you encounter a black or blank screen after configuring the GMSL link. A black or blank screen usually indicates an issue with the GMSL link. However, checking the PCLKDET bit can quickly reveal whether the video source interface is even turned on! 

A pair of EV kits can quickly validate such a scenario. In the example below, Figure 3 shows the imager turned on and outputting video into the serializer. Figure 4 shows the imager turned off, and the errors reported by the host SoC are simply caused by the image sensor not even being turned on as evident by PCLKDET=0. 

  PCLKDET Bit in the MAX96717 Status Registers

Figure 3: Example of PCLKDET=1 and Video Being Displayed 

  Example of PCLKDET=0 and the SoC Unable to Display an Image

Figure 4: Example of PCLKDET=0 and the SoC Unable to Display an Image 

Another example for cameras is a multi-step validation to confirm that a sensor is configured correctly or not. GMSL devices in pixel mode operation, as opposed to tunnel mode operation, require knowing the virtual channel or data type of the camera video stream. 

If PCLKDET is indicating that a pixel clock is detected but you are still seeing a black or blank screen, the video stream that the serializer is expecting may not match what the sensor is outputting. However, PCLKDET=1 indicates that the sensor is outputting a valid clock, but the black screen is likely caused by a misconfiguration between the GMSL signal chain and the sensor configuration. 

Conclusion 

The PCLKDET bit may be a single, humble bit, but it is a power debugging insight into the overall system status. The best part is that it can be read in an embedded environment and does not require opening a camera to probe around.  

The PCLKDET bit is only half the story in the journey through the GMSL link. Stay tuned as we explore how to validate that video is flowing through the deserializer with yet another simple bit. 

See all the blogs in the GMSL Debugging series.