Demo3 External Clock Information

The following describes the External Clock programming for the Demo3.

The device itself is located at I2C subaddress 0xD2, 8-bit address and 8-bit data.

Register Usage

The timing is controlled by the following registers and video clock speed selection.
The register definitions can be found in board_data\Demo3_5551.cdat

  • HDMIHSyncOffset
  • HDMIHSyncWidth
  • HDMIActiveHorizOffset
  • HDMIActivePixels
  • HDMILineLength
  • HDMIVSyncOffset
  • HDMIVSyncWidth
  • HDMIActiveVertOffset
  • HDMIActiveLines
  • HDMIFrameLines

Register Settings - 1080p and 720p

The 1080p and 720p timing settings are as follows. These work.

  • 1080p30: video clk = 74.25MHz
  • 1080p60: video clk = 148.5 MHz
  • nFrameLines         = 1125;
  • nLineLength         = 2200;
  • nActiveLines        = 1080;
  • nActivePixels       = 1920;
  • nActiveVertOffset   = 40;
  • nActiveHorizOffset  = 199;
  • nVSyncOffset        = 4;
  • nVSyncWidth         = 5;
  • nHSyncOffset        = 8;
  • nHSyncWidth         = 44;

720p60: video clk = 74.25MHz

  • nFrameLines         = 750;
  • nLineLength         = 1650;
  • nActiveLines        = 720;
  • nActivePixels       = 1280;
  • nActiveVertOffset   = 25;
  • nActiveHorizOffset  = 267;
  • nVSyncOffset        = 5;
  • nVSyncWidth         = 5;
  • nHSyncOffset        = 8;
  • nHSyncWidth         = 40;

Register Settings - 480p60

Now we also want to support 480p60.
720x480 60fps is a standard format and uses a 27MHz video clock. So we need a 27MHz video clk option for this.
I guessed the following register settings for 720x480, but this is not shown to work yet:

720x480p60:  video clk = 27MHz

  • nFrameLines         = 525;
  • nLineLength         = 858;
  • nActiveLines        = 480;
  • nActivePixels       = 720;
  • nActiveVertOffset   = 36;
  • nActiveHorizOffset  = 129;
  • nVSyncOffset        = 6;
  • nVSyncWidth         = 6;
  • nHSyncOffset        = 8;
  • nHSyncWidth         = 62;

Register Settings - 800x480

The monitor the customer wanted to use was 800x480.
The monitor would likely work with 720x480 video, but we wanted to try to generate 800x480.
This format is not in the HDMI specs, but we surmise that with a 29.7MHz clock it could work with these settings:

800x480p60: for Tesla, 29.7MHz pixel clock

  • nFrameLines         = 500;
  • nLineLength         = 990;
  • nActiveLines        = 480;
  • nActivePixels       = 800;
  • nActiveVertOffset   = 17;
  • nActiveHorizOffset  = 168;
  • nVSyncOffset        = 6;
  • nVSyncWidth         = 7;
  • nHSyncOffset        = 8;
  • nHSyncWidth         = 72;