STV9427 STV9428-STV9429 HIGH SPEED MULTISYNCH ON-SCREEN DISPLAY FOR MONITOR .. . .. .. .. .. . .. . .. CMOS SINGLE CHIP OSD FOR MONITOR BUILT IN 1 KBYTE RAM HOLDING : - CHARACTER CODES - USER DEFINABLE CHARACTERS 207 ALPHANUMERIC CHARACTERS OR GRAPHIC SYMBOLS IN INTERNAL ROM 12 x 18 CHARACTER DOT MATRIX PROGRAMMABLE ACCENTUATED CHARACTER SET CHARACTER BLINKING RAM DEFINABLE COLOR LOOK UP TABLE UP TO 16 USER DEFINABLE CHARACTERS UP TO 80MHz PIXEL CLOCK INTERNAL HORIZONTAL PLL (15 TO 120kHz) PROGRAMMABLE VERTICAL HEIGHT OF CHARACTER WITH A SLICE INTERPOLATOR TO MEET MULTI-SYNCH REQUIREMENTS PROGRAMMABLE VERTICAL AND HORIZONTAL POSITIONING FLEXIBLE SCREEN DESCRIPTION 22 CONTROL CODES FOR POWERFULL SERIAL ATTRIBUTES 2-WIRES ASYNCHRONOUS SERIAL MCU INTERFACE (I2C PROTOCOL) 8 x 8 BITS PWM DAC OUTPUTS SINGLE POSITIVE 5V SUPPLY 8 x 8 bits PWM DAC are available to provide DC voltage control to other peripherals. The STV9427/28/29 provides the user an easy to use and cost effective solution to display alphanumeric or graphic information on monitor screen. DIP16 (Plastic Package) ORDER CODE : STV9427 DIP20 (Plastic Package) ORDER CODE : STV9428 DESCRIPTION The STV9427/28/29 is an ON SCREEN DISPLAY for monitor. It is built as a slave peripheral connected to a host MCU via a serial I2C bus. It includes a display memory, controls all the display attributes and generates pixels from the data read in its on chip memory. The line PLL and a special slice interpolator allow to have a display aspect which does not depend on the line and frame frequencies. I2C interface allows MCU to make transparent internal access to prepare the next pages during the display of the current page. Toggle from one page to another by programming only one register. June 1998 DIP24 (Plastic Package) ORDER CODE : STV9429 1/20 STV9427 - STV9428 - STV9429 PIN CONNECTIONS VDD1 1 TST 2 XTO 3 16 DIP20 (STV9428) PWM1 VDD2 1 20 DIP24 (STV9429) PWM0 PWM6 1 24 PWM7 PWM1 2 23 PWM0 VDD1 3 22 VDD2 15 B VDD1 2 19 VDD2 14 G TST 3 18 B XTO 4 17 G TST 4 21 B XTO 5 20 G XTI 4 13 R RESET 5 12 FBLK XTI 5 16 R 11 GND RESET 6 15 FBLK XTI 6 19 R SDA VSYNC 7 14 GND RESET 7 18 FBLK 8 17 GND 9 16 SDA VSYNC HSYNC GND 6 7 10 8 9 SCL HSYNC 8 13 SDA VSYNC GND 9 12 SCL HSYNC 10 11 PWM3 PWM2 GND 10 15 SCL PWM2 11 14 PWM3 PWM5 12 13 PWM4 9427-01.EPS / 9428-01.EPS / 9429-01.EPS DIP16 (STV9427) PIN DESCRIPTION PWM6 2/20 Pin Number I/O DIP24 DIP20 DIP16 1 - - O Description DAC0 Output PWM1 2 1 - O DAC1 Output VDD1 3 2 1 S +5V Logic Supply TST 4 3 2 I Reserved (not to be connected) XTO 5 4 3 O Crystal Output XTI 6 5 4 I Crystal or Clock Input RESET 7 6 5 I Reset Input (Active Low) VSYNC 8 7 6 I Vertical Sync Input HSYNC 9 8 7 I Horizontal Sync Input GND 10 9 8 S Logic Ground PWM2 11 10 - O DAC2 Output PWM5 12 - - O DAC3 Output PWM4 13 - - O DAC4 Output PWM3 14 11 - O DAC5 Output SCL 15 12 9 I Serial Clock SDA 16 13 10 I/O GND 17 14 11 S Ground Serial Input/output Data FBLK 18 15 12 O Fast Blanking Output R 19 16 13 O Red Output G 20 17 14 O Green Output B 21 18 15 O Blue Output VDD2 22 19 16 S +5V Outputs Supply PWM0 23 20 - O DAC6 Output PWM7 24 - - O DAC7 Output 9427-01.TBL Symbol STV9427 - STV9428 - STV9429 BLOCK DIAGRAMS STV9427 XTI XTO TST VDD1 VDD2 4 3 2 1 16 HORIZONTAL DIGITAL PLL HSYNC 7 1K RAM 4K ROM Address/Data VSYNC 6 2 DISPLAY CONTROLLER RESET 5 I C BUS INTERFACE 14 15 12 R G B FBLK 8 11 GND GND 9 10 SCL SDA 9427-02.EPS STV9427 13 STV9428 HSYNC 8 XTI XTO TST VDD1 VDD2 5 4 3 2 19 HORIZONTAL DIGITAL PLL 4K ROM 1K RAM PWM 20 PWM0 Address/Data 11 PWM3 10 PWM2 VSYNC 7 RESET 6 DISPLAY CONTROLLER 1 PWM1 I2C BUS INTERFACE 17 18 15 14 R G B FBLK XTI XTO TST VDD1 VDD2 6 5 4 3 22 9 GND GND 12 13 SCL SDA 9428-02.EPS STV9428 16 STV9429 24 PWM7 HORIZONTAL DIGITAL PLL 23 PWM0 4K ROM 1K RAM 14 PWM3 PWM Address/Data VSYNC 8 RESET 7 13 PWM4 12 PWM5 11 PWM2 DISPLAY CONTROLLER I2C BUS INTERFACE 2 PWM1 1 PWM6 STV9429 19 20 21 R G B 18 FBLK 10 17 GND GND 15 16 SCL SDA 9429-02.EPS HSYNC 9 3/20 STV9427 - STV9428 - STV9429 ABSOLUTE MAXIMUM RATINGS Parameter Value Unit VDD Supply Voltage -0.3, +7.0 V VIN Input Voltage -0.3, +7.0 V 0, +70 °C -40, +125 °C TOPER Operating Temperature TSTG Storage Temperature 9427-02.TBL Symbol ELECTRICAL CHARACTERISTICS (VDD1 = VDD2 = 5V, VSS = 0V, TA = 0 to 70°C, fXTAL = 8 to 15MHz, TEST = 0 V, unless otherwise specified) Symbol Parameter Min. Typ. Max. Unit SUPPLY VDD Supply Voltage 4.75 5 5.25 V IDD Supply Current - 65 90 mA 0.8 V INPUTS SCL, SDA, RESET, VSYNC and HSYNC VIL Input Low Voltage VIH Input High Voltage 2.4 IIL Input Leakage Current -10 +10 µA 0 0.4 V 0.9VDD VDD V 0 0.4 V 0.9VDD VDD V V OUTPUTS SDA open drain and PWMi (i = 0 to 7) VOL Output Low Voltage (IOL = 1.6mA) VOH Output High Voltage (IOH = -0.1mA) VOL Output Low Voltage (IOL = 1.6mA) VOH Output High Voltage (IOH = -0.1mA) Figure 1 : R, G, B, FBLK Typical Outputs Static Characteristics VOL , VOH (V) 5 VOH 2.5 I (A) 0 10 -5 4/20 10 -4 10 -3 10 -2 10 -1 9427-17.EPS VOL 9427-03.TBL R, G, B, FBLK STV9427 - STV9428 - STV9429 TIMINGS Symbol Parameter Min. Typ. Max. Unit OSCILATOR INPUT : XTI (see Figure 2) tWH Clock High Level 20 ns tWL Clock Low Level 20 ns fXTAL Clock Frequency 6 15 MHz fPXL Pixel Frequency 30 80 MHz RESET Low Level Pulse 4 RESET tRES µs R, G, B, FBLK (CLOAD = 30pF) tR Rise Time (see Note 1) 5 ns tF Fall Time (see Note 1) 5 ns Skew between R, G, B, FBLK 5 ns tSKEW 2 I C INTERFACE : SDA AND SCL (see Figure 3) fSCL SCL Clock Frequency (Horizontal frequency = 32kHz) tBUF Time the bus must be free between 2 access 500 288 kHz ns tHDS Hold Time for Start Condition 500 ns tSUP Set up Time for Stop Condition 500 ns tLOW Clock Low Level 400 ns tHIGH Clock High Level 400 ns tHDAT Hold Time Data 0 ns tSUDAT Set up Time Data SDA Fall Time tR SCL and SDA Rise Time ns 20 ns 9427-04.TBL tF 500 Depend on the pull-up resistor and on the load capacitance Note 1 : These parameters are not tested on each unit. They are measured during our internal qualification procedure which includes characterization on batches comming from corners of our processes and also temperature characterization. Figure 2 Figure 3 Stop tWL Data Stop tHDAT SDA tHDS tSUDAT tSUP 9427-04.EPS 9427-03.EPS XTI tWH Start tBUF SCL tHIGH tLOW 5/20 STV9427 - STV9428 - STV9429 FUNCTIONAL DESCRIPTION The STV9427/28/29 display processor operation is controlled by a host MCU via the I2C interface. It is fully programmable through internal read/write registers and performs all the display functions by generating pixels from data stored in its internal memory. After the page downloading from the MCU, the STV9427/28/29 refreshes screen by its built in processor, without any MCU control (access). In addition, the host MCU has a direct access to the on chip 1Kbytes RAM during the display of the current page to make any update of its contents. I.1 - Data Transfer in Write Mode T h e h os t MC U ca n w ri t e d at a in t o t he STV9427/28/29 registers or RAM. To write data into the STV9427/28/29, after a start, the MCU must send (Figure 4) : - First, the I2C address slave byte with a low level for the R/W bit, - The two bytes of the internal address where the MCU wants to write data(s), - The successive bytes of data(s). All bytes are sent MSB bit first and the write data transfer is closed by a stop. Each byte is synchronously transfered at each HSYNC period. With the STV9427/28/29, a page displayed on the screen is made of several strips which can be of 2 types : spacing or character and which are described by a table of descriptors and character codes in RAM. Several pages can be downloaded at the same time in the RAM and the choice of the current display page is made by programming the DISPLAY CONTROL register. I.2 - Data Transfer in Read Mode T h e h ost MC U ca n read d at a f ro m t he STV9427/28/29 registers, RAM or ROM. To read data from the STV9427/28/29 (Figure 5), the MCU must send 2 different I2C sequences. The first one is made of I2C slave address byte with R/W bit at low level and the 2 internal address bytes. The second one is made of I2C slave address byte with R/W bit at high level and all the successive data bytes read at successive addresses starting from the initial address given by the first sequence. Each byte is synchronously transfered at each HSYNC period. The first data byte, in read mode, is available one Hsync period after the acknowledge of the address byte. I - Serial Interface The 2-wires serial interface is an I2C interface. To be connected to the I2C bus, a device must own its slave address ; the slave address of the STV9427/28/29 is BA (in hexadecimal). A6 A5 A4 A3 A2 A1 A0 1 0 1 1 1 0 1 R/W Figure 4 : MCU I2C Write Operation SCL R/W A7 SDA I2 C Start Slave Address A6 A5 ACK A4 A3 A2 A1 A0 LSB Address - - A13 ACK A12 A11 A10 A9 MSB Address A8 ACK SDA D7 D6 D5 D4 D3 Data Byte 1 D2 D1 D0 D7 D6 D5 ACK D4 D3 D2 D1 D0 Data Byte 2 D7 D6 D5 ACK D4 D3 D2 D1 D0 Data Byte n ACK Stop 9427-05.EPS SCL Figure 5 : MCU I2C Read Operation SCL R/W SDA A7 Start I2C Slave Address Start I2C Slave Address A6 A5 ACK A4 A3 A2 A1 A0 LSB Address - - ACK A13 A12 A10 A10 A9 A8 MSB Address ACK Stop ACK Stop SDA D7 R/W D6 ACK * Note : The first data bit out (D7) is valid after one scanline period. 6/20 D5 D4 D3 Data Byte 1 D2 D1 D0 D7 ACK D6 D5 D4 D3 Data Byte n D2 D1 D0 9427-06.EPS SCL STV9427 - STV9428 - STV9429 FUNCTIONAL DESCRIPTION (continued) I.3 - Addressing Space I.3.1 - General Mapping STV9427/28/29 registers, RAM and ROM are mapped in a 16Kbytes addressing space. The mapping is the following : 0000 1024 bytes RAM 03FF 0400 Empty Space 07FF 0800 Character Generator ROM 3FBF 3FC0 Empty Space 3FD0 3FCF Internal Registers 3FD0 Descriptors character codes and user definable characters I.4 - Register Set I.4.1 - PWM Registers The eight registers described below are only available with the STV9429 : PULSE WIDTH MODULATOR 0 (STV9429) 3FD0 V07 V06 V05 V04 V03 V02 V01 V00 V0[7:0] : Digital value of the 1st PWM D to A converter. PULSE WIDTH MODULATOR 1 (STV9429) 3FD1 V17 V16 V15 V14 V13 V12 V11 V10 V1[7:0] : Digital value of the 2nd PWM DAC. 2 I.3.2 - I C Registers Mapping 3FCF 3FD0 3FD7 3FD8 PULSE WIDTH MODULATOR 2 (STV9429) PWM0 PWM1 PWM2 PWM3 PWM4 PWM5 PWM6 PWM7 3FD2 V27 PWM registers Reserved 3FDF 3FE0 3FE7 3FE8 3FEF 3FF0 3FF8 3FF9 Color 0 Color 1 Color 2 Color 3 Color 4 Color 5 Color 6 Color 7 Color look-up table (CLUT) Color 8 Color 9 Color 10 Color 11 Color 12 Color 13 Color 14 Color 15 Line Duration Top Margin Horizontal Delay Character Height Display Control Control registers Locking Time Constant Capture Time Constant Initial Pixel period Frequency Multiplier V26 V25 V24 V23 V22 V21 V20 V2[7:0] : Digital value of the 3rd PWM DAC. PULSE WIDTH MODULATOR 3 (STV9429) 3FD3 V37 V36 V35 V34 V33 V32 V31 V30 V3[7:0] : Digital value of the 4th PWM DAC. PULSE WIDTH MODULATOR 4 (STV9429) 3FD4 V47 V46 V45 V44 V43 V42 V41 V40 th V4[7:0] : Digital value of the 5 PWM DAC. PULSE WIDTH MODULATOR 5 (STV9429) 3FD5 V57 V56 V55 V54 V53 V52 V51 V50 V5[7:0] : Digital value of the 6th PWM DAC. PULSE WIDTH MODULATOR 6 (STV9429) 3FD6 V67 V66 V65 V64 V63 V62 V61 V60 th V6[7:0] : Digital value of the 7 PWM DAC. PULSE WIDTH MODULATOR 7 (STV9429) 3FD7 V77 V76 V75 V74 V73 V72 V71 V70 V7[7:0] : Digital value of the 8th PWM DAC. Reserved 3FFF Note : Power on reset default value of PMW register is 00H 7/20 STV9427 - STV9428 - STV9429 FUNCTIONAL DESCRIPTION (continued) I.4.2 - Look-up Table Registers Color look-up table [CLUT] is read/write RAM table. Mapping address is described in Chapter I.3.2. The CLUT is splitted in 2 blocks of 8 bytes. Each byte contains foreground and background informations as described below : SHA BR BG BB FL FR FG FB SHA : Shadowing FL : Flashing foreground BR, BG, BB : Background color FR, FG, FB : Foreground color If SHA = 1 and BR = BG = BB = 0, the background of the character is transparent. Each block may store a different set of colors. One block of colors may be used for the normal items of the menu while the second block, with brighter colors, may be used for selected items of the menu. The block selection is done by programming bit CLU3 of CLU[3:0] of the character descriptor (see Table 1). It remains selected all the row long. Bit CLU2, CLU1 and CLU0 of CLU[3:0] of the character descriptor select the active color at the beginning of the row. The active color can be changed along the row, using 8 control codes COL0 to COL7. Each control code (COL0 to COL7) active a dedicated color byte in the CLUT as described in Table 2. Table 1 : CLUT Block Selection CLU3 0 1 8/20 CLU[2:0] 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 Code Name Col 0 Col 1 Col 2 Col 3 Col 4 Col 5 Col 6 Col 7 Col 0 Col 1 Col 2 Col 3 Col 4 Col 5 Col 6 Col 7 Ram @(hex) @3FE0 @3FE1 @3FE2 @3FE3 @3FE4 @3FE5 @3FE6 @3FE7 @3FE8 @3FE9 @3FEA @3FEB @3FEC @3FED @3FEE @3FEF Table 2 : CLUT Color Selection Code Name COL1 COL2 Code Nbr (h) 10 11 Color Look-up Table in RAM @ 3FE0 : Color 0 @ 3FE1 : Color 1 COL6 COL7 COL0 COL1 16 17 10 11 @ 3FE6 : Color 6 @ 3FE7 : Color 7 @ 3FE8 : Color 8 @ 3FE9 : Color 9 COL6 COL7 16 17 @ 3FEE : Color 14 @ 3FEF : Color 15 I.4.3 - Control Registers LINE DURATION (Reset Value : 20h) 3FF0 VSP HSP LD6 LD5 LD4 LD3 LD2 LD1 VSP : V-SYNC active edge selection = 0, falling egde, = 1, rising edge. HSP : H-SYNC active edge selection = 0, falling egde, = 1, rising edge. LD[6:1] : LINE DURATION LD0 = 0 LD1 = 2 periods of character One character period is 12 pixels long. TOP MARGIN (Reset Value : 60h) Reset Value (hex) 07 16 25 34 43 52 61 70 70 61 52 43 34 25 16 07 3FF1 M8 M7 M6 M5 M4 M3 M2 M1 M[8:1] : TOP MARGIN height from the VSYNC reference edge. M0 = 0 M1 = 2 scan lines Note : The top margin is displayed before the first strip of descriptor list. It can be black if FBK of DISPLAY CONTROL register is set or transparent if FBK is clear. HORIZONTAL DELAY (Reset Value : 20h) 3FF2 DD7 DD6 DD5 DD4 DD3 DD2 DD1 DD0 DD[7:0] : HORIZONTAL DISPLAY DELAY from the HSYNC reference edge to the 1st pixel position of the character strips. Unit = 6 pixel periods. Minimum value is 08h. First pixel position = [DD[7:0] - 6] x 6 + 54. with DD[7:0] = 1,3,5 then the delay is 60 pixel. STV9427 - STV9428 - STV9429 FUNCTIONAL DESCRIPTION (continued) CHARACTERS HEIGHT (Reset Value : 24h) 3FF3 - - LEN CH5 CH4 CH3 CH2 CH1 CH0 CH[5:0] : HEIGHT of the character strips in scan lines. For each scan line, the number of the slice which is displayed is given by : SLICE-NUMBER = SCAN−LINE−NUMBER x 18 round . CH[5:0] SCAN-LINE-NUMBER = Number of the current scan line of the strip. FL0 P9 P8 P7 P6 OSD FBK : ON/OFF (if 0, R, G, B and FBLK outputs are 0). : Fast blanking control : = 1, forces FBLK pin at "1" outside and inside the OSD area. This leads to blank video RGB and to only display OSD RGB. = 0, FBLK pin is driven according character code for normal display of OSD data. FL[1:0] : Flashing mode : - 00 : No flashing. The character attribute is ignored, - 01 : Flashing at fF (50% duty cycle), - 10 : Flashing at 2 fF, - 11 : Flashing at 4 fF. Note : fF is 128 time vertical frequency. P[9:6] : Address of the 1st descriptor of the current displayed pages. P[13:10] and P[5:0] = 0 ; up to 16 different pages can be stored in the RAM. LOCKING CONDITION TIME CONSTANT (Reset Value : 01h) 3FF5 FR AS2 AS1 AS0 LUK BS2 BS1 BS0 FR : Free Running ; if = 1 PLL is disabled and the pixel frequency keeps its last value. AS[2:0] : Phase constant during locking conditions. BS[2:0] : Frequency constant during locking conditions. LUK : Lock unlock status bit 0 = unlocked PLL 1 = Locked PLL CAPTURE PROCESS TIME CONSTANT (Reset Value : 24h) 3FF6 LEN AF2 AF1 AF0 - INITIAL PIXEL PERIOD (Reset Value : 28h) 3FF7 PP7 PP6 PP5 PP4 PP3 PP2 PP1 PP0 PP[7:0] : Value to initialize the pixel period of the PLL. FREQUENCY MULTIPLIER (Reset Value : 0Ah) DISPLAY CONTROL (Reset Value : 00h) 3FF4 OSD FBK FL1 : Lock enable 0 = R,G,B, FBLK are always enabled, 1 = R,G,B, FBLK are enabled only when PLL is locked. AF[2:0] : Phase constant during the capture process. BF[2:0] : Frequency constant during the capture process. BF2 BF1 BF0 3FF8 - - - - FM3 FM2 FM1 FM0 FM[3:0] : Frequency multiplier of the crystal frequency to reach the high frequency used by the PLL to derive the pixel frequency. Note : For high pixel frequency (over 70MHz), write at address 3FFF, Data F0h. II - Descriptors SPACING MSB 0 L/C - - LSB SL7 SL6 SL5 SL4 - - - SL3 SL2 SL1 SL0 : LINE or CHARACTER spacing : = 0, spacing descriptor defined as character height (SL[7:0] = 1 to 255 character). = 1, spacing descriptor defined as scan line height (SL[7:0] = 1 to 255 scan lines). SL[7:0] : Number of selected height (character or scan lines according L/C). L/C CHARACTER MSB LSB 1 DE CLU3 CLU2 CLU1 CLU0 C9 C7 C6 C5 C4 C3 C2 C8 C1 UEN DE : Display enable : = 0, R = G = B = 0 and FBLK = FBK bit of display control register on the whole strip, = 1, display of the characters. CLU[3:0] : Active color selection at the begining of the strip. C[9:1] : Address of the first character code of the strip. UEN : UDC enable 0 : codes 240 to 254 (FOh to FEh) are read in ROM, 1 : codes 240 to 255 (FOh to FFh) are read in RAM (UDC). 9/20 STV9427 - STV9428 - STV9429 FUNCTIONAL DESCRIPTION (continued) III - Code Format The codes of STV9427/28/29 are all single byte codes. There are basically 3 kinds of code : - The control codes from 0 to 27 (00h to 1Bh) and from 224 to 239 (E0h to EFh). - The ROM character codes from 32 to 223 (20h to DFh) and from 240 to 255 (F0h to FFh). - The user definables characters codes from 240 to 254 (F0h to FFh). Each row must begin with a displayable character code followed by a NOP or any control code. For code definition see Table 4. III.1 - Control Codes Control codes must be followed by a displayable code (from 32 to 223), except for RTN & EOL. They must not be used twice consecutively without a displayable code between them. The control code CALL is preceded by an address byte. The control codes are not displayed except if mentioned. Code 0 (00h) : NOP : no operation and no display is performed, can be used to spare a location in RAM for an active control code. Codes 1 to 7 (01h to 07h) : SYMETRIES : TSHS(01) Top S i d e H o r iz on t al Symetry code displays the top half side of the following displayable code symetricaly to the bottom side. BSHS(02) Bottom Side Horizontal Symetry code displays the bottom half side of the following displayable code symetricaly to the top side. HFLIP(03) Horizontal Flip code flips horizontaly the following displayable code. LSVS(04) Left Side Vertical Symetry code displays the left half side of the f o ll o w i n g d i sp l ay a bl e c o de symetricaly to the right side. RSVS(05) Right Side Vertical symetry code displays the right half side of the f o ll o w i n g d i sp l ay a bl e c o de symetricaly to the left side. VFLIP(06) Vertical Flip code flips verticaly the following displayable code. HVFLIP(07) Horizontal & Vertical Flip code flips horizontaly and verticaly the following displayable code. 10/20 Codes 8 (08h) (at odd @) : RTN : return to the CALL + 1 code location (see Note). Code 09 to 14 (09h to 0Eh) : Reserved Code 15 (0Fh) : EOL, end of line terminates the display of the current row. Codes 16 to 23 (10h to 17h) : COL0 to COL7 codes select 1 byte among 8 within the CLUT in RAM. The block selection is fixed by CLU3 bit of the active character descriptor (see Table 1 and Table 2). Codes 24 to 27 (18h to 19h) : CALL, these control codes switch the display of the next character to the code address given by the next byte as following : CALL CODE (odd @) MSB ADDRESS BYTE (even @) LSB A[9:1] 0 0 0 1 1 0 0 A9 A8 A7 A6 A5 A4 A3 A2 A1 : Address of the next code to be used (A0 = 0 only even addresses). Notes : CALL and RTN code must be used twin. They cannot be nested. CALL and RTN codes are displayed as a SPACE character. CALL and RTN codes must be placed at odd addresses. They may be preceed by a NOP in order to place them at the right position. Codes 28 to 31 (1Ch to 1Fh) : Reserved Code 224 to 239 : Accent shapes from 224 to 239 (E0h (E0h to EFh) to EFh) are used combined with all other character codes 32 to 223 (10h to DFh) and placed before the target character. The first set of accents, 224 to 231 (E0h to E7h) must be used with lower case letters. The 5 upper slices of the target character are replaced by the accent shape. The second set of accents, 232 to 239 (E8h to EFh) must be used with the upper case letters (capital letters). The 3 upper slices of the target character are replaced by the accent shape. Accent code must always be followed by a displayable character or a space. III.2 - ROM Character Codes Codes 32 to 223 : R O M c h ar ac t e r s h ap e s ar e described as 12x18 pixel matrix as (20h to DFh) and Codes 240 to 254 shown in Table 5. It comprises 60 logos dedicated for (F0h to FEh) monitor application (Horizontal position, keystone, ...), 25 characters f o r h o r i z o n t a l b a r -g ra p h an d additional shapes. STV9427 - STV9428 - STV9429 FUNCTIONAL DESCRIPTION (continued) Table 4 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 LSB HEX 0 1 2 3 4 5 6 7 8 9 A B C D E F 0 0 NOP COL0 Space 0 @ P ¢ p Ç Cont1 Hlin1 Box0 Bar5 Bar21 ’ dn R 1 1 TSHS COL1 ! 1 A Q a q ç Cont2 Hlin2 Box1 Bar6 Bar22 ’ up G 2 2 BSHS COL2 " 2 B R b r Æ Bright Kystn Box2 Bar7 10o ^ dn B 3 3 HFLIP COL3 # 3 C S c s æ Color Kybal1 Box3 Bar8 1o0 x dn 1 4 4 LSVS COL4 $ 4 D T d t Ø Spkr Kybal2 Box4 Bar9 Indxrgt ∼ dn 2 5 5 RSVS COL5 % 5 E U e u ø Mute Pincus Box5 Bar10 Indxup 6 6 VFLIP COL6 & 6 F V f v ß Dgaus Pinbal Box6 Bar11 rtn 7 7 HVFLIP COL7 ’ 7 G W g w « Balance Tilt1 Box7 Bar12 hbar0 .. 8 8 RTN CALL ( 8 H X h x 1/2 Vfcus Tilt2 Box8 Bar13 hbar1 ’ up A 9 9 - CALL ± 9 I Y i y 1/4 Hfcus Cornr0 Box9 Bar14 vbar0 ‘ up E 10 A - - * : J Z j z 3/4 Vsz Cornr1 Box10 Bar15 vbar1 ^ up T 11 B - - + ; K [ k { ≈ Vpos Cornr2 Bar16 treble x up S Z Bar0 15 ° up clock0 dot dn clock1 dn 12 C - - , < L ® l | ≡ Vlin Cornr3 Bar1 Bar17 bass ∼ up 13 D - - - = M © m << fh Hsz Cornr4 Bar2 Bar18 mic ° up 14 E - - . ÷ N ¥ n Arr If fv Hpos1 kh Bar3 Bar19 upidx0 dot up 15 F EOL - / ? O _ o Arr up hz Hpos2 hz Bar4 Bar20 upidx1 .. clock2 L D up 11/20 9427-09.TBL Code N° MSB STV9427 - STV9428 - STV9429 FUNCTIONAL DESCRIPTION (continued) III.3 - User Definable Character Codes (UDC) Codes 240 to 254 (F0h to FEh) refer to character shape loaded in RAM. The STV9427/28/29 allows the user to dynamically define character(s) for his own needs (for a special LOGO for example). Like the ROM characters, a UDC is made of a 12 pixels x 18 slices dot matrix. In a UDC, each pixel is defined with a bit, 1 refers to foreground, and 0 to background color. Each slice of a UDC uses 2 bytes : add + 1 add (even) - - - - PX11 PX10 PX9 PX8 PX7 PX6 PX5 PX4 PX3 PX2 PX1 PX0 PX11 is the left most pixel. Character slice address : SLICE ADDRESS = 64 (CHARACTER NUMBER - 240) + (SLICE NUMBER + 7) x 2. Where : - CHARACTER NUMBER is the number given by the character code. - SLICE NUMBER is the number given by the slice interpolator (n° of the current slice of the strip : 1 <<18). Figure 6 : User Definable Character Codes UDC LOCATION 12/20 hex 0B 0D 0F 11 21 31 3F Slice Offset dec hex 01 03 05 07 09 11 0A 13 0C 15 0E 17 10 19 21 23 25 27 29 31 33 20 35 37 39 41 43 45 47 49 30 51 53 55 57 59 61 63 3E dec 00 02 04 06 08 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 40 42 44 46 48 50 52 54 56 58 60 62 Unused Unused Unused Unused Unused Unused Unused Slice 0 Slice 1 Slice 2 Slice 3 Slice 4 Slice 5 Slice 6 Slice 7 Slice 8 Slice 9 Slice 10 Slice 11 Slice 12 Slice 13 Slice 14 Slice 15 Slice 16 Slice 17 Unused Unused Unused Unused Unused Unused Unused CHARACTER ORGANIZATION SLICER ORGANIZATION x x x x 11 10 9 8 7 6 5 4 3 2 1 0 MSB LSB 9427-18.EPS Code Number Ram Location hex dec 00 00 Code 240/F0h 3F 63 40 64 Code 241/F1h 7F 127 80 128 Code 242/F2h BF 191 C0 192 Code 243/F3h FF 255 100 256 Code 244/F4h 319 140 320 Code 245/F5h 383 180 384 Code 246/F6h 447 1C0 448 Code 247/F7h 511 200 512 Code 248/F8h 575 240 576 Code 249/F9h 639 280 640 Code 250/FAh 703 2C0 704 Code 251/FBh 767 300 768 Code 252/FCh 831 340 832 Code 253/FDh 895 380 896 Code 254/FEh 959 3C0 960 Code 255/FFh 1023 STV9427 - STV9428 - STV9429 FUNCTIONAL DESCRIPTION (continued) Figure 7 : Hozizontal Timing HSYNC R, G, B 1 LD[6:1] = 40 DD[7:0] = 10 6 7 80 81 Active OSD Video Nber of characters of the row IV - Clock and Timing The whole timing is derived from the XTI and the horizontal SYNCHRO input frequencies. The XTI input frequency can be an external clock, crystal or a ceramic resonator signal thanks to XTI/XTO pins. The value of this frequency can be chosen between 6 and 15MHz is used by the PLL to generate a pixel clock locked on the horizontal synchro input signal. IV.1 - Horizontal Timing (see Figure 7) The number of pixel periods is given by the LINE DURATION register and is equal to : [LD[6:1] x 2 + 1 ] x 12. (LD[6:1] : value of the LINE DURATION register). This value allows to define the horizontal size of the characters. The horizontal left margin is given by the HORIZONTAL DELAY register and is equal to : (DD[7:0] -6 ) x 6 + 54 (DD[7:0] : value of the DISPLAY DELAY register). This value allows to define the horizontal position of the characters on the screen. Due to internal logic, minimum horizontal delay is fixed at 4.5 characters (54 pixel) when DD is even and lower or equal to 6, and it is fixed at 5 characters (60 pixel) when DD is odd and lower or equal to 7. IV.2 - D to A Timing (STV9427) The D/A converters of the STV9427 are pulse width modulator converter. The frequency of the output signal is : the duty cycle is : Vi[7:0] 256 x 6 9427-07.EPS 6.5 fXTAL 256 x 6 ered in several strips. Each strip is defined by a descriptor stored in memory. A table of descriptors allows screen composition and different tables can be stored in memory at the page addresses (16 possible ≠ addresses). Two types of strips are available : - Spacing strip : its descriptor (see II) gives the number of black (FBK = 1 in DISPLAY CONTROL register) or transparent (FBK = 0) lines. - Character strip : its descriptor gives the memory address of the character codes corresponding to the 1st displayed character. The characters and attributes (see code format III) are defined by a succession of codes stored in the RAM at addresses starting from the 1st one given by the descriptor. A character strip can be displayed or not by using the DE bit of its descriptor. After the VSYNC edge, the first strip descriptor is read at the top of the current table of descriptors at the address given by P[9:0] (see DISPLAY CONTROL register) ; if it is a spacing strip, SL[7:0] black or transparent scan lines are displayed ; if it is a character strip, during CH[5:0] scan lines (CH[5:0] given by the CHARACTER HEIGHT register), the character codes are read at the addresses starting from the 1st one given by the descriptor until a end of line character or the end of the scan line ; the next descriptor is then read and the same process is repeated until the next edge of VSYNC. Figure 8 : PWM Timing and per cent. After a low pass filter, the average value of the Vi [7:0] ⋅ V DD output is : V1[7:0] PWM1 Signal 256 . TXTAL 0 TXTAL 1 V - Display Control A screen is composed of successive scanlines gath- 9427-08.EPS 256 x 6 128 255 13/20 STV9427 - STV9428 - STV9429 FUNCTIONAL DESCRIPTION (continued) Figure 9 : Relation between Screen/Address Page/Character Code in RAM DISPLAY CONTROL Register OSD FBK FL1 FL0 P9 P8 P7 P6 V-SYNC TOP MARGIN (see note) SPACING 2nd CHARACTER STRIP CODES TOP SPACING STRIP ROW1 OTHER 1st CHARACTER STRIP ROW2 TABLE OF DESCRIPTORS 2nd CHARACTER STRIP SPACING SPACING STRIP ROW3 OTHER (UDC for example) 3 CHARACTER STRIP rd | SPACING 1st CHARACTER STRIP CODES BOTTOM SPACING STRIP TABLE OF THE DESCRIPTORS 3rd CHARACTER SRTIP CODES SCREEN RAM CODE AND DESCRIPTORS 9427-09.EPS OTHER (CODES OR DESCRIPTORS) Note : Height of Top Margin is given by TOP MARGIN Register Figure 10 : User Definable Character ON THE SCREEN IN THE RAM (example for Character n°5) 36 Pixels (= 3 Characters) 2 3 36 Slices (= 2 Characters) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 4 14/20 Character Number 5 6 Character Number Slice 1 Slice 2 Slice 3 Slice 4 Slice 5 Slice 6 Slice 7 Slice 8 Slice 9 Slice 10 Slice 1 1 Slice 12 Slice 13 Slice 14 Slice 15 Slice 16 Slice 17 Slice 18 : 0x00 : 0x08 : 0x0c : 0x0e : 0x0f : 0x0f : 0x0f : 0x0f : 0x0e : 0x0c : 0x00 : 0x00 : 0x00 : 0x00 : 0x00 : 0x00 : 0x00 : 0x00 0xff 0x7f 0x3f 0x1f 0x1f 0x1f 0x1e 0x1e 0x3c 0x3c 0x78 0x78 0xf1 0x00 0x00 0x00 0x00 0x00 Odd Address Even Address MSB LSB 9427-10.EPS 1 STV9427 - STV9428 - STV9429 FUNCTIONAL DESCRIPTION (continued) Table 5 : ROM Character Generator 2 3 4 5 6 7 8 9 A B C D E F 0 1 2 3 4 5 6 7 8 9 A B C 9427-11A.EPS / 9427-11B.EPS D E F 15/20 STV9427 - STV9428 - STV9429 FUNCTIONAL DESCRIPTION (continued) VI.1 - Programming of the PLL Registers Frequency Multiplier (@3FF8) This register gives the ratio between the crystal frequency and the high frequency of the signal used by the 2nd PLL to provide, by division, the pixel clock. The value of this high frequency must be near to 200MHz (for example if the crystal is a 8MHz, the value of FM must be equal to 10) and greater than 2.5 x (pixel frequency). The frequency of VCO must stand within limits given below : Fpxlmin x 16 ≥ FVCO ≥ Fpxlmax x 2.5 Initial Pixel Period (@3FF7) This register allows to increase the speed of the convergence of the PLL when the horizontal frequency changes (new graphic standart). The relationship between FM[3:0], PP[7:0], LD[6:1], fHSYNC and fXTAL is : VI - PLL The PLL function of the STV9427/28/29 provides the internal pixel clock locked on the horizontal synchro signal and used by the display processor to generate the R, G, B and fast blancking signals. It is made of 2 PLLs. The first one analogic (see Figure 11), provides a high frequency signal locked on the crystal frequency. The frequency multiplier is given by : N = 2 ⋅ (FM[3:0] + 3) Where FM[3:0] is the value of the FREQUENCY MULTIPLIER register. Figure 11 : Analogic PLL N . FXTAL %N FXTAL 2 ⋅ (FM[3:0] + 3) ⋅ FXTAL PP[7:0] = round 8 ⋅ − 24 6 ⋅ (LD[6:1] ⋅ 2 + 1) ⋅ F HSYNC 9427-12.AI VCO FILTRE The second PLL, full digital (see Figure 12), provides a pixel frequency locked on the horizontal synchro signal. The ratio between the frequencies of these 2 signals is : M = 12 x (LD[6:1] x 2 + 1) Where LD[6:1] is the value of the LINE DURATION register. Figure 12 : Digital PLL M . FH-SYNC %D D(n) 16/20 %M ALGO FH-SYNC err(n) 9427-13.AI N . FXTAL Locking Condition Time Constant (@ 3FF5) This register gives the constants AS[2:0] and BS[2:0] used by the algo part of the PLL (see Figure 11) to calculate, from the phase error, err(n), the new value, D(n), of the division of the high frequency signal to provide the pixel clock. These two constants are used only in locking condition, which is true, if the phase error is less than a fixed value during at least, 4 scan lines. If the phase error becomes greater than the fixed value, the PLL is not in locking condition but in capture process. In this case, the algo part of the PLL used the other constants, AF[2:0] and BF[2:0], given by the next register. Capture Process Time Constant (@ 3FF6) The choice between these two time constants (locking condition or capture process) allows to decrease the capture process time by changing the time response of the PLL. STV9427 - STV9428 - STV9429 FUNCTIONAL DESCRIPTION (continued) In this case the PLL is stable if τ > 0.7 damping coefficient). VI.2 - How to choose the value of the time constant ? The time response of the PLL is given by its characteristic equation which is : Figure 14 : Time Response of the PLL/Characteristic Equation Solutions (with Complex Solutions) (x − 1)2 + (α + β) ⋅ (x − 1) + β = 0. Where : α = 3 ⋅ LD[6:1] ⋅ 2A − 11 and β = 3 ⋅ LD[6:1] ⋅ 2B − 19. (LD[6:1] = value of the LINE DURATION register, A = value of the 1st time constant, AF or AS and B = value of the 2d time constant, BF or BS). As you can see, the solution depend only on the LINE DURATION and the TIME CONSTANTS given by the I2C registers. PLL Frequency f1 f0 f1 f0 Figure 13 : Time Response of the PLL/Characteristic Equation Solutions (with real solutions) The Table 6 gives some good values for A and B constants for different values of the LINE DURATION. PLL Frequency f1 t Input Frequency f0 9427-14.AI f1 t If (α + β)2 − 4β ≤ 0, the response of the PLL is like this presented on Figure 14. t 9427-15.AI Input Frequency If (α + β)2 − 4β ≥ 0 and 2α − β < 4, the PLL is stable and its response is like this presented on Figure 13. f0 t Summary For a good working of the PLL : - A and B time constants must be chosen among values for which the PLL is stable, - B must be equal or greater than A and the difference between them must be less than 3, - The greater (A, B) are, the faster the capture is. An optimal choice for the most of applications might be : - For locking condition : AS = 0 and BS = 1, - For capture process : AF = 2 and BF = 4. But for each application the time constants can be calculated by solving the characteristic equation and choosing the best response. B \ A 0 1 2 3 4 5 6 7 0 YYYY YYYY NYYY NNNY NNNN NNNN NNNN NNNN 1 YYYY YYYY YYYY YYYY NYYY(1) NNNY NNNN NNNN 2 YYYY YYYY YYYY YYYY YYYY YYYY NYYY NNNY Note 1 : Case of A[2:0] = 1 (001) and B[2:0] = 4 (100) : LD Valid Time Constants 16 N 32 Y 48 Y 64 Y 3 YYYN YYYN YYYN YYYN YYYN YYYN YYYN YYYN 4 YNNN YNNN YNNN YNNN YNNN YNNN YNNN YNNN 5 NNNN NNNN NNNN NNNN NNNN NNNN NNNN NNNN 6 NNNN NNNN NNNN NNNN NNNN NNNN NNNN NNNN Value of LINE DURATION Register (@ 3FF0) : LD = 16 :LD[6:0] = 0010000, LD[6:1] = 001000 LD = 32 :LD[6:0] = 0100000 LD = 48 :LD[6:0] = 0110000 LD = 64 :LD[6:0] = 1000000, LD[6:1] = 100000. Table meaning : N = No possible capture - No stability Y = PLL can lock 17/20 9427-05.TBL Table 6 : Valid Time Constants Examples STV9427 - STV9428 - STV9429 PM-DIP16.EPS PACKAGE MECHANICAL DATA (STV9427) 16 PINS - PLASTIC DIP a1 B b b1 D E e e3 F I L Z 18/20 Min. 0.51 0.77 Millimeters Typ. Max. 1.65 0.5 0.25 Min. 0.020 0.030 Inches Typ. Max. 0.065 0.020 0.010 20 8.5 2.54 17.78 0.787 0.335 0.100 0.700 7.1 5.1 3.3 0.280 0.201 0.130 1.27 0.050 DIP16.TBL Dimensions STV9427 - STV9428 - STV9429 PM-DIP20.EPS PACKAGE MECHANICAL DATA (STV9428) 20 PINS - PLASTIC DIP a1 B b b1 D E e e3 F I L Z Min. 0.254 1.39 Millimeters Typ. Max. 1.65 0.45 0.25 Min. 0.010 0.055 Inches Typ. Max. 0.065 0.018 0.010 25.4 8.5 2.54 22.86 1.000 0.335 0.100 0.900 7.1 3.93 3.3 0.280 0.155 DIP20.TBL Dimensions 0.130 1.34 0.053 19/20 STV9427 - STV9428 - STV9429 PM-DIP24.EPS PACKAGE MECHANICAL DATA (STV9429) 24 PINS - PLASTIC DIP a1 b b1 b2 D E e e3 F I L Min. Millimeters Typ. 0.63 0.45 0.23 Max. Min. 0.31 0.009 1.27 Max. 0.012 0.050 32.2 16.68 15.2 Inches Typ. 0.025 0.018 1.268 0.657 0.598 2.54 27.94 0.100 1.100 14.1 4.445 3.3 0.555 0.175 0.130 Information furnished is believed to be accurate and reliable. However, STMicroelectronics assumes no responsibility for the consequences of use of such information nor for any infringement of patents or other rights of third parties which may result from its use. No licence is granted by implication or otherwise under any patent or patent rights of STMicroelectronics. Specifications mentioned in this publication are subject to change without notice. This publication supersedes and replaces all information previously supplied. STMicroelectronics products are not authorized for use as critical components in life support devices or systems without express written approval of STMicroelectronics. The ST logo is a trademark of STMicroelectronics © 1998 STMicroelectronics - All Rights Reserved Purchase of I2C Components of STMicroelectronics, conveys a license under the Philips I2C Patent. Rights to use these components in a I2C system, is granted provided that the system conforms to the I2C Standard Specifications as defined by Philips. STMicroelectronics GROUP OF COMPANIES Australia - Brazil - Canada - China - France - Germany - Italy - Japan - Korea - Malaysia - Malta - Mexico - Morocco - The Netherlands Singapore - Spain - Sweden - Switzerland - Taiwan - Thailand - United Kingdom - U.S.A. 20/20 DIP24.TBL Dimensions