TVP3026M Video Interface Palette SGLS101A January 1999 Printed on Recycled Paper IMPORTANT NOTICE Texas Instruments and its subsidiaries (TI) reserve the right to make changes to their products or to discontinue any product or service without notice, and advise customers to obtain the latest version of relevant information to verify, before placing orders, that information being relied on is current and complete. All products are sold subject to the terms and conditions of sale supplied at the time of order acknowledgement, including those pertaining to warranty, patent infringement, and limitation of liability. TI warrants performance of its semiconductor products to the specifications applicable at the time of sale in accordance with TI’s standard warranty. Testing and other quality control techniques are utilized to the extent TI deems necessary to support this warranty. Specific testing of all parameters of each device is not necessarily performed, except those mandated by government requirements. CERTAIN APPLICATIONS USING SEMICONDUCTOR PRODUCTS MAY INVOLVE POTENTIAL RISKS OF DEATH, PERSONAL INJURY, OR SEVERE PROPERTY OR ENVIRONMENTAL DAMAGE (“CRITICAL APPLICATIONS”). TI SEMICONDUCTOR PRODUCTS ARE NOT DESIGNED, AUTHORIZED, OR WARRANTED TO BE SUITABLE FOR USE IN LIFE-SUPPORT DEVICES OR SYSTEMS OR OTHER CRITICAL APPLICATIONS. INCLUSION OF TI PRODUCTS IN SUCH APPLICATIONS IS UNDERSTOOD TO BE FULLY AT THE CUSTOMER’S RISK. In order to minimize risks associated with the customer’s applications, adequate design and operating safeguards must be provided by the customer to minimize inherent or procedural hazards. TI assumes no liability for applications assistance or customer product design. TI does not warrant or represent that any license, either express or implied, is granted under any patent right, copyright, mask work right, or other intellectual property right of TI covering or relating to any combination, machine, or process in which such semiconductor products or services might be or are used. TI’s publication of information regarding any third party’s products or services does not constitute TI’s approval, warranty or endorsement thereof. Copyright 1999, Texas Instruments Incorporated Contents Section Title Page 1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Functional Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3 Terminal Assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4 Ordering Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5 Terminal Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–1 1–2 1–3 1–4 1–5 1–5 2 Detailed Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–1 2.1 Microprocessor Unit Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–1 2.1.1 8/6 Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–3 2.1.2 Pixel Read Mask Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–3 2.1.3 Palette Page Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–3 2.1.4 Cursor and Overscan Color Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–4 2.2 Color Palette RAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–4 2.2.1 Writing to Color Palette RAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–5 2.2.2 Reading From Color Palette RAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–5 2.3 Clock Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–5 2.4 PLL Clock Generators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–6 2.4.1 Pixel Clock PLL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–8 2.4.2 Memory Clock PLL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–10 2.4.3 Loop Clock PLL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–12 2.5 Frame-Buffer Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–16 2.5.1 Frame-Buffer Clocking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–17 2.5.2 Frame-Buffer Timing Without Using SCLK . . . . . . . . . . . . . . . . . . . . . . . . . . 2–17 2.5.3 Frame-Buffer Timing Using SCLK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–17 2.5.4 Split Shift-Register-Transfer Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–18 2.6 Multiplexing Modes of Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–19 2.6.1 Little-Endian and Big-Endian Data Format . . . . . . . . . . . . . . . . . . . . . . . . . . 2–19 2.6.2 VGA Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–19 2.6.3 Pseudo-Color Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–19 2.6.4 Direct-Color Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–20 2.6.5 True-Color Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–21 2.6.6 Packed-24 Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–21 2.6.7 Multiplex Control Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–23 2.7 On-Chip Cursor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–31 2.7.1 Cursor RAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–31 2.7.2 Cursor Positioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–32 2.7.3 Three-Color 64 x 64 Cursor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–33 2.7.4 Interlaced Cursor Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–34 iii Contents (Continued) Section 2.8 2.9 2.10 2.11 2.12 2.13 2.14 2.15 3 Title Page Port-Select and Color-Key Switching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.8.1 Port-Select Switching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.8.2 Color-Key Switching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Overscan Border . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Horizontal Zooming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Test Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.11.1 16-Bit CRC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.11.2 Sense Comparator Output and Test Register . . . . . . . . . . . . . . . . . . . . . . . 2.11.3 Identification Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.11.4 Silicon Revision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . General-Purpose I/O Registers and Terminals . . . . . . . . . . . . . . . . . . . . . . . . . . . . Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Analog Output Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Register Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.15.1 General Control Register (Index: 0x1D, Access: R/W, Default: 0x00) . . . 2.15.2 Miscellaneous Control Register (Index: 0x1E, Access: R/W, Default: 0x0) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.15.3 Indirect Cursor Control Register (Index: 0x06, Access: R/W, Default: 0x00) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.15.4 Direct Cursor Control Register (Direct Register: 1001, Access: R/W, Default: 0x00) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.15.5 Cursor Position (x, y) Registers (Direct Register: 1100 – 1111, Access: R/W Default: Uninitialized) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.15.6 Color-Key Control Register (Index 0x38, Access R/W, Default 0x00) . . . 2.15.7 Color-Key (Overlay, Red, Green, Blue) Registers (Index: 0x30 – 0x37, Access: R/W, Default: Uninitialized) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.15.8 CRC Remainder LSB and MSB Registers (Index: 0x3C – 0x3D, Access: Read Only, Default: Uninitialized) . . . . . . . . . . . . . . . . . . . . . . . . . . 2.15.9 CRC Bit Select Register (Index: 0x3E, Access: Write Only, Default: Uninitialized) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Electrical Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1 Absolute Maximum Ratings Over Operating Free-Air Temperature Range . . . . 3.2 Recommended Operating Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3 Electrical Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4 Operating Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5 Timing Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6 Switching Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.7 Timing Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–34 2–35 2–35 2–36 2–37 2–37 2–37 2–38 2–38 2–38 2–39 2–39 2–39 2–42 2–42 2–42 2–43 2–43 2–44 2–45 2–46 2–46 2–46 3–1 3–1 3–1 3–2 3–3 3–4 3–5 3–5 Appendix A Frequency Synthesis PLL Register Settings . . . . . . . . . . . . . . . . . . . . . . A–1 Appendix B PLL Programming Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B–1 Appendix C Mechanical Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C–1 iv List of Illustrations Figure Title Page 1–1 Functional Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–3 1–2 Terminal Assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1–4 2–1 2–2 2–3 2–4 2–5 2–6 2–7 2–8 2–9 2–10 2–11 2–12 2–13 2–14 TVP3026M Clocking Scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–8 Loop Clock PLL Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–12 Typical Configuration – VRAM Clocked by Accelerator . . . . . . . . . . . . . . . . . . . . . . 2–16 Typical Configuration – VRAM Clocked by TVP3026M . . . . . . . . . . . . . . . . . . . . . . 2–16 Frame-Buffer Timing Without Using SCLK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–17 Frame-Buffer Timing Using SCLK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–18 Frame-Buffer Timing Using SCLK (With First SCLK Pulse Relocated) . . . . . . . . . 2–18 Cursor RAM Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–32 Cursor Positioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–33 Overscan Border . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–37 CRC Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–38 Equivalent Circuit of the Current Output (IOG) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–40 Composite Video Output (With 0 IRE, 8-Bit Output) . . . . . . . . . . . . . . . . . . . . . . . . . 2–41 Composite Video Output (With 7.5 IRE, 8-Bit Output) . . . . . . . . . . . . . . . . . . . . . . . 2–41 3–1 MPU Interface Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–6 3–2 Video Input /Output Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3–7 v List of Tables Table 2–1 2–2 2–3 2–4 2–5 2–6 2–7 2–8 2–9 2–10 2–11 2–12 2–13 2–14 2–15 2–16 2–17 2–18 2–19 2–20 2–21 2–22 2–23 2–24 2–25 2–26 2–27 2–28 2–29 2–30 2–31 2–32 2–33 2–34 vi Title Page Direct Register Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–1 Indirect Register Map (Extended Registers) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–2 Allocation of Palette Page Register Bits† . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–3 Color Register Address Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–4 Clock Selection Register Bits CSR(6 – 4)(Index: 0x1A, Access: R/W, Default: 0x07) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–6 Clock Selection Register Bits CSR(3 – 0) (Index: 0x1A, Access: R/W, Default: 0x07) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–6 PLL Top-Level Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–7 PLL Address Register (Index: 0x2C, Access: R/W, Default: Uninitialized) . . . . . . . 2–7 PLL Data Register Pointer Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–7 Pixel Clock PLL Registers† . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–9 Pixel Clock PLL Frequency Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–9 MCLK PLL Registers† . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–10 MCLK/Loop Clock Control Register (Index: 0x39 hex, Access: R/W, Default:0x18) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–11 Loop Clock PLL Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–13 Loop Clock PLL Settings for Packed-24 Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–14 Latch-Control Register (Index: 0x0F, Access: R/W, Default: 0x06) . . . . . . . . . . . . 2–15 Multiplex Mode and Bus Width Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–24 Pseudo-Color Mode Pixel-Latching Sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–27 Packed-24 Formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–28 Direct-Color Mode Pixel-Latching Sequence (Little-Endian) 2–29 Direct-Color Mode Pixel-Latching Sequence (Big-Endian) . . . . . . . . . . . . . . . . . . . 2–30 Cursor RAM Vs. Color Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–33 Port-Select Switching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–35 Sense Test Register Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–38 General-Purpose I/O Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–39 General-Control Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–42 Miscellaneous Control Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–42 Indirect Cursor-Control Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–43 Direct Cursor-Control Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–43 Cursor Position (X, Y) Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–44 Color-Key Control Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–45 Color-Key Low and High Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–46 CRC Remainder LSB and MSB Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–46 CRC Bit Select Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2–46 1 Introduction The TVP3026M is an advanced video interface palette (VIP) from Texas Instruments (TI) implemented in the EPIC 0.2-micron CMOS process. The TVP3026M is a 64-bit VIP that supports packed-24 modes enabling 24-bit true-color and high resolution at the same time without excessive amounts of frame buffer memory. For example, a 24-bit true color display with 1280 × 1024 resolution may be packed into 4 MB of VRAM. A phase-locked loop (PLL)-generated, 50% duty-cycle reference clock is output in the packed-24 modes, maximizing VRAM cycle time and the screen refresh rate. The TVP3026M supports all of the pixel formats of the TVP3020 VIP. Data can be split into 4 or 8 bit-planes for pseudo-color mode or split into 12-, 16- or 24-bit true-color and direct-color modes. For the 24-bit direct color modes, an 8-bit overlay plane is available. The 16-bit direct-color and true-color modes can be configured to IBM XGA (5, 6, 5), TARGA (1, 5, 5, 5), or 16-bit/pixel (6, 6, 4) configuration as another existing format. An additional 12-bit mode with 4-bit overlay (4, 4, 4, 4) is supported with 4 bits for each color and overlay. All color modes support selection of little or big endian data format for the pixel bus. Additionally, the device is also software compatible with the INMOS IMSG176/8 and Brooktree Bt476/8 color palettes. The TVP3026M has two fully programmable phase-locked loops (PLLs) for pixel clock and memory clock functions, as well as a simple frequency doubler for dramatic improvements in graphics system cost and integration. A third loop clock PLL makes pixel data-latch timing much simpler than with other existing color palettes. In addition, four software-selectable digital clock inputs (2 TTL- and 2 ECL / TTL-compatible) may be utilized. The video clock provides a software selected divide ratio of the chosen pixel clock. The shift clock output can be used directly as the VRAM shift clock. The reference clock output, driven by the loop clock PLL, provides a timing reference to the graphics accelerator. Like the TVP3020, the TVP3026M integrates a complete IBM XGA-compatible hardware cursor on chip, making significant graphics performance enhancements possible. Additionally, hardware port select and color-keyed switching functions, give the user several efficient means of producing graphical overlays on direct-color backgrounds. The TVP3026M has three 256 × 8 color lookup tables with triple 8-bit video digital-to-analog converters (DACs) capable of directly driving a doubly-terminated 75-Ω line. The lookup tables, a dual-ported RAM architecture enables ultra-high speed operation. Sync generation is incorporated on the green output channel. Horizontal sync (HSYNC) and vertical sync (VSYNC) are pipeline delayed through the device and optionally inverted to indicate screen resolution to the monitor. A palette-page register can select from multiple color maps in RAM when 4 bit-planes are used. This allows the screen colors to be changed with only one microprocessor write cycle. The device features a separate VGA bus, which supports the integrated VGA modes in graphics accelerator applications, allowing efficient support for VGA graphics and text modes. The separate bus also is useful for accepting data from the feature connector of most VGA-supported personal computers, without the need for external data multiplexing. The TVP3026M is highly system-integrated. It can be connected to the serial port of VRAM devices without external buffer logic and can be connected to many graphics engines directly. It also supports the split shift-register transfer function, which is common to many industry-standard VRAM devices. The system-integration concept is carried even further to manufacturing test and field diagnosis. To support these, several highly-integrated test functions have been designed to enable simplified testing of the palette and the entire graphics system. TI and EPIC are trademarks of Texas Instruments Incorporated. IBM and XGA is a registered trademark of International Business Machines Corporation TARGA is a registered trademark of Truevision Incorporated. Brooktree is a trademark of Brooktree Corporation. INMOS is a trademark of INMOS International Limited. 1–1 1.1 Features The TVP3026M video interface palette features: • System resolutions up to 1600 × 1280 at 76-Hz refresh rate • Color depths of 4, 8, 16, 24 and 32 bit/pixel • 64-bit-wide pixel bus • Versatile direct-color modes: – – – – – – 1–2 24-bit/pixel with 8-bit overlay (O, R, G, B) 24-bit/pixel (R, G, B) 16-bit/pixel (5, 6, 5) XGA configuration 16-bit/pixel (6, 6, 4) configuration 15-bit/pixel with a 1-bit overlay (1, 5, 5, 5) TARGA configuration 12-bit/pixel with a 4-bit overlay (4, 4, 4, 4) • True-color gamma correction • Packed pixel formats for 24 bit/pixel using a 32-or 64-bit/pixel bus • 50% duty cycle reference clock for higher screen refresh rates in packed-24 modes • Programmable frequency synthesis phase-locked loops (PLLs) for dot clock and memory clock • • Loop clock PLL compensates for system delay and ensures reliable data latching Versatile pixel bus interface supports little- and big-endian data formats • • • • • • • • • • • • 135-, 175-, and 220-MHz versions On-chip hardware cursor, 64 × 64 × 2 cursor (XGA and X-windows functionally compatible) Direct interfacing to video RAM Overscan for creation of custom screen borders Color-keyed switching of direct color and true color or overlay Hardware port select switching between direct color and true color or overlay Triple 8-Bit D/A converters Analog output comparators for monitor detection RS-343A compatible outputs Direct VGA pass-through capability Palette page register Horizontal zooming capability 1.2 Functional Block Diagram REF FS ADJUST COMP2 TrueColor MUX 32 24 24 LCLK Unpack Logic 32 8 24 8 32 8 8 Color Key Switch Read Mask 8 Page Reg 8 8 8 8 8 3 × 256 × 8 Color Palette RAM RS3 – RS0 RD 8 5 24 8 DOT Clock Divider Loop Clock PLL Pixel Clock PLL Memory Clock PLL 64 × 64 × 2 Cursor RAM and Control DAC IOG 8 DAC IOB 24 Test Function and Sense Comparator 2 SENSE HSYNCOUT Video-Signal Control WR 2 Clock Select IOR 24 2 MPU Registers and Control Logic DAC Output MUX 8 1 × 24 Overscan Color 3 × 24 Cursor Colors D7 – D0 8 VSYNCOUT ODD/EVEN MCLK XTAL1 XTAL2 PCLKOUT PLLSEL0, PLLSEL1 SFLAG CLK2 CLK0 CLK1 CLK2 RCLK SCLK VCLK RESET GI/O(4–0) 5 VGABL VGA7 – VGA0 PseudoColor 8 MUX 24 24 24 VGA Latch Direct-Color Pipeline Delay COMP1 PSEL OVS 8/6 SYSHS SYSVS SYSBL VGAHS VGAVS P63 – P0 1:1 Pixel 2:1 Bus Pipe 32 64 Latch 64 MUX Vref 1.235 V 24 Figure 1–1. Functional Block Diagram 1–3 Terminal Assignments 164 163 162 161 160 159 158 157 156 155 154 153 152 151 150 149 148 147 146 145 144 143 142 141 140 139 138 137 136 135 134 133 132 131 130 129 128 127 126 125 124 PLLSEL1 GND P34 P35 P36 P37 P38 P39 P40 P41 P42 P43 NC NC PLLV DD NC PCLKOUT PLLV DD PLLGND P44 NC P45 P46 P47 DVDD GND P48 P49 P50 P51 P52 P53 P54 P55 P56 SCLK VCLK RCLK LCLK ODD/EVEN MCLK 1.3 PLLSEL0 DV DD P33 P32 P31 P30 P29 P28 P27 P26 P25 P24 P23 P22 P21 P20 GND DV DD P19 P18 NC P17 P16 P15 P14 P13 P12 P11 P10 P9 P8 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 DV DD DV DD 40 41 83 GND RS3 WR RD DVDD GND D7 D6 D5 D4 D3 D2 D1 D0 RS0 RS1 RS2 GI/O0 GI/O1 GI/O2 NC GI/O3 GI/O4 RESET SENSE DVDD GND HSYNCOUT VSYNCOUT GND IOR GND IOG GND IOB GND FS ADJUST COMP1 REF COMP2 AV DD 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 P7 P6 P5 P4 P3 P2 P1 P0 30 31 32 33 34 35 36 37 38 39 123 122 121 120 119 118 117 116 115 114 113 112 111 110 109 108 107 106 105 104 103 102 101 100 99 98 97 96 95 94 93 92 91 90 89 88 87 86 85 84 NC – No internal connection Figure 1–2. Terminal Assignments 1–4 XTAL2 XTAL1 GND DVDD P57 P58 P59 P60 P61 P62 P63 CLK2 CLK2 CLK1 CLK0 SFLAG VGABL VGAVS VGAHS SYSBL NC SYSVS SYSHS 8/6 PSEL OVS VGA7 VGA6 VGA5 VGA4 VGA3 VGA2 VGA1 VGA0 AV DD AV DD GND AV DD GND GND GND 1.4 Ordering Information TVP3026 – XXX – X AXXX Pixel Clock Frequency Indicator Must contain three characters: – 175: 175-MHz pixel clock Military Extension M Revision Package Must contain three letters: HFG: Ceramic, Quad Flat Pack Terminal Functions† 1.5 TERMINAL NAME NO. I/O DESCRIPTION AVDD 82, 86, 88, 89 CLK0 109 I Dot clock 0 TTL input. CLK0 can be selected to drive the dot clock at frequencies up to 140 MHz. When using the VGA port, the maximum frequency is 85 MHz. CLK0 can be selected as the latch clock for VGA data and video controls. (power-up default). CLK1 110 I Dot clock 1 TTL input. CLK1 can be selected to drive the dot clock at frequencies up to 140 MHz. 111, 112 I Dual-mode dot clock input. These inputs are ECL-compatible inputs. Alternatively, CLK2 and CLK2 may be used as individual TTL clock inputs. Programming the clock selection register selects the chosen configuration. These inputs may be selected as the dot clock up to the device limit while in the ECL mode or up to 140 MHz in the TTL mode. 79, 81 I Compensation. COMP1 and COMP2 provide compensation for the internal reference amplifier. A 0.1-µF ceramic capacitor is required between COMP1 and COMP2. This capacitor must be as close to the device as possible to avoid noise pick up. CLK2, CLK2 COMP1, COMP2 Analog power. All AVDD terminals must be connected. A separate cutout in the DVDD plane should be made for AVDD. The DVDD and AVDD planes should be connected only at a single point through a ferrite bead close to where power enters the board. DVDD 2, 18, 40, 41, 46, 67, 120, 140 D7 – D0 48 – 55 I/O MPU interface data bus. These terminals are used to transfer data in and out of the register map, palette RAM, and cursor RAM. 78 I Full-scale adjustment. A resistor connected between this terminal and ground controls the full-scale range of the DACs. FS ADJUST GND 17, 42, 47, 68, 71, 73, 75, 77, 83–85, 87, 121, 139, 163 Digital power. All DVDD terminals must be connected to the digital power plane with sufficient decoupling capacitors near the TVP3026. Ground. All GND terminals must be connected. A common ground plane should be used. † All unused inputs should be tied to a logic level and not be allowed to float. 1–5 Terminal Functions (Continued)† 1.5 TERMINAL I/O DESCRIPTION 69, 70 O Horizontal and vertical sync outputs. These outputs are pipeline delayed versions of the selected sync inputs. Output polarity inversion may be independently selected using general control register bits GCR(1,0). 72, 74, 76 O Analog current outputs. These outputs can drive a 37.5-Ω load directly (doubly terminated 75-Ω line), thus eliminating the requirement for any external buffering. 59 – 61, 63, 64 I/O Software programmable general I/O terminals that can be used to control external devices. LCLK 126 I Latch clock input. LCLK is used to latch pixel-bus-input data and system video controls. VGA data may also be latched with LCLK if so selected. LCLK may be a delayed version of RCLK provided that linear phase changes in RCLK cause corresponding linear phase changes in LCLK. MCLK 124 O Memory clock output. MCLK is the output of an independently programmable PLL frequency synthesizer. The frequency range is 14 – 100 MHz. The dot clock may be output on this terminal while the MCLK frequency is reprogrammed. See Section 2.4.2.1. PCLKOUT 148 O Pixel clock PLL output. PCLKOUT is a buffered version of the pixel clock PLL output and is mainly for test purposes. This output is independent of the dot clock source selected by the clock selection register. PLLGND 146 Ground for PLL supplies. Decoupling capacitors should be connected between PLLVDD and PLLGND. PLLGND should be connected to the system ground through a ferrite bead. PLLVDD 147, 150 PLL power supply. PLLVDD must be a well regulated 5 V power supply voltage. Decoupling capacitors should be connected between PLLVDD and PLLGND. Terminal 143 supplies power to the pixel clock PLL. Terminal 146 supplies power to the MCLK PLL and the loop clock PLL. NAME NO. HSYNCOUT, VSYNCOUT IOR, IOG, IOB GI/O4 – GI/O0 OVS 98 I Overscan input. OVS is used to control the display of custom screen borders. If OVS is not used, it should be connected to GND. ODD/EVEN 125 I Odd or even field display. ODD/EVEN indicates odd or even field during interlaced display for cursor operation. Logic 0 indicates the even field and logic 1 indicates the odd field. See Section 2.7.4 for cursor operation in interlace mode. PLLSEL0, PLLSEL1 1, 164 I Pixel clock PLL frequency selection. Selects among two fixed frequencies and the programmed frequency of the pixel clock PLL. 99 I Port select. PSEL provides the capability of switching between direct color and true color or overlay. Multiple true color or overlay windows may be displayed using the PSEL control. Since PSEL is sampled with LCLK, the granularity for switching dependes on the number of pixels loaded per LCLK. If PSEL is not used, it should be connected to GND. 3 – 16, 19, 20, 22 – 39, 113 – 119, 130 – 138, 141 – 145, 153 – 162 I Pixel input port. The port can be used in various modes as described in Section 2.6. Unused terminals should not be allowed to float. PSEL P33–P16 P19–P18 P22–P0 P63–P57 P56–P48 P47–P44 P43–P34 † All unused inputs should be tied to a logic level and not be allowed to float. 1–6 Terminal Functions (Continued)† 1.5 TERMINAL NAME NO. I/O DESCRIPTION RCLK 127 O Reference clock output. RCLK can be programmed to output either the pixel clock PLL (power up default) or the loop clock PLL. The pixel clock PLL is selected to provide a reference clock to the VGA controller. In this configuration, the VGA controller returns VGA data and video controls along with a synchronous clock which becomes the TVP3026 dot clock source via CLK0. For all other modes, the loop clock PLL is selected to provide the reference clock. In this configuration, the pixel clock PLL (or external clock) becomes the TVP3026 dot clock source. The reference clock is used to generate VRAM shift clocks (or clock a VGA controller) and generate video controls. The pixel port (or VGA port) and video controls are latched by LCLK. The loop clock PLL controls the phase of RCLK to phase-lock the received LCLK with the internal dot clock. For systems that use SCLK as the VRAM shift clock, RCLK should be connected to LCLK. An external buffer may be used between RCLK and LCLK if SCLK is also buffered, within the timing constraints of the TVP3026. RCLK is not gated off during blank. REF 80 I/O Voltage reference for DACs. An internal voltage reference of nominally 1.235 V is provided, which requires an external 0.1-µF ceramic capacitor between REF and analog GND. However, the internal reference voltage can be overdriven by an externally supplied reference voltage. RESET 65 I Master reset. All the registers assume their default state after reset. The default state is VGA mode 2 (CLK0 latching of VGA data and video controls). RD 45 I Read strobe input. A logic 0 on this terminal initiates a read from the register map. Read transfer data is enabled onto the D(7 – 0) bus when RD is low (see Figure 3–1). 43, 56 – 58 I Register select inputs. These terminals specify the location in the direct register map that is to be accessed as shown in Table 2–1. 129 O Shift clock output. SCLK is a gated version of the loop clock PLL output and is gated off during blank. SCLK may be used to drive the VRAM shift clock directly. This is intended for designs in which the graphics controller does not supply the VRAM shift clock. SENSE 66 O Test mode DAC comparator output signal. This terminal is low if one or more of the DAC output analog levels is above the internal comparator reference of 350 mV ± 50 mV. SFLAG 108 I Split shift register transfer flag. A high pulse on this terminal during blank is passed directly to the SCLK terminal. This operation is available to meet the special serial clocking requirements of some VRAM devices. If SFLAG is not used, SFLAG should be connected to GND. SYSBL 104 I RS3 RS0–R2 SCLK System blank input. SYSBL is active low. This should be selected for all modes other than VGA mode 2. This signal is pipeline delayed before being passed to the DACs. † All unused inputs should be tied to a logic level and not be allowed to float. 1–7 Terminal Functions (Continued)† 1.5 TERMINAL NAME NO. I/O DESCRIPTION SYSHS, SYSVS 101, 102 I System horizontal and vertical sync inputs. These signals should be selected for all modes other than VGA mode 2. These signals are pipeline delayed and each may be inverted before being passed to the HSYNCOUT and VSYNCOUT terminals. General control register bits GCR(1,0) control the polarity inversion. If used to generate the sync level on the green current output, SYSHS and SYSVS must be active low at the input to the TVP3026. VCLK 128 O Programmable auxiliary clock output. VCLK is derived from the internal dot clock using a programmable divide ratio and does not utilize the loop clock PLL for synchronization. Since pixel data and video controls are always referenced to RCLK and LCLK (or CLK0), use of VCLK for the frame buffer interface or video timing is not recommended. VGABL 107 I VGA blank input. VGABL is active low. This should be selcted when in VGA mode 2 (CLK0 latching of VGA data and video controls). VGABL is pipeline delayed before being passed to the DACs. VGAHS, VGAVS 105, 106 I VGA horizontal and vertical sync inputs. These signals should be used when in VGA mode 2 (CLK0 latching of VGA data and video controls). These signals are pipeline delyed and each may be inverted before being passed to the HSYNCOUT and VSYNCOUT terminals. General control regiser bits GCR(1,0) control the polarity inversion. If used to generate the sync level on the green current output, VGAHS and VGAVS must be active low at the input to the TVP3026. 90 – 97 I VGA port. This bus can be selected as the pixel input bus for VGA modes, but it does not allow for any multiplexing. 44 I Write strobe input. A logic 0 on this terminal initiates a write to the register map. Write transfer data is latched from the D(7 – 0) bus with the rising edge of WR. XTAL1, XTAL2 122, 123 I/O Connection for quartz crystal resonator as a reference for the frequency synthesis PLLs. XTAL2 may be used as a TTL reference clock input, in which case XTAL1 is left unconnected. 8/6 100 I DAC resolution selection. This terminal is used to select the data bus width (8 or 6 bits) for the DACs and is provided for VGA downward compatibility. When this terminal is a logical 1, 8-bit bus transfers are used with D7 the MSB and D0 the LSB. For 6-bit bus operation, while the color palette RAM still has the 8-bit information, the data is shifted to the upper six bits and the two LSBs are filled with zeros at the output multiplexer to the DACs. The palette RAM data register zeroes the two MSBs when it is read in the 6-bit mode. The function of this terminal may be overridden in software. If not used, this terminal should be connected to GND so that 6-bit VGA operation results at power up. VGA7 – VGA0 WR † All unused inputs should be tied to a logic level and not be allowed to float. 1–8 2 Detailed Description 2.1 Microprocessor Unit Interface The standard microprocessor unit (MPU) interface is supported, giving the MPU direct access to the registers and memories of the TVP3026M. The processor interface is controlled using read and write strobes (RD, WR), four register select terminals (RS3 – RS0), the D7 – D0 data terminals, and the 8/6-select terminal. The 8/6 terminal selects between an 8- or 6-bit-wide data path to the color palette RAM and is provided to maintain compatibility with the IMSG176. See subsection 2.1.1, 8/6 Operation. Table 2–1 lists the direct register map. These registers are addressed directly by the register select lines RS0 – RS3. Table 2–2 lists the indirect register map. The index for the indirect register map is loaded into the index register (direct register: 0000). The index register also stores the palette RAM write address and cursor RAM write address. The indexed data register (direct register: 1010) then reads or writes the register pointed to in the indirect register map. The index does not post-increment following accesses to the indirect map. Table 2–1. Direct Register Map RS3 RS2 RS1 RS0 REGISTER ADDRESSED BY MPU R/W DEFAULT (HEX) R/W XX 0 0 0 0 Palette / cursor RAM write address/ index register 0 0 0 1 Palette RAM data R/W XX 0 0 1 0 Pixel read-mask R/W FF 0 0 1 1 Palette / cursor RAM read address R/W XX 0 1 0 0 Cursor / overscan color write address R/W XX 0 1 0 1 Cursor / overscan color data R/W XX 0 1 1 0 Reserved 0 1 1 1 Cursor / overscan color read address R/W XX 1 0 0 0 Reserved 1 0 0 1 Direct cursor control R/W 00 1 0 1 0 Indexed data R/W XX 1 0 1 1 Cursor RAM data R/W XX 1 1 0 0 Cursor-position X LSB R/W XX 1 1 0 1 Cursor-position X MSB R/W XX 1 1 1 0 Cursor-position Y LSB R/W XX 1 1 1 1 Cursor-position Y MSB R/W XX 2–1 Table 2–2. Indirect Register Map (Extended Registers) INDEX R/W DEFAULT R 0x00† 0x00 0x01 Reserved 0x02 – 0x05 0x06 Silicon revision Reserved R/W 0x00 0x07 – 0x0E 0x0F REGISTER ADDRESSED BY INDEX REGISTER Indirect cursor control Reserved R/W 0x06 0x18 R/W 0x80 True color control 0x19 R/W 0x98 Multiplex control 0x1A R/W 0x07 Clock selection 0x1C R/W 0x00 Palette page 0x1D R/W 0x00 General control 0x1E R/W 0x00 Miscellaneous control 0x10 – 0x17 Latch control Reserved 0x1B Reserved 0x1F – 0x29 Reserved 0x2A R/W 0x00 0x2B R/W XX General-purpose I/O control General-purpose I/O data 0x2C R/W XX PLL address 0x2D R/W XX Pixel clock PLL data 0x2E R/W XX Memory clock PLL data 0x2F R/W XX Loop clock PLL data 0x30 R/W XX Color-key overlay low 0x31 R/W XX Color-key overlay high 0x32 R/W XX Color-key red low 0x33 R/W XX Color-key red high 0x34 R/W XX Color-key green low 0x35 R/W XX Color-key green high 0x36 R/W XX Color-key blue low 0x37 R/W XX Color-key blue high 0x38 R/W 0x00 Color-key control 0x39 R/W 0x18 MCLK/loop clock control 0x3A R/W 0x00 Sense test 0x3B R XX Test mode data 0x3C R XX CRC remainder LSB † Silicon revision register is 0x00 for the first pass silicon (see subsection 2.11.4, Silicon Revision). NOTE 1: Reserved registers should be avoided; otherwise, circuit behavior could deviate from that specified. 2–2 Table 2–2. Indirect Register Map (Extended Registers) (Continued) INDEX REGISTER ADDRESSED BY INDEX REGISTER R/W DEFAULT 0x3D R XX CRC remainder MSB 0x3E W XX CRC bit select 0x3F R 0x26 0xFF W XX ID Software reset NOTE 1: Reserved registers should be avoided; otherwise, circuit behavior could deviate from that specified. 2.1.1 8/6 Operation The 8/6 terminal, which selects between an 8-bit (set to 1) or 6-bit (reset to 0) data path to the color palette RAM, is provided in order to maintain compatibility with the INMOS IMSG176. When miscellaneous control register bit 2 (MSC2) is set to 1, the 8/6 terminal is disabled and 8/6 operation is controlled by bit 3 of the miscellaneous control register (MSC3). The reset default is for the 8/6 terminal to be enabled (miscellaneous control register bit 2 = 0, see Section 2.2, Color Palette RAM). 2.1.2 Pixel Read Mask Register The pixel read mask register (direct register: 0010) is an 8-bit register that enables or disables a bit-plane from addressing the color palette RAM in the pseudo-color and VGA modes. Each palette address bit is logically ANDed with the corresponding bit from the read mask register before going to the palette page register and addressing the palette RAM. 2.1.3 Palette Page Register The palette page register (index: 0x1C) allows selection of multiple color look-up tables stored in the palette RAM when using a mode that addresses the palette RAM with less than 8 bits. When using 1, 2, or 4 bit-planes in the pseudo-color or direct-color + overlay modes, the additional planes are provided from the page register before the data addresses the color palette. This is illustrated in Table 2–3. NOTE The additional bits from the page register are inserted after the read mask. The palette page register specifies the additional bit-planes for the overlay field in direct-color modes with less than 8 bits per pixel overlay. Table 2–3. Allocation of Palette Page Register Bits† NUMBER OF BIT-PLANES MSB 8 M M M M M M M M 4 P7 P6 P5 P4 M M M M 2 P7 P6 P5 P4 P3 P2 M M 1 P7 P6 P5 P4 P3 P2 P1 M PALETTE ADDRESS BITS LSB † M = bit from pixel port and Pn = n bit from page register. 2–3 2.1.4 Cursor and Overscan Color Registers The registers for the three cursor colors and the overscan border color are accessed through the direct register map. See Section 2.9, Overscan Border description and subsection 2.7.3, Three-Color 64 X 64 Cursor, for use of the cursor colors. The color write address register (direct register: 0100) must be initialized before writing to the color registers. The lower two bits of this register select one of the four color registers according to Table 2–4. The selected 24-bit color register is loaded a byte at a time by writing a sequence of three bytes (red, green, and blue) to the color data register (direct register: 0101). After the blue byte is written, the color address register increments to the next color. All four colors can be loaded with a single write to the color write address register followed by 12 consecutive writes to the color data register. The color read address register (direct register: 0111) must be initialized before reading from the color registers. The lower two bits of this register select one of the four color registers according to Table 2–4. Next, the color data register (direct register: 0101) is read three times, producing red, green, and blue bytes from the selected register. After the blue byte is read, the color address register is incremented to the next color. All four colors can be read with a single write to the color read address register followed by 12 consecutive reads of the color data register. The sequence followed by the color address register is overscan color, cursor color 0, cursor color 1, cursor color 2, . . ., etc. The starting point depends on what was written to the color write address or color read address register. Table 2–4. Color Register Address Format 2.2 BIT 1 BIT 0 0 0 Overscan color REGISTER 0 1 Cursor color 0 1 0 Cursor color 1 1 1 Cursor color 2 Color Palette RAM The color palette RAM is addressed by an internal 8-bit address register for reading/writing data from/to the RAM. This register is automatically incremented following a RAM transfer, allowing the entire palette to be read/written with only one access of the address register. When the address register increments beyond the last location in RAM, it is reset to the first location (address 0). All read and write accesses to the RAM are asynchronous to the internal clocks but are performed within one dot clock. Therefore, read/write accesses do not cause any noticeable disturbance on the display. The color palette RAM is 24 bits wide for each location and 8 bits wide for each color. Since a MPU access is 8 bits wide, the color data stored in the palette is eight bits when the 6-bit mode is chosen. When the 6-bit mode is chosen, the two MSBs of color data in the palette have the values previously written. However, when they are read back in the 6-bit mode, the two MSBs are zeros to be compatible with INMOS IMSG176 and Brooktree Bt176. The output multiplexer shifts the six LSB bits to the six MSB positions and fills the two LSBs with 0s after the color palette. The multiplexer then feeds the data to the DAC. The test mode data register and the cyclic redundancy check (CRC) calculation both take data after the output multiplexer, enabling total system verification. The color palette access is described in the following two sections, and it is fully compatible with IMSG176/8 and Bt476/8. 2–4 2.2.1 Writing to Color Palette RAM To load the color palette, the MPU must first write to the color palette RAM write address register (direct register: 0000) with the address where the modification is to start. The selected color palette RAM location is loaded a byte at a time by writing a sequence of three bytes (red, green, and blue) to the palette RAM data register (direct register: 0001). After the blue write cycle, the color palette RAM address register increments to the next location, which the MPU can modify by simply writing another sequence of red, green, and blue data. 2.2.2 Reading From Color Palette RAM Reading from the color palette RAM is performed by writing to the palette read address register (direct register: 0011) with the location to be read. Three successive MPU reads from the palette RAM data register produce red, green, and blue color data (6 or 8 bits depending on the 8/6 mode) for the specified location. Following the blue read cycle, the address register is incremented. Since the color palette RAM is dual ported, the RAM can be read during active display without disturbing the video. 2.3 Clock Selection The TVP3026M VIP provides a maximum of four clock inputs (CLK0, CLK1, and CLK2/CLK2) that can be selected as two TTL inputs and a differential ECL input or as four TTL inputs. The TTL inputs can be used for video rates up to 140 MHz while the differential ECL can be utilized up to the device limit. At reset, CLK0 is selected as the clock source for VGA mode 2. This power-up state supports VGA pass-through operation without requiring software intervention. An alternative clock source can be selected in the clock-selection register (index: 0x1A) during normal operation. The chosen clock input is then used as the dot clock (representing pixel rate to the monitor, see Table 2–5). There are two ways of using CLK0 as a clock source. When CSR(2 – 0) = 111, CLK0 is selected as the clock source to generate the internal dot clock (see Table 2–6). In this mode, multiplex control register bit MCR6 must be set to 1 and only the VGA port can be used. Setting MCR6 selects latching of VGA7 – VGA0 and VGABL with CLK0. When CSR2 – CSR0 = 000, CLK0 is also selected as the clock source to generate the internal dot clock. However, in this mode, MCR6 must be logic 0, which selects latching of VGA7 – VGA0 and SYSBL with LCLK. In this mode, the pixel port or the VGA port can be used. Additionally, two crystal oscillator terminals (XTAL1, XTAL2) are provided for the integrated pixel clock and memory clock frequency synthesis PLLs. These terminals are intended for use with a quartz crystal resonator, but a discrete oscillator can also be utilized and input on XTAL2 (XTAL1 should be left floating in this case). Selection of the pixel clock PLL as the pixel clock source is performed by programming the clock selection register. In general, when the pixel clock PLL is to be selected, it should be selected after the PLL has been programmed and allowed to achieve lock. 2–5 Table 2–5. Clock Selection Register Bits CSR(6 – 4) (Index: 0x1A, Access: R/W, Default: 0x07) CLOCK SELECT REGISTER BITS VCLK FREQUENCY 6 5 4 0 0 0 Dot clock 0 0 1 Dot clock/2 0 1 0 Dot clock/4 0 1 1 Dot clock/8 1 0 0 Dot clock/16 1 0 1 Dot clock/32 1 1 0 Dot clock/64 1 1 1 Reset to 0 NOTE 2: Bit CSR7 enables the SCLK output when set to 1. Table 2–6. Clock Selection Register Bits CSR(3 – 0) (Index: 0x1A, Access: R/W, Default: 0x07) CLOCK SELECT REGISTER BITS FUNCTION 3 2 1 0 0 0 0 0 Select CLK0 as clock source (for use with LCLK latching of VGA port). See subsection 2.6.2, VGA Modes. 0 0 0 1 Select CLK1 as clock source 0 0 1 0 Select CLK2 as TTL clock source 0 0 1 1 Select CLK2 as TTL clock source 0 1 0 0 Select CLK2 and CLK2 as ECL clock source 0 1 0 1 Select pixel clock PLL as clock source 0 1 1 0 Disable internal dot clock for reduced power consumption. 0 1 1 1 Select CLK0 as clock source (for use with CLK0 latching of VGA port). See subsection 2.6.2, VGA Modes. 1 X X X Reserved x = do not care 2.4 PLL Clock Generators In addition to externally supplied clock sources, the TVP3026M has three on-chip, fully programmable, frequency-synthesis phase-locked loops (PLLs). The first PLL, pixel clock, is intended for pixel clock generation for frequencies up to the device limit. The second PLL, MCLK, is provided for general system clocking such as the system clock or memory clock, and the third PLL ,called the loop clock PLL, is useful for synchronizing pixel data and latch timing by compensating for system loop delay. The clock generators use a modified M over (N × 2P) scheme to enable a wide range of precise frequencies. (Appendix A provides a listing of all frequencies that can be synthesized and the register values for each.) The advanced PLLs utilize an internal loop filter to provide maximum noise immunity and minimum jitter. Except for the reference crystal or oscillator, no external components or adjustments are necessary. Each PLL can be independently enabled or disabled for maximum system flexibility. Figure 2–1 illustrates the TVP3026M PLL clocking scheme. The PLLs are programmed through a group of four registers in the TVP3026M indirect register map. The registers are listed in Table 2–7. 2–6 Table 2–7. PLL Top-Level Registers INDEX REGISTER 0x2C PLL address register (PAR) 0x2D Pixel clock PLL data register (PPD) 0x2E MCLK PLL data register (MPD) 0x2F Loop clock PLL data register (LPD) The PLL address register (PAR) points to the M-value, N-value, P-value, and status registers of each PLL. This register also allows read and write access and contains three 2-bit pointers, one for each PLL, according to the Table 2–8. Each pointer can be programmed independently. Table 2–8. PLL Address Register (Index: 0x2C, Access: R/W, Default: Uninitialized) PAR BITS POINTER 1–0 Pixel clock PLL data register pointer 3–2 MCLK PLL data register pointer 5–4 Loop clock PLL data register pointer Each PLL data register pointer directs its associated PLL to one of its four PLL registers according to Table 2–9. Table 2–9. PLL Data Register Pointer Format BIT 1 BIT 0 REGISTER 0 0 N-value register 0 1 M-value register 1 0 P-value register 1 1 Status register (read only) Once the PLL data register pointers are set, the selected register is accessed through the pixel clock PLL data register (index: 0x2D), MCLK PLL data register (index: 0x2E), or the loop clock PLL data register (index: 0x2F). The PLL data register pointer bits are independently autoincremented following a write cycle to the corresponding PLL data register. The current state of each pointer can be identified by reading the PLL address register (index: 0x2C). The PLL data register pointer bits do not autoincrement following a read cycle of the PLL data registers. The most efficient way to program the pixel clock PLL is to first write zeros to PLL address register bits PAR(1,0) followed by three consecutive writes to the pixel clock PLL data register to program the N-, M-, and P-value registers. Following the third write, the pixel clock PLL pointer points to the read-only status register. The status register can then be polled until the LOCK bit is set (the pointer does not autoincrement on reads). For test purposes, the pixel clock PLL can be output on PCLKOUT by setting the pixel clock PLL P-value register bit 6 to 1. 2–7 RCLK LCLK Loop Clock PLL CLK0–2/2 Pixel Clock PLL XTAL2 VCLK Divider VCLK Internal Dot Clock Crystal Amplifier PCLKOUT XTAL1 MCLK PLL MCLK Figure 2–1. TVP3026M Clocking Scheme 2.4.1 Pixel Clock PLL The pixel clock PLL can be used at frequencies up to the device limit. Appendix A provides optimal register values for all frequencies that can be synthesized using the common 14.31818-MHz reference. The following equations describe the voltage controlled oscillator frequency and the PLL output frequency for the pixel clock PLL as a function of the N, M, and P values and the reference frequency fREF. The frequency of the voltage controlled oscillator (VCO) is given by: f VCO +8 F REF 65 65 *M *N Provided: Minimum VCO Frequency (1) v FVCO v Maximum VCO Frequency Then the PLL output frequency is : F F VCO + PLL 2P (2) The N-, M-, and P-value registers can be programmed to any value within the following limits: v N(5–0) v 62 v M(5–0) v 62 v P(1, 0) v 3 40 1 0 The bit assignments of the N-value, M-value, P-value, and the status register for the pixel clock PLL are given in Table 2–10. The bits shown as set to 0 or 1 must be written with these fixed values. PCLKEN enables the pixel clock PLL output onto the PCLKOUT output terminal when set to 1. When PCLKEN is reset to 0, the PCLKOUT terminal is held at 0. PLLEN resets the PLL to 0 and enables the PLL to oscillate when set to 1. When PFORCE is set to 1, the pixel clock PLL uses its programmed N, M, and P registers and ignores PLLSEL1 and PLLSEL0. When LFORCE is set to 1, the loop clock PLL uses its programmed N, M, and P registers and ignores PLLSEL1 and PLLSEL0. The LOCK status bit indicates that the PLL has locked to the selected frequency when set to 1. The remaining status register bits are for test purposes. 2–8 Table 2–10. Pixel Clock PLL Registers† REGISTER BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 N value 1 1 N5 N4 N3 N2 N1 N0 M value 0 0 M5 M4 M3 M2 M1 M0 P value PLLEN PCLKEN 1 1 LFORCE PFORCE P1 P0 Status X LOCK X X X X X X BIT 0 † X = do not care 2.4.1.1 Pixel Clock PLL Frequency Selection The pixel clock PLL frequency can be selected using the PLL select inputs PLLSEL1 and PLLSEL0 as shown in Table 2–11. The first two selections are fixed frequency settings for standard VGA operation. Use of a standard 14.31818 MHz crystal is assumed. When PLLSEL1 is set to 1, the frequency specified by the pixel clock PLL N-, M-, and P-value registers is selected. When PLLSEL1 is set to 1 at power up or during a software reset, the pixel clock PLL N-, M-, and P-value registers default to settings for 25.057 MHz, but with the PLL disabled. Therefore, the system must reset PLLSEL1 and PLLSEL0 to 0 and X, respectively, when a software reset occurs or the pixel clock PLL and RCLK stops oscillating. The frequency select inputs also apply to the loop clock PLL. When a fixed frequency is selected PLLSEL1 and PLLSEL0 = 0x), the loop clock PLL passes the dot clock frequency to the RCLK multiplexer. Internal feedback is used, no external signal path from RCLK to LCLK is required. When PLLSEL1 is 1, the frequency specified by the loop clock PLL N-, M-, and P-value registers is selected. For VGA Mode 1, the pixel clock PLL is normally selected as the dot clock source (CSR = 0x05) and the RCLK terminal passes the loop clock PLL output (MCK5 = 1). Then, when PLLSEL1 and PLLSEL0 changes between a programmed frequency and a fixed frequency, the loop clock PLL automatically changes with it. The loop clock PLL does not require reprogramming. For VGA Mode 2, CLK0 should be selected as the dot clock source (CSR = 0x07) and the RCLK terminal should pass the pixel clock PLL output (MCK5 = 0). In this case, the loop clock PLL should be disabled (bit P7 = 0) since its output is not used. Table 2–11. Pixel Clock PLL Frequency Selection PLLSEL1 PLLSEL0† PIXEL CLOCK PLL FREQUENCY LOOP CLOCK PLL FREQUENCY 0 0 25.057 MHz Pass DOT CLOCK, internal feedback 0 1 28.636 MHz Pass DOT CLOCK, internal feedback 1 X Programmed by pixel clock PLL registers Programmed by loop clock PLL registers † X = do not care 2–9 2.4.2 Memory Clock PLL The memory clock (MCLK) PLL can be used at frequencies up to 100 MHz. Appendix A provides optimal register values for all frequencies that can be synthesized using the common 14.31818-MHz reference. The MCLK PLL maximum output frequency of 100 MHz should not be exceeded. The equations for the VCO frequency and for the PLL output frequency are the same as for the pixel clock PLL. f +8 VCO f 65 65 REF *M *N Provided: Minimum VCO Frequency (3) v FVCO v Maximum VCO Frequency Then the PLL output frequency is : f PLL + fVCO 2P (4) The N-, M-, and P-value registers can be programmed to any value within the following limits: v N(5–0) v 62 v M(5–0) v 62 v P(1, 0) v 3 40 1 0 The bit assignments of the N-, M-, P-value, and the status register for the MCLK PLL are given in Table 2–12. The bits shown as 0 or 1 must be written with these fixed values. PLLEN resets the PLL with 0 and enables the PLL to oscillate when set to 1. When set to 1, the LOCK status bit indicates that the PLL has locked to the selected frequency. The remaining status register bits are for test purposes. The MCLK PLL and loop clock PLL are further controlled by the MCLK/loop clock control register shown in Table 2–13. Table 2–12. MCLK PLL Registers† REGISTER BIT 7 BIT 6 N value 1 1 N5 N4 N3 N2 N1 N0 M value 0 0 M5 M4 M3 M2 M1 M0 P value PLLEN 0 1 1 0 0 P1 P0 Status X LOCK X X X X X X † X = do not care 2–10 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 Table 2–13. MCLK/Loop Clock Control Register (Index: 0x39 hex, Access: R/W, Default: 0x18) BIT NAME VALUES DESCRIPTION MKC7 0 Reserved MKC6, MKC5 00: Pixel clock PLL (default) 01: Loop clock PLL 10: Dot clock /N 11: Reserved MKC6 and MKC5 select the signal to output on the RCLK terminal. Pixel clock PLL is selected as default to support VGA mode 2. In VGA mode 2, the graphics accelerator receives RCLK and returns its VGA output clock to the CLK0 terminal along with synchronous VGA data. Select loop clock PLL for all modes using LCLK data latching. The dot clock /N option provides the output of the loop clock PLL N prescaler. This signal is a low pulse, one dot clock wide, with a repetition rate of FREF / (65–N). MKC4 0: Dot clock 1: MCLK PLL (default) MKC4 selects the signal to output on the MCLK terminal. MCLK PLL is selected as default. Select dot clock to ensure a stable output on MCLK while MCLK PLL frequency is reprogrammed. See subsection 2.4.2.1, Changing the MCLK Frequency. A change of this bit does not take effect until MKC3 bit transitions from 0 to 1. During this transistion, the MKC4 bit should not be changed. MKC3 0: 1: (default) Strobe for MCLK terminal output multiplexer control (MKC4). A 0 to 1 transition of this bit strobes in bit MKC4, causing bit MKC4 to take effect. While MKC3 is transitioning from 0 to 1, MKC4 should not be changed. 000: Divide by 2 (default) 001: Divide by 4 010: Divide by 6 011: Divide by 8 100: Divide by 10 101: Divide by 12 110: Divide by 14 111: Divide by 16 Loop clock PLL post scalar Q divider. This additional frequency division is applied after the 2P division of the loop clock PLL P-value register. For a binary value of Q in MKC2 – MKC0, the resulting frequency division is 2 × (Q+1). MKC2, MKC1, MKC0 After the device resets, the MCLK PLL outputs a 50.11-MHz clock frequency and the pixel clock PLL output depends on the PLLSEL1 and PLLSEL0 inputs according to Table 2–11. These frequencies assume a standard 14.31818-MHz crystal reference. The actual output frequencies are proportional to the reference frequency used. 2.4.2.1 Changing the MCLK Frequency The MCLK is normally used as the graphics controller system clock and memory clock. During reprogramming of the PLLs, a wide range of unpredictable frequencies are generated as the PLL transitions to the new programmed frequency. These transition effects can produce unwanted results in some systems. The TVP3026M provides a mechanism for smooth transitioning of the MCLK PLL. The following programming steps are recommended. 1. Disable the pixel clock PLL (PLLEN bit = 0). Program the pixel clock PLL N, M, and P registers (with PLLEN bit = 1) to the same frequency to which MCLK is to be changed. Poll the pixel clock PLL status until the LOCK bit is set to 1. 2. Select the pixel clock PLL as the dot clock source if it is not already selected. 3. Switch to output dot clock on the MCLK terminal by writing bits MKC4 and MKC3 to 0,0 followed by 0,1 in the MCLK/loop clock control register. 4. Disable the MCLK PLL (PLLEN bit = 0). program the MCLK PLL N, M, and P registers (with PLLEN bit = 1) for the new frequency. Poll the MCLK PLL status until the LOCK bit is set to 1. 5. Switch to output MCLK on the MCLK terminal by writing bits MKC4 MKC3 to 1 and 0 respectively, followed by 1 and 1 respectively in the MCLK/loop clock control register. 2–11 6. 2.4.3 Disable the pixel clock PLL (PLLEN bit = 0). Program the pixel clock PLL N, M, and P registers (with PLLEN bit = 1) for the original operating pixel frequency. Poll the pixel clock PLL status until the LOCK bit is set to 1. Loop Clock PLL Many of the current high performance graphics accelerators with built-in VGA support prefer to generate their own VRAM shift clock and pixel data latching clock (LCLK) as discussed in subsection 2.5.2, Frame-Buffer Timing Without Using SCLK. As stated before, the TVP3026M provides an RCLK timing reference output to be used by the graphics controller to generate these signals. A common industry problem exists, however, in that the delay through the loop (i.e., from RCLK through the controller to produce LCLK and pixel data) can be greater than the RCLK cycle time minus setup time. It then becomes very difficult to resynchronize the rising edges of the LCLK signal to the internal dot clock within the specified timing requirements. Variations in graphics accelerator propagation delays from device to device can cause severe production problems at the board level. The TVP3026M incorporates a unique loop clock PLL circuit to maintain a valid LCLK/dot clock phase relationship and ensure that proper LCLK and pixel data setup timing is met, regardless of the amount of system loop delay. After device reset, the loop clock PLL provides the dot clock frequency to the RCLK output multiplexer. However, the RCLK output multiplexer ignores the loop clock PLL output and instead passes the pixel clock PLL output to the RCLK terminal, which provides a reference clock to the VGA controller. In this configuration (VGA mode 2), the VGA controller returns VGA data and video controls along with a synchronous clock that becomes the TVP3026M dot clock source using CLK0. The PLLSEL1 and PLLSEL0 lines select either the 25.057 MHz or 28.636-MHz VGA frequencies. Figure 2–2 illustrates the pixel data latching structure and the operation of the loop clock PLL. The selected clock source generates the dot clock, which drives most of the digital logic of the TVP3026M. The dot clock is used as a reference frequency by the loop clock PLL and is subdivided as specified by the N-value register. The incoming LCLK is used as the other input of the PLL and is subdivided as specified by the M value register. The PLL generates RCLK with the proper frequency and phase shift to phase align the divided dot clock and divided LCLK. The pixel bus is latched on the rising edge of LCLK and then aligned with the internal dot clock to synchronize with internal logic. Input Data Latch Structure VRAM Graphics Accelerator P63 – P0 D Q D Q LCLK CLKx LCLK Dot Clock Generator Dot Clock TVP3026M Loop Clock PLL RCLK From Pixel Clock PLL Figure 2–2. Loop Clock PLL Operation The bit assignments of the N-value, M-value, P-value, and the status register for the loop clock PLL are shown in Table 2–14. The bits shown as 0 or set to 1 must be written with these fixed values. When cleared to 0, PLLEN disables the PLL and when set to 1, enables the PLL to oscillate. When reset to 1,the LOCK status bit indicates that the PLL has locked to the selected frequency. The remaining status register bits are for test purposes. 2–12 The N-value, M-value, and P-value registers can be programmed to any value within the following limits. v N(5–0) v 62 v M(5–0) v 62 v P(1, 0) v 3 1 1 0 LESEN enables the LCLK edge synchronizer function and should be set to 1 whenever a packed-24 mode is used. In the packed-24 modes, only one LCLK rising edge per pixel group is aligned with the internal dot clock. For example, in 8:3 packed-24 mode, only one of the three LCLKs is aligned to the internal dot clock. The LCLK edge synchronizer function allows selection of which LCLK edge in the sequence of pixel bus words is aligned with the internal dot clock. For each packed-24 mode there is an optimum setting for the LCLK edge synchonizer delay LES1 and LES0. See Table 2–15 and subsection 2.6.6, Packed-24 Mode, for more details. Table 2–14. Loop Clock PLL Registers† REGISTER BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0 N value 1 1 N5 N4 N3 N2 N1 N0 M value LES1 LES0 M5 M4 M3 M2 M1 M0 P value PLLEN 1 1 1 LESEN 0 P1 P0 Status X LOCK X X X X X X † X = do not care 2.4.3.1 Programming for All Modes Except Packed-24 For all modes except packed-24, programming of the loop clock PLL registers depends on the system configuration, pixel rate, color depth, and pixel bus width. In addition, the internal VCO must be within its operating range of 110 MHz to 220 MHz for the required RCLK output frequency. To determine the proper M, N, P, and Q register values, one should know the following: • • • • Dot clock frequency (MHz) (fD) – pixel rate Bits/pixel (B) – bits/pixel including overlay fields Pixel bus width (W) – total pixel bus width used for this mode External division factor (K) – external frequency division between RCLK output and LCLK input The dot clock frequency can either be generated by the on-chip pixel clock PLL or by an external clock source. The following two parameters can be easily calculated from the above parameters. • • LCLK frequency (MHz) (fL) – frequency at which the pixel bus is loaded by the TVP3026M RCLK frequency (MHz) (fR) – frequency at RCLK output terminal of TVP3026M The LCLK frequency is given by: f L + fD (5) B W The RCLK frequency is fL times the external divide factor. When no external divide factor, K = 1. f R +K f L +K f D B W (6) The N and M values are set as follows: + 65 * 4 M + 61 N W B The P and Q frequency dividers must be programmed so that the VCO is within its operating range of 110 MHz – 220 MHz. The VCO frequency is post-scaled by the P-divider followed by the Q-divider. The 2–13 P-divider register (P) can take on values of 0, 1, 2, or 3, which correspond to division factors of 1, 2, 4, or 8. The Q-divider register (Q) is stored in bits 2 – 0 of the MCLK/loop clock control register (index: 0x39) and can take on values of 0, 1, 2, . . ., 7 which correspond to division factors of 2, 4, 6, . . ., 16. The total post-scalar frequency division factor is: Z + 2 P) 1 ) 1) + fVCO4 (Q (65 fD * N) (7) K Next, set fVCO to the lower limit of 110 MHz and solve for Z: Z + 27.5 f * N) (65 K D (8) Finally, determine the P and Q values: v 16 then P + TRUNC (log Z), Q + 0 If Z u 16 then P + 3, Q + INT Z * 16 ) 1 16 If Z 2 ǒ Ǔ Set bits 7 and 6 of the N-value register to 1,1 (default). Set LES1 and LES0 in the M-value register (bits 7,6) to 0,0 (default). Set bits 7 – 2 of the P-value register to 1111 00. This enables the PLL to oscillate and disables the LCLK edge synchronizer function, which is only used for packed-24 modes. Reset the PLL bit 7 of the P-value register to 0. 2.4.3.2 Programming for Packed-24 Modes For packed-24 modes, the loop clock PLL is programmed according to Table 2–15. The LCLK edge synchronizer delay (M-value register bits 7 and 6) depends on whether the graphics accelerator is driving the VRAM shift clock (true color control register bit TCR5 is cleared to 0) or the TVP3026M is driving the VRAM shift clock (TCR5 = 1). See subsection 2.6.6, Packed-24 Mode, for a typical setup procedure for packed-24 modes. As shown in Table 2–15, a different setting is required for the M-value register in the 4:3 multiplex mode depending on the silicon revision. Software can determine the silicon revision by reading the silicon revision register at index 0x01 (a value ≤ 0x20 indicates revision A and ≥ 0x21 indicates revision B). Table 2–15. Loop Clock PLL Settings for Packed-24 Mode PACKED-24 MODE BIT TCR5 (Index 0x18) N-VALUE REGISTER M-VALUE REGISTER TVP3026MA 4:3 0 0xFD 0×BE 0x3E 8:3 0 0×F9 0×BE 0×BE 5:4 0 0×FC 0×3D 0×3D 5:2 0 0×FC 0×7F 0×7F 4:3 1 0×FD 0×3E 0×BE 8:3 1 0×F9 0×3E 0×3E 5:4 1 0×FC 0×BD 0×BD 5:2 1 0×FC 0×FF 0×FF 2–14 M-VALUE REGISTER TVP3026MB The latch-control register definition is listed in Table 2–16. Table 2–16. Latch-Control Register (Index: 0x0F, Access: R/W, Default: 0x06) BIT NAME VALUES LCR7, LCR6 LCR5–LCR0 DESCRIPTION 00 Reserved 0×06 All 1:1, 4:1, 8:1, and 16:1 multiplex modes. 0×07 All 2:1 multiplex modes. 8:3 packed-24 or 4:3 packed-24 (revision A) 0×08 4:3 packed-24 (revision B) 0×20 5:2 packed-24 0×1F 5:4 packed-24, ×1 horizontal zoom 0×1E 5:4 packed-24, ×2 horizontal zoom 0×1C 5:4 packed-24, ×4 horizontal zoom 0×18 5:4 packed-24, ×8 horizontal zoom The P and Q frequency dividers must be programmed so that the VCO is within its operating range of 110 MHz to 220 MHz. The VCO frequency is post scaled by the P divider followed by the Q divider. The P-divider register (P) can take on values of 0, 1, 2, or 3, which correspond to division factors of 1, 2, 4, or 8. The Q-divider register (Q) is stored in bits 2 – 0 of the MCLK/loop clock control register (index: 0x39) and can take on values of 0, 1, 2, . . ., 7, which correspond to division factors of 2, 4, 6, . . ., 16. The total post-scalar frequency division factor is: Z + 2 P) 1 (Q ) 1) + f fVCOK D 65 65 *N *M (9) Next, set FVCO to the lower limit of 110 MHz and solve for Z: Z + f 110K D 65 65 *N *M (10) v 16 then P + TRUNC ǒlog2ZǓ, Q + 0 If Z u 16 then P + 3, Q + INT Z * 16 ) 1 16 Finally, determine the P and Q values: ǒ Ǔ If Z Set bits 7 – 2 of the P-value register to 1111 10. This enables the PLL to oscillate and enables the LCLK edge synchronizer function. To reset the PLL, clear bit 7 of the P-value register to 0. 2.4.3.3 Typical Device Connection After reset, the TVP3026M defaults to VGA mode 2 (VGA pass through mode, see subsection 2.6.2, VGA Modes) as do other devices in the TVP302x family. The RCLK terminal outputs the pixel clock PLL frequency, which is selected by PLLSEL1 and PLLSEL0. CLK0 is selected as the clock source and the VGA port is selected as well as VGABL, VGAHS, and VGAVS; all these are latched with CLK0. The MCLK PLL outputs the default 50.11-MHz clock frequency. Figure 2–3 shows the typical device connection for a system with VRAM clocked by the graphics accelerator. After power up, the pixel clock PLL is output on RCLK and this clock drives the graphics accelerator VGA controller and video timing logic. The accelerator output clock is output synchronous to the VGA data and is input to the TVP3026M CLK0 input as the dot clock source. 2–15 VRAM P63 – P0 VGA7 – VGA0 Graphics Accelerator CLK0 TVP3026M MCLK RCLK LCLK Figure 2–3. Typical Configuration – VRAM Clocked by Accelerator Figure 2–4 shows the typical device connection for a system with VRAM clocked by the TVP3026M. In this case, the RCLK is tied back to the LCLK and this same clock drives the graphics-accelerator VGA controller and video timing logic. If necessary, the RCLK and SCLK signals can be externally buffered within the timing constraints (RCLK to LCLK delay) of the TVP3026M. The pixel clock PLL is output on RCLK after power up. VRAM P63 – P0 Graphics Accelerator SCLK VGA7 – VGA0 CLK0 TVP3026M MCLK RCLK LCLK Figure 2–4. Typical Configuration – VRAM Clocked by TVP3026M For high resolution modes in both configurations, the pixel data is received from VRAM and the loop clock PLL adjusts RCLK so that the received LCLK is aligned with the internal dot clock. The loop clock PLL must be selected for output on the RCLK terminal. The pixel clock PLL (or an external clock source) should be selected as the dot clock source. 2.5 Frame-Buffer Interface The TVP3026M provides two output clock signals and one input clock signal for controlling the frame-buffer interface — SCLK, RCLK, and LCLK. The VCLK output is a division of the internal dot clock and has no ensured phase relationship with RCLK. Therefore, VCLK should not be used for frame-buffer interface timing (pixel data and video controls). VCLK can drive general-purpose external logic. Clocking of the frame-buffer interface is discussed in subsection 2.5.1, Frame-Buffer Clocking. The 64-bit pixel bus allows many operational display modes as defined in Section 2.6, Multiplexing Modes of Operation, and Table 2–17. The pixel latching sequence is initiated by a rising edge on LCLK. For those multiplexed modes in which multiple pixels are latched on one LCLK rising edge, the pixel clock shifts the pixels out, starting with the pixels that reside on the low numbered pixel port terminals. For example, in an 8-bit-per-pixel pseudo-color mode with an 8:1 multiplex ratio, the pixel display sequence is P7 – P0, P15 – P8, P23 – P16, P31 – P24, P39 – P32, P47 – P40, P55 – P48, and P63 – P56. The TVP3026M frame-buffer interface also supports little- and big-endian data formats on the pixel bus. This can be controlled by general-control register (GCR) bit 3. See subsection 2.6.1, Little-Endian and Big-Endian Data Format, for details of operation. 2–16 2.5.1 Frame-Buffer Clocking The TVP3026M provides SCLK and RCLK signals, allowing for flexibility in the frame-buffer interface timing. For the pixel port (P63 – P0), data is always latched on the rising edge of LCLK. If TCR5 in the true-color control register is set to 1, use of SCLK is assumed and internal pipeline delay is added to Sync and Blank to account for the delay in the generation of SCLK. When TCR5 bit clears to 0 (default), then this pipeline delay is not added, and SCLK should not be used. 2.5.2 Frame-Buffer Timing Without Using SCLK For those systems where the color palette data latch clock (LCLK) and VRAM shift clock are generated by the graphics controller, the TVP3026M SCLK output is not utilized. In these systems, RCLK should be connected to the graphics controller to provide the timing reference for pixel data and video control signals. LCLK should be a delayed version of RCLK such that the pixel data and video control signals meet the setup and hold requirements relative to the rising edge of LCLK. LCLK can be a frequency-divided and delayed version of RCLK as long as linear phase changes in RCLK produce linear phase changes in LCLK (and the pixel data). Bit TCR5 in the true-color control register must be reset to 0 when SCLK is not being used, so that additional pipeline delay in the video controls is not inserted. The first LCLK rising edge out of blank latches the first pixel group. The last LCLK rising edge during blanking latches the last pixel group. Figure 2–5 shows typical frame-buffer timing for this case. In Figure 2–5, the delay from RCLK to SYSBL and P63 – P0 depends on the total system loop delay through the graphics accelerator and the VRAM. This delay can be as long as is required. It need not be less than the RCLK cycle time. RCLK SYSBL P63 – P0 Last Group of Pixel Data Latch Last Group of Pixel Data and SYSBL High 1st Group 2nd Group 3rd Group 4th Group Latch First Group of Pixel Data and SYSBL High LCLK Figure 2–5. Frame-Buffer Timing Without Using SCLK 2.5.3 Frame-Buffer Timing Using SCLK The SCLK signal, which is generated in the TVP3026M, can be directly connected to VRAM, providing the shift clock-to-clock data from VRAM into the TVP3026M pixel input port. The RCLK signal must be used as the timing reference to clock pixel data into this port. Therefore, when SCLK is used, RCLK is typically tied directly back to LCLK, or LCLK can be a delayed version (buffered) of RCLK within the timing requirements of the TVP3026M. Operation using the SCLK timing mode must limit the RCLK-to-LCLK loop delay to the specified maximum delay. This ensures that the relationship between the end of blanking (SYSBL active) and the first SCLK pulse is not disturbed. When SCLK is not used, the RCLK-to-SCLK delay can be as long as is needed by system logic. Figure 2–6 illustrates the frame-buffer timing using SCLK. 2–17 SYSBL Latch SYSBL Falling Edge Latch First Group of Pixel Data Latch Last Group of Pixel Data Latch SYSBL Rising Edge LCLK = RCLK Latch Last Group of Pixel Data P63 – P0 1st 2nd 3rd Group Group Group Last Group of Pixel Data Last Group SCLK Figure 2–6. Frame-Buffer Timing Using SCLK 2.5.4 Split Shift-Register-Transfer Support When SCLK is used, the TVP3026M supports the special clocking requirements of some VRAM devices. For example, some VRAM devices require the first SCLK pulse to occur during blanking (SYSBL active) between the split shift-register transfer (SSRT) and the full shift-register transfer VRAM operations. When SCLK mode is enabled (TCR5 = 1) and SYSBL is active, a high pulse on the SFLAG input is passed directly to the SCLK output. When the high pulse on SFLAG is detected at any time during blanking, the first SCLK pulse normally generated after coming out of blanking is suppressed. This is because the SSRT operation leaves the first pixel group of the new line on the pixel bus as opposed to the last pixel group of the previous line. Figure 2–7 shows the SCLK timing mode with the first SCLK pulse relocated. When this function is not used, the SFLAG terminal should be connected to GND. SYSBL Latch First Group of Pixel Data LCLK = RCLK Latch Last Group of Pixel Data P63 – P0 Last Group 2nd 3rd 4th Group Group Group 1st Group SCLK Between Split Shift Register and Full Shift Register Transfer SCLK SFLAG Figure 2–7. Frame-Buffer Timing Using SCLK (With First SCLK Pulse Relocated) 2–18 2.6 Multiplexing Modes of Operation The TVP3026M offers a highly versatile multiplexing scheme as illustrated in Tables 2–17 through 2–21. The multiplexing modes allow the pixel bus (P63 – P0) to be programmed to 4, 8, 16, 24, or 32 bits/pixel with pixel bus widths ranging from 8 to 64 bits. The use of on-chip multiplexing allows graphics systems to be designed that can support multiple pixel depths and resolutions with no hardware modification. The TVP3026M can also be configured for pseudo-color or true-color operation. Multiplexing of the pixel bus is controlled by and programmed through the multiplex-control register and the true-color control register. Table 2–17 details the register settings for each mode of operation. 2.6.1 Little-Endian and Big-Endian Data Format The TVP3026M pixel bus supports both little- and big-endian data formats for all pseudo-color, direct-color, and true-color modes of operation. The data-format select is controlled by GCR3 of the general-control register (see subsection 2.15.1, General Control Registers). When GCR3 is reset 0 (default), the format is set to little endian. When GCR3 is set to 1, the format is set to big endian. In a big-endian design, the external VRAM data bus bits must be connected in reverse order to the TVP3026M pixel bus; i.e., D63 connected to P0, D0 connected to P63, etc. This configuration connects the pixels to the P63 – P0 bus in the correct order with the first pixel to be displayed on the LSBs of the P63 – P0 bus. However, the individual bits within each pixel are now connected in bit-reversed order. When big-endian format is selected, this bit-reversed order of each pixel is compensated for internally. The bit-reversal of pixels takes place in groups of 4, 8, 16, or 32 bits depending on the multiplexing mode selected. This scheme enables big-endian systems to operate in all of the available color-depths excluding the packed-24 modes. 2.6.2 VGA Modes The VGA modes emulate the VGA modes of most personal computers. The TVP3026M has a single configuration called VGA mode 2 to support VGA modes. VGA mode 1, which was formerly specified to utilize the loop clock PLL with the VGA pixel port, is not recommended. VGA mode 2 supports most graphics accelerators with integrated VGA and also supports add-on graphics boards that receive the VGA pseudo-color data from a separate VGA controller using a feature connector. VGA mode 2 is active at power up and after reset and is fully functional without any software intervention. VGA data and video controls are received with a synchronous VGA clock. The feature connector configuration is emulated by many graphics accelerators with integrated VGA. In this configuration, the pixel clock PLL is output on the RCLK terminal (bit MKC5 = 0) and sent to the accelerator clock input. The clock output from the accelerator is connected to the CLK0 input of the TVP3026M. The loop clock PLL is not used. The accelerator outputs the VGA video controls and VGA7 – VGA0 data synchronously with CLK0 and, thereby, emulates the feature connector configuration. In VGA mode 2, the TVP3026M derives the dot clock from CLK0 and latches the VGA7 – VGA0 data and VGA video controls using CLK0. To program for VGA mode 2, bit MCR7 in the multiplex-control register must be set to 1 to select VGA mode, and bit MCR6 must be reset to 0 to latch VGA7 – VGA0 and the VGA video controls with CLK0. The clock selection register bits CSR3 – CSR0 must be set as 0111 for CLK0 data latching. 2.6.3 Pseudo-Color Mode In pseudo-color mode (sometimes called color indexing), the pixel bus inputs address the palette RAM. The pallete RAM functions as a color look-up table. The data in each RAM location is comprised of 24 bits, 8 bits for each of the red, green, and blue color DACs. The pseudo-color mode is further grouped into 3 submodes, depending on the data bits per pixel. In each submode, a pixel bus width of 8, 16, 32 or 64 bits can be used. Data should always be presented on the least significant bits of the pixel bus. For example, when a 16-bit pixel bus width is used, the pixel data must be presented on P15 – P0. See Tables 2–17 and 2–18 for more details. 2–19 Submode 1 uses four bit-planes to address the color palette. The four bits are fed into the low-order address bits of the palette with the four high-order address bits being defined by the palette page register. This mode provides 16 pages of 16 colors and can be used at multiplex ratios of 2:1 to 16:1. Submode 2 uses four bit-planes to address the color palette. Each byte of the pixel bus contains two pixels, which are in reverse order (nibble swapped). The first pixel is latched in on the upper four bits and the second pixel is latched in on the lower four bits of each byte. The 4-bit pixels are fed into the low-order address bits of the palette with the four high-order address bits being defined by the palette page register. This mode provides 16 pages of 16 colors and can be used at multiplex ratios from 2:1 to 16:1. Submode 3 uses eight bit-planes to address the color palette. Since all eight bits of palette address are specified from the pixel port, the palette page register is not used. This mode provides 256 colors and can be used at mulitplex ratios from 1:1 to 8:1. NOTE The port select and color-key switching functions must be disabled and set for palette graphics when in the pseudo-color mode. This is the default condition at reset. See Section 2.8, Port Select and Color-Key Switching. 2.6.4 Direct-Color Mode In direct-color mode, 24, 16, 15, or 12 bits of data can be transferred directly to the RGB DACs but with the same amount of pipeline delay as the overlay data and the control signals. Depending on which direct-color mode is selected, overlay is provided by utilizing the remaining bits of the pixel bus to address the palette RAM. This results in a 24-bit RAM output that is then used as overlay information to the DACs. The overlay capability is designed to work with the port select and color-key switching functions to provide overlay in specific windows or on a pixel-by-pixel basis on the direct-color display as discussed in Section 2.8, Port Select and Color-Key Switching. See Table 2–17 for more details on selecting the direct-color modes. See NOTES in the following section. Submodes 1 and 2 are packed-24 modes. See subsection 2.6.6, Packed-24 Modes, for a description of the packed-24 modes. Submodes 3 and 4 are the 32-bit direct-color modes that use eight bits to represent each color and eight bits for overlay. The 64-bit-wide pixel bus of the TVP3026M allows multiplex ratios of 1:1 or 2:1. Submode 3 is organized as overlay, red, green, and blue, while submode 4 is organized as blue, green, red, and overlay. Submode 5 is the XGA-compatible 5 – 6 – 5 (16-bit-color) mode supporting five bits of red, six bits of green, and five bits of blue data. The TVP3026M supports multiplex ratios for this mode of 1:1, 2:1, and 4:1. Overlay is not available in this mode. Submode 6 is the TARGA-compatible 1 – 5 – 5 – 5 mode that uses 15 bits for color and 1 bit for overlay. It allows 5 bits for each of red, green, and blue data and one bit for overlay. The TVP3026M supports 1:1, 2:1, and 4:1 multiplex ratios in this mode. Submode 7 is the 6 – 6 – 4 configuration. It provides six bits of red, six bits of green, and four bits of blue. The TVP3026M supports 1:1, 2:1, and 4:1 multiplexing in this mode. Overlay is not available in this mode. Submode 8 is the 4 – 4 – 4 – 4 configuration. It provides 12 bits of direct color and 4 bits of overlay. It allows four bits for each of red, green, and blue data. The TVP3026M supports 1:1, 2:1, and 4:1 multiplexing ratios in this mode. 2–20 2.6.5 True-Color Mode In true-color mode, the palette RAM is partitioned into three independent 256-word x 8-bit memory blocks that can be individually addressed by each color field of the true-color data. The independent memory blocks provide data for a single DAC output. With this architecture, gamma correction for each color is possible. Since the palette is used in true-color mode, there is no memory space to be used for the overlay function. All of the true-color submodes are the same as direct color except that overlay is not available. See Table 2–17 for more details on mode selection, and see the following NOTES. NOTE: Since less than 8 bits are defined for each color in the various 12- or 16-bit direct-color or true-color modes, the data bits for the individual colors are internally shifted to the MSB locations, and the remaining LSB locations for each color are set to 0 before 8-bit data is sent to the DACs. Since the overlay information goes through the pseudo-color data path, it is subject to read masking and the palette page register. This is especially important for those direct-color modes that have less than eight bits of overlay information. The overlay information in these modes justifies to the LSB positions, and the remaining MSB positions are filled with the corresponding palette page data before addressing the palette RAM. In order to display true color (gamma corrected through the palette), the port select function or the color-key switching function must be set for palette graphics. For direct color, both functions must be set for direct color. When in the 24-bit direct-color or true-color modes, the data input works only in the 8-bit mode. In other words, when only six bits are used, the two LSB inputs for each color need to be tied to GND. However, the palette, which is used by the overlay input, is still governed by the 8/6 function, and the output multiplexer selects 8 bits or 6 bits of data accordingly. The 8/6 function is also valid in the other 16-bit modes. The default condition, after reset, is for the port select function to be disabled and ready to select palette graphics (MSC4 = MSC5 = 0) The default condition for the color key function is to be disabled and ready to select direct-color graphics (CKC4 = CKC3 = CKC2 = CKC1 = CKC0 = 0). The overall effect is to default to palette graphics since the two are combined by a logical OR function. Also since MCR7 = 1 at reset, the VGA port is selected. 2.6.6 Packed-24 Mode The packed-24 mode provides for more efficient use of the frame buffer. For example, a 1280 x 1024 x 24 bpp display can be implemented using 4 Mbytes of VRAM. Without packed-24, this can require 6 or 8 Mbytes of VRAM. Packed-24 modes can be used with direct-color (color palette bypass) or with true-color (gamma correction). The color depth is 24 bit/pixel and data can be arranged as R-G-B or B-G-R. Overlay fields are not available. Either a 64-bit pixel bus or a 32-bit pixel bus can be used. The 64-bit pixel bus supports 8:3 packed-24 (8 pixels per 3 LCLKs) and 5:2 packed-24 (5 pixels per 2 LCLKs). The 32-bit pixel bus supports 4:3 packed-24 (4 pixels per 3 LCLKs) and 5:4 packed-24 (5 pixels per 4 LCLKs). See Tables 2–19 and 2–20 for data formats. The loop clock PLL must be set up to generate RCLK at the proper frequency, which can be 3/8, 2/5, 3/4, or 4/5 of the dot clock frequency for the multiplexing ratios given above. Since the RCLK is PLL-synthesized, a 50% duty cycle RCLK is generated. As compared to other packed-pixel palette DACs, which generate the RCLK waveform using a digital state machine, the TVP3026M provides a longer RCLK period for a given dot clock frequency. This means a higher screen refresh rate is possible using VRAM of the same speed grade. For example, for the 8:3 packed-24 mode, the RCLK PLL must be set to output a clock that is 3/8 the frequency of the pixel clock. For a 1280 x 1024 display at 135 MHz pixel rate, a 50.6-MHz VRAM serial clock rate can be used. See subsection 2.4.3, Loop Clock PLL, for a description of the loop clock PLL. 2–21 Packed-24 operation using the SCLK timing mode must limit the RCLK-to-LCLK loop delay to the specified maximum delay. The following constraints apply to packed-24 mode: • The number of LCLKs (pixel bus loads) during the active portion of the horizontal line must be a multiple of the number of LCLKs for each pixel group, i.e., a multiple of 3 for 8:3 packed-24 mode. • The number of LCLKs during the total horizontal line (active + blanked) must be a multiple of the number of LCLKs for each pixel group. • The first active pixel bus load (LCLK rising edge) of the horizontal line must load the first word of the M-word sequence comprising the pixel group. For designs not using SCLK (bit TCR5 = 0), the first active pixel bus load coincides with the first time SYSBL is sampled high. For designs using SCLK (bit TCR5 = 1), the first active pixel bus load occurs two LCLKs after the first time SYSBL is sampled high. See Figures 2–5 and 2–6. Synchronization of the packed-24 operation is performed by the loop clock PLL. Consider an N:M packed-24 mode that packs N pixels into M pixel bus words. Internally, the TVP3026M must run through a sequence of N dot clocks for each pixel group. The loop clock PLL supplies a clock (RCLK) that is M/N times the dot clock frequency. The graphics accelerator uses RCLK to generate SYSBL. Initially, SYSBL could change on any of the M LCLKs of the sequence. Once SYSBL is sampled, the TVP3026M declares the proper LCLK as the first in the M-word sequence. However, the relationship between LCLK and the internal dot clock has not been established. Only one LCLK rising edge in the M-word pixel group is aligned with the internal dot clock, but which one of the M LCLKs is aligned has not been specified. This selection is important for operation of the unpacking logic and is programmable using the LCLK-edge synchronizer delay. The LCLK edge synchronizer function allows selection of whichever LCLK edge of the pixel group is aligned with the internal dot clock. For each packed-24 mode, there is an optimum setting for LES1 and LES0 (see Tables 2–14 and 2–15). The following steps outline a typical setup procedure for packed-24 mode: 2–22 1. Program the pixel clock PLL for the desired dot clock frequency and poll status until the frequency is locked. 2. Select the pixel clock PLL as clock source in clock selection register. 3. Program the true-color control register and the multiplex-control register as given in Table 2–17. 4. Download palette RAM when gamma correction is being used (true-color mode). 5. Program the latch control register as given in Table 2–27. 6. Set port select and color-key switching functions appropriately. For the true-color mode, select the palette RAM. This is the power-up default. For direct-color mode, select palette bypass. From defaults, this can be done by setting bit MSC5 = 1 in the miscellaneous control register. 7. Select the loop clock PLL for output on the RCLK terminal by setting MCLK/loop clock control register bit MKC5 to 1. 8. Program the loop clock PLL as described in subsection 2.4.3.2, Programming for Packed-24 Modes, and poll status until locked. 2.6.7 Multiplex Control Registers The pixel port multiplexer is controlled by two 8-bit registers in the indirect register map (see Table 2–2). The various multiplexing modes can be selected according to Table 2–17. NOTE: For all modes utilizing VGA7–VGA0, MCR6 should be set to 0. When MCR6 is reset to 0, VGABL, VGAVS, and VGAHS are used and these video controls and VGA7–VGA0 are latched by CLK0. This is referred to as VGA mode 2. VGA mode 2 supports most graphics accelerators with integrated VGA and also supports add-on graphics boards that receive the VGA pseudo-color data from a separate VGA controller using a feature connector. VGA mode 2 is active at power up and after reset, and is fully functional without any software intervention. VGA data and video controls are received with a synchronous VGA clock. For all modes, true-color control register bit TCR5 selects one of two timing modes for the blanking pipelining and pixel bus timing. See Figures 2–5 and 2–6. When bit TCR5 is set to 0 (default) it is assumed that the VRAM shift clock is sourced by the graphics accelerator, and that SCLK from the TVP3026M is not being used. In this case, the first sample of blanking (SYSBL or VGABL) inactive and the first pixel group latched into P63–P0 are assumed to coincide on the same rising edge of LCLK. When bit TCR5 is set to 1, it is assumed that SCLK is used as the VRAM shift clock. In this case, the TVP3026M must first sample blanking in order to start toggling SCLK and then latch the first pixel group into P63 – P0. Therefore, the TVP3026M assumes there is a 2-LCLK delay between the first sample of blanking inactive and the latching of the first pixel group by LCLK. In this case, the TVP3026M inserts additional pipeline delays to align the internal blanking signal with the pixel data at the DACs. It is recommended that all unused input terminals be connected to ground to conserve power. 2–23 Table 2–17. Multiplex Mode and Bus Width Selection MODE SUBMODE VGA 1 4 Bit 4-Bit, Normal Pseudo Color 2 4-Bit, 4 Bit, Nibble Swapped Swa ed 3 8-Bit 1 Packed-24 R-G-B 8–8–8 Direct Color 2 Packed-24 B-G-R 8–8–8 TRUECOLORCONTROL REGISTER (INDEX 0x18) MULTIPLEXCONTROL REGISTER (INDEX 0x19) DATA BITS PER PIXEL (see Note 3) PIXEL BUS WIDTH 0x80 0x98 8 8 0x80 0x41 4 8 0x80 0x42 4 0x80 0x43 4 0x80 0x44 4 0x80 0x61 0x80 0x62 0x80 MULTIPLEX RATIO (see Note 4) OVERLAY BITS PER PIXEL TABLE REFERENCE (see Note 5) 1 NA v1 2 NA s1 16 4 NA s2 32 8 NA s3 64 16 NA s4 4 8 2 NA s5 4 16 4 NA s6 0x63 4 32 8 NA s7 0x80 0x64 4 64 16 NA s8 0x80 0x49 8 8 1 NA s9 0x80 0x4A 8 16 2 NA s10 0x80 0x4B 8 32 4 NA s11 0x80 0x4C 8 64 8 NA s12 0x16 0x5B 24 32 4:3 NA d1 0x16 0x5C 24 64 8:3 NA d2 0x1E 0x5B 24 32 5:4 NA d3 0x1E 0x5C 24 64 5:2 NA d4 0x17 0x5B 24 32 4:3 NA d5 0x17 0x5C 24 64 8:3 NA d6 0x1F 0x5B 24 32 5:4 NA d7 0x1F 0x5C 24 64 5:2 NA d8 3 32-Bit 32 Bit O-R-G-B 0x06 0x5B 24 32 1 8 d9 0x06 0x5C 24 64 2 8 d10 4 32-bit 32 bit B-G-R-O 0x07 0x5B 24 32 1 8 d11 0x07 0x5C 24 64 2 8 d12 NOTES: 3. Data bits per pixel is the number of bits of pixel information used as color data for each displayed pixel, often referred to as the number of bit-planes. 4. Multiplex ratio indicates the number of pixels per bus load or the number of pixels associated with each LCLK (load clock) pulse. For example, with a 64-bit pixel bus width and 8 bit-planes, each bus load is comprised of 8 pixels. The RCLK frequency must be chosen as a function of the multiplex mode selected. The RCLK frequency is not automatically set by mode selection; it must be set by programming the loop clock PLL registers. 5. This column is a reference to Tables 2–18 through 2–21, where the actual manipulation of pixel information and pixel latching sequences are illustrated for each of the multiplexing modes. For the pseudo-color pixel latching sequence (V1 and S1 through S12) refer to Table 2–18. For the packed-24 mode pixel latching sequence associated with the direct-color and true-color modes, refer to Table 2–19. For the direct-color mode pixel latching sequence, refer to Table 2–20 for little-endian format and to Table 2–21 for big-endian format. 2–24 Table 2–17. Multiplex Mode and Bus Width Selection (Continued) MODE Direct Color TRUECOLORCONTROL REGISTER (INDEX 0x18) MULTIPLEXCONTROL REGISTER (INDEX 0x19) DATA BITS PER PIXEL (see Note 3) PIXEL BUS WIDTH 5 16-bit 16 bit XGA R-G-B 5– 6 – 5 0x05 0x52 16 16 0x05 0x53 16 32 0x05 0x54 16 64 6 16-bit TARGA ORGB O-R-G-B 1–5– 5– 5 0x04 0x52 15 16 0x04 0x53 15 0x04 0x54 7 16 bit 16-bit R-G-B 6–6–4 0x03 8 16 bit 16-bit R-G-B-O 4–4–4–4 SUBMODE 1 Packed-24 R-G-B 8–8–8 8 8 8 T True Color MULTIPLEX RATIO (see Note 4) OVERLAY BITS PER PIXEL TABLE REFERENCE (see Note 5) 1 NA d13 2 NA d14 4 NA d15 1 1 d16 32 2 1 d17 15 64 4 1 d18 0x52 16 16 1 NA d19 0x03 0x53 16 32 2 NA d20 0x03 0x54 16 64 4 NA d21 0x01 0x52 12 16 1 4 d22 0x01 0x53 12 32 2 4 d23 0x01 0x54 12 64 4 4 d24 0x56 0x5B 24 32 4:3 NA d1 0x56 0x5C 24 64 8:3 NA d2 0x5E 0x5B 24 32 5:4 NA d3 0x5E 0x5C 24 64 5:2 NA d4 0x57 0x5B 24 32 4:3 NA d5 0x57 0x5C 24 64 8:3 NA d6 0x5F 0x5B 24 32 5:4 NA d7 0x5F 0x5C 24 64 5:2 NA d8 3 32 Bit 32-Bit X-R-G-B 0x46 0x5B 24 32 1 NA d9 0x46 0x5C 24 64 2 NA d10 4 32-bit B-G-R-X 0x47 0x5B 24 32 1 NA d11 0x47 0x5C 24 64 2 NA d12 2 Packed-24 B-G-R 8–8–8 8 8 8 NOTES: 3. Data bits per pixel is the number of bits of pixel information used as color data for each displayed pixel, often referred to as the number of bit-planes. 4. Multiplex ratio indicates the number of pixels per bus load or the number of pixels associated with each LCLK (load clock) pulse. For example, with a 64-bit pixel bus width and 8 bit-planes, each bus load is comprised of 8 pixels. The RCLK frequency must be chosen as a function of the multiplex mode selected. The RCLK frequency is not automatically set by mode selection; it must be set by programming the loop clock PLL registers. 5. This column is a reference to Tables 2–18 through 2–21, where the actual manipulation of pixel information and pixel latching sequences are illustrated for each of the multiplexing modes. For the pseudo-color pixel latching sequence (V1 and S1 through S12) refer to Table 2–18. For the packed-24 mode pixel latching sequence associated with the direct-color and true-color modes, refer to Table 2–19. For the direct-color mode pixel latching sequence, refer to Table 2–20 for little-endian format and to Table 2–21 for big-endian format. 2–25 Table 2–17. Multiplex Mode and Bus Width Selection (Continued) MODE TrueColor TRUECOLORCONTROL REGISTER (INDEX 0x18) MULTIPLEXCONTROL REGISTER (INDEX 0x19) DATA BITS PER PIXEL (see Note 3) PIXEL BUS WIDTH MULTIPLEX RATIO (see Note 4) OVERLAY BITS PER PIXEL TABLE REFERENCE (see Note 5) 5 16-bit 16 bit XGA R-G-B 5–6–5 0x45 0x52 16 16 1 NA d13 0x45 0x53 16 32 2 NA d14 0x45 0x54 16 64 4 NA d15 6 16-bit TARGA XRGB X-R-G-B 1–5 – 5– 5 0x44 0x52 15 16 1 NA d16 0x44 0x53 15 32 2 NA d17 0x44 0x54 15 64 4 NA d18 7 16-bit 16 bit R-G-B 6–6–4 0x43 0x52 16 16 1 NA d19 0x43 0x53 16 32 2 NA d20 0x43 0x54 16 64 4 NA d21 8 16-bit 16 bit R-G-B-X 4–4–4–4 0x41 0x52 12 16 1 NA d22 0x41 0x53 12 32 2 NA d23 0x41 0x54 12 64 4 NA d24 SUBMODE NOTES: 3. Data bits per pixel is the number of bits of pixel information used as color data for each displayed pixel, often referred to as the number of bit-planes. 4. Multiplex ratio indicates the number of pixels per bus load, or the number of pixels associated with each LCLK (load clock) pulse. For example, with a 64-bit pixel bus width and 8 bit-planes, each bus load is comprised of 8 pixels. The RCLK frequency must be chosen as a function of the multiplex mode selected. The RCLK frequency is not automatically set by mode selection; it must be set by programming the loop clock PLL registers. 5. This column is a reference to Tables 2–18 through 2–21, where the actual manipulation of pixel information and pixel latching sequences are illustrated for each of the multiplexing modes. For the pseudo-color pixel latching sequence (V1 and S1 through S12) refer to Table 2–18. For the packed-24 mode pixel latching sequence associated with the direct-color and true-color modes, refer to Table 2–19. For the direct-color mode pixel latching sequence, refer to Table 2–20 for little-endian format and to Table 2–21 for big-endian format. 2–26 Table 2–18. Pseudo-Color Mode Pixel-Latching Sequence (see Note 6) v1 s1 s2 s3 s4 s5 s6 VGA7–VGA0 VGA7 VGA0 P3 P0 P3–P0 P7–P4 P7 P4 P3 P0 P3–P0 P7–P4 P7 P4 P11–P8 P15–P12 P3 P0 P3–P0 P7–P4 P7 P4 P11–P8 • • P31–P28 P3 P0 P3–P0 P7–P4 P7 P4 P11–P8 • • P63–P60 P7 P4 P7–P4 P3–P0 P3 P0 P7 – P4 P3 – P0 P15 – P12 P11–P8 s7 s8 s9 s10 s11 s12 P7– P4 P7 P3 – P0 P15 – P12 P11–P8 • P31 – P28 P27–P24 P7 – P4 P3 – P0 P15 – P12 P11 – P8 • P63 – P60 P59 – P56 P7 – P0 P7 – P0 P15 – P8 P7 – P0 P15 – P8 P23 – P16 P31 – P24 P7– P0 P7 P15 – P8 P23 – P16 • • P55– P48 P63 – P56 NOTE 6: The latching sequence is initiated by a rising edge on LCLK. For modes in which multiple pixels are latched, the LCLK rising edge latches all the pixels and the pixel clock shifts them out starting with the lowest-numbered pixel. For example, in pseudo-color submode 1 with a 16-bit pixel bus width, the rising edge of LCLK latches four pixels and the pixel clock shifts them out in the order P3 – P0, P7 – P4, P11 – P8, and P15 – P12. Note that each line in each entry above represents one pixel. 2–27 Table 2–19. Packed-24 Formats d1 LCLK P31–P24 P23–P16 P15–P8 First B1(7– 0) R0(7– 0) G0(7– 0) B0(7– 0) Second G2(7– 0) B2(7– 0) R1(7– 0) G1(7– 0) R3(7– 0) G3(7– 0) B3(7– 0) R2(7– 0) Third P7–P0 d2 LCLK P63–P56 P55–P48 P47–P40 P39–P32 P31–P24 P23–P16 P15–P8 P7–P0 First G2(7– 0) B2(7– 0) R1(7– 0) G1(7– 0) B1(7– 0) R0(7– 0) G0(7– 0) B0(7– 0) Second B5(7– 0) R4(7– 0) G4(7– 0) B4(7– 0) R3(7– 0) G3(7– 0) B3(7– 0) R2(7– 0) Third R7(7– 0) G7(7– 0) B7(7– 0) R6(7– 0) G6(7– 0) B6(7– 0) R5(7– 0) G5(7– 0) P31–P24 P23–P16 P15–P8 P7–P0 First B1(7– 0) R0(7– 0) G0(7– 0) B0(7– 0) Second G2(7– 0) B2(7– 0) R1(7– 0) G1(7– 0) Third R3(7– 0) G3(7– 0) B3(7– 0) R2(7– 0) R4(7– 0) G4(7– 0) B4(7– 0) P23–P16 P15–P8 P7–P0 d3 LCLK Fourth d4 LCLK P63–P56 First G2(7– 0) Second P55–P48 P47–P40 P39–P32 P31–P24 B2(7– 0) R1(7– 0) G1(7– 0) B1(7– 0) R0(7– 0) G0(7– 0) B0(7– 0) R4(7– 0) G4(7– 0) B4(7– 0) R3(7– 0) G3(7– 0) B3(7– 0) R2(7– 0) P31–P24 P23–P16 P15–P8 P7–P0 d5 LCLK First R1(7– 0) B0(7– 0) G0(7– 0) R0(7– 0) Second G2(7– 0) R2(7– 0) B1(7– 0) G1(7– 0) B3(7– 0) G3(7– 0) R3(7– 0) B2(7– 0) Third d6 LCLK P63–P56 P55–P48 P47–P40 P39–P32 P31–P24 P23–P16 P15–P8 P7–P0 First G2(7– 0) R2(7– 0) B1(7– 0) G1(7– 0) R1(7– 0) B0(7– 0) G0(7– 0) R0(7– 0) Second R5(7– 0) B4(7– 0) G4(7– 0) R4(7– 0) B3(7– 0) G3(7– 0) R3(7– 0) B2(7– 0) Third B7(7– 0) G7(7– 0) R7(7– 0) B6(7– 0) G6(7– 0) R6(7– 0) B5(7– 0) G5(7– 0) P31–P24 P23–P16 P15–P8 P7–P0 d7 LCLK First R1(7– 0) B0(7– 0) G0(7– 0) R0(7– 0) Second G2(7– 0) R2(7– 0) B1(7– 0) G1(7– 0) Third B3(7– 0) G3(7– 0) R3(7– 0) B2(7– 0) B4(7– 0) G4(7– 0) R4(7– 0) P23–P16 P15–P8 P7–P0 Fourth d8 LCLK P63–P56 P55–P48 First G2(7– 0) Second 2–28 P47–P40 P39–P32 P31–P24 R2(7– 0) B1(7– 0) G1(7– 0) R1(7– 0) B0(7– 0) G0(7– 0) R0(7– 0) B4(7– 0) G4(7– 0) R4(7– 0) B3(7– 0) G3(7– 0) R3(7– 0) B2(7– 0) Table 2–20. Direct-Color Mode Pixel-Latching Sequence (Little-Endian) (see Note 7) d9 d10 P31 – P24(O), P23 – P16(R), P15 – P8(G), P7 – P0(B) P31 – P24(O), P23 – P16(R), P15 – P8(G), P7 – P0(B) P63 – P56(O), P55 – P48(R), P47 – P40(G), P39 – P32(B) MSB LSB MSB LSB d11 d12 P31 – P24(B), P23 – P16(G), P15 – P8(R), P7 – P0(O) P31 – P24(B), P23 – P16(G), P15 – P8(R), P7 – P0(O) P63 – P56(B), P55 – P48(G), P47 – P40(R), P39 – P32(O) MSB LSB MSB LSB d13 d14 P15 – P11(R), P10 – P5(G), P4 – P0(B) P15 – P11(R), P10 – P5(G), P4 – P0(B) P31 – P27(R), P26 – P21(G), P20 – P16(B) MSB LSB MSB LSB d15 d16 P15 – P11(R), P10 – P5(G), P4 – P0(B) P31 – P27(R), P26 – P21(G), P20 – P16(B) P47 – P43(R), P42 – P37(G), P36 – P32(B) P63–P59(R), P58–P53(G), P52–P48(B) P15(O), P14 – P10(R), P9 – P5(G), P4 – P0(B) MSB LSB MSB LSB d17 d18 P15(O), P14 – P10(R), P9 – P5(G), P4 – P0(B) P31(O), P30 – P26(R), P25 – P21(G), P20 – P16(B) P15(O), P14 – P10(R), P9 – P5(G), P4 – P0(B) P31(O), P30 – P26(R), P25 – P21(G), P20 – P16(B) P47(O), P46 – P42(R), P41 – P37(G), P36 – P32(B) P63(O), P62 – P58(R), P57 – P53(G), P52 – P48(B) MSB LSB MSB LSB d19 d20 P15 – P10(R), P9 – P4(G), P3 – P0(B) P15 – P10(R), P9 – P4(G), P3 – P0(B) P31 – P26(R), P25 – P20(G), P19 – P16(B) MSB LSB MSB LSB d21 d22 P15 – P10(R), P9 – P4(G), P3 – P0(B) P31 – P26(R), P25 – P20(G), P19 – P16(B) P47 – P42(R), P41 – P36(G), P35 – P32(B) P63 – P58(R), P57 – P52(G), P12 – P48(B) P15 – P12(R), P11 – P8(G), P7 – P4(B), P3 – P0(O) MSB LSB MSB LSB d23 d24 P15 – P12(R), P11 – P8(G), P7 – P4(B), P3 – P0(O) P31 – P28(R), P27 – P24(G), P23 – P20(B), P19 – P16(O) P15 – P12(R), P11 – P8(G), P7 – P4(B), P3 – P0(O) P31 – P28(R), P27 – P24(G), P23 – P20(B), P19 – P16(O) P47 – P44(R), P43 – P40(G), P39 – P36(B), P35 – P32(O) P63 – P60(R), P59 – P56(G), P55 – P52(B), P51 – P48(O) MSB MSB LSB LSB NOTE 7: The latching sequence is initiated by a rising edge on LCLK. For modes in which multiple pixels are latched on one LCLK rising edge, the pixel clock shifts them out starting with the low-numbered pixel. Each line of each table entry above represents one pixel. In the table, P31–P24(B) means P31 = BLUE7 (MSB), P30 = BLUE6, . . ., P24 = BLUE0 (LSB). True-color modes are similar, but the overlay fields are not supported. 2–29 Table 2–21. Direct-Color Mode Pixel-Latching Sequence (Big-Endian) (see Note 8) d9 d10 P31 – P24(B), P23 – P16(G), P15 – P8(R), P7 – P0(O) P31 – P24(B), P23 – P16(G), P15 – P8(R), P7 – P0(O) P63 – P56(B), P55 – P48(G), P47 – P40(R), P39 – P32(O) LSB MSB LSB MSB d11 d12 P31 – P24(O), P23 – P16(R), P15 – P8(G), P7 – P0(B) P31 – P24(O), P23 – P16(R), P15 – P8(G), P7 – P0(B) P63 – P56(O), P55 – P48(R), P47 – P40(G), P39 – P32(B) LSB MSB LSB MSB d13 d14 P15 – P11(B), P10 – P5(G), P4 – P0(R) P15 – P11(B), P10 – P5(G), P4 – P0(R) P31 – P27(B), P26 – P21(G), P20 – P16(R) LSB MSB LSB MSB d15 d16 P15 – P11(B), P10 – P5(G), P4 – P0(R) P31 – P27(B), P26 – P21(G), P20 – P16(R) P47 – P43(B), P42 – P37(G), P36 – P32(R) P63 – P59(B), P58 – P53(G), P52 – P48(R) P15 – P11(B),P10 – P6(G),P5 – P1(R),P0(O) LSB MSB LSB MSB d17 d18 P15 – P11(B), P10 – P6(G), P5 – P1(R), P0(O) P31 – P27(B), P26 – P22(G), P21 – P17(R), P16(O) P15 – 11(B), P10 – P6(G), P5 – P1(R), P0(O) P31 – P27(B), P26 – P22(G), P21 – P17(R), P16(O) P47 – P43(B), P42 – P38(G), P37 – P33(R), P32(O) P63 – P59(B), P58 – P54(G), P53 – P49(R), P48(O) LSB MSB LSB MSB d19 d20 P15 – P12(B), P11 – P6(G), P5 – P0(R) P15 – P12(B), P11 – P6(G), P5 – P0(R) P31 – P28(B), P27 – P22(G), P21 – P16(R) LSB MSB LSB MSB d21 d22 P15 – P12(B), P11 – P6(G), P5 – P0(R) P31 – P28(B), P27 – P22(G), P21 – P16(R) P47 – P44(B), P43 – P38(G), P37 – P32(R) P63 – P60(B), P59 – P54(G), P53 – P48(R) P15 – P12(O), P11 – P8(B), P7 – P4(G), P3 – P0(R) LSB MSB LSB MSB d23 d24 P15 – P12(O), P11 – P8(B), P7 – P4(G), P3 – P0(R) P31 – P28(O), P27– P24(B), P23 – P20(G), P19 – P16(R) P15 – P12(O), P11 – P8(B), P7 – P4(G), P3 – P0(R) P31 – P28(O), P27 – P24(B), P23 – P20(G), P19 – P16(R) P47 – P44(O), P43 – P40(B), P39 – P36(G), P35 – P32(R) P63 – P60(O), P59 – P56(B), P55 – P52(G), P51 – P48(R) LSB MSB LSB MSB NOTE 8: The latching sequence is the same as little-endian. Each line represents one pixel. The table assumes that the pixel bus has been externally reverse wired. Therefore, P31–P24(B) in the table means P31 = BLUE0 (LSB), P30 = BLUE1, . . . ., P24 = BLUE7 (MSB). True-color modes are similar, but overlay fields are not supported. 2–30 2.7 On-Chip Cursor The TVP3026M has an on-chip three-color 64x64 pixel user-definable cursor. The cursor operation defaults to the XGA standard, but X-windows and three-color modes are also available (see subsection 2.7.3, Three-Color 64 X 64 Cursor). The cursor operates in both noninterlaced and interlaced modes. The pattern for the 64 x 64 cursor is provided by the cursor RAM, which can be accessed by the MPU at any time. Cursor positioning is performed using the cursor position (x,y) registers (see register bit definitions in subsection 2.15.5, Cursor Position-(x,y) Registers). Positions x and y are defined in the TVP3026M increasing from left to right and from top to bottom, respectively, as seen on the display screen. On-chip cursor control is performed by the indirect cursor-control register (index: 0x06). The direct cursor control register provides an alternate means of enabling and disabling the cursor and selecting the cursor mode. See the cursor-control register bit definitions in subsection 2.15.3, Indirect Cursor Control Register, and subsection 2.15.4, Direct Cursor-Control Register, for more details. 2.7.1 Cursor RAM The 64 x 64 x 2 cursor RAM defines the pixel pattern within the 64x64 pixel cursor window. It is not initialized and can be written to or read by the MPU at any time, even when the cursor is enabled. The cursor RAM address zero is at the top left corner of the RAM as shown in Figure 2–8. The 0 bits for the entire cursor array (associated with the cursor plane) cursor plane are stored in the first 512 bytes of the RAM, and the 1 bits for the entire cursor array are stored in the last 512 bytes of the RAM. Information for eight cursor pixels is stored in each byte. The MSB (D7) corresponds with the first or leftmost pixel displayed on the screen. The 64 x 64 x 2 cursor RAM stores a total of 8192 bits and is accessed through the 8-bit MPU data bus. There are, therefore, 1024 bytes stored in the RAM and a 10-bit address is used. The upper two bits of the cursor RAM address (A9, A8) are written to cursor control register (CCR) (index: 0x06) bits CCR3 and CCR2. The MSB of the address (CCR3) selects cursor plane 0 or cursor plane 1. The lower eight bits of the cursor RAM address (A7 – A0) are written to the cursor RAM write address register (direct register: 0000) for writing to the RAM and to the cursor RAM read address register (direct register: 0011) for reading the RAM. Then the plane 0 or 1 data for the first eight pixels is written to the cursor RAM data register (direct register: 1011). This stores the cursor pixel data in the cursor RAM and automatically increments the cursor RAM address register. The upper two bits of the cursor RAM address also increment when the lower eight bits roll over from 0xFF to 0x00. A second write to the cursor RAM data register loads the plane 0 or 1 data for the next eight cursor pixels, and so on. Update of the entire cursor RAM requires 1024 writes to the cursor RAM data register. To read from the cursor RAM, the address of the first cursor RAM location to be read is loaded using CCR3 and CCR2 and the cursor RAM read address register. Then a read is performed on the cursor RAM data register (direct register: 1011), which reads the plane 0 or 1 data for eight consecutive pixels. Similar to the cursor RAM write operation, when the read is completed, CCR3 and CCR2 and the cursor RAM address register are automatically incremented and further reads are made to successive cursor RAM locations. Upload of the entire cursor RAM requires 1024 reads of the cursor RAM data register. NOTES The cursor RAM upper address bits CCR3 and CCR2 in the cursor control register default to zeros after reset. Since software normally sets these bits to 0s before accessing the cursor RAM, it can not be necessary to write to CCR3 and CCR2. Internally, the entire 10-bit address is loaded into the address counter after a write to the cursor RAM address register (direct register, 0000 or 0011), so CCR3 and CCR2 should be written first if they are to be changed. Vertical retrace is determined by detecting 2048 or 4096 pixel clocks between rising edges of the internal Blank signal. CCR4 selects 2048 when reset to 0 and 4096 when set to 1. 2–31 CURSOR PLANE 0 Upper Left Corner of Cursor as Displayed on Screen 64 Pixels Byte 000 Byte 001 . . . . . . . . Byte 007 Byte 008 Byte 009 . . . . . . . . Byte 00F Byte 1F9 . . . . . . . . Byte 1FF . . . . . 64 Pixels Byte 1F8 8 Pixels D7 D6 D5 D4 D3 D2 D1 D0 First Displayed Pixel (Leftmost) Upper Left Corner of Cursor as Displayed on Screen CURSOR PLANE 1 64 Pixels Byte 200 Byte 201 . . . . . . . . Byte 207 Byte 208 Byte 209 . . . . . . . . Byte 20F Byte 3F9 . . . . . . . . Byte 3FF . . . . . 64 Pixels Byte 3F8 8 Pixels D7 D6 D5 D4 D3 D2 D1 D0 First Displayed Pixel (Leftmost) Figure 2–8. Cursor RAM Organization 2.7.2 Cursor Positioning The cursor position (x,y) registers position the 64 x 64 cursor on the display screen. The cursor position (x,y) registers specify the location of the cursor bottom right corner on the display screen relative to the end of the internal Blank signal. Figure 2–9 shows the orientation of the x,y coordinates for positioning the cursor. The values written to the cursor position registers represent the position of the bottom right corner of the cursor. When zero is written to the cursor position x or cursor position y registers, the cursor is off the screen. When the cursor position (x,y) is (1,1), only a single pixel of the cursor (cursor 63,63)is displayed and it appears at the upper left corner of the screen. 2–32 When the upper left corner of the cursor is preferred as a reference, determine the screen (x,y) coordinate where cursor (0,0) is to be positioned. Then add 64 (0x40) to the x coordinate and add 64 (0x40) to the y coordinate and write these values to the cursor position (x,y) registers. For example, when the upper left corner of the cursor is to be positioned at screen (0,0), write (0x40, 0x40) to the cursor (x, y) registers. Blank Blank X Screen (0,0) Cursor (0,0) Y 64 × 64 Cursor Area Cursor Position (X, Y) Active Display Area Cursor Position (X,Y) = Screen (X,Y) Where Cursor (0,0) is Located + (64,64) Figure 2–9. Cursor Positioning 2.7.3 Three-Color 64 x 64 Cursor The 64 x 64 x 2 cursor RAM provides two bits of cursor information on every dot clock cycle during the 64 x 64 cursor window. CCR1 and CCR0 specifiy whether the XGA mode (10) or X-window mode (11) or three-color mode (01) interprets the cursor information. When CCR1 and CCR0 are 00, the cursor is disabled. The cursor enable/disable and mode select can also be programmed using the direct cursor control register. The two bits of cursor pixel data determine the cursor appearance as shown in Table 2-22. Table 2–22. Cursor RAM Vs. Color Selection RAM COLOR SELECTION PLANE 1 PLANE 0 THREE-COLOR MODE XGA MODE X-WINDOW MODE 0 0 Transparent Cursor color 0 Transparent 0 1 Cursor color 0 Cursor color 1 Transparent 1 0 Cursor color 1 Transparent Cursor color 0 1 1 Cursor color 2 Complement Cursor color 1 Cursor color 0, 1, and 3: These colors are set by writing to the cursor color registers. Transparent: The underlying pixel color is displayed. Complement: The 1s complement of the underlying pixel color is displayed. 2–33 2.7.4 Interlaced Cursor Operation The cursor supports an interlaced display when bit CCR5 in the cursor control register is set to 1. For the purposes of this discussion assume that the interlaced display consists of an even field of scan lines numbered 0, 2, 4, . . ., etc., and an odd field of scan lines numbered 1, 3, 5, . . ., etc. Scan line 0 is the first scan line at the top of the display. When interlaced mode is enabled and cursor position y (CPy) is greater than 64 (0x40) and less than or equal to 4095 (0xFFF), the first cursor line displayed depends on the state of the ODD/EVEN terminal and value of CPy. When CPy is an even number, the data in row 0 of the cursor RAM array is displayed during the even field (ODD/EVEN = 0), followed by rows 2, 4, . . ., 62 on successive scan lines. The data in row 1 of the cursor RAM array is displayed during the odd field (ODD/EVEN = 1), followed by rows 3, 5, . . ., 63 on successive scan lines. When CPy is an odd number, the data in row 0 of the cursor RAM array is displayed during the odd field (ODD/EVEN = 1), followed by rows 2, 4, . . ., 62 on successive scan lines. The data in row 1 of the cursor RAM array is displayed during the even field (ODD/EVEN = 0), followed by rows 3, 5, . . ., 63 on successive scan lines. When CPy is between 0 and 64 (0x40), the cursor is partially off the top of the screen. In this case, the data in the first displayed row of the cursor RAM (row N) is always displayed on scan line 0, which is the first scan line of the even field, followed by rows N + 2, N + 4, . . ., etc. on successive scan lines. The data in row N + 1 is displayed on scan line 1, which is the first scan line of the odd field, followed by cursor rows N + 3, N + 5, . . ., etc. on successive scan lines. The CCR6 bit of the cursor control register allows the polarity of the received ODD/EVEN signal to be inverted when set to 1. 2.8 Port-Select and Color-Key Switching The TVP3026M provides two integrated mechanisms for switching between direct-color images and overlay graphics or between direct-color images and gamma-corrected true-color images midscreen. The port select function utilizes the external PSEL terminal to enable the display of multiple true-color or overlay and direct-color on screen. The color-key switching function combines images on screen based on color comparison with stored color range registers. The port select function is controlled by the miscellaneous control register (index: 0x1E, see subsection 2.15.2, Miscellaneous Control Register, for register bit definitions). For switching between direct-color and true-color, a true-color mode must be selected from Table 2–17. For switching between direct-color and overlay, a direct-color mode must be selected from Table 2–17 and the VGA port must be disabled (MCR7 = 0). Overlay switching is not supported for those direct-color modes that do not have overlay capability. In all cases, the color-key switching function should be disabled and direct-color (CKC4 = CKC3 = CKC2 = CKC1 = CKC0 = 0) selected. The miscellaneous control register enables the port-select function and defines the polarity of PSEL. Since PSEL is sampled with LCLK, the granularity for port-select switching depends on the number of pixels loaded for each LCLK. The color-key switching function is controlled by the color-key-control register (index: 0x38, see subsection 2.15.7, Color-Key Control Register, for register definition). For switching between direct-color and true-color, a true-color mode must be selected from Table 2–17. The incoming red, green, and blue color fields are compared with their respective color range registers before gamma correction occurs. The overlay terminals could also be used for the color comparison, although the overlay information is not displayable in true-color mode. For switching between direct-color and overlay, a direct color mode must be selected from Table 2–17 and the VGA port must be disabled (MCR7 = 0). In all cases, the port-select function should be disabled and direct-color(MSC5 = 1, MSC4 = 0) selected. The color-key control register enables/disables the red, green, blue, and/or overlay range comparators and defines the polarity of the color-key switching function. The comparison values are then written to the eight 8-bit color-key-range registers; color-key overlay (low, high), color-key red (low, high), color-key green (low, high), and color-key blue (low, high). These registers are accessed through index 0x30 to index 0x37. The granularity for color-key switching is on a pixel-by-pixel basis. 2–34 The port select and color-key functions are integrated like a logical OR function. When either of the functions switches to palette graphics (true-color or overlay through the palette RAM), palette graphics are displayed instead of direct color. Therefore, when programming the device for any direct-color mode, both the color-key control and miscellaneous control registers must be set so that direct-color graphics is displayed. For true color, gamma corrected through the palette, one of the functions must be set to palette graphics. 2.8.1 Port-Select Switching The port-select switching function is governed by the following equation: SWITCH = (PSEL × MSC4) ⊕ MSC5 (11) where: MSCn is the nth bit of the miscellaneous control register. Table 2-23 then applies: Table 2–23. Port-Select Switching MULTIPLEX MODE SELECTED DISPLAY RESULT SWITCH = 0 SWITCH = 1 Direct-color with overlay Direct-color Overlay Direct-color with true-color Direct-color True-color NOTE: The DAC output is undefined if SWITCH = 1 when doing overlay switching in a direct-color mode that does not have overlay capability. Miscellaneous control register bits MSC5 and MSC4 enable or disable the port select function and select the polarity, as shown in the equation above. When port-select switching is disabled (MSC4 = 0), MSC5 sets the port-select function to either palette graphics (MSC5 = 0, default) or direct-color graphics (MSC5 = 1). The device supports port-select switching when using multiplexing modes. However, caution must be observed when using the port-select function with the multiplexing modes other than 1:1, since the PSEL signal is latched on LCLK (same as the pixel port). Port-select switching on a pixel basis with multiplexing modes other than 1:1 can be accomplished using the color-key switching function by supplying multiple PSEL signals, one per pixel, into the available overlay terminals. 2.8.2 Color-Key Switching The TVP3026M supports color-key-switching modes in which color data from the direct-color and overlay ports is compared to a set of user-definable color-key registers. Based on the outcome of the comparison, either direct-color, true-color, or overlay, is displayed. High and low color-key registers are provided for each color and overlay so that ranges of colors can be compared as opposed to a single color value. The color-key function is controlled by the color-key-control register bits CKC0 – CKC4 according to the following equation: COLOR – KEY = [(OL + CKC0) × (R + CKC1) × (G + CKC2) × (B + CKC3)] ⊕ CKC4 ≤ overlay (Note 17) ≤ direct color (RED) ≤ direct color (GREEN) ≤ direct color (BLUE) (12) ≤ color-key OL high ≤ color-key red high ≤ color-key green high ≤ color-key blue high where: OL = 1 R=1 G=1 B=1 if if if if color-key OL low color-key red low color-key green low color-key blue low then if if COLOR – KEY = 1, overlay or true-color is displayed. COLOR – KEY = 0, direct-color is displayed. 2–35 NOTE: CKC0 – CKC3 can individually enable or disable certain colors in the comparison for maximum flexibility. When color-key switching is not desired, CKC0 – CKC3 should be set to 0. CKC4 then sets the default for either direct color or palette graphics. The default condition at reset is CKC0 = CKC1 = CKC2 = CKC3 = CKC4 = 0. This causes the color-key function to default to direct-color graphics. The color-key comparison for the overlay data is performed after the read mask and palette page registers so that an 8-bit comparison can be performed. This also gives the maximum flexibility to the user in performing the color comparisons. If the overlay defined for a given mode is less than 8 bits per pixel, the data is shifted to the LSB locations and the palette page register (index: 0x1C) fills the remaining MSB positions. For those direct-color modes that have less than 8 bits for each pixel of red, green, and blue direct-color data, the data internally shifts to the MSB positions for each color and the remaining LSB bits are filled with zeros before the 8-bit comparisons are performed. 2.9 Overscan Border The TVP3026M provides the capability to produce a custom screen border using the overscan function. The overscan function is enabled by the general control register bit GCR6. The overscan color is userprogrammable by loading the overscan color red, green, and blue registers (see subsection 2.1.4, Cursor and Overscan Color Registers). When the overscan function is enabled (GCR6 = 1), then the overscan color is displayed any time that OVS is high and Blank is low (active). The blanking pedestal is imposed on the analog outputs when both OVS and Blank are low. When overscan is disabled, then the blanking pedestal occurs whenever Blank is low. The OVS terminal is always sampled on LCLK. Therefore, overscan can only be used with the VGA port in VGA mode 1 (MSC6 = 1 in the multiplex control register). This selects SYSBL, SYSHS, SYSVS, and LCLK latching of the VGA port. Figure 2–10 demonstrates the use of OVS to produce a custom overscan screen border. 2–36 OVS Blank ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉ ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉ ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉ ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉ ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉ ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉ ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉ ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉ ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉ ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉ ÉÉÉÉÉÉÉÉÉÉÉÉÉÉÉ Display Area Overscan Border Figure 2–10. Overscan Border 2.10 Horizontal Zooming The TVP3026M supports a user-programmable horizontal zooming function of 2×, 4×, 8×, 16×, or 32×. Zooming is controlled through the CKC5–CKC7 bits of the color-key control register (index: 0x38, see subsection 2.15.7, Color-Key Control Register, for the color-key control register definition). When one of the horizontal zoom factors (other than 1×) is chosen, the internal pixel multiplexer is configured so that it replicates the pixel data on successive dot clocks by the number of times specified by CKC5 – CKC7. Also, the RCLK frequency must be modified by changing the loop clock PLL registers to load pixel data at the new reduced rate. The new RCLK frequency should be chosen as the old RCLK frequency divided by the zoom factor. The horizontal zoom function applies only to the pixel port (P63 – P0) data. VGA data cannot be zoomed. The maximum zoom factor for all packed-24 modes is 8×. When zooming in 5:4 packed-24 mode, the latch control register setting depends on the zoom factor as described in subsection 2.15.6, Latch-Control Register. 2.11 Test Functions The TVP3026M provides several functions that enable system testing and verification. These are detailed in subsection 2.11.1, 16-Bit CRC, through subsection 2.11.4, Silicon Revision. 2.11.1 16-Bit CRC A 16-bit cyclic redundancy check (CRC) is provided so that video data integrity can be verified at the input to the DACs. The CRC is updated when two consecutive horizontal sync (HSYNC) pulses are detected while blanking is active (vertical retrace). For the use of the CRC function, HSYNC must be active low at the input to the TVP3026M. The CRC is only calculated on the active screen area (i.e., active blanking stops the calculation). One complete vertical screen must be completed to generate a valid CRC. The CRC can be performed on any of the 24 data lines that enter the DACs and is controlled by the CRC bit select register (index: 0x3E). Values from 0 to 23 (0x17) can be written to this register to select between 2–37 the 24 different DAC data inputs. The 16-bit remainder that is calculated on the individual DAC data line can be read from the CRC remainder LSB and CRC remainder MSB registers. See subsection 2.15.9, CRC Remainder LSB and MSB Registers, and subsection 2.15.10, CRC Bit-Select Register, for the CRC register bit definitions. As long as the display pattern for each screen remains fixed, the CRC result should remain constant. When the CRC result changes, an error condition should be assumed. The CRC is calculated using the algorithm depicted by the circuit in Figure 2–11. The user can calculate and store the CRC remainder for a test screen in software and compare this to the TVP3026M calculated CRC remainder to verify data integrity. DATAIN Q0 LSB DQ 15 MSB DQ 14 DQ 13 DQ 12 DQ 11 DQ 10 DQ 9 DQ 8 DQ 7 DQ 6 DQ 5 DQ 4 DQ 3 DQ 2 DQ 1 DQ 0 Figure 2–11. CRC Algorithm 2.11.2 Sense Comparator Output and Test Register The TVP3026M provides a SENSE output to support system diagnostics. SENSE can determine the presence of the CRT monitor or verify that the RGB termination is correct. SENSE is reset to 0 when one or more of the DAC outputs exceeds the internal comparator voltage of 350 mV. The internal 350-mV reference has a tolerance of ± 50 mV when using an external 1.235-V reference. When the internal voltage reference is used, the tolerance is higher. The sense comparators are also integrated with the sense test register (index: 0x3A) so that the comparison results for the red, green, and blue comparators can be read independently through the 8-bit microinterface. When the sense test register (STR) is read, the results are indicated in the bit positions of Table 2-24. Table 2–24. Sense Test Register Results INDEX: 0x3A, ACCESS: R / W, DEFAULT: UNINITIALIZED STR BITS D7 D6 D5 D4 Data DIS 0 0 0 where: R = set to 1 if IOR > 350 mV G = set to 1 if IOG > 350 mV B = set to 1 if IOB > 350 mV D6 – D3 are reserved D7 is disable (set to 1) bit D3 D2 D1 D0 0 R G B NOTE D7 can be set to 1 to disable the sense comparison function. At reset, the sense comparison is enabled (D7 = 0). D6 – D3 are reserved. When this register is written to bits D6 – D0 need to be reset 0, to disable the sense comparator function. Both the SENSE output and the sense test register are latched by the falling edge of the internally sampled blank signal (SYSBL or VGABL depending on bit MCR6). In order to have stable voltage inputs to the comparators, the frame-buffer inputs should be set such that data entering the DACs remains unchanged for a sufficient period of time prior to and after the Blank signal falling edge. 2.11.3 Identification Code An ID register with a hardwired code is provided that can be used as a software identification of the device for different versions of the system design. The ID register is read only through index 0x3F. The value defined for the TVP3026M is 0x26. 2–38 2.11.4 Silicon Revision The silicon revision register (index: 0x01) is a read-only register that enables software to identify the silicon revision of the TVP3026M. On the first pass silicon, this register reads back 0x00. A major revision number is stored in bits 7– 4 and a minor revision number is stored in bits 3 – 0. 2.12 General-Purpose I/O Registers and Terminals The general-purpose I/O registers and output terminals provide a means of controlling external functions through the TVP3026M microinterface. The 8-bit general-purpose I/O data (GI/O) register has five bit locations (D0 – D4) tied to external I/O terminals (GI/O0 – GI/O4). The other three bits (D5 – D7) can be used for general data storage and do not affect any other circuitry. The general-purpose I/O data register is controlled by the general-purpose (GP) I/O control register. GP I/O control register bits IOC0 – IOC4 control whether the corresponding general-purpose I/O terminals are configured as inputs or outputs. The reset default condition is for GP I/O control register bits IOC0 – IOC4 = 0, which configures terminals GI/O0 – GI/O4 as inputs. When any of the GP I/O control register bits are set to 1, the corresponding GI/O terminals are configured as outputs. The general-purpose I/O control register, data register, and terminal relationships are shown in Table 2–25. Table 2–25. General-Purpose I/O Registers DATA BIT† D7 D6 D5 D4 D3 D2 D1 D0 General-purpose I/O control register Index: 0x2A Access: R/W Default: 0x00 X X X IOC4 IOC3 IOC2 IOC1 IOC0 General-purpose I/O data register Index: 0x2B Access: R/W Default: Uninitialized X X X D4 D3 D2 D1 D0 GI/O4 GI/O3 GI/O2 GI/O1 GI/O0 General-purpose I/O terminal locations † X = do not care 2.13 Reset There are two ways to reset the TVP3026M. The RESET input terminal can perform a hardware reset. Alternatively, the device has an integrated software reset function. A hardware reset is initiated by pulling the RESET input terminal low. When RESET is pulled low all TVP3026M registers go to default states. This reset is asynchronous, and any glitch on this terminal could change the intended register setup. The default state at reset is VGA mode, and all default register settings are given in Table 2–2. When a reset is desired at power up, an external resistor, capacitor, and diode network can be connected to the RESET terminal. When TTL logic is employed to provide the signal to the RESET terminal, a pullup resistor should be used to ensure that CMOS levels are achieved. For a software reset, anytime the reset register (index: 0xFF) is written to, all registers are initialized to TVP3026M default settings. The data written into the reset register is ignored. 2.14 Analog Output Specifications The DAC outputs are controlled by three current sources (only two for IOR and IOB) as shown in Figure 2–12. The default condition is to have 0 IRE difference between blank and black levels, which is shown in Figure 2–13. When a 7.5-IRE (Institute of Radio Engineers, predecessor to the IEEE) pedestal is desired, it can be selected by setting bit 4 of the general-control register. This video output is shown in Figure 2–14. 2–39 A resistor (RSET) is needed between the FS ADJUST terminal and GND to control the magnitude of the full-scale video signal. The IRE relationships in Figures 2–13 and 2–14 are maintained regardless of the full-scale output current. The relationship between RSET and the full-scale output current IOG is: RSET (Ω) = K1 × Vref (V) / IOG (mA) (13) The full-scale output current on IOR and IOB for a given RSET is: IOR, IOB (mA) = K2 × Vref (V) / RSET (Ω) (14) where K1 and K2 are defined as: PEDESTAL IOG IOR, IOB 8-BIT OUTPUT 6-BIT OUTPUT 8-BIT OUTPUT 6-BIT OUTPUT 7.5 IRE K1 = 11,294 K1 = 11,206 K2 = 8,067 K2 = 7,979 0 IRE K1 = 10,684 K1 =10,600 K2 = 7,462 K2 = 7,374 AVDD IOG ∼ 15 pF SYNC (IOG Only) Blank RL C (stray + load) G0 – G7 Figure 2–12. Equivalent Circuit of the Current Output (IOG) 2–40 White Green [mA] [V] 25.24 0.950 Red/Blue [mA] [V] 17.62 0.660 7.62 0.00 100 IRE Black/ Blank 0.286 0.000 40 IRE Sync 0.00 0.000 NOTE A: 75-Ω doubly terminated load, Vref = 1.235 V, RSET = 523 Ω. RS343A-levels and tolerances are assumed on all levels. Figure 2–13. Composite Video Output (With 0 IRE, 8-Bit Output) White Green [mA] [V] 26.67 1.000 Red/Blue [mA] [V] 19.05 0.714 9.05 0.340 1.44 0.054 7.62 0.286 0.00 0.000 0.00 0.000 92.5 IRE Black Blank 7.5 IRE 40 IRE Sync NOTE A: 75-Ω doubly terminated load, Vref = 1.235 V, RSET = 523 Ω. RS343A-levels and tolerances are assumed on all levels. Figure 2–14. Composite Video Output (With 7.5 IRE, 8-Bit Output) 2–41 2.15 Register Definitions 2.15.1 General Control Register (Index: 0x1D, Access: R/W, Default: 0x00) The general control register definition is listed in Table 2–26. Table 2–26. General-Control Register BIT NAME GCR7 GCR6 GCR5 GCR4 GCR3 GCR2 GCR1 GCR0 2.15.2 VALUES DESCRIPTION 0 Reserved 0: Disable (default) Overscan enable. GCR6 specifies whether to enable the user-defined overscan screen border. 1: Enable 0: Disable (default) Sync y enable. Bit GCR5 specifies whether sync y information is to be output onto IOG. 1: Enable 0: 0 IRE (default) Pedestal control. GCR4 specifies whether a 0 or 7.5 IRE blanking g pedestal is to be generated on the video outputs. 1: 7.5 IRE 0: Little-endian (default) 1: Big-endian Little-endian/big-endian g select. GCR3 selects either little- or big-endian g format for the pixel-bus interface. 0 Reserved 0: Do not invert (default) VSYNCOUT output polarity. y GCR1 specifies whether vertical sync y output is positive or negative. 1: Invert 0: Do not invert (default) 1: Invert (high) HSYNCOUT output polarity. y GCR0 specifies whether horizontal sync y output is positive or negative. Miscellaneous Control Register (Index: 0x1E, Access: R/W, Default: 0x00) The miscellaneous control register definition is listed in Table 2–27. Table 2–27. Miscellaneous Control Register BIT NAME VALUES DESCRIPTION (SEE NOTE 9) MSC7 0 Reserved MSC6 0 Reserved 0: True function (default) PSEL polarity select. When MSC5 is reset to 0 and setting PSEL to active high selects direct-color (provided that the color-key function is set to select direct color) When MSC5 is set to 1 direct-color). 1, and then PSEL high selects pseudo-color pseudo color or true-color. MSC5 1: Complementary 0: Disable (default) MSC4 1: Enable MSC3 MSC2 MSC1 MSC0 0: 6-bit (default) 1: 8-bit 0: Enable (default) Port select switching enable. When MSC4 is set to 1, direct-color / true-color or direct color/overlay switching is controlled by the PSEL input direct-color/overlay input. MSC5 controls the polarity of the PSEL input. 8- or 6-bit operation bit. When MSC2 is set to 1,, MSCR3 determines 8- or 6-bit operation. 1: Disable 8/6 terminal disable. When MSC2 is set to 1, the 8/6 terminal is ignored and the 8/6 function is controlled by bit 3 of this register. 0 Reserved 0: Disable (default) 1: Enable DAC power down down. When MSC0 is set to 1 1, the DACs power down down. NOTE 9: Additional power reduction can be achieved by disabling the internal dot clock by writing the binary value 110 to clock selection register (index: 0x1A) bits 2– 0. 2–42 2.15.3 Indirect Cursor Control Register (Index: 0x06, Access: R/W, Default: 0x00) The indirect cursor control register (CCR) is accessed using the indirect register map. This register provides for enabling and disabling the cursor and other cursor controls. The cursor mode-select can also be controlled using the direct cursor-control register. The indirect cursor control register definition is listed in Table 2–28. Table 2–28. Indirect Cursor-Control Register BIT NAME VALUES DESCRIPTION 0: Use indirect CCR (default) CCR7 1: Use direct CCR 0: Normal (default) CCR6 1: Invert 0: Disable (default) CCR5 1: Enable 0: 2048 pixels (default) CCR4 ODD/EVEN sense invert. When CCR6 is reset to 0, the field indicator ODD/EVEN used byy the hardware cursor in interlaced display y mode, is set to 1 for the odd field and is reset to 0 for the even field. When CCR6 is set to 1, the polarity of ODD/EVEN is the opposite. Enable interlaced cursor. When CCR5 is set to 1, interlaced cursor operation is enabled enabled. During interlaced cursor operation o eration, the ODD/EVEN terminal indicates the odd or even field, as determined by value in CCR6. Vertical blank detection method. Vertical blank is detected using only the blank signal. The logic g g detects when there has been either 2048 or 4096 consecutive dot clocks between rising edges of Blank. 1: 4096 pixels CCR3, CCR2 Cursor control register select. CCR7 selects which cursor control register is used ((direct or indirect). ) The video BIOS must initialize this bit to 1 for driver software that uses the direct cursor control register. Cursor RAM address bits 9 and 8. CCR3 is bit 9 and CCR2 is bit 8. These bits are used with the lower 8 bits of the cursor RAM address supplied by the cursor RAM address register in the direct register map. 00: (default) 00: Cursor off (default) CCR1, CCR0 01: Three-color cursor 10: XGA cursor Cursor mode select. CCR1 and CCR0 disable the cursor and select the format used to interpret the information stored in the cursor RAM when displaying y g the cursor. See Table 2–27. 11: X-windows cursor 2.15.4 Direct Cursor Control Register (Direct Register: 1001, Access: R/W, Default: 0x00) The direct cursor control register is accessed using the direct register map. This register provides an alternate means of enabling and disabling the cursor and selecting the cursor mode. This register is provided for compatibility with commonly used software drivers. The direct cursor-control register definition is listed in Table 2–29. Table 2–29. Direct Cursor-Control Register BIT NAME DCC7 DCC2 DCC7–DCC2 VALUES 000000 DESCRIPTION Reserved 00: Cursor off (default) DCC1, DCC0 01: Three color cursor 10: XGA cursor Cursor mode select. DCC1 and DCC0 disable the cursor and select the format used to interpret the information stored in the cursor RAM when displaying y g the cursor. See Table 2–27. 11: X-windows cursor 2–43 2.15.5 Cursor Position (x, y) Registers (Direct Register: 1100 –1111, Access: R/W, Default: Uninitialized) These registers specify the (x,y) coordinate of the lower right corner of the cursor, see Table 2-30. All registers are uninitialized and can be written to or read from by the MPU at any time. Table 2–30. Cursor Position (X, Y) Registers CURSOR-POSITION X MSB Data Bit X Position CURSOR-POSITION X LSB D7 D6 D5 D4 D3 D2 D1 D0 D7 D6 0 0 0 0 X11 X10 X9 X8 X7 X6 Direct register 1101 Y Position D4 D3 D2 D1 D0 X5 X4 X3 X2 X1 X0 Direct register 1100 CURSOR-POSITION Y MSB Data Bit D5 CURSOR-POSITION Y LSB D7 D6 D5 D4 D3 D2 D1 D0 D7 D6 D5 D4 D3 D2 D1 D0 0 0 0 0 Y11 Y10 Y9 Y8 Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0 Direct register 1111 Direct register 1110 The cursor-position x and y values to be written are calculated as follows: CPx = desired display screen x position for upper left corner of cursor + 0×40 CPy = desired display screen y position for upper left corner of cursor + 0×40 Values from 0 to 4095 (0xFFFh) can be written into the cursor position X and Y registers. The values written into the cursor position X and Y registers are the screen coordinates for the lower right corner of the cursor. When zero is written to either the CPx or CPy registers, the cursor is positioned off screen. See subsection 2.7.2, Cursor Positoning. 2–44 2.15.6 Color-Key Control Register (Index 0x38, Access R/W, Default 0x00) The color-key control register definition is listed in Table 2–31. Table 2–31. Color-Key Control Register BIT NAME VALUES DESCRIPTION 000: 1× zoom 001: 2× zoom CKC7 CKC5 CKC7–CKC5 010: 4× zoom 011: 8× zoom 100: 16× zoom Horizontal H i t l zoom ffactor. t Wh When other th th than 1 1× zoom is i selected, l t d the th internal i t l pixel i l multi lier is configured so that it loads pixel ixel data at a reduced rate rate. Also Also, the multiplier RCLK frequency q y must be modified to facilitate the new reduced rate. The new RCLK frequency should be chosen as the old RCLK frequency divided by the zoom factor. f t The Th horizontal h i t l zoom function f ti applies li only l to t the th pixel i l portt (P63 – P0) data. data VGA data cannot be zoomed. zoomed 101: 32× zoom 0: True function CKC4 CKC3 1: Complementary (default) 0: Disable compare (default) Color-key-function Color key function select. select CKC4 controls the polarity of the color-key color key function function. See equation (12) in subsection 2.8.2, Color-Key Switching. Blue-compare enable. CKC3 enables or disables the direct-color blue field comparison. See equation q ((12)) in subsection 2.8.2, Color-Key y Switching g. 1: Enable compare CKC2 0: Disable compare (default) Green-compare enable. This enables or disables the direct-color green field comparison. See equation q ((12)) in subsection 2.8.2, Color-Key y Switching g. 1: Enable compare CKC1 0: Disable compare (default) Red-compare enable. This is used to enable or disable the direct-color red field comparison. See equation q ((12)) in subsection 2.8.2, Color-Key y Switching g. 1: Enable compare CKC0 0: Disable compare (default) Overlay compare enable. This is used to enable or disable the overlay field comparison. See equation q ((12)) in subsection 2.8.2, Color-Key y Switching g. 1: Enable compare 2–45 2.15.7 Color-Key (Overlay, Red, Green, Blue) Registers (Index: 0x30 – 0x37, Access: R/W, Default: Uninitialized) These registers specify the color comparison ranges for the four direct-color data fields when performing color-key switching. A low and a high register are provided for each of the four data fields to facilitate the range comparison. See subsection 2.8.2, Color-Key Switching, for more details on their usage. There are eight registers total, two for each color and associated overlay. The formats for both low and high registers are shown in Table 2-32. Values 0 to 0xFF can be written into the four color-key-low and four color-key-high registers. Table 2–32. Color-Key Low and High Registers COLOR-KEY LOW Data Bit D7 D6 D5 D4 D3 D2 D1 D0 Low Value L7 L6 L5 L4 L3 L2 L1 L0 Index = 0x30, 0x32, 0x34, and 0x36 COLOR-KEY HIGH Data Bit D7 D6 D5 D4 D3 D2 D1 D0 High Value H7 H6 H5 H4 H3 H2 H1 H0 Index = 0x31, 0x33, 0x35, and 0x37 2.15.8 CRC Remainder LSB and MSB Registers (Index: 0x3C – 0x3D, Access: Read Only, Default: Uninitialized) These registers read the result of the 16-bit CRC calculation (see subsection 2.11.1, 16-Bit CRC). They are not initialized and can be read by the MPU at any time. The CRC is updated when two consecutive HSYNC pulses are detected while Blank is active (vertical retrace). The CRC is only calculated on the active screen area, i.e., active blanking stops the calculation, see Table 2-33. One complete vertical screen must be completed to generate a valid CRC. Table 2–33. CRC Remainder LSB and MSB Registers CRC MSB Data Bit D7 D6 D5 CRC Remainder R15 R14 R13 CRC LSB D4 D3 D2 D1 D0 D7 D6 D5 D4 D3 D2 D1 D0 R12 R11 R10 R9 R8 R7 R6 R5 R4 R3 R2 R1 R0 Index = 0x3D 2.15.9 Index = 0x3C CRC Bit Select Register (Index: 0x3E, Access: Write Only, Default: Uninitialized) This write-only register specifies which of the 24 DAC data lines the 16-bit CRC should be calculated on (see subsection 2.11.1, 16-Bit CRC). The register is not initialized and can be written to by the MPU at any time. The CRC bit select register data format is shown in Table 2-34. Values from 0 to 23 (0x17) can be written into the register to select the appropriate data line. Table 2–34. CRC Bit Select Register BIT NAME BSR7 – BSR5 VALUES 000 DESCRIPTION Reserved 0x00 – 0x07: red0 – red7 BSR4 – BSR0 0x08 – 0x0F: green0 – green7 0x10 – 0x17: blue0 – blue7 2–46 CRC control t l code. d BSR4–BSR0 BSR4 BSR0 selects l t one off the th 24 DAC input i t lines as the in ut to the CRC calculation. input calculation 3 Electrical Characteristics 3.1 Absolute Maximum Ratings Over Operating Free-Air Temperature Range (unless otherwise noted)† Supply voltage, VDD (see Note 1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 V Input voltage range, VI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . – 0.5 V to VDD + 0.5 V Analog output short-circuit duration to any power supply or common . . . . . . . unlimited Operating free-air temperature range, TA . . . . . . . . . . . . . . . . . . . . . . . . . –55°C to 125°C Storage temperature range, Tstg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . – 65°C to 150°C Junction temperature, TJ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175°C Case temperature for 10 seconds, TC: HFG package . . . . . . . . . . . . . . . . . . . . . . . 260°C Lead temperature 1,6 mm (1/16 inch) from case for 10 seconds . . . . . . . . . . . . . . 260°C † Stresses beyond those listed under “absolute maximum ratings” may cause permanent damage to the device. These are stress ratings only, and functional operation of the device at these or any other conditions beyond those indicated under “recommended operating conditions” is not implied. Exposure to absolute-maximum-rated conditions for extended periods may affect device reliability. NOTE 1: All voltage values are with respect to GND. 3.2 Recommended Operating Conditions MIN NOM MAX UNIT 4.75 5 5.25 V Reference voltage, Vref 1.1 1.235 1.3 V High-level input voltage, VIH 2.4 VDD+0.5 0.8 V Supply voltages, AVDD, DVDD Low-level input voltage, VIL Output load resistance, RL FS ADJUST resistor, RSET XTAL1/XTAL2 crystal frequency Operating free-air temperature, TA –55 V Ω 37.5 523 Ω 14.31818 MHz 125 °C 3–1 3.3 Electrical Characteristics PARAMETER VOH VOL High-level output voltage Low-level output voltage lt D(7–0), GI/O (4 – 0), VCLK, RCLK, SENSE, PCLKOUT, MCLK HSYNCOUT, VSYNCOUT SCLK IIH High-level g input current TTL inputs IIL Low-level input current TTL inputs IDD Supply current Supply current reduction IOZ Ci ECL inputs ECL inputs TVP3026M-175 TEST CONDITIONS MIN IOH = – 800 µA 2.4 MAX UNIT V IOL = 3.2 mA 0.4 IOL = 15 mA IOL = 18 mA 0.4 VI = 2.4 V VI = 4 V 10 VI = 0.8 V VI = 0.4 V –10 V 0.5 10 –10 Pseudo color 1 True color 1 Direct color 1 µA µA A TVP3026M-175 DAC disabled 60 mA TVP3026M-175 DAC and DOT CLOCK disabled 350 mA High-impedance-state output current 25 TTL inputs f = 1 MHz, VI = 2.4 V 4 ECL inputs f = 1 MHz, VI = 4 V 4 Input capacitance Differential input voltage ECL inputs 0.6 VIC Common-mode input voltage ECL inputs 2.85 † All typical values are at VDD = 5 V, TA = 25°C. µA pF VID 3–2 TYP† 6 3.15 VDD – 0.5 V V 3.4 Operating Characteristics PARAMETER TEST CONDITIONS Resolution (each DAC) MIN TYP 8/6 high 8 8/6 low 6 8/6 high EL End-point linearityy error (each DAC) 8/6 low ED Differential linearity y error (each DAC) 8/6 low 1/4 8/6 high 1 1/4 17.69 19.05 20.4 mA White level relative to black (7.5 IRE only) 16.74 17.62 18.5 mA Black level relative to blank (7.5 IRE only) 0.95 1.44 1.9 mA Blank level on IOR, IOB –50 5 50 µA Blank level on IOG (with SYNC enabled) 6.29 7.6 8.96 mA Sync level on IOG (with SYNC enabled) –50 5 50 µA One LSB (8/6 high) 69.1 µA One LSB (8/6 low) 276.4 µA 2% DAC-to-DAC crosstalk –20 Output compliance –0.4 Voltage reference output co Output capacitance LSB White level relative to blank DAC-to-DAC matching Output impedance LSB 5% Output current (see Note 2) zo UNIT bits 1 Gray-scale error IO MAX 1.1 5% dB 1.2 1.235 1.3 V V 50 kΩ 13 pF Sense voltage reference 350 mV Clock and data feedthrough –20 dB f = 1 MHz, IOUT = 0 Glitch area (see Note 3) 50 pV–s Pipeline delay, VGA port 26 DOTCLK periods Pipeline delay, pixel port 26 DOTCLK periods 5 ms Pixel clock PLL, MCLK PLL Lock time Jitter "200 ps NOTES: 2. Test conditions for RS343-A video signals (unless otherwise specified): “Recommended Operating Conditions”, using external voltage reference Vref = 1.235 V, RSET = 523 Ω. When using the internal voltage reference, RSET may need to be adjusted in order to meet these limits. 3. Glitch area does not include clock and data feedthrough. The – 3-dB test bandwidth is twice the clock rate. 3–3 3.5 Timing Requirements (see Note 4) TVP3026M -175 MIN DOTCLK frequency Pixel clock PLL Internal frequency PCLKOUT frequency MCLK PLL frequency VCO frequency, pixel clock PLL, MCLK PLL, and loop clock PLL 110 CLK0 frequency for VGA mode 2 TTL 7.1 ECL 5.7 UNIT MAX 175 MHz 175 MHz 110 MHz 100 MHz 220 MHz 85 MHz tcyc Clock cycle time td4 Delay time, RCLK↑ to LCLK↑ (see Note 5) tsu1 th1 Setup time, RS3 – RS0 valid before RD or WR↓ 10 ns Hold time, RS3 – RS0 valid after RD or WR↓ 10 ns tsu2 th2 Setup time, D7 – D0 valid before WR↑ 35 ns Hold time, D7 – D0 valid after WR↑ 0 ns tsu3 th3 Setup time, VGA7 – VGA0 and VGAHS, VGAVS, and VGABL valid before CLK0↑ 5 ns Hold time, VGA7 – VGA0 and VGAHS, VGAVS, and VGABL valid after CLK0↑ 5 ns tsu4 th4 Setup time, P63 – P0, VGA7 – VGA0, and PSEL valid before LCLK↑ 5 ns Hold time, P63 – P0, VGA7 – VGA0, and PSEL valid after LCLK↑ 2 ns tsu5 th5 Setup time, SYSHS, SYSVS, and OVS valid before LCLK↑ 5 ns Hold time, SYSHS, SYSVS, and OVS valid after LCLK↑ 2 ns tsu6 th6 Setup time, SYSBL valid before LCLK↑ 5 ns Hold time, SYSBL valid after LCLK↑ 2 ns tw1 tw2 Pulse duration, RD or WR low 50 ns 30 ns tw3 3 0.5 Pulse duration, RD or WR high Pulse duration duration, clock high ns TTL 3 ECL 2.5 RCLK periods ns 3 ns 2.5 ECL NOTES: 4. TTL input signals are 0 to 3 V with less than 3 ns rise/fall time between the 10% and 90% levels unless otherwise specified. ECL input signals are VDD –1.8 V to VDD – 0.8 V with less than 2 ns rise/fall time between the 20% and 80% levels. For input and output signals, timing reference points are at the 10% and 90% signal levels. Analog output loads are less than 10 pF. D7 – D0 output loads are less than 50 pF. All other output loads are less than 50 pF unless otherwise specified. 5. This parameter only applies when SCLK is used as the VRAM shift clock. When SCLK is not used, the delay may be as much as is required by system logic (assuming the loop clock PLL is used to compensate for the system delay). tw4 4 3–4 Pulse duration, duration clock low TTL 3.6 Switching Characteristics PARAMETER TVP3026M- 175 MIN TYP MAX UNIT SCLK/RCLK frequency (see Note 6) 85 MHz VCLK frequency (see Note 6) 85 MHz ten1 tdis1 Enable time, RD low to D7 – D0 valid 40 ns Disable time, RD high to D7 – D0 disabled 17 ns tv1 td1 Valid time, D7 – D0 valid after RD high 5 ns Delay time, RD low to D7 – D0 starting to turn on 5 ns td2 Delay time, selected input clock high/low to DOTCLK (internal signal) high/low td3 Delay time, SCLK high/low to RCLK high/low (see Notes 7, 8, and 9) td5 Delay time, RCLK high to IOR/IOG/IOB active (analog output delay time) (see Note 10) 4 ns td6 td7 Analog output settling time (see Note 11) 5 ns Delay time, RCLK high to HSYNCOUT and VSYNCOUT valid 9 ns tr Analog output rise time (see Note 12) 2 ns Analog output skew 7 1 0 2 ns 6 2 ns ns NOTES: 6. SCLK can drive an output capacitive load up to 60 pF. The worst-case transition time between the 10% and 90% levels is less than 4 ns (typical 3 ns). RCLK and VCLK can drive output capacitive loads up to 15 pF, with worst case transition times between 10% and 90% levels less than 4 ns (typical 3 ns). 7. The SCLK delay time to RCLK depends on the load that the signals drive. This parameter is measured with an VCLK = RCLK load of 15 pF and SCLK load of 60 pF. 8. In SCLK mode, RCLK is delayed from SCLK in such a way that when RCLK is connected to LCLK, the timing is essentially the same as the TLC3407x family of parts. 9. This parameter applies when SCLK is used. 10. Measured from 90% point of rising clock edge to 50% of full-scale transition. 11. Measured from 50% point of full-scale transition to output settling, within ± 1 LSB (settling time does not include clock and data feedthrough). 12. Measured between 10% and 90% of full-scale transition. 3–5 3.7 Timing Diagrams th1 tsu1 RS3 – RS0 Valid tw1 tw2 RD,WR ten1 D7 – D0 tdis1 Data Out, RD Low td1 ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎ ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎ D7 – D0 tsu2 Figure 3–1. MPU Interface Timing 3–6 ÎÎÎÎÎÎ ÎÎÎÎÎÎ tv1 Data In, WR Low th2 tcyc tw3 tw4 CLK0 – 2/2 td2 td2 DOTCLK (internal signal) SCLK td3 td3 RCLK td4 LCLK VGA7 – VGA0 tsu3 VGAHS, VGAVS VGABL (CLK0 latching) ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎ ÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎÎ ÎÎÎÎÎÎÎÎÎÎÎÎ ÎÎÎÎÎÎ ÎÎÎÎÎÎÎÎÎÎÎÎ ÎÎÎÎÎÎ ÎÎÎÎÎÎÎÎÎÎ ÎÎÎÎÎÎ ÎÎÎÎÎÎÎÎÎÎ ÎÎÎÎÎÎ ÎÎÎÎÎÎÎÎÎÎ ÎÎÎÎÎÎ th3 Data tsu4 VGA7 – VGA0 P63 – P0, PSEL (LCLK latching) th4 Data tsu5, tsu6 SYSHS, SYSVS OVS, SYSBL (LCLK latching) th5, th6 Data td5 td6 IOR, IOG, IOB tr td7 HSYNCOUT VSYNCOUT Valid Valid Figure 3–2. Video Input /Output Timing 3–7 3–8 Appendix A Frequency Synthesis PLL Register Settings Table A–1 provides a listing of all possible frequency settings that can be used by the pixel clock PLL for frequency synthesis using the common 14.31818-MHz crystal. The same register settings can be used for the MCLK PLL provided that the MCLK maximum frequency of 100 MHz is not exceeded. For other reference frequencies, a similar table can be generated using the PLL equations given in Section 2.4. (A program for this purpose is available from Texas Instruments.) The constraints used to generate the table include limits for the VCO frequency and limits for the N-register value. PLL Architecture Reference Frequency (MHz) Minimum VCO Frequency (MHz) Maximum VCO Frequency (MHz) Minimum N-Register Value (dec) Maximum N-Register Value (dec) — TVP3026 — 14.318180 — 110.000000 — 220.000000 — 40 — 63 Table A–1. PLL Register Settings for 14.31818 MHz Reference OUTPUT VCO NREG MREG PREG 14.32 114.55 BF 3F B3 14.89 119.13 A8 27 B3 14.91 119.32 A9 28 B3 14.94 119.53 AA 29 B3 14.97 119.75 AB 2A B3 15.00 120.00 AC 2B B3 15.03 120.27 AD 2C B3 15.07 120.57 AE 2D B3 15.11 120.91 AF 2E B3 15.16 121.28 B0 2F B3 15.21 121.70 B1 30 B3 15.27 122.18 B2 31 B3 15.34 122.73 B3 32 B3 15.42 123.36 B4 33 B3 15.46 123.71 A8 26 B3 15.51 124.09 B5 34 B3 15.56 124.51 AA 28 B3 15.62 124.96 B6 35 B3 15.68 125.45 AC 2A B3 15.75 126.00 B7 36 B3 15.83 126.60 AE 2C B3 15.91 127.27 B8 37 B3 16.00 128.02 B0 2E B3 A–1 Table A–1. PLL Register Settings for 14.31818 MHz Reference (Continued) A–2 OUTPUT VCO NREG MREG PREG 16.04 128.29 A8 25 B3 16.11 128.86 B9 38 B3 16.19 129.49 AA 27 B3 16.23 129.82 B2 30 B3 16.27 130.17 AB 28 B3 16.36 130.91 BA 39 B3 16.47 131.73 AD 2A B3 16.52 132.17 B4 32 B3 16.58 132.63 AE 2B B3 16.61 132.87 A8 24 B3 16.70 133.64 BB 3A B3 16.81 134.47 AA 26 B3 16.84 134.76 B0 2D B3 16.92 135.37 B6 34 B3 17.00 136.02 B1 2E B3 17.05 136.36 AC 28 B3 17.18 137.45 BC 3B B3 17.30 138.41 A9 24 B3 17.33 138.66 AE 2A B3 17.39 139.09 B3 30 B3 17.43 139.45 AA 25 B3 17.50 140.00 B8 36 B3 17.57 140.58 AB 26 B3 17.62 140.98 B4 31 B3 17.69 141.50 B0 2C B3 17.73 141.82 AC 27 B3 17.75 142.04 A8 22 B3 17.90 143.18 BD 3C B3 18.05 144.43 AA 24 B3 18.09 144.69 AE 29 B3 18.14 145.09 B2 2E B3 18.22 145.79 B6 33 B3 18.30 146.36 AF 2A B3 18.33 146.62 A8 21 B3 18.41 147.27 BA 38 B3 18.49 147.95 A9 22 B3 18.53 148.24 B0 2B B3 18.61 148.91 B7 34 B3 Table A–1. PLL Register Settings for 14.31818 MHz Reference (Continued) OUTPUT VCO NREG MREG PREG 18.68 149.41 AA 23 B3 18.72 149.79 B4 30 B3 18.79 150.34 B1 2C B3 18.84 150.72 AE 28 B3 18.87 150.99 AB 24 B3 18.90 151.20 A8 20 B3 19.09 152.73 BE 3D B3 19.30 154.39 AA 22 B3 19.33 154.64 AD 26 B3 19.37 154.97 B0 2A B3 19.43 155.45 B3 2E B3 19.47 155.78 A8 1F B3 19.52 156.20 B6 32 B3 19.59 156.75 AE 27 B3 19.69 157.50 B9 36 B3 19.77 158.18 AC 24 B3 19.83 158.60 B4 2F B3 19.89 159.09 AF 28 B3 19.92 159.37 AA 21 B3 20.05 160.36 BC 3A B3 20.18 161.40 AB 22 B3 20.21 161.71 B0 29 B3 20.28 162.27 B5 30 B3 20.35 162.78 AE 26 B3 20.45 163.64 BA 37 B3 20.54 164.35 AA 20 B3 20.58 164.66 B1 2A B3 20.62 164.95 A8 1D B3 20.68 165.45 B8 34 B3 20.76 166.09 AD 24 B3 20.83 166.61 B6 31 B3 20.88 167.05 A9 1E B3 20.93 167.41 B4 2E B3 21.00 168.00 B2 2B B3 21.06 168.45 B0 28 B3 21.10 168.80 AE 25 B3 21.14 169.09 AC 22 B3 21.17 169.33 AA 1F B3 21.19 169.53 A8 1C B3 A–3 Table A–1. PLL Register Settings for 14.31818 MHz Reference (Continued) A–4 OUTPUT VCO NREG MREG PREG 21.48 171.82 BF 3E B3 21.76 174.11 A8 1B B3 21.79 174.31 AA 1E B3 21.82 174.55 AC 21 B3 21.85 174.83 AE 24 B3 21.90 175.19 B0 27 B3 21.95 175.64 B2 2A B3 22.03 176.22 B4 2D B3 22.07 176.59 A9 1C B3 22.13 177.02 B6 30 B3 22.19 177.55 AD 22 B3 22.27 178.18 B8 33 B3 22.34 178.69 A8 1A B3 22.37 178.98 B1 28 B3 22.41 179.29 AA 1D B3 22.50 180.00 BA 36 B3 22.61 180.86 AE 23 B3 22.67 181.36 B5 2E B3 22.74 181.93 B0 26 B3 22.78 182.23 AB 1E B3 22.91 183.27 BC 39 B3 23.03 184.27 AA 1C B3 23.07 184.55 AF 24 B3 23.13 185.03 B4 2C B3 23.18 185.45 AC 1F B3 23.27 186.14 B9 34 B3 23.36 186.89 AE 22 B3 23.43 187.44 B6 2F B3 23.48 187.85 A8 18 B3 23.52 188.18 B3 2A B3 23.58 188.66 B0 25 B3 23.62 189.00 AD 20 B3 23.66 189.25 AA 1B B3 23.86 190.91 BE 3C B3 24.05 192.44 A8 17 B3 24.08 192.64 AB 1C B3 24.11 192.92 AE 21 B3 24.16 193.30 B1 26 B3 24.23 193.85 B4 2B B3 Table A–1. PLL Register Settings for 14.31818 MHz Reference (Continued) OUTPUT VCO NREG MREG PREG 24.28 194.23 AA 1A B3 24.34 194.73 B7 30 B3 24.43 195.40 B0 24 B3 24.46 195.68 A9 18 B3 24.55 196.36 BA 35 B3 24.63 197.02 A8 16 B3 24.66 197.27 AF 22 B3 24.73 197.85 B6 2E B3 24.82 198.55 B2 27 B3 24.87 198.95 AE 20 B3 24.90 199.21 AA 19 B3 25.06 200.45 BD 3A B3 25.20 201.60 A8 15 B3 25.23 201.82 AC 1C B3 25.27 202.14 B0 23 B3 25.33 202.66 B4 2A B3 25.38 203.06 AB 1A B3 25.45 203.64 B8 31 B3 25.52 204.19 AA 18 B3 25.57 204.55 B3 28 B3 25.62 204.98 AE 1F B3 25.65 205.23 A9 16 B3 25.77 206.18 BC 38 B3 25.91 207.27 AC 1B B3 25.95 207.61 B1 24 B3 26.03 208.26 B6 2D B3 26.11 208.88 B0 22 B3 26.15 209.17 AA 17 B3 26.25 210.00 BB 36 B3 26.35 210.76 A8 13 B3 26.38 211.00 AE 1E B3 26.43 211.47 B4 29 B3 26.49 211.91 AD 1C B3 26.59 212.73 BA 34 B3 26.68 213.47 AB 18 B3 26.73 213.82 B2 25 B3 26.77 214.15 AA 16 B3 26.85 214.77 B9 32 B3 26.92 215.35 A8 12 B3 26.95 215.61 B0 21 B3 A–5 Table A–1. PLL Register Settings for 14.31818 MHz Reference (Continued) A–6 OUTPUT VCO NREG MREG PREG 27.05 216.36 B8 30 B3 27.13 217.03 AE 1D B3 27.20 217.64 B7 2E B3 27.27 218.18 AC 19 B3 27.33 218.68 B6 2C B3 27.39 219.13 AA 15 B3 27.44 219.55 B5 2A B3 27.49 219.93 A8 11 B3 28.64 114.55 BF 3F B2 29.78 119.13 A8 27 B2 29.83 119.32 A9 28 B2 29.88 119.53 AA 29 B2 29.94 119.75 AB 2A B2 30.00 120.00 AC 2B B2 30.07 120.27 AD 2C B2 30.14 120.57 AE 2D B2 30.23 120.91 AF 2E B2 30.32 121.28 B0 2F B2 30.43 121.70 B1 30 B2 30.55 122.18 B2 31 B2 30.68 122.73 B3 32 B2 30.84 123.36 B4 33 B2 30.93 123.71 A8 26 B2 31.02 124.09 B5 34 B2 31.13 124.51 AA 28 B2 31.24 124.96 B6 35 B2 31.36 125.45 AC 2A B2 31.50 126.00 B7 36 B2 31.65 126.60 AE 2C B2 31.82 127.27 B8 37 B2 32.01 128.02 B0 2E B2 32.07 128.29 A8 25 B2 32.22 128.86 B9 38 B2 32.37 129.49 AA 27 B2 32.45 129.82 B2 30 B2 32.54 130.17 AB 28 B2 32.73 130.91 BA 39 B2 32.93 131.73 AD 2A B2 33.04 132.17 B4 32 B2 33.16 132.63 AE 2B B2 Table A–1. PLL Register Settings for 14.31818 MHz Reference (Continued) OUTPUT VCO NREG MREG PREG 33.22 132.87 A8 24 B2 33.41 133.64 BB 3A B2 33.62 134.47 AA 26 B2 33.69 134.76 B0 2D B2 33.84 135.37 B6 34 B2 34.01 136.02 B1 2E B2 34.09 136.36 AC 28 B2 34.36 137.45 BC 3B B2 34.60 138.41 A9 24 B2 34.67 138.66 AE 2A B2 34.77 139.09 B3 30 B2 34.86 139.45 AA 25 B2 35.00 140.00 B8 36 B2 35.14 140.58 AB 26 B2 35.24 140.98 B4 31 B2 35.37 141.50 B0 2C B2 35.45 141.82 AC 27 B2 35.51 142.04 A8 22 B2 35.80 143.18 BD 3C B2 36.11 144.43 AA 24 B2 36.17 144.69 AE 29 B2 36.27 145.09 B2 2E B2 36.45 145.79 B6 33 B2 36.59 146.36 AF 2A B2 36.65 146.62 A8 21 B2 36.82 147.27 BA 38 B2 36.99 147.95 A9 22 B2 37.06 148.24 B0 2B B2 37.23 148.91 B7 34 B2 37.35 149.41 AA 23 B2 37.45 149.79 B4 30 B2 37.59 150.34 B1 2C B2 37.68 150.72 AE 28 B2 37.75 150.99 AB 24 B2 37.80 151.20 A8 20 B2 38.18 152.73 BE 3D B2 38.60 154.39 AA 22 B2 38.66 154.64 AD 26 B2 38.74 154.97 B0 2A B2 38.86 155.45 B3 2E B2 A–7 Table A–1. PLL Register Settings for 14.31818 MHz Reference (Continued) A–8 OUTPUT VCO NREG MREG PREG 38.95 155.78 A8 1F B2 39.05 156.20 B6 32 B2 39.19 156.75 AE 27 B2 39.37 157.50 B9 36 B2 39.55 158.18 AC 24 B2 39.65 158.60 B4 2F B2 39.77 159.09 AF 28 B2 39.84 159.37 AA 21 B2 40.09 160.36 BC 3A B2 40.35 161.40 AB 22 B2 40.43 161.71 B0 29 B2 40.57 162.27 B5 30 B2 40.69 162.78 AE 26 B2 40.91 163.64 BA 37 B2 41.09 164.35 AA 20 B2 41.16 164.66 B1 2A B2 41.24 164.95 A8 1D B2 41.36 165.45 B8 34 B2 41.52 166.09 AD 24 B2 41.65 166.61 B6 31 B2 41.76 167.05 A9 1E B2 41.85 167.41 B4 2E B2 42.00 168.00 B2 2B B2 42.11 168.45 B0 28 B2 42.20 168.80 AE 25 B2 42.27 169.09 AC 22 B2 42.33 169.33 AA 1F B2 42.38 169.53 A8 1C B2 42.95 171.82 BF 3E B2 43.53 174.11 A8 1B B2 43.58 174.31 AA 1E B2 43.64 174.55 AC 21 B2 43.71 174.83 AE 24 B2 43.80 175.19 B0 27 B2 43.91 175.64 B2 2A B2 44.06 176.22 B4 2D B2 44.15 176.59 A9 1C B2 44.26 177.02 B6 30 B2 44.39 177.55 AD 22 B2 44.55 178.18 B8 33 B2 Table A–1. PLL Register Settings for 14.31818 MHz Reference (Continued) OUTPUT VCO NREG MREG PREG 44.67 178.69 A8 1A B2 44.74 178.98 B1 28 B2 44.82 179.29 AA 1D B2 45.00 180.00 BA 36 B2 45.22 180.86 AE 23 B2 45.34 181.36 B5 2E B2 45.48 181.93 B0 26 B2 45.56 182.23 AB 1E B2 45.82 183.27 BC 39 B2 46.07 184.27 AA 1C B2 46.14 184.55 AF 24 B2 46.26 185.03 B4 2C B2 46.36 185.45 AC 1F B2 46.53 186.14 B9 34 B2 46.72 186.89 AE 22 B2 46.86 187.44 B6 2F B2 46.96 187.85 A8 18 B2 47.05 188.18 B3 2A B2 47.17 188.66 B0 25 B2 47.25 189.00 AD 20 B2 47.31 189.25 AA 1B B2 47.73 190.91 BE 3C B2 48.11 192.44 A8 17 B2 48.16 192.64 AB 1C B2 48.23 192.92 AE 21 B2 48.32 193.30 B1 26 B2 48.46 193.85 B4 2B B2 48.56 194.23 AA 1A B2 48.68 194.73 B7 30 B2 48.85 195.40 B0 24 B2 48.92 195.68 A9 18 B2 49.09 196.36 BA 35 B2 49.25 197.02 A8 16 B2 49.32 197.27 AF 22 B2 49.46 197.85 B6 2E B2 49.64 198.55 B2 27 B2 49.74 198.95 AE 20 B2 49.80 199.21 AA 19 B2 50.11 200.45 BD 3A B2 50.40 201.60 A8 15 B2 A–9 Table A–1. PLL Register Settings for 14.31818 MHz Reference (Continued) A–10 OUTPUT VCO NREG MREG PREG 50.45 201.82 AC 1C B2 50.53 202.14 B0 23 B2 50.66 202.66 B4 2A B2 50.76 203.06 AB 1A B2 50.91 203.64 B8 31 B2 51.05 204.19 AA 18 B2 51.14 204.55 B3 28 B2 51.24 204.98 AE 1F B2 51.31 205.23 A9 16 B2 51.55 206.18 BC 38 B2 51.82 207.27 AC 1B B2 51.90 207.61 B1 24 B2 52.07 208.26 B6 2D B2 52.22 208.88 B0 22 B2 52.29 209.17 AA 17 B2 52.50 210.00 BB 36 B2 52.69 210.76 A8 13 B2 52.75 211.00 AE 1E B2 52.87 211.47 B4 29 B2 52.98 211.91 AD 1C B2 53.18 212.73 BA 34 B2 53.37 213.47 AB 18 B2 53.45 213.82 B2 25 B2 53.54 214.15 AA 16 B2 53.69 214.77 B9 32 B2 53.84 215.35 A8 12 B2 53.90 215.61 B0 21 B2 54.09 216.36 B8 30 B2 54.26 217.03 AE 1D B2 54.41 217.64 B7 2E B2 54.55 218.18 AC 19 B2 54.67 218.68 B6 2C B2 54.78 219.13 AA 15 B2 54.89 219.55 B5 2A B2 54.98 219.93 A8 11 B2 57.27 114.55 BF 3F B1 59.56 119.13 A8 27 B1 59.66 119.32 A9 28 B1 59.76 119.53 AA 29 B1 59.88 119.75 AB 2A B1 Table A–1. PLL Register Settings for 14.31818 MHz Reference (Continued) OUTPUT VCO NREG MREG PREG 60.00 120.00 AC 2B B1 60.14 120.27 AD 2C B1 60.29 120.57 AE 2D B1 60.45 120.91 AF 2E B1 60.64 121.28 B0 2F B1 60.85 121.70 B1 30 B1 61.09 122.18 B2 31 B1 61.36 122.73 B3 32 B1 61.68 123.36 B4 33 B1 61.85 123.71 A8 26 B1 62.05 124.09 B5 34 B1 62.25 124.51 AA 28 B1 62.48 124.96 B6 35 B1 62.73 125.45 AC 2A B1 63.00 126.00 B7 36 B1 63.30 126.60 AE 2C B1 63.64 127.27 B8 37 B1 64.01 128.02 B0 2E B1 64.15 128.29 A8 25 B1 64.43 128.86 B9 38 B1 64.74 129.49 AA 27 B1 64.91 129.82 B2 30 B1 65.08 130.17 AB 28 B1 65.45 130.91 BA 39 B1 65.86 131.73 AD 2A B1 66.08 132.17 B4 32 B1 66.32 132.63 AE 2B B1 66.44 132.87 A8 24 B1 66.82 133.64 BB 3A B1 67.23 134.47 AA 26 B1 67.38 134.76 B0 2D B1 67.69 135.37 B6 34 B1 68.01 136.02 B1 2E B1 68.18 136.36 AC 28 B1 68.73 137.45 BC 3B B1 69.20 138.41 A9 24 B1 69.33 138.66 AE 2A B1 69.55 139.09 B3 30 B1 69.72 139.45 AA 25 B1 70.00 140.00 B8 36 B1 A–11 Table A–1. PLL Register Settings for 14.31818 MHz Reference (Continued) A–12 OUTPUT VCO NREG MREG PREG 70.29 140.58 AB 26 B1 70.49 140.98 B4 31 B1 70.75 141.50 B0 2C B1 70.91 141.82 AC 27 B1 71.02 142.04 A8 22 B1 71.59 143.18 BD 3C B1 72.21 144.43 AA 24 B1 72.34 144.69 AE 29 B1 72.55 145.09 B2 2E B1 72.89 145.79 B6 33 B1 73.18 146.36 AF 2A B1 73.31 146.62 A8 21 B1 73.64 147.27 BA 38 B1 73.98 147.95 A9 22 B1 74.12 148.24 B0 2B B1 74.45 148.91 B7 34 B1 74.70 149.41 AA 23 B1 74.90 149.79 B4 30 B1 75.17 150.34 B1 2C B1 75.36 150.72 AE 28 B1 75.50 150.99 AB 24 B1 75.60 151.20 A8 20 B1 76.36 152.73 BE 3D B1 77.19 154.39 AA 22 B1 77.32 154.64 AD 26 B1 77.49 154.97 B0 2A B1 77.73 155.45 B3 2E B1 77.89 155.78 A8 1F B1 78.10 156.20 B6 32 B1 78.37 156.75 AE 27 B1 78.75 157.50 B9 36 B1 79.09 158.18 AC 24 B1 79.30 158.60 B4 2F B1 79.55 159.09 AF 28 B1 79.68 159.37 AA 21 B1 80.18 160.36 BC 3A B1 80.70 161.40 AB 22 B1 80.86 161.71 B0 29 B1 81.14 162.27 B5 30 B1 81.39 162.78 AE 26 B1 Table A–1. PLL Register Settings for 14.31818 MHz Reference (Continued) OUTPUT VCO NREG MREG PREG 81.82 163.64 BA 37 B1 82.17 164.35 AA 20 B1 82.33 164.66 B1 2A B1 82.47 164.95 A8 1D B1 82.73 165.45 B8 34 B1 83.05 166.09 AD 24 B1 83.31 166.61 B6 31 B1 83.52 167.05 A9 1E B1 83.71 167.41 B4 2E B1 84.00 168.00 B2 2B B1 84.22 168.45 B0 28 B1 84.40 168.80 AE 25 B1 84.55 169.09 AC 22 B1 84.66 169.33 AA 1F B1 84.76 169.53 A8 1C B1 85.91 171.82 BF 3E B1 87.05 174.11 A8 1B B1 87.15 174.31 AA 1E B1 87.27 174.55 AC 21 B1 87.42 174.83 AE 24 B1 87.59 175.19 B0 27 B1 87.82 175.64 B2 2A B1 88.11 176.22 B4 2D B1 88.30 176.59 A9 1C B1 88.51 177.02 B6 30 B1 88.77 177.55 AD 22 B1 89.09 178.18 B8 33 B1 89.35 178.69 A8 1A B1 89.49 178.98 B1 28 B1 89.64 179.29 AA 1D B1 90.00 180.00 BA 36 B1 90.43 180.86 AE 23 B1 90.68 181.36 B5 2E B1 90.96 181.93 B0 26 B1 91.12 182.23 AB 1E B1 91.64 183.27 BC 39 B1 92.13 184.27 AA 1C B1 92.27 184.55 AF 24 B1 92.52 185.03 B4 2C B1 92.73 185.45 AC 1F B1 A–13 Table A–1. PLL Register Settings for 14.31818 MHz Reference (Continued) A–14 OUTPUT VCO NREG MREG PREG 93.07 186.14 B9 34 B1 93.44 186.89 AE 22 B1 93.72 187.44 B6 2F B1 93.93 187.85 A8 18 B1 94.09 188.18 B3 2A B1 94.33 188.66 B0 25 B1 94.50 189.00 AD 20 B1 94.62 189.25 AA 1B B1 95.45 190.91 BE 3C B1 96.22 192.44 A8 17 B1 96.32 192.64 AB 1C B1 96.46 192.92 AE 21 B1 96.65 193.30 B1 26 B1 96.92 193.85 B4 2B B1 97.11 194.23 AA 1A B1 97.36 194.73 B7 30 B1 97.70 195.40 B0 24 B1 97.84 195.68 A9 18 B1 98.18 196.36 BA 35 B1 98.51 197.02 A8 16 B1 98.64 197.27 AF 22 B1 98.93 197.85 B6 2E B1 99.27 198.55 B2 27 B1 99.47 198.95 AE 20 B1 99.60 199.21 AA 19 B1 100.23 200.45 BD 3A B1 100.80 201.60 A8 15 B1 100.91 201.82 AC 1C B1 101.07 202.14 B0 23 B1 101.33 202.66 B4 2A B1 101.53 203.06 AB 1A B1 101.82 203.64 B8 31 B1 102.09 204.19 AA 18 B1 102.27 204.55 B3 28 B1 102.49 204.98 AE 1F B1 102.61 205.23 A9 16 B1 103.09 206.18 BC 38 B1 103.64 207.27 AC 1B B1 103.81 207.61 B1 24 B1 104.13 208.26 B6 2D B1 Table A–1. PLL Register Settings for 14.31818 MHz Reference (Continued) OUTPUT VCO NREG MREG PREG 104.44 208.88 B0 22 B1 104.58 209.17 AA 17 B1 105.00 210.00 BB 36 B1 105.38 210.76 A8 13 B1 105.50 211.00 AE 1E B1 105.73 211.47 B4 29 B1 105.95 211.91 AD 1C B1 106.36 212.73 BA 34 B1 106.74 213.47 AB 18 B1 106.91 213.82 B2 25 B1 107.08 214.15 AA 16 B1 107.39 214.77 B9 32 B1 107.67 215.35 A8 12 B1 107.81 215.61 B0 21 B1 108.18 216.36 B8 30 B1 108.52 217.03 AE 1D B1 108.82 217.64 B7 2E B1 109.09 218.18 AC 19 B1 109.34 218.68 B6 2C B1 109.57 219.13 AA 15 B1 109.77 219.55 B5 2A B1 109.96 219.93 A8 11 B1 114.55 114.55 BF 3F B0 119.13 119.13 A8 27 B0 119.32 119.32 A9 28 B0 119.53 119.53 AA 29 B0 119.75 119.75 AB 2A B0 120.00 120.00 AC 2B B0 120.27 120.27 AD 2C B0 120.57 120.57 AE 2D B0 120.91 120.91 AF 2E B0 121.28 121.28 B0 2F B0 121.70 121.70 B1 30 B0 122.18 122.18 B2 31 B0 122.73 122.73 B3 32 B0 123.36 123.36 B4 33 B0 123.71 123.71 A8 26 B0 124.09 124.09 B5 34 B0 124.51 124.51 AA 28 B0 124.96 124.96 B6 35 B0 A–15 Table A–1. PLL Register Settings for 14.31818 MHz Reference (Continued) A–16 OUTPUT VCO NREG MREG PREG 125.45 125.45 AC 2A B0 126.00 126.00 B7 36 B0 126.60 126.60 AE 2C B0 127.27 127.27 B8 37 B0 128.02 128.02 B0 2E B0 128.29 128.29 A8 25 B0 128.86 128.86 B9 38 B0 129.49 129.49 AA 27 B0 129.82 129.82 B2 30 B0 130.17 130.17 AB 28 B0 130.91 130.91 BA 39 B0 131.73 131.73 AD 2A B0 132.17 132.17 B4 32 B0 132.63 132.63 AE 2B B0 132.87 132.87 A8 24 B0 133.64 133.64 BB 3A B0 134.47 134.47 AA 26 B0 134.76 134.76 B0 2D B0 135.37 135.37 B6 34 B0 136.02 136.02 B1 2E B0 136.36 136.36 AC 28 B0 137.45 137.45 BC 3B B0 138.41 138.41 A9 24 B0 138.66 138.66 AE 2A B0 139.09 139.09 B3 30 B0 139.45 139.45 AA 25 B0 140.00 140.00 B8 36 B0 140.58 140.58 AB 26 B0 140.98 140.98 B4 31 B0 141.50 141.50 B0 2C B0 141.82 141.82 AC 27 B0 142.04 142.04 A8 22 B0 143.18 143.18 BD 3C B0 144.43 144.43 AA 24 B0 144.69 144.69 AE 29 B0 145.09 145.09 B2 2E B0 145.79 145.79 B6 33 B0 146.36 146.36 AF 2A B0 146.62 146.62 A8 21 B0 Table A–1. PLL Register Settings for 14.31818 MHz Reference (Continued) OUTPUT VCO NREG MREG PREG 147.27 147.27 BA 38 B0 147.95 147.95 A9 22 B0 148.24 148.24 B0 2B B0 148.91 148.91 B7 34 B0 149.41 149.41 AA 23 B0 149.79 149.79 B4 30 B0 150.34 150.34 B1 2C B0 150.72 150.72 AE 28 B0 150.99 150.99 AB 24 B0 151.20 151.20 A8 20 B0 152.73 152.73 BE 3D B0 154.39 154.39 AA 22 B0 154.64 154.64 AD 26 B0 154.97 154.97 B0 2A B0 155.45 155.45 B3 2E B0 155.78 155.78 A8 1F B0 156.20 156.20 B6 32 B0 156.75 156.75 AE 27 B0 157.50 157.50 B9 36 B0 158.18 158.18 AC 24 B0 158.60 158.60 B4 2F B0 159.09 159.09 AF 28 B0 159.37 159.37 AA 21 B0 160.36 160.36 BC 3A B0 161.40 161.40 AB 22 B0 161.71 161.71 B0 29 B0 162.27 162.27 B5 30 B0 162.78 162.78 AE 26 B0 163.64 163.64 BA 37 B0 164.35 164.35 AA 20 B0 164.66 164.66 B1 2A B0 164.95 164.95 A8 1D B0 165.45 165.45 B8 34 B0 166.09 166.09 AD 24 B0 166.61 166.61 B6 31 B0 167.05 167.05 A9 1E B0 167.41 167.41 B4 2E B0 168.00 168.00 B2 2B B0 168.45 168.45 B0 28 B0 A–17 Table A–1. PLL Register Settings for 14.31818 MHz Reference (Continued) A–18 OUTPUT VCO NREG MREG PREG 168.80 168.80 AE 25 B0 169.09 169.09 AC 22 B0 169.33 169.33 AA 1F B0 169.53 169.53 A8 1C B0 171.82 171.82 BF 3E B0 174.11 174.11 A8 1B B0 174.31 174.31 AA 1E B0 174.55 174.55 AC 21 B0 174.83 174.83 AE 24 B0 175.19 175.19 B0 27 B0 175.64 175.64 B2 2A B0 176.22 176.22 B4 2D B0 176.59 176.59 A9 1C B0 177.02 177.02 B6 30 B0 177.55 177.55 AD 22 B0 178.18 178.18 B8 33 B0 178.69 178.69 A8 1A B0 178.98 178.98 B1 28 B0 179.29 179.29 AA 1D B0 180.00 180.00 BA 36 B0 180.86 180.86 AE 23 B0 181.36 181.36 B5 2E B0 181.93 181.93 B0 26 B0 182.23 182.23 AB 1E B0 183.27 183.27 BC 39 B0 184.27 184.27 AA 1C B0 184.55 184.55 AF 24 B0 185.03 185.03 B4 2C B0 185.45 185.45 AC 1F B0 186.14 186.14 B9 34 B0 186.89 186.89 AE 22 B0 187.44 187.44 B6 2F B0 187.85 187.85 A8 18 B0 188.18 188.18 B3 2A B0 188.66 188.66 B0 25 B0 189.00 189.00 AD 20 B0 189.25 189.25 AA 1B B0 190.91 190.91 BE 3C B0 Table A–1. PLL Register Settings for 14.31818 MHz Reference (Continued) OUTPUT VCO NREG MREG PREG 192.44 192.44 A8 17 B0 192.64 192.64 AB 1C B0 192.92 192.92 AE 21 B0 193.30 193.30 B1 26 B0 193.85 193.85 B4 2B B0 194.23 194.23 AA 1A B0 194.73 194.73 B7 30 B0 195.40 195.40 B0 24 B0 195.68 195.68 A9 18 B0 196.36 196.36 BA 35 B0 197.02 197.02 A8 16 B0 197.27 197.27 AF 22 B0 197.85 197.85 B6 2E B0 198.55 198.55 B2 27 B0 198.95 198.95 AE 20 B0 199.21 199.21 AA 19 B0 200.45 200.45 BD 3A B0 201.60 201.60 A8 15 B0 201.82 201.82 AC 1C B0 202.14 202.14 B0 23 B0 202.66 202.66 B4 2A B0 203.06 203.06 AB 1A B0 203.64 203.64 B8 31 B0 204.19 204.19 AA 18 B0 204.55 204.55 B3 28 B0 204.98 204.98 AE 1F B0 205.23 205.23 A9 16 B0 206.18 206.18 BC 38 B0 207.27 207.27 AC 1B B0 207.61 207.61 B1 24 B0 208.26 208.26 B6 2D B0 208.88 208.88 B0 22 B0 209.17 209.17 AA 17 B0 210.00 210.00 BB 36 B0 210.76 210.76 A8 13 B0 211.00 211.00 AE 1E B0 211.47 211.47 B4 29 B0 211.91 211.91 AD 1C B0 212.73 212.73 BA 34 B0 213.47 213.47 AB 18 B0 A–19 Table A–1. PLL Register Settings for 14.31818 MHz Reference (Continued) A–20 OUTPUT VCO NREG MREG PREG 213.82 213.82 B2 25 B0 214.15 214.15 AA 16 B0 214.77 214.77 B9 32 B0 215.35 215.35 A8 12 B0 215.61 215.61 B0 21 B0 216.36 216.36 B8 30 B0 217.03 217.03 AE 1D B0 217.64 217.64 B7 2E B0 218.18 218.18 AC 19 B0 218.68 218.68 B6 2C B0 219.13 219.13 AA 15 B0 219.55 219.55 B5 2A B0 219.93 219.93 A8 11 B0 Appendix B PLL Programming Examples Loop Clock PLL The internal structure of the loop clock PLL is shown in Figure B–1. The loop clock PLL is used to phase align the received LCLK with the internal dot clock in order to ensure reliable data latching into the TVP3026M. The phase detector performs phase comparison at the rising edge of the received clocks after the N and M prescalars. The charge pump and loop filter generate an analog control signal to the voltage controlled oscillator. The VCO frequency is then divided by the P and Q post-scalers. The P post-scalar provides division ratios of 1, 2, 4, or 8. The Q post-scalar provides additional division ratios of 2, 4, 6, 8, 10, 12, 14 and 16. The Q post-scalar provides for the extra low frequencies needed for low-resolution graphics using a high multiplex ratio, such as 640 x 480, 8 bits/pixel, using a 64-bit pixel bus. The output from the loop clock PLL or the pixel clock PLL can be selected for output on the RCLK terminal. Dot Clock 1 65 – N Up Phase Detector LCLK Down Charge Pump VCO 1 2P 1 2(Q + 1) OUT 1 65 – M Figure B–1. Loop Clock PLL Structure As a programming example, follow the procedure of subsection 2.4.3, Programming for All Modes Except Packed-24.1 for a mode using a 170 MHz pixel clock, 8 bits/pixel, a 64-bit pixel bus, and an external division factor (through the GUI accelerator) of 2. + 170 MHz, B + 8, W + 64, K + 2 8 + 21.25 MHz B + 170 f +f L D W 64 f + K f + 2 21.25 + 42.5 MHz R L N + 65 * 2 W + 65 * 2 64 + 49 + 0x31 8 B M + 63 + 0x3F 55 (65 * N) Z+ + 55 170(65 *2 49) + 2.59 f K f D D Since Z < 16 and log2 (Z) is between 1 and 2, then P = 1 and Q = 0 Since bits 7,6 of the N-value register must be 1,0 the N-value register is loaded with 0x31 + 0x80 = 0xB1. The M-value register is loaded with 0x3F. Since bits 7 – 2 of the P-value register must be 1111 00, the P-value register is loaded with 0x01 + 0xF0 = 0xF1. Bits 2 – 0 of the MCLK/loop clock control register (index: 0x39) are loaded with the Q value of 000. B–1 The resulting divide ratios and clock frequencies are illustrated in Figure B–2. TVP3026M Loop Clock PLL Dot Clock 170 MHz 10.625 MHz ÷ 16 N = 49 (65 – N = 16) LCLK ÷2 Phase Detector Charge Pump Down ÷2 VCO P=1 (2P = 2) (2 10.625 MHz 21.25 MHz 85 MHz 170 MHz Up ÷2 OUT 42.5 MHz Q=0 [Q +1] = 2) M = 63 (65 – M = 2) GUI Accelerator ÷2 21.25 MHz 42.5 MHz K=2 Figure B–2. Loop Clock PLL Example Pixel Clock and MCLK PLLs The internal structure used for the pixel clock and MCLK PLLs is shown in Figure B–3. These PLLs are used to synthesize the pixel clock and MCLK frequencies. The reference clock can be either a resonant crystal or can be driven with a TTL-level signal. The phase detector performs phase comparison at the rising edge of the received clocks after the N and M prescalers. The charge pump and loop filter generate an analog control signal to the voltage-controlled oscillator (VCO). The VCO frequency is then divided by the P post scalar. The P post scalar provides division ratios of 1, 2, 4, or 8. The output from the pixel clock PLL or the loop clock PLL can be selected for output on the RCLK terminal. The output from the MCLK PLL or the internal dot clock (to provide a smooth transition on MCLK) can be selected for output on the MCLK terminal. The same PLL register values can be used for the pixel clock PLL or MCLK PLL, as long as the output frequency of the MCLK PLL does not exceed 100 MHz. Ref Clock 1 65 – N Up Phase Detector Down Charge Pump VCO 1 2P OUT 1 65 – M 1 8 Figure B–3. Pixel Clock and MCLK PLL Structure As a programming example, consider programming the pixel clock PLL for a mode using a 170-MHz pixel clock. Since the reference clock is the common 14.31818-MHz crystal, the register values in Appendix A B–2 can be used directly. The closest frequency in Table A–1 is 169.53 MHz for which the PLL registers are loaded with N-value register = 0xA8, M-value register = 0x1C, and P-value register = 0xB0. The N and M numbers are the lower 6 bits of the N-value register and the M-value register respectively. The P number is the lower two bits of the P-value register. After extracting and converting to decimal, this becomes N = 40, M = 28, and P = 0. The resulting divide ratios for the prescalers and the post-scalar and the resulting clock frequencies are illustrated in Figure B–4. Ref Clock 14.31818 MHz ÷ 25 N = 40 (65 – N = 25) 21.19 MHz ÷ 37 0.57 MHz Up Phase Detector Down Charge Pump ÷1 VCO OUT 169.53 MHz P=0 (2P = 1) 0.57 MHz M = 28 (65 – M = 37) ÷8 21.19 MHz 169.53 MHz Figure B–4. Pixel Clock PLL Example The equations given in subsection 2.4.1, Pixel Clock PLL, give the same result for the VCO frequency and PLL output frequency. The VCO frequency is within the specified limits. f VCO * M + 8 14.31818 *N 110 MHz v F v 220 MHz VCO +8 f PLL f REF 65 65 65 65 * 28 + 169.53 MHz * 40 + fVCO + 169.53 + 169.53 MHz 20 2P B–3 B–4 Appendix C Mechanical Data HFG (S-CQFP-F164) CERAMIC QUAD FLATPACK WITH TIE-BAR 1.165 (29,59) 1.125 (28,58) 0.275 (6,99) Tie Bar Width 0.175 (4,44) 1.002 (25,45) 0.998 (25,35) ”A” 41 1 42 164 Heatsink 1.710 (43,43) 1.690 (42,93) 2.505 (63,63) 2.485 (63,12) 82 124 83 123 ”C” ”B” 1.150 (29,21) 8 Places 0.061 (1,55) DIA 4 Places 0.059 (1,50) 0.105 (2,67) MAX 0.018 (0,46) MAX 164 (0,25) 0.010 0.006 (0,15) Braze 0.040 (1,02) 0.030 (0,76) 0.025 (0,65) DETAIL ”A” 0.014 (0,36) 0.002 (0,05) 0.008 (0,20) 0.004 (0,10) 0.020 (0,51) MAX DETAIL ”B” 0.130 (3,30) MAX DETAIL ”C” 4040231-7/D 02/96 NOTES: A. B. C. D. E. F. All linear dimensions are in inches (millimeters). This drawing is subject to change without notice. Ceramic quad flatpack with flat leads brazed to nonconductive tie bar carrier. This package can be hermetically sealed with a metal lid. The terminals are gold plated. Falls within JEDEC MO-113 AE C–1 C–2 IMPORTANT NOTICE Texas Instruments and its subsidiaries (TI) reserve the right to make changes to their products or to discontinue any product or service without notice, and advise customers to obtain the latest version of relevant information to verify, before placing orders, that information being relied on is current and complete. All products are sold subject to the terms and conditions of sale supplied at the time of order acknowledgement, including those pertaining to warranty, patent infringement, and limitation of liability. TI warrants performance of its semiconductor products to the specifications applicable at the time of sale in accordance with TI’s standard warranty. Testing and other quality control techniques are utilized to the extent TI deems necessary to support this warranty. Specific testing of all parameters of each device is not necessarily performed, except those mandated by government requirements. CERTAIN APPLICATIONS USING SEMICONDUCTOR PRODUCTS MAY INVOLVE POTENTIAL RISKS OF DEATH, PERSONAL INJURY, OR SEVERE PROPERTY OR ENVIRONMENTAL DAMAGE (“CRITICAL APPLICATIONS”). TI SEMICONDUCTOR PRODUCTS ARE NOT DESIGNED, AUTHORIZED, OR WARRANTED TO BE SUITABLE FOR USE IN LIFE-SUPPORT DEVICES OR SYSTEMS OR OTHER CRITICAL APPLICATIONS. INCLUSION OF TI PRODUCTS IN SUCH APPLICATIONS IS UNDERSTOOD TO BE FULLY AT THE CUSTOMER’S RISK. In order to minimize risks associated with the customer’s applications, adequate design and operating safeguards must be provided by the customer to minimize inherent or procedural hazards. TI assumes no liability for applications assistance or customer product design. TI does not warrant or represent that any license, either express or implied, is granted under any patent right, copyright, mask work right, or other intellectual property right of TI covering or relating to any combination, machine, or process in which such semiconductor products or services might be or are used. TI’s publication of information regarding any third party’s products or services does not constitute TI’s approval, warranty or endorsement thereof. Copyright 1999, Texas Instruments Incorporated