Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD Product Specification PS001301-0800 ZiLOG WORLDWIDE HEADQUARTERS ¥ 910 E. HAmilton Avenue ¥ Campbell, CA 95008 Telephone: 408.558.8500 ¥ Fax: 408.558.8300 ¥ www.ZiLOG.com This publication is subject to replacement by a later edition. To determine whether a later edition exists, or to request copies of publications, contact ZiLOG Worldwide Headquarters 910 E. Hamilton Avenue Campbell, CA 95008 Telephone: 408.558.8500 Fax: 408.558.8300 www.ZiLOG.com Windows is a registered trademark of Microsoft Corporation. Document Disclaimer © 2000 by ZiLOG, Inc. All rights reserved. Information in this publication concerning the devices, applications, or technology described is intended to suggest possible uses and may be superseded. ZiLOG, INC. DOES NOT ASSUME LIABILITY FOR OR PROVIDE A REPRESENTATION OF ACCURACY OF THE INFORMATION, DEVICES, OR TECHNOLOGY DESCRIBED IN THIS DOCUMENT. ZiLOG ALSO DOES NOT ASSUME LIABILITY FOR INTELLECTUAL PROPERTY INFRINGEMENT RELATED IN ANY MANNER TO USE OF INFORMATION, DEVICES, OR TECHNOLOGY DESCRIBED HEREIN OR OTHERWISE. Except with the express written approval ZiLOG, use of information, devices, or technology as critical components of life support systems is not authorized. No licenses or other rights are conveyed, implicitly or otherwise, by this document under any intellectual property rights. Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD iii Table of Contents 1 Overview 1 1.1 1.2 1.3 2 Pin Assignment and Descriptions .................................................... 5 Single-Purpose Pin Descriptions ..................................................... 7 Multiplexed Pin Descriptions............................................................ 8 Memory Description ........................................................................ 10 2.1 2.2 2.3 Standard Register File ................................................................... 10 Expanded Register File ................................................................. 11 Program Memory ........................................................................... 11 3 Watch-Dog Timer (WDT) ................................................................ 15 4 Stop Mode and Halt Mode Operation .............................................. 16 4.1 4.2 4.3 5 Power-Down Halt-Mode Operation ................................................ 16 Stop Mode Operation ..................................................................... 17 STOP Mode Recovery Register .................................................... 18 On-Screen Display .......................................................................... 22 5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8 5.9 5.10 OSD Position ................................................................................. 22 Second Color Feature.................................................................... 25 Mesh and Halftone Effect .............................................................. 28 OSD Fade ...................................................................................... 33 Inter-Row Spacing ......................................................................... 36 Character Generation .................................................................... 37 Character Size and Smoothing Effect ............................................ 39 Fringing Effect................................................................................ 40 Display Attribute Control ................................................................ 40 HV Interrupt Processing ................................................................. 49 6 Z90255 I2C Master Interface .......................................................... 53 7 Input/Output Ports ........................................................................... 57 7.1 7.2 7.3 8 Port 4 Pin-Out Selection Register.................................................. 59 Port 5 Pin-Out Selection Register .................................................. 62 Port 6 Data Register ...................................................................... 63 Infrared Interface ............................................................................. 65 PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD iv 9 Pulse Width Modulators .................................................................. 68 9.1 9.2 9.3 PWM Mode Register ...................................................................... 68 PWM1 through PWM11 ................................................................. 70 Digital/Analog Conversion with PWM ............................................ 79 10 Analog-to-Digital Converter ............................................................. 80 11 Electrical Characteristics ................................................................. 83 11.1 11.2 11.3 11.4 12 Absolute Maximum Ratings ............................................................ 83 DC Characteristics ......................................................................... 84 AC Characteristics ......................................................................... 85 Timing Diagram ............................................................................. 86 Packaging ....................................................................................... 87 Ordering Information ....................................................................... 88 ROM Code Submission ................................................................... 88 Customer Feedback Form .............................................................. 89 PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD v List of Figures 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 Z90255-Based TV System Application ........................................................ 2 Z90255 Block Diagram ................................................................................ 3 Z90255 and Z90251 Pin Assignments......................................................... 5 Code Development Environment ............................................................... 10 Register File Map....................................................................................... 12 Program Memory Map ............................................................................... 14 Stop Mode Recovery Source/Level Select ................................................ 21 Positive and Negative Sync Signals .......................................................... 23 Second Color Display ................................................................................ 28 Mesh On .................................................................................................... 29 Video Fade (Example) ............................................................................... 34 Character Pixel map in CGROM................................................................ 37 Example of a Multiple Character Icon ........................................................ 38 Smoothing Effect on 2X Character Size .................................................... 39 VRAM Data Path for 512 Character Set .................................................... 42 HSYNC and VSYNC Specification ............................................................... 52 Bidirectional Port Pin Pad Multiplexed with I2C Port ................................. 53 Pulse Width Modulator Timing Diagram, 6 Bit ........................................... 71 Pulse Width Modulator Timing Diagram, 14-Bit ......................................... 72 Analog Signals Generated from PWM Signals .......................................... 79 ADC Block Diagram ................................................................................... 82 Timing Requirements of External Inputs.................................................... 86 42-Lead Shrink Dual-in-line Package (SDIP) ............................................ 87 PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD vi PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD v List of Tables 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 30 31 32 33 34 35 36 Z90255 Production Device Pin Assignment ............................................... 6 Single-Purpose Pin Descriptions ................................................................ 7 Multiplexed Pin Descriptions....................................................................... 8 Register File Map...................................................................................... 13 Watch-Dog Timer Mode Register 0Fh: Bank F ......................................... 15 Stop Mode Recovery (SMR) Register 0Bh: Bank F (SMR) ...................... 19 Stop Mode Recovery Source .................................................................... 20 OSD Control Register 00h:Bank A (OSD_CNTL)..................................... 22 Vertical Position Register 01h:Bank A (VERT_POS) ............................... 24 Horizontal Position Register 02h:Bank A (HOR_POS) ............................. 25 Second Color Control Register 07h:Bank A (SNDCLR_CNTRL) ............. 26 Second Color Register 08h:Bank A (SNDCLR)........................................ 26 Mesh Column Start Register 04h: Bank F (MC_St) .................................. 29 Mesh Column End Register 05h: Bank F (MC_End) ................................ 30 Mesh Row Enable Register 06h: Bank F (MR_En) .................................. 30 Mesh Control Register 07h: Bank F (MC_Reg) ........................................ 31 BGR Mesh Colors ..................................................................................... 33 Fade Position Register 1 05h: Bank A (FADE_POS1) ............................. 35 Fade Position Register 2 06h: Bank A (FADE_POS2) ............................. 35 Row Space Register 04h: BankA (ROW_SPACE) ................................... 36 RGB Colors ............................................................................................... 40 Display Attribute Register 03h: Bank A (DISP_ATTR) ............................. 41 VRAM Structure and Memory Map ........................................................... 43 Color Palette Selection Bits ...................................................................... 45 Color Index Register 09h: Bank C (CLR_IDX).......................................... 45 Color Palette 0 Register 09h: Bank A (CLR_P0) ...................................... 46 Color Palette 1 Register 0Ah: Bank A (CLR_P1) ...................................... 46 Color Palette 2 Register 0Bh: Bank A (CLR_P2) ...................................... 47 Color Palette 3 Register 0Ch: Bank A (CLR_P3) ..................................... 47 Color Palette 4 Register 0Dh: Bank A (CLR_P4) ..................................... 47 Color Palette 5 Register 0Eh: Bank A (CLR_P5) ...................................... 48 Color Palette 6 Register 0Fh: Bank A (CLR_P6) ...................................... 48 Row Attribute Register (ROW_ATTR) ...................................................... 49 HV Interrupt Status Register 07h: Bank C (INT_ST) ................................ 50 Master I2C Control Register 0Ch: Bank C (I2C_CNTL) ........................... 54 Master I2C Command Register 0Bh: Bank C (I2C_CMD) ........................ 55 PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD vi 37 38 39 40 41 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 Master I2C Data Register 0Ah: Bank C (I2C_DATA) ............................... 55 Master I2C Bus Interface Commands ....................................................... 56 Port configuration Register 00h: Bank F (PCON) ..................................... 57 Port 2 Mode Register F6h: P2M ............................................................... 58 Port 2 Data Register 02h: P2 .................................................................... 58 Port 4 Pin-Out Selection Register 08h: Bank C (PIN_SLT) ...................... 59 Port 4 Data Register 05h: Bank C (PRT4_DTA)....................................... 60 Port 4 Direction Control Register 06h: Bank C (PRT4_DRT) ................... 61 PWM Mode Register 0Dh: Bank B (P_MODE) ......................................... 62 Port 5 Data Register 0Ch: Bank B (PRT5_DTA) ...................................... 62 Port 5 Direction Control Register 0Eh: Bank B (PRT5_DRT) ................... 63 Port 6 Data Register 03h: Bank F (PRT6_DTA) ........................................ 63 Port 6 Direction Control Register 02h: Bank F (PRT6_DRT) .................... 64 Timer Control Register 0 01h: Bank C (TCR0) ......................................... 65 Timer Control Register 1 02h: Bank C (TCR1) ......................................... 66 IR Capture Register 0 03h: Bank C (IR_CP0) .......................................... 67 IR Capture Register 1 04h: Bank C (IR_CP1) .......................................... 68 PWM Mode Register 0Dh: Bank B (P_MODE)......................................... 68 Port 4 Pin-Out Selection Register 08h: Bank C (PIN_SLT) ...................... 69 PWM 1 Data Register 02h: Bank B (PWM1) ............................................ 73 PWM 2 Data Register 03h: Bank B (PWM2) ............................................ 73 PWM 3 Data Register 04h: Bank B (PWM3) ............................................ 73 PWM 4 Data Register 05h:Bank B (PWM4) ............................................. 74 PWM 5 Data Register 06h: Bank B (PWM5) ............................................ 74 PWM 6 (6-bit)Data Register 07h: Bank B (PWM6)................................... 75 PWM 7 Data Register 08h: Bank B (PWM7) ............................................ 75 PWM 8 Data Register 09h: Bank B (PWM8) ............................................ 75 PWM 9 Data Register 0Ah: Bank B (PWM9) ............................................ 76 PWM 10 Data Register 0Bh: Bank B (PWM10)........................................ 76 PWM 6 (14-bit) High Data Register 08h: Bank F (PWM6H) ..................... 77 PWM 6 (14-bit) Low Data Register 09h: Bank F (PWM6L) ...................... 77 PWM 11 High Data Register 00h: Bank B (PWM11H) ............................. 77 PWM 11 Low Data Register 01h: Bank B (PWM11L) ............................... 78 3-Bit ADC Data Register 00h: Bank C (3ADC_DTA)................................ 81 4-Bit ADC Data Register 01h: Bank F (4ADC_DTA) ................................ 81 Operational Limits ..................................................................................... 83 DC Characteristics.................................................................................... 84 AC Characteristics .................................................................................... 85 Package Dimensions ................................................................................ 87 PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 1 Z90255 ROM and Z90251 OTP 32 KB TV Controller with On-Screen Display 1 Overview The Z90255 and Z90251 are the ROM and OTP versions of a Television Controller with On-Screen Display (OSD) that contains 32 KB of program memory. • The Z90251 is the one-time programmable (OTP) controller used to develop code or prototypes for specific television applications or initial limited production. Program ROM and Character Generation ROM (CGROM) in the Z90251 are both programmable. • The Z90255 incorporates the ROM code developed by the customer with the Z90251. Customer code is masked into both program ROM and CGROM. An application-specific controller designed to provide complete audio and video control of television receivers and video recorders, the Z90255 provides advanced OSD features. Figure 1 illustrates a typical TV system application using the Z90255. Figure 2 is a block diagram of the Z90255 architecture. PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 2 FM Audio Audio Color Decoder Television Tuner IF Demodulator R.G.B. R.G.B. MUX Composite Video RGB Output Stages CRT HSYNC, VSYNC Deflection Unit R.G.B. Tuning Control SYNC Control Z90255 Television OSD Controller VBLANK I2C Bus Front Panel Keypad I/R Detector Figure 1 Z90255-Based TV System Application PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 3 XTAL1 XTAL2 RESET ADC0 ADC1 ADC2 ADC3 Oscillator WDT RESET Counter Timer Counter Timer IR Counter P60 P61 P62 P63 Port 6 PWM1 PWM2 PWM3 PWM4 PWM5 PWM6 PWM7 PWM8 PWM9 PWM10 P50 P51 P52 P53 P54 P55 P56 Figure 2 Port 2 P20 P21 P22 P23 P24 P25 P26 P27 Register File 300 Byte Port 4 P40 P41 P42 P43 P44 P45 P46 P47 Character RAM 240 x 12-Bit & 10 x 8-Bit I C Interface Internal Microprocessor Core 4-Bit ADC IRIN PWM11 PWM6 32 KB Program ROM or 32 KB Program OTP PWM 11 & 6 (14-bit) PWM 1 to PWM 10 (6-bit) Port 5 Character ROM or OTP 18 KB by 7-Bit 2 On-Screen Display SCLK0 SDATA0 SCLK1 SDATA1 OSDX1 OSDX2 HSYNC VSYNC R G B VBLANK HLFTN Z90255 Block Diagram Note: PWM 6 can be either a 6-bit or 14-bit output. The Z90255 takes full advantage of ZilogÕs Z8 expanded register file space to offer greater flexibility in creating a user-friendly On-Screen Display (OSD). Three basic addressing spaces are available: Program memory, Video RAM (VRAM) and the Register file. The register file is composed of 300 bytes of general-purpose registers, 16 control and status registers, one I/O port register and three reserved registers. PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 4 The OSD module supports 10 rows by 24 columns of characters. Each character color can be specified. There are eight foreground colors and eight background colors. When the foreground and background colors are the same, the background is transparent. If Row, Second color and Character set are defined, an analog bar line can be displayed for volume control, signal levels, and tuning. The OSD can display four character sizes: • • • • 1X (14 x 18 pixels) 2X (28 x 36 pixels) Double width (28 x 18 pixels) Double height (14 x36 pixels) Inter-row spacing can be programmed within 0 to 15 Horizontal scan lines. Using multiple characters with zero inter-row spacing allows the creation of large psuedo icons. A 14-bit Pulse Width Modulator (PWM) port provides necessary voltage resolution for a voltage synthesizer tuning system. Ten 6-bit PWM ports are used to control audio (base, treble, balance and volume) and video (contrast, brightness, color, tint and sharpness) signal levels. There are 27 I/O pins grouped into four ports. These I/O pins can be configured through software to provide timing, status signals, serial and parallel input and output. For real-time events, such as counting, timing and data communication, two onchip counter/timers are implemented. The Z90255 is packaged in a 42-pin SDIP and provides an ideal, reliable solution for high-volume consumer television applications. PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 5 1.1 Pin Assignment and Descriptions Figure 3 shows the pin numbers for production and OTP device format. PORT56/PWM11 PORT55/PWM6 PORT54/PWM5 PORT53/PWM4 PORT52/PWM3 PORT51/PWM2 PORT50/PWM10 PORT40 PORT60/ADC3 PORT61/ADC2 PORT41/ADC1 PORT62/ADC0 AGND PORT42 PORT43 PORT63 PORT44/PWM7 PORT45/PWM8 PORT46/PWM9 PORT47/PWM10 PORT20/HLFTN Figure 3 Notes: 1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 42 41 40 39 38 37 Z90251 or Z90255 (Top View) 36 35 34 33 32 31 30 PORT27/SDATA1 PORT26/SCLK1 PORT25/SDATA0 PORT24/SCLK0 PORT23 PORT22 IRIN PORT21 VCC RESET XTAL2 XTAL1 GND OSDX2 29 28 27 26 25 24 23 OSDX1 VSYNC HSYNC VBLANK R G 22 B Z90255 and Z90251 Pin Assignments The pins on the Z90255 and Z90251 are assigned to perform the functions identified in Tables 1, 2 and 3. 2 PWM 6 can be either 6-bit or 14-bit PWM outputs. 3 All signals with an overbar are active Low. PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 6 Table 1 Z90255 Production Device Pin Assignment Name Pin Function Package 42-Pin SDIP Direction POR VCC +5 Volts 34 Power Power GND, AGND 0 Volts 30, 13 Power Power IRIN Infrared Remote Capture Input 36 I I PWM11 14-bit Pulse Width Modulator Output 1 O N/A PWM10-PWM11 6-Bit Pulse Width Modulator Output 20, 19, 18, 17, 2, 3, 4, 5, 6, 7 O N/A P5 (6-0) Bit Programmable I/O Ports 1, 2, 3, 4, 5, 6, 7 I/O I P2 (7-0) Bit-Programmable I/O Ports 42, 41, 40, 39, 38, 37, 35, 21 I/O I HLFTN Halftone Output 21 O N/A SDATA0, SDATA1 I2C Data, Bidirectional (Send/Receive) Serial Data Lines 40, 422 I/O N/A SCLK0, SCLK1 I2C Clock 39, 412 I/O N/A P6 (3-0) Bit-Programmable I/O Ports 16, 12, 10, 9 I/O I P4 (7-0) Bit-Programmable I/O Ports 20, 19, 18, 17, 15, 14, 11, 8 I/O I XTAL1 Crystal Oscillator Input 31 I I XTAL2 Crystal Oscillator Output 32 O O OSDX1 Dot-Clock Oscillator Input 28 I I OSDX2 Dot-Clock Oscillator Output 29 O O HSYNC Horizontal Synchronization 26 I I VSYNC Vertical Synchronization 27 I I VBLANK Video Blanking 25 O O R,G,B Video Red, Green, Blue 24, 23, 22 O O ADC3-ADC0 4-Bit Analog-to-Digital Converter Input 9, 10, 11, 12 AI I RESET System Reset 33 I/O I Note: 1 PWM 6 can be either 6-bit or 14-bit PWM outputs. 2 When Pins 39-42 are configured for I2C, pins 39 and 40 comprise one channel, and pins 41 and 42 comprise another channel PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 7 1.2 Single-Purpose Pin Descriptions Table 2 lists the single-purpose pin acronyms, pin names, and descriptions. Table 2 Single-Purpose Pin Descriptions Acronym Pin Name(s) Description AGND Analog Ground Analog Ground B Blue CMOS output of the blue video signal B. Video blue can be programmed for either polarity. G Green CMOS output of the green video signal G. Video green can be programmed for either polarity. GND Ground Ground HSYNC Horizontal Sync Input pin for external horizontal synchronization signal IRIN IR Capture Input Infrared Remote capture input OSDX1, OSDX2 On-Screen Display Dot Clock Oscillators These oscillator input and output pins for on-screen display circuits are connected to an inductor and two capacitors to generate the character dot clock. The dot clock frequency determines the character pixel width and phase synchronized to HSYNC P21, P22, P23 Port 2 bits 1 - 3 Bidirectional digital port, configured to read digital data or to send output to an attached device. P40, P42, P43 Port 4 bit 0, bits 2 and 3 Bidirectional digital port, configured to read digital data or to send output to an attached device. P63 Port 6 bit 3 P63 input can be read directly at 03H. A negative edge event is latched to IRQ3. An IRQ3-vectored interrupt occurs if appropriately enabled. A typical application places the device in Stop mode when P63 goes Low (IRQ3 interrupt routine). When P63 subsequently goes High, a Stop-Mode Recovery is initiated. R Red CMOS output of the red video signal R. Video red can be programmed for either polarity. RESET System Reset System reset PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 8 Table 2 Single-Purpose Pin Descriptions (Continued) Acronym Pin Name(s) Description VBLANK Video Blank CMOS output, programmable polarity. This pin is used as a super-impose control port to display characters from video RAM. The signal controls Y-signal output of CRTs and turns off the incoming video display while the characters in video RAM are super-imposed on the screen. The output ports of color data directly drive three electron guns on the CRT; at the same time VBLANK output turns off the Y signal. VCC Power Supply Power supply VSYNC Vertical Sync Input pin for external vertical synchronization signal. XTAL1, XTAL2 Time-Based Input Output These pins connect to the internal parallel-resonant clock crystal oscillator circuit with two capacitors to GND. XTAL1 can be used as an external clock input. 1.3 Multiplexed Pin Descriptions Table 3 lists the Multiplexed Pin acronyms, pin names, and descriptions. Table 3 Multiplexed Pin Descriptions Acronym Pin Name(s) Description P20/HLFTN Port 2 bit 0 or Halftone Output Port 2 bit 0 can be programmed as an input or output line. P24/SCLK0 Port 2 bit 4 or I2C Clock Port 2 bit 4 or I2C Clock P25/SDATA0 Port 2 bit 5 or I2C Data Port 2 bit 5 or I2C Data P26/SCLK1 P27/SDATA1 Port 2 bit 6 or I2C Clock Port 2 bit 7 or I2C Data Port 2 bit 6 or I2C Clock Port 2 bit 7 or I2C Data P62/ADC0 Port 6 bit 2 or Analog-to-Digital Converter Channel 0 P62 can be read directly. A negative edge event is latched into IRQ2 to initiate an IRQ2-vectored interrupt if appropriately enabled. P60/ADC3 Port 6 bit 0 or Analog-to-Digital Converter Channel 3 Port 6 bit 0 can be programmed as an input or output line. PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 9 Table 3 Multiplexed Pin Descriptions (Continued) Acronym Pin Name(s) Description P61/ADC2 Port 6 bit 1 or Analog-to-Digital Converter Channel 2 Port 6 bit 1 can be programmed as an input or output line. P41/ADC1 Port 4 bit 1 or Analog-to-Digital Converter Channel 1 Port 4 bit1 can be programmed as an input or output line. P44/PWM7 Port 4 bit 4 or Pulse Width Modulator 7 These port pins can be programmed as input or output ports. Each PWM channel has 6-bit resolution. P45/PWM8 Port 4 bit 5 or Pulse Width Modulator 8 P46/PWM9 Port 4 bit 6 or Pulse Width Modulator 9 P47/PWM10 Port 4 bit 7 or Pulse Width Modulator 10 PWM11/P56 Pulse Width Modulator 11 or Port 5 bit 6 PWM6/P55 Pulse Width Modulator 6 or Port 5 bit 5 PWM6/P55 Pulse Width Modulator 6 or Port 5 bit 5 PWM5/P54 Pulse Width Modulator 5 or Port 5 bit 4 PWM4/P53 Pulse Width Modulator 4 or Port 5 bit 3 PWM3/P52 Pulse Width Modulator 3 or Port 5 bit 2 PWM2/P51 Pulse Width Modulator 2 or Port 5 bit 1 The PWM signal-generator channel has 6-bit resolution. Port 5 bit 1 and Port 5 bit 0 can be programmed as an input or output port. PWM1/P50 Pulse Width Modulator 1 or Port 5 bit 0 The PWM signal-generator channel has 6-bit resolution. Port 5 bit 0 can be programmed as an input or output port. The PWM signal-generator channel has 14-bit resolution. Port 5 bit 6 and port 5 bit 5 can be programmed as inputs or outputs. These port pins can be programmed as input or output ports. Each PWM signal-generator channel has 6-bit resolution. Note: PWM6 can be either 6-bit or 14-bit output. PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 10 The Z90251 requires ZilogÕs Z90259ZEM Emulator with its proprietary Zilog Developmental Studio (ZDS) software for programming. To view how code is working, the emulator uses a ZOSD board which connects directly to a television screen. Refer to Figure 4. Z90259 In-Circuit Emulator (ICEbox) ZOSD Board Z90259 Z90251 Develop code on PC Download Code to Z90259 ICE chip Converts to Video Display Review Code on TV Display Program the Z90251 OTP Figure 4 2 Code Development Environment Memory Description A total of 300 bytes of general purpose register memory is implemented in the Z90255. These registers are composed of 236 registers from the standard register file and 64 registers from the expanded register file. 2.1 Standard Register File The Z90255 Standard Register File consists of two I/O port registers (02h and 03h), 236 general purpose registers (04h-EFh) and 15 (F1h-FFh) control and status registers. Registers 00h, 01h, and F0h are reserved. Figure 5 is the register file map. Instructions can access registers directly or indirectly with an 8bit address field. This also allows short 4-bit addressing using the Register Pointer. In the 4-bit mode, the register file is divided into sixteen working register groups. The upper nibble of the Register Pointer (FDh) addresses the starting location of the active working-register group. Note: Registers E0h-EFh are only accessed through a workingregister and indirect addressing mode. PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 11 2.2 Expanded Register File The register file has been expanded to provide additional system control registers, additional general purpose registers, and expanded mapping of peripheral devices and I/O ports in the register address area. The lower nibble of the Register Pointer (FDh) addresses the Expanded Register File (ERF) Bank. The 0h value in the lower nibble identifies the Standard Register File to be addressed. Any other value from 1h to Fh selects an ERF Bank. When an ERF Bank is selected, register addresses from 00h to 0Fh access the sixteen ERF Bank registers, which in effect replace the first sixteen locations of the Z90255 Standard Register File. Only ERF Bank 4, ERF Bank 5, ERF Bank 6, ERF Bank 7, ERF Bank A, ERF Bank B, ERF Bank C and ERF Bank F are implemented in the Z90255 controller (Table 4). 2.3 Program Memory The Z90255 has 32KB of program memory. Refer to Figure 6. The first 12 bytes of the program memory are reserved for the interrupt vectors. These locations contain six 16-bit vectors that correspond to interrupt and program control routine addresses which are passed to the specified vector address. The IRQ0 vector is permanently assigned to the IR interrupt request. The IRQ1 vector is permanently assigned to the VSYNC and HSYNC interrupt request. Program memory starts at address 000Ch after being reset. PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 12 Reset Condition D7 D6 D5 D4 D3 D2 D1 D0 Register Register Pointer D7 D6 D5 D4 D3 D2 D1 D0 Working Register Group Pointer Expanded Register Bank Pointer Z8 Register File %FF %F0 %FF SPL x x x x x x x %FE SPH x x x x x x x x %FD RP 0 0 0 0 0 0 0 0 %FC FLAGS x x x x x x x x %FB IMR 0 x x x x x x x %FA IRQ 0 0 0 0 0 0 0 0 %F9 IPR x x x x x x x x %F8 P01M 1 1 1 1 1 1 1 1 %F7 P2CNTL 0 0 0 0 0 0 0 1 %F6 P2M 1 1 1 1 1 1 1 1 %F5 PRE0 x x x x x x x 0 %F4 T0 x x x x x x x x %F3 PRE1 x x x x x x 0 0 %F2 T1 x x x x x x x x %F1 TMR 0 0 0 0 0 0 0 0 %F0 Reserved Expanded Register %(F)0F WDTMR x Register Bank (F) Reset Condition x x x x x 1 x x 0 0 1 0 0 0 0 0 %(F)0E Reserved %(F)0D Reserved %7F %(F)0C Reserved %(F)0B SMR %(F)0A Reserved (C) (B) %0F %00 (7) x x 0 0 0 0 0 0 %(F)08 PWM6L 0 0 0 0 0 0 0 0 %(F)07 MC_Reg 0 0 0 0 0 0 0 0 %(F)06 MR_En 0 0 0 0 0 0 0 0 (6) %(F)05 MC_End x x x 0 0 0 0 0 (5) %(F)04 MC_St x x x 0 0 0 0 0 %(F)03 PRT6_DTA 1 1 1 1 1 1 1 1 %(F)02 PRT6_DRT 1 1 1 1 1 1 1 1 %(F)01 4ADC_DTA 0 0 0 0 x x x x %(F)00 PCON 1 1 1 1 1 1 1 0 x x (4) Reserved Expanded Register (A) %(F)09 PWM6H Register Reset Condition %(0)03 Reserved %(0)02 x = undefined P2 x x x x x x %(0)01 Reserved %(0)00 Reserved Figure 5 Register File Map PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 13 Table 4 Register File Map BANK 4 BANK 5 BANK 6 BANK 7 Address Description 00h-0Fh Gen. Pur. Reg. Address Description 00h-0Fh Gen. Pur. Reg. Address Description Address Description 00h-0Fh Gen. Pur. Reg. 00h-0Fh Gen. Pur. Reg. BANK A BANK B Address Description 00h OSD Control Register(OSD_CNTL) 01h Vertical Position Register(VERT_POS) 02h Horizontal Position Register(HOR_POS) 03h Display Attribute Register(DISP_ATTR) 04h Row Space Register (ROW_SPACE) 05h Fade Position1 Register(FADE_POS1) 06h Fade Position2 Regisiter(FADE_POS2) 07h Second Color Control Register(SNDCLR_CNTRL) 08h Second Color Position Register(SNDCLR_POS) 09h Color Palette0 Register(CLR_P0) 0Ah Color Palette1 Register(CLR_P1) 0Bh Color Palette2 Register(CLR_P2) 0Ch Color Palette3 Register(CLR_P3) 0Dh Color Palette4 Register(CLR_P4) 0Eh Color Palette5 Register(CLR_P5) 0Fh Color Palette6 Register(CLR_P6) Address Description 00h PWM11-High Data Register(PWM11H) 01h PWM11-Low Data Register(PWM11L) 02h PWM1 Data Register(PWM1) 03h PWM2 Data Register(PWM2) 04h PWM3 Data Register(PWM3) 05h PWM4 Data Register(PWM4) 06h PWM5 Data Register(PWM5) 07h PWM6(6-bit) Data Register(PWM6_6) BANK C BANK F Address Description 00h 3-bit ADC Data Register(3ADC_DTA) 01h Timer Control Register0(TCR0) 02h Timer Control Register1(TCR1) 03h IR Capture Register0(IR_CP0) 04h IR Capture Register1(IR_CP1) 05h Port4 Data Register(PRT4_DTA) 06h Port4 Direction Register(PRT4_DRT) 07h Interrupt Status Register(INT_ST) 08h Port4 Pin_out Selection Register(PIN_SLT) 09h Color Index Register(CLR_IDX) 0Ah I2C Data Register(I2C_DATA) 0Bh I2C Command Register(I2C_CMD) 0Ch I2C Control Register(I2C_CNTL) 0Dh 0Eh 0Fh Address Description 00h Port Configuration Register(PCON) 01h 4-bit ADC Data Register (4ADC_DTA) 02h Port6 Direction Register(PRT6_DRT) 03h Port6 Data Register (PRT6_DTA) 04h Mesh Column Start Register(MC_ST) 05h Mesh Column End Register(MC_END) 06h Mesh Row Enable Register(MR_EN) 07h Mesh Control Register(MC_REG) 08h PWM6 High Data Register(PWM6H_14) 09h PWM6 Low Data Register (PWM6L_14) 0Ah 0Bh Stop Mode Register(SMR) 0Ch 0Dh 0Eh 0Fh WDT Mode Register(WDTMR) 08h PWM7 Data Register(PWM7) 09h 0Ah 0Bh 0Ch 0Dh 0Eh 0Fh PWM8 Data Register(PWM8) PWM9 Data Register(PWM9) PWM10 Data Register(PWM10) Port 5 Data Register(PRT5_DTA) PWM Mode Register(P_MODE) Port 5 Direction Register(PRT5_DRT) PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 14 IR IRQ0(High Byte) 0000h IR IRQ0(Low Byte) 0001h HVSYNC IRQ1(High Byte) 0002h HVSYNC IRQ1(Low Byte) 0003h P62 IRQ2(High Byte) 0004h P62 IRQ2(Low Byte) 0005h P63 IRQ3(High Byte) 0006h P63 IRQ3(Low Byte) 0007h T0 IRQ4(High Byte) 0008h FBFFh T0 IRQ4(Low Byte) 0009h FC00h T1 IRQ5(High Byte) 000Ah T1 IRQ5(Low Byte) 000Bh Reset Start Address 000Ch 8000h Reserved Video Refresh RAM On Chip Program Space (32KB) 7FFFh Figure 6 FFFFh Program Memory Map PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 15 3 Watch-Dog Timer (WDT) The Watch-Dog Timer (WDT) is driven by an internal RC oscillator. Therefore accuracy is dependent on the tolerance of the RC components. Table 5 describes the Watch-Dog Timer Mode register bits. Table 5 Watch-Dog Timer Mode Register 0Fh: Bank F Bit 7 6 5 4 3 2 1 0 R/W W W W W W W W W Reset 0 0 0 0 0 1 0 1 Note: R = Read W = Write X = Indeterminate Bit/ Field Bit Position reserved 7-4 W 0 Must be 0 WDT During Stop 3 W 0 1 Off On POR WDT During Halt 2 W 0 1 Off On POR WDT TAP 1, 0 W 00 01 10 11 6 msec 12 msec POR 24 msec 96 msec R/W Value Description WDT During Halt Mode (T2) Bit 2 determines if the WDT is active during Halt Mode. A 1 value indicates active during Halt. The default is 1. A WDT timeout during Halt Mode resets control registers and ports to their default reset conditions. Bit 3 determines if the WDT is active during Stop mode. A 1 value indicates active during Stop mode. A WDT timeout during Stop mode resets control registers and ports to their default reset conditions. Bits 4, 5, 6 and 7 are reserved and must be cleared to 0. The WDTMR register is accessible only during the first 60 processor cycles from the execution of the first instruction after Power-On Reset, Watch-Dog Reset, or a PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 16 Stop-Mode Recovery. After this point, the register cannot be modified by any means, intentional or otherwise. The WDT is permanently enabled after Reset. To ensure that the WDT is set properly, use the following instructions as the first two instructions: DI WDT The Watch-Dog timer must then be constantly refreshed within the required timeout by executing the WDT Instruction. Note: Executing the WDT instruction affects the Z (zero), S (sign), and V (overflow) flags. A system reset overrides all other operating conditions and puts the microcontroller into a known state. To initialize the chipÕs internal logic, the Reset input must be held Low for at least 5 XTAL clock cycles. The control registers and ports are reset to default conditions after a POR, a reset from the Reset pin, or a WDT timeout while in Run Mode and Halt Mode. The control registers and ports are not reset to their default conditions after Stop Mode Recovery and WDT timeout while in Stop Mode. The program counter is loaded with 000Ch. I/O ports and control registers are configured to their default reset states. Resetting the microcontroller does not Affect the contents of the general-purpose registers. The Watch-Dog Timer (WDT) is a retriggerable, one-shot timer that resets the microcontroller if it reaches its terminal count. When operating in the Run, Halt or Stop Modes, a WDT reset is functionally equivalent to a hardware POR reset. 4 Stop Mode and Halt Mode Operation 4.1 Power-Down Halt-Mode Operation The Halt Mode suspends instruction execution and turns off the internal CPU clock. The on-chip oscillator circuit remains active so the internal clock continues to run and is applied to the counter/timer(s) and interrupt logic. To enter the Halt Mode, the instruction pipeline must be flushed first to avoid suspending execution in mid-instruction. To do this, the application program must PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 17 execute a NOP instruction (opcode = FFh) immediately before the Halt instruction (opcode 7Fh), that is, FF NOP ;clear the instruction pipeline 7F Halt ;enter Halt Mode The Halt Mode is exited by interrupts, generated either externally or internally. When the interrupt service routine is completed, the user program continues from the instruction after Halt. The Halt Mode can also be exited via a POR/Reset activation or a Watch-Dog Timer (WDT) timeout. In this case, program execution restarts at the reset-restart address 000Ch. To reduce power consumption further in the Halt Mode, the Z90255 and Z90251 allow dynamic internal clock scaling. Clock scaling can be accomplished on the fly by reprogramming bit 0 and/or bit 1 of the Stop-Mode Recovery register (SMR). Note: Internal clock scaling directly effects Counter/Timer operation: adjustment of the prescaler and downcounter values might be required. 4.2 Stop Mode Operation The Stop Mode provides the lowest possible device standby current. This instruction turns off the on-chip oscillator and internal system clock. To enter the Stop Mode, the instruction pipeline must be flushed first to avoid suspending execution in mid-instruction. To do this, the application program must execute a NOP instruction (opcode=FFh) immediately before the Stop instruction (opcode=6Fh), that is, FF NOP ;clear the instruction pipeline 6F Stop ;enter Stop Mode The Stop Mode is exited by any one of the following resets: Power-On Reset activation, WDT timeout, or a Stop-Mode Recovery source. When reset is generated, the processor always restarts the application program at address 000Ch. POR/Reset activation is present on the Z90255 and Z90251 and is implemented as a reset pin and/or an on-chip power on reset circuit. When the WDT is configured to run during Stop mode, the WDT timeout generates a Reset ending Stop Mode. PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 18 Note: Stop-Mode Recovery (SMR) by the WDT increases the Stop Mode standby current (ICC2). This is because the internal RC oscillator is running to support this recovery mode. The Z90255 and Z90251 have Stop-Mode Recovery (SMR) circuitry. Two SMR methods are implemented, a single-fixed input pin or a flexible, programmable set of inputs. The Z8-base product specification should be reviewed to determine the SMR options available. In simple cases, a Low level applied to input pin P27 triggers an SMR. To use this mode, pin P27 (I/O Port 2, bit 7) must be configured as an input before entering Stop Mode. The Low level on P27 must meet a minimum pulse width TWSM. Some microcontrollers provide multiple SMR input sources. The SMR source is selected via the SMR Register. Note: Using specialized SMR modes (P27 input or SMR register based) or the WDT timeout (only when in the Stop Mode) provides a unique reset operation. Some control registers are initialized differently for a SMR/WDT triggered POR than a standard reset operation. Note: The Stop Mode current (ICC2) is minimized when - VCC is at the low end of the device operating range - WDT is Off in Stop Mode - Output current sourcing is minimized - All inputs (digital and analog) are at the low or high rail voltages 4.3 STOP Mode Recovery Register The STOP Mode Recovery Register register selects the clock divide value and determines the mode of Stop Mode Recovery. All bits are Write-Only, except bit 7 which is Read-Only. Bit 7 is a flag bit that is hardware set in a Stop Mode Recovery condition, and reset by a power-on cycle. Bit 6 controls whether a Low level or a High level is required from the recovery source. Bit 5 controls the reset delay after recovery. Bits 2, 3, and 4, of the SMR register, specify the source of the Stop-Mode Recovery signal. Bits 0 and 1 control internal clock divider circuitry. The SMR is located in bank F of the expanded register file at address 0Bh. Table 6 contains Stop Mode Recovery (SMR) Register bit descriptions. PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 19 Table 6 Stop Mode Recovery (SMR) Register 0Bh: Bank F (SMR) Bit 7 6 5 4 3 2 1 0 R/W R W W W W W W W Reset 0 0 1 0 0 0 0 0 Note: R = Read W = Write X = Indeterminate Bit/ Field Bit Position R/W Stop flag 7 R 0 1 POR Stop Recovery Stop Recovery level 6 W 0 1 Low POR High Stop Delay 5 W 0 1 Off On POR 4-2 W 000 001 010 011 100 101 110 111 POR and /or External Reset P63 P62 Must NOT be used Must NOT be used P27 P2 NOR 0-3 P2 NOR 0-7 External Clock Divide by 2 1 W 0 1 SCLK/TCLK = XTAL/2 POR SCLK/TCLK = XTAL SCLK/TCLK Divide by 16 0 W 0 1 Off POR On Stop Mode Recover Source SCLK/TCLK Divide-by-16 Select (bit O) Value Description This bit controls a divide-by-16 prescaler of SCLK/TCLK. The purpose of this control is to reduce device power consumption selectively during normal processor execution (SCLK control) and/or Halt Mode (where TCLK sources counter/timers and interrupt logic). PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 20 External Clock Divide-by-Two This bit can eliminate the oscillator divide-by(bit 1) two circuitry. When this bit is 0, the System Clock (SCLK) and Timer Clock (TCLK) are equal to the external clock frequency divided by two. The SCLK/TCLK is equal to the external clock frequency when this bit is set (D1=1). Using this bit together with D7 of PCON helps lower EMI (D7 (PCON) =0, D1 (SMR) =1). The default setting is zero. Stop-Mode Recovery Source (bits 2, 3, and 4) These three bits specify the wake-up source of the Stop-Mode recovery. Figure 7 illustrates Stop Mode Recovers Source/Level Select. Table 7 Stop Mode Recovery Source Bits Operation 4 3 2 Description of Action 0 0 0 POR and/or external reset recovery 0 0 1 P63 transition 0 1 0 P62 transition (not in Analog Mode) 1 0 1 P27 transition 1 1 0 Logical NOR of P20 through P23 1 1 1 Logical NOR of P20 through P27 Stop Mode Recovery Delay Select (bit 5) This bit, if High, enables the TPOR Reset delay after Stop Mode Recovery. The default configuration of this bit is 1. If the fast wake up is selected, the Stop Mode Recovery source is kept active for at least 5 TpC. PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 21 Stop Mode Recovery Level Select (bit 6) A 1 in this bit position indicates that a High level on any one of the recovery sources wakes the microcontroller from Stop Mode. A 0 indicates Low-level recovery. The default is 0 on POR. Cold or Warm Start (bit 7) This bit is set by the device when Stop Mode is entered. A 0 in this bit (cold) indicates that the device reset by POR/WDT Reset. A 1 in this bit (warm) indicates that the device awakens by a SMR source. SMR D4 D3 D2 0 0 0 D2 VDD SMR 0D4 D3 0 1 0 1 0 P63 P62 SMR D4 D3 D2 1 0 1 SMR D4 D3 D2 1 1 0 P20 P20 P23 P27 SMR D4 D3 D2 1 1 1 P27 To POR Reset Stop-Mode Recovery Edge Select (SMR) Figure 7 To IRQ1 Stop Mode Recovery Source/Level Select Note: If P62 is used as an SMR source, the digital mode of operation must be selected before entering Stop Mode. PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 22 5 On-Screen Display The On-Screen Display (OSD) module generates and displays a 10 row by 24 columns of 512 characters at 14 x 18-dots resolution. The color of each character can be specified independently. The televison OSD controller uses HSYNC and VSYNC signals to synchronize its internal circuitry to the video signal, then outputs RGB and Video Blank (VBLANK) signals. The VBLANK signal is used to multiplex the OSD signal and video signal onto the screen. The result is that the On-Screen Display is superimposed over the TV picture. The display results from the successful timing of several components: • • • • • • 5.1 OSD Positioning Second Color Feature Mesh and Halftone Effect OSD Fade Inter-Row Spacing Character Generation OSD Position OSD Positioning is controlled by programming the following registers: • • • OSD Control Register (Table 8) Vertical Position Register (Table 9) Horizontal Position Register (Table 10) OSD Control Register Table 8 Bit R/W Reset OSD Control Register 00h:Bank A (OSD_CNTL) 7 6 5 4 3 2 1 0 R/W R/W R/W R/W R/W R/W R/W R/W 0 x x x x x x x Note: R = Read W = Write X = Indeterminate PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 23 Bit/ Field Bit Position R/W OSD Blank 7 R/W 0 1 Enable OSD - POR default Disable OSD VRAM Mode 6, 5 R/W 00 01 10 11 Select 10-row buffer mode Reserved Select 2-row buffer mode Reserved Sync Polarity 4 R/W 0 1 Positive Negative Character Size 3 R/W 0 1 1X 2X Vertical Retrace Blanking 2, 1, 0 R/W Value Description Retrace Blanking Bit 4, Sync Polarity, provides the polarity of the HSYNC and VSYNC signals. HSYNC and VSYNC must have the same polarity (see Figure 8). This feature is designed to provide flexibility for TV chassis designers. Positive SYNC Negative SYNC Figure 8 Positive and Negative Sync Signals Bit 3, Character Size, sets the size of the characters that are displayed. Character sizes 1X, 2X, double width and double height are supported. The default value is 1X. To change the size of the characters in a row, alter the value of the bit during the previous horizontal interrupt. The character size of the first row is programmed during vertical interrupt (VSYNC) processing. Character size is a row attribute. Bits 2, 1, and 0, Vertical Retrace Blanking, set a time period when the OSD is disabled while the electron gun returns from the bottom to the top of the screen, and all VBLANK and RGB output are disabled. The blanking period is determined by counting horizontal pulses according to the following formula: Blanking Period=(4 x (Vertical Retrace Blanking)+2) x THL THL: one horizontal period The retrace blanking bits, OSD_CNTL (2,1,0) must be set to deactivate the electron guns during the retrace period. PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 24 Vertical Position Register The Vertical Position Register (Table 6) sets the vertical placement of the OSD on the screen. The unit of measure for placement is the number of scan lines from the top of the TV field. Table 9 Vertical Position Register 01h:Bank A (VERT_POS) Bit 7 R/W Reset 6 5 4 3 2 1 0 R/W R/W R/W R/W R/W R/W R/W R/W 0 0 0 0 0 0 0 0 Note: R = Read W = Write X = Indeterminate Bit/ Field Bit Position reserved 7 R W 0 1 Return 0 No effect Character double height 6 R/W 0 Normal when bit 3 of OSD_CNTL is 0. 2X when bit 3 of OSD_CNTL is 1. 1 Double height when bit 3 of OSD_CNTL is 0. Double width when bit 3 of OSD_CNTL is 1. Vertical Position 5,4,3,2,1,0 R/W R/W Value Description Vertical position control The value required for this register can be computed using the following equation: VERT_POS = (VPOS - 6) / 4 VERT_POS represents the contents of bits 5,4,3,2,1,0 of the Vertical Position Register (VERT_POS). The default value is 0. When the value is 0, the OSD is at the top-most OSD position on the screen, with an offset of 06h scan lines above the OSD area. VERT_POS is the number of scan lines from the VSYNC to the OSD start position. VPOS must be a positive integer with a minimum value of Ah incrementing by 4. PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 25 Horizontal Position Register The Horizontal Position Register sets the horizontal start position of the OSD (Table 7). The unit of measure for placement is the number of pixels from the left of the display screen. Table 10 Horizontal Position Register 02h:Bank A (HOR_POS) Bit 7 R/W Reset 6 5 4 3 2 1 0 R/W R/W R/W R/W R/W R/W R/W R/W 0 1 0 0 0 0 1 1 Note: R = Read W = Write X = Indeterminate Register Field Bit Position R/W Data Description Progressive mode 7------- R/W 0 1 Normal Support progressive sync inputs Reserved -6------ R W Return 1 No effect Horizontal position 5,4,3,2,1,0 R/W Horizontal position control When working with Progressive mode, fringing does not work with 2X mode or double height mode, nor does Mesh work the same way as in Interlace mode. The value required for this register can be computed using the following equation: HOR_POS = (HPOS - 1) / 4 HOR_POS represents the contents of bits 5,4,3,2,1,0 of the Horizontal Position Register (HOR_POS). The default value is 3h. When the value is 3h, the OSD is at the left-most OSD position on the screen. HPOS is the number of pixels from the left of the screen to the OSD start position. HPOS must be a positive integer with a minimum value of 5 incrementing by 4. 5.2 Second Color Feature Second Color feature is the logical division of each column into two parts along each row for changing foreground color. The number of each half-column is called the Second Color Position. PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 26 The Second Color feature can be used to implement an analog bar for volume control, tuning, etc. The change step for color is half the character size. Refer to Tables 8 and 9. Second Color Control Register The Second Color Position is the place where the foreground color changes to the color defined in the Second Color Control Register. Table 11 Second Color Control Register 07h:Bank A (SNDCLR_CNTRL) Bit 7 R/W Reset 6 5 4 3 2 1 0 R/W R/W R/W R/W R/W R/W R/W R/W 0 0 0 0 0 0 0 0 Note: R = Read W = Write X = Indeterminate Bit/ Field Bit Position R/W Second Color Enable 7 R/W Second Color 6, 5, 4 R/W Row Address 3, 2, 1, 0 R/W Value Description 0 1 Disables the second color feature Enables the second color feature R, G, B respectively. Defines the second color after the second color position defined in SNDCLR register. Defines one of the 10 rows (from 0, the first row, to 9, the 10th row). Second Color Register Table 12 Second Color Register 08h:Bank A (SNDCLR) Bit R/W Reset 7 6 5 4 3 2 1 0 R/W R/W R/W R/W R/W R/W R/W R/W x 0 0 0 0 0 0 0 Note: R = Read W = Write X = Indeterminate PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 27 Bit/ Field Bit Position Reserved 7 R W 0 1 Return 1 No effect HVSYNC Interrupt Option 6 R/W 0 1 Interrupt Pending Disabled Interrupt Pending Enabled Second Color Position 5,4,3,2,1,0 R/W R/W Value Description Specifies start position of the color change to the second color. Note: Column increment is 0.5. Offset is 03h. System software requires that the offset be added to the increment for the second color in the bar display. The bar position must be defined before the second color is enabled. Bit 6, HVSYNC Interrupt Option, defines the procedure for processing when a second interrupt is issued before the first interrupt has completed processing. If bit 6 is set to 0, bit 6 is not pending the other interrupt (HSYNC or VSYNC) while one is in service. If bit 6 is set to 1, bit 6 is pending the other interrupt (HSYNC or VSYNC) while one is in service. Figures 9 is an example of second color display in the eighth row of the OSD. Each of the small grid squares represents one pixel. Each column has two areas for second color display. In this example, the second color is at Position 6. The second color position for the first column has a value of 3 because the OSD is offset from the left of the TV screen at a distance equal to 03h. Each column is the size of one display character. Each Second color column is a half character column. The screen position offset is added to Second color position. Because the offset is 03h, the Second color postions begin with 3 = (3+0), 4 = (3+1), 5 = (4+1), and so forth. PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 28 7th Row 8 th Row 9th Row (3) (4 ) 1st Column (5) (6) 2nd Column (7) (8) 3rd Column (9) Bar Column Position Figure 9 5.3 Second Color Display Mesh and Halftone Effect Mesh is a grid-like area that contains an alternating pixel display of OSD and transparent zones. See Figure 10. The transparent zones allow the TV signal display to appear in part while the mesh display is active. Halftone effect is a transparent area that appears slightly darker than the regular picture carried by the TV signal. Mesh and halftone effects both serve as backgrounds for menus, action bars, and other On-Screen Displays. The mesh feature is only for interlaced-mode video systems. Mesh can be controlled in two ways: through hardware or through software for alternating pixel display in different fields. PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 29 Mesh Picture Screen Field 1 Field 2 OSD Fringing Mesh On (Mesh Color) Figure 10 Mesh On General descriptions of the registers used to control the mesh are contained in Tables 13 through 16. Table 13 Mesh Column Start Register 04h: Bank F (MC_St) Bit R/W Reset 7 6 5 4 3 2 1 0 R/W R/W R/W R/W R/W R/W R/W R/W x x x 0 0 0 0 0 Note: R = Read W = Write X = Indeterminate PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 30 Bit/ Field Bit Position Reserved 7, 6, 5 R W Return 1 No effect Mesh Window Start 4, 3, 2, 1, 0 R/W Defines the start character number in the mesh window. R/W Value Description Table 14 Mesh Column End Register 05h: Bank F (MC_End) Bit 7 R/W Reset 6 5 4 3 2 1 0 R/W R/W R/W R/W R/W R/W R/W R/W x x x 0 0 0 0 0 Note: R = Read W = Write X = Indeterminate Bit/ Field Bit Position Reserved 7, 6, 5 Mesh Window End 4, 3, 2, 1, 0 R/W R/W Value Description R W Return 1 No effect Defines the character number after the mesh window display. MC_St and MC_End define the width and horizontal position of the mesh window. Table 15 Mesh Row Enable Register 06h: Bank F (MR_En) Bit R/W Reset 7 6 5 4 3 2 1 0 R/W R/W R/W R/W R/W R/W R/W R/W 0 0 0 0 0 0 0 0 Note: R = Read W = Write X = Indeterminate PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 31 Bit/ Field Bit Position R/W VBLANK Delay 7, 6, 5, 4 R/W Foreground Character for Halftone Effect 3 R/W Reserved 2, 1 R/W Mesh Window Row 0 R/W Value 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 0 1 Description No Delay Delay by 0.5 Dot-Clock Period Delay by 1.0 Dot-Clock Period Delay by 1.5 Dot-Clock Period Delay by 2.0 Dot-Clock Period Delay by 2.5 Dot-Clock Period Delay by 3.0 Dot-Clock Period Delay by 3.5 Dot-Clock Period Delay by 4.0 Dot-Clock Period Delay by 4.5 Dot-Clock Period Delay by 5.0 Dot-Clock Period Delay by 5.5 Dot-Clock Period Delay by 6.0 Dot-Clock Period Delay by 6.5 Dot-Clock Period Delay by 7.0 Dot-Clock Period Delay by 7.5 Dot-Clock Period Not included Included Must be 0 0 1 No mesh OSD for Next Row Mesh OSD for Next Row Bits 7, 6, 5, and 4, VBLANK Delay, set the amount of time that the VBLANK signal is properly aligned with the OSD RGB output with delay from external circuitries. Bit 3, Character Foreground for Halftone Effect, defines whether displaying a foreground color for character display is included. If bit 3 is set to 0, halftone is disabled for pixels with foreground color. If bit 3 is set to 1, halftone is active for pixels with both foreground and background colors. Bit 0, Mesh Window Row, sets the mesh effect to On or Off for the next row of the OSD. Table 16 Mesh Control Register 07h: Bank F (MC_Reg) Bit R/W Reset 7 6 5 4 3 2 1 0 R/W R/W R/W R/W R/W R/W R/W R/W 0 0 0 0 0 0 0 0 Note: R = Read W = Write X = Indeterminate PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 32 Bit/ Field Bit Position R/W Halftone Effect Output Delay on P20 7 R/W Mesh Color 6, 5, 4 R/W P20 for Halftoning 3 R/W 0 1 Normal Mesh effect Use P20 Output for Halftoning Software Field Number/ 2 Polarity of Halftone Effect Output R/W 0 Even Field/Positive Halftone Effect Output Odd Field/Negative Halftone Effect Output Software Mesh 1 R/W 0 1 Hardware Defines Field Number Software Defined Field Number Mesh Enable 0 R/W 0 1 Mesh is Disabled Mesh is Enabled Value xx/x 00/0 00/1 01/0 01/1 10/0 10/1 11/0 11/1 Description Bits 5, 4 in ROW_SPACE/ bit 7 No Delay Delay by 0.5 Dot-Clock Period Delay by 1.0 Dot-Clock Period Delay by 1.5 Dot-Clock Period Delay by 2.0 Dot-Clock Period Delay by 2.5 Dot-Clock Period Delay by 3.0 Dot-Clock Period Delay by 3.5 Dot-Clock Period Defines the mesh color. B,G,R respectively. 1 When working with Progressive mode, mesh does not work the same way as in Interlace mode. Bit 7, Halftone Output Delay on P20, is the amount of time that output of the halftone signal is delayed to compensate for the amount of delay of OSD RGB from external circuitries. Bits 6, 5, and 4, Mesh Color, define the color of the mesh window. The colors are specified in Blue, Green, Red order, as shown in Table 17. PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 33 Table 17 BGR Mesh Colors B G R Color 0 0 0 Black 0 0 1 Red 0 1 0 Green 0 1 1 Yellow 1 0 0 Blue 1 0 1 Magenta 1 1 0 Cyan 1 1 1 White Bit 3,P20 for Halftone, selects mesh or halftone effect. If bit 3 is set to 1, P20 outputs halftone. If reset to 0,P20 is a normal I/O pin. Bit 2, Software Field Number/Polarity of Halftone Output, has several possible values. The value of this bit remains the same for the entire mesh window; it does not change from row to row. If bit 3 is set to 1 (halftone), bit 2 defines the polarity of halftone output. If bit 3 is reset to 0 and bit 1 is set to 1, then bit 2 defines the field number (even or odd). Bit 1, Software Mesh, defines whether hardware or software sets the current field number. When the value equals 0, hardware defines field number. When the value equals 1, software defines the field number. Bit 0, Mesh Enable, disables or enables using mesh. This field is used in conjunction with MR_EN (0). The value of Mesh Enable is changed only when Mesh Window Row equals 0 (the current OSD row is not part of a mesh window). If the value is changed when the current row is part of the mesh window, partial or missing characters are likely to be displayed. 5.4 OSD Fade Fading is the gradual disappearance of the OSD. Fading occurs vertically, up or down. Figure 11 shows the fade-down effect. Fade control registers can only be updated during VSYNC, not during row interrupt. Otherwise, unexpected results can occur. PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 34 Figure 11 Video Fade (Example) This feature is controlled through the FADE_POS1 (Table 18), FADE_POS2 (Table 19), and ROW_SPACE registers (Table 20). PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 35 Table 18 Fade Position Register 1 05h: Bank A (FADE_POS1) Bit 7 R/W Reset 6 5 4 3 2 1 0 R/W R/W R/W R/W R/W R/W R/W R/W 1 1 1 1 0 0 0 0 Note: R = Read W = Write X = Indeterminate Bit/ Field Bit Position Reserved 7, 6, 5, 4 R W Row Number of the Screen 3, 2, 1, 0 R/W R/W Value Description Return 1 No effect OSD Row number for fading Bits 3, 2, 1, and 0 define the boundary row for the fade area. The portion of the OSD above or below the row number fades up or down, as set in Fade Direction, ROW_SPACE(6). The fade starts at the scan line set in FADE_POS2 (4,3,2,1,0) within the row number set in FADE_POS1 (3,2,1,0). Table 19 Fade Position Register 2 06h: Bank A (FADE_POS2) Bit 7 R/W Reset 6 5 4 3 2 1 0 R/W R/W R/W R/W R/W R/W R/W R/W 1 1 1 0 0 0 0 0 Value Description Note: R = Read W = Write X = Indeterminate Bit/ Field Bit Position Reserved 7, 6, 5 Scan Line Number 4, 3, 2, 1, 0 R/W R W R/W Return 1 No effect Scan Line Number of a row PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 36 5.5 Inter-Row Spacing Inter-Row Spacing can be from 0 to 15 horizontal scan line (HL). A setting of 0 HL is called Continuous Row Display. A horizontal interrupt is generated at the start of each row. Software must program the spacing between the current row and the next row during the current horizontal interrrupt. The time required to process a row must not exceed the display time of the row. Refer to Table 20. Table 20 Row Space Register 04h: BankA (ROW_SPACE) Bit R/W Reset 7 6 5 4 3 2 1 0 R/W R/W R/W R/W R/W R/W R/W R/W 0 0 0 0 0 0 0 0 Note: R = Read W = Write X = Indeterminate Bit/ Field Bit Position R/W Fade On/Off 7 R/W 0 1 Fade feature disabled Fade feature enabled Fade Direction 6 R/W 0 Fade area below the defined fade position Fade area above the defined fade position Value 1 Description Halftone Effect Output Delay On P20 5, 4 R/W Works with bit 7 in MC_Reg Inter-Row Space 3, 2, 1, 0 R/W Inter row spacing Bit 7, Fade ON/OFF, disables or enables the fade effect. Bit 6, Fade Direction, controls the direction of the fade effect. When Fade Direction is set to 0, the bottom of the TV screen is faded out. Fading occurs beginning with the row number set in FADE_POS1 (3,2,1,0) and the scan line number set in FADE_POS2 (4,3,2,1,0). When the Fade Direction is set to 1, the top of the screen is faded out. Bits 5 and 4, Halftone Effect Delay on P20, work with MC_REG (7). Bits 3, 2, 1, and 0, Inter-Row Space, specify the number of HL to add between displayed rows. PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 37 5.6 Character Generation Character generation provides the content of the OSD. The Z90255 supports 14pixel (horizontal) by 18-pixel (vertical) character display with 512 character sets. Character Cell Resolution Characters are mapped pixel-by-pixel in Character Generation Read-Only Memory (CGROM). Hex Add 0000 0001 0002 0003 0004 0005 0006 0007 0008 0009 000a 000b 000c 000d 000e 000f 0010 0011 0012 0013 0014 0015 0016 0017 0018 0019 001a 001b 001c 001d 001e 001f 0020 0021 0022 0023 0024 0039 0040 0063 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1 0 1 0 0 0 0 1 0 0 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 0 0 1 0 1 1 1 0 1 0 1 0 0 1 1 0 0 0 1 1 0 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0 1 1 1 0 0 1 0 0 0 0 1 0 0 1 1 0 0 0 1 1 0 0 1 0 0 1 0 0 1 0 0 0 0 1 0 1 0 1 1 0 1 1 1 0 1 1 1 0 0 1 1 0 0 0 1 1 0 0 1 0 0 1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0 1 0 1 0 0 1 0 0 1 1 0 1 0 1 1 1 0 1 0 1 1 1 0 1 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 Left Half 7fc0 7fa3 7fa4 7fbf address GAP Character Pattern Right Half 7fc0 7fc1 7fc2 7fc3 7fc4 7fc5 7fc6 7fc7 7fc8 7fc9 7fca 7fcb 7fcc 7fcd 7fce 7fcf 7fd0 7fd1 7fd2 7fd3 7fd4 7fd5 7fd6 7fd7 7fd8 7fd9 7fda 7fdb 7fdc 7fdd 7fde 7fdf 7fe0 7fe1 7fe2 7fe3 Character Pattern address GAP 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 Left Half Right Half Figure 12 Character Pixel map in CGROM Figure 12 is an example of a 512 character set where the character pixel map represents the first and last characters. It is 14 pixels horizontal and 18 pixels vertical. Each row in the map is 7 bits long, half the width of the character scan line. Even numbered rows in the map correspond to pixels on the left half of the character scan line; odd rows in the map correspond to pixels on the right half of the character scan line. PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 38 The Hex Add column is a hexadecimal number that serves as an address for the group of pixels from the starting point of the scan line. Addressing begins at 0000h and ends at 0023h for the first character. There is an address gap between characters. The starting address for the second character is 0040h. Each bit in the map sets the foreground/background designation of the corresponding pixel: 0 background pixel 1 foreground pixel The patterns formed by the bits comprise the characters that are displayed when the scan line is output to the screen. Each of these character pixel maps is one character; 512 characters can be mapped. Several characters can be combined to form a large icon. Figures 13 is an example of a large icon. Each block marked by the darker grid lines is 14 x 18 pixels, one character. Row 4 No Spacing Row 5 No spacing Row 6 6HL Spacing Row 7 Fringing Effect Figure 13 Example of a Multiple Character Icon PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 39 5.7 Character Size and Smoothing Effect The Z90255 supports four character sizes: 1X, 2X, double width, and double height. The 2X size duplicates each pixel horizontally and vertically to reach double size. Figure 14 shows a character at 1X, 2X without smoothing, and 2X with smoothing. Smoothing means enhancing a character to improve its appearance. This effect can be applied to 2X and double width characters, and is enabled and disabled in DISP_ATTR: 03h: Bank A (4). Check the effect of smoothing on 2X and double width characters before finalizing OSD programming. 1X 2X After Smoothing Figure 14 Smoothing Effect on 2X Character Size PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 40 5.8 Fringing Effect Fringing means surrounding a character with a different color than the foreground and background colors. Refer back to Figure 8. Fringing adds visual appeal to the character presentation. The fringing effect is enabled or disabled in DISP_ATTR: 03h: Bank A (5). The fringing color is set in INT_ST: 07h: Bank C (7) to either 0, the character background color, or to 1, a RGB color specified in INT_ST: 07h: Bank C (6,5,4). The eight RGB colors available for fringing and background are defined in Table 21. The fringing feature is NOT available in Progressive Mode. Table 21 RGB Colors R 5.9 G B Color 0 0 0 Black 0 0 1 Blue 0 1 0 Green 0 1 1 Cyan 1 0 0 Red 1 0 1 Magenta 1 1 0 Yellow 1 1 1 White Display Attribute Control Display Attribute Control determines screen display characteristics for the entire screen, not just the OSD area. The background that covers the entire screen is called the Master Background. Its color setting can be used to generate a blue screen when the TV signal is not present. Table 22 shows the Display Attribute Register. PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 41 Table 22 Display Attribute Register 03h: Bank A (DISP_ATTR) Bit 7 R/W 6 5 4 3 2 1 0 R/W R/W R/W R/W R/W R/W R/W R/W 0 0 0 0 0 0 0 0 Reset Note: R = Read W = Write X = Indeterminate Bit/ Field Bit Position R/W Character Display 7 R/W 0 1 Disable Character Display Enable Character Display Master Background Enable 6 R/W 0 1 No Master Background Incoming video is swapped with the background color Fringe Effect Enable 5 R/W 0 1 Fringe Effect is Disabled Fringe Effect is Enabled Smoothing Effect Enable 4 R/W 0 1 Smoothing enabled Smoothing disabled RGB Polarity 3 R/W 0 1 Positive Negative Red Master Background 2 R/W See Table 21 Green Master Background 1 R/W See Table 21 Blue Master Background 0 R/W See Table 21 Value Description Bit 7, Display Enable, disables or enables using foreground and background color, and therefore character display. When this bit is set to 0, effective space characters are sourced from the video RAM. Background On/Off and row background color are programmed independently. When bit 7 is set to 1, the actual video RAM characters are displayed. Bit 6, Master Background Enable, disables or enables using a background color for the entire screen instead of the broadcast signal. If this bit is set to 1, the incoming video signal blanks and the screen background displays color according to the background color bits. The color is specified in bits 2, 1, 0. If bit 6 is set to 0, the incoming video signal is displayed. PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 42 Bit 5, Fringe Enable, sets the fringe effect ON or OFF. Bit 4, Smoothing Effect Enable, sets smoothing ON or OFF, and is available for 2X and double width characters. Bit 3, RGB Polarity, sets color polarity of OSD color output signals to positive or negative. Bits 2, 1, and 0 form the color for the master background. The eight possible colors are the same ones listed in Table 21. Video Refresh RAM Access The Z90255 supports 12-bit character data. Nine bits, P8 and P7 through P0, contain character code. Three additional bits, C2 through C0, contain color palette information. See Figures 15. Color Palette Selection bits serve as a 3-bit Color Index to the color palette lookup table. When software writes Character Byte data (7-0) into VRAM, it also takes the data in the color index register and writes the corresponding Color Palette Selection Bits (10-8) and the most significant bit of character data (P8). When updating 3-bit color index data, the most significant bit of the character data must also be updated. Table 20 contains VRAM structure and memory mapping. Color Index Register D7 D6 D5 D4 D3 D2 D1 D0 CLR_IDX: 09h Bank C P[8:0] = character code C[2:0] = character color 512 Character Set VRAM D[11:0] (4+8=12-bit word) 11 10 P8 9 8 7 6 5 C2 C1 C0 P7 P6 P5 P4 P3 Character color 4 3 1 0 P2 P1 P0 2 Character code Character Information Figure 15 VRAM Data Path for 512 Character Set PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 43 Table 23 VRAM Structure and Memory Map Character Code Data Bit[11] , Character Color C[2:0] Character Code Data Bit[7:0] Row 0 Attribute(ROW0_ATTR) FC00h Row0/Column 0 D[11:8] FE01h Row 0/Column 0 D[7:0] FC01h Row0/Column 1 through 22 D[11:8] FE02h Row 0/Column 1 through 22 D[7:0] FC02h FE17h Row 0/Column 23 D[11:8] FE18h FC17h Row 0/Column 23 D[7:0] FC18h Row 1 Attribute(ROW1_ATTR) FC20h Row1/Column 0 D[11:8] FE21h Row 1/Column 0 D[7:0] FC21h Row1/Column 1 through 22 D[11:8] FE22h Row 1/Column 1 through 22 D[7:0] FC22h FE37h Row 1/Column 23 D[11:8] Row 2 D[11:8] FE38h FC37h Row 1/Column 23 D[7:0] FC38h Row 2 Video RAM buffer FC40h FE41h FC41h FE58h FC58h Row 3 Video RAM buffer Row 3 D[11:8] FE61h FC61h FE78h FC78h Row 4 Video RAM buffer Row 4 D[11:8] FC80h FE81h FC81h FE98h FC98h Row 5 Video RAM buffer Row 5 D[11:8] FC60h FCA0h FEA1h FCA1h FEB8h FCB8h PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 44 Table 23 VRAM Structure and Memory Map (Continued) Character Code Data Bit[11] , Character Color C[2:0] Character Code Data Bit[7:0] Row 6 Video RAM buffer Row 6 D[11:8] FEC1h FCC1h FED8h FCD8h Row 7 Video RAM buffer Row 7 D[11:8] FCE1h FEF8h FCF8h FD00h FF01h FD01h FF18h FD18h Row 9 Video RAM buffer Row 9 D[11:8] FCE0h FEE1h Row 8 Video RAM buffer Row 8 D[11:8] FCC0h FD20h FF21h FD21h FF38h FD38h Hardware processes the entire 12 bits of data at the same time it processes the OSD. The Color Palette Selection Bits (10-8) are decoded as described in Table 24. PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 45 Table 24 Color Palette Selection Bits Color Index, Bit [10:8] Function 000 Selects background/foreground color in row attribute 001 Selects color palette 0 in the color look-up table 010 Selects color palette 1 in the color look-up table 011 Selects color palette 2 in the color look-up table 100 Selects color palette 3 in the color look-up table 101 Selects color palette 4 in the color look-up table 110 Selects color palette 5 in the color look-up table 111 Selects color palette 6 in the color look-up table There are eight different foreground/background palettes, including the 000h case that reads the color(s) from the ROW_ATTR register mapped into video RAM. Color Table and Color Index Register Table 25 lists the bits in the Color Index Register. Table 25 Color Index Register 09h: Bank C (CLR_IDX) Bit R/W Reset 7 6 5 4 3 2 1 0 R/W R/W R/W R/W R/W R/W R/W R/W 1 1 1 1 0 0 0 0 Note: R = Read W = Write X = Indeterminate Bit/ Field Bit Position R/W Reserved 7, 6, 5, 4 R W Color Index Data 3, 2, 1, 0 R/W Value Description Return 1 No Effect Bit 3 defines MSb of the character pointer data bit and bit [2:0] for character color data bits When the Color Index has a value other than 000h, the value indicates the number of the color palette that contains the RGB foreground and background colors to be displayed. In the Color Palette register descriptions below, the following notation is used: PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 46 Rnf R - Red, n - Palette Number, f - Foreground Rnb R - Red, n - Palette Number, b - Background Gnf G - Green, n - Palette Number, f - Foreground Gnb G - Green, n - Palette Number, b - Background Bnf B - Blue, n - Palette Number, f - Foreground Bnb B - Blue, n - Palette Number, b - Background The registers for color palettes 0 through 6 are listed in Table 26 through Table 32. Table 26 Color Palette 0 Register 09h: Bank A (CLR_P0) Bit 7 R/W Reset 6 5 4 3 2 1 0 R/W R/W R/W R/W R/W R/W R/W R/W 1 1 0 0 0 0 0 0 Note: R = Read W = Write X = Indeterminate Bit/ Field Bit Position Reserved 7, 6 Color Palette 0 5,4,3,2,1,0 R/W R/W Value Description R W Return 1 No Effect Programming R0f, G0f, B0f, R0b, G0b, B0b Table 27 Color Palette 1 Register 0Ah: Bank A (CLR_P1) Bit R/W Reset 7 6 5 4 3 2 1 0 R/W R/W R/W R/W R/W R/W R/W R/W 1 1 0 0 0 0 0 0 Note: R = Read W = Write X = Indeterminate Bit/ Field Bit Position Reserved 7, 6 Color Palette 1 5,4,3,2,1,0 R/W R W R/W Value Description Return 1 No Effect Programming R1f, G1f, B1f, R1b, G1b, B1b PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 47 Table 28 Color Palette 2 Register 0Bh: Bank A (CLR_P2) Bit 7 R/W Reset 6 5 4 3 2 1 0 R/W R/W R/W R/W R/W R/W R/W R/W 1 1 0 0 0 0 0 0 Note: R = Read W = Write X = Indeterminate Bit/ Field Bit Position Reserved 7, 6 Color Palette 2 5,4,3,2,1,0 R/W Value Description R W Return 1 No Effect R/W Programming R2f, G2f, B2f, R2b, G2b, B2b Table 29 Color Palette 3 Register 0Ch: Bank A (CLR_P3) Bit 7 R/W Reset 6 5 4 3 2 1 0 R/W R/W R/W R/W R/W R/W R/W R/W 1 1 0 0 0 0 0 0 Note: R = Read W = Write X = Indeterminate Bit/ Field Bit Position Reserved 7, 6 Color Palette 3 5,4,3,2,1,0 R/W Value Description R W Return 1 No Effect Programming R3f, G3f, B3f, R3b, G3b, B3b R/W Table 30 Color Palette 4 Register 0Dh: Bank A (CLR_P4) Bit R/W Reset 7 6 5 4 3 2 1 0 R/W R/W R/W R/W R/W R/W R/W R/W 1 1 0 0 0 0 0 0 Note: R = Read W = Write X = Indeterminate PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 48 Bit/ Field Bit Position Reserved 7, 6 Color Palette 4 5,4,3,2,1,0 R/W Value Description R W Return 1 No Effect R/W Programming R4f, G4f, B4f, R4b, G4b, B4b Table 31 Color Palette 5 Register 0Eh: Bank A (CLR_P5) Bit 7 R/W Reset 6 5 4 3 2 1 0 R/W R/W R/W R/W R/W R/W R/W R/W 1 1 0 0 0 0 0 0 Note: R = Read W = Write X = Indeterminate Bit/ Field Bit Position Reserved 7, 6 R/W Value Description R W Color Palette 5 5,4,3,2,1,0 Return 1 No Effect R/W Programming R5f, G5f, B5f, R5b, G5b, B5b Table 32 Color Palette 6 Register 0Fh: Bank A (CLR_P6) Bit 7 6 5 4 3 2 1 0 R/W R/W R/W R/W R/W R/W R/W R/W R/W 1 1 0 0 0 0 0 0 Reset Note: R = Read W = Write X = Indeterminate Bit/ Field Bit Position Reserved 7, 6 Color Palette 6 5,4,3,2,1,0 R/W R W R/W Value Description Return 1 No Effect Programming R6f, G6f, B6f, R6b, G6b, B6b PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 49 Row Attribute Register The Row Attribute Register (Table 33) is mapped to VRAM, as shown in Table 20. This register controls row background and foreground display. If the Color Index is set to 000h, the display color is read from the Row Attribute Register. Table 33 Row Attribute Register (ROW_ATTR) Bit R/W Reset 7 6 5 4 3 2 1 0 R/W R/W R/W R/W R/W R/W R/W R/W x x x x x x x x Note: R = Read W = Write X = Indeterminate Bit/ Field Bit Position R/W Row Foreground Enable 7 R/W Row Foreground Color 6, 5, 4 R/W Row Background Enable 3 R/W Row Background Color 2, 1, 0 R/W Value Description 0 1 Row Foreground Color displayed Row Foreground color disabled Defines the Character Color R, G, B, respectively 0 1 Row Background Color disabled Row Background color displayed Defines the Row Background Color R, G, B, respectively 5.10 HV Interrupt Processing An interrupt is issued at the beginning of a row and at the leading edge of the VSYNC signal. The leading edge of the first HSYNC of a row constitutes the beginning of a row. The Z90255 software tracks this cycle as two recurring events, the Horizontal (HSYNC) Interrupt and the Vertical (VSYNC) Interrupt. A VSYNC interrupt marks the time for displaying a new field of a TV frame. Displaying subsequent rows coincides with the issuance of the HSYNC interrupt. The interrupts mark the time when displaying a row or start of a field is to occur. Each text row is comprised of 18 scan lines. Each scan line takes 63.5 µs to be displayed. So, 1143 µs is the amount of time available to change programming for the next row. Double-size and double-height characters span 36 scan lines, PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 50 allowing 2286 µs to program the next row. Additional programming time is available with inter-row spacing. VRAM is updated during that time. If the program has too much to display, black lines appear at the top of the screen. The HV Interrupt Status Register (Table 34) keeps track of the type of interrupt issued, horizontal or vertical. Table 34 HV Interrupt Status Register 07h: Bank C (INT_ST) Bit 7 R/W Reset 6 5 4 3 2 1 0 R/W R/W R/W R/W R/W R/W R/W R/W 0 0 0 0 0 0 0 0 Note: R = Read W = Write X = Indeterminate Bit/ Field Bit Position R/W Value Description Fringe Color Selection 7 R/W Fringe Color 6, 5, 4 R/W Palette Mode 3 R/W 0 1 Normal Mode Color Palette Mode Horizontal Interrupt Enable 2 R/W 0 1 No Horizontal Interrupt Enable Horizontal Interrupt Vertical Interrupt 1 R 0 1 0 1 No Vertical Interrupt Vertical Interrupt No Effect Reset Vertical Interrupt Flag 0 1 0 1 No Horizontal Interrupt Horizontal Interrupt No Effect Reset Horizontal Interrupt Flag W Horizontal Interrupt 0 R W 0 1 Select Character Background Color Select Fringe Color RGB* Defines Fringe Color RGB Note: The fringing feature is not available in Progressive Mode. Bit 7, Fringe Color Selection, sets the fringe color to the background color or to a Red, Green, and Blue color specified in bits 6,5,4. Bit 3, Palette Mode, sets color to Normal or VRAM Mode. When the value is 0 (Normal Mode), the color attribute of a row is controlled by values in the ROW_ATTR register which is mapped in VRAM, but the Color Palette Selection Bits PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 51 are ignored. When the Palette Mode value is 1, the Color Palette Selection Bits are used, unless they are set to 0s. In that case, the values in the ROW_ATTR register are used. Bit 2, Horizontal Interrupt Enable, disables or enables the horizontal (HSYNC) interrupt. Bit 1, Vertical Interrupt, has different meanings depending on its Read and Write status. In Read State, a value of 0 indicates that a vertical interrupt was not issued; a value of 1 indicates that a vertical interrupt was issued. In Write State, a value of 0 has no effect; a value of 1 resets the vertical interrupt flag. Bit 0, Horizontal Interrupt, has different meanings depending on its status. In Read State, a value of 0 indicates that a horizontal interrupt was not issued; a value of 1 indicates that a horizontal interrupt was issued. In Write State, a value of 0 has no effect; a value of 1 resets the horizontal interrupt flag. When an interrupt is issued while another interrupt is processing, the last-issued interrupt is pended. The interrupt-flag bit which is in service (the interrupt issued first) must be cleared or serviced before the pended interrupt can be processed (see SNDCLR(6)). PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 52 HSYNC and VSYNC Requirements HSYNC and VSYNC must meet all TV broadcasting specifications. The minimum width of VSYNC must conform to the specification in Figure 16. VT Field 1 HT HCYCLE 1/2 HCYCLE Field 2 VT must be larger than 1.5 x (HCYCLE +HT). The same timing specification must applied in negative polarity. Figure 16 HSYNC and VSYNC Specification The rising edge of VSYNC must not coincide with the rising edge of HSYNC to be sure that the controller recognizes both rising edges. PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 53 6 Z90255 I2C Master Interface The Z90255 has a hardware module which supports the I2C Master interface. Bus arbitration and MastersÕ arbitration logic is NOT implemented; in other words, the Z90255 is designed for a Single Master application. The I2C interface can be configured to run at four different transfer speeds defined by bits (1,0) in the I2C Control Register (I2C_CNTL: 0Ch, Bank:C). To circumvent possible problems on both DATA and SCLK lines, digital filters with time constant equal to 3Tsclk are implemented on all inputs of the I2C bus interface. The Z90255 has two separate I2C busses which share the same I2C state machine. The I2C module is enabled by setting bit (2) in the I2C_CNTL register to 1(see Figure 17). This bit blocks out I2C logic if it is set to 0. To prevent switching the I2C bus during activation, bits (7,6) of the Port 2 Data Register for I2C selection 1 (bits (5,4) of Port 2 Data Register for I2C selection 0) should be set to 1 before the I2C module is enabled. Notes: 1 2 When the I2C module is enabled, pins used as I2C must be configured as output in the Port 2 Mode Register (P2M: F6h). If P27/P26 or P25/P24 are used as I2C pins, then these pins are automatically set to open-drain mode. Port 2 must be configured in standard drive mode (PCON: 00h: Bank F) when the I2C interface is active. VCC P2CNTL (0) P2M 1 = Input 0 = Output PAD I 2C DATA (Output) P2 (Output) 1 0 S I2C Selection P2 (Input) I2C DATA (Input) I2C Enable For I2C Figure 17 Bidirectional Port Pin Pad Multiplexed with I2C Port PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 54 Table 35 Master I2C Control Register 0Ch: Bank C (I2C_CNTL) Bit R/W Reset 7 6 5 4 3 2 1 0 R/W R/W R/W R/W R/W R/W R/W R/W x x 0 0 x x x x Note: R = Read W = Write X = Indeterminate Bit/ Field Bit Position R/W Clock Selection 7 R/W Reserved 6 R W I2C Selection 1 5 R/W Value Description 0 1 Return 1 No Effect 0 1 I2C Selection 0 4 R/W 1X SCLK for I2C and ADC 0.5X SCLK for I2C and ADC 0 1 P26 selection - POR P27 selection - POR SCLK1 selection on P26 SDATA1 selection on P27 P24 selection - POR P25 selection - POR SCLK 0 selection on P24 SDATA0 selection on P25 Reserved 3 R/W I2C Enable 2 R/W 0 1 Disable I2C Interface Enable I2C Interface R/W 00 01 10 11 10 KHz 50 KHz 100 KHz 330 KHz I2C Speed (for 6-MHz XTAL) 1, 0 Must be 0 If bits 4 and 5 both equal 1, then the I2C Selection 0 prevails. Controlling the I2C Interface Software controls the I2C module by writing appropriate commands into the I2C Command Register (I2C_CMD:0Bh:0Ch). See Table 36. PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 55 Table 36 Master I2C Command Register 0Bh: Bank C (I2C_CMD) Bit 7 R/W 6 5 4 3 2 1 0 R/W R/W R/W R/W R/W R/W R/W R/W x x x x x x x 0 Reset Note: R = Read W = Write X = Indeterminate Bit/ Field Bit Position Reserved 7 R W Return 1 No Effect I2C Command 6, 5, 4 R W Return 1 See Table 35 Reserved 3, 2 R W Return 1 No Effect Reset 1 R W Busy R/W 0 Value Description 0 1 R 0 1 W Return 1 No Effect Reset I2C interface Idle Busy No Effect Software puts data to be transmitted into I2C Data Register (Table 37) and reads received data from it. Bit 7 in this register is used as an acknowledge bit when receiving data from a Slave. Bit 0 of I2C_DATA register contains an acknowledgment bit generated by the Slave. Refer to Table 38. Table 37 Master I2C Data Register 0Ah: Bank C (I2C_DATA) Bit R/W 7 6 5 4 3 2 1 0 R/W R/W R/W R/W R/W R/W R/W R/W 0 0 0 0 0 0 0 0 Reset Note: R = Read W = Write X = Indeterminate Bit/ Field Bit Position Data 7,6,5,4,3,2,1,0 R/W Value Description R W Received data Data to be sent PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 56 Table 38 Master I2C Bus Interface Commands Command Description 000 Send a Start bit followed by the address byte specified in the I2C data register, then fetch the acknowledgment bit in I2C_DATA (0). Used to initialize communication. Nine SCLK cycles are generated. 001 Send the byte of data specified in the I2C data register, then fetch an acknowledgment bit stored in bit 0. Used in a Write frame. Nine SCLK cycles are generated. 010 Send bit 7 of I2C_DATA register as an acknowledgment bit (ACK: (0XXXXXXX), NAK: (1XXXXXXX)), then receive a data byte. Used in a Read frame when the next data byte is expected. Nine SCLK cycles are generated. Received data is read in the I2C data register. 011 Send bit 7 of I2C_DATA register as an acknowledgment bit (ACK: (0XXXXXXX), NAK: (1XXXXXXX). Used in a Read frame. One SCLK cycle is generated. 10X Null operation. Must be used with a Reset bit. 110 Received one data byte. Used in a Read frame to receive the first data byte after an address byte is transmitted. Eight SCLK cycles are generated. 111 Send Stop bit. One SCLK cycle is generated. PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 57 7 Input/Output Ports There are 20 input/output (I/O) ports. In addition, seven pulse-width modulators (PWM), PWM1 through PWM6, and PWM11, can be configured as regular output ports. The maximum number of I/O ports available is 27. Please refer to the port bank and number carefully for exact addressing and access. See Table 39 through Table 49. Table 39 Port configuration Register 00h: Bank F (PCON) Bit R/W Reset 7 6 5 4 3 2 1 0 R/W R/W R/W R/W R/W R/W R/W R/W 1 1 1 1 1 1 1 0 Note: R = Read W = Write X = Indeterminate Bit/ Field Bit Position Low EMI Z8 Oscillator 7 R/W 0 1 Low EMI Noise Standard-POR Low EMI Port 6 6 R/W 0 1 Low EMI Noise Standard-POR Low EMI Port 2 5 R/W 0 1 Low EMI Noise Standard-POR Reserved 4, 3 R/W Value R W Description Return 1 Write 1s Low EMI Port 4 and 2 PWMs R/W 0 1 Low EMI Noise Standard-POR Low EMI OSD Oscillator 1 R/W 0 1 Low EMI Noise Standard-POR Reserved 0 R/W Return Unknown No Effect Ports 2, 4, and 6 can be set for Standard or Low EMI. The Low EMI option can also be selected for the microcontroller oscillator or OSD oscillator. Standard (1) is the High setting. Following Power-On Reset, Bits 1, 2, 5, 6, 7 each has a value of 1. PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 58 Table 40 Port 2 Mode Register F6h: P2M Bit 7 6 5 4 3 2 1 0 R/W W W W W W W W W Reset 1 1 1 1 1 1 1 1 Note: R = Read W = Write X = Indeterminate Bit/ Field Bit Position P27 I/O Definition 7 W 0 1 Defines P27 as Output Defines P27 as Input P26 I/O Definition 6 W 0 1 Defines P26 as Output Defines P26 as Input P25 I/O Definition 5 W 0 1 Defines P25 as Output Defines P25 as Input P24 I/O Definition 4 W 0 1 Defines P24 as Output Defines P24 as Input P23 I/O Definition 3 W 0 1 Defines P23 as Output Defines P23 as Input P22 I/O Definition 2 W 0 1 Defines P22 as Output Defines P22 as Input P21 I/O Definition 1 W 0 1 Defines P21 as Output Defines P21 as Input P20 I/O Definition 0 W 0 1 Defines P20 as Output Defines P20 as Input R/W Value Description When P27/P26 or P25/P24 are used as I2C pins, then these pins are automatically set to open-drain mode. Table 41 Port 2 Data Register 02h: P2 Bit R/W Reset 7 6 5 4 3 2 1 0 R/W R/W R/W R/W R/W R/W R/W R/W x x x x x x x x Note: R = Read W = Write X = Indeterminate PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 59 7.1 Bit/ Field Bit Position P27 7 R W Data input on P27 Data Output on P27 P26 6 R W Data input on P26 Data Output on P26 P25 5 R W Data input on P25 Data Output on P25 P24 4 R W Data input on P24 Data Output on P24 P23 3 R W Data input on P23 Data Output on P23 P22 2 R W Data input on P22 Data Output on P22 P21 1 R W Data input on P21 Data Output on P21 P20 0 R W Data input on P20 Data Output on P20 R/W Value Description Port 4 Pin-Out Selection Register Bits 5,4,3, and 2 control the configuration of multiplexed pins 20, 19, 18, and 17. If a bit is set to 0, the pin functions as a PWM output port. If a bit is set to 1, the pin functions as a programmable regular input/output port. See Table 42. This value is the default following a Power-On Reset. Table 42 Port 4 Pin-Out Selection Register 08h: Bank C (PIN_SLT) Bit R/W Reset 7 6 5 4 3 2 1 0 R/W R/W R/W R/W R/W R/W R/W R/W x x 1 1 1 1 x x Note: R = Read W = Write X = Indeterminate PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 60 Bit/ Field Bit Position Reserved 7, 6 P47/PWM10 5 R/W 0 1 Selects PWM10 Selects P47 - POR P46/PWM9 4 R/W 0 1 Selects PWM9 Selects P46 - POR P45/PWM8 3 R/W 0 1 Selects PWM8 Selects P45 - POR P44/PWM7 2 R/W 0 1 Selects PWM7 Selects P44 - POR Reserved 1, 0 R/W Value R W Description Return 1 No Effect R W Return 1 No Effect Table 43 Port 4 Data Register 05h: Bank C (PRT4_DTA) Bit R/W Reset 7 6 5 4 3 2 1 0 R/W R/W R/W R/W R/W R/W R/W R/W x x x x x x x x Note: R = Read W = Write X = Indeterminate Bit/ Field Bit Position P47 7 R W Data input on P47 Data Output on P47 P46 6 R W Data input on P46 Data Output on P46 P45 5 R W Data input on P45 Data Output on P45 P44 4 R W Data input on P44 Data Output on P44 P43 3 R W Data input on P43 Data Output on P43 R/W Value Description PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 61 Bit/ Field Bit Position P42 2 R W Data input on P42 Data Output on P42 P41 1 R W Data input on P41 Data Output on P41 P40 0 R W Data input on P40 Data Output on P40 R/W Value Description Table 44 Port 4 Direction Control Register 06h: Bank C (PRT4_DRT) Bit R/W Reset 7 6 5 4 3 2 1 0 R/W R/W R/W R/W R/W R/W R/W R/W 1 1 1 1 1 1 1 1 Note: R = Read W = Write X = Indeterminate Bit/ Field Bit Position R/W P47 I/O Definition 7 R/W 0 1 Defines P47 as Output Defines P47 as Input-POR P46 I/O Definition 6 R/W 0 1 Defines P46 as Output Defines P46 as Input-POR P45 I/O Definition 5 R/W 0 1 Defines P45 as Output Defines P45 as Input-POR P44 I/O Definition 4 R/W 0 1 Defines P44 as Output Defines P44 as Input-POR P43 I/O Definition 3 R/W 0 1 Defines P43 as Output Defines P43 as Input-POR P42 I/O Definition 2 R/W 0 1 Defines P42 as Output Defines P42 as Input-POR P41 I/O Definition 1 R/W 0 1 Defines P41 as Output Defines P41 as Input-POR P40 I/O Definition 0 R/W 0 1 Defines P40 as Output Defines P40 as Input-POR Value Description PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 62 7.2 Port 5 Pin-Out Selection Register Table 45 PWM Mode Register 0Dh: Bank B (P_MODE) Bit 7 R/W Reset 6 5 4 3 2 1 0 R/W R/W R/W R/W R/W R/W R/W R/W 0 1 1 1 1 1 1 1 Note: R = Read W = Write X = Indeterminate Table 46 Port 5 Data Register 0Ch: Bank B (PRT5_DTA) Bit 7 R/W Reset 6 5 4 3 2 1 0 R/W R/W R/W R/W R/W R/W R/W R/W x x x x x x x x Note: R = Read W = Write X = Indeterminate Bit/ Field Bit Position Reserved 7 R W Return 1 No Effect P56 6 R W Data input on P56 Data Output on P56 P55 5 R W Data input on P55 Data Output on P55 P54 4 R W Data input on P54 Data Output on P54 P53 3 R W Data input on P53 Data Output on P53 P52 2 R W Data input on P52 Data Output on P52 P51 1 R W Data input on P51 Data Output on P51 P50 0 R W Data input on P50 Data Output on P50 R/W Value Description PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 63 Table 47 Port 5 Direction Control Register 0Eh: Bank B (PRT5_DRT) Bit R/W Reset 7 6 5 4 3 2 1 0 R/W R/W R/W R/W R/W R/W R/W R/W x 1 1 1 1 1 1 1 Note: R = Read W = Write X = Indeterminate 7.3 Bit/ Field Bit Position Reserved 7 R W P56 I/O Definition 6 R/W 0 1 Defines P56 as Output Defines P56 as Input-POR P55 I/O Definition 5 R/W 0 1 Defines P55 as Output Defines P55 as Input-POR P54 I/O Definition 4 R/W 0 1 Defines P54 as Output Defines P54 as Input-POR P53 I/O Definition 3 R/W 0 1 Defines P53 as Output Defines P53 as Input-POR P52 I/O Definition 2 R/W 0 1 Defines P52 as Output Defines P52 as Input-POR P51 I/O Definition 1 R/W 0 1 Defines P51 as Output Defines P51 as Input-POR P50 I/O Definition 0 R/W 0 1 Defines P50 as Output Defines P50 as Input-POR R/W Value Description Return 1 No Effect Port 6 Data Register Table 48 Port 6 Data Register 03h: Bank F (PRT6_DTA) Bit R/W Reset 7 6 5 4 3 2 1 0 R/W R/W R/W R/W R/W R/W R/W R/W 1 1 1 1 1 1 1 1 Note: R = Read W = Write X = Indeterminate PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 64 Bit/ Field Bit Position Reserved 7, 6, 5, 4 R W Return Unknown No Effect P63 3 R W Data input on P63 Data Output on P63 P62 2 R W Data input on P62 Data Output on P62 P61 1 R W Data input on P61 Data Output on P61 P60 0 R W Data input on P60 Data Output on P60 R/W Value Description Table 49 Port 6 Direction Control Register 02h: Bank F (PRT6_DRT) Bit R/W Reset 7 6 5 4 3 2 1 0 R/W R/W R/W R/W R/W R/W R/W R/W 1 1 1 1 1 1 1 1 Note: R = Read W = Write X = Indeterminate Bit/ Field Bit Position R/W P63 7 R/W 0 1 Open-Drain Output Push-Pull Output - POR P62 6 R/W 0 1 Open-Drain Output Push-Pull Output - POR P61 5 R/W 0 1 Open-Drain Output Push-Pull Output - POR P60 4 R/W 0 1 Open-Drain Output Push-Pull Output - POR P63 I/O definition 3 R/W 0 1 Data Output Data Input - POR Value Description PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 65 8 Bit/ Field Bit Position R/W P62 I/O definition 2 R/W 0 1 Data Output Data Input - POR P61 I/O definition 1 R/W 0 1 Data Output Data Input - POR P60 I/O definition 0 R/W 0 1 Data Output Data Input - POR Value Description Infrared Interface The Z90255 supports the Infrared (IR) Remote Control interface with a minimum of software overhead. Two bytes of data are received through the Infrared (IR) Interface. The lower byte, bits 7-0, is stored in IR Capture Register 0. The upper byte, bits 15-8, is stored in IR Capture Register 1. When an IR interrupt occurs, the IR capture registers contain the amount of time passed from the previous IR interrupt if bit 0 in the TCR0 is set to 0. If bit 0 is set to 1, the IR capture registers contain the amount of time passed from the last overflow of the IR capture counter. The IR interrupt flags are reset by the IR interrupt service routine software. Refer to Table 50 through Table 53. Timer Control Register 0 Rising edge (falling edge) interrupt is preserved even when a falling edge (rising edge) interrupt occurs. But it is overridden by a second rising edge (falling edge) if the second one occurs before the first rising edge (falling edge) is serviced. Preservation of the interrupt means that it generates the hardware interrupt after the first interrupt is serviced when two different (rising edge/falling edge) interrupts are already ON. Table 50 Timer Control Register 0 01h: Bank C (TCR0) Bit R/W Reset 7 6 5 4 3 2 1 0 R/W R/W R/W R/W R/W R/W R/W R/W x x x x x x x x Note: R = Read W = Write X = Indeterminate PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 66 Bit/ Field Bit Position Reserved 7, 6, 5, 4, 3 R W CAPint_r 2 R R/W Value Description Return 0 No Effect W CAPint_f 1 R W Tout_CAP 0 R W 0 1 0 1 No Rising Edge is Captured Rising Edge is Captured No Effect Reset Flag 0 1 0 1 No Falling Edge is Captured Falling Edge is Captured No Effect Reset Flag 0 1 0 1 No Time-out of the Capture Timer Time-out of the Capture Timer No Effect Reset Flag During the interrupt service routine, software must read the contents of Timer Control Register 0. Then it checks which bit is set to 1, indicating the type of edge which generated the interrupt. Table 51 Timer Control Register 1 02h: Bank C (TCR1) Bit R/W Reset 7 6 5 4 3 2 1 0 R/W R/W R/W R/W R/W R/W R/W R/W x 1 0 0 0 0 0 0 Note: R = Read W = Write X = Indeterminate Bit/ Field Bit Position Reserved 7 R W CAP Halt 6 R/W 0 1 Capture Timer Running Capture Timer Halted CAP Edge 5, 4 R/W 00 01 10 11 No capture Capture on Rising Edge Only Capture on Falling Edge Only Capture on Both Edges R/W Value Description Return 0 No Effect PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 67 Bit/ Field Bit Position R/W Value CAP Glitch 3, 2 R/W 00 01 10 11 Glitch Filter Disabled <2SCLK Filtered Out <8SCLK Filtered Out <16SCLK Filtered Out CAP Speed 1, 0 R/W 00 01 10 11 SCLK/32 SCLK/4 SCLK/8 SCLK/16 Description Bit 6 resets the IR Capture Timer. To stop the timer, set this bit to 1. To start the timer, set the bit to 0. Bits 5 and 4 set the IR Capture Edge. The rising edge, the falling edge, or both edges of an input signal can be used as the source of IR interrupts. If both edges are set as interrupt sources, Timer Control Register 0 (TCR0: 01h: Bank C) must be read and checked by the Interrupt Service Routine (ISR) in order to identify which edge was captured. Bits 3 and 2 contain a time constant used in a digital filter to process the IR Capture module in order to prevent errors. Bits 1 and 0 set the IR Capture Counter to one of four different speeds. The IR capture counter is driven by the clock generated by dividing the system clock in the Z90255. Table 52 IR Capture Register 0 03h: Bank C (IR_CP0) Bit 7 6 5 4 3 2 1 0 R/W R R R R R R R R Reset 0 0 0 0 0 0 0 0 Note: R = Read W = Write X = Indeterminate Bit/ Field Bit Position IR Capture Register 0 7,6,5,4,3,2,1,0 R/W R Value Description Reading Low Byte of IR Capture Data PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 68 Table 53 IR Capture Register 1 04h: Bank C (IR_CP1) Bit 7 6 5 4 3 2 1 0 R/W R R R R R R R R Reset 0 0 0 0 0 0 0 0 Note: R = Read W = Write X = Indeterminate 9 Bit/ Field Bit Position IR Capture Register 1 7,6,5,4,3,2,1,0 R/W Value Description R Reading High Byte of IR Capture Data Pulse Width Modulators The Z90255 has 11 Pulse Width Modulator channels. PWM1 through PWM10 have 6-bit resolution and are typically used for audio and video level control. PWM11 has 14-bit resolution and is typically used for voltage synthesis tuning. PWM11 uses two registers to accommodate its 14-bit resolution. PWM6 can be configured as either 14-bit or 6-bit. 9.1 PWM Mode Register PWM Mode Register (Table 54) controls the setting of multiplexed pins 1-7. These pins can be configured to function as PWM output ports or regular output ports. If a bit is reset to 0, the pin outputs the PWM signal. If a bit is set to 1, the pin is a regular output port. Table 54 PWM Mode Register 0Dh: Bank B (P_MODE) Bit R/W Reset 7 6 5 4 3 2 1 0 R/W R/W R/W R/W R/W R/W R/W R/W 0 1 1 1 1 1 1 1 Note: R = Read W = Write X = Indeterminate PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 69 Bit/ Field Bit Position R/W 6-bit/14-bit PWM6 7 R/W 0 1 Select 6-bit (POR) Select 14-bit PWM 11 / P56 6 R/W 0 1 Select PWM 11 Select P56 - POR PWM 6* / P55 5 R/W 0 1 Select PWM 6 Select P55 - POR PWM 5 / P54 4 R/W 0 1 Select PWM 5 Select P54 - POR PWM 4 / P53 3 R/W 0 1 Select PWM 4 Select P53 - POR PWM 3 / P52 2 R/W 0 1 Select PWM 3 Select P52 - POR PWM 2 / P51 1 R/W 0 1 Select PWM 2 Select P51 - POR PWM 1 / P50 0 R/W 0 1 Select PWM 1 Select P50 - POR Value Description Note: PWM6 can be either 6- or 14-bit depending on the bit status in bit7. Port 4 Pin-Out Selection Register Bits 5, 4, 3, and 2 of the Port 4 Pin-Out Selection Register (Table 55) control the configuration of multiplexed pins 20, 19, 18, and 17. If a bit is reset to 0, the pin functions as a PWM output port. This value is the default following a Power-On Reset. If a bit is set to 1, the pin functions as a programmable regular input/output port. Table 55 Port 4 Pin-Out Selection Register 08h: Bank C (PIN_SLT) Bit R/W Reset 7 6 5 4 3 2 1 0 R/W R/W R/W R/W R/W R/W R/W R/W x x 1 1 1 1 x x Note: R = Read W = Write X = Indeterminate PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 70 9.2 Bit/ Field Bit Position Reserved 7, 6 P47/ PWM 10 5 R/W 0 1 Select PWM 10 Select P47 - POR P46/ PWM9 4 R/W 0 1 Select PWM 9 Select P46 - POR P45/ PWM 8 3 R/W 0 1 Select PWM 8 Select P45 - POR P44/ PWM 7 2 R/W 0 1 Select PWM 7 Select P44 - POR Reserved 1, 0 R/W Value Description R W R W Return 1 No effect Return 1 No effect PWM1 through PWM11 Two data registers (PWM11H and PWM11L) hold the 14-bit PWM11 ratio. If PWM6 is configured to 14-bit, two data registers (PWM6H and PWM6L) hold the 14-bit PWM6 ratio. The upper 7 bits control the width of the distributed pulse. The lower 7 bits distribute the minimum resolution pulse in the various time slots. Using this technique, the pseudo-repetition of frequency is raised up to 128 times faster than ordinary pulse width modulation. There are 128 time slots which start from time slot 7Fh to 0h because a 14-bit binary down counter is used. When the glitch exceeds 127 pulses, the upper 7 bits take precedence and fill 128 pulses of the same width in different locations. Generating the pulse-train output requires the following equation: Time slot (Fts) and one cycle of frequency (F14). Fdp (Distribution pulse frequency)=XTAL/128 (Hz) Fts (Time slot frequency) = XTAL/128 (Hz) F14 (a cycle/frequency) = XTAL /16384 (Hz) When the 6-bit data is 00h, the PWM output is Low. The maximum value is 3Fh and emits High DC-level output. A selected PWM cycle/frequency is shown in the following equation: F6 (a cycle/frequency) = XTAL/16/64 (Hz) PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 71 Figure 18 and Figure 19 illustrate various timing pulses and resultant frequencies for the 6-bit and 14-bit PWMs. F6 = XTAL/16/64 XTAL/2 (A) PWM2 = 00H (B) PWM2 = 01H (C) PWM2 = 03H (D) PWM2 = 20H (E) PWM2 = 3FH Figure 18 Pulse Width Modulator Timing Diagram, 6 Bit PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 72 XTAL/128 Time Slot = 40H (A) PWM11-0001H Time Slot = 20H Time Slot = 60H (B) PWM11-0002H Time Slot = 60H Time Slot = 40H Time Slot = 20H (C) PWM11-0003H Tme Slot = 70H Time Slot = 50H Time Slot = 30H Time Slot = 10H (D) PWM11-0004H 70H 50H 40H 30H 10H (E) PWM11-0005H (F) PWM11-007FH Time Slot = 0 (No Pulse) (G) One of Distribution Pulse XTAL XTAL/128 (H) PWM11 = 0080H (I) PWM11 = 0180H (J) PWM11 = 2000H (K) PWM11 = 3F80H Distribution Pulses Added These Places (L) PWM11 = 0081H Time Slot = 41H Time Slot = 40H Time Slot = 3FH Time Slot = 3EH Figure 19 Pulse Width Modulator Timing Diagram, 14-Bit The following tables contain data register information for registers PWM1 -PWM11. PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 73 Table 56 PWM 1 Data Register 02h: Bank B (PWM1) Bit R/W Reset 7 6 5 4 3 2 1 0 R/W R/W R/W R/W R/W R/W R/W R/W x x 0 0 0 0 0 0 Note: R = Read W = Write X = Indeterminate Bit/ Field Bit Position Reserved 7, 6 R W PWM 1 Value 5,4,3,2,1,0 R/W R/W Value Description Return to 0 No effect Table 57 PWM 2 Data Register 03h: Bank B (PWM2) Bit R/W 7 6 5 4 3 2 1 0 R/W R/W R/W R/W R/W R/W R/W R/W x x 0 0 0 0 0 0 Reset Note: R = Read W = Write X = Indeterminate Bit/ Field Bit Position Reserved 7, 6 PWM 2 Value 5,4,3,2,1,0 R/W Value R W Description Return to 0 No effect R/W Table 58 PWM 3 Data Register 04h: Bank B (PWM3) Bit R/W Reset 7 6 5 4 3 2 1 0 R/W R/W R/W R/W R/W R/W R/W R/W x x 0 0 0 0 0 0 Note: R = Read W = Write X = Indeterminate PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 74 Bit/ Field Bit Position Reserved 7, 6 PWM 3 Value 5,4,3,2,1,0 R/W Value R W Description Return to 0 No effect R/W Table 59 PWM 4 Data Register 05h:Bank B (PWM4) Bit R/W 7 6 5 4 3 2 1 0 R/W R/W R/W R/W R/W R/W R/W R/W x x 0 0 0 0 0 0 Reset Note: R = Read W = Write X = Indeterminate Bit/ Field Bit Position Reserved 7, 6 PWM 4 Value 5,4,3,2,1,0 R/W Value R W Description Return to 0 No effect R/W Table 60 PWM 5 Data Register 06h: Bank B (PWM5) Bit R/W 7 6 5 4 3 2 1 0 R/W R/W R/W R/W R/W R/W R/W R/W x x 0 0 0 0 0 0 Reset Note: R = Read W = Write X = Indeterminate Bit/ Field Bit Position Reserved 7, 6 PWM 5 Value 5,4,3,2,1,0 R/W R W Value Description Return to 0 No effect R/W PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 75 Table 61 PWM 6 (6-bit)Data Register 07h: Bank B (PWM6) Bit R/W Reset 1 7 6 5 4 3 2 1 0 R/W R/W R/W R/W R/W R/W R/W R/W x x 0 0 0 0 0 0 R = Read W = Write X = Indeterminate Bit/ Field Bit Position Reserved 7, 6 PWM 6 Value 5,4,3,2,1,0 R/W Value R W Description Return to 0 No effect R/W Table 62 PWM 7 Data Register 08h: Bank B (PWM7) Bit R/W Reset 7 6 5 4 3 2 1 0 R/W R/W R/W R/W R/W R/W R/W R/W x x 0 0 0 0 0 0 Note: R = Read W = Write X = Indeterminate Bit/ Field Bit Position Reserved 7, 6 PWM 7 Value 5,4,3,2,1,0 R/W Value R W Description Return to 0 No effect R/W Table 63 PWM 8 Data Register 09h: Bank B (PWM8) Bit R/W Reset 7 6 5 4 3 2 1 0 R/W R/W R/W R/W R/W R/W R/W R/W x x 0 0 0 0 0 0 Note: R = Read W = Write X = Indeterminate PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 76 Bit/ Field Bit Position Reserved 7, 6 PWM 8 Value 5,4,3,2,1,0 R/W Value R W Description Return to 0 No effect R/W Table 64 PWM 9 Data Register 0Ah: Bank B (PWM9) Bit R/W Reset 7 6 5 4 3 2 1 0 R/W R/W R/W R/W R/W R/W R/W R/W x x 0 0 0 0 0 0 Note: R = Read W = Write X = Indeterminate Bit/ Field Bit Position Reserved 7, 6 PWM 9 Value 5,4,3,2,1,0 R/W Value R W Description Return to 0 No effect R/W Table 65 PWM 10 Data Register 0Bh: Bank B (PWM10) Bit R/W Reset 7 6 5 4 3 2 1 0 R/W R/W R/W R/W R/W R/W R/W R/W x x 0 0 0 0 0 0 Note: R = Read W = Write X = Indeterminate Bit/ Field Bit Position Reserved 7, 6 PWM 10 Value 5,4,3,2,1,0 R/W R W Value Description Return to 0 No effect R/W PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 77 Table 66 PWM 6 (14-bit) High Data Register 08h: Bank F (PWM6H) Bit R/W Reset 7 6 5 4 3 2 1 0 R/W R/W R/W R/W R/W R/W R/W R/W x x 0 0 0 0 0 0 Note: R = Read W = Write X = Indeterminate Bit/ Field Bit Position Reserved 7, 6 PWM 6 Bits 13 - 8 5,4,3,2,1,0 R/W Value R W Description Return 0 No effect R/W Table 67 PWM 6 (14-bit) Low Data Register 09h: Bank F (PWM6L) Bit R/W Reset 7 6 5 4 3 2 1 0 R/W R/W R/W R/W R/W R/W R/W R/W 0 0 0 0 0 0 0 0 Note: R = Read W = Write X = Indeterminate Bit/ Field Bit Position PWM 6 Bits 7 - 0 7, 6, 5,4,3,2,1,0 R/W R/W Value Description Table 68 PWM 11 High Data Register 00h: Bank B (PWM11H) Bit R/W Reset 7 6 5 4 3 2 1 0 R/W R/W R/W R/W R/W R/W R/W R/W x x 0 0 0 0 0 0 Note: R = Read W = Write X = Indeterminate PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 78 Bit/ Field Bit Position Reserved 7, 6 PWM 11 Bits 13 - 8 5,4,3,2,1,0 R/W Value R W Description Return 0 No effect R/W Table 69 PWM 11 Low Data Register 01h: Bank B (PWM11L) Bit R/W Reset 7 6 5 4 3 2 1 0 R/W R/W R/W R/W R/W R/W R/W R/W 0 0 0 0 0 0 0 0 Note: R = Read W = Write X = Indeterminate Bit/ Field Bit Position R/W PWM 11 Bits 7 - 0 7, 6, 5,4,3,2,1,0 R/W Value Description PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 79 9.3 Digital/Analog Conversion with PWM The televison OSD controller can generate square waves which have fixed periods but variable duty cycles. If this type of signal passes through an RC integrator, the output is a DC voltage proportional to the pulse width of the square wave. Refer to Figure 20, Cases A and B show fixed voltage samples while Case C shows a varying voltage example. DC Signal PWM Signal VCC Voltage Case A PWM Signal DC Signal VCC Time Voltage Case B PWM Signal DC Signal VCC Time Voltage Case C PWM Signal DC Signal Time Figure 20 Analog Signals Generated from PWM Signals PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 80 10 Analog-to-Digital Converter The Z90255 is equipped with a 4-bit flash analog-to-digital converter (ADC) that can be used as either three or four bit configurations. There are four multiplexed analog-input channels. There are two register addresses, one for 3-bit (Table 70) ADC (3ADC_DTA: 00h: Bank C), and one for 4-bit (Table 71) ADC (4ADC_DTA: 01h: Bank F). Because no default is set, system software must configure the control register for the preferred ADC. Converted 3-bit data is available as bits 0, 1, and 2 of the 3-bit ADC data register. Converted 4-bit data is available as bits 0, 1, 2, and 3 of the 4-bit ADC data register. Figure 21 illustrates four input pins (P60/ADC3, P61/ADC2, P41/ADC1, and P62/ADC0) which function as analog-input channels and as digital I/O ports. To support the analog function, the digital ports must be configured as analog through software. Analog/digital selection is controlled by bits 4 and 3 of the 3-bit ADC Data Register, and by bits 5 and 4 of 4-bit ADC Data Register. • If ADC Input Selection equals 00, ADC0 is selected; this value is the default following POR. • • • If ADC Input Selection equals 01, ADC1 is selected. If ADC Input Selection equals 10, ADC2 is selected. If ADC Input Selection equals 11, ADC3 is selected. Sampling occurs at one-eighth of an ADC-clock tick. One ADC-clock tick equals one-half, one-third, or one-quarter of a system-clock (SCLK) tick, as set by 3ADC_DTA(6,5) for 3-bit or 4ADC_DTA (7,6) for 4-bit. If ADC speed bits are set to 00, the ADC is not operative; this is the default value following POR. If these bits equal 01, ADC speed is based on one-half of a system-clock tick, SCLK/2. If these bits equal 10, ADC speed is based on one-third of a system-clock tick, SCLK/3. If these bits equal 11, ADC speed is based on one-quarter of a systemclock tick, SCLK/4. PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 81 Table 70 3-Bit ADC Data Register 00h: Bank C (3ADC_DTA) Bit R/W Reset 7 6 5 4 3 2 1 0 R/W x R/W 0 R/W 0 R/W 0 R/W 0 R/W x R/W x R/W x Note: R = Read W = Write X = Indeterminate Bit/Field Bit Position R/W Value Description Reserved 7 ADC Speed 6, 5 R/W 00 01 10 11 No ADC - POR SCLK/2 SCLK/3 SCLK/4 ADC Input Selection 4, 3 R/W 00 01 10 11 Select ADC0 - POR Select ADC 1 Select ADC 2 Select ADC 3 ADC Data 2, 1, 0 R/W R W Return 1 No effect Digitized data from selected ADC input Table 71 4-Bit ADC Data Register 01h: Bank F (4ADC_DTA) Bit R/W Reset 7 6 5 4 3 2 1 0 R/W 0 R/W 0 R/W 0 R/W 0 R/W x R/W x R/W x R/W x Note: R = Read W = Write X = Indeterminate Bit/Field Bit Position R/W Value Description ADC Speed 7, 6 R/W 00 01 10 11 No ADC - POR SCLK/2 SCLK/3 SCLK/4 ADC Input Selection 5, 4 R/W 00 01 10 11 Select ADC0 - POR Select ADC 1 Select ADC 2 Select ADC 3 ADC Data 3, 2, 1, 0 R/W Digitized data from selected ADC input P41 must be set to input mode to select ADC1. PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 82 ADC Block Diagram VCC Comparators Analog Multiplexer ADC0 ADC Data Register ADC1 Decoder ADC2 ADC3 ADC Control GND Figure 21 ADC Block Diagram PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 83 11 Electrical Characteristics 11.1 Absolute Maximum Ratings Stress exceeding the levels listed in the Operational Limits can cause permanent damage to the device. These limits represent stress limits only, not optimal operating levels. Exposure to maximum rating conditions for extended periods can affect device reliability. Table 72 Operational Limits Symbol Parameters Min Max Units Notes VCC Power Supply Voltage -0.3 +7 V VI Input Voltage -0.3 VCC+0.3 V VO Output Voltage -0.3 VCC+0.3 V IOH Output Current - High -10 mA One pin IOH Output Current - High -100 mA Total, all pins IOL Output Current - Low 20 mA One pin IOL Output Current - Low 200 mA Total, all pins TA Operating Temperature 0 70 oC TSTG Storage Temperature -55 150 oC A typical value is 25oC. Minimum and maximum values are 0oC and 70oC respectively. PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 84 11.2 DC Characteristics Table 73 DC Characteristics Symbol Parameter Min Typical Max VCC Power Supply Voltage 4.5 5.00 5.5 V VIH Input Voltage High 0.7VCC VCC V VIL Input Voltage Low - 0.3 0.2VCC V VIHC Input XTAL/Oscillator In High 0.7VCC VCC V VILC Input XTAL/Oscillator In Low -0.3 0.2VCC V VOH_ST1 VOL_ST1 Voh_le1 Voh_le1 Voh_le2 Voh_le2 Output Voltage High VHY Schmitt Hysteresis IIR Reset Input Current IIL Input Leakage IOL Tri-State Leakage ICC VCC-0.4 Output Voltage Low 4.75 0.16 Output Voltage High Units Conditions V IOH= -2.00mA 0.4 V IOL= 2.00mA VCC - 0.4 V IOL= -0.98mA Output Voltage Low 0.4 V IOL= 0.66mA Output Voltage High VCC - 0.4 V IOL= -0.18mA V IOL= 0.18mA Output Voltage Low 0.4 0.1VCC 0.8 V - 170 - 250 uA VRL=0V -3.0 0.01 3.0 uA 0V, VCC -3.0 0.02 3.0 uA 0V, VCC Supply Current 25 40 mA All inputs at rail; outputs floating ICC1 Halt Mode Current 3.2 6 mA All inputs at rail; outputs floating ICC2 Stop Mode Current 25 50 uA All inputs at rail; outputs floating Note: 1 ST = standard drive, le = low EMI drive 2 For XTAL2 and OSDX2 PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 85 11.3 AC Characteristics The numbers in Table 74 correspond to the numbered signal segments in Figure 22. Table 74 AC Characteristics No. Symbol Parameter Min Max Unit 166 1000 ns 25 ns 1 TpC Input Clock Period 2 TRC, TFC Clock Input Rise And Fall Time 3 TWC Input Clock Width 35 ns 4 TWHsyncINL Hsync Input Low Width 70 ns 5 TWHsyncINH Hsync Input High Width 3TpC 6 TpHsyncIN Hsync Input Period 8TpC 7 TRHsyncIN, TFHsyncIN Hsync Input Rise Fall Time 8 TWIL Interrupt Request Input Low 70 9 TWIH Interrupt Request Input High 3TpC 10 TDPOR Power-On Reset Delay 25 11 TDLVIRES Low Voltage Detect To Internal Reset Condition 200 12 TWRES Reset Minimum Width 5TpC 13 TDHSOl Hsync Start To OSDX2 Stop 2TpV 14 TDHSOH Hsync Start To OSDX2 Start 100 ns ns 100 ms ns 3TpV 1TpV PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 86 11.4 Timing Diagram 3 1 5 7 XTAL1 Hsync IN 3 4 2 6 2 IRQn 8 9 VCC 11 10 Internal/Reset 12 External/Reset HSYNC 13 14 OSDX2 Figure 22 Timing Requirements of External Inputs PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 87 12 Packaging 21 1 E1 42 22 D E Q1 A2 C L S A1 B F eA Figure 23 42-Lead Shrink Dual-in-line Package (SDIP) Table 75 Package Dimensions Millimeter Inch Symbol Min A1 Max 0.51 Min Max .020 A2 4.32 .170 B 0.38 0.56 .015 .022 B1 0.76 1.27 .030 .050 C 0.20 0.30 .008 .012 D 36.70 36.96 1.445 1.455 E 15.24 15.88 .600 .625 E1 13.72 14.22 .540 .560 F 1.78 TYP .070 TYP eA 15.49 16.76 .610 .660 L 3.05 3.43 .120 .135 Q1 1.65 1.91 .065 .075 S 0.51 0.76 .020 .030 PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 88 Ordering Information Part PSI Description Z90251 Z9025106PSC OTP TV Controller Z90255 Z9025506PSC Rxxxx* Masked ROM TV Controller Z9025900ZEM Z9025900ZEM Emulator/Programmer Z9020900TSC Z9020900TSC Protopak Note: * xxxx is a unique ROM number assigned to each customer code ROM Code Submission ROM Code Submission Instructions ROM Code can be submitted on ZiLOGÕs web site at http://www.zilog.com. Top Mark Information Mark Permanency: 3X soak into Alpha 2110 at 63° to 70°C, for 30 seconds duration each soak. Mechanical brush after each soak. PS001301-0800 Z90255 ROM and Z90251 OTP 32 KB Television Controller with OSD 89 Customer Feedback Form Z90255 Product Specification If there are any problems while operating this product, or any inaccuracies in the specification, please copy and complete this form, then mail or fax it to ZiLOG. Suggestions welcome! Customer Information Name Country Company Phone Address Fax City/State/Zip E-Mail Product Information Serial # or Board Fab #/Rev. # Software Version Document Number Host Computer Description/Type Return Information ZiLOG System Test/Customer Support 910 E. Hamilton Avenue, Suite 110, MS 4Ð3 Campbell, CA 95008 Fax: (408) 558-8536 Email: [email protected] Problem Description or Suggestion Provide a complete description of the problem or suggestion. For specific problems, include all steps leading up to the occurrence of the problem. Attach additional pages as necessary. PS001301-0800