SNLS289D April 2008 – September 2015 LMH1982
PRODUCTION DATA.
The LMH1982 is an analog phase locked loop (PLL) clock generator that can output simultaneous SD and HD video clocks synchronized or “genlocked” to H sync and V sync input reference timing. The LMH1982 features an output Top of Frame (TOF) pulse generator with programmable timing that can also be synchronized to the reference frame. Two reference ports are provided to allow a secondary input to be selected.
The clock generator uses a two-stage PLL architecture. The first stage is a VCXO-based PLL (PLL 1) that requires an external 27 MHz VCXO and loop filter. In Genlock mode, PLL 1 can phase lock the VCXO clock to the input reference after programming the PLL divider ratio. The use of a VCXO provides a low phase noise clock source even when the LMH1982 is configured with a low loop bandwidth, which is necessary to attenuate input timing jitter for minimum jitter transfer. The combination of the external VCXO, external loop filter, and programmable PLL parameters can provide flexibility for the system designer to optimize the loop bandwidth and loop response for the application.
The second stage consists of three PLLs (PLL 2, 3, 4) with integrated VCOs and loop filters. These PLLs will attempt to continually track the reference VCXO clock phase from PLL 1 regardless of the device mode. The second stage PLLs have pre-configured divider ratios to provide frequency multiplication or translation from the VCXO clock frequency. The VCO PLLs use a high loop bandwidth to assure PLL stability, so the VCXO must provide a stable low-jitter clock reference to ensure optimal output jitter performance.
Any unused clock output can be put in Hi-Z mode, which can be useful for reducing power dissipation as well as reducing jitter or phase noise on the active clock output.
The TOF pulse can be programmed to indicate the start (top) of frame and even provide format cross-locking. The output format registers should be programmed to specify the output timing (output clocks and TOF pulse), the output timing offset relative to the reference, and the output initialization (alignment) to the reference frame. If unused, the TOF output can also be put in Hi-Z mode.
When a loss of reference occurs during genlock, PLL 1 can default to either Free run or Holdover operation. When free run is selected, the output frequency accuracy will be determined by the external bias on the free run control voltage input pin, VC_FREERUN. When Holdover is selected, the loop filter can hold the control voltage to maintain short-term output phase accuracy for a brief period in order to allow the application to select the secondary input reference and re-lock the outputs. These options in combination with proper PLL 1 loop response design can provide flexibility to manage output clock behavior during loss and re-acquisition of the reference.
The reference status and PLL lock status flags can provide real-time status indication to the application system. The loss of reference and lock detection thresholds can also be configured.
PLL | Input Reference | Divider Ratio (reduced) | Output Clock Frequency (MHz) |
Output Port |
---|---|---|---|---|
PLL 1 | H sync | Programmable | 27 | SD_CLK |
PLL 2 | VCXO clock | 11/4 or 11/2 | 74.25 or 148.5 | HD_CLK |
PLL 3 | VCXO clock | 250/91 or 500/91 | 74.25/1.001 (74.176) or 148.5/1.001 (148.35) | HD_CLK |
PLL 4 | VCXO clock | 5/2 | 67.5 | SD_CLK |
Table 2 lists the known supported standard timing formats and includes the relevant parameters that can be used to configure the LMH1982 for the input reference and output timing. For the related programming instructions, see sections Input Reference and Output Clocks and TOF.
Format | INPUT TIMING PARAMETERS (2) | OUTPUT TIMING PARAMETERS (3) | ||||||
---|---|---|---|---|---|---|---|---|
PLL 1 Reference Divider1(1) | PLL 1 Feedback Divider | PLL 1 Phase Comparison Frequency (kHz) | Total Lines per Frame Counter | Clock Frequency (MHz) | Total Clocks per Line Counter | Total Lines per Frame Counter | Frame Rate (Hz) |
|
NTSC, 525i | 1 | 1716 | 15.7343 | 525 | 27.0 | 1716 | 525 | 29.97 |
PAL, 625i | 1 | 1728 | 15.625 | 625 | 27.0 | 1728 | 625 | 25 |
525p | 1 [5] |
858 [4290] |
31.4685 [6.2937] |
525 [105] |
27.0 | 858 | 525 | 59.94 |
625p | 1 [5] |
864 [4320] |
31.25 [6.25] |
625 [125] |
27.0 | 864 | 625 | 50 |
720p/60 | 1 [5] |
600 [3000] |
45.0 [9.0] |
750 [150] |
74.25 (27.0) |
1650 (600) |
750 (750) |
60 |
720p/59.94 | 5 | 3003 | 8991.0090 | 750 | 74.176 (27.0) |
1650 (3003) |
750 (150) |
59.94 |
720p/50 | 1 [5] |
720 [3600] |
37.5 [7.5] |
750 [150] |
74.25 (27.0) |
1980 (720) |
750 (750) |
50 |
720p/30 | 1 [5] |
1200 [6000] |
22.5 [4.5] |
750 [150] |
74.25 (27.0) |
3300 (1200) |
750 (150) |
30 |
720p/29.97 | 5 | 6006 | 4.4955 | 750 | 74.176 (27.0) |
3300 (6006) |
750 (150) |
29.97 |
720p/25 | 1 [5] |
1440 [7200] |
18.75 [3.75] |
750 [150] |
74.25 (27.0) |
3960 (1440) |
750 (750) |
25 |
720p/24 | 1 [5] |
1500 [7500] |
18.0 [3.6] |
750 [150] |
74.25 (27.0) |
4125 (1500) |
750 (750) |
24 |
720p/23.98 | 2 | 3003 | 8991.0090 | 750 | 74.176 (27.0) |
4125 (3003) |
750 (375) |
23.98 |
1080p/60 | 1 [5] |
400 [2000] |
67.5 [13.5] |
1125 [225] |
148.5 (27.0) |
2200 (400) |
1125 (1125) |
60 |
1080p/59.94 | 5 | 2002 | 13.4865 | 1125 | 148.35 (27.0) |
2200 (2002) |
1125 (225) |
59.94 |
1080p/50 | 1 [5] |
480 [2400] |
56.25 [11.25] |
1125 [225] |
148.5 (27.0) |
2640 (480) |
1125 (1125) |
50 |
1080p/30 | 1 [5] |
800 [4000] |
33.75 [6.75] |
1125 [225] |
74.25 (27.0) |
2200 (800) |
1125 (1125) |
30 |
1080p/29.97 | 5 | 4004 | 6.7433 | 1125 | 74.176 (27) |
2200 (4004) |
1125 (225) |
29.97 |
1080p/25 | 1 [5] |
960 [4800] |
28.125 [5.625] |
1125 [225] |
74.25 (27.0) |
2640 (960) |
1125 (1125) |
25 |
1080p/24 | 1 [5] |
1000 [5000] |
27.0 [5.4] |
1125 [225] |
74.25 (27.0) |
2750 (1000) |
1125 (1125) |
24 |
1080p/23.98 | 1 [5] |
1001 [5005] |
26.9730 [5.3946] |
1125 [225] |
74.176 (27.0) |
2750 (1001) |
1125 (1125) |
23.98 |
1080i/60 | 1 [5] |
800 [4000] |
33.75 [6.75] |
1125 [225] |
74.25 (27.0) |
2200 (800) |
1125 (1125) |
30 |
1080i/59.94 | 5 | 4004 | 6.7433 | 1125 | 74.176 (27.0) |
2200 (4004) |
1125 (225) |
29.97 |
1080i/50 | 1 [5] |
960 [4800] |
28.125 [5.625] |
1125 [225] |
74.25 (27.0) |
2640 (960) |
1125 (1125) |
25 |
48 kHz AES sample clock | 2 | 1125 | 24.0 | 96 | 27.0 | 1125 | 96 | 250 |
The mode of operation describes the operation of PLL 1, which can operate in either Free Run mode or Genlock mode depending on the GNLK bit setting. If desired, the GENLOCK input pin can be instead used to control the mode of operation by initially setting I2C_GNLK = 0 (register 00h).
The LMH1982 will enter Free Run mode when GNLK is set to 0. In Free Run mode, the VCXO will be free-running and independent of the input reference, and the output clocks will maintain phase lock to the VCXO clock reference. Therefore, the output clocks will have the same accuracy as the VCXO clock reference.
The LMH1982 provides the designer with the option to define the VCXO's free run control voltage by external biasing of the VC_FREERUN input (pin 1). The analog bias voltage applied to the VC_FREERUN input will be connected to the LPF output (pin 31) though an internal switch (non-buffered, low impedance), as shown in the Functional Block Diagram. The resultant voltage at the LPF output will drive the control input of the VCXO to set its free run output frequency. Thus, the pull range of the VCXO imparts the same pull range on the free run output clocks.
If VC_FREERUN is left floating, the VCXO control voltage will be pulled to GND potential as the residual charge stored across the loop filter will discharge through any existing leakage path.
The LMH1982 will enter Genlock mode when GNLK is set to 1. In Genlock mode, PLL 1 can be phase locked to the reference H sync input of the selected port; once the VCXO clock reference is locked and stable, the output clocks and TOF pulse can be aligned and phase locked to the reference. The LMH1982 supports cross-locking, which allows the outputs to be frame-locked to a reference format that is different from the output format.
To genlock the outputs, the following programming sequence is suggested:
NOTE
When Genlock mode is enabled, the LMH1982 will attempt to phase lock the PLLs to the input reference regardless of input timing stability. Timing errors or instability on the inputs will cause the PLLs and outputs to also have instability. If output stability is a consideration during periods of input uncertainty, it is suggested to gate off the input signals from the LMH1982 until they are completely stable. Input signal gating can be achieved externally using a discrete or FPGA logic buffer with Hi-Z (tri-state) output and a pull-up or pull-down resistor, depending on the input pulse signal polarity.
Figure 7 shows the Genlock mode state diagram for different input reference and PLL lock conditions. It also includes Free Run and Holdover states for the loss of reference operation, specified by the HOLDOVER bit (register 00h). Each state indicates the NO_REF and NO_LOCK status flag output conditions.
By configuring the HOLDOVER bit, the LMH1982 can default to either Free Run or Holdover operation when a loss of reference (LOR) occurs in Genlock mode.
If HOLDOVER = 0 when a LOR occurs, the LMH1982 will default to Free run operation (Free Run during LOR) until a reference is reapplied.
If HOLDOVER = 1 when a LOR occurs, the LMH1982 will default to Holdover operation (Holdover during LOR) until a reference is reapplied.
When the input reference is reapplied, the LMH1982 will immediately attempt to phase lock the output clocks to the reference.
Free Run mode (GNLK = 0) differs from Free Run operation due to LOR in Genlock mode (GNLK = 1) in the following way:
In Holdover operation, the LPF output is put into high impedance mode, which allows the loop filter to temporarily hold the residual charge stored across it (i.e. the control voltage) immediately after LOR is indicated by the NO_REF status flag. Holdover operation can help to temporarily sustain the output clock accuracy upon LOR. The duration that the residual control voltage level can be sustained within a tolerable level depends primarily on the charge leakage on the loop filter. A typical VCXO has an input impedance of several tens of kΩ, which will be the dominant leakage path seen by the loop filter. As the leakage current discharges the residual control voltage to GND, the output frequencies of the VCXO and LMH1982 will drift accordingly. If a longer time constant is required, a precision op amp with low input bias current and rail-to-rail input and output (e.g. LMP7701) can be used to buffer the control voltage. The buffer will isolate the relatively low input impedance of the VCXO and reduce the charge leakage on the loop filter during Holdover.
The output frequency accuracy will degrade as the VCXO accuracy drifts with the decaying control voltage. Moreover, because the H_ERROR setting (register 00h) affects the reference error threshold for LOR indication, a higher setting for H_ERROR may result in reduced output accuracy upon LOR indication compared to when H_ERROR = 0. For more information on programming H_ERROR, see Programming the Loss of Reference (LOR) Threshold.
The protocol of the I2C interface begins with the start pulse followed by a byte comprised of a seven-bit slave device address and a read/write bit as the LSB. Therefore, the address of the LMH1982 for write sequences is DCh (1101 1100) and the address for read sequences is DDh (1101 1101). Figure 9, Figure 10, and Figure 11 show a write and read sequence across the I2C interface.
The write sequence begins with a start condition, which consists of the master pulling SDA low while SCL is held high. The slave device address is sent next. The address byte is made up of an address of seven bits (7:1) and the read/write bit (0). Bit 0 is low to indicate a write operation. Each byte that is sent is followed by an acknowledge (ACK) bit. When SCL is high the master will release the SDA line. The slave must pull SDA low to acknowledge. The address of the register to be written to is sent next. Following the register address and the ACK bit, the data byte for the register is sent. When more than one data byte is sent, it is automatically incremented into the next address location. See Figure 9. Note that each data byte is followed by an ACK bit.
Read sequences are comprised of two I2C transfers. The first is the address access transfer, which consists of a write sequence that transfers only the address to be accessed. The second is the data read transfer, which starts at the address accessed in the first transfer and increments to the next address per data byte read until a stop condition is encountered.
The address access transfer shown in Figure 10 consists of a start pulse, the slave device address including the read/write bit (a zero, indicating a write), then its ACK bit. The next byte is the address to be accessed, followed by the ACK bit and the stop bit to indicate the end of the address access transfer.
The subsequent read data transfer shown in Figure 11 consists of a start pulse, the slave device address including the read/write bit (a one, indicating a read) and the ACK bit. The next byte is the data read from the initial access address. Subsequent read data bytes will correspond to the next increment address locations. Each data byte is separated from the other data bytes by an ACK bit.
When the active low input I2C_ENABLE = 0, the LMH1982 will enable I2C communication via its fixed slave address; otherwise, the LMH1982 will not respond. For applications with multiple LMH1982 devices on the same I2C bus, the I2C enable function can be useful for writing data to a specific device(s) and for reading data from an individual device to prevent bus contention. For single chip applications, the I2C_ENABLE input can be tied to GND to keep the I2C interface enabled.
Register Address | Default Data | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
---|---|---|---|---|---|---|---|---|---|
00h | A3h | GNLK_I2C | GNLK | RSEL_I2C | RSEL | HOLD- OVER |
H_ERROR [2:0] | ||
01h | 86h | LOCK_CTRL [7:3] | HD_LOCK | SD_LOCK | REF_VALID | ||||
02h | 00h | RSV | RSV | PIN6_ OVRD |
REF_27 | POL_HA | POL_VA | POL_HB | POL_VB |
03h | 01h | RSV | RSV | RSV | RSV | RSV | RSV | REF_DIV_SEL [1:0] | |
04h | B4h | FB_DIV [7:0] | |||||||
05h | 06h | 0 | 0 | 0 | FB_DIV [12:8] | ||||
06h | 00h | RSV | RSV | RSV | RSV | ICP4 [3:0] | |||
07h | 00h | RSV | RSV | RSV | RSV | RSV | RSV | RSV | RSV |
08h | 04h | RSV | RSV | TOF_HIZ | HD_HIZ | HD_FREQ [3:2] | SD_HIZ | SD_FREQ | |
09h | 01h | TOF_RST [7:0] | |||||||
0Ah | 00h | EN_TOF_ RST |
POL_TOF | TOF_INIT | TOF_RST [12:8] | ||||
0Bh | B4h | TOF_PPL [7:0] | |||||||
0Ch | 06h | 0 | 0 | TOF_CLK | TOF_PPL [12:8] | ||||
0Dh | 0Dh | TOF_LPFM [7:0] | |||||||
0Eh | 02h | 0 | 0 | 0 | 0 | TOF_LPFM [11:8] | |||
0Fh | 0Dh | REF_LPFM [7:0] | |||||||
10h | 02h | 0 | 0 | 0 | 0 | REF_LPFM [11:8] | |||
11h | 00h | TOF_OFFSET [7:0] | |||||||
12h | 00h | 0 | 0 | 0 | 0 | TOF_OFFSET [11:8] | |||
13h | 88h | RSV | RSV | RSV | ICP1 [4:0] | ||||
14h | 88h | ICP2 [7:4] | ICP3 [3:0] |
Register 00h
Bits 2-0: H Input Error Max Count (H_ERROR)
The H_ERROR bits control the reference detector's error threshold, which determines the maximum number of missing H sync pulses before indicating a LOR. See Programming the Loss of Reference (LOR) Threshold for more information.
Bit 3: Holdover on Loss of Reference (HOLDOVER)
The HOLDOVER bit controls the operating mode when a loss of reference occurs. See Loss of Reference (LOR) for more information.
Bit 4: Reference Select (RSEL)
The RSEL bit selects either REF_A or REF_B inputs as the reference to genlock the outputs when I2C_RSEL = 1.
RSEL = 0: Select REF_A inputs.
RSEL = 1: Select REF_B inputs.
If PIN6_OVRD = 1 (register 02h), then reference selection must be controlled by programming RSEL, regardless of I2C_RSEL. When PIN6_OVRD = 0 and I2C_RSEL = 0, then reference selection is controlled using the REF_SEL input pin and the RSEL bit is ignored.
Bit 5: Reference Select Control via I2C (I2C_RSEL)
By programming I2C_RSEL, reference selection can be controlled either via I2C or the REF_SEL input pin.
I2C_RSEL = 1: Control reference selection by programming RSEL.
I2C_RSEL = 0: Control reference selection via the REF_SEL input pin.
NOTE
If PIN6_OVRD = 1, then reference selection must be controlled by programming RSEL regardless of I2C_RSEL.
Bit 6: Mode Select (GNLK)
The GNLK bit selects the operating mode when I2C_GNLK = 1. See Modes of Operation for more information.
GNLK = 0: Selects Free Run mode.
GNLK = 1: Selects Genlock mode.
If I2C_GNLK = 0, then the operating mode will be controlled using the GENLOCK input pin and the GNLK bit will be ignored.
Bit 7: Mode Select via I2C (I2C_GNLK)
By programming I2C_GNLK, mode selection can be controlled either via I2C or the GENLOCK input pin.
I2C_GNLK = 1: Control mode selection by programming GNLK.
I2C_GNLK = 0: Control mode selection through the GENLOCK input pin.
Register 01h
Bit 0: Reference Status (REF_VALID)
REF_VALID is a read-only bit and indicates the presence or loss of reference on the selected reference port in Genlock mode. The NO_REF output flag is an inverted copy of REF_VALID. See Reference Detection for more information.
REF_VALID = 0: Indicates loss of reference (LOR).
REF_VALID = 1: Indicates valid reference.
In Free Run mode, REF_VALID will be set to 0 to indicate the absence of any input pulses at the selected HREF port.
Bit 1: SD Clock PLL Lock Status (SD_LOCK)
SD_LOCK is a read-only bit and indicates PLL lock status of the selected SD clock. See PLL Lock Detection for more information.
SD_LOCK = 0: Indicates loss of lock.
SD_LOCK = 1: Indicates valid lock.
Bit 2: HD Clock PLL Lock Status (HD_LOCK)
HD_LOCK is a read-only bit and indicates PLL lock status of the selected HD clock. See PLL Lock Detection for more information.
HD_LOCK = 0: Indicates loss of lock.
HD_LOCK = 1: Indicates valid lock.
Bits 7-3: Lock Control (LOCK_CTRL)
LOCK_CTRL controls the phase error threshold of PLL 1's lock detector. A larger value for LOCK_CTRL will yield shorter lock indication time (although not actual lock time) at the expense of higher output phase error when lock is initially indicated, whereas a smaller value will yield the opposite effect. See Programming the PLL Lock Threshold for more information.
Register 02h
Bit 0: VREF_B Input Signal Polarity (POL_VB)
This bit should be programmed to match the input signal polarity at the VREF_B input pin.
POL_VB = 0: Negative polarity or active low signal.
POL_VB = 1: Positive polarity or active high signal.
Bit 1: HREF_B Input Signal Polarity (POL_HB)
This bit should be programmed to match the input signal polarity at the HREF_B input pin. The positive edge of the output clock will be phase locked to the active edge of the H sync input signal.
POL_HB = 0: Negative polarity or active low signal.
POL_HB = 1: Positive polarity or active high signal.
Bit 2: VREF_A Input Signal Polarity (POL_VA)
This bit should be programmed to match the input signal polarity at the VREF_A input pin.
POL_VA = 0: Negative polarity or active low signal.
POL_VA = 1: Positive polarity or active high signal.
Bit 3: HREF_A Input Signal Polarity (POL_HA)
This bit should be programmed to match with the input signal polarity at HREF_A input pin. The positive edge of the output clock will be phase locked to the active edge of the H sync input signal.
POL_HA = 0: Negative polarity or active low signal.
POL_HA = 1: Positive polarity or active high signal.
Bit 4: 27 MHz Reference Control (27M_REF)
Instead of an H sync signal, a 27 MHz clock signal can be applied to the selected HREF input to phase lock the output clocks. If a 27 MHz clock is used as a reference, then a value of 1 should be programmed to 27M_REF, REF_DIV_SEL, and FB_DIV.
27M_REF = 0: H sync input signal.
27M_REF = 1: 27 MHz clock input signal. Also, set REF_DIV_SEL =1 and FB_DIV = 1
NOTE
Because the loop gain, K, for 27 MHz clock input is much larger than for an H sync input (due to the large difference in FB_DIV), the loop filter design will be necessarily different between the 27 MHz input and H sync inputs. Alternatively, it's possible to use an external counter circuit to divide the 27 MHz clock to a lower frequency (e.g. like H sync) input, so only one loop filter design could support both types of inputs.
Bit 5: Pin 6 Override (PIN6_OVRD)
The PIN6_OVRD bit can be programmed to override the default reference selection capability on pin 6 and instead use pin 6 as an logic pulse input to initialize or reset the internal counters for output initialization.
PIN6_OVRD = 0: Allows a logic level input to be applied to pin 6 for reference selection if RSEL_I2C = 0 (register 00h). If RSEL_I2C = 1, then pin 6 is ignored and reference selection is controlled via I2C; additionally, outputs must be initialized via I2C by programming TOF_INIT and EN_TOF_RST (register 0Ah).
PIN6_OVRD = 1: Allows an TOF Init pulse to be applied to pin 6 for output initialization if EN_TOF_RST = 1. If EN_TOF_RST = 0, then any TOF Init pulse received at pin 6 will be ignored. Additionally, reference selection must be controlled via I2C, regardless of I2C_RSEL.
Bits 7-6: Reserved (RSV)
These RSV bits are reserved. When writing to this register, only write the default data to the RSV bits as specified in Table 3.
Register 03h
Bits 1-0: Reference Divider Selection (REF_DIV_SEL)
REF_DIV_SEL selects the reference divider value according to the selection table in Table 1. See Programming the PLL 1 Dividers for more information.
The reference divider value is the denominator of PLL 1's divider ratio:
Feedback divider value / Reference divider value = 27 MHz / Hsync input frequency
The numerator and denominator values of the divider ratio should be reduced to their lowest factors to be compatible with the range of divider values offered by REF_DIV_SEL and FB_DIV. These registers must be programmed correctly to phase lock the 27 MHz VCXO PLL and output clocks to the input reference. See Table 2 for the suggested divider settings for the supported timing formats.
Bits 7-3: Reserved (RSV)
These RSV bits are reserved. When writing to this register, only write the default data to the RSV bits as specified in Table 3.
Register 04h
Bits 7-0: Feedback Divider (FB_DIV)
This register contains the 8 LSBs of FB_DIV. The feedback divider value is the numerator of PLL 1's divider ratio. FB_DIV should be programmed using the feedback divider value after the divide ratio has been reduced to its lowest factors. Refer to the description for register 03h, and see Table 2 for the suggested divider settings for the supported timing format.
Register 05h
Bits 4-0: Feedback Divider (FB_DIV)
This register contains the 5 MSBs of FB_DIV. See the description for register 04h.
Bits 7-5: These non-programmable bits contain zeros.
Register 06h
Bits 3-0: Charge Pump Current Control for PLL 4 (ICP4)
ICP4 can be programmed to specify charge pump current for PLL 4, which generates the 67.5 MHz SD clock.
NOTE
Bit 3 is inverted internally, so the default ICP4 value of 0000b (0h) actually yields an effective value of 1000b (8h), which is the mid-scale setting.
The PLL 4 charge pump current increases linearly with the effective value. Reducing the effective value of the charge pump current will lower its loop bandwidth at the expense of reduced PLL stability. An effective value of 0 (ICP4 = 1000b) should not be programmed since this corresponds to 0 µA nominal current and will cause PLL 4 to lose phase lock.
Bits 7-4: Reserved (RSV)
These RSV bits are reserved. When writing to this register, only write the default data to the RSV bits as specified in Table 3.
Register 07h
Bits 7-0: Reserved (RSV)
This register is reserved. If necessary, only write the default data (00h) to register 07h as specified in Table 3.
Register 08h
Bit 0: SD Clock Output Frequency Select (SD_FREQ)
This bit sets the clock frequency of the SD_CLK output pair.
SD_FREQ = 0: Selects 27 MHz from PLL 1.
SD_FREQ = 1: Selects 67.5 MHz from PLL 4.
Bit 1: SD Clock Output Mode (SD_HIZ)
Set the SD_HIZ bit to 1 to put the SD_CLK output pair in high-impedance (Hi-Z) mode; otherwise, the SD_CLK output will be enabled.
Bit 3-2: HD Clock Output Frequency Select (HD_FREQ)
These bits set the clock frequency of the HD_CLK output pair.
HD_FREQ = 0h: Selects 74.25 MHz from PLL 2.
HD_FREQ = 1h: Selects 74.176 MHz from PLL 3.
HD_FREQ = 2h: Selects 148.5 MHz from PLL 2.
HD_FREQ = 3h: Selects 148.35 MHz from PLL 3.
NOTE
When selecting the 148.35 MHz clock, you must also program the PLL 3 initialization sequence as described in 148.35 MHz PLL Initialization Sequence.
Bit 4: HD Clock Output Mode (HD_HIZ)
Set the HD_HIZ bit to 1 to put the HD_CLK output pair in high-impedance (Hi-Z) mode; otherwise, the HD_CLK output will be enabled.
Bit 5: Top of Frame Output Mode (TOF_HIZ)
Set the TOF_HIZ bit to 1 to put the TOF output pin in high-impedance (Hi-Z) mode; otherwise, the output will be enabled.
Bits 7-6: Reserved (RSV)
These RSV bits are reserved. When writing to this register, only write the default data to the RSV bits as specified in Table 3.
Register 09h
Bits 7-0: TOF Reset (TOF_RST)
This register contains the 8 LSBs of TOF_RST. When PLL 1 is phase locked to the reference, both H sync and V sync inputs are used to reset the frame-based counters used for output TOF generation. The numerator value of the reduced frame rate ratio should be programmed to TOF_RST. See Input-Output Frame Rate Ratio for more information.
Once TOF_RST is programmed, the outputs must be properly initialized by either programming TOF_INIT or otherwise using an external TOF Init pulse (when PIN6_OVRD = 1).
Register 0Ah
Bits 4-0: TOF Reset (TOF_RST)
This register contains the 5 MSBs of TOF_RST. See the description for register 09h.
Bit 5: Output Initialization (TOF_INIT)
After enabling output alignment mode (EN_TOF_RST = 1), the TOF_INIT bit should be programmed to reset the internal counters and initialize (align) the outputs to the desired reference frame. The output initialization is triggered by programming a positive bit transition (0 to 1) to TOF_INIT. See Programming the Output Initialization Sequence for more information.
Bit 6: TOF Pulse Output Polarity (POL_TOF)
This bit should be programmed to the desired TOF pulse polarity at the TOF output.
POL_TOF = 0: Negative polarity or active low signal.
POL_TOF = 1: Positive polarity or active high signal.
Bit 7: Output Alignment Mode (EN_TOF_RST)
This bit must be set (EN_TOF_RST = 1) to enable output alignment mode prior to initialization per Programming the Output Initialization Sequence. It is recommended to clear this bit (EN_TOF_RST = 0) immediately after the output initialization sequence has been programmed to prevent excessive output jitter, as described in Output Disturbance While Output Alignment Mode Enabled.
Register 0Bh
Bits 7-0: Total Pixels per Line for the Output Format (TOF_PPL)
This register contains the 8 LSBs of TOF_PPL. TOF_PPL should be programmed with total pixels per line for the desired output format. TOF_PPL is used in specifying the output frame rate. This should be specified prior to programming the output initialization sequence. See Output Frame Timing for more information.
Register 0Ch
Bits 4-0: MSBs of Total Pixels per Line for the Output Format (TOF_PPL)
This register contains the 5 MSBs of TOF_PPL. See the description for register 0Bh.
Bit 5: Output Clock Select for Output Top of Frame (TOF_CLK)
This bit should be programmed to select the output TOF clock reference according to the desired output format. The selected TOF clock frequency is used in specifying the output frame rate. Any output format, including HD, can use 27 MHz as the TOF clock to generate its TOF pulse by programming the output counter values corresponding to the 27 MHz SD clock as shown in Table 2. See sections Output TOF Clock and Output Frame Timing.
TOF_CLK = 0: Selects the SD_CLK output as the output clock reference, where the SD frequency is set by SD_FREQ.
TOF_CLK = 1: Selects the HD_CLK output as the output clock reference.
Bit 7-6: These non-programmable bits contain zeros.
Register 0Dh
Bits 7-0: LSBs of Total Lines per Frame for the Output Format (TOF_LPFM)
This register contains the 8 LSBs of TOF_LPFM. TOF_LPFM should be programmed with the total lines per frame for the desired output format. TOF_LPFM is used in specifying the output frame rate. This should be specified prior to programming the output initialization sequence. See Output Frame Timing for more information.
Register 0Eh
Bits 3-0: MSBs of Total Lines per Frame for the Output Format (TOF_LPFM)
This register contains the 4 MSBs of TOF_LPFM. See the description for register 0Dh.
Bit 7-5: These non-programmable bits contain zeros.
Register 0Fh
Bits 7-0: LSBs of Total Lines per Frame for the Input Reference Format (REF_LPFM)
This register contains the 8 LSBs of REF_LPFM. REF_LPFM should be programmed with the total lines per frame for the input reference format. REF_LPFM is used in specifying the reference frame rate. This should be specified prior to programming the output initialization sequence (Reference Frame Timing).
Register 10h
Bits 3-0: MSBs of Total Lines per Frame for the Input Reference Format (REF_LPFM)
This register contains the 4 MSBs of REF_LPFM. See the description for register 0Fh.
Bit 7-4: These non-programmable bits contain zeros.
Register 11h
Bits 7-0: LSBs of Output Frame Offset (TOF_OFFSET)
This register contains the 8 LSBs of TOF_OFFSET. TOF_OFFSET should be programmed with the desired line offset to delay or advance the output timing relative to the reference frame. This should be specified prior to programming the output initialization sequence. See Output Frame Line Offset for more information.
Register 12h
Bits 3-0: MSBs of Line Offset for the Output Top of Frame (TOF_OFFSET)
This register contains the 4 MSBs of TOF_OFFSET. See the description for register 11h.
Bit 7-4: These bits contain zeros (non-programmable)
Register 13h
Bits 4-0: PLL 1 Charge Pump Current Control (ICP1)
ICP1 can be programmed to specify the charge pump current for PLL 1, which generates 27 MHz from the VCXO output. The PLL 1 charge pump current, or ICP1, is one of the loop gain parameters can be programmed to set and optimize PLL 1's loop response. For more information on setting the loop response, see Loop Response.
To minimize lock time, using a large or maximum ICP1 can result in faster PLL settling time due to a wider loop bandwidth. Once phase lock has been achieved, using a lower ICP1 (that yields sufficient stability) can provide good input jitter rejection due to a narrower loop bandwidth; this can be helpful to minimize low-frequency input jitter from being transferred to the output clocks.
NOTE
An ICP1 value ≤ 2 corresponds to an ICP1 current ≤ 62.5 µA. A low ICP1 setting or low damping factor (DF) can cause reduced PLL stability and performance (e.g. wander, loss of lock) due to loop filter charge leakage and other secondary factors; therefore, it is not recommended to use an ICP1 value less than 2d nor use an insufficient DF setting.
ICP1 register range = 0 to 31d; 0 to 2d are not recommended
ICP1 current = ICP1 x 31.25 µA (nominal current step)
Examples:
ICP1 = 8d (default) gives ICP1 = 250 µA nominal
ICP1 = 31d (max) gives ICP1 = 968.75 µA nominal
Bits 7-5: Reserved (RSV)
These RSV bits are reserved. When writing to this register, only write the default data to the RSV bits as specified in Table 3.
Register 14h
Bits 3-0: PLL 3 Charge Pump Current Control (ICP3)
ICP3 can be programmed to specify the charge pump current for PLL 3, which generates the 74.176 and 148.35 MHz HD clock outputs. Reducing the value of ICP3 will reduce the PLL 3 charge pump current and lower its loop bandwidth at the expense of reduced PLL stability. An ICP3 value of 0 should not be programmed since this corresponds to 0 µA nominal current, which will cause PLL 3 to lose phase lock or otherwise be unstable.
ICP3 register range = 0 to 15d
Bit 7-4: PLL 2 Charge Pump Current Control (ICP2)
ICP2 can be programmed to specify the charge pump current for PLL 2, which generates the 74.25 and 148.5 MHz HD clock outputs. Reducing the value of ICP2 will reduce the PLL 2 charge pump current and lower its loop bandwidth at the expense of reduced PLL stability. An ICP2 value of 0 should not be programmed since this corresponds to 0 µA nominal current, which will cause PLL 2 to lose phase lock or otherwise be unstable.
ICP2 register range = 0 to 15d
Register 15h-1Fh
This register is reserved. Do not program any data to these registers.