Part Number Hot Search : 
RTC72421 2SC2275A MAX6836 SMA4934 MC7800 8M05B BT110 2SB1434
Product Description
Full Text Search
 

To Download AL300 Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
 AL300 Data Sheets
Version 2.0
AL300
Amendments (Since April 2, 1999)
04.02.99 "Section 6.13 Zoom" is added to the document. 04.15.99 Pin 131 is redefined as a GND pin instead of a NC pin. Sections 4.0 and 5.0 are modified accordingly. 05.11.99 Power consumption data and Programming flowchart are provided. 05.12.99 Registers #06h, 07h, 1Bh, 36h, 4Eh, 50~57h, 66h, 67h, 71h, 85h, 86h, 89h and 8Ah are modified due to the ver. B change. VIH modified. 05.26.99 Pin definition of R/YIN<7:0>, G/UVIN<7:0> and BIN<7:0> is modified to reflect ver. B change. 06.15.99 Pin definition of odd and even output replaced by B and A. 07.02.99 Register table and some description added and updated. 07.13.99 Added more PLL description in section 6.4 and the register definition 10h and 11h. 08.03.99 Definition of registers 80h, 84h and 88h modified. 08.25.99 Definition of registers 06h, 80h modified. Definition of registers 05h, 19h, 1Ah, 3Bh and 3Ch modified. Description of #17h and #18h modified. 9.15.99 9.29.99 10.5.99 8.17.00 6.27.01 Added section 6.14, Initialization, modified section 6.7. Registers #80h and #82h modified to reflect version B-0 change. Section 10.0 Power consumption updated Diagram AL300-11 in section "6.11.2 ROM mode" and definition of register 13h & 35h are modified. Version 2.0, removed CCIR-656 8-bit interface support from data sheets and add timing diagram
November 28, 2001
2
AL300
Contents
1.0 Features________________________ 4 2.0 Applications_____________________ 4 3.0 General Description ______________ 5 4.0 Pinout Diagrams _________________ 6 5.0 Pin Definition and Description _____ 7 6.0 Functional Description___________ 12
6.1 Input Data Format _______________ 12 6.2 Scan Mode Detection _____________ 13 6.3 Automatic Positioning Control______ 14 6.4 Output Clock PLL _______________ 14 6.5 Input/Capture Timing_____________ 17 6.6 Output/Display Timing____________ 18 6.7 Internal Timing Generator_________ 19 6.8 Zoom Engine ____________________ 20 6.9 Operating Modes ________________ 20
6.9.1 Non-interlaced Zoom Mode _________20 6.9.2 De-interlaced Zoom Mode __________20 6.9.3 Bypass Mode_____________________21
8.0 AL300 Register Definition ________ 33
8.1 Register Description ______________ 37 8.2 Programming Flowchart___________ 61 9.0 Mechanical Drawing _____________ 61 9.0 Mechanical Drawing ______________ 62
10.0 Power Consumption ____________ 63
6.10 Interrupt ______________________ 21 6.11 On Screen Display (OSD)_________ 21
6.11.1 RAM mode _____________________23 6.11.2 ROM mode _____________________23 6.11.3 OSD Timing ____________________24 6.11.4 OSD Bitmap/Font Formatting ______25
6.12 Output Data Format _____________ 27 6.13 Zoom _________________________ 27 6.14 Initialization____________________ 28 6.15 I2C Programming _______________ 28
7.0 Electrical Characteristics _________ 31
7.1 Recommended Operating Conditions 31 7.2 Characteristics __________________ 31 7.3 Timing Diagram _________________ 32
November 28, 2001
3
AL300
AL300
LCD Monitor Controller
1.0 Features
* * * * * * * * * * Converts PC's or TV's signals for flat panel displays Supports active matrix up to 1280x1024 resolution De-interlacing support for video inputs Automatic screen positioning support Fully programmable zoom ratios Independent linear zoom in H and V directions Supports single and dual pixel per clock panels Dithering logic to enhance color resolution for 12-bit or 18-bit panels Built-in high speed PLL User-definable font table supporting different languages and font sizes * * * * * Two built-in OSD windows I2C programmable No external memory required Single 3.3 volt power with 5 volt tolerant I/O 160-pin 28x28 mm PQFP package
2.0 Applications
* * * * * * TFT LCD Monitor LCD TV LCD Projector with PC and/or TV Input Other Flat Panel Displays TV to PC Monitor Scan Converter Progressive Scan TV
Font Table ROM
Memory
Dithering
OSD
Color Space Converter Input Video/ Graphics Data PLL
Zoom Engine
Gamma LUT
Panel Interface
Panel
OCLK Control Timing
Control Registers
HSYNC VSYNC CLK
Scan Mode Detection
Timing Generator
IIC Interface
AL300-01 Functional Block Diagram
Microcontroller
November 28, 2001
4
AL300
3.0 General Description
The AL300 is designed to enable simple connection from PC's or video devices to flat panel displays. It provides LCD/PDP monitor and projector manufacturers with a low-cost, easy solution to bring TV or PC video to LCD panels. The AL300 is equipped with a high quality zoom engine that automatically maintains full screen output display, regardless of the resolution of the incoming signal. The input video can be linearly and independently zoomed in the x and y directions. The AL300 also provides de-interlacing, filtering, and scaling support for interlaced video to be displayed on a LCD panel. Two integrated On Screen Display (OSD) windows provide overlay of a control menu, text, or caption on the output display. With the internal OSD RAM, OSD bitmaps of up to 8K pixels are supported. With optional external user-defined font table ROM, the AL300 OSD functionality is very flexible with font size and display location; virtually all languages and fonts are supported. Special OSD effects such as translucency and blinking offer the manufacturer a unique and vivid way of presenting monitor status, control menu, or other display information. Used with an AL875 (high speed 3-channel ADC with PLL, 100-pin QFP), the AL300 (in 160-pin QFP) offers the best cost-performance and total solution for LCD monitors or projectors, or other flat panel devices.
November 28, 2001
5
AL300
4.0 Pinout Diagrams
BA0 BA1 BA2 BA3 VCC BA4 BA5 BA6 BA7 VCC GA0 GA1 GA2 GA3 GND GA4 GA5 GA6 GA7 GND RA0 RA1 RA2 RA3 VCC RA4 RA5 RA6 RA7 VCC PDSPEN PVS PHS GND SCLK PCLKB PCLKA GOUT3 GOUT2 GOUT1 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 120 119 118 117 116 115 114 113 112 111 110 109 108 107 106 105 104 103 102 101 100 99 98 97 96 95 94 93 92 91 90 89 88 87 86 85 84 83 82 81
VCC RESETB IHSREF OHSREF OHSFB OCLK OPLLCLK PLLVCC VCOIN PLLGND GND ROMDATA7 ROMDATA6 ROMDATA5 ROMDATA4 GND ROMDATA3 ROMDATA2 ROMDATA1 ROMDATA0 VCC ROMADDR0 ROMADDR1 ROMADDR2 ROMADDR3 GND ROMADDR4 ROMADDR5 ROMADDR6 ROMADDR7 VCC ROMADDR8 ROMADDR9 ROMADDR10 ROMADDR11 GND ROMADDR12 ROMADDR13 ROMADDR14 ROMADDR15
AL300
A-1
80 79 78 77 76 75 74 73 72 71 70 69 68 67 66 65 64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41
BB0 BB1 BB2 BB3 GND BB4 BB5 BB6 BB7 GND GB0 GB1 GB2 GB3 VCC GB4 GB5 GB6 GB7 VCC RB0 RB1 RB2 RB3 GND RB4 RB5 RB6 RB7 VCC Test2 Test1 YUVIN I2CADDR PWRDN GND NC SDA SCL IREQ
TVCLK TVHREF TVVS TVHS GND GVS GHS GHREF GCLK GND RIN7/YIN7 RIN6/YIN6 RIN5/YIN5 RIN4/YIN4 RIN3/YIN3 RIN2/YIN2 RIN1/YIN1 RIN0/YIN0 VCC GIN7/UVIN7 GIN6/UVIN6 GIN5/UVIN5 GIN4/UVIN4 GIN3/UVIN3 GIN2/UVIN2 GIN1/UVIN1 GIN0/UVIN0 GND BIN7 BIN6 BIN5 BIN4 BIN3 BIN2 BIN1 BIN0 VCC HOSTCLK XOUT XIN
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 37 38 39 40
AL300 pinout diagram
November 28, 2001
6
AL300
5.0 Pin Definition and Description
Following is the pin definition of the AL300:
Pin Name Video Interface TVCLK TVHREF IN (CMOSd) IN (CMOSd) 1 2 Video Clock from Video Source Video Horizontal Active Data Reference This signal is used to indicate valid data of the YUV input. TVVS TVHS GVS GHS GHREF GCLK R/YIN<7:0> G/UVIN<7:0> IN (CMOSs) IN (CMOSs) IN (CMOSs) IN (CMOSs) IN (CMOS) IN (CMOSd) IN (CMOS) IN (CMOS) 3 4 6 7 8 9 11-18 20-27 Video Vertical Sync Signal Video Horizontal Sync Signal Graphic Vertical Sync Signal Graphic Horizontal Sync Signal Graphic Horizontal Active Data Reference Graphic Input Clock Red Input When in RGB Mode Y Input When in CCIR601 422 and 444 Modes Green Input When in RGB Mode CbCr Input When in CCIR601 422 Mode Cb Input When in CCIR601 444 Mode Refer to register #1Bh for details. BIN<7:0> IN (CMOS) 29-36 Blue Input When in RGB Mode Cr Input When in CCIR601 444 Mode Refer to register #1Bh for details. Host Interface HOSTCLK XOUT XIN OUT (CMOS) 38 OUT (CMOS) 39 IN (CMOS) 40 Buffered Output of the Clock Input for Host Interface such as a Micro-controller Crystal Output Crystal Input; the frequency provided is for I2C sampling and for output reference timing when input sync signals are missing or undetectable. Usually in the range of 10~50MHz. Refer to section 6.7 Internal Timing Generator for details. Type Pin # Note
Graphic Interface
November 28, 2001
7
AL300
IREQ SCL SDA GOUT1 GOUT2 GOUT3 Configuration PWRDN
OUT (CMOS) 41 IN (CMOSs) INOUT (COMSsu) OUT (CMOS) 81 OUT (CMOS) 82 OUT (CMOS) 83 42 43
Interrupt Request, active high I2C Serial Clock Input I2C Serial Data Input/Output General Purpose Output Connected to Register 0x1B bit 2 General Purpose Output Connected to Register 0x1B bit 3 General Purpose Output Connected to Register 0x1B bit 1
IN (CMOSd)
46
Power Down 0, Normal Operation 1, Power Down
I2CADDR
IN (CMOSd)
47
I2C Bus Slave Address Select 0, write address = 70, read address = 71 1, write address = 72, read address = 73
YUVIN
IN (CMOSd)
48
YUV Input 0, RGB Format Video Input 1, CCIR YUV Format Video Input Refer to RIN, GIN, BIN pins
Test1 Test2 RB<7:0>
IN (CMOSd) IN (CMOSd)
49 50
Test Pin Test Pin Right Pixel of Interleaved Red Output in Dual Pixel Mode Valid when Register 0x43 bit4 = `1'. Data are output with PCLKB. For AL300 ver. A, the B data lag A data by 90 (half SCLK). For AL300 ver. B, A and B data are aligned.
Panel/Display Interface OUT (CMOS) 52-55, 57-60
GB<7:0>
OUT (CMOS) 62-65, 67-70
Right Pixel of Interleaved Green Output in Dual Pixel Mode Valid when Register 0x43 bit4 = `1'. Data are output with PCLKB.
November 28, 2001
8
AL300
For AL300 ver. A, the B data lag A data by 90 (half SCLK). For AL300 ver. B, A and B data are aligned. BB<7:0> OUT (CMOS) 72-75, 77-80 Right Pixel of Interleaved Blue Output in Dual Pixel Mode Valid when Register 0x43 bit4 = `1'. Data are output with PCLKB. For AL300 ver. A, the B data lag A data by 90 (half SCLK). For AL300 ver. B, A and B data are aligned. PCLKA OUT (CMOS) 84 Leading Pixel Clock of Interleaved Video Output for Right data in Dual Pixel Mode. Polarity is programmable PCLKB OUT (CMOS) 85 Lagging Pixel Clock of Interleaved Video Output for Right data in Dual Pixel Mode. Polarity is programmable. Default PCLKB lags PCLKA by 180 (one SCLK). SCLK PHS PVS PDSPEN OUT (CMOS) 86 OUT (CMOS) 88 OUT (CMOS) 89 OUT (CMOS) 90 Display Pixel Clock (for single pixel per clock mode) Panel/Display Hsync Can be programmed to either polarity. Panel/Display Vsync Can be programmed to either polarity. Panel/Display Display Enable; used to indicate active output pixels (HDE). Can be programmed to either polarity. RA<7:0> OUT (CMOS) 92-95, 97-100 Red Data Output When Register 0x43 bit4 = `0', data are output every SCLK. When Register 0x43 bit4 = `1', the left pixel of interleaved red data are output with PCLKA. GA<7:0> OUT (CMOS) 102-105, 107- Green Data Output 110 When Register 0x43 bit4 = `0', data are output every SCLK. When Register 0x43 bit4 = `1', the left pixel of interleaved red data are output with PCLKA.
November 28, 2001
9
AL300
BA<7:0>
OUT (CMOS) 112-115, 117- Blue Data Output 120 When Register 0x43 bit4 = `0', data are output every SCLK. When Register 0x43 bit4 = `1', the left pixel of interleaved red data are output with PCLKA.
PLL (Phase Lock Loop) Interface IHSREF OUT (CMOS) 123 Input Hsync Reference, buffered and polarity adjusted, usually for input PLL to regenerate input pixel clock. Always positive polarity. When no input HSYNC is present, virtual IHSREF can be generated by programming registers 41h & 42h OHSREF OUT (CMOS) 124 Output Hsync Reference, for output PLL to generate output pixel clock. Always positive polarity. OHSREF is either equivalent to IHSREF or the equally divided IHSREF. Refer to registers 03h, 10h~13h. OHSFB OCLK OUT (CMOS) 125 IN (CMOSd) 126 Output PLL Feedback; works with OHSREF to generate output pixel clock Output Clock, connected to OPLLCLK when internal PLL is used; connected to external PLL clock output when external PLL is used OPLLCLK VCOIN ROMDATA <7:0> ROMADDR <15:0> Power, Ground, Reset RESETB PLLVCC PLLGND VCC IN (CMOS) POWER GROUND POWER 122 128 130 Reset, active low VCC of Internal PLL, 3.3V GND of Internal PLL OUT (CMOS) 127 IN IN (CMOSd) 129 Recovered Output Clock generated by the internal PLL PLL External VCO Filter Circuit Input
OSD ROM Interface 132-135, 137- OSD ROM Data 140 OUT (CMOS) 160-157, 155- OSD ROM Address 152, 150-147, 145-142
19, 37, 51, 61, Digital VCC, 3.3V
November 28, 2001
10
AL300
66, 91, 96, 111, 116, 121, 141, 151 GND GROUND 5, 10, 28, 45, 56, 71, 76, 87, 101, 106, 131, 136, 146, 156 NC 44 No connection Digital Ground
Remarks: CMOSd: CMOS with internal pull-down CMOSs: CMOS with Schmitt trigger CMOSsu: CMOS with Schmitt trigger and internal pull-up
November 28, 2001
11
AL300
6.0 Functional Description
The AL300 provides a simple way of connecting video or graphic sources to a flat panel display such as a LCD. A LCD panel normally supports only one fixed resolution of digital non-interlaced data format; therefore, it can not be connected directly to a video source due to the difference in format. Additionally, VGA or TV video usually are in analog format and can be of many different resolutions and refresh rates. The AL300 is designed to change the various video/graphics formats into a fixed data format to be accepted by a specific LCD panel. The input video format can be 24-bit digital RGB or 16-bit digital YUV. Different video sources can be connected to an AL300 via certain digitization devices. For example, analog NTSC/PAL/SECAM can be connected to the AL300 via a digital video decoder. Analog VGA RGB signal can be connected to the AL300 after a high-speed three-channel analog-to-digital converter (ADC), such as the AL875. Alternatively, digital PC graphics can also be applied to the AL300 through a Panel Link or LVDS (low voltage differential signal) receiver. The scan rate and resolution of the incoming video are recognized by the scan mode detection circuits. The detected mode information stored in the AL300 registers is read through the I2C bus by the firmware. The firmware then will decide how to program the chip such that the input video can be scaled up to fit into the full screen size of the display. To achieve this, the linear zoom engine needs to be programmed to properly scale the input video to the desired output resolution. Also, the frequency of the display clock generated from the internal PLL needs to be programmed to the correct level. After the digital data is scaled, optional dithering is performed to retain color resolution for LCD panels that support only 12-bit or 18-bit color resolutions. The processed data is overlaid with internal on-screen-display (OSD) for display status or control menu.
6.1 Input Data Format
The AL300 accepts three input data formats: 24-bit RGB, 16-bit CCIR601 422 and 24-bit CCIR601 444 data. The clock and sync signal pins are separate for RGB or YUV while the YUV data share the same pins as the RGB data. The input video format is defined by the YUVIN pin. Diagram AL30006 Input Data Format shows how to connect the AL300 for each format.
November 28, 2001
12
AL300
AL300 Data (RGB 444) 24-bit Interface Rout Gout Bout 8 8 8 R/Y[7:0] G/UV[7:0] B[7:0]
0 Digital RGB 444 Input
YUVIN
AL300
AL300 Data (CCIR601 444) 24-bit Interface
AL300 Data (CCIR601 422) 16-bit Interface
Y UV
8 8
R/Y[7:0] G/UV[7:0] B[7:0]
Y U V
8 8 8
R/Y[7:0] G/UV[7:0] B[7:0]
1 Digtial YUV 422 Input
YUVIN
1 Digital YUV 444 Input
YUVIN
AL300
AL300
AL300-06 Input Data Format
YUV input data is selected when the YUVIN pin is high. This hardware pin can be disabled by "SoftConfig" (in register #03h, GENERAL). When the bit is set to one, the input video format is controlled by "VideoIn" (in register #02h, BOARDCONFIG). RGB input data is selected when the YUVIN pin is low.
6.2 Scan Mode Detection
The resolution of the analog input is determined by two hardware registers, LINERATE (Reg. #61h and #62h) and INVTOTAL (Reg. #63h and #64h), which store the detected input line rate and the
November 28, 2001
13
AL300
detected total number of vertical lines, respectively. The line rate and frame rate values can be obtained by counting the clock provided from XIN pin and/or calculations and some calculations. When the line rate of the input video changes, a programmable interrupt signal is sent out to the micro-controller for mode setting or other controls. Details about this can be found in the Interrupt section.
6.3 Automatic Positioning Control
The active video (horizontal and vertical) starting and ending positions are detected to ensure that the whole picture fits into the displayable region of the screen. The threshold of the minimum active video value is user-definable. Position detection can be performed for any row or column across the whole screen and it is programmable. Related registers are: HNUMBER (horizontal line number, Reg. #70h), DATA_TH (data threshold, Reg. #71h), HDE_ST (horizontal active start high and low, Reg. #72h and #73h), HDE_END (horizontal active end high and low, Reg. #74h and #75h), VCOLUMN (selected vertical column number, Reg. #79h), VDE_ST (vertical active start high and low, Reg. #7Ah and #7Bh), and VDE_END (vertical active end high and low, Reg. #7Ch and #7Dh). Details about these registers can be found in the Register Definition section.
6.4 Output Clock PLL
The internal PLL can regenerate a display clock from the incoming horizontal sync signal. The maximum multiplication factor (N) is 2047 defined by register PLLDIV (Reg. #10h and #11h). The N value is derived from the following formula:
PLLDIV(N) =
Ho Vi Where, Ho is the total number of pixels per output line Vo is the output active lines per frame Vi is the input active lines per frame
Vo
The following drawing shows how the input Hsync is divided by the PLL to generate the display clock, which in turn generates the output Hsync.
November 28, 2001
14
AL300
Input Hsync N < 2047 Display clock
Output Hsync Say, 1344 for XGA
If the scan rate of input video HSYNC is much slower, as in the case of interlaced video input, PLLREFDIV can evenly divide the input HSYNC into small segments of PLL reference input to achieve a higher multiplication rate. This "pseudo" Hsync is generated by equally dividing the input Hsync into 2 or more segments. The length of the pseudo Hsync is defined by the scaling divider (M) in register PLLREFDIV (Reg. #12h and #13h). The following diagram shows the relationship among these signals:
Input Hsync Need an N > 2047 "Pseudo" Hsync (from refdiv M) After applying M, N is reduced to be < 2047
Display clock
Output Hsync Say, 1344 for XGA
AL300-30 HSYNC and reference clock
Following is the AL300 internal PLL block diagram:
November 28, 2001
15
AL300
VCOIN ( LOOP FILTER )
BUFFER REF IN (GHS, TVHS, or the ref. generated by M ) /2 PHASE DETECTOR CHARGE PUMP VCO /2 OPLLCLK CLOCK OUTPUT
PRE /2 /N DIVIDER /2
OUT
10
FEB2 DIVIDER FEB1 AL300-29 Internal PLL Block Diagram
The AL300's internal PLL has better performance at high frequency than low frequency when the output rate is within 110MHz. To take advantage of this property, there are four "divide-by-2" dividers for optimal operation. The FEB1 and FEB2 work as frequency multipliers; the PRE and OUT work as frequency dividers. To turn on or off these dividers, control register #11h. The recommended values for the register setting at different input modes are as follows:
Ref freq. Fout (KHz) (MHz) 31.5 25.2 37.5 31.5 37.88 40 46.75 49.368 48.0 64.8 56.5 74.92 60.0 78.72 64 85.5 64 107.52 Divider FEB2 FEB1 OUT PRE DIVIDER value 800 1 0 1 0 011,00011110 840 1 0 1 0 011,01000110 1056 1 1 1 0 010,00001110 1056 1 1 1 0 010,00001110 1350 0 1 0 0 010,10100001 1326 0 1 0 0 010,10010101 1312 0 1 0 0 010,10001110 1336 0 1 0 0 010,10011010 1680 0 1 0 0 011,01000110 Reg. 11h (Hex) A3 A3 E2 E2 42 42 42 42 43 Reg. 10h (Hex) 1E 46 0E 0E A1 95 8E 9A 46
The output pixel clock can be either from the internal PLL locked to the ref_in clock, or from the external clock pin, OCLK. The ref_in reference clock is the GHS, TVHS, or the pseudo-reference clock generated by the PLLREFDIV. The frequency of the reference clock ref_in is between 10 KHz and 1 MHz. The output frequency is adjustable and the maximum frequency is up to 110 MHz. Details about the PLL related registers can be found in the Register Definition section.
November 28, 2001
16
AL300
6.5 Input/Capture Timing
The input timing defines the active region of the input video/graphics to be processed and eventually displayed on the screen. The "captured" window for display is defined by registers CAPHSTART (Reg. #20h and #21h), CAPHSIZE (Reg. #22h), CAPVSTART (Reg. #24h and #25h), and CAPVEND (Reg. #26h and #27h). The output vertical sync position relative to the input vertical sync is defined by register FRAMEVSTART (Reg. #28h and #29h). All the parameters are relative to the leading edges of the input HSYNC and VSYNC. The following diagram shows the input active window timing and the related registers.
INPUT CLOCK Reference start (0) HSYNC HDE
Input HSYNC Start Horizontal Capture Size (Reg #22h x 8) Horizontal Capture Start (Reg #20h, 21h)
VDE
Input VSYNC Start Vertical Capture Start (Reg #24h, 25h) Vertical Capture Size Vertical Capture End (Reg #26h, 27h)
VSYNC
INPUT HSYNC
INPUT ACTIVE REGION
AL300-07 Input video timing
November 28, 2001
17
AL300
6.6 Output/Display Timing
The output display resolution, sync signal duty cycles, and active display position are fully programmable. They are defined by registers DSPHTOTAL (Reg. #30h and #31h), DSPHSEND (Reg. #32h), DSPHDESTART (Reg. #33h), DSPHDEEND (Reg. #34h), DSPVDESTART (Reg. #37h and #38h), and DSPVDEEND (Reg. #39h and #3Ah). The following diagram shows the output active window timing and the related registers.
Display HSYNC Display HDE
H-SYNC End (Reg #32h x 8)
Horizontal Total (Reg #30h, 31h) Horizontal Display Size
Horizontal Display Start (Reg #33h, 34h)
Display VDE
Display VSYNC
V-SYNC End (Reg #35h)
Vertical Display Start (Reg #37h, 38h) Vertical Display End (Reg #39h, 3Ah)
Vertical Display Size
DISPLAY ACTIVE REGION
AL300-08 Output video timing
November 28, 2001
18
AL300
The output HSYNC delay relative to the input HSYNC is defined by FRAMEDELAY (Reg. #3Bh), and FRAMEDELAYODD (Reg. #3Ch). For interlaced video input, FRAMEDELAYODD is half a line more than FRAMEDELAY. For non-interlaced video input, FRAMEDELAYODD has the same value as FRAMEDELAY.
6.7 Internal Timing Generator
The AL300 normally synchronizes to the external video source timing provided by a graphic chip (or recovered by an external PLL) or a video decoder. It can also generate internal reference timing from the clock provided by the XIN pin. When no external video source is connected or the input timing is not supported by the firmware, the internal HSYNC and VSYNC can be used to generate timing for the OSD display to show monitor status, warning signals and/or other messages. The desired internal HSYNC and VSYNC frequency can be generated by programming the REFHTOTAL (Reg. #41h) and REFVTOTAL (Reg. #42h) registers. If the XIN frequency is 14.31818 MHz and the expected vertical frame rate is 60 Hz, the following table shows the register values for some typical resolutions. REFHTOTAL (Reg. #41h) 640x480 800x600 1024x768 1280x1024 450 376 296 216 REFVTOTAL (Reg. #42h) 520 632 800 1072 Remarks 14.3MHz =: 450 x 520 x 60 14.3MHz =: 376 x 632 x 60 14.3MHz =: 296 x 800 x 60 14.3MHz =: 216 x 1072 x 60
To detect if there is input signal, turn on VSYNCIrq by writing "10" to register #40h<1:0>. "1" status of register #65h<1> indicates that input VSYNC is detected. Reset register #40h as "00h" before next input VSYNC detection is needed. When input VSYNC is missing, turn on the internal timing as mentioned above. If input VSYNC is detected but the mode is not supported by the firmware (such as out-of-spec resolution), also turn on the internal timing to avoid sync conflict. In addition, set register #43h<6> as 1and write 00h to "color 3" registers (#B9h~BBh) to blank the input graphics/video. Turn on the OSD to show warning signals (such as "out of sync"). To detect if "out of sync" status is changed, turn on LineRateIrq by writing "01" to register #40h<1:0>. "1" status of register #65h<0> indicates that input mode is changed. The firmware should then perform mode detection. If a valid input mode is detected, turn off the internal timing. Other control algorithm is also available.
November 28, 2001
19
AL300
6.8 Zoom Engine
The AL300 has two independent horizontal and vertical scale engines performing proprietary scaling operations. The range of linear scaling can be from 1 up to 8 times. The horizontal interpolation coefficient is generated by the 11-bit HRATIO (Reg. #14h and #15h), which defines the scaling ratio with the 3 MSB as the integer part and the 8 LSB as the mantissa part. The HRATIO is derived from the size of the displayed input video and the actual scaled display size. The related registers include CAPHSTART (Reg. #20h and #21h), CAPHEND (Reg. #22h), DSPHDESTART (Reg. #33h), and DSPHDEEND (Reg. #34h). The initial value for the interpolation coefficient generator is defined by HINITPHASE (Reg. #18h). The vertical interpolation coefficient generator, the 15-bit VRATIO (Reg. #16h and #17h) defines the scaling ratio with the 3 MSB being the integer part and the 12 LSB being the mantissa part. The VRATIO is derived from the size of the displayed input video and the actual scaled display size. The registers involved include CAPVSTART (Reg. #24h and #25h), CAPVEND (Reg. #26h and #27h), DSPVDESTART (Reg. #37h and #38h), and DSPVDEEND (Reg. #39h and #3Ah). The initial value for the interpolation coefficient generator is defined by VINITPHASE (Reg. #1Ah). All of these registers can be used to achieve optimum sharpness and smoothness results for different scaling ratios.
6.9 Operating Modes
The AL300 operates in three different modes: non-interlaced zoom mode, de-interlaced zoom mode, and bypass mode 6.9.1 Non-interlaced Zoom Mode Non-interlaced zoom mode is for synchronizing the output display with the non-interlaced input video with a zooming ratio of larger than or equal to one. The output video can have the same or higher resolution than the input video. First of all, the output timing parameters are decided depending on the size of the display device. Secondly, the firmware determines what area of picture needs to be displayed with the help of internal scan rate and position detection circuits. The input timing parameters are set accordingly. The next step is to set the parameters of the scaling engine by the ratio between the output video and input video. Details about programming the related registers can be found in the Register Definition section.
6.9.2 De-interlaced Zoom Mode De-interlaced zoom mode is different from Non-interlaced zoom mode in that the input video is interlaced and needs to be de-interlaced. Some parameters need to be treated differently for different operations required in odd and even fields in interlaced modes compared to non-interlaced modes. Details about programming the related registers can be found in the Register Definition section.
November 28, 2001
20
AL300
6.9.3 Bypass Mode This mode is only good for the application in which the input and output resolution are the same. Basically, the input clock and H-sync timing are used for the output timing and therefore the picture is not zoomed. However, the data can be processed by all of the internal data processing hardware and OSD circuit, except for the scaling function. Only some registers that are used for the previous two modes are affected. Details about programming the related registers can be found in the Register Definition section.
6.10 Interrupt
The interrupt signal can be triggered by one or a combination of any of the three following events. 1. When the line rate of the input video changes. 2. When input VSYNC arrives. 3. When the odd field arrives. Register IREQSOURCE (Reg. #40h) decides which interrupt event(s) are used to trigger the interrupt. The first interrupt source is helpful in automatically detecting the mode changes. The second interrupt source can be used to do a periodic routine during the vertical blanking region. The last interrupt source can be used to do a periodic routine in the odd field of interlaced input video. Upon receiving the interrupt request from the AL300, the micro-controller needs to first check the interrupt event by reading the register IREQSTATUS (Reg. #65h) to decide what operations to perform. After the interrupt routine is complete, the interrupt status register is reset by writing the register IREQSOURCE (Reg. #40h) and then it becomes ready for the next interrupt request.
6.11 On Screen Display (OSD)
Two independent On-Screen-Display (OSD) windows provide overlay for a control menu, text, or caption on the output display. The AL300's OSD is very flexible in the way that the font, size, and display location are all programmable. The internal 1K byte SRAM provides storage for the OSD information. The OSD can be operated with only this internal SRAM or with an external ROM to store font tables or even larger bitmaps.
November 28, 2001
21
AL300
The OSD key from the OSD controller selects the colors to be overlaid on the screen based on the data stored in RAM or ROM as well as the control registers that decide when and where these colors are displayed on the screen. The OSD key is used to select four out of 16 million OSD colors. The selected OSD color data is then passed through the internal blink control circuits. Blinking is supported in 2-byte font addressing ROM mode only and will be further described later. The blinking frequency is controlled by the value defined by BLINKCTRL (Reg. #36h) with VYSNC as the reference counting clock. The blinking information is stored as data embedded in character codes stored in RAM. After the processed blinking data is passed to the logic operation section, the logic operation section performs special OSD effects such as translucent, opaque, negative, and posterization. The logic operation feature, which provides a vivid and unique way of implementing display menu and status, is controlled by the FOREOP (Reg. #81h) register. The fading operation block creates the effect of smoothly fading in and fading out the OSD titles or menu. Fading is controlled by register FADEALPHA (Reg. #82h). Following is the block diagram of the AL300 OSD.
VIDEO DATA
RSTB CLK HCLK TIMER
COLOR SELECT
BLINKING AND LOGIC OPERATION
FADING OPERATION
VIDEO+OSD
OSD CONTROL
VCNT HCNT
OSDKEY
COLOR0 COLOR1 COLOR2 COLOR3
FOREOP
ALPHA
BLINK
OSD Parameters from AL300
RAMADDR RAMDATA
1K RAM
ROMADDR
EXTERNAL ROM 64K (OPTIONAL)
ROMDATA
AL300-09 OSD Block Diagram
November 28, 2001
22
AL300
6.11.1 RAM mode If external ROM is not used, OSD data can be stored in the internal 1K Byte of RAM. In this mode, the OSD data is stored in bitmap form, which is written by the host through the I2C bus. Two independent OSD RAM address generators generate addresses for indexing the OSD data stored in RAM. The data written from the RAM are unpacked to either 1-bit or 2-bit data depending if 2-color mode or 4-color mode is selected. MSB bits are read out as OSD data before the LSB bits. The following diagram shows how the OSD key generator works in RAM mode.
RAM Address Generator 1 9 MUX 512K x 16 RAM Unpacker 16 1/2
OSDKEY
RAM Address Generator 2
AL300-10 OSD Key Generator in RAM Mode
The RAMADDRST1 (Reg. #92h) and RAMADDRST2 (Reg. #A2h) are the starting address pointers indicating the starting addresses of the bitmaps of OSD1 and OSD2. RAMSTRIDE1 (Reg. #93h and #8Bh) and RAMSTRIDE2 (Reg. #A3h and #8Ch) are the line offsets in the RAM for OSD1 bitmap and OSD2 bitmap, respectively.
6.11.2 ROM mode If external ROM is used to store font tables or bitmaps, the internal RAM is used to store the font code or index for assessing a specific font (a font can be viewed as a pre-defined bitmap). The addresses of the font indexes are generated first to retrieve the index address to a specific font or bitmap. The following ROM address generators then calculate the address of the font stored in ROM based on the font index read from RAM. The 8-bit data read from ROM is then unpacked into 1-bit or 2-bit data depending if 2-color mode or 4-color mode is selected. MSB bits are read out as OSD data before the LSB bits. This is illustrated as follows:
RAM Address Generator 1 RAMADDR 9 RAM Address Generator 2 512K x 16 RAM RAMDATA 16
ROM Address Generator 1 ROMADDR ROM 16 ROM Address Generator 2 8 ROMDATA Unpacker 1/2 OSDKEY
MUX
MUX
November 28, 2001
23
AL300
The font addressing code can be in 1-byte or 2-byte formats. Blinking function is only supported in 2byte font index format. RAMADDRST1 (Reg. #92h) and RAMADDRST2 (Reg. #A2h) are the starting addresses of the font index codes of OSD1 and OSD2 stored in RAM. The font index is used to address the font data store in ROM. The address of a data of a specific font is calculated as: Address = ROMADDRST + (OSD font index * FONTADDRESSUNIT) + (OSD line count * FONTLINESIZE) The data format stored in RAM for addressing of OSD bitmap data in ROM mode is illustrated in the following diagram.
Font Index for one byte data mode
00h 01h 02h 03h 04h 05h 06h 1st Character code <7:0> 00h 2nd Character code <7:0> 3rd Character code <7:0> 4th Character code <7:0> 02h 5th Character code <7:0> 6th Character code <7:0> 7th Character code <7:0> 3FEh 3FFh 1024th Character code <7:0> 3FFh 03h 01h
Font Index for Two byte data mode
1st Character code <7:0> Foreground Color <7:6> Background Color <5:4> Blink <3> Character code <10:8>
Character code <7:0> Foreground Color <7:6> Background Color <5:4> Blink <3> Character code
512th Character code <7:0> Foreground Color <7:6> Background Color <5:4> Blink <3> Character code
AL300-11 OSD Data Addressing in ROM Mode
6.11.3 OSD Timing The register OSDHSTART (Reg. #90h and #A0h) refers to the horizontal starting position of the OSD window relative to the leading edge of HSYNC. OSDVSTART (Reg. #91h and #A1h) refers to the vertical starting position of the OSD window relative to the leading edge of VSYNC. The BMAPHSIZE (Reg. #94h, #95h, #A4h, and #A5h) defines the horizontal visible portion of the font (it can be smaller or equal to the actual horizontal font size). BMAPHTOTAL (Reg. #96h, #97h, #A6h and #A7h) is BMAPHSIZE plus the horizontal size of the border or gap in between fonts. The BMAPVSIZE (Reg. #98h, #99h, #A8h, and #A9h) defines the vertical visible portion of the font (it can be smaller or equal to the actual vertical font size). BMAPVTOTAL (Reg. #9Ah, #9Bh, #AAh,
November 28, 2001
24
AL300
and #ABh) is BMAPVSIZE plus the vertical size of border or gap in between fonts. The total numbers of fonts in the horizontal and vertical directions are defined by ICONHTOTAL (Reg. #9Ch and #ACh) and ICONVTOTAL (Reg #9Dh and #ADh). The screen timing diagram of the OSD window is as follows:
HSYNC OSDHDE OSDHDE VSYNC
bmaphtotal Reg.# 96h,97h A6h,A7h bmaphsize Reg.# 94h,95h A4h,A5h osdhstart Reg.# 90h,A0h
hgap
osdvstart Reg.# 91h,A1h bmapvtotal Reg.# 9Ah,9Bh AAh,ABh bmapvsize Reg.# 98h,99h A8h,A9h
Row 1 Index 1
Row 1 Index 2
Row 1 Index 3
vgap
Row 2 Index 1
Row 2 Index 2
Row 2 Index 3
Row 3 Index 1
Row 3 Index 2
background iconhtotal =3-1=2 Reg. # 9Ch,ACh foreground
AL300-15 OSD Scren Timing Diagram
6.11.4 OSD Bitmap/Font Formatting The following two examples show how the bitmaps or fonts should be formatted for OSD RAM or ROM. The first example uses 2-bit per pixel formatting:
iconvtotal =3-1=2 Reg.# 9Dh,ADh
November 28, 2001
25
AL300
Font line size = 5 bytes n+1<7:0> n+2<7:0> n+3<7:0>
7:6 5:4 3:2 1:0
n+4<7:0>
n<7:0> n+5<7:0> n+10<7:0> n+15<7:0>
0 3 3 3
000000000h C000003C0h C00000F00h C00003C00h
n+110<7:0>
n+111<7:0> n+112<7:0>
n+113<7:0>
n+114<7:0> n+115<7:0> AL300-19 OSD Bitmap_Font Formatting 2-bit per pixel
Bitmap horizontal size = 18 pixels
The next example uses 1-bit per pixel formatting:
Font line size = 3 bytes n+1<7:0>
76543210
n+2<7:0>
n<7:0> n+3<7:0> n+6<7:0> n+9<7:0>
0 6 6 6
0 0 0 0
0 0 0 0
0 1 3 6
0 8 0 0
0 0 0 0
h h h h
n+66<7:0> n+67<7:0> Bitmap horizontal size = 18 pixels n+68<7:0> AL300-20 OSD Bitmap_Font Formatting 1-bit per pixel
November 28, 2001
26
AL300
6.12 Output Data Format
Different output data formats for various types of panels are supported. Data can be programmed to be single pixel per clock mode or dual pixels per clock mode. This is controlled by "DualOut" (in register OUTPUTCONTROL, #43h). When DualOut = `0', output is single pixel per clock. When DualOut = `1', output is dual pixels per clock. Dithering, controlled by "DithMode" (in register DITHER, Reg. #06h), is performed to retain color resolution for LCD panels that support only 12-bit or 18-bit color depths. Twenty-four-bit RGB data are output when DithMode = `00', 18-bit RGB data are output when DithMode = `01', and 12-bit RGB data are output when DithMode = `10'.
6.13 Zoom
The AL300 can scale the input resolution up to 8x8 times. However, since the AL300 does not perform frame rate conversion, nor does it store the whole input frame, full zoom functionality is not available. Nevertheless, the AL300 can zoom the scaled screen up to approximately1.8x1.8 times (depending on the panel timing tolerance) by capturing only part of the input pixels and using a higher scaling factor. The following drawing shows how this is performed:
HSYNC Input (PC/TV) HDE
640 pixels
Regular full screen to full screen scaling
HSYNC Output (panel) HDE
1024 pixels
Input (PC/TV)
HSYNC HDE
384 pixels Capture 3/5 of input HDE
Zoom: partial screen to full screen scaling Output (panel) HSYNC HDE
1024 pixels
Note: blanking is very long in zoom mode; some panels may not accept this
AL300-22 Zoom mode (VGA scale up to XGA)
November 28, 2001
27
AL300
6.14 Initialization
The AL300 does not need initialization. However, for panels that need all data and control signals to be low during initialization, the AL300 register #43h<6> can be set to 1 to pull all output data pins low by writing 00h to "color 3" registers (#B9h~BBh). The AL300 PHS, PVS, PDSPEN, and clock outputs are low before programming.
6.15 I2C Programming
The AL300 I2C programming interface follows the Philips I2C standard. The I2C interface consists of the SCL (clock) and SDA (data) signals. Data can be written to or read from the AL300. For both read and write, each byte is transferred MSB first and LSB last, and the SDA data bit is valid when the SCL is pulled high. The read/write command format is as follows: Write:

Read:

Following are the details: : Start signal SCL SDA High High High Low The Start signal is HIGH to LOW transition on the SDA line when SCL is HIGH. : Write Slave Address: 70h or 72h : Read Slave Address: 71h or 73h : Value of the AL300 register index. : Acknowledge stage The acknowledge-related clock pulse is generated by the host (master). The host releases the SDA line (HIGH) for the AL300 (slave) to
STOP bit [P] SCL SDA Data bit [1] or NA SCL
SDA Data bit [0] or A SCL
SDA START bit [S] SCL
SDA Not significant SCL
AL250-15 I2C drawing
November 28, 2001
28
AL300
pull down the SDA line during the acknowledge clock pulse. : Not Acknowledged stage The acknowledge-related clock pulse is generated by the host (master). The host releases the SDA line (HIGH) during the acknowledge clock pulse, but the AL300 does not pull it down during this stage. : Data byte write to or read from the register index. In read operation, the host must release the SDA line (high) before the first clock pulse is transmitted to the AL300.

: Stop signal SCL SDA High Low High High The Stop signal is LOW to HIGH transition on the SDA line when SCL is HIGH. Suppose data F0h is to be written to register 0Fh using write slave address 70h, the timing is as follows:
Start Slave addr = 70h Ack Index = 0Fh Ack Data = F0h Ack Stop
SDA SCL
AL300-13 I2C Write timing
Suppose data is to be read from register 55h using read slave address 71h, the timing is as follows:
November 28, 2001
29
AL300 Start Ack Stop Read slave addr = 71h NAck Start Ack Data read cycle Stop
Slave addr = 70h
Index = 55h
Ack
SDA SCL
AL300-14 I2C Read timing
More information on the AL300 functionality can be found in the Register Definition section.
November 28, 2001
30
AL300
7.0 Electrical Characteristics
7.1 Recommended Operating Conditions
Parameter VDD TAMB Supply Voltage Ambient Operating Temperature Min +3.0 0 Max +4.0 +70 Unit V C
7.2 Characteristics
Parameter IDD P VIH VIL VOH VOL IO Supply current Power consumption Hi-level input voltage Lo-level input voltage Hi-level output voltage Lo-level output voltage Output current, data Output current, bus driver ILI Ci CK2 tiS tiH tr tf CL toH tPD Input leakage current Input pin capacitance Duty factor (tCK2H/tCK2) Input data set-up time Input data hold time Input rise time Input fall time Digital output load cap. Output hold time Propagation delay CL = 15pF CL = 40pF Vi = 0.6 to 2.6V Vi = 2.6 to 0.6V -0.5VNovember 28, 2001
31
AL300
7.3 Timing Diagram
tCK
TVCLK/ GCLK R/YIN[7:0] G/UVIN[7:0] BIN[7:0]
tCKH
tCKL tiS
tiH
AL300 Input timing
tCK2
tr
tf
SCLK RA[7:0] GA[7:0] BA[7:0]
tCK2H tCK2L tPD
toH
AL300 Single pixel output timing
SCLK
PCLKA
PCLKB RA[7:0] GA[7:0] BA[7:0]
AL300 Dual pixel output timing
tPD toH
November 28, 2001
32
AL300
8.0 AL300 Register Definition
Following is the summary of the AL300 control registers:
Register Configuration COMPANYID REVISION BOARDCONFIG GENERAL FAMILY POLARITY DITHER ADJUSTMENT PLLDIV PLLREFDIV HRATIO VRATIO HINITPHASE VINITPHASEODD VINITPHASE GOUT Input Timing CAPHSTART CAPHEND RESETTEST CAPVSTART CAPVEND FRAMEVSTART R/W R/W R/W R/W R/W R/W 20h, 21h 22h 23h 24h, 25h 26h, 27h 28h, 29h Horizontal capture start position Horizontal capture size Testing Vertical capture start position Vertical capture end position Display vertical counter start position relative to input vertical counter R R R/W R/W R R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W 00h 01h 02h 03h 04h 05h 06h 07h 10h, 11h 12h, 13h 14h, 15h 16h, 17h 18h 19h 1Ah 1Bh Company ID (46h) Revision number Board configuration General control Chip family number Polarity control Dither control Adjustment control PLL divider number Display PLL reference input divider number Horizontal scale ratio Vertical scale ratio Horizontal zoom scaler initial phase Vertical zoom scalar initial phase in odd field of interlaced input Vertical zoom scalar initial phase Panel Power Control R/W Address Function
Output Clock PLL and Zoom Ratio
November 28, 2001
33
AL300
Output Timing DSPHTOTAL DSPHSEND DSPHDESTART DSPHDEEND DSPVSEND BLINKCTRL DSPVDESTART DSPVDEEND FRAMEDELAY R/W R/W R/W R/W R/W R/W R/W R/W R/W 30h, 31h 32h 33h 34h 35h 36h 37h, 38h 39h, 3Ah 3Bh 3Ch Display horizontal total Output display horizontal sync end position Output horizontal display start Output horizontal display end Output display vertical sync end position OSD blinking control Output vertical display start position Output vertical display end position Output HSYNC delay adjustment relative to input HSYNC FRAMEDELAYODD R/W Interrupt and internal timing IREQSOURCE REFHTOTAL REFVTOTAL Look-up Table RLUTPORT GLUTPORT BLUTPORT LUTWADDR OSD RAM OSDRAMWADDR OSDRAMWPORT HBLANKSTART HBLANKEND VBLANKSTART VBLANKEND INPUTSTATUS LINERATE R/W R/W R/W R/W R/W R/W R R 4Ch, 4Dh 4Eh 50h, 51h 52h, 53h 54h, 55h 56h, 57h 60h 61h, 62h OSD RAM write address OSD RAM write port Horizontal blank start Horizontal blank end Vertical blank start Vertical blank end Input Status Input line rate, which is counted by clock from XIN pin R/W R/W R/W R/W 48h 49h 4Ah 4Bh Red LUT write data port Green LUT write data port Blue LUT write data port Address of LUT wrote port R/W R/W R/W 40h 41h 42h 43h Interrupt Source Horizontal total of internal reference timing Vertical total of internal reference timing Output Control Output HSYNC delay adjustment relative to input HSYNC in odd field
OUTPUTCONTROL R/W
Blanking/Border Control
Input Timing Measurement
November 28, 2001
34
AL300
INVTOTAL IREQSTATUS INHTOTAL Automatic positioning HLINENUMBER
R R R R/W
63h, 64h 65h 66h, 67h 70h 71h 72h, 73h 74h, 75h 79h 7Ah, 7Bh 7Ch, 7Dh 80h 81h 82h 84h 85h 86h 90h 91h 92h 93h, 8Bh 94h, 95h 96h, 97h 98h, 99h 9Ah, 9Bh 9Ch 9Dh AEh 88h 89h
Total vertical line count of input video Interrupt Status Input horizontal pixel total Horizontal line number for horizontal active start and end detection Data threshold value used to determine non-blanking pixel Detected horizontal active start pixel position Detected horizontal active end pixel position Vertical column for vertical active start and end detection Detected vertical active start line Detected vertical active end line OSD(On Screen Display) modes Logic operation Fading alpha value OSD1 Control OSD1 ROM start address OSD1 font address unit On Screen Display horizontal start position On Screen Display vertical start position OSD1 RAM start address OSD1 RAM line stride OSD1 horizontal bitmap size OSD1 bitmap horizontal total OSD1 bitmap vertical size OSD1 bitmap vertical total OSD1 horizontal icon total OSD1 vertical icon total OSD1 font line size OSD2 Control OSD2 ROM start address
DATATHRESHOLD R/W HDESTART HDEEND VCOLUMN VDESTART VDEEND OSD Control OSDMODE FOREOP FADEALPHA OSD 1 OSDCONTROL1 FONTADDRUNIT1 OSDHSTART1 OSDVSTART1 RAMADDRST1 RAMSTRIDE1 BMAPHSIZE1 BMAPHTOTAL1 BMAPVSIZE1 BMAPVTOTAL1 ICONHTOTAL1 ICONVTOTAL1 FONTLINESIZE1 OSD 2 OSDCONTROL2 R/W ROMSTARTADDR2 R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W ROMSTARTADDR1 R/W R/W R/W R/W R R R/W R R
November 28, 2001
35
AL300
FONTADDRUNIT2 OSDHSTART2 OSDVSTART2 RAMADDRST2 RAMSTRIDE2 BMAPHSIZE2 BMAPHTOTAL2 BMAPVSIZE2 BMAPVTOTAL2 ICONHTOTAL2 ICONVTOTAL2 FONTLINESIZE2 OSD Color Registers COLOR0RED COLOR0GREEN COLOR0BLUE COLOR1RED COLOR1GREEN COLOR1BLUE COLOR2RED COLOR2GREEN COLOR2BLUE COLOR3RED COLOR3GREEN COLOR3BLUE
R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W
8Ah A0h A1h A2h A3h, 8Ch A4h, A5h A6h, A7h A8h, A9h AAh,ABh ACh ADh AFh B0h B1h B2h B3h B4h B5h B6h B7h B8h B9h BAh BBh
OSD2 font address unit On Screen Display horizontal start position On Screen Display vertical start position OSD2 RAM start address OSD2 RAM line stride OSD2 horizontal bitmap size OSD2 bitmap horizontal total OSD2 bitmap vertical size OSD2 bitmap vertical total OSD2 horizontal icon total OSD2 vertical icon total OSD2 font line size Color 0 Red Component Color 0 Green Component Color 0 Blue Component Color 1 Red Component Color 1 Green Component Color 1 Blue Component Color 2 Red Component Color 2 Green Component Color 2 Blue Component Color 3 Red Component Color 3 Green Component Color 3 Blue Component
November 28, 2001
36
AL300
8.1 Register Description
Configuration: 00h: Company ID (R) [COMPANYID] CompanyId <7:0> Company ID (46h) Revision (R) [REVISION] Revision <7:0> Revision number Board Configuration (R only; R/W for bit 0) [BOARDCONFIG] If SoftCinfig (0x03<4>) = 0, this register setting represent board configuration. If SoftCinfig (0x03<4>) = 1, bit 0 (only) is programmable by software. The other bits still represent board configuration. VideoIn <0> 0 Accept graphic input 1 Accept video input I2C <6> 0 Serial I2C input 1 Reserved I2C Addr <7> 0 I2C write address is 70h, read address is 71h. 1 I2C write address is 72h, read address is 73h. General (R/W) [GENERAL] PwrDown <0> 0 Normal operation 1 Power down mode SoftTiming <1> Should always be 1 to enable s/w timing configuration. DisablePll* <2> Should always be 0 to enable internal/external PLL. PllDivHs <3> 0 Use input HSYNC as the display clock PLL input reference to generate output pixel clock. Use registers #10h and 11h to define the PLL divider. 1 Use divided input HSYNC as display clock PLL input reference. It needs to be enabled when required output PLL divider is higher than 2047, but can be used any time when output pixel rate is higher than input pixel rate. The divider ratio is defined by registers #10h ~ #13h. Refer to registers #10h ~ #13h for additional reference. SoftConfig <4> 0 Input video type is defined by external pin VIDEOIN. 1 Input video type is defined by bit 0 of register 02h. Refer to register 02h for additional reference. Bypass <5> Video pass through without scaling. 0 Enable scaling defined in registers 14h, 15h, 16h and 17h 1 Bypass When in Bypass mode, only output timing registers 30h, 31h, 37h, 38h, 39h and 3Ah affect the timing control. The PLL and input timing registers are ignored. Ddr12* <6> Reserved. Should be always 0. RefTiming <7> 0 Normal operation 1 Free running
November 28, 2001
01h:
02h:
03h:
37
AL300
In free running mode, external input HSYNC and VSYNC are disabled. Nominal input timing is defined by registers 41h and 42h instead. This is useful when external video source is disconnected or unstable. The reference clock is given by XIN pin. Refer to registers 36h, 41h and 42h for additional reference. 04h: Chip Family (R) [FAMILY] Family <7:0> 00110000, AL300 series Polarity (R/W) [POLARITY] InvPllRef <0> 0 Display clock PLL reference signal is of negative polarity 1 Display clock PLL reference signal is of positive polarity InvPllFb <1> 0 Display clock PLL feedback signal is of negative polarity 1 Display clock PLL feedback signal is of positive polarity HsPol <2> 0 Output HSYNC is of positive polarity 1 Output HSYNC is of negative polarity BlnkPol <3> 0 Output display enable PDSPEN is of positive polarity 1 Output display enable PDSPEN is of negative polarity VsPol <4> 0 Output VSYNC is positive polarity 1 Output VSYNC is negative polarity ABDelay <5> Delay A data so that A and B data outputs are of the same timing. Usually written as 1 for dual pixel panels. NC for single pixel panels. Please also program registers #07h and #43h accordingly for dual pixel panels. CsyncOut <6> 0 Normal HSYNC output 1 Send composite sync output from PHS pin InvOddFiled <7> For CCIR601 or square pixel video input, this bit should be written as 1 for correct interlaced odd/even field detection. In case of error, rewrite this bit as 0.
05h:
06h:
Dither control (R/W) [DITHER] Sharpness <1:0> Sharpness control 00 turn off sharpness control 01 sharpness level 1 10 sharpness level 2 (sharper than level 1) 11 sharpness level 3 (sharpest) Reserved <2> Reserved <3> Should be always 1 for optimized output. DithMode <5:4> Dither mode select 00 RGB 888 01 RGB 666 10 RGB 444 11 RGB 444 without dithering. It is recommended not to use dithering for graphics input for best sharpness. SoftTVRef <6> 0 YUV video horizontal capture start is defined by the hardware TVREF pin
November 28, 2001
38
AL300
1
Interpolation
<7>
YUV Video horizontal capture start is defined by register #20h and #21h. Note that when #20h values changes between odd and even, the output U/V may flip. #20h should stay either odd or even at all times to ensure correct U/V. When SoftTVRef is 0, register#20h<0> will be used as U/V Flip The counterpart for controlling graphic reference is defined by SoftGraRef (register #80h<6>) 0 turn on interpolation 1 turn off interpolation (duplicate pixels only)
07h:
Adjustment (R/W) [ADJUSTMENT] Reserved <7> HDEDelay <6:4> PDSPEN delay relative to output data phase Reserved <3:0> Optimized value is 00h for single pixel mode, 20h for dual pixel mode Please also program registers #05h<5>, #43h<7>, and #43h<4> accordingly for dual pixel mode.
Output Clock PLL and Zoom Ratio: The output pixel clock is generated from the input HSYNC (or with input pixel clock) relative to the ratio between the output and input display resolution. The PLL divider (PLLDIV, defined by registers #10h and 11h) has a maximum value of 2047 programmed by an 11-bit word. PLLDIV is defined by the following equation:
Vo
PLLDIV(N) =
Ho Vi Where, Ho is the total number of pixels per output line Vo is the output active lines per frame Vi is the input active lines per frame
For the best scaling quality, PLLREFDIV (defined by registers #12h and #13h) is used as a PLL reference divider. In this case, PLLREFDIV (M) should be equal to the total number of pixels per input line (Hi). If N is greater than 2047, both N and M need to be adjusted by dividing the scaling ratio by a simple integer as in the following example: Example: (N greater than 2047)
November 28, 2001
39
AL300
858 240 720 Input Display 768
1200
1024 Output Display
Vo = 768 Vi = 240 Ho = 1200 Therefore, using the equation for PLLDIV, N = 3840 which is much greater than 2047. The scaling ratio is:
N M 3840 858
Since N is greater than 2047, the scaling ratio can be divided by 2 for the best scaling quality. Dividing this ratio by 2, the scaling ratio becomes:
N M 1920 429
These scaled values are ideal for N and M. Note: Ideally, for the PLL, N should be an even integer. 10h: PLL Divider Low (R/W) [PLLDIV] PllDivL <7:0> Bits <7:0> of PLL divider number PLL Divider High (R/W) [PLLDIV] Feb2_d2 <7> Feedback Divider 2 control 0: bypass Feedback Divider 2 1: enable Feedback Divider 2. Output clock frequency is doubled when the Feedback Divider is turned on. Feb1_d2 <6> Feedback Divider 1 control 0: bypass Feedback Divider 1 1: enable Feedback Divider 1. Output clock frequency is doubled when the Feedback Divider is turned on. Out_d2 <5> Output 1-bit Divider control 0: bypass Output Divider 2 1: enable Output Divider 2. Output clock frequency is divided by 2 when the Output Divider is turned on. Pre_d2 <4> Input 1-bit Divider control 0: bypass Input Divider 2
11h:
November 28, 2001
40
AL300
PllDivH (10:8)
<2:0>
1: enable Input Divider 2. Output clock frequency is divided by 2 when the Input Divider is turned on. Bits 8~10 of the PLL divider
The value of PLLDIV is determined by subtracting from the actual target divider by 2 when internal PLL is used. For example, if the desired divider value is 840, then the value set to the related registers should be 838 = 346h. Therefore, PllDivH[2:0] should be set to 3h ("011") and PllDivL[7:0] should be set to 46h ("01000110"). However, when an external genlock PLL such as ICS9173 is used, programming registers 10h and 11h is still needed. In such applications, the PLLDIV should be the actual target divider instead of being subtracted by 2 as in the above case. Please review the AL300Programming algorithm for more details. 12h: PLL Reference Divider Low (R/W) [PLLREFDIV] PllRefDivL <7:0> Bits <7:0> of display PLL reference input divider number (Unit: 1 pixel) PLL Reference Divider High (R/W) [PLLREFDIV] PllRefDivH <2:0> Bits <10:8> of display PLL reference input divider number
13h:
Registers 14h~17h are used to define the independent horizontal and vertical scaling ratio. 14h: Horizontal Zoom Ratio Low (R/W) [HRATIO] HRatioL <7:0> Bits <7:0> of horizontal scale ratio Value valid only when register 03h<5> = 0. Horizontal Zoom Ratio High (R/W) [HRATIO] HRatioH <2:0> Bits <10:8> of horizontal scale ratio Value valid only when register 03h<5> = 0. Horizontal Zoom Ratio = (HDST x 256) / HSRC HSRC = Horizontal source capture size (register 22h) HDST = Horizontal destination active width (registers 33h and 34h) 16h: Vertical Zoom Ratio Low (R/W) [VRATIO] VRatioL <7:0> Bits <7:0> of vertical scale ratio Value valid only when register 03h<5> = 0. Vertical Zoom Ratio High (R/W) [VRATIO] VRatioH <6:0> Bits <14:8> of vertical scale ratio Value valid only when register 03h<5> = 0. Vertical Zoom Ratio = (VDST x 4096) / VSRC
15h:
17h:
November 28, 2001
41
AL300
VSRC = (output vertical active line count x output horizontal line total) / N, or (Voa x Hot) / N. This value should be very close to Vertical source active lines (register 24h, 25h, 26h and 27h), but please keep the decimal. VDST = Vertical destination active lines (registers 37h, 38h, 39h and 3Ah) Note: when vertical zoom ratio is to be changed, input capture timing, PLL divider and M/N values should also be modified. Please refer to the AL300 Programming Algorithm for detailed description. 18h: Horizontal Zoom Initial Phase (R/W) [HINITPHASE] HinitPh <7:0> Horizontal zoom scaler initial phase The purpose of phase adjustment is to optimize the scaling quality when the scaling ratio is a simple fraction such as 2/1 or 3/2. The initial interpolation phase can be 0 up to close to 1 pixel, HinitPh = (1 -Hia/2/Hoa) x 32. Please refer to the AL300 Programming Algorithm for detailed description. The vertical counterpart is defined by register #1Ah Vertical Zoom Initial Phase at Odd Field (R/W) [VINITPHASEODD] VinitPhOdd <7:0> Vertical zoom scalar initial phase for the odd field of interlaced input. Enter the same value as register 1Ah for non-interlaced input. Refer to the AL300 Programming Algorithm for more details.
19h:
1Ah:
Vertical Zoom Initial Phase (R/W) [VINITPHASE] VinitPh <7:0> Vertical zoom scalar initial phase. This is the initial phase for graphics input or even field of interlaced input. The recommended value is 20h. The horizontal zoom initial phase is defined by register #18h Panel Power Control (R/W) [GOUT] ControlEn <0> Enable panel interface control signals Gout3 <1> General purpose register for GOUT3 pin. Gout1 <2> General purpose register for GOUT1 pin. Gout2 <3> General purpose register for GOUT2 pin. The Gout bits are reserved in case additional control pins are required for specific panels. YUV444In <4> 0 YUV422 input 1 YUV444 input (Set <5>=0) CCIR601 <5> 0 CCIR601 input timing format 1 Reserved YUVOut <6> 0 RGB output 1 YUV output YUV444Out <7> 0 YUV422 output 1 YUV444 output Bits<7:4> is valid only if register #02h<0>, VideoIn is 1
1Bh:
Input timing:
November 28, 2001
42
AL300
Please refer to section 6.5 Input Video Timing for additional reference. The input timing diagram (AL30007) shows it pictorially. 20h: Horizontal Capture Start Low (R/W) [CAPHSTART] CapHStartL <7:0> Bits<7:0> of horizontal capture start position (Unit: 1 pixel) Horizontal Capture Start High (R/W) [CAPHSTART] CapHStartH <2:0> Bits <10:8> of horizontal capture start position Horizontal Capture Size (R/W) [CAPHSIZE] CapHSize <7:0> Horizontal capture size (Unit: 8 pixels) Testing (R/W) [RESETTEST] Reserved <7:0> Reserved Vertical Capture Start Low (R/W) [CAPVSTART] CapVStartH <7:0> Bits <7:0> of vertical capture start position (Unit: 1 line) Vertical Capture Start High (R/W) [CAPVSTART] CapVStartL <2:0> Bits <10:8> of vertical capture start position Vertical Capture End Low (R/W) [CAPVEND] CapVEndL <7:0> Bits <7:0> of vertical capture end position (Unit: 1 line) Vertical Capture End High (R/W) [CAPVEND] CapVEndH <2:0> Bits <10:8> of vertical capture end position
21h:
22h:
23h:
24h:
25h:
26h:
27h:
Registers #28h and #29h are used to control the delay of vertical lines between the output and the input. The counterpart for horizontal delay is controlled by the registers #3Bh and #3Ch. 28h: Vertical display Frame Start Position Low (R/W) [FRAMEVSTART] FrameVStartL <7:0> Bits <7:0> of display vertical counter start position relative to input vertical counter. (Unit: 1 line) Vertical display Frame Start Position High (R/W) [FRAMEVSTART] FrameVStartH <2:0> Bits <10:8> of display vertical counter start position relative to input vertical counter.
29h:
Output timing: Please refer to section 6.6 Output Video Timing for additional reference. The output timing diagram (AL300-08) shows it pictorially. 30h: Horizontal Total Low (R/W) [DSPHTOTAL] DspHTotalL <7:0> Bits <7:0> of display horizontal total. (Unit: 1 pixel)
November 28, 2001
43
AL300
31h:
Horizontal Total High (R/W) [DSPHTOTAL] DspHTotalH <2:0> Bits <10:8> of display horizontal total. Horizontal Sync End (R/W) [DSPHSEND] DspHsEnd <7:0> Output display horizontal sync end position (Unit: 8 pixels) Horizontal Display Start (R/W) [DSPHDESTART] DspHdeStart <7:0> Output horizontal display start (Unit: 8 pixels) Horizontal Display End (R/W) [DSPHDEEND] DspHdeEnd <7:0> Output horizontal display end (Unit: 8 pixels) Vertical Sync End (R/W) [DSPVSEND] DspVsEnd <7:0> Output display vertical sync end position (Unit: 8 line) Blink Control (R/W) [BLINKCTRL] BlinkTime <1:0> OSD blinking time constant 00 32 frames of internal reference timing per blink 01 64 frames of internal reference timing per blink 10 128 frames of internal reference timing per blink 11 256 frames of internal reference timing per blink (Refer to registers 41h, 42h, 84h<1> and 88h<1> for additional reference) BlinkType <2> 0 Blinking is defined in BlinkTime 1 No blinking, just reverse the index color Vertical Display Start Low (R/W) [DSPVDESTART] DspVdeStartL <7:0> Bits <7:0> of vertical display start position. (Unit: 1 line) Vertical Display Start High (R/W) [DSPVDESTART] DspVdeStartH <2:0> Bits <10:8> of vertical display start position. Vertical Display End Low (R/W) [DSPVDEEND] DspVdeEndL <7:0> Bits <7:0> of vertical display end position. (Unit: 1 line) Vertical Display End High (R/W) [DSPVDEEND] DspVdeEndH <2:0> Bits <10:8> of vertical display end position.
32h:
33h:
34h:
35h:
36h:
37h:
38h:
39h:
3A:
Registers #3Bh and #3Ch are used to control the delay of horizontal pixels between the output and the input. The counterpart for vertical delay is controlled by the registers #28h and #29h. 3B: Frame Head Delay Adjustment (R/W) [FRAMEDELAY] FrameDly <7:0> Output HSYNC delay adjustment relative to input HSYNC (Unit: 16 pixels) Refer to the AL300 Programming Algorithm for more details.
3C:
Frame Head Delay Adjustment for Odd Field (R/W) [FRAMEDELAYODD]
November 28, 2001
44
AL300
FrameDlyOdd <7:0> Output HSYNC delay adjustment relative to input HSYNC in odd field. (Unit: 16 pixels) For non-interlaced video, FrameDlyOdd has the same value as FrameDly. For interlaced video, FrameDlyOdd is half line more than FrameDly. Refer to the AL300 Programming Algorithm for more details.
Interrupt and internal timing: 40h: Interrupt Source (R/W) [IREQSOURCE] LineRateIreq <0> If 1, enable interrupt if line rate changes VSYNCIreq <1> If 1, enable interrupt if VSYNC comes OddFieldIreq <2> If 1, enable interrupt when odd field of input video comes To check what causes the interruption when more than one Interrupt Source is enabled, read register #65h for the status and then clear it for the next interruption. 41h: Reference H Total (R/W) [REFHTOTAL] RefHTotal <7:0> Horizontal total of internal reference timing (Unit: 8 pixels). Enabled when register 03h<7>=1 Registers #41h and #42h are used to define free running mode when input is disconnected or is undefined. This is especially useful for showing error messages with OSD. Refer to register #42h for examples. Reference V Total (R/W) [REFVTOTAL] RefVTotal <7:0> Vertical total of internal reference timing (Unit: 8 lines) Enabled when register 03h<7>=1 Register 41h and 42h are used to define free running mode when input is disconnected or is undefined. This is especially useful for showing error message with OSD. For instance, a reference clock of 14.31818 MHz is used to generate HSYNC and VSYNC with vertical frame refresh rate of 60Hz, the resulted H-total and V-total would be as follows: PANEL 640x480: 800x600: 1024x768: 1280x1024 H-total (Reg.#41h x 8) 456 376 296 216 V-total (Reg.#42h x 8) 520 632 800 1072
42h:
To correct the H-total if necessary, program the input PLL circuitry to generate correct input pixel clock rate. 43h: Output Control (R/W) [OUTPUTCONTROL] Reserved <2:0> Should be written as 000. NoBlank <3> No blanking, all data pass through; for testing only. DualOut <4> output odd/even pixels for dual pixel panels LutEn <5> Enable LUT
November 28, 2001
45
AL300
ColorOut
Replace the input video with color 3 (refer to registers #B9h, #BAh, and #BBh for additional reference) InvOutClk <7> Invert the phase of SCLK, PCLKA, and PCLKB. This bit is usually 1 for dual pixel panels. Please also program registers #05h and #07h accordingly for dual pixel panels.
<6>
65h:
Interrupt Status (R only) [IREQSTATUS] Please refer to the register 65h description in the Input Timing Measurement section, after register 64h.
Look-up Table: 48h: Red LUT write data port (R/W) [RLUTPORT] RLutPort <7:0> Red LUT write data port Green LUT write data port (R/W) [GLUTPORT] GLutPort <7:0> Green LUT write data port Blue LUT write data port (R/W) [BLUTPORT] BLutPort <7:0> Blue LUT write data port LUT write port address (R/W) [ LUTWADDR] LutWrAddr <7:0> Address of LUT wrote port
49h:
4Ah:
4Bh:
OSD RAM: 4Ch: OSD RAM address Low byte (R/W) [OSDRAMWADDR] OsdRamAddrL <7:0> Bits <7:0> of OSD RAM write address OSD RAM address high byte (R/W) [OSDRAMWADDR ] OsdRamAddrH<1:0> Bits <9:8> of OSD RAM write address OSD RAM write data port (R/W) [OSDRAMWPORT] OsdRamPort <7:0> OSD RAM write port Writing data to this register #4Eh automatically increases the OSD RAM address defined in registers #4Ch and #4Dh.
4Dh:
4Eh:
Blanking/border control: The blanking control is used as output data cropping 50h: Horizontal Blank Start Low (R/W) [HBLANKSTART] HBlankStartL <7:0> Bits <7:0> of Horizontal blank start position + 12. (Unit: 1 pixel)
November 28, 2001
46
AL300
51h:
Horizontal Blank Start High (R/W) [HBLANKSTART] HBlankStartH <2:0> Bits <10:8> of Horizontal blank start position + 12. (Unit: 1 pixel) Horizontal Blank End Low (R/W) [HBLANKEND] HBlankEndL <7:0> Bits <7:0> of Horizontal blank end position + 12. (Unit: 1 pixel) Horizontal Blank End High (R/W) [HBLANKEND] HBlankEndH <2:0> Bits <10:8> of Horizontal blank end position + 12. (Unit: 1 pixel) Vertical Blank Start Low (R/W) [VBLANKSTART] VBlankStartL <7:0> Bits <7:0> of Vertical blank start position. (Unit: 1 line) Vertical Blank Start High (R/W) [VBLANKSTART] VBlankStartH <2:0> Bits <10:8> of Vertical blank start position. (Unit: 1 line) Vertical Blank End Low (R/W) [VBLANKEND] VBlankEndL <7:0> Bits <7:0> of Vertical blank end position. (Unit: 1 line) Vertical Blank End High (R/W) [VBLANKEND] VBlankEndH <2:0> Bits <10:8> of Vertical blank end position. (Unit: 1 line)
52h:
53h:
54h:
55h:
56h:
57h:
Input Timing Measurement: 60h: Input Status (R only) [INPUTSTATUS] InHsPol <0> Input HSYNC Polarity. 0 Active low/ negative polarity 1 Active high/ positive polarity InVsPol <1> Input VSYNC polarity. 0 Active low/ negative polarity 1 Active high/ positive polarity OddFIeld <2> 1, if input is in odd field Reserved <3> InVde <4> 1, if input video is in active region OutVde <5> 1, if output video is in active region RefVs <6> 1, if refence timing is in VSYNC cycle (in free running mode) InVSYNC <7> 1, if input timing is in VYSNC cycle Input Line Rate Low (R only) [LINERATE] LineRateL <7:0> Bits <7:0> of input line rate, which is in terms of how many reference lock cycles per horizontal line. Refresh Rate = (Reference clock frequency) / (LINERATE x INVTOTAL) Reference clock is the clock from XIN pin. LINERATE is the input line rate defined in registers #61h and #62h INVTOTAL is the input vertical total line defined in registers #63h and #64h
61h:
November 28, 2001
47
AL300
62h:
Input Line Rate High (R only) [LINERATE] LineRateH <3:0> Bits <11:8> of input line rate, which is in terms of how many reference lock cycle per horizontal line. Input Vertical Line Total Low (R only) [INVTOTAL] InVTotalL <7:0> Bits <7:0> of total vertical line count of input video Refresh Rate = (Reference clock frequency) / (LINERATE x INVTOTAL) Reference clock is the clock from XIN pin. LINERATE is the input line rate defined in registers #61h and #62h INVTOTAL is the input vertical total line defined in registers #63h and #64h Input Vertical Line Total High (R only) [INVTOTAL] InVTotalH <3:0> Bits <11:8> of total vertical line count of input video Interrupt Status (R only) [IREQSTATUS] NewHSYNCRate<0> 1, if HSYNC line rate of input video changes. Reset by clearing the related bit of register #40h, then enable it if desired. NewVysnc <1> 1, if VSYNC of input video happens. Reset by clearing the related bit of register #40h, then enable it if desired. NewField <2> 1, if odd field of input video comes. Reset by clearing the related bit of register #40h, then enable it if desired. Input Horizontal Pixel Total Low (R only) [INHTOTAL] InHTotalL <7:0> Bits<7:0> of total horizontal pixel count of input video Input Horizontal Pixel Total High (R only) [INHTOTAL] InHTotalH <2:0> Bits<10:8> of total horizontal pixel count of input video The two registers can be used to reconfirm if the input pixel-total number is reasonable or as expected. For instance, an odd number may indicate that the PLL of the preceding ADC may not have worked as how it is programmed.
63h:
64h:
65h:
66h:
67h:
Automatic positioning: 70h: Horizontal Line Number for HDEST & HDEEND detection (R/W) [HLINENUMBER] HLineNumber <7:0> Horizontal line number for horizontal active start and end detection; refer to register #71h for additional reference. (Unit: 8 lines) Data Threshold (R/W) [DATATHRESHOLD] DataThreshold <6:0> Luma (brightness) threshold value. DataThreshold is used to determine whether an input pixel exists for both horizontal and vertical directions. Any pixel luma value less than this value is regarded as blank. LinePosDetect <7> 0 whole frame active data detection. 1 Single line/column active data detection.
71h:
November 28, 2001
48
AL300
When LinePosDetect is 1, the horizontal line used to detect horizontal active start and end is defined in register 70h, and the vertical column used to detect vertical active start and end is defined in register 79h. Values of register #72h~#75h reflect the detected input active pixels start/end positions or the GHREF signal star/end positions, depending on the status of register #82h<7:6>. 72h: Horizontal Active Start Low (R only) [HDESTART] HDEStartL <7:0> Bits <7:0> of detected horizontal active start pixel position. (Unit: 1 pixel) Horizontal Active Start High (R only) [HDESTART] HDEStartH <2:0> Bits <10:8> of detected horizontal active start pixel position. Horizontal Active End Low (R only) [HDEEND] HDEEndL <7:0> Bits <7:0> of detected horizontal active end pixel position (Unit: 1 pixel) Horizontal Active End High (R only) [HDEEND] HDEEndH <2:0> Bits <10:8> of detected horizontal active end pixel position. Vertical Column for VDESTART & VDEEND detection (R/W) [VCOLUMN] VColumn <7:0> Vertical column number for vertical active start and end detection; refer to register #71h for additional reference. (Unit: 8 pixels) Vertical Active Start Low (R only) [VDESTART] VDEStartL <7:0> Bits <7:0> of detected vertical active start line (Unit: 1 line) Vertical Active Start High (R only) [VDESTART] VDEStartH <2:0> Bits <10:8> of detected vertical active start line Vertical Active End Low (R only) [VDEEND] VDEEndL <7:0> Bits <7:0> of detected vertical active end line (Unit: 1 line) Vertical Active End High (R only) [VDEEND] VDEEndH <2:0> Bits <10:8> of detected vertical active end line
73h:
74h:
75h:
79h:
7Ah:
7Bh:
7Ch:
7Dh:
OSD Control: 80h: OSD Modes (R/W) [OSDMODE] RomMode <0> Enable ROM mode 0 Internal RAM mode 1 External ROM mode This bit should be 0 when OSD1 and OSD2 are both disabled. BypassHPos <5> 0 The output horizontal start/end position is defined by register #33h & #34h, which resolution is 8-pixel. 1 the output horizontal start/end position is defined by registers #20h~22h
November 28, 2001
49
AL300
SoftGraRef
<6>
0
Graphic horizontal capture start is defined by the hardware GHREF pin 1 Graphic horizontal capture start is defined by register #20h and #21h. The counterpart for controlling graphic reference is defined by SoftTVRef (register #06h<6>)
81h:
Logic Operation (R/W) [FOREOP] Color0Op <1:0> Logic operation between color 0 and video 00 NOP show only OSD 01 OR video or color 0 10 AND video and color 0 11 XOR video xor color 0 Color1Op <3:2> Logic operation between color 1 and video 00 NOP show only OSD 01 OR video or color 1 10 AND video and color 1 11 XOR video xor color 1 Color2Op <5:4> Logic operation between color 2 and video 00 NOP show only OSD 01 OR video or color 2 10 AND video and color 2 11 XOR video xor color 2 Color3Op <7:6> Logic operation between color 3 and video 00 NOP show only OSD 01 OR video or color 3 10 AND video and color 3 11 XOR video xor color 3 Color 0, 1, 2 and 3 are defined in registers B0h ~ BBh. Fading Alpha Value (R/W) [FADEALPHA] FadeAlpha <5:0> The alpha factor for fading effect ranging from 00h to 20h, i.e., there is 33level of fade-in/fade-out effect. Output = input * alpha + OSD * (1 - (alpha/32)) 000000 - minimum alpha value. Show only OSD. 100000 - maximum alpha value. Show only video GHREFPol <7:6> 00 Auto positioning registers #72h~#75h controlled by hardware internal detection. 01 Reserved 10 Auto positioning registers #72h~#75h controlled by GHREF pin, if GHREF is active high. 11 Auto positioning registers #72h~#75h controlled by GHREF pin, if GHREF is active low.
82h:
On Screen Display 1 Registers: 84h: OSD1 Control (R/W) [OSDCONTROL1] PixDepth1 <0> Number of bits per pixel of On Screen Display (OSD) 1
November 28, 2001
50
AL300
BlinkEn1
HZoom1
VZoom1
Font2Byte1
OsdEn1
0 One bit per pixel 1 Two bits per pixel <1> OSD1 blinking enable, effective only when RomMode = `1'. 0 Disable blinking 1 Enable blinking <3:2> OSD1 horizontal zoom factor 00 OSD pixel H size equals to 1X of video pixel 01 OSD pixel H size equals to 2X of video pixel 10 OSD pixel H size equals to 4X of video pixel 11 OSD pixel H size equals to 8X of video pixel <5:4> OSD1 vertical zoom factor 00 OSD line V size equals to 1X of video line 01 OSD line V size equals to 2X of video line 10 OSD line V size equals to 4X of video line 11 OSD line V size equals to 8X of video line <6> Two-byte font charter code mode, effective only when RomMode = `1' 0 One-byte character code mode 1 Two-byte character code mode Please refer to OSD data addressing in ROM mode diagram (AL300-11) <7> On Screen Display (OSD) 1 enable 0 Disable OSD1; 80h<0> should be 0 when OSD1 and OSD2 are both disabled. 1 Enable OSD1
85h:
OSD1 ROM Start Address (R/W) [ROMSTARTADDR1] RomStAddr1H <7:0> Bits<11:4> of OSD1 ROM start address (Unit: 16 bytes) Bits<3:0> of OSD1 ROM start address is defined in register #86h<3:0> OSD1 ROM start address = RomStAddr1H * 256 + RomStAddr1L * 16 OSD1 Font Address Unit (R/W) [FONTADDRUNIT1] FontAddrUnit1 <7:4> OSD1 font address unit 0000 font address is multiple of 25 bytes 0001 font address is multiple of 26 bytes 0010 font address is multiple of 27 bytes 0011 font address is multiple of 28 bytes 0100 font address is multiple of 29 bytes 0101 font address is multiple of 210 bytes 0110 font address is multiple of 211 bytes 0111 font address is multiple of 212 bytes 1000 font address is multiple of 213 bytes 1001 font address is multiple of 214 bytes 1010 font address is multiple of 215 bytes 1011 font address is multiple of 216 bytes RomStAddr1L <3:0> Bits<3:0> OSD1 ROM start address (Unit: 16 bytes) Font address = (Character Code) * (Font Address Unit) + (OSD1 ROM Start Address) `Character Code' is the data retrieved from internal OSD RAM.
86h:
November 28, 2001
51
AL300
`Font Address Unit' is defined in register #86h. `OSD1 ROM Start Address' is defined in registers #85h and #86h.
90h:
OSD1 Horizontal Start (R/W) [OSDHSTART1] OsdHStart1 <7:0> On Screen Display horizontal start position (Unit: 8 video pixels) Relative to display HSYNC start Please also refer to OSD screen timing diagram (AL300-15) for additional reference. OSD1 Vertical Start (R/W) [OSDVSTART1] OsdVStart1 <7:0> On Screen Display vertical start position (Unit: 8 video lines) Relative to display VSYNC start Please also refer to OSD screen timing diagram (AL300-15) for additional reference. OSD1 RAM Start Address (R/W) [RAMADDRST1] RamAddrSt1 <7:0> OSD1 RAM start address (Unit: 4 or 8 bytes) OSD1 RAM Start Address = 1. Register 92h<7:0> * 4, if register 84h<6> = 0 2. Register 92h<7:0> * 8, if register 84h<6> = 1 AL300 has built in 1K Byte RAM In RAM mode (register 80h<0> = 0): RAM start address defines the start address of stored internal OSD RAM bitmap. In ROM mode (register 80h<0> = 1): RAM start address defines the start address of OSD ROM font character codes retrieved from internal OSD RAM. font address = (Character Code) * (Font Address Unit) + (OSD1 ROM Start Address) `Character Code' is the data retrieved from internal OSD RAM. `Font Address Unit' is defined in register #86h. `OSD1 ROM Start Address' is defined in register #85h. OSD1 RAM Horizontal Stride Low (R/W) [RAMSTRIDE1] RamStride1L <7:0> Bits<7:0> of OSD1 RAM line stride (Unit: 1 bytes) In RAM mode (register 80h<0> = 0): RAM horizontal stride defines the number of bytes occupied in internal OSD RAM for each OSD bitmap line. Total bitmap bytes stored in OSD RAM: `RAM Horizontal Stride' x `Bitmap Vertical Size' (bytes) where `RAM Horizontal Stride' is defined by register #8Bh and #93h. `Bitmap Vertical Size' is defined by register #98h and #99h. In ROM mode (register 80h<0> = 1): RAM horizontal stride defines the total bytes occupied in internal OSD RAM for each OSD text row. Total character code bytes stored in OSD RAM: `RAM Horizontal Stride' x `Icon Vertical Total' (bytes) Total character code bytes retrieved in OSD RAM: `Icon Horizontal Total' x `Icon Vertical Total' x `Character code size' (bytes)
91h:
92h:
93h:
November 28, 2001
52
AL300
Where `RAM Horizontal Stride' is defined in register #8Bh and #93h. `Icon Horizontal Total' is defined in register #9Ch. `Icon Vertical Total' is defined in register #9Dh. `Character Code Size' is defined in register #84h<6>. 8Bh: OSD1 RAM Horizontal Stride High (R/W) [RAMSTRIDE1] RamStride1H <1:0> Bits <9:8> of OSD1 RAM line stride (Unit: 1 bytes) The lower byte is defined by register #93h. OSD1 Bitmap Horizontal Size Low (R/W) [BMAPHSIZE1] BMAPHSIZE1 = Actual Bitmap Horizontal Size - 1 BmapHSize1L <7:0> Bits<7:0> of OSD1 horizontal bitmap size (Unit: 1 OSD pixel) Value of (`Bitmap Horizontal Total' - `Bitmap Horizontal Size') defines the extra gap between each character shown on OSD screen. `Bitmap Horizontal Size' is defined by register #94h and #95h. `Bitmap Horizontal Total' is defined by register #96h and #97h. Please refer to OSD screen timing diagram (AL300-15) for additional reference. OSD1 Bitmap Horizontal Size High (R/W) [BMAPHSIZE1] BMAPHSIZE1 = Actual Bitmap Horizontal Size - 1 BmapHSize1H <1:0> Bits<9:8> of OSD1 bitmap horizontal size The lower byte is defined by register #94h. OSD1 Bitmap Horizontal Total Pixels Low (R/W) [BMAPHTOTAL1] BMAPHTOTAL1 = Actual Bitmap Horizontal total - 1 BmapHTotal1L <7:0> Bits<7:0> of OSD1 bitmap horizontal total (Unit: 1 OSD pixel) Value of (`Bitmap Horizontal Total' - `Bitmap Horizontal Size') defines the extra gap between each character shown on OSD screen. `Bitmap Horizontal Size' is defined by register 94h and 95h. `Bitmap Horizontal Total' is defined by register 96h and 97h. Please refer to OSD screen timing diagram (AL300-15) for additional reference. OSD1 Bitmap Horizontal Total Pixels High (R/W) [BMAPHTOTAL1] BMAPHTOTAL1 = Actual Bitmap Horizontal Total - 1 BmapHTotal1H <1:0> Bits<9:8> of OSD1 bitmap horizontal total The lower byte is defined by register #96h. OSD1 Bitmap Vertical Size Low (R/W) [BMAPVSIZE1] BMAPVSIZE1 = Actual Bitmap Vertical Size - 1 BmapVSize1L <7:0> Bits<7:0> of OSD1 bitmap vertical size (Unit: 1 OSD line) Value of (`Bitmap Vertical Total' - `Bitmap Vertical Size') defines the extra line(s) between each text row shown on OSD screen. `Bitmap Vertical Size' is defined by register #98h and #99h. `Bitmap Vertical Total' is defined by register #9Ah and #9Bh. Please refer to OSD screen timing diagram (AL300-15) for additional reference.
94h:
95h:
96h:
97h:
98h:
November 28, 2001
53
AL300
99h:
OSD1 Bitmap Vertical Size High (R/W) [BMAPVSIZE1] BMAPVSIZE1 = Actual Bitmap Vertical Size - 1 BmapVSize1H <1:0> Bits<9:8> of OSD1 bitmap vertical size The lower byte is defined by register #98h. OSD1 Bitmap Vertical total Lines Low (R/W) [BMAPVTOTAL1] BMAPVTOTAL1 = Actual Bitmap Vertical Total - 1 BmapVTotal1L <7:0> Bits<7:0> of OSD1 bitmap vertical total (Unit: 1 OSD line) Value of (`Bitmap Vertical Total' - `Bitmap Vertical Size') defines the extra line(s) between each text row shown on OSD screen. `Bitmap Vertical Size' is defined by register #98h and #99h. `Bitmap Vertical Total' is defined by register #9Ah and #9Bh. Please refer to OSD screen timing diagram (AL300-15) for additional reference. OSD1 Bitmap Vertical Total Lines High (R/W) [BMAPVTOTAL1] BMAPVTOTAL1 = Actual Bitmap Vertical Total - 1 BmapVTotal1H <1:0> Bits<9:8> of OSD1 bitmap vertical total The lower byte is defined by register #9Ah. OSD1 Icon Horizontal Total (R/W) [ICONHTOTAL1] ICONHTOTAL1 = actual icon horizontal total - 1 IconHtotal1 <7:0> OSD1 horizontal icon total (Unit: 1 icon) Icon Horizontal total defines how many character codes should be retrieved from internal OSD RAM and shown on OSD screen per OSD line. Total character code bytes stored in OSD RAM: `RAM Horizontal Stride' x `Icon Vertical Total' (bytes) Total character code bytes retrieved in OSD RAM: `Icon Horizontal Total' x `Icon Vertical Total' x `Character Code Size' (bytes) Where `RAM Horizontal Stride' is defined by register #8Bh and #93h. `Icon Horizontal Total' is defined by register #9Ch. `Icon Vertical Total' is defined by register #9Dh. `Character Code Size' is defined by register #84h<6>. Please refer to OSD screen timing diagram (AL300-15) for additional reference. OSD1 Icon Vertical Total (R/W) [ICONVTOTAL1] ICONVTOTAL1 = actual vertical icon total - 1 IconVTotal1 <7:0> OSD1 vertical icon total (Unit: 1 icon) Icon vertical total defines how many text rows shown on OSD screen. Total character code bytes stored in OSD RAM: `RAM Horizontal Stride' x `Icon Vertical Total' (bytes) Total character code bytes retrieved in OSD RAM: `Icon Horizontal Total' x `Icon Vertical Total' x `Character code size' (bytes) Where `RAM Horizontal Stride' is defined by register #8Bh and #93h. `Icon Horizontal Total' is defined by register #9Ch.
9Ah:
9Bh:
9Ch:
9Dh:
November 28, 2001
54
AL300
`Icon Vertical Total' is defined by register #9Dh. `Character Code Size' is defined by register #84h<6>. Please refer to OSD screen timing diagram (AL300-15) for additional reference. AEh: OSD1 Font Line Size (R/W) [FONTLINESIZE1] Fontlinesize1 <7:0> memory size of a line of font (Unit: 1 byte) Registers #94h and #95h define the size by bits, but #AEh defines it by bytes.
On Screen Display 2 Registers: 88h: OSD2 Control (R/W) [OSDCONTROL2] PixDepth2 <0> Number of bits per pixel of On Screen Display (OSD) 2 0 One bit per pixel 1 Two bits per pixel BlinkEn2 <1> OSD2 blinking enable, effective only when RomMode = `1'. 0 Disable blinking 1 Enable blinking HZoom2 <3:2> OSD2 horizontal zoom factor 00 OSD pixel H size equals to 1X of video pixel 01 OSD pixel H size equals to 2X of video pixel 10 OSD pixel H size equals to 4X of video pixel 11 OSD pixel H size equals to 8X of video pixel VZoom2 <5:4> OSD2 vertical zoom factor 00 OSD line V size equals to 1X of video line 01 OSD line V size equals to 2X of video line 10 OSD line V size equals to 4X of video line 11 OSD line V size equals to 8X of video line Font2Byte2 <6> Two-byte font charter code mode, effective only when RomMode = `1' 0 One-byte character code mode 1 Two-byte character code mode Please refer OSD data addressing in ROM mode diagram (AL300-11) OsdEn2 <7> On Screen Display (OSD) 2 enable 0 Disable OSD2; 80h<0> should be 0 when OSD1 and OSD2 are both disabled. 1 Enable OSD2 OSD2 ROM Start Address (R/W) [ROMSTARTADDR2] RomStAddr2H <7:0> Bits<11:4> of OSD2 ROM start address (Unit: 16 bytes) Bits<3:0> of OSD2 ROM start address is defined in register #8Ah<3:0> OSD1 ROM start address = RomStAddr1H * 256 + RomStAddr1L * 16 OSD2 Font Address Unit (R/W) [FONTAADDRUNIT2] FontAddrUnit2 <7:4> OSD2 font address unit 0000 font address is multiple of 25 bytes 0001 font address is multiple of 26 bytes
89h:
8Ah:
November 28, 2001
55
AL300
0010 font address is multiple of 27 bytes 0011 font address is multiple of 28 bytes 0100 font address is multiple of 29 bytes 0101 font address is multiple of 210 bytes 0110 font address is multiple of 211 bytes 0111 font address is multiple of 212 bytes 1000 font address is multiple of 213 bytes 1001 font address is multiple of 214 bytes 1010 font address is multiple of 215 bytes 1011 font address is multiple of 216 bytes RomStAddr2L <3:0> Bits<3:0> OSD2 ROM start address (Unit: 16 bytes) Font address = (Character Code) * (Font Address Unit) + (OSD2 ROM Start Address) `Character Code' is the data retrieved from internal OSD RAM. `Font Address Unit' is defined by register #8Ah. `OSD2 ROM Start Address' is defined by register #89h and #8Ah. A0h: OSD2 Horizontal Start (R/W) [OSDHSTART2] OsdHStart2 <7:0> On Screen Display horizontal start position (Unit: 8 video pixels) Relative to display HSYNC start Please refer to OSD screen timing diagram (AL300-15) for additional reference. OSD2 Vertical Start (R/W) [OSDVSTART2] OsdVStart2 <7:0> On Screen Display vertical start position (Unit: 8 video lines) Relative to display VSYNC start Please refer to OSD screen timing diagram (AL300-15) for additional reference. OSD2 RAM Start Address (R/W) [RAMADDRST2] RamAddrSt2 <7:0> OSD2 RAM start address (Unit: 4 or 8 bytes) OSD2 RAM Start Address = 1. Register A2h<7:0> * 4, if register 88h<6> = 0 2. Register A2h<7:0> * 8, if register 88h<6> = 1 AL300 has built in 1K Byte RAM In RAM mode (register 80h<0> = 0): RAM start address defines the start address of stored internal OSD RAM bitmap. In ROM mode (register 80h<0> = 1): RAM start address defines the start address of OSD ROM font character codes retrieved from internal OSD RAM. font address = (Character Code) * (Font Address Unit) + (OSD2 ROM Start Address) Where `Character Code' is the data retrieved from internal OSD RAM. `Font Address Unit' is defined by register #8Ah. `OSD2 ROM Start Address' is defined by register #89h. OSD2 RAM Horizontal Stride Low (R/W) [RAMSTRIDE2] RamStride2L <7:0> Bits<7:0> of OSD2 RAM line stride (Unit: 1 bytes) In RAM mode (register 80h<0> = 0):
A1h:
A2h:
A3h:
November 28, 2001
56
AL300
RAM horizontal stride defines the amount of bytes occupied in internal OSD RAM for each OSD bitmap line. Total bitmap bytes stored in OSD RAM: `RAM Horizontal Stride' x `Bitmap Vertical Size' (bytes) Where `RAM Horizontal Stride' is defined by registers #8Ch and #A3h. `Bitmap Vertical Size' is defined by registers #A8h and #A9h. In ROM mode (register 80h<0> = 1): RAM horizontal stride defines the total bytes occupied in internal OSD RAM for each OSD text row. Total character code bytes stored in OSD RAM: `RAM Horizontal Stride' x `Icon Vertical Total' (bytes) Total character code bytes retrieved in OSD RAM: `Icon Horizontal Total' x `Icon Vertical Total' x `Character code size' (bytes) Where `RAM Horizontal Stride' is defined by register #8Bh and #93h. `Icon Horizontal Total' is defined by register #9Ch. `Icon Vertical Total' is defined by register #9Dh. `Character Code Size' is defined by register #84h<6>. Please refer to OSD screen timing diagram (AL300-15) for additional reference. 8Ch: OSD2 RAM Horizontal Stride High (R/W) [RAMSTRIDE2] RamStride2H <1:0> Bits<9:8> of OSD2 RAM line stride (Unit: 1 bytes) Refer to register #A3h for additional reference. OSD2 Bitmap Horizontal Size Low (R/W) [BMAPHSIZE2] BMAPHSIZE2 = Actual Bitmap Horizontal Size - 1 BmapHSize2L <7:0> Bits<7:0> of OSD2 horizontal bitmap size (Unit: 1 OSD pixel) Value of (`Bitmap Horizontal Total' - `Bitmap Horizontal Size') defines the extra gap between each character shown on OSD screen. `Bitmap Horizontal Size' is defined by registers #A4h and #A5h. `Bitmap Horizontal Total' is defined by registers #A6h and #A7h. Please refer to OSD screen timing diagram (AL300-15) for additional reference. OSD2 Bitmap Horizontal Size High (R/W) [BMAPHSIZE2] BMAPHSIZE2 = Actual Bitmap Horizontal Size - 1 BmapHSize2H <1:0> Bits<9:8> of OSD2 bitmap horizontal size The lower byte is defined by register #A4h. OSD2 Bitmap Horizontal Total Pixels Low (R/W) [BMAPHTOTAL2] BMAPHTOTAL2 = Actual Bitmap Horizontal total - 1 BmapHTotal2L <7:0> Bits<7:0> of OSD2 bitmap horizontal total (Unit: 1 OSD pixel) Value of (`Bitmap Horizontal Total' - `Bitmap Horizontal Size') defines the extra gap between each character shown on OSD screen. `Bitmap Horizontal Size' is defined by registers #A4h and #A5h. `Bitmap Horizontal Total' is defined by registers #A6h and #A7h.
A4h:
A5h:
A6h:
November 28, 2001
57
AL300
Please refer to OSD screen timing diagram (AL300-15) for additional reference. A7h: OSD2 Bitmap Horizontal Total Pixels High (R/W) [BMAPHTOTAL2] BMAPHTOTAL2 = Actual Bitmap Horizontal Total - 1 BmapHTotal2H <1:0> Bits<9:8> of OSD2 bitmap horizontal total The lower byte is defined by register #A6h. OSD2 Bitmap Vertical Size Low (R/W) [BMAPVSIZE2] BMAPVSIZE2 = Actual Bitmap Vertical Size - 1 BmapVSize2L <7:0> Bits<7:0> of OSD1 bitmap vertical size (Unit: 1 OSD line) Value of (`Bitmap Vertical Total' - `Bitmap Vertical Size') defines the extra line(s) between each text row shown on OSD screen. `Bitmap Vertical Size' is defined by registers #A8h and #A9h. `Bitmap Vertical Total' is defined by registers #AAh and #ABh. Please refer to OSD screen timing diagram (AL300-15) for additional reference. OSD2 Bitmap Vertical Size High (R/W) [BMAPVSIZE2] BMAPVSIZE2 = Actual Bitmap Vertical Size - 1 BmapVSize2H <1:0> Bits<9:8> of OSD2 bitmap vertical size The lower byte is defined by register #A8h.
A8h:
A9h:
AAh: OSD2 Bitmap Vertical total Lines Low (R/W) [BMAPVTOTAL2] BMAPVTOTAL2 = Actual Bitmap Vertical Total - 1 BmapVTotal2L <7:0> Bits<7:0> of OSD2 bitmap vertical total (Unit: 1 OSD line) Value of (`Bitmap Vertical Total' - `Bitmap Vertical Size') defines the extra line(s) between each text row shown on OSD screen. `Bitmap Vertical Size' is defined by registers #A8h and #A9h. `Bitmap Vertical Total' is defined by registers #AAh and #ABh. Please refer to OSD screen timing diagram (AL300-15) for additional reference. ABh: OSD2 Bitmap Vertical Total Lines High (R/W) [BMAPVTOTAL2] BMAPVTOTAL2 = Actual Bitmap Vertical Total - 1 BmapVTotal2H <1:0> Bits<9:8> of OSD2 bitmap vertical total The lower byte is defined by register #AAh. ACh: OSD2 Icon Horizontal Total (R/W) [ICONHTOTAL2] ICONHTOTAL2 = actual icon horizontal total - 1 IconHTotal2 <7:0> OSD1 horizontal icon total (Unit: 1 icon) Icon Horizontal total defines how many character codes should be retrieved from internal OSD RAM and shown on OSD screen per OSD line. Total character code bytes stored in OSD RAM: `RAM Horizontal Stride' x `Icon Vertical Total' (bytes) Total character code bytes retrieved in OSD RAM: `Icon Horizontal Total' x `Icon Vertical Total' x `Character code size' (bytes) Where `RAM Horizontal Stride' is defined by registers #8Ch and #A3h. `Icon Horizontal Total' is defined by register #ACh.
November 28, 2001
58
AL300
`Icon Vertical Total' is defined by register #ADh. `Character Code Size' is defined by register #88h<6>. Please refer to OSD screen timing diagram (AL300-15) for additional reference. ADh: OSD2 Icon Vertical Total (R/W) [ICONVTOTAL2] ICONVTOTAL2 = actual vertical icon total - 1 IconVTotal2 <7:0> OSD2 vertical icon total (Unit: 1 icon) Icon vertical total defines how many text rows shown on OSD screen. Total character code bytes stored in OSD RAM: `RAM Horizontal Stride' x `Icon Vertical Total' (bytes) Total character code bytes retrieved in OSD RAM: `Icon Horizontal Total' x `Icon Vertical Total' x `Character code size' (bytes) Where `RAM Horizontal Stride' is defined by registers #8Ch and #A3h. `Icon Horizontal Total' is defined by register #ACh. `Icon Vertical Total' is defined by register #ADh. `Character Code Size' is defined by register #88h<6>. Please refer to OSD screen timing diagram (AL300-15) for additional reference. AFh: OSD2 Font Line Size (R/W) [FONTLINESIZE2] Fontlinesize2 <7:0> memory size of a line of font (Unit: 1 byte) Please refer to OSD screen timing diagram (AL300-15) for additional reference. On Screen Display Color Registers: Color 0 is the color of pixel with value: `0' when in 1-bit/2-color mode or "00" when in 2-bit/4-color mode. Color 1 is the color of pixel with value: `1' when in 1-bit/ 2-color mode or "01" when in 2-bit/4-color mode. Color 2 is the color of pixel with value "10" when in 2-bit, 4-color mode. Color 3 is the color of pixel with value "11" when in 2-bit, 4-color mode. B0h: Color 0 Red (R/W) [COLOR0RED] Color0Red <7:0> Color 0 Red Component Color 0 Green (R/W) [COLOR0GREEN] Color0Green <7:0> Color 0 Green Component Color 0 Blue (R/W) [COLOR0BLUE] Color0Blue <7:0> Color 0 Blue Component Color 1 Red (R/W) [COLOR1RED] Color1Red <7:0> Color 1 Red Component Color 1 Green (R/W) [COLOR1GREEN]
B1h:
B2h:
B3h:
B4h:
November 28, 2001
59
AL300
Color1Green B5h:
<7:0> Color 1 Green Component
Color 1 Blue (R/W) [COLOR1BLUE] Color1Blue <7:0> Color 1 Blue Component Color 2 Red (R/W) [COLOR2RED] Color2Red <7:0> Color 2 Red Component Color 2 Green (R/W) [COLOR2GREEN] Color2Green <7:0> Color 2 Green Component Color 2 Blue (R/W) [COLOR2BLUE] Color2Blue <7:0> Color 2 Blue Component Color 3 Red (R/W) [COLOR3RED] Color3Red <7:0> Color 3 Red Component
B6h:
B7h:
B8h:
B9h:
BAh: Color 3 Green (R/W) [COLOR3GREEN] Color3Green <7:0> Color 3 Green Component BBh: Color 3 Blue (R/W) [COLOR3BLUE] Color3Blue <7:0> Color 3 Blue Component
November 28, 2001
60
AL300
8.2 Programming Flowchart
1. Wait until AL300 stablizes by checking if Reg.#00h=46h 2. Set Reg.#40h=07h to force interrupt 3. Initialize Video decoder if necessary
Interrup? (check Reg.#65h or mode change) Yes Disable LCD panel output Set Reg#40h = 00h to clear interrupt
No
Input stable? (check Reg.#61h~64h) Yes Video/Graphic input exists? (check Reg.#61h~64h) Yes
No
No
1. Set reference timing (Reg#03h<7>, 41h & 42h) 2. Set up OSD for warning
Define proper values for input/output timing based on input signals: - Read VTOTAL(Reg.#63h,64h) and LINERATE(Reg.#61h,62h) -Read predefined input/output timing values in EEPROM or do auto-positioning detection(Reg.#70h~7Dh)
- Set input timing registers (Reg.#20h~22h, 24h~29h) - Set output timing registers (Reg.#30h~35h, 37h~3Ah) - Set zooming/phase/delay registers (Reg.#14h~1Ah, 3Bh and 3Ch) - Program ADC or decoder if necessary - Program output PLL (Reg.#10h~13h)
Adjust clock phase of the ADC (AL875) to minimize jitters if necessary
Wait until output display is stable (delay for 100 mS)
Enable LCD panel output Set Reg.#40h = 01h to enable interrupt
AL300-25 Programming Flowchart_ver B
November 28, 2001
61
AL300
9.0 Mechanical Drawing
AL300: 28mm x 28mm 160-pin 0.65-pitch PQFP package
November 28, 2001
62
AL300
10.0 Power Consumption
The AL300 works at single 3.3V power. The following table shows the current consumption of the AL300 (with output buffers to the panel) at different operating frequencies and supply voltages. Output frequency AL300@3.3V AL300@3.3V AL300@3.3V AL300@3.3V Power down 110MHz 70MHz 50MHz 30MHz Current consumption 135 mA (typ.) 95 mA (typ.) 75 mA (typ.) 55 mA (typ.) 5 mA (typ.)
The current consumption may be somewhat higher when the output of the AL300 drives a panel directly. For more information about the AL300 or other AverLogic products, please contact your local authorized representatives, visit our website, or contact us directly.
November 28, 2001
63
CONTACT INFORMATION
AverLogic Technologies, Inc. 6840 Via Del Oro Suite 160 San Jose, CA 95119 USA
Tel Fax E-mail URL
: 1 408 361-0400 : 1 408 361-0404 : sales@averlogic.com : www.averlogic.com


▲Up To Search▲   

 
Price & Availability of AL300

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X