![]() |
|
If you can't view the Datasheet, Please click here to try to view without PDF Reader . |
|
Datasheet File OCR Text: |
(R) ADE3700 Analog LCD Display Engine for XGA and SXGA Resolutions TARGET SPECIFICATION Feature Overview s Programmable Context SensitiveTM Scaling s High-quality Up-scaling and Down-scaling s Integrated 9-bit ADC/PLL s IQSyncTM AutoSetup s Integrated programmable Timing Controller s Integrated Pattern Generator s Perfect PictureTM Technology s sRGB 3D Color Warp s Integrated OSD s Advanced EMI reduction features s Framelock operation with Safety ModeTM s Serial IC interface s Low power 0.18 m process technology General Description ADE3700 devices are a family of highly-integrated display engine ICs, enabling the most advanced, flexible, and cost-effective system-on-chip solutions for analog-only input LCD display applications. The ADE3700 covers the full range of XGA and SXGA analog-only applications including Smart Panel designs. The ADE3700 family is pin-to-pin compatible and comes in a low-cost, 128-pin LQFP package. ADE3700 devices use the same software platform and are backward-compatible with the previous generation of ADE3xxx Scaling Engines. Microcontroller IC Line-Lock PLL On-Screen Display Engine Firmware ROM Pattern Generator Analog RGB Video Signals Triple 9-bit ADC Fast and accurate adjustments of: *Phase *Position *Level *Clock Interlace Mode Detection IQ ScalingTM Engine with Context SensitiveTM Filtering EMI Reduction * Per Pin Delay * Slew Rate Control * Spread Spectrum * Data Inversion ADE 3700 Programmable Timing Controller (TCON) 30-bit Programmable Gamma Table RSDS LVCMOS Programmable Output Formatter To TFT LCD Panel sRGB 3D Color Warp Temporal & Spatial Dithering LCD Scaler Product Selector Output Format Support Product Package Resolution ADE3700X ADE3700XT ADE3700SX 128 LQFP 128 LQFP 128 LQFP Up to XGA 75 Hz Up to XGA 75 Hz Up to SXGA 75 Hz Yes Input Interface Support Analog Yes Yes Yes TCON DVI YUV October 2003 This is preliminary information on a new product forseen to be developed. Details are subject to change without notice. 1/89 ADE3700 Third Generation Context SensitiveTM Scaler q q OSD Engine q q q Sharper text with Edge Enhancement RAM based coefficients for unique customization 5:1 Upscale and 2:1 Downscale Independent X - Y axis zoom and shrink 256 RAM based 12x18 characters 1- and 4-bit per pixel color characters Bordering, shadowing, transparency, fade-in, and fade-out effects Supports font rotation Up to 4 sub windows 32-entry TrueColor LUT q q q q q Analog RGB input q q q 140 MHz 9-bit ADC Ultra low jitter digital Line Lock PLL Composite Sync and Sync on Green support Programmable Timing Controller (TCON) q IQsyncTM AutoSetup q Highly programmable support for XGA SmartPanels Dual-function LVCMOS and RSDS outputs Supports 18-, 24-, 36-, and 48-bit RSDS outputs Advanced Flicker Detection and Reduction 12 programmable timing signals for row/ column control Wide range of drivers & TCON compatibility Simulation tools for easy programming Supports complex polarity generation for IPS panels AutoSetup configures phase, clock, level, and position Supports continuous calibration for reduced user intervention Automatically detects activity on input Compatible with all standard VESA and GTF modes q q q q q q q q q q Perfect PictureTM Technology q q Programmable 3D Color Warp Digital brightness, contrast, hue, and saturation gamma controls for all inputs Simple white point control Compatible with sRGB standard Video & Picture windowing Supports up to 7 different windows Independent window controls for contrast brightness, saturation, hue and gamma Advanced EMI Reduction Features q q q q q q Flexible data inversion / transition minimization, single, dual, and separate Per pin delay, 0 to 6ns in 0.4ns increments Adaptive Slew Rate control outputs Differential clock Spread spectrum -programmable digital FM modulation of the output clock with no external components q q q q Perfect ColorTM Technology q q q True color dithering for 12- and 18-bit panels Temporal and spatial dithering 30-bit programmable gamma table Output Format q q q Supports resolutions up to SXGA @ 75Hz Supports 6- or 8-bit Panels Supports double or single pixel wide formats 2/89 ADE3700 Table of Contents Chapter 1 1.1 General Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5 Pin Descriptions .................................................................................................................. 7 Chapter 2 2.1 2.2 2.3 2.4 2.5 2.6 2.7 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11 Global Control .................................................................................................................... 11 FM Frequency Synthesizer ................................................................................................ 16 Analog-to-Digital Converter (ADC) ..................................................................................... 17 Line Lock PLL .................................................................................................................... 18 Sync Retiming (SRT) ......................................................................................................... 23 Sync Measurement ............................................................................................................ 25 Sync Multiplexer (SMUX) ................................................................................................... 32 2.7.1 2.7.2 Functional Description .......................................................................................................................33 Example .............................................................................................................................................34 2.8 2.9 Data Multiplexer ................................................................................................................. 37 Data Measurement (DMEAS) ............................................................................................ 38 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 Edge Intensity ....................................................................................................................................38 Pixel Sum ...........................................................................................................................................38 Minimum/Maximum Pixel ...................................................................................................................38 Pixel Cumulative Distribution (PCD) ..................................................................................................39 Horizontal Position .............................................................................................................................39 Vertical Position .................................................................................................................................39 DE Size ..............................................................................................................................................40 2.10 2.11 LCD Scaler ......................................................................................................................... 42 Output Sequencer .............................................................................................................. 45 2.11.1 2.11.2 2.11.3 Frame Synchronization ......................................................................................................................45 Timing Unit .........................................................................................................................................45 Signal Generation ..............................................................................................................................45 2.12 2.13 Timing Controller (TCON) .................................................................................................. 48 Pattern Generator .............................................................................................................. 54 2.13.1 2.13.2 2.13.3 Screen Split .......................................................................................................................................54 Pattern Engine ...................................................................................................................................55 Borders ..............................................................................................................................................55 2.14 sRGB .................................................................................................................................. 60 2.14.1 2.14.2 Parametric Gamma, Digital Contrast / Brightness on Multiple Windows ...........................................60 Color Space Warp ..............................................................................................................................60 2.15 2.16 On-Screen Display (OSD) .................................................................................................. 62 2.15.1 OSD Access via I2C ..........................................................................................................................62 Flicker ................................................................................................................................. 68 3/89 ADE3700 2.17 2.18 2.19 Gamma ...............................................................................................................................70 APC ....................................................................................................................................71 Output Multiplexer ..............................................................................................................72 2.19.1 2.19.2 2.19.3 Sub Block Function ........................................................................................................................... 73 RSDS ................................................................................................................................................ 76 Per Pin Delay .................................................................................................................................... 77 2.20 2.21 2.22 Pulse Width Modulation (PWM) ..........................................................................................80 DFT Block ...........................................................................................................................81 IC RAM Addresses ...........................................................................................................83 Chapter 3 3.1 3.2 3.3 3.4 3.5 Electrical Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84 Absolute Maximum Ratings ................................................................................................84 Power Consumption Matrices .............................................................................................84 Nominal Operating Conditions ............................................................................................85 Preliminary Thermal Data ...................................................................................................85 Preliminary DC Specifications ............................................................................................85 3.5.1 3.5.2 3.5.3 3.5.4 LVTTL 5 Volt Tolerant Inputs With Hysteresis ................................................................................... 85 LVTTL 5 Volt Tolerant Inputs ............................................................................................................. 85 LVTTL 5 Volt Tolerant I/O With Hysteresis ........................................................................................ 86 LVTTL Outputs .................................................................................................................................. 86 3.6 Preliminary AC Specifications ...........................................................................................86 Chapter 4 Chapter 5 Package Mechanical Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 4/89 ADE3700 1 General Information The ADE3700 family of devices is capable of implementing all of the advanced features of today's LCD monitor products. For maximum flexibility, an external microcontroller (MCU) is used for controlling the ADE3700 and other monitor functions. Figure 1: ADE3700 Block Diagram DATA CTRL DMEAS Timing Controller Output Format Color Management OSD SMEAS SCLK Frequency Synthesizer SCLK Pattern Generator DOTCLK FM Freq. Synthesizer GAMMA LUT Blocks Used GLBL SMEAS LLK ADC OSD SCALER GAMMA SRGB OUTSEQ TCON APC OMUX SMEAS Analog Port LCD Scaler LLKPLL INCLK The ADE3700 architecture unburdens the MCU from all data-intensive pixel manipulations, providing an optimal blend of features and code customizing without incurring the cost of a 16-bit processor or memory. The key interactions between the monitor MCU and the ADE3700 can be broken down into the features shown in the table below. Table 1: ADE3700 Features (Sheet 1 of 2) Feature Power-up / Initialize Description of ADE3700 Operation When power is first applied, the ADE3700 is asynchronously reset from a pin. The MCU typically programs the ADE3700 with a number of default values and sets up the ADE3700 to identify activity on any of the input pins. All preconfigured values and RAMs, such as DVI settings, line-lock PLL settings, OSD characters, LCD timing values (output sequencer), scale kernels, gamma curves, sRGB color warp, APC dithering, output pin configuration (OMUX), etc. can be pre-loaded into the ADE3700. The typical end state is that the ADE3700 is initialized into a low power mode, ready to turn active once the power button is pressed. Pages 11 25 18 17 62 42 70 60 45 48 71 72 25 Activity Detect When the monitor has been powered on, the inputs can be monitored for active video sources. Based on the activity monitors, the MCU chooses an input or power down state. 5/89 ADE3700 Table 1: ADE3700 Features (Sheet 2 of 2) Feature Sync / Timing Measurement Mode Set Description of ADE3700 Operation Once an input source is selected, all available information on frequencies and line/pixel counts is measured for the selected source and made available to the MCU. Once the MCU has determined the matching video mode or calculated a video mode using a GTF algorithm, the datapath is programmed to drive the flat panel. Clock frequencies for the internal memory and datapath are also set at this time. Blocks Used SMEAS Pages 25 GLBL LLK SRT DMUX SMUX SCALER DMEAS LLK ADC SMUX SRT SRGB SRGB GAMMA SRGB PGEN FLICKER TCON PWM 11 18 23 37 32 42 47 18 17 32 23 60 60 70 60 54 68 48 80 Autotune When the MCU calls for an autotune, the MCU sets up an iterative loop to search for the best phase, gain, offset, etc. At each step of the loop, the MCU kicks off a test in which the ADE3700 which performs extensive statistical analysis of the incoming data stream. The results of the analysis are made available to the MCU which is responsible for the optimization algorithm. In response to user OSD control, the MCU can program single 8-bit registers that set brightness and contrast for each color channel independently. In response to user OSD control, the MCU can program three 8-bit registers that set the white point for the output. The MCU can program the gamma RAMs to implement 10-bit accurate color transformations. The SRGB block allows simple, intuitive color control with just a few registers. For production testing, the ADE3700 can be programmed by the MCU to output a wide set of test patterns. For Smart Panel applications, the MCU can set up the flicker detection block to report any correlation with the polarity inversion signal. The MCU can then change the polarity inversion to a non-correlating pattern to eliminate flicker. The ADE3700 provides two PWM outputs for direct control of the power components in a typical backlight. The MCU sets up the registers and enables the function. To enter a low power state, the MCU can gate of most of the clocks and put the analog blocks into a low power standby state. Digital Contrast / Brightness White Point Control GAMMA Adjustment sRGB Control Pattern Generation Flicker Reduction Backlight Control Low Power State GLBL 11 6/89 ADE3700 Pin Descriptions 1.1 Pin Descriptions Table 2: Pinout (Sheet 1 of 4) LQFP128 32 31 30 29 19 18 34 21 65 8 9 10 11 12 13 14 15 17 16 20 54 55 48 41 47 58 51 44 40 26 28 25 27 105 126 127 Name XVDD18 XTAL_OUT XTAL_IN XGND XCLK_EN XCLK VSYNC TSTCLK TST_SCAN TCON7 TCON6/OVS TCON5/OHS TCON4/ODE TCON3 TCON2 TCON1 TCON0 SDA SCL RESETN REFR REFMR REFMG REFMB REFG REFCR REFCG REFCB REFB PVDD18 PVDD18 PGND PGND AVS ORB7 ORB6 Type Power Output Input Power Input Output Input Input Input Output Output Output Output Input/Output Input/Output Input/Output Input/Output Open Drain I/O Input Input Passive Passive Passive Passive Passive Passive Passive Passive Passive Power Power Power Power Output Input/Output Input/Output Crystal Oscillator 1.8V VDD Crystal Oscillator output Crystal Oscillator input Crystal Oscillator Ground Crystal clock output enable Description Crystal clock buffered output Vertical Sync Input Connect to Digital Ground Connect to Digital Ground TCON Output 7 TCON Output 6/Output Vertical Sync TCON Output 5/Output Horizontal Sync TCON Output 4/Output Data Enable TCON Output 3 TCON Output 2 TCON Output 1 TCON Output 0 I2C Data I2C Clock Reset input, Active Low 1% 15.0 kOhm resistor to Analog Ground Connect to Analog Ground Connect to Analog Ground Connect to Analog Ground 1% 15.0 kOhm resistor to Analog Ground 100nF capacitor to Analog Ground 100nF capacitor to Analog Ground 100nF capacitor to Analog Ground 1% 15.0 kOhm resistor to Analog Ground PLL 1.8V VDD PLL 1.8V VDD PLL Ground PLL Ground Alternate Vertical Sync Output Port B: Red Data 7 Output Port B: Red Data 6 7/89 Pin Descriptions Table 2: Pinout (Sheet 2 of 4) LQFP128 128 1 2 3 4 5 86 87 88 89 90 95 96 97 103 112 113 114 115 120 121 122 123 74 75 76 77 78 79 82 83 102 104 98 99 100 101 ORB5 ORB4 ORB3 ORB2 ORB1 ORB0 ORA7 ORA6 ORA5 ORA4 ORA3 ORA2 ORA1 ORA0 AHS OGB7 OGB6 OGB5 OGB4 OGB3 OGB2 OGB1 OGB0 OGA7 OGA6 OGA5 OGA4 OGA3 OGA2 OGA1 OGA0 ADE OCLK OBB7 OBB6 OBB5 OBB4 ADE3700 Name Type Input/Output Input/Output Input/Output Input/Output Input/Output Input/Output Output Output Output Output Output Output Output Output Output Input/Output Input/Output Input/Output Input/Output Input/Output Input/Output Input/Output Input/Output Output Output Output Output Output Output Output Output Output Output Input/Output Input/Output Input/Output Input/Output Output Port B: Red Data 5 Output Port B: Red Data 4 Output Port B: Red Data 3 Output Port B: Red Data 2 Output Port B: Red Data 1 Output Port B: Red Data 0 Output Port A: Red Data 7 Output Port A: Red Data 6 Output Port A: Red Data 5 Output Port A: Red Data 4 Output Port A: Red Data 3 Output Port A: Red Data 2 Output Port A: Red Data 1 Output Port A: Red Data 0 Alternate Horizontal Sync Description Output Port B: Green Data 7 Output Port B: Green Data 6 Output Port B: Green Data 5 Output Port B: Green Data 4 Output Port B: Green Data 3 Output Port B: Green Data 2 Output Port B: Green Data 1 Output Port B: Green Data 0 Output Port A: Green Data 7 Output Port A: Green Data 6 Output Port A: Green Data 5 Output Port A: Green Data 4 Output Port A: Green Data 3 Output Port A: Green Data 2 Output Port A: Green Data 1 Output Port A: Green Data 0 Alternate Data Enable Output Clock Output Port B: Blue Data 7 Output Port B: Blue Data 6 Output Port B: Blue Data 5 Output Port B: Blue Data 4 8/89 ADE3700 Table 2: Pinout (Sheet 3 of 4) LQFP128 108 109 110 111 66 67 68 69 70 71 72 73 56 49 42 35 7 64 80 91 106 119 23 62 84 93 117 124 6 22 24 63 81 85 92 94 107 OBB3 OBB2 OBB1 OBB0 OBA7 OBA6 OBA5 OBA4 OBA3 OBA2 OBA1 OBA0 INR ING INB HSYNC DVDD33 DVDD33 DVDD33 DVDD33 DVDD33 DVDD33 DVDD18 DVDD18 DVDD18 DVDD18 DVDD18 DVDD18 DGND DGND DGND DGND DGND DGND DGND DGND DGND Pin Descriptions Name Type Input/Output Input/Output Input/Output Input/Output Output Output Output Output Output Output Output Output Input Input Input Input Power Power Power Power Power Power Power Power Power Power Power Power Power Power Power Power Power Power Power Power Power Output Port B: Blue Data 3 Output Port B: Blue Data 2 Output Port B: Blue Data 1 Output Port B: Blue Data 0 Output Port A: Blue Data 7 Output Port A: Blue Data 6 Output Port A: Blue Data 5 Output Port A: Blue Data 4 Output Port A: Blue Data 3 Output Port A: Blue Data 2 Output Port A: Blue Data 1 Output Port A: Blue Data 0 Description Analog Video Port: Red Channel input Analog Video Port: Green Channel input Analog Video Port: Blue Channel input Horizontal (or Composite) Sync Input Digital 3.3V VDD Digital 3.3V VDD Digital 3.3V VDD Digital 3.3V VDD Digital 3.3V VDD Digital 3.3V VDD Digital 1.8V VDD Digital 1.8V VDD Digital 1.8V VDD Digital 1.8V VDD Digital 1.8V VDD Digital 1.8V VDD Digital Ground Digital Ground Digital Ground Digital Ground Digital Ground Digital Ground Digital Ground Digital Ground Digital Ground 9/89 Pin Descriptions Table 2: Pinout (Sheet 4 of 4) LQFP128 116 118 125 33 36 43 50 57 46 53 60 37 39 45 52 59 61 38 DGND DGND DGND CSYNC AVDD33 AVDD33 AVDD33 AVDD33 AVDD18 AVDD18 AVDD18 AGND AGND AGND AGND AGND AGND ADVDD18 ADE3700 Name Type Power Power Power Input Power Power Power Power Power Power Power Power Power Power Power Power Power Power Digital Ground Digital Ground Digital Ground Description Composite Sync Input - for Sync On Green Analog 3.3V VDD Analog 3.3V VDD Analog 3.3V VDD Analog 3.3V VDD Analog 1.8V VDD Analog 1.8V VDD Analog 1.8V VDD Analog Ground Analog Ground Analog Ground Analog Ground Analog Ground Analog Ground 1.8V VDD 10/89 ADE3700 Global Control 2 2.1 Functional Description Global Control The global control block is responsible for: q q q q q selecting clock sources power control IC control SCLK frequency synthesizer control block by block synchronous reset generation The global control block runs on the XCLK clock domain which is required to be active for programming. The clock domains of all other blocks are set in the Global Control Block. For IC access, the requested block must be driven with a valid clock frequency greater than 10 MHz. Clock domains are shown in Figure 2. Figure 2: Global Control Block Diagram MCU (SCL, SDA) IC Global PWM Sync Measure Sync Re-Time Pattern Generator GAMMA ADE3700 XCLK Domain Flicker Detection PC Analog INR, G, B V, H, Csync ADC (Analog) ADC Digital I/F Data sRGB OSD Output Multiplexer LCD Scaler APC ORA OGA OBA ORB OGB OBB OCLK ODE OHS OVS TCON Line Lock PLL Data Measure SCLK Domain INCLK Domain SCLK Freq. Synthesizer Output Sequencer TCON DOTCLK Domain FM Freq. Synthesizer To program the SCLK frequency synthesizer to a desired frequency (fOUT, in MHz), the following equations apply. Table 3: SCLK Frequency Synthesizer Programmable Values (Sheet 1 of 2) Frequency Range fOUT < 8 x fXCLK AND fOUT 4 x fXCLK fOUT < 4 x fXCLK AND fOUT 2 x fXCLK SDIV 0 1 11/89 Global Control Table 3: SCLK Frequency Synthesizer Programmable Values (Sheet 2 of 2) Frequency Range fOUT < 2 x fXCLK AND fOUT fXCLK fOUT < fXCLK AND fOUT fXCLK / 2 fOUT < fXCLK/2 AND fOUT fXCLK / 4 fOUT < fXCLK/4 AND fOUT fXCLK / 8 fOUT < fXCLK/8 AND fOUT fXCLK / 16 fOUT < fXCLK/16 AND fOUT fXCLK / 32 ADE3700 SDIV 2 3 4 5 6 7 MD = INT(fXCLK x (2(6 + NDIV - SDIV)) / fOUT) PE = INT((215) x (MD + 1 - fXCLK x (2(6 + NDIV - SDIV)) / fOUT)) where fXCLK is the external crystal frequency in MHz (typically 27). The maximum SCLK frequency generated by this block is fXTAL x 2(2+NDIV). For the lowest power operation, all clock sources should be set to the "zero" setting and the analog power disables should be set. In this condition, only the crystal clock domain (XCLK) is running and blocks in INCLK or DOTCLK domains may not be accessible through the IC interface. The following modules can have their clocks disabled to reduce power consumption when the chip is in steady-state mode: FLK, OSD, PGEN, DFT, and DMEAS. Also, the clock to the TCON can be disabled for non-Smart Panel applications. Note that the OSD module has a special power bypass bit that must be enabled when the OSD clock is disabled. Also, the clock to all IC registers associated with modules in the INCLK and DOTCLK domains can be disabled after the chip is configured to reduce power in steady-state mode. Note that during chip configuration, all IC clocks must be enabled. An asynchronous clock enable override signal must be disabled to allow control of individual module clock signals. 12/89 ADE3700 Global Control Table 4: Global Registers (Sheet 1 of 4) Register Name GLBL_NULL_ADDR GLBL_CLK_SRC_SEL_0 Addr. 0x0000 0x0001 mode Read Bits [7:0] [7] Default Description Chip Revision ID 0x0 0x5 Reserved DOTCLK source 0x0: TESTCLK pin 0x1: SCLK freq synth 0x2: FM freq synth (normal) 0x3: INCLK source 0x4: CLKIN pin 0x5: crystal clock 0x6: 0 0x7: Reserved R/W [6:4] R/W [3:0] 0xA INCLK source 0x0: TESTCLK pin 0x1: nc 0x2: ADC clock red 0x3: ADC clock green 0x4: ADC clock blue 0x5: SCLK freq synth 0x6: nc 0x7: LLK PLL (ADC Input) 0x8: CLKIN pin 0x9: FM freq synth 0xA: crystal clock 0xB: 0 0xC - 0xF: Reserved GLBL_CLK_SRC_SEL_2 0x0002 R/W [7] [6:4] 0x0 0x4 Reserved LLK CTRL CLK source 0x0: TESTCLK pin 0x1: SCLK freq synth 0x2: LLKPLL control clock (normal) 0x3: CLKIN pin 0x4: crystal clock 0x5: 0 0x6 - 0x7: Reserved [3] R/W [2:0] 0x4 Reserved LLK ZERO CLK source 0x0: TESTCLK pin 0x1: SCLK freq synth 0x2: LLKPLL zero clock (normal) 0x3: CLKIN pin 0x4: crystal clock 0x5: 0 0x6 - 0x7: Reserved 13/89 Global Control Table 4: Global Registers (Sheet 2 of 4) Register Name GLBL_CLK_INV ADE3700 Addr. 0x0003 mode Bits [7:5] Default 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x1 0x0 0x1 0x1 0x1 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x1 0x0 0x0 Reserved Description R/W R/W R/W R/W R/W GLBL_CLK_ENABLE_0 0x0004 R/W GLBL_ANA_PWR 0x0005 R/W R/W R/W [4] [3] [2] [1] [0] [7:1] [0] [7:5] [4] [3] [2] [1:0] Invert LLPLL control clock Invert LLPLL zero clock Invert ADC sample clock Invert DOT clock Invert input clock Reserved Clock enable async override Reserved Blue ADC power down Green ADC power down Red ADC power down Reserved Reserved SMEAS block reset, synchronous to XCLK SRT block reset, synchronous to XCLK Frame Sync block reset, synchronous to XCLK Reserved Disable I2C auto increment SDA PMOS enable bypass I2C filter Reserved crystal oscillator enable Reserved XTAL frequency multiplier NDIV 0x0: fXCLK = 54MHz 0x1: fXCLK = 27MHz (normal) 0x2: fXCLK = 13.5MHz 0x3: Reserved GLBL_XK_SRST 0x0006 R/W R/W R/W [7:3] [2] [1] [0] [7:3] R/W R/W R/W [2] [1] [0] [7:1] R/W [0] [7:5] R/W [4:3] GLBL_I2C_CTRL 0x0007 GLBL_XTAL_CTRL 0x0008 GLBL_SCLK_SYNTH_CTRL 0x0009 R/W R/W R/W [2] [1] [0] 0x0 0x0 0x1 SCLK frequency synthesizer EXT_PLL (normal operation = 0) SCLK frequency synthesizer PLL_SEL (normal operation = 1) SCLK freq synth control disable (normal operation = 0) 14/89 ADE3700 Table 4: Global Registers (Sheet 3 of 4) Register Name GLBL_SCLK_MD_SD Global Control Addr. 0x000A mode R/W R/W Bits [7:3] [2:0] [7:0] [7:0] [7:1] Default 0x0 0x0 0x0 Description SCLK frequency synthesizer MD, range is [16,31] SCLK frequency synthesizer SDIV, range is [0,7] SCLK frequency synthesizer PE, range is [0, 32767] GLBL_SCLK_PE_L GLBL_SCLK_PE_H GLBL_TST_CTRL 0x000B 0x000C 0x000D R/W R/W 0x0 0x0 0x0 0x0 0x1 0x0 0x0 0x0 0x0 Reserved functional test mode enable Reserved Compensation pad TQ (test mode) Compensation pad EN (enable) Reserved invert SCLK Reserved SCLK source select 0x0: TESTCLK pin 0x1: SCLK freq synth 0x2: FM freq synth (normal) 0x3: INCLK source 0x4: CLKIN pin 0x5: crystal clock 0x6: 0 0x7: Reserved R/W GLBL_COMP_PAD_CTRL 0x000E R/W R/W GLBL_SCLK_CTRL 0x0010 R/W [0] [7:2] [1] [0] [7:5] [4] [3] R/W [2:0] GLBL_BPAD_EN 0x0011 R/W [3:0] 0x0 For each bit n (0 to 3) in the LS nibble, 0: TCON[n] pin is TCON output 1: TCON[n] pin is input for testing R/W GLBL_IK_SRST 0x0020 R/W R/W R/W R/W R/W R/W R/W R/W GLBL_SHADOW_EN 0x0021 R/W [4] [7] [6] [5] [4] [3] [2] [1] [0] [7:1] [0] 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 Port B input mode enable (production test only) Reserved DFT block reset synchronous to INCLK ADC block reset synchronous to INCLK SCALER block reset synchronous to INCLK Reserved Reserved DMEAS block reset synchronous to INCLK SMUX block reset synchronous to INCLK Reserved Shadow registers sync on frame boundary 15/89 FM Frequency Synthesizer Table 4: Global Registers (Sheet 4 of 4) Register Name GLBL_INCLK_GATE_CTRL ADE3700 Addr. 0x0022 mode Bits [7:3] Default 0x0 0x1 0x1 0x1 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x1 0x1 0x1 0x1 0x1 Reserved Description R/W R/W R/W GLBL_DK_SRST 0x0040 R/W R/W R/W R/W R/W R/W R/W GLBL_OSD_POWER_CTRL 0x0041 R/W GLBL_DOTCLK_GATE_CTRL 0x0042 R/W R/W R/W R/W R/W [2] [1] [0] [7] [6] [5] [4] [3] [2] [1] [0] [7:1] [0] [7:5] [4] [3] [2] [1] [0] Enable DFT clock Enable DMEAS clock Enable INCLK to I2C registers Reserved PGEN block reset synchronous to DOTCLK OMUX block reset synchronous to DOTCLK APC block reset synchronous to DOTCLK OSD block reset synchronous to DOTCLK GAMMA block reset synchronous to DOTCLK OSQ block reset synchronous to DOTCLK SCALE block reset synchronous to DOTCLK Reserved OSD bypass (when clock disabled) Reserved Enable FLK clock Enable TCON clock Enable OSD clock Enable PGEN clock Enable DOTCLK to I2C registers 2.2 FM Frequency Synthesizer The FM Frequency Synthesizer can create a clock up to eight times the crystal input clock using a digital frequency synthesizer. The modulation period and amplitude are directly controlled by I2C registers. The I2C interface runs in the LLK_CTRL clock domain, which must be active for access. The relationship of the output frequency (fOUT) to the 32-bit phase_rate value and the crystal frequency (fXCLK) is: fOUT = fXCLK * 227+NDIV / phase_rate where fOUT and fXCLK are in MHz. The maximum output frequency of the FM frequency synthesizer is fXTAL x 2(2+NDIV). Note that native duty cycle of the FM frequency synthesizer is not 50/50, so it is recommended to either enable the divide-by-two in the fm synthesizer block for frequencies up to fXCLK x 2(1+NDIV) (typically 108 MHz) or set the output mux to a double wide output mode for pixel clocks above fXCLK x 2(1+NDIV). This will ensure a 50% duty clock on the output. 16/89 ADE3700 Analog-to-Digital Converter (ADC) Table 5: FM Frequency Synthesizer Registers Register Name FM_FS_CTRL Addr 0x0830 Mode Bits [7:4] Default Reserved 0x0 0x0 0x0 0x0 8000000 Description R/W R/W R/W R/W FM_FS_PR_0 FM_FS_PR_1 FM_FS_PR_2 FM_FS_PR_3 FM_FS_AMPLITUDE FM_FS_PERIODX64 FM_FS_PULSE_EXT 0x0831 0x0832 0x0833 0x0834 0x0835 0x0836 0x0837 R/W R/W R/W R/W R/W R/W R/W [3] [2] [1] [0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7] [6:3] Clear the FM synthesizer Clear the fs accumulator Activate the frequency modulation Divide the output by 2 Phase Rate 0x0 0x80 0x0 LSB = 72 ps LSB = 1.185 us Enable Reserved R/W [2:0] 0x0 Value 2.3 Analog-to-Digital Converter (ADC) The analog port consists of three 9-bit RGB ADCs with preamp, gain/offset adjustment and digital filtering. The I2C interface for the ADC block is in the INCLK clock domain which must be active for programming. The relationship of input voltage, gain and offset register settings to output code is approximately as follows: output_code_8b = 457 x offset / 28 + 181 x gain x input_mV / 216 - 125 x gain x offset / 216 - 219 Table 6: ADC Registers (Sheet 1 of 2) Register ADC_DITHER Addr. 0x0324 Mode Bits [7] Default Reserved 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 Description R/W R/W R/W R/W R/W [6] [5] [4] [3] [2] [1:0] Dither horizontally Dither vertically Dither temporally Force dither high Enable dither Reserved Offset Control, Red Channel Offset Control, Green Channel ADC_OFFSET_R ADC_OFFSET_G 0x0326 0x0328 R/W R/W [7:0] [7:0] 17/89 Line Lock PLL Table 6: ADC Registers (Sheet 2 of 2) Register ADC_OFFSET_B ADC_GAIN_R ADC_GAIN_G ADC_GAIN_B ADE3700 Addr. 0x0329 0x032A 0x032B 0x032C Mode R/W R/W R/W R/W Bits [7:0] [7:0] [7:0] [7:0] Default 0x0 0x0 0x0 0x0 Description Offset Control, Blue Channel Gain Control, Red Channel Gain Control, Green Channel Gain Control, Blue Channel 2.4 Line Lock PLL The Line Lock PLL recovers a sample clock from an incoming hsync source. The response characteristics of the line lock PLL can be adjusted for optimum response time and jitter filtering. The phase of the sample clock can be digitally adjusted in steps of 289 ps (with a 27-MHz crystal). The I2C interface of the line lock PLL is in the LLK_CTRL clock domain which must be active for programming. The PLL filter has three ranges with independent filter parameters. When the phase detector error stays below a programmable threshold for a programmable number of input lines, the PLL filter coefficients are changed. Any phase detector error above the programmed threshold will return the filter to the appropriate level in one line. The operation is shown in Figure 3. Figure 3: Line Lock PLL Error <= SLOW_TOL for more than SLOW_LINE_NB of lines Error <= LOCK_TOL for more than LOCK_LINE_NB of lines Fast Slow Lock Error > LOCK_TOL Error > SLOW_TOL The digital loop filter is controlled by three parameters: MFACTOR, A and B. M_FACTOR is the desired number of clocks per input line. The A and B parameters control the response of the 2nd order digital filter. A and B are composed of a linear and exponential component designated by the L and E suffix, respectively. The relationship of these numbers to the classic 2nd order damping and natural frequency are as follows: Damping = AL x 2(AE-12) x SQRT(5 x M_FACTOR / (BL x 2BE)) Natural Frequency = SQRT(M_FACTOR x 5 x BL x 2(BE-34)) 18/89 ADE3700 Line Lock PLL Table 7: Line Lock PLL Registers (Sheet 1 of 4) Register Name LLK_PLL_CLEAR Addr 0x0800 Mode Bits [7:6] Default Reserved 0x0 0x0 0x0 0x0 0x0 0x0 master reset Description R/W R/W R/W R/W R/W R/W LLK_PLL_CTRL 0x0801 R/W R/W R/W [5] [4] [3] [2] [1] [0] [7] [6] [5] reset the PLL synthetic sync reset PLL offset reset PLL accumulator reset the low pass filter reset the PLL phase error Reserved 0x0 0x0 zero clock delay enable 0: normal 1: diagnostic mode -- PLL uses only fine error 0: normal 1: diagnostic -- coarse error is multiplied by 2 input hsync edge selection 0: rising edge 1: falling edge R/W [4] 0x0 R/W [3] 0x0 R/W [2] 0x0 sync on green input selection 0: composite sync (HSYNC pin) 1: sync on green (CSYNC pin) R/W R/W LLK_PLL_MFACTOR_L LLK_PLL_MFACTOR_H LLK_PLL_HPERIOD_L LLK_PLL_HPERIOD_H LLK_PLL_PHASE_RATE_INIT_0 LLK_PLL_PHASE_RATE_INIT_1 LLK_PLL_PHASE_RATE_INIT_2 LLK_PLL_PHASE_RATE_INIT_3 LLK_PLL_PHASE_RATE_INIT_WR 0x0802 0x0803 0x0804 0x0805 0x0806 0x0807 0x0808 0x0809 0x080A R/W R/W R/W R/W R/W R/W R/W R/W R/W [1] [0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:1] [0] 0x0 0x0 0x0280 0: normal 1: divide PLL clock by 2 0: normal 1: free-running mode number of clocks in a line 0x0040 pulse width of synthetic hsync 0x0 initial phase rate fout = fxtal * 227+NDIV / phase_rate Reserved When written to 1, the pll phase rate is initialized with the initial phase rate register. Self clearing. 19/89 Line Lock PLL Table 7: Line Lock PLL Registers (Sheet 2 of 4) Register Name LLK_PLL_TC_AEF ADE3700 Addr 0x080B Mode Bits [7:4] Default Reserved 0xA Description R/W LLK_PLL_TC_BEF 0x080C R/W LLK_PLL_TC_ALF 0x080D R/W LLK_PLL_TC_BLF 0x080E R/W LLK_PLL_TC_AES 0x080F R/W LLK_PLL_TC_BES 0x0810 R/W LLK_PLL_TC_ALS 0x0811 R/W LLK_PLL_TC_BLS 0x0812 R/W LLK_PLL_TC_AEK 0x0813 R/W LLK_PLL_TC_BEK 0x0814 R/W LLK_PLL_TC_ALK 0x0815 R/W LLK_PLL_TC_BLK 0x0816 R/W LLK_PLL_TC_SLOW_TOL 0x0817 R/W [3:0] [7:4] [3:0] [7:6] [5:0] [7:6] [5:0] [7:4] [3:0] [7:4] [3:0] [7:6] [5:0] [7:6] [5:0] [7:4] [3:0] [7:4] [3:0] [7:6] [5:0] [7:6] [5:0] [7:0] Fast Time Constant A Exponent Reserved 0xA Fast Time Constant B Exponent Reserved 0x20 Fast Time Constant A Linear Reserved 0x20 Fast Time Constant B Linear Reserved 0x6 Slow Time Constant A Exponent Reserved 0x6 Slow Time Constant B Exponent Reserved 0x20 Slow Time Constant A Linear Reserved 0x20 Slow Time Constant B Linear Reserved 0x6 Lock Time Constant A Exponent Reserved 0x6 Lock Time Constant B Exponent Reserved 0x20 Lock Time Constant A Linear Reserved 0x20 0x80 Lock Time Constant B Linear More than slow_line_nb lines with a phase error less than the slow_tol will set the slow status bit, and the pll will work with the slow time constant. One or more lines with a phase error more than slow_tol will reset the slow status bit, and the pll will work with the fast time constant. LSB of slow tol is approx. 200ps. LLK_PLL_TC_SLOW_LINE_NB 0x0818 R/W [7:0] 0x10 20/89 ADE3700 Table 7: Line Lock PLL Registers (Sheet 3 of 4) Register Name LLK_PLL_LOCK_TOL Line Lock PLL Addr 0x0819 Mode R/W Bits [7:0] Default 0x20 Description More than lock_line_nb lines with a phase error less than the lock_tol will set the lock status bit, and the pll will work with the lock time constant. One or more lines with a phase error more than lock_tol will reset the lock status bit, and the pll will work with the slow time constant. LSB of lock tol is approx. 200ps. LLK_PLL_LOCK_LINE_NB LLK_PLL_PH_OFFSET 0x081A 0x081B R/W R/W [7:0] [7:0] 0x30 0x0 Phase adjustment. The maximum phase offset value is equal to phase_rate[31:21] or 0x40, whichever is higher. LLK_PLL_PH_OFFSET_EN 0x081C R/W [7] [6] [5] [4:0] 0x0 phase enable skip pulse skip pulse at every rising edge of hsync Reserved LLK_PLL_PULSE_HIGH_EXT 0x081D R/W [7] [6:3] 0x0 0: no pulse extend 1: extend pulse (normal) Reserved R/W [2:0] 0x0 pulse extend amount 0x0: minimum 0x7: maximum (normal) LLK_PLL_STAT_LINES_L LLK_PLL_STAT_LINES_H LLK_PLL_STAT_ERROR_INC_LO W LLK_PLL_FINE_ERROR_WAIT 0x081E 0x081F 0x0820 0x0821 R/W R/W [7:0] [7:0] [7:0] [7:4] 0x10 Number of lines to statistically analyze. Reserved Reserved 0x0 Wait this number of CTRL_CLK cycles before updating the PLL. Reserved 0x0 0x0 0x80 0x02 PLL statistic synchronize on falling edge of vsync PLL statistic synchronize on rising edge of vsync Number of clocks in a line. Registers 0x0803 and 0x0802 are transferred to those registers according to update_on_venab_fe. R/W LLK_PLL_STAT_ON_VSYNC 0x0822 R/W R/W LLK_PLL_MFACTOR_SHADOW_L LLK_PLL_MFACTOR_SHADOW_U 0x0823 0x0824 R/W R/W [3:0] [7:2] [1] [0] [7:0] [7:0] 21/89 Line Lock PLL Table 7: Line Lock PLL Registers (Sheet 4 of 4) Register Name LLK_PLL_UPDATE ADE3700 Addr 0x0840 Mode R Bits [7] Default Description In free-running mode, toggles when status is updated. In one-shot mode, this bit is set when status is ready. [6:2] R/W R/W LLK_PLL_STATUS 0x0841 R R R R LLK_PLL_PH_ERROR_L LLK_PLL_PH_ERROR_H LLK_PLL_PHASE_RATE_0 LLK_PLL_PHASE_RATE_1 LLK_PLL_PHASE_RATE_2 LLK_PLL_PHASE_RATE_3 LLK_PLL_PHASE_RATE_I_0 LLK_PLL_PHASE_RATE_I_1 LLK_PLL_PHASE_RATE_I_2 LLK_PLL_PHASE_RATE_I_3 LLK_PLL_STAT_ERROR_MEAN 0x0842 0x0843 0x0844 0x0845 0x0846 0x0847 0x0848 0x0849 0x084A 0x084B 0x084C R R R R R R R R R R R [1] [0] [7:4] [3] [2] [1] [0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] 0x0 0x0 Reserved 0: free-running mode 1: one-shot mode update enable Reserved llk overflow coarse error = 0 in slow mode in lock mode phase error LSB = approx. 200ps llk phase rate fout = fxtal * 227+NDIV / phase_rate integral phase rate average phase error over stat_lines phase error LSB is approx. 200ps LLK_PLL_STAT_ERROR_PP_L LLK_PLL_STAT_ERROR_PP_H LLK_PLL_STAT_ERROR_ABS_L 0x084D 0x084E 0x084F R R R [7:0] [7:0] [7:0] peak phase error over stat_lines phase error LSB is approx. 200ps sum of absolute phase errors over stat_lines phase error LSB is approx. 200ps LLK_PLL_STAT_ERROR_ABS_H LLK_PLL_STAT_ERROR_GTX 0x0850 0x0851 R [7:0] [7:0] Reserved 22/89 ADE3700 Sync Retiming (SRT) 2.5 Sync Retiming (SRT) The Sync Retiming (SRT) block retimes incoming synchronization signals (H Sync, V Sync, etc) into the XCLK and INCLK domains. For the XCLK domain, the SRT has the following functions: q q q q q Retimes all sync signals going to SMEAS into the XCLK domain. Extracts the vertical sync signal from composite sync signals (AHSYNC and ACSYNC pins) Divides clocks by 1024 for activity detection purposes. Generates a delay-filtered version of vertical sync from a mux-selectable vertical sync source. Generates a coast signal in the XCLK domain for the LLPLL. Table 8: Sync Retiming Registers (Sheet 1 of 2) Register Name SRTXK_CSYNC_INV Addr 0x01E0 Mode Bits [7:3] Default 0x0 0x0 0x0 0x0 0x080 Reserved Description R/W R/W R/W SRTXK_SOG_THR_L SRTXK_SOG_THR_H 0x01E1 0x01E2 R/W R/W [2] [1] [0] [7:0] [7:4] [3:0] invert filtered vert sync signal invert composite sync signal invert SOG signal SOG vert sync extractor threshold [7:0] Reserved SOG vert sync extractor threshold [11:8] SRTXK_CSYNC_THR_L SRTXK_CSYNC_THR_H 0x01E3 0x01E4 R/W R/W [7:0] [7:4] [3:0] 0x080 composite sync vertical sync extractor threshold [7:0] Reserved composite sync vertical sync extractor threshold [11:8] Reserved SRTXK_VSYNC_SEL 0x01E5 R/W [7:3] [2:0] 0x0 filtered vert sync source select 0x0: avsync pin 0x1: vsync from composite ahsync pin 0x2: vsync from composite acsync pin 0x3: Reserved 0x4 - 0x7: Reserved SRTXK_VSYNC_THR_L SRTXK_VSYNC_THR_H 0x01E6 0x01E7 R/W R/W R/W [7:0] [7:4] [3:0] 0x080 filtered vert sync delay [7:0] Reserved filtered vert sync delay [11:8] 23/89 Sync Retiming (SRT) Table 8: Sync Retiming Registers (Sheet 2 of 2) Register Name SRTXK_COAST_VS_SEL ADE3700 Addr 0x01E8 Mode Bits [7:4] Default 0x0 0x0 Reserved Description R/W [3] coast signal trigger edge 0: posedge of selected vertical 1: negedge of selected vertical source select for coast vert sync trigger 0x0: avsync pin 0x1: vsync from ahsync pin 0x2: vsync from acsync pin 0x3: Reserved 0x4: nc 0x5: nc 0x6: srt vsync (filtered vsync) 0x7: Reserved R/W [2:0] 0x0 SRTXK_COAST_RISE_L SRTXK_COAST_RISE_M SRTXK_COAST_RISE_H SRTXK_COAST_FALL_L SRTXK_COAST_FALL_M SRTXK_COAST_FALL_H SRTIK_HS_CTRL 0x01E9 0x01EA 0x01EB 0x01EC 0x01ED 0x01EE 0x01F0 R/W R/W R/W R/W R/W R/W [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:3] 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 rising edge of coast, in XCLKs from vsync trigger falling edge of coast, in XCLKs from vsync trigger Reserved Resample clock edge to transfer hsync into the INCLK domain; depends on LLK phase offset value. 0: posedge INCLK 1: negedge INCLK R/W [2] R/W [1:0] 0x0 horz sync source select for resampling into the INCLK domain 0x0: LLPLL lock sync (normal) 0x1: ahsync pin 0x2: acsync pin 0x3: Reserved SRTIK_VS_SEL 0x01F1 R/W [7:2] [1:0] 0x0 0x0 Reserved vert sync source select for resampling 0x0: avsync pin 0x1: vsync from ahsync pin 0x2: vsync from acsync pin 0x3: srt vsync (filtered vsync) 24/89 ADE3700 Sync Measurement 2.6 Sync Measurement The Input Sync Measurement (SMEAS) block continuously detects activity from all video sources. The module can measure the characteristics of the sync signals on any input port. The sync measurement module reports the results of the measurements to the system microcontroller. This portion of the sync measurement is fully synchronous on the crystal clock (XCLK). Another block, the Sync Retiming Block (SRT), handles the asynchronous signal transfer of the incoming sync signals. Input Sync Functions: q q q Activity Detection Sync Management Measurement Table 9: Sync Measurement (Sheet 1 of 8) Register Name SMEAS_ACT_CTRL Addr 0x0100 Mode Bits [7:4] Default 0x0 0x0 0x0 Reserved Description R/W R/W [3] [2] Enable activity detection in free-running mode. Freeze results in free-running mode. No meaning in one shot mode. 0: Do not freeze the results. New result will be available on the next and subsequent toggle of the polling bit. 1: Freeze the current results. The polling bit will still toggle and the block continues to free-run; however, results will not be updated. R/W [1] 0x0 activity detection start. In one-shot mode it triggers the start of a measurement and is reset to zero when the measurement is complete. R/W [0] 0x0 activity detection mode control 0: free-running 1: one shot SMEAS_ACT_H_SMPTM_L SMEAS_ACT_H_SMPTM_H SMEAS_ACT_V_SMPTM_L SMEAS_ACT_V_SMPTM_H 0x0101 0x0102 0x0103 0x0104 R/W R/W R/W R/W [7:0] [7:0] [7:0] [7:0] 0x0 0x0 0x0 0x0 Sample time value for clock or hsync activity. In units of XCLK_period*256 Sample time value for vsync activity in units of XCLK_period*256. jj Note: this number MUST be larger than hsync sample time. Minimum edge count value for clk or hsync activity. Minimum edge count value for vsync activity. timeout counter value for clk or horizontal measurement in XCLKs SMEAS_ACT_H_MINEDGE SMEAS_ACT_V_MINEDGE SMEAS_H_TMOT_L SMEAS_H_TMOT_H 0x0105 0x0106 0x0107 0x0108 R/W R/W R/W R/W [7:0] [7:0] [7:0] [7:0] 0x0 0x0 0x4000 25/89 Sync Measurement Table 9: Sync Measurement (Sheet 2 of 8) Register Name SMEAS_V_TMOT_L SMEAS_V_TMOT_H SMEAS_CLEAR ADE3700 Addr 0x0109 0x010A 0x0110 Mode R/W R/W Bits [7:0] [7:0] [7:3] Default 0x1600 Description timeout counter value for vertical measurement in units of XCLK/256 Reserved R/W R/W R/W SMEAS_H_CTRL 0x0111 R/W [2] [1] [0] [7] [6] 0x0 0x0 0x0 0x0 0x0 clear sticky status bits clear all out-of-range event counters clear all result registers Reserved Enable hsync filter -- all hsync pulses less than SMEAS_FILTER_HS_WIDTH will be ignored. measure hsync in the absence of vsync enable horizontal measurement in freerunning mode horizontal event edge select 0: positive edge 1: negative edge R/W R/W R/W [5] [4] [3] 0x0 0x0 0x0 R/W [2] 0x0 Freeze horizontal measurements results during free-running mode. No meaning in one shot mode. 0: Do not freeze measurement results. New result will be available on the next and subsequent toggle of the polling bit. 1: Freeze the current results. The polling bit will still toggle and the block continues to free-running; however, results will not be updated. R/W [1] 0x0 horizontal measurement start In one-shot mode setting this bit triggers the start of a measurement. The bit is reset to zero when the measurement is complete. R/W [0] 0x0 horizontal measurement mode 0: free-running 1: one shot 26/89 ADE3700 Table 9: Sync Measurement (Sheet 3 of 8) Register Name SMEAS_V_CTRL Sync Measurement Addr 0x0112 Mode Bits [7:5] Default Reserved 0x0 0x0 Description R/W R/W [4] [3] Enable Vertical Measurement in Freerunning mode Vertical Event Edge Select 0: positive edge 1: negative edge R/W [2] 0x0 Freeze vertical measurement results during free-running mode. No meaning in one shot mode. 0: Do not freeze the results. New result will be available on the next and subsequent toggle of the polling bit. 1: Freeze the current results in free-running mode. The polling bit will still toggle and the block continues to free run; however, results will not be updated. R/W [1] 0x0 Vertical Measurement Start In one-shot mode setting this bit triggers the start of a measurement. The bit is reset to zero when the measurement is complete. R/W [0] 0x0 Vertical Measurement Mode 0: free-running 1: one shot SMEAS_H_SEL 0x0113 R/W [7:4] [3:0] 0x0 Reserved Select a horizontal sync, enable or clock for measurement. 0x0: Analog hsync 0x1: Hsync generated from LLPLL 0x2: SOG from csync pin 0X3: NC 0X4: NC 0X5: NC 0X6: NC 0X7: NC 0X8: NC 0x9: TCON hsync 0xA: TCON data enable 0xB: INCLK div1k 0xC: DOTCLK div1k 0xD-0xF: Reserved 27/89 Sync Measurement Table 9: Sync Measurement (Sheet 4 of 8) Register Name SMEAS_V_SEL ADE3700 Addr 0x0114 Mode R/W Bits [7:4] Default 0x0 Description Selects a vertical signal for measurement of the high pulse width. 0x0: Analog vsync 0x1: Composite vsync 0x2: SOG vsync 0x3: nc 0x4: nc 0x5: nc 0x6: nc 0x7: TCON vsync 0x8 - 0xF: Reserved R/W [3:0] 0x0 Selects a vertical signal for measurement of period and polarity. 0x0: Analog vsync 0x1: Composite vsync 0x2: nc 0x3: nc 0x4: nc 0x5: nc 0x6: nc 0x7: TCON vsync SMEAS_STATUS_MASK 0x0119 R/W [7] 0x0 Mask bit for hsync polarity check 0: ignore 1: check R/W [6] 0x0 Mask bit for vsync polarity check 0: ignore 1: check [5:4] R/W [3] 0x0 Reserved Mask bit for vert pulse width check 0: ignore 1: check R/W [2] 0x0 Mask bit for h per v check 0: ignore 1: check R/W [1] 0x0 Mask bit for h period check 0: ignore 1: check R/W [0] 0x0 Mask bit for v period check 0: ignore 1: check SMEAS_H_NUM_LINES SMEAS_H_SKIP_L 0x011A 0x011B R/W R/W [7:0] [7:0] 0x0 0x0 Number of lines to measure for Horizontal period. Valid range is 1 to 255. Number of lines to skip before starting a horizontal measurement. The skip counter counts from the chosen vertical source and edge. [7:0] 28/89 ADE3700 Table 9: Sync Measurement (Sheet 5 of 8) Register Name SMEAS_H_SKIP_H Sync Measurement Addr 0x011C Mode R/W Bits [7:4] [3:0] Default Reserved Description Number of lines to skip before starting a horizontal measurement. The skip counter counts from the chosen vertical source and edge. [11:8] 0x0 0x0 0x0 0x0 0x5 Reserved 1 = delay vsync a number of XCLKs specified in SMEAS_DELAY_VSYNC Reserved Write a rising edge to start the hv-skew measurement. Test skew limit in XCLKs. If the skew is less than this test limit, the SMEASE_SKEW_STATUS register will report an error condition. SMEAS_DELAY_VSYNC should be reprogrammed until the skew is large enough to prevent vcount ambiguity. Number of XCLKs to delay vsync. Reference value for XCLKs per horizontal event actual value = programmed value + 1 SMEAS_SKEW_CTRL 0x011D R/W [7:3] [2] [1] R/W [0] [7:0] SMEAS_SKEW_THRES 0x011E R SMEAS_DELAY_VSYNC SMEAS_REF_XK_PER_H_L SMEAS_REF_XK_PER_H_M SMEAS_REF_XK_PER_H_H SMEAS_REF_XK_PER_V_L SMEAS_REF_XK_PER_V_M SMEAS_REF_XK_PER_V_H SMEAS_REF_H_PER_V_L SMEAS_REF_H_PER_V_H SMEAS_REF_XK_V_PER_HI_L SMEAS_REF_XK_V_PER_HI_M SMEAS_REF_XK_V_PER_HI_H SMEAS_REF_POLARITY 0x011F 0x0120 0x0121 0x0122 0x0123 0x0124 0x0125 0x0126 0x0127 0x0128 0x0129 0x012A 0x012B R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:2] 0x3 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 Reference value for XCLKs per vertical event actual value = programmed value + 2 Reference value for horizontal events per vertical event Reference value for vertical pulse width measurement result in XCLKs. actual value = programmed value + 1 Reserved Reference value for Hsync polarity. 0: active low 1: active high R/W [1] R/W [0] 0x0 Reference value for Vsync polarity. 0: active low 1: active high SMEAS_XK_HTOL_EXP 0x012C R/W [7:4] [3:0] 0x0 0x0 0x0 0x0 Reserved Horizontal tolerance; 2n XCLKs Reserved Vertical tolerance; 2n XCLKs SMEAS_XK_VTOL_EXP 0x012D R/W [7:4] [3:0] 29/89 Sync Measurement Table 9: Sync Measurement (Sheet 6 of 8) Register Name SMEAS_HSYNC_VTOL ADE3700 Addr 0x012E Mode Bits [7:4] Default 0x0 0x0 0x1 0x0 0x0 Reserved Description R/W SMEAS_FILTR_HS_WIDTH SMEAS_ACT_POLLING 0x012F 0x013F R R/W [3:0] [7:0] [7:1] [0] Horizontal per vertical tolerance, 2n Refer to register 0x0111 Reserved Toggle on activity status update in freerunning mode. No function in one-shot mode. Reserved Composite sync is active Vsync from SOG separator is active Comp vsync from composite sync separator is active Analog hsync is active Analog vsync is active Reserved Comp sync is stuck at 1(high)/0(low) Vsync from SOG separator is stuck at 1(high)/0(low) Comp vsync from separator is stuck at 1(high)/0(low) Analog hsync is stuck at 1(high)/0(low) Analog vsync is stuck at 1(high)/0(low) XCLKs per horizontal event - 1 SMEAS_ANA_ACT 0x0140 R R R R R [7:5] [4] [3] [2] [1] [0] [7:5] R R R R R [4] [3] [2] [1] [0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:2] R R [1] [0] 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 SMEAS_ANA_STUCK 0x0143 SMEAS_XK_PER_H_L SMEAS_XK_PER_H_M SMEAS_XK_PER_H_H SMEAS_XK_PER_V_L SMEAS_XK_PER_V_M SMEAS_XK_PER_V_H SMEAS_H_PER_V_L SMEAS_H_PER_V_H SMEAS_SK_V_HI_L SMEAS_SK_V_HI_M SMEAS_SK_V_HI_H SMEAS_TIMEOUT_STATUS 0x0146 0x0147 0x0148 0x0149 0x014A 0x014B 0x014C 0x014D 0x014E 0x014F 0x0150 0x0151 R R R R R R R R R R R XCLKs per vertical event - 1 Horizontal events per vertical event Vertical high time in XCLKs - 1 Reserved Indicates that the horizontal measurement timed out. Indicates that the vertical measurement timed out. 30/89 ADE3700 Table 9: Sync Measurement (Sheet 7 of 8) Register Name SMEAS_STATUS_RANGE Sync Measurement Addr 0x0152 Mode R Bits [7] Default 0x0 Description In free-running mode any of the status bits can change at the end of each measurement. In one shot mode any of the status bits can change at the completion of the measurement. The MEAS_STICKY_STATUS bit is a bitwise OR of bits[3:0] (before the bitwise OR, the mask in SMEAS_STATUS_MASK is AND in) and is sticky. The only way to reset it is for software to write a zero into this bit. This bit goes to the scaler to blank the scaler output. A write to this reg will reset it to 0. Indicates that one of the measured polarities does not match the reference value. Hsync (selected by SMEAS_H_SEL) polarity. 0: active low 1: active high R R [6] [5] 0x0 0x0 R [4] 0x0 Vsync (selected by SMEAS_V_SEL) polarity. 0: active low 1: active high R [3] 0x0 Indicates that the vertical pulse width measurement exceeded the reference tolerance range. Indicates that the horizontal per vertical measurement exceeded the reference tolerance range. Indicates that the XCLKs per horizontal measurement exceeded the reference tolerance range. Indicates that the XCLKs per vertical measurement exceeded the reference tolerance range. Reserved Toggle on h meas free-running mode, at end of each meas. No function on one-shot mode. Toggle on v meas free-running mode, at end of each meas. No function on one-shot mode. Reserved 0: hsync to vsync skew above threshold 1: hsync to vsync skew below threshold 0: skew measurement running 1: skew measurement finished R [2] 0x0 R [1] 0x0 R [0] 0x0 SMEAS_MEAS_POLLING 0x0153 R [7:2] [1] 0x0 0x0 R [0] 0x0 SMEAS_SKEW_STATUS 0x0154 R R [7:2] [1] [0] 0x0 0x0 0x0 31/89 Sync Multiplexer (SMUX) Table 9: Sync Measurement (Sheet 8 of 8) Register Name SMEAS_V_OUTOF_RNG ADE3700 Addr 0x0155 Mode R Bits [7:0] Default 0x0 Description The number of times the XCLKs per vertical reference/meas comparison has been out of range. Maximum is 240. Clear by setting SMEAS_CLEAR[1]. The number of times the XCLKs per horizontal reference/meas comparison has been out of range. Maximum is 240. Clear by setting SMEAS_CLEAR[1]. The number of times the horizontal per vertical reference/meas comparison has been out of range. Maximum is 240. Clear by setting SMEAS_CLEAR[1]. The number of times the vertical pulse width in XCLKs reference/meas comparison has been out of range. Maximum is 240. Clear by setting SMEAS_CLEAR[1]. The number of times the horizontal polarity reference/meas comparison has been out of range. Maximum is 240. Clear by setting SMEAS_CLEAR[1]. The number of times the vertical polarity reference/meas comparison has been out of range. Maximum is 240. Clear by setting SMEAS_CLEAR[1]. SMEAS_H_OUTOF_RNG 0x0156 R [7:0] 0x0 SMEAS_HV_OUTOF_RNG 0x0157 R [7:0] 0x0 SMEAS_VHI_OUTOF_RNG 0x0158 R [7:0] 0x0 SMEAS_HPOL_OUTOF_RNG 0x0159 R [7:0] 0x0 SMEAS_VPOL_OUTOF_RNG 0x015A R [7:0] 0x0 2.7 Sync Multiplexer (SMUX) The Synchronization Multiplexer (SMUX) selects a set of sync signals from the input sources and provides them to the scaler. It generates signals that are missing, depending on the capability. The MCU can select the output sync signals between the input sources and the generated signals. Figure 4: Sync Multiplexer Block Diagram odd data_valid hsync_internal vsync_internal enab_internal Output Signal Selector Input Signals Internal Signal Selector Output Signals Signal Generator H/V Reference Signals hcount vcount 32/89 ADE3700 2.7.1 Functional Description Sync Multiplexer (SMUX) The internal signal selector selects which of the input sources are to be used for the internal hsync, vsync and enab signals and is controlled by I2C register SMUX_CTRL0. The signal generator contains a horizontal and a vertical counter that are resynced using a horizontal and vertical reference signals respectively. The selection of the H/V references and the resync edge (either rising or falling) are programmed via SMUX_CTRL1[3:0]. The signal generator requires both references to be defined, or else the counters will not run properly and the generated signals (other than venab) will be invalid. The output signal selector can be programmed to output any of the internal syncs, bypassed signals such as odd and data_valid, or the generated versions of all the signals (hsync, vsync, enab, odd, valid). Vertical enable (venab) and clamp are always generated. The following table summarizes programming for typical modes. Table 10: Sync Multiplexer Programming Table Output Source for Mode Valid Inputs Hsync Analog Line Lock Analog Ext. Clock LLK_HSYNC LLK_VSYNC VGA_HSYNC LLK_VSYNC TESTCLK LLK Vsync LLK Enab GEN Valid GEN Odd NA Venab GEN Clamp GEN VGA LLK GEN GEN NA GEN GEN Other sources (such as composite sync) are simple variations on these basic configurations. The programmed timing values of the generated signals (such as clamp) are relative to the reference signal and edge selected. For example, if the LLK_HSYNC falling edge is selected as the horizontal reference, then all horizontal programming values are relative to it. Three signals are generated using programmable set/reset values: clamp and the two components that make up the input enable signal (horizontal and vertical enables). The henab and venab signals define the video window that the scaler operates on. The difference between the reset and set quantities is the number of pixels (h) or lines (v) in the input image. Clean wraparound is supported: the henab_set can be greater than the henab_rst. The clamp pulse should be located outside the active video area, i.e. both programmed values should be in the horizontal blanking region, typically in backporch of the incoming sync. All set/reset programming values for clamp and henab must be less than the input horizontal total. Both set/reset programming values for venab must be less than the input vertical total. The updates for the enable registers can occur in four modes: 1. No Shadowing 2. Simple Shadowing: updates occur when the upper byte of _rst is written 3. Shadowing + Blank Update: updates occur only in the next blanking region after rst_u is written 4. Shadowing + Vblank Update: updates occur in the next vblank region after rst_u is written. This mode also advances or retards the frame trigger to the scaler to prevent glitches. It takes one frame to write H and two frames to write the V-position. With large position changes, a glitch will show up. For small changes (e.g. 1) no glitch is created. The written position values are instantly available by read back, independent of shadow mode. The actual values being used by the hardware at a given time can also be read back using separate IC addresses. 33/89 Sync Multiplexer (SMUX) ADE3700 When hsync and/or vsync is generated (e.g. when enab is the only input), the relative position of the generated pulse can be set either before or after the reference edge between -128 and +127 pixels per line. 2.7.2 Example ADC input using line lock clock: omux_ctrl0 = 0x09 omux_ctrl1 = 0x0F omux_ctrl2 = 0x0C // select llk hsync and vsync // choose incoming hsync and vsync as references, choose rising edges // select the original hsyncs and vsyncs, along with the generated // enab and valid signals henab_set = hsync_width + hback_porch henab_rst = hsync_width + hback_porch + in_hpixel venab_set = vsync_width + vback_porch venab_rst = vsync_width + vback_porch + in_vpixel clamp_set = hsync_width + hback_porch + in_hpixel + 4 // clamp is turned on 4 after last pixel clamp_rst = hsync_width + hback_porch -4 // clamp is turned off 4 pixels before the 1st pixel Table 11: Sync Multiplexer Registers (Sheet 1 of 4) Register Name SMUX_CTRL0 Addr 0x0200 Mode Bits [7:6] Default 0x0 0x0 Reserved Description R/W [5:3] Vsync_internal select 0x0 = 0x1 = 0x2 = 0x3 = 0x4 = Reserved llk/VGA vsync Reserved composite sync decoder Reserved R/W [2:0] 0x0 Hsync_internal select 0x0 = 0x1 = 0x2 = 0x3 = 0x4 = Reserved llk synthesized hsync Reserved raw VGA hsync (jitter) Reserved 34/89 ADE3700 Table 11: Sync Multiplexer Registers (Sheet 2 of 4) Register Name SMUX_CTRL1 Sync Multiplexer (SMUX) Addr 0x0201 Mode R/W Bits [7] Default 0x0 venab out select Description 0: derived from enab out 1: generated internally R/W [6] 0x0 0: simple reset of hcount by href 1: self reset of hcount, used when the chosen href is intermittent, e.g. generating hsync from henab source. Vsync_out invert Hsync_out invert V_reference edge select 0: falling 1: rising R/W [2] 0x0 V_reference select 0: venab_generated 1: vsync_internal R/W [1] 0x0 H_reference edge select 0: falling 1: rising R/W [0] 0x0 H_reference select 0: enab_internal 1: hsync_internal SMUX_CTRL2 0x0202 R R/W R/W [7] [6] [5:4] 0x0 0x0 0x0 V_reference toggle output. Software odd set (for testing odd params on the bench) Odd_out select 0x0: Reserved 0x1: vsync toggle 0x2: SMUX_CTRL2[6] 0x3: Reserved Valid_out select 0: Reserved 1: valid_generated Enab_out select 0: enab_internal 1: enab_generated Vsync_out select 0: vsync_internal 1: hsync_generated Hsync_out select 0: hsync_internal 1: hsync_generated R/W R/W R/W [5] [4] [3] 0x0 0x0 0x0 R/W [3] 0x0 R/W [2] 0x0 R/W [1] 0x0 R/W [0] 0x0 35/89 Sync Multiplexer (SMUX) Table 11: Sync Multiplexer Registers (Sheet 3 of 4) Register Name SMUX_CTRL3 ADE3700 Addr 0x0203 Mode R Bits [7:6] Default Description venab pending state 0x0: idle 0x1: venab pending frame 1 0x2: venab pending frame 2 Wait until 0 to write venab again if in henab or venab shadow mode. R [5] [4] henab pending Reserved 0x0 vtrigger reference 2'bx0: trigger ref = venab 2'b01: last pixel w/ anti-glitch 2'b11: first pixel w/ anti-glitch Anti-glitch modes work only with venab shadow mode. First/last pixel must be consistent with out_seq in this mode. R/W [3:2] R/W [1:0] 0x0 0x0: no shadow 0x1: simple shadow. When henab_rst_u is written, henab_set_l, henab_set_u, henab_rst_l take effect. When venab_rst_u is written, venab_set_l, venab_set_u, venab_rst_l take effect. 0x2: henab shadow. Wait for next available blank period to update positions after henab_rst_u or venab_rst_u is written. 0x3: venab shadow. Wait for next available vblank period to update positions after henab_rst_u or venab_rst_u is written. Venab update takes two frames. State can be watched in ctrl3[7:5]. ADC clamp signal rising edge [11:0], relative to selected H reference signal, in INCLKS (pixels) ADC clamp signal MSBs ADC clamp falling edge ADC clamp falling edge Horizontal enable start [11:0] (left edge of image) relative to the selected H reference edge in INCLKS (pixels) horizontal enable start MSBs horizontal enable end LSBs horizontal enable end MSBs vertical enable start (top edge of image) relative to the selected vertical reference edge in lines vertical enable start MSBs vertical enable end LSBs vertical enable end MSBs SMUX_CLAMP_SET_L SMUX_CLAMP_SET_U SMUX_CLAMP_RST_L SMUX_CLAMP_RST_U SMUX_HENAB_SET_L 0x0204 0x0205 0x0206 0x0207 0x0208 R/W R/W R/W R/W R/W [7:0] [3:0] [7:0] [3:0] [7:0] 0x0 0x0 0x0 0x0 0x0 HENAB _SET_U HENAB _RST_L HENAB _RST_U VENAB_SET_L VENAB _SET_U VENAB _RST_L VENAB _RST_U 0x0209 0x020A 0x020B 0x020C 0x020D 0x020E 0x020F R/W R/W R/W R/W R/W R/W R/W [3:0] [7:0] [3:0] [7:0] [3:0] [7:0] [3:0] 0x0 0x00 0x0 0x00 0x0 0x00 0x0 36/89 ADE3700 Table 11: Sync Multiplexer Registers (Sheet 4 of 4) Register Name HSYNC_PHASE Data Multiplexer Addr 0x0210 Mode R/W Bits [7:0] Default 0x00 Description number of horizontal pixels/INCLKS that the generated hsync edge is from the reference edge. 2's complement [-128,127] VSYNC_PHASE 0x0211 R/W [7:0] 0x00 number of vertical lines that the generated vsync edge is from the reference edge. 2's complement [-128,127] HENAB_SET_HW_L HENAB _SET_HW _U HENAB _RST_HW _L HENAB _RST_HW _U VENAB_SET_HW _L VENAB _SET_HW _U VENAB _RST_HW _L VENAB _RST_HW _U 0x0212 0x0213 0x0214 0x0215 0x0216 0x0217 0x0218 0x0219 R R R R R R R R [7:0] [3:0] [7:0] [3:0] [7:0] [3:0] [7:0] [3:0] Actual value used by hardware post shadowing. Actual value used by hardware post shadowing. Actual value used by hardware post shadowing. Actual value used by hardware post shadowing. Actual value used by hardware post shadowing. Actual value used by hardware post shadowing. Actual value used by hardware post shadowing. Actual value used by hardware post shadowing. 2.8 Data Multiplexer The Data Multiplexer provides the following functions: q Debug modes (e.g. bit order swap, color swap) Table 12: Data Mux Registers Register Name DMUX_CHANSEL Addr. 0x0280 Mode Bits [7] Default 0x0 0x0 0x0 Reserved Description R/W R/W [6] [5:3] 0: Normal 1: MSB/LSB byte flip If enabled by [2] 0x0: Reserved 0x1: R & G bytes are swapped 0x2: B & G bytes are swapped 0x3: R => G, G => B, B => R 0x4: R & B bytes are swapped 0x5: R => B, G => R, B => G 0x0, 0x6-0x7: Reserved R/W R/W [2] [1:0] 0x0 0x0 0: normal 1: enable color swap video source select 0x0: ADC data 0x1: nc 0x2: nc 0x3: for test only 37/89 Data Measurement (DMEAS) ADE3700 2.9 Data Measurement (DMEAS) The Data Measurement (DMEAS) module measures several characteristics of the data and sync signals. Data measurements are taken over a programmable window as defined by an upper left (mix_x, min_y) and a lower right (max_x, max_y), which may be the whole frame. Measurements are programmable either per color channel or over all color channels. This module computes all measurements of sync and data format that are done in the INCLK domain. The Sync Measurement module does measurements in the XCLK domain. The INCLKS per DE measurement does not use the window feature. It measures the number of INCLK per DE and returns the result for every line. All unused or reserved bits will return as zero. Windows are relative to Sync pulses. A window defined from (0,0) - (0xFFF, 0xFFF) would go from sync to sync. The reference edge to use, rising or falling, is also programmable per X and Y coordinates. SMUX should be configured to provide a positive polarity sync to the DMEAS block. All window enables are reset to 0 and will always be reset on the rising or falling edge of the sync pulse. Most algorithms can be run over separate or all color channels. Most algorithms also contain a threshold value to zero out noise and/or amplify edges. Algorithm, Color, Threshold, or Window Control changes are accepted at the end of a valid measurement so that they do not affect the current measurement in progress. Software can request measurements in one of two ways: 1. All measurements, except DE_Size, are performed in One-shot mode, which is synchronous in respect the microcontroller. 2. The DE_Size measurement can be set either to One-shot or Free-running modes. Freerunning mode is asynchronous in respect to the microcontroller. In One-shot mode, the block should indicate that the measurement is valid through an auto clear of the start condition. In Free-running mode, the block should indicate that the measurement is valid through a polling bit. In Free-running mode, a Freeze bit is provided to freeze the results. Measurements still continue with the polling bit active, however, they are not updated if the Freeze bit is set. 2.9.1 Edge Intensity The Edge Intensity measurement is the sum of the absolute value of the delta between adjacent pixels. A programmable threshold is applied to zero out noise and amplify edges. Equation: Delta_val = abs(pixelA - pixelB) - threshold; Delta_val = Delta_val < 0? 0: Delta_val; Sum += Delta_val; For all 3 color channels: Sum += Delta_val on Red channel + Delta_val on Green channel + Delta_val on Blue channel 2.9.2 Pixel Sum The Pixel Sum is the sum of all selected pixels for either a specific color channel or all color channels within the window specified. 2.9.3 Minimum/Maximum Pixel This function reports the minimum and maximum pixel found within the specified window. 38/89 ADE3700 2.9.4 Pixel Cumulative Distribution (PCD) Data Measurement (DMEAS) The Pixel Cumulative Distribution (PCD) function reports the total number of pixels greater than (or less than) a programmable threshold. To switch between pixels greater than or pixels less than the threshold, a control bit is provided in the DMM_Mode register when requesting a measurement. 2.9.5 Horizontal Position The Horizontal Position measures the start and end of video data in INCLKS clock cycles relative to the posedge of hsync. The Data Horizontal Start is defined as the number of INCLKS clock cycles between posedge of hsync and the "first data pixel". First data pixel is either: 1. First pixel greater than the programmable threshold value 2. First pixel with the absolute value (current pixel - previous pixel) is greater than the programmable threshold value The Data Horizontal End is defined as the number of INCLKS clock cycles between posedge of hsync and the "last data pixel plus one". The search for the last pixels ends at the end of a window. Last data pixel plus one is either: 1. Pixel after the last pixel that is greater than the programmable threshold value 2. Last pixel with the absolute value (current pixel - previous pixel) is greater than the programmable threshold value To switch between the two threshold methods used in the first and last pixel, a control bit is provided in the DMM_Mode register when requesting a measurement. The first and last pixels are measured for each line, and the earliest first and latest last for the selected pixel area are reported out at the end of the measurement. The intention is for "last data pixel plus one" minus "first data pixel" is to equal the horizontal width of the video format. 2.9.6 Vertical Position The Vertical Position measures the start and end of video data in hsyncs relative to the posedge of vsync. The Data Vertical Start is defined as the number of hsyncs signals between the positive edge of the vsync signal and the "first data pixel line". First data pixel line definition is the first line with at least one pixel that is greater then the programmable threshold. The Data Vertical End is defined as the number of hsyncs between posedge of vsync and the "first blanking line after data plus one". The first blanking line is detected then confirmed that each subsequent line contains no data pixels. The confirmation of the first blanking line measurement ends at the posedge of vsync. The first blanking line after data definition is the row after the last row with at least one pixel greater than the programmable threshold. The first and last data pixel lines are measured within a frame and the earliest first and latest last for the selected pixel area are reported out at the end of the measurement. The intention is for "data vertical end plus one" minus "data vertical start" is to equal the vertical height of the video format. 39/89 Data Measurement (DMEAS) 2.9.7 DE Size ADE3700 The DE Size measures the number of INCLKS clock cycles per data enable. It is useful for DVI inputs to exactly measure the input image horizontal size. At the end of the measurement (DE falling edge), the measured value is compared to a programmed expected value a programmed threshold. If the expected value is within the threshold, the DE_size_mismatch flag is not set. If the measured size is outside of the threshold, the DE_size_mismatch flag is set. In Free-running mode, the results are updated every line. The DE_size_mismatch flag is set at DE falling edge and reset at DE rising edge. In One-shot mode, the results are updated once and stay that way until they are cleared by software. The DE_size_mismatch flag can only be cleared when the reset flag bit is set by software. Table 13: DMEAS Output Register Mapping ALG_SEL = 00 DMEAS_DATA_0 DMEAS_DATA_1 DMEAS_DATA_2 DMEAS_DATA_3 DMEAS_DATA_4 DMEAS_DATA_5 DMEAS_DATA_6 DMEAS_DATA_7 EDGE_OUT [7:0] EDGE_OUT [15:8] EDGE_OUT [23:16] EDGE_OUT [31:24] PSUM_OUT [7:0] PSUM_OUT [15:8] PSUM_OUT [23:16] PSUM_OUT [31:24] ALG_SEL = 01 MIN_OUT [7:0] MAX_OUT [7:0] PCD_OUT [7:0] PCD_OUT [15:8] PCD_OUT [23:16] 8'h00 8'h00 8'h00 ALG_SEL = 10 HPOS_MIN [7:0] HPOS_MIN [11:8] HPOS_MAX [7:0] HPOS_MAX [11:8] VPOS_MIN [7:0] VPOS_MIN [11:8] VPOS_MAX [7:0] VPOS_MAX [11:8] ALG_SEL = 11 DE_SIZE_OUT [7:0] DE_SIZE_OUT [15:8] DE_MISMATCH_FLAG 8'h00 8'h00 8'h00 8'h00 8'h00 Table 14: Data Measurement Registers (Sheet 1 of 3) Register Name DMEAS_AEC_CTRL Addr 0x0900 Mode Bits [7:6] Default 0x0 color select 00: all 01: red 10: green 11: blue Description R/W [5] 0x0 vsync edge select 0: rising edge 1: falling edge hsync edge select 0: rising edge 1: falling edge interlace mode enable 0: use data valid (tv mode only) 1: use data enable for data valid algorithm select 00 = Edge Intensity & Pixel Sum 01 = Min / Max & PCD 10 = H position and V position 11 = DE size R/W [4] 0x0 R/W R/W R/W [3] [2] [1:0] 0x0 0x0 0x0 40/89 ADE3700 Data Measurement (DMEAS) Table 14: Data Measurement Registers (Sheet 2 of 3) Register Name DMEAS_MODE_CTRL Addr 0x0901 Mode R/W R/W R/W R/W R/W R/W R/W Bits [7] [6] [5] [4] [3] [1] [0] [7:0] [7:0] [7:4] Default 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 Description Reset the DE mismatch flag DE_freeze enable DE_one shot mode enable 0: Listen to odd frame only 1: Listen to even frame only Threshold Mode Bit Polling Bit Data Measurement Start Threshold value for selected algorithm Min. X window [7:0] (bits[3:0] read back `0'. Reserved Min. X window [11:8] (relative to hsync) DMEAS_THRESHOLD DMEAS_WIN_MIN_X_L DMEAS_WIN_MIN_X_H 0x0902 0x0903 0x0904 R/W R/W R/W DMEAS_WIN_MAX_X_L DMEAS_WIN_MAX_X_H 0x0905 0x0906 R/W R/W [3:0] [7:0] [7:4] [3:0] 0xFFF Max. X window [7:0] (bits[3:0] read back `0'. Reserved Max. X window [11:8] Relative to hsync, must be less than input horizontal total (LLK_LINELEN for analog input). DMEAS_WIN_MIN_Y_L DMEAS_WIN_MIN_Y_H 0x0907 0x0908 R/W [7:0] [7:4] 0x0 Min. Y window [7:0] (bits[3:0] read back `0'. Reserved Min. Y window [11:8] (relative to vsync) R/W DMEAS_WIN_MAX_Y_L DMEAS_WIN_MAX_Y_H 0x0909 0x090A R/W DMEAS_DE_REF_L DMEAS_DE_REF_L DMEAS_DE_TOL DMEAS_DATA_0 DMEAS_DATA_1 DMEAS_DATA_2 DMEAS_DATA_3 DMEAS_DATA_4 DMEAS_DATA_5 DMEAS_DATA_6 DMEAS_DATA_7 0x090B 0x090C 0x090D 0x090E 0x090F 0x0910 0x0911 0x0912 0x0913 0x0914 0x0915 R/W R/W R/W R R R R R R R R R/W [3:0] [7:0] [7:4] [3:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xFFF Max. Y window [7:0] (bits[3:0] read back `0'. Reserved Max. Y window [11:8] (relative to vsync) DE_size expected result [7:0] DE_size expected result [15:8] DE_tolerance value For details, refer to Table 13. 41/89 LCD Scaler Table 14: Data Measurement Registers (Sheet 3 of 3) Register Name DMEAS_SCR_PAD_0 DMEAS_SCR_PAD_1 DMEAS_SCR_PAD_2 DMEAS_SCR_PAD_3 DMEAS_SCR_PAD_4 DMEAS_SCR_PAD_5 DMEAS_SCR_PAD_6 DMEAS_SCR_PAD_7 DMEAS_SCR_PAD_8 DMEAS_SCR_PAD_9 DMEAS_SCR_PAD_10 DMEAS_SCR_PAD_11 DMEAS_SCR_PAD_12 DMEAS_SCR_PAD_13 DMEAS_SCR_PAD_14 DMEAS_SCR_PAD_15 ADE3700 Addr 0x0934 0x0916 0x0917 0x0918 0x0919 0x091A 0x091B 0x091C 0x091E 0x091F 0x0920 0x0921 0x0922 0x0923 0x0924 0x0925 Mode R 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 Bits [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] Default 0x0 Description Scratch Pad Registers 2.10 LCD Scaler The LCD Scaler module resizes images from one resolution to another. It employs a 3x3 nonseparable scaling filter which performs a dot product of the input pixel values with a weighting vector that is computed from the chosen filtering function. To sharpen text without introducing excessive artifacts, the output pixel's contrast level is adjusted based on the context value measured over a 3x3 grid in the relevant area of the source image. For proper scaler operation, the SCLK frequency must be set greater than the max of DCLK and IN_HPIXEL x DCLK_FREQ / (DEST_HPIXEL x PIXEL_AVG). Table 15: LCD Scaler Registers (Sheet 1 of 3) Register Name Addr 0x0A01 0x0A02 0x0A03 0x0A04 0x0A05 0x0A06 0x0A07 0x0A08 0x0A09 Mode R/W R/W R/W R/W R/W R/W R/W R/W R/W Bits [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [0] [7:0] [7:0] Default 0x0 Description Input Horizontal Resolution Bits [3:0] must be set to zero. SCL_SRC_HPIX_L SCL_SRC_HPIX_H SCL_SRC_VPIX_L SCL_SRC_VPIX_H SCL_SCALEFACH_L SCL_SCALEFACH_M SCL_SCALEFACH_H SCL_SCALEFACV_L SCL_SCALEFACV_H 0x0 Input Vertical Resolution Bits[3:0] must be set to 0. 0x0 0x0 0x0 0x0 0x0 17-bit Horizontal Scale Factor = (in_hpixel << 16) / dest_hpixel + 0.5 16-bit Vertical Scale Factor = (in_vpixel << 15) / dest_vpixel + 0.5 42/89 ADE3700 Table 15: LCD Scaler Registers (Sheet 2 of 3) Register Name SCL_ORIGHPOS_0 SCL_ORIGHPOS_1 SCL_ORIGHPOS_2 SCL_ORIGHPOS_3 SCL_ORIGVPOS_E_0 SCL_ORIGVPOS_E_1 SCL_ORIGVPOS_E_2 SCL_ORIGVPOS_E_3 SCL_THRES_SLOPE LCD Scaler Addr 0x0A0A 0x0A0B 0x0A0C 0x0A0D 0x0A0E 0x0A0F 0x0A10 0x0A11 0x0A16 Mode R/W R/W R/W RW R/W R/W R/W R/W Bits [7:0] [7:0] [7:0] [2:0] [7:0] [7:0] [7:0] [2:0] [7:6] Default 0x0 0x0 0x0 0x0 0x0 Description 2's complement, signed number 27-bit horizontal position of the first output pixel =(-dest_hpos * scalefactor_h) >> 5 0x0 2's complement, signed number 27-bit vertical position of the first output pixel of the even frame = (-dest_vpos_e * scalefactor_v) >> 5 0x0 0x28 0x40 0x0 0x2 0x0 0x0 0x0 Reserved Slope of the contrast amplification function Offset of the contrast amplification function [7:0] Reserved Offset of the contrast amplification function [9:8] Reserved 0: Normal 1: TCON control of contrast amplification 0: Contrast Amplification enabled 1: Bypass Contrast Amplification Reserved R/W SCL_THRES_OFFSET_L SCL_THRES_OFFSET_H 0x0A17 0x0A18 R/W SCL_CBBYPASS 0x0A19 R/W R/W [5:0] [7:0] [7:2] [1:0] [7:2] [1] R/W SCL_CON_CAL_SEL 0x0A1A R/W SCL_TESTCON 0x0A1B R/W [0] [7:1] [0] [7:2] [1:0] 0x0 0: Context = max of RGB pk-pk 1: Context = sum of RGB pk-pk 6-bit contrast amplification test data 0x0 0x0, 0x3: normal 0x1: force input data into the contrast amplification function to bits [7:2] 0x2: force the output context data to be bits [5:2] SCL_LUT1 SCL_LUT2 SCL_LUT3 SCL_LUT4 SCL_LUT5 SCL_LUT6 0x0A1C 0x0A1D 0x0A1E 0x0A1F 0x0A20 0x0A21 R/W R/W R/W R/W R/W R/W [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] 0xFA 0xF7 0xF7 0xFC 0x2 0x0D Sigmoidal Function LUT Entry 1, 8-bit 2's complement Sigmoidal Function LUT Entry 2, 8-bit 2's complement Sigmoidal Function LUT Entry 3, 8-bit 2's complement Sigmoidal Function LUT Entry 4, 8-bit 2's complement Sigmoidal Function LUT Entry 5, 8-bit 2's complement Sigmoidal Function LUT Entry 6, 8-bit 2's complement 43/89 LCD Scaler Table 15: LCD Scaler Registers (Sheet 3 of 3) Register Name SCL_LUT7 SCL_LUT8 SCL_LUT9 SCL_LUT10 SCL_LUT11 SCL_LUT12 SCL_LUT13 SCL_LUT14 SCL_LUT15 SCL_BGCOLOR_R SCL_BGCOLOR_G SCL_BGCOLOR_B SCL_BCOLOR_CTRL ADE3700 Addr 0x0A22 0x0A23 0x0A24 0x0A25 0x0A26 0x0A27 0x0A28 0x0A29 0x0A2A 0x0A2B 0x0A2C 0x0A2D 0x0A2E Mode 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 Bits [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7] [6] Default 0x17 0x21 0x28 0x2C 0x2C 0x28 0x21 0x17 0x0C 0x0 0x0 0x0 0x0 0x0 Description Sigmoidal Function LUT Entry 7, 8-bit 2's complement Sigmoidal Function LUT Entry 8, 8-bit 2's complement Sigmoidal Function LUT Entry 9, 8-bit 2's complement Sigmoidal Function LUT Entry 10, 8-bit 2's complement Sigmoidal Function LUT Entry 11, 8-bit 2's complement Sigmoidal Function LUT Entry 12, 8-bit 2's complement Sigmoidal Function LUT Entry 13, 8-bit 2's complement Sigmoidal Function LUT Entry 14, 8-bit 2's complement Sigmoidal Function LUT Entry 15, 8-bit 2's complement Red Component of background color Green Component of background color Blue Component of background color 0: Normal 1: Force image to background color Top & Bottom Border Control 0: pixel replicating 1: background color blending R/W [5] 0x0 Left & Right Border Control: 0: pixel replicating 1: background color blending R/W [4] 0x0 Force output data as described in bit [1] when the maximum output vertical is reached. Force output data as described in bit [1] when an abnormal condition is detected by the sync measurement module. When the scaler is not running, force the output data to black if this bit is 0 or to the background color if the bit is 1. If an abnormality is detected in the sync measurement module or if the maximum output vertical total has been reached, force the output data to black if this bit is 0 or to white if this bit is 1. During blanking, force output data to black if this bit is 0 or to the background color if this bit is 1. R/W [3] 0x0 R/W [2] 0x0 R/W [1] 0x0 R/W [0] 0x0 44/89 ADE3700 Output Sequencer 2.11 Output Sequencer The Output Sequencer module synchronizes timing for the output video interface. It allows sufficient flexibility to support a broad range of Smart Panel applications as well using the Output Timing Controller (TCON) module, refer to Section 2.12 for more details. The timing unit is based on horizontal and vertical counters, which are locked with the input video stream. Figure 5: Output Sequencer and Timing Controller Block Diagram I2C Interface timing unit horizontal vertical delay vert_start signal generation fixed (OSQ) programmable (TCON) hs, vs, den tcon [o:13] 2.11.1 Frame Synchronization Due to the limited pixel memory of the chip, the output active video needs to be perfectly synchronized with the input active video. This mode of operation is called Frame Lock. Figure 6: Frame Lock Operation 2.11.2 Timing Unit The Timing Unit consists of a 12-bit horizontal and 12-bit vertical counter. It is synchronized with the input video stream. 2.11.3 Signal Generation The Signal Generation unit can generate all fixed control signals like hsync, vsync and data enable as well as those required to run the internal data path. The fixed control signals appear on the 45/89 Output Sequencer ADE3700 alternate output sync pins (AHS, AUS, ADE) for applications that do not require the more sophisticated timing control provided by the programmable TCON module. Table 16: Output Sequencer Registers (Sheet 1 of 2) Register Name OSQ_CONTROL Addr 0x0BC1 Mode R R/W R/W R/W Bits [7] [6] [5] [4] Default Description OUT_VMAX detected, sticky bit 0x0 0x0 0x0 OUT_VMAX detect reset Interlace Enable Fractional Line Extend 0: +1 1: +2 R/W [3] 0x0 Frame Lock Reference 0: Last Input Pixel 1: First Input Pixel R/W [2] 0x0 Frame Lock Selection 0: Last Line Variable 1: Fixed Line Length R R/W [1] [0] 0x0 Shutdown ready - current frame has completed, panel can now be shut down Run sequencer when 1, otherwise stop at the end of the frame and set shutdown ready flag (bit [1]) The fraction of lines (/256) that are extended Nominal Output Horizontal Total [7:0] Reserved 0x0 0x0 Nominal Output Horizontal Total [11:8] minimum output vertical total, used to rearm for vert_enab trigger [7:0] Reserved 0x0 0x0 Minimum Output Vertical Total, used to rearm for vert_enab triggers [11:8] Maximum Output Vertical Total, prevents panel burn with loss of vert_enab trigger [7:0] Reserved 0x0 0x0 Maximum Output Vertical Total, prevents panel burn with loss of vert_enab triggers [11:8] Delay of the VERT_ENAB signal to the reset of the horizontal and vertical counters, even and non-interlaced modes [15:0] OSQ_CLOCK_FRAC OSQ_OUT_HTOTAL_L OSQ_OUT_HTOTAL_H 0x0BC2 0x0BC3 0x0BC4 R/W R/W [7:0] [7:0] [7:4] 0x0 0x0 R/W OSQ_OUT_VTOTAL_MIN_L OSQ_OUT_VTOTAL_MIN_H 0x0BC5 0x0BC6 R/W OSQ_VTOTAL_MAX_L OSQ_VTOTAL_MAX_H 0x0BC7 0x0BC8 R/W OSQ_VERTEN_DLY_E_L 0x0BC9 R/W R/W R/W [3:0] [7:0] [7:4] [3:0] [7:0] [7:4] [3:0] [7:0] OSQ_VERTEN_DLY_E_M OSQ_VERTEN_DLY_E_H 0x0BCA 0x0BCB R/W [7:0] [7:4] 0x0 Reserved 0x0 Delay of the VERT_ENAB signal to the reset of the horizontal and vertical counters, even and non-interlaced [19:16] R/W [3:0] 46/89 ADE3700 Table 16: Output Sequencer Registers (Sheet 2 of 2) Register Name OSQ_VERTEN_DLY_O_L Output Sequencer Addr 0x0BCC Mode R/W Bits [7:0] Default 0x0 Description Delay of the VERT_ENAB signal to the reset of the horizontal and vertical counters, odd frame in interlace mode only [15:0] OSQ_VERTEN_DLY_O_M OSQ_VERTEN_DLY_O_H 0x0BCD 0x0BCE R/W [7:0] [7:4] 0x0 0x0 0x0 Reserved Delay of the VERT_ENAB signal to the reset of the horizontal and vertical counters, odd frame in interlace mode only [19:16] Vertical count at which VSYNC goes high [7:0] Reserved vertical count at which VSYNC goes high [11:8] Vertical count at which VSYNC goes low [7:0] Reserved Vertical count at which VSYNC goes low [11:8] Horizontal count at which HSYNC goes high [7:0] Reserved Horizontal count at which HSYNC goes high [11:8] 0x0 0x0 0x0 0x0 0x0 0x0 Horizontal count at which HSYNC goes low [7:0] Reserved Horizontal count at which HSYNC goes low [11:8] Horizontal count at which ENAB goes high [7:0] Reserved Horizontal count at which ENAB goes high [11:8] value must be greater than 0x01C R/W [3:0] OSQ_VSYNC_SET_L OSQ_VSYNC_SET_H 0x0BCF 0x0BD0 R/W [7:0] [7:4] 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 R/W OSQ_VSYNC_RST_L OSQ_VSYNC_RST_H 0x0BD1 0x0BD2 R/W OSQ_HSYNC_SET_L OSQ_HSYNC_SET_H 0x0BD3 0x0BD4 R/W OSQ_HSYNC_RST_L OSQ_HSYNC_RST_H 0x0BD5 0x0BD6 R/W OSQ_HENAB_SET_L OSQ_HENAB_SET_H 0x0BD7 0x0BD8 R/W R/W R/W R/W R/W [3:0] [7:0] [7:4] [3:0] [7:0] [7:4] [3:0] [7:0] [7:4] [3:0] [7:0] [7:4] [3:0] OSQ_HENAB_RST_L OSQ_HENAB_RST_H 0x0BD9 0x0BDA R/W [7:0] [7:4] 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 Horizontal count at which ENAB goes low [7:0] Reserved Horizontal count at which ENAB goes low [11:8] Vertical count at which ENAB goes high [7:0] Reserved Vertical count at which ENAB goes high [11:8] Vertical count at which ENAB goes low [7:0] Reserved Vertical count at which ENAB goes low [11:8] Vertical Counter /16 indicating the current frame position R/W OSQ_VENAB_SET_L OSQ_VENAB_SET_H 0x0BDB 0x0BDC R/W OSQ_VENAB_RST_L OSQ_VENAB_RST_H 0x0BDD 0x0BDE R/W OSQ_OUT_VCOUNT 0x0BDF R R/W R/W [3:0] [7:0] [7:4] [3:0] [7:0] [7:4] [3:0] [7:0] 47/89 Timing Controller (TCON) ADE3700 2.12 Timing Controller (TCON) The Output Timing Controller module provides timing for Smart Panel applications and other applications that are sensitive to output synchronization timing. The timing unit is based on horizontal and vertical counters, which are locked with the output video stream. A set of programmable comparators provides all necessary time events to generate the signals for the driver interface. Please refer to the Programming Tool User's Manual and to the "Using TCON Outputs" application note for more details. Table 17: TCON Registers (Sheet 1 of 7) Register Name Addr. 0x0B00 R/W R/W R/W Mode Bits [7:3] [2] [1] [0] [7:0] [7:5] [4] [3:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] Default Reserved 0x0 0x0 0x0 0x0 Description TCON_CONTROL 0: no TCON pipe delay matching 1: TCON pipe delay enabled (normal) Initialize SRTDs Enable TCON count comparison value [7:0] Reserved 0: horizontal count compare 1: vertical count compare count comparison value [11:8] TCON_COMP_0_L TCON_COMP_0_H 0x0B10 0x0B11 R/W R/W R/W R/W TCON_COMP_1_L TCON_COMP_1_H TCON_COMP_2_L TCON_COMP_2_H TCON_COMP_3_L TCON_COMP_3_H TCON_COMP_4_L TCON_COMP_4_H TCON_COMP_5_L TCON_COMP_5_H TCON_COMP_6_L TCON_COMP_6_H TCON_COMP_7_L TCON_COMP_7_H TCON_COMP_8_L TCON_COMP_8_H TCON_COMP_9_L TCON_COMP_9_H 0x0B12 0x0B13 0x0B14 0x0B15 0x0B16 0x0B17 0x0B18 0x0B19 0x0B1A 0x0B1B 0x0B1C 0x0B1D 0x0B1E 0x0B1F 0x0B20 0x0B21 0x0B22 0x0B23 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 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 Refer to TCON_COMP_0 for definition Refer to TCON_COMP_0 for definition Refer to TCON_COMP_0 for definition Refer to TCON_COMP_0 for definition Refer to TCON_COMP_0 for definition Refer to TCON_COMP_0 for definition Refer to TCON_COMP_0 for definition Refer to TCON_COMP_0 for definition Refer to TCON_COMP_0 for definition 48/89 ADE3700 Table 17: TCON Registers (Sheet 2 of 7) Register Name TCON_COMP_10_L TCON_COMP_10_H TCON_COMP_11_L TCON_COMP_11_H TCON_COMP_12_L TCON_COMP_12_H TCON_COMP_13_L TCON_COMP_13_H TCON_COMP_14_L TCON_COMP_14_H TCON_COMP_15_L TCON_COMP_15_H TCON_COMP_16_L TCON_COMP_16_H TCON_COMP_17_L TCON_COMP_17_H TCON_COMP_18_L TCON_COMP_18_H TCON_COMP_19_L TCON_COMP_19_H TCON_COMP_20_L TCON_COMP_20_H TCON_COMP_21_L TCON_COMP_21_H TCON_COMP_22_L TCON_COMP_22_H TCON_COMP_23_L TCON_COMP_23_H TCON_COMP_24_L TCON_COMP_24_H TCON_COMP_25_L TCON_COMP_25_H TCON_COMP_26_L TCON_COMP_26_H Timing Controller (TCON) Addr. 0x0B24 0x0B25 0x0B26 0x0B27 0x0B28 0x0B29 0x0B2A 0x0B2B 0x0B2C 0x0B2D 0x0B2E 0x0B2F 0x0B30 0x0B31 0x0B32 0x0B33 0x0B34 0x0B35 0x0B36 0x0B37 0x0B38 0x0B39 0x0B3A 0x0B3B 0x0B3C 0x0B3D 0x0B3E 0x0B3F 0x0B40 0x0B41 0x0B42 0x0B43 0x0B44 0x0B45 Mode 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 R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W Bits [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] Default 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 Description Refer to TCON_COMP_0 for definition Refer to TCON_COMP_0 for definition Refer to TCON_COMP_0 for definition Refer to TCON_COMP_0 for definition Refer to TCON_COMP_0 for definition Refer to TCON_COMP_0 for definition Refer to TCON_COMP_0 for definition Refer to TCON_COMP_0 for definition Refer to TCON_COMP_0 for definition Refer to TCON_COMP_0 for definition Refer to TCON_COMP_0 for definition Refer to TCON_COMP_0 for definition Refer to TCON_COMP_0 for definition Refer to TCON_COMP_0 for definition Refer to TCON_COMP_0 for definition Refer to TCON_COMP_0 for definition v to TCON_COMP_0 for definition 49/89 Timing Controller (TCON) Table 17: TCON Registers (Sheet 3 of 7) Register Name TCON_COMP_27_L TCON_COMP_27_H TCON_SRTD_0 ADE3700 Addr. 0x0B46 0x0B47 0x0B50 Mode R/W R/W Bits [7:0] [7:0] [7:4] Default 0x0 0x0 0x0 0x0 0x0 Reserved Description Refer to TCON_COMP_0 for definition R/W R/W [3] [2:0] SRTD initialization state 0x0: f (A&B,&C&D,0,0) 0x1: f (A&B,&C&D,0,0) 0x2: f (A&B,&C&D,0,0) 0x3: f (0,0,A&B,0) 0x4: f (0,0,0,A&B) 0x5: f (0,0,0,A|B) 0x6: f (0,0,0,A^B) 0x7: f (0,0,0,!(A&B)) where f(Set, Reset, Toggle, Dflop) is a programmable logic/flop element TCON_SRTD_1 TCON_SRTD_2 TCON_SRTD_3 TCON_SRTD_4 TCON_SRTD_5 TCON_SRTD_6 TCON_SRTD_7 TCON_SRTD_8 TCON_SRTD_9 TCON_SRTD_10 TCON_SRTD_11 TCON_SRTD_12 TCON_SRTD_13 TCON_SRTD_14 TCON_SRTD_15 TCON_SRTD_16 TCON_SRTD_17 TCON_SRTD_18 TCON_SRTD_19 TCON_SRTD_20 TCON_SRTD_21 TCON_SRTD_22 TCON_SRTD_23 TCON_SRTD_24 TCON_SRTD_25 0x0B51 0x0B52 0x0B53 0x0B54 0x0B55 0x0B56 0x0B57 0x0B58 0x0B59 0x0B5A 0x0B5B 0x0B5C 0x0B5D 0x0B5E 0x0B5F 0x0B60 0x0B61 0x0B62 0x0B63 0x0B64 0x0B65 0x0B66 0x0B67 0x0B68 0x0B69 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 R/W [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 Refer to TCON_SRTD_0 for definition. Refer to TCON_SRTD_0 for definition. Refer to TCON_SRTD_0 for definition. Refer to TCON_SRTD_0 for definition. Refer to TCON_SRTD_0 for definition. Refer to TCON_SRTD_0 for definition. Refer to TCON_SRTD_0 for definition. Refer to TCON_SRTD_0 for definition. Refer to TCON_SRTD_0 for definition. Refer to TCON_SRTD_0 for definition. Refer to TCON_SRTD_0 for definition. Refer to TCON_SRTD_0 for definition. Refer to TCON_SRTD_0 for definition. Refer to TCON_SRTD_0 for definition. Refer to TCON_SRTD_0 for definition. Refer to TCON_SRTD_0 for definition. Refer to TCON_SRTD_0 for definition. Refer to TCON_SRTD_0 for definition. Refer to TCON_SRTD_0 for definition. Refer to TCON_SRTD_0 for definition. Refer to TCON_SRTD_0 for definition. Refer to TCON_SRTD_0 for definition. Refer to TCON_SRTD_0 for definition. Refer to TCON_SRTD_0 for definition. Refer to TCON_SRTD_0 for definition. 50/89 ADE3700 Table 17: TCON Registers (Sheet 4 of 7) Register Name TCON_SRTD_26 TCON_SRTD_27 TCON_SRTD_28 TCON_SRTD_29 TCON_SRTD_30 TCON_SRTD_31 TCON_X_0 Timing Controller (TCON) Addr. 0x0B6A 0x0B6B 0x0B6C 0x0B6D 0x0B6E 0x0B6F 0x0B80 Mode R/W R/W R/W R/W R/W R/W Bits [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:6] Default 0x0 0x0 0x0 0x0 0x0 0x0 Description Refer to TCON_SRTD_0 for definition. Refer to TCON_SRTD_0 for definition. Refer to TCON_SRTD_0 for definition. Refer to TCON_SRTD_0 for definition. Refer to TCON_SRTD_0 for definition. Refer to TCON_SRTD_0 for definition. Reserved R/W TCON_X_1 TCON_X_2 TCON_X_3 TCON_X_4 TCON_X_5 TCON_X_6 TCON_X_7 TCON_X_8 TCON_X_9 TCON_X_10 TCON_X_11 TCON_X_12 TCON_X_13 TCON_X_14 TCON_X_15 TCON_X_16 TCON_X_17 0x0B81 0x0B82 0x0B83 0x0B84 0x0B85 0x0B86 0x0B87 0x0B88 0x0B89 0x0B8A 0x0B8B 0x0B8C 0x0B8D 0x0B8E 0x0B8F 0x0B90 0x0B91 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 [5:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 input selection for SRTD_0.A input selection for SRTD_0.B (Refer to Table 18 for definition) input selection for SRTD_1.A (Refer to Table 18 for definition) input selection for SRTD_1.B (Refer to Table 18 for definition) input selection for SRTD_2.A (Refer to Table 18 for definition) input selection for SRTD_2.B (Refer to Table 18 for definition) input selection for SRTD_3.A (Refer to Table 18 for definition) input selection for SRTD_3.B (Refer to Table 18 for definition) input selection for SRTD_4.A (Refer to Table 18 for definition) input selection for SRTD_4.B (Refer to Table 18 for definition) input selection for SRTD_5.A (Refer to Table 18 for definition) input selection for SRTD_5.B (Refer to Table 18 for definition) input selection for SRTD_6.A (Refer to Table 18 for definition) input selection for SRTD_6.B (Refer to Table 18 for definition) input selection for SRTD_7.A (Refer to Table 18 for definition) input selection for SRTD_7.B (Refer to Table 18 for definition) input selection for SRTD_8.A (Refer to Table 18 for definition) input selection for SRTD_8.B (Refer to Table 18 for definition) 51/89 Timing Controller (TCON) Table 17: TCON Registers (Sheet 5 of 7) Register Name TCON_X_18 TCON_X_19 TCON_X_20 TCON_X_21 TCON_X_22 TCON_X_23 TCON_X_24 TCON_X_25 TCON_X_26 TCON_X_27 TCON_X_28 TCON_X_29 TCON_X_30 TCON_X_31 TCON_X_32 TCON_X_33 TCON_X_34 TCON_X_35 TCON_X_36 TCON_X_37 TCON_X_38 TCON_X_39 ADE3700 Addr. 0x0B92 0x0B93 0x0B94 0x0B95 0x0B96 0x0B97 0x0B98 0x0B99 0x0B9A 0x0B9B 0x0B9C 0x0B9D 0x0B9E 0x0B9F 0x0BA0 0x0BA1 0x0BA2 0x0BA3 0x0BA4 0x0BA5 0x0BA6 0x0BA7 Mode 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 Bits [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] Default 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 Description input selection for SRTD_9.A (Refer to Table 18 for definition) input selection for SRTD_9.B (Refer to Table 18 for definition) input selection for SRTD_10.A (Refer to Table 18 for definition) input selection for SRTD_10.B (Refer to Table 18 for definition) input selection for SRTD_11.A (Refer to Table 18 for definition) input selection for SRTD_11.B (Refer to Table 18 for definition) input selection for SRTD_12.A (Refer to Table 18 for definition) input selection for SRTD_12. (Refer to Table 18 for definition) input selection for SRTD_13.A (Refer to Table 18 for definition) input selection for SRTD_13.B (Refer to Table 18 for definition) input selection for SRTD_14.A (Refer to Table 18 for definition) input selection for SRTD_14.B (Refer to Table 18 for definition) input selection for SRTD_15.A (Refer to Table 18 for definition) input selection for SRTD_15.B (Refer to Table 18 for definition) input selection for SRTD_16.A (Refer to Table 18 for definition) input selection for SRTD_16.B (Refer to Table 18 for definition) input selection for SRTD_17.A (Refer to Table 18 for definition) input selection for SRTD_17.B (Refer to Table 18 for definition) input selection for SRTD_18.A (Refer to Table 18 for definition) input selection for SRTD_18.B (Refer to Table 18 for definition) input selection for SRTD_19.A (Refer to Table 18 for definition) input selection for SRTD_19.B (Refer to Table 18 for definition) 52/89 ADE3700 Table 17: TCON Registers (Sheet 6 of 7) Register Name TCON_X_40 TCON_X_41 TCON_X_42 TCON_X_43 TCON_X_44 TCON_X_45 TCON_X_46 TCON_X_47 TCON_X_48 TCON_X_49 TCON_X_50 TCON_X_51 TCON_X_52 TCON_X_53 TCON_X_54 TCON_X_55 TCON_X_56 TCON_X_57 TCON_X_58 TCON_X_59 TCON_X_60 TCON_X_61 Timing Controller (TCON) Addr. 0x0BA8 0x0BA9 0x0BAA 0x0BAB 0x0BAC 0x0BAD 0x0BAE 0x0BAF 0x0BB0 0x0BB1 0x0BB2 0x0BB3 0x0BB4 0x0BB5 0x0BB6 0x0BB7 0x0BB8 0x0BB9 0x0BBA 0x0BBB 0x0BBC 0x0BBD Mode 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 Bits [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] Default 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 Description input selection for SRTD_20.A (Refer to Table 18 for definition) input selection for SRTD_20.B (Refer to Table 18 for definition) input selection for SRTD_21.A (Refer to Table 18 for definition) input selection for SRTD_21.B (Refer to Table 18 for definition) input selection for SRTD_22.A (Refer to Table 18 for definition) input selection for SRTD_22.B (Refer to Table 18 for definition) input selection for SRTD_23.A (Refer to Table 18 for definition) input selection for SRTD_23.B (Refer to Table 18 for definition) input selection for SRTD_24.A (Refer to Table 18 for definition) input selection for SRTD_24.B (Refer to Table 18 for definition) input selection for SRTD_25.A (Refer to Table 18 for definition) input selection for SRTD_25.B (Refer to Table 18 for definition) input selection for SRTD_26.A (Refer to Table 18 for definition) input selection for SRTD_26.B (Refer to Table 18 for definition) input selection for SRTD_27.A (Refer to Table 18 for definition) input selection for SRTD_27.B (Refer to Table 18 for definition) input selection for SRTD_28.A (Refer to Table 18 for definition) input selection for SRTD_28.B (Refer to Table 18 for definition) input selection for SRTD_29.A (Refer to Table 18 for definition) input selection for SRTD_29.B (Refer to Table 18 for definition) input selection for SRTD_30.A (Refer to Table 18 for definition) input selection for SRTD_30.B (Refer to Table 18 for definition) 53/89 Pattern Generator Table 17: TCON Registers (Sheet 7 of 7) Register Name TCON_X_62 TCON_X_63 ADE3700 Addr. 0x0BBE 0x0BBF Mode R/W R/W Bits [7:0] [7:0] Default 0x0 0x0 Description input selection for SRTD_31.A (Refer to Table 18 for definition) input selection for SRTD_31.B (Refer to Table 18 for definition) Table 18: Input Selection Values Value 0x00 0x01 0x02 0x03 0x04 - 0x1F 0x20 - 0x37 0x38 0 1 External TCON input pin I2C SRTD init bit comp0 - comp27 SRTD8 - SRTD31 2 frame + 1 line + 2 pixel toggle Description Value 0x39 0x3A 0x3B 0x3C 0x3D 0x3E 0x3F Description 2 frame + 2 line + 1 pixel toggle HCOUNT[0] HCOUNT[1] VCOUNT[0] VCOUNT[1] FCOUNT[0] FCOUNT[1] 2.13 Pattern Generator The integrated Pattern Generator gives the ability to display a set of graphic patterns to help debugging systems and test LCD panels. It is located ahead of the color management block, so all generated colors are subject to further transforms. The screen can be split into a programmable grid of up to 8x8 areas. In each of these areas, it is possible to display one of two independent programmable patterns. 2.13.1 Screen Split A set of eight Grid registers grid0 - grid7 with eight bits each represents a block map of the grid of 8x8 blocks. Each bit of the Grid registers represents one rectangular (gridX)x(gridY) block of pixels which covers the LCD screen display area. Within these registers, a 0 selects Pattern 0 (defined below) and a 1 selects Pattern 1. All cells have the same size, defined by one horizontal and one vertical grid block size registers gridX and gridY. When the programmed block size is such that the complete 8x8 grid is larger than the total screen area, only the blocks or part of blocks that are included in the output screen space are rendered. The 8x8 block set is upper left justified, such that all blocks on the right and bottom sides that are outside of the total display area are not rendered. 54/89 ADE3700 Pattern Generator When the programmed block size is such that the complete 8x8 grid is smaller than the total screen area, the part of the screen area which is outside the 8x8 grid is forced to black. Figure 7: Pattern Generator (Screen Split) 2.13.2 Pattern Engine In order to display two patterns simultaneously on the LCD screen, the Pattern Generator has two pattern display engines. Each engine can display horizontal or vertical bicolor stripes, bicolor checkers, color bars, gray scales or color scales. It is also possible to select the video stream from the scaler as a pattern. The pattern engine displays a bi-directional x-y symmetric pattern. Two 24-bit colors, C0 and C1, are alternately displayed with a horizontal period of Width and vertical period of Height. Programming a large Width and a small Height generates horizontal bars whereas the opposite will generate vertical bars. Programming small numbers for Width and Height generates checker patterns. Each of the two patterns is also given X and Y offset attributes, so that it is possible to center the pattern inside the grid blocks. A gradient effect can be applied independently on each of the two patterns, to either or both horizontal and vertical directions. The gradient effect takes two parameters: STEP and DELTA that define a ramp. 2.13.3 Borders The Border Generator adds a single pixel width border to the whole display area. Each of the four sides of the display can be one of 8 independent colors. Table 19: PGEN Registers (Sheet 1 of 5) Register Name PGEN_PGEN_ENAB Addr 0x0600 Mode Bits [7:1] Default Reserved 0x0 0x0 0x0 0x0 Description R/W PGEN_GRID0 PGEN_GRID1 PGEN_GRID2 0x0601 0x0602 0x0603 R/W R/W R/W [0] [7:0] [7:0] [7:0] 0 = disable PGEN block 1 = enable PGEN block Grid Row 0 Grid Row 1 Grid Row 2 55/89 Pattern Generator Table 19: PGEN Registers (Sheet 2 of 5) Register Name PGEN_GRID3 PGEN_GRID4 PGEN_GRID5 PGEN_GRID6 PGEN_GRID7 PGEN_GRID_X_L PGEN_GRID_X_H ADE3700 Addr 0x0604 0x0605 0x0606 0x0607 0x0608 0x0609 0x060A Mode R/W R/W R/W R/W R/W R/W Bits [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:4] Default 0x0 0x0 0x0 0x0 0x0 0x0 Grid Row 3 Grid Row 4 Grid Row 5 Grid Row 6 Grid Row 7 Description width of a grid block in pixels [7:0] Reserved R/W PGEN_GRID_Y_L PGEN_GRID_Y_H 0x060B 0x060C R/W PGEN_GRID_X_OFFSET_X_L PGEN_GRID_X_OFFSET_X_H 0x060D 0x060E R/W PGEN_GRID_Y_OFFSET_Y_L PGEN_GRID_Y_OFFSET_Y_H PGEN_P0_MODE 0x060F 0x0610 0x0611 R/W R/W R/W R/W R/W R/W R/W R/W [3:0] [7:0] [7:4] [3:0] [7:0] [7:4] [3:0] [7:4] [3:0] 0x0 0x0 width of a grid block in pixels [11:8] height of a grid block in pixels [7:0] Reserved 0x0 0x0 height of a grid block in pixels [11:8] grid block horizontal offset in pixels [7:0] Reserved 0x0 0x0 Grid Block Horizontal Offset in pixels [11:8] Grid Block Vertical Offset in pixels Pattern 0 Control [7:5] [4:2] [1] 0x0 0x0 0x0 number of bars in C0 number of bars in C1 0: pattern continues to progress across block boundaries 1: block boundaries cause the pattern to restart 0: normal mode 1: C0 = video bypass Pattern 1 Control R/W PGEN_P1_MODE 0x0612 R/W R/W R/W [0] 0x0 [7:5] [4:2] [1] 0x0 0x0 0x0 number of bars in C0 number of bars in C1 0: pattern continues to progress across block boundaries 1: block boundaries cause the pattern to restart 0: normal mode 1: C0 = video bypass Pattern 0 Bar Width [7:0] Reserved R/W PGEN_P0_WIDTH_X_L PGEN_P0_WIDTH_X_H 0x0613 0x0614 R/W PGEN_P0_WIDTH_X_OFFSET_L 0x0615 R/W R/W [0] [7:0] [7:4] [3:0] [7:0] 0x0 0x0 0x0 0x0 Pattern 0 Bar Width [11:8] Pattern 0 Horizontal Offset [7:0] 56/89 ADE3700 Table 19: PGEN Registers (Sheet 3 of 5) Register Name PGEN_P0_WIDTH_X_OFFSET_H Pattern Generator Addr 0x0616 Mode Bits [7:4] Default Reserved 0x0 0x0 0x0 0x0 0x0 Description R/W PGEN_P0_HEIGHT_Y_L PGEN_P0_HEIGHT_Y_H 0x0617 0x0618 R/W R/W R/W PGEN_P0_HEIGHT_Y_OFFSET_L PGEN_P0_HEIGHT_Y_OFFSET_H 0x0619 0x061A R/W PGEN_P1_WIDTH_X_L PGEN_P1_WIDTH_X_H 0x061B 0x061C R/W PGEN_P1_WIDTH_X_OFFSET_L PGEN_P1_WIDTH_X_OFFSET_H 0x061D 0x061E R/W PGEN_P1_HEIGHT_Y_L PGEN_P1_HEIGHT_Y_H 0x061F 0x0620 R/W R/W R/W PGEN_P1_HEIGHT_Y_OFFSET_L PGEN_P1_HEIGHT_Y_OFFSET_H 0x0621 0x0622 R/W PGEN_P0_COLOR_R_C0 PGEN_P0_COLOR_G_C0 PGEN_P0_COLOR_B_C0 PGEN_P0_COLOR_R_C1 PGEN_P0_COLOR_G_C1 PGEN_P0_COLOR_B_C1 PGEN_P1_COLOR_R_C0 PGEN_P1_COLOR_G_C0 PGEN_P1_COLOR_B_C0 PGEN_P1_COLOR_R_C1 PGEN_P1_COLOR_G_C1 PGEN_P1_COLOR_B_C1 PGEN_P0_GRADDELTA_R PGEN_P0_GRADDELTA_G PGEN_P0_GRADDELTA_B 0x0623 0x0624 0x0625 0x0626 0x0627 0x0628 0x0629 0x062A 0x062B 0x062C 0x062D 0x062E 0x062F 0x0630 0x0631 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 [3:0] [7:0] [7:4] [3:0] [7:0] [7:4] [3:0] [7:0] [7:4] [3:0] [7:0] [7:4] [3:0] [7:0] [7:4] [3:0] [7:0] [7:4] [3:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] Pattern 0 Horizontal Offset [11:8] Pattern 0 Bar Height [7:0] Pattern 0 Vertical Sequence Increment Pattern 0 Bar Height [11:8] Pattern 0 Vertical Offset [7:0] Reserved 0x0 0x0 Pattern 0 Vertical Offset [11:8] Pattern 1 Bar Width [7:0] Reserved 0x0 0x0 Pattern 1 Bar Width [11:8] Pattern 1 Horizontal Offset [7:0] Reserved 0x0 0x0 0x0 0x0 0x0 Pattern 1 Horizontal Offset [11:8] Pattern 1 Bar Height [7:0] Pattern 1 Vertical Sequence Increment Pattern 1 Bar Height [11:8] Pattern 1 Vertical Offset [7:0] Reserved 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 Pattern 1 Vertical Offset [11:8] Pattern 0 Color C0 - Red Pattern 0 Color C0 - Green Pattern 0 Color C0 - Blue Pattern 0 Color C1 - Red Pattern 0 Color C1 - Green Pattern 0 Color C1 - Blue Pattern 1 Color C0 - Red Pattern 1 Color C0 - Green Pattern 1 Color C0 - Blue Pattern 1 Color C1 - Red Pattern 1 Color C1 - Green Pattern 1 Color C1 - Blue Pattern 0 Gradient Delta On Red Pattern 0 Gradient Delta On Green Pattern 0 Gradient Delta On Blue 57/89 Pattern Generator Table 19: PGEN Registers (Sheet 4 of 5) Register Name PGEN_P0_GRADSTEP_X PGEN_P0_GRADSTEP_Y PGEN_P1_GRADDELTA_R PGEN_P1_GRADDELTA_G PGEN_P1_GRADDELTA_B PGEN_P1_GRADSTEP_X PGEN_P1_GRADSTEP_Y PGEN_P0_SEQ_COL0_COL1 ADE3700 Addr 0x0632 0x0633 0x0634 0x0635 0x0636 0x0637 0x0638 0x0639 Mode R/W R/W R/W R/W R/W R/W R/W Bits [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7] Default 0x0 0x0 0x0 0x0 0x0 0x0 0x0 Description Pattern 0 Gradient Horizontal Step Pattern 0 Gradient Vertical Step Pattern 1 Gradient Delta On Red Pattern 1 Gradient Delta On Green Pattern 1 Gradient Delta On Blue Pattern 1 Gradient Horizontal Step Pattern 1 Gradient Vertical Step Reserved R/W [6:4] [3] 0x0 Pattern 0 Bar 1 Color Reserved R/W PGEN_P0_SEQ_COL2_COL3 0x063A R/W [2:0] [7] [6:4] [3] 0x0 Pattern 0 Bar 0 Color Reserved 0x0 Pattern 0 Bar 3 Color Reserved R/W PGEN_P0_SEQ_COL4_COL5 0x063B R/W [2:0] [7] [6:4] [3] 0x0 Pattern 0 Bar 2 Color Reserved 0x0 Pattern 0 Bar 5 Color Reserved R/W PGEN_P0_SEQ_COL6_COL7 0x063C R/W [2:0] [7] [6:4] [3] 0x0 Pattern 0 Bar 4 Color Reserved 0x0 Pattern 0 Bar 7 Color Reserved R/W PGEN_P1_SEQ_COL0_COL1 0x063D R/W [2:0] [7] [6:4] [3] 0x0 Pattern 0 Bar 6 Color Reserved 0x0 Pattern 1 Bar 1 Color Reserved R/W PGEN_P1_SEQ_COL2_COL3 0x063E R/W [2:0] [7] [6:4] [3] 0x0 Pattern 1 Bar 0 Color Reserved 0x0 Pattern 1 Bar 3 Color Reserved R/W PGEN_P1_SEQ_COL4_COL5 0x063F R/W [2:0] [7] [6:4] [3] 0x0 Pattern 1 Bar 2 Color Reserved 0x0 Pattern 1 Bar 5 Color Reserved R/W [2:0] 0x0 Pattern 1 Bar 4 Color 58/89 ADE3700 Table 19: PGEN Registers (Sheet 5 of 5) Register Name PGEN_P1_SEQ_COL6_COL7 Pattern Generator Addr 0x0640 Mode Bits [7] Default Reserved 0x0 Description R/W [6:4] [3] Pattern 1 Bar 7 Color Reserved R/W PGEN_B_TOP_BOTTOM 0x0641 R/W R/W R/W R/W R/W R/W R/W R/W PGEN_B_LEFT_RIGHT 0x0642 R/W R/W R/W R/W R/W R/W R/W R/W PGEN_X_TOTAL_L PGEN_X_TOTAL_H 0x0643 0x0644 R/W PGEN_Y_TOTAL_L PGEN_Y_TOTAL_H 0x0645 0x0646 R/W R/W R/W [2:0] [7] [6] [5] [4] [3] [2] [1] [0] [7] [6] [5] [4] [3] [2] [1] [0] [7:0] [7:4] [3:0] [7:0] [7:4] [3:0] 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 Pattern 1 Bar 6 Color Top Border Enable Top Border Red; 0 = Off, 1= On Top Border Green; 0 = Off, 1= On Top Border Blue; 0 = Off, 1= On Bottom Border Enable Bottom Border Red; 0 = Off, 1= On Bottom Border Green; 0 = Off, 1= On Bottom Border Blue; 0 = Off, 1= On Left Border Enable Left Border Red; 0 = Off, 1= On Left Border Green; 0 = Off, 1= On Left Border Blue; 0 = Off, 1= On Right Border Enable Right Border Red; 0 = Off, 1= On Right Border Green; 0 = Off, 1= On Right Border Blue; 0 = Off, 1= On Total Horizontal Size [7:0] Reserved 0x0 0x0 Total Horizontal Size [11:8] Total Vertical Size [7:0] Reserved 0x0 Total Vertical Size [11:8] 59/89 sRGB ADE3700 2.14 sRGB The sRGB block performs two primary functions: 1. Parametric gamma correction on multiple windows or full screen, used for video enhancement in a window and digital contrast/brightness control. The window coordinates are set by TCON registers. 2. 3D color cube warping RGB color space. 2.14.1 Parametric Gamma, Digital Contrast / Brightness on Multiple Windows The function can be applied to the entire window by programming the window control to full screen. Each color channel acts independently. Simple digital contrast and brightness can be programmed using this hardware function. The desired window coordinates are programmed into the TCON. 2.14.2 Color Space Warp The 8 corners of the color cube are independently controlled in 3D space with smooth interpolation of intermediate colors. Registers are 2's complement color delta's. For example, to make WHITE more like RED, program SRGB_WHITE_R to a small positive value. Figure 8: Color Space Warp Color Space Warp IN OUT Table 20: sRGB Registers (Sheet 1 of 3) Register Name SRGB_CTRL Addr 0x0D00 Mode R/W R/W Bits [7:6] [5:4] Default 0x0 0x0 Reserved Description gamma_b control 0x0: disable 0x1: full screen 0x2: windowed 0x3: Reserved R/W [3:2] 0x0 gamma_a control 0x0: disable 0x1: full screen 0x2: windowed 0x3: Reserved R/W [1:0] 0x0 sRGB control 0x0: disabled 0x1: full screen 0x2: windowed 0x3: Reserved SRGB_BLACK_R 0x0D01 R/W [7:0] 0x0 Black Point Red Delta 60/89 ADE3700 Table 20: sRGB Registers (Sheet 2 of 3) Register Name SRGB_BLACK_G SRGB_BLACK_B SRGB_RED_R SRGB_RED_G SRGB_RED_B SRGB_GREEN_R SRGB_GREEN_G SRGB_GREEN_B SRGB_BLUE_R SRGB_BLUE_G SRGB_BLUE_B SRGB_YELLOW_R SRGB_YELLOW_G SRGB_YELLOW_B SRGB_CYAN_R SRGB_CYAN_G SRGB_CYAN_B SRGB_MAGENTA_R SRGB_MAGENTA_G SRGB_MAGENTA_B SRGB_WHITE_R SRGB_WHITE_G SRGB_WHITE_B SRGB_GAMMA_A_RED_A SRGB_GAMMA_A_RED_B SRGB_GAMMA_A_RED_C SRGB_GAMMA_A_GREEN_A SRGB_GAMMA_A_GREEN_B SRGB_GAMMA_A_GREEN_C SRGB_GAMMA_A_BLUE_A SRGB_GAMMA_A_BLUE_B SRGB_GAMMA_A_BLUE_C SRGB_GAMMA_B_RED_A SRGB_GAMMA_B_RED_B SRGB_GAMMA_B_RED_C sRGB Addr 0x0D02 0x0D03 0x0D04 0x0D05 0x0D06 0x0D07 0x0D08 0x0D09 0x0D0A 0x0D0B 0x0D0C 0x0D0D 0x0D0E 0x0D0F 0x0D10 0x0D11 0x0D12 0x0D13 0x0D14 0x0D15 0x0D16 0x0D17 0x0D18 0x0D19 0x0D1A 0x0D1B 0x0D1C 0x0D1D 0x0D1E 0x0D1F 0x0D20 0x0D21 0x0D22 0x0D23 0x0D24 Mode 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 R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W Bits [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] Default 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 Description Black Point Green Delta Black Point Blue Delta Red Point Red Delta Red Point Green Delta Red Point Blue Delta Green Point Red Delta Green Point Green Delta Green Point Blue Delta Blue Point Red Delta Blue Point Green Delta Blue Point Blue Delta Yellow Point Red Delta Yellow Point Green Delta Yellow Point Blue Delta Cyan Point Red Delta Cyan Point Green Delta Cyan Point Blue Delta Magenta Point Red Delta Magenta Point Green Delta Magenta Point Blue Delta White Point Red Delta White Point Green Delta White Point Blue Delta Parametric A Gamma A Red, Gamma Parametric A Gamma B Red, Contrast Parametric A Gamma C Red, Brightness Parametric A Gamma A Green, Gamma Parametric A Gamma B Green, Contrast Parametric A Gamma C Green, Brightness Parametric A Gamma A Blue, Gamma Parametric A Gamma B Blue, Contrast Parametric A Gamma C Blue, Brightness Parametric B Gamma A Red, Gamma Parametric Gamma B Red, Contrast Parametric Gamma C Red, Brightness 61/89 On-Screen Display (OSD) Table 20: sRGB Registers (Sheet 3 of 3) Register Name SRGB_GAMMA_B_GREEN_A SRGB_GAMMA_B_GREEN_B SRGB_GAMMA_B_GREEN_C SRGB_GAMMA_B_BLUE_A SRGB_GAMMA_B_BLUE_B SRGB_GAMMA_B_BLUE_C ADE3700 Addr 0x0D25 0x0D26 0x0D27 0x0D28 0x0D29 0x0D2A Mode R/W R/W R/W R/W R/W R/W Bits [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] Default 0x0 0x0 0x0 0x0 0x0 0x0 Description Parametric Gamma A Green, Gamma Parametric Gamma B Green, Contrast Parametric Gamma C Green, Brightness Parametric Gamma A Blue, Gamma Parametric Gamma B Blue, Contrast Parametric Gamma C Blue, Brightness 2.15 On-Screen Display (OSD) The integrated On-Screen Display (OSD) controller is a character-based overlay with a high level of features and over 100 kbits of on-board dedicated RAM storage. q q q q q q q q q q q 15 row by 30 column character-mapped display Four user-definable windows 12x18-pixel characters with optional horizontal and vertical doubling on a row-by-row basis Two 16-entry 24-bit RGB user-definable color maps 192 RAM-based monochrome 1 bpp characters 64 RAM-based graphics 4 bpp characters Text character attributes: foreground/background color, blinking Graphics character attributes: per-pixel color, vertical/horizontal mirroring Row attributes: double width, double height Window attributes: window visibility, position, size, border shadow, color table Global attributes: OSD visibility, OSD screen position, alpha fade in/fade out, global size doubling, rotation in ninety-degree increments Single-bit enable/disable q For information on OSD programming, see the OSD Programming Manual. 2.15.1 OSD Access via I2C The OSD uses a dedicated memory space that is accessed through an I2C port. The data stream sent to the OSD register starts with two header bytes. These specify the type of transfer and the row/column position for screen map transfers, the character index for font definition transfers, or the color index for color map transfers. A stream of OSD writes to the OSD I2C register can fill in a segment of the OSD memory space with an internal auto-incrementing index register. The protocol is as follows: 1. Issue a start sequence with the R/W bit set to W. 2. Write to the OSD register. The first byte transferred is the index of the first internal OSD register to be written. The next byte contains the data to be written to that register. Subsequent bytes are written to successive internal OSD registers. 3. Continue writing data bytes until the desired range of OSD internal registers has been written (the ADE3700 device will issue an ACK on each transfer). 4. Issue an I2C stop sequence. 62/89 ADE3700 Character Display On-Screen Display (OSD) There are two 96-character monochrome fonts and two 32-character four-bit color fonts, a total of 256 characters. The four bits of color are an index into one of two 16 entry color lookup tables. Entries in the color lookup table specify a 24-bit RGB color. All fonts and the color look-up table are RAM-based and must be downloaded to the OSD's internal RAM before use. Font addressing is as follows: character indexes 0x00-0x1F refer to color font 0, 0x20-0x7F refer to monochrome font 0, 0x80-0x9F refer to color font 1 and 0xA0-0xFF refer to monochrome font 1. Screen Map The OSD uses a character map of 15 rows x 30 columns. Each character occupies one byte. The value of each byte indicates the character to display. The OSD character map is addressed by specifying the row and column as part of the data transfer. Attribute Map The attribute map is defined as 16 rows by 31 columns. It has an extra row and an extra column compared to the screen map. Figure 9: Character Attribute Map 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 00 01 02 03 04 Row Attributes 05 06 07 08 09 10 11 12 13 14 15 Character Attributes wa wa = window attributes ga = global attributes ga wa ga wa 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 The values corresponding to printable row/column addresses provide character attributes. Each character on the screen has an attribute byte specifying (in the case of monochrome fonts) three bits of background color, four bits of foreground color, and a blink on/off bit. Blinking, when enabled, has a period of 100 frames (50 frames on, 50 frames off). Column 31 of each row contains row attributes. These include the fourth bit of the background color and two bits controlling double-height and double-width text. Row 15 contains global attributes, including vertical and horizontal OSD position on the screen, alpha blending, shadow/bordering, OSD rotation, color map selection, and normal/double size. Alpha blending allows the OSD display to be mixed with the incoming video signal for transparency 63/89 On-Screen Display (OSD) ADE3700 effects. An alpha value of 255 makes the OSD opaque, while a value of 0 makes the OSD invisible, with a linear ramp of transparency between these two endpoints. Separate registers control alpha for foreground and background pixels. A fade-in/fade-out feature ramps the alpha values every six frames, starting from their current value and going up or down the sequence: 0, 16, 32, 64, 128, 192, 224, 240, 255. Row 15 also contains definitions for the four display windows. These windows define regions on the screen to which borders and shadows can be applied. (They are not analogous to windows in a GUI display, in that they do not represent four independent data displays. There is only one character map. The windows essentially define an area around which a border can be drawn or to which attributes can be assigned.) Windows also determine which of the two color tables will be used for the characters inside. Windows have a fixed precedence: Window 0 has the highest precedence and Window 3 the lowest. When windows overlap, the precedence determines which borders will be displayed and which color tables will be used in the overlapping area. Monochrome and color fonts are affected differently by attribute bytes. Monochrome characters are affected by shadows and borders, and have their color specified by the foreground/background attributes. Color characters interpret the attribute byte differently than monochrome characters, using it to define blinking and 90-degree rotations rather than blinking, foreground color, and background color. Color Tables There are two color tables, each containing sixteen entries by three bytes each, giving a 24-bit RGB value for each entry. Entry 0 is used for the shadow color for monochrome characters and borders. Color-table selection is made on a window-by-window basis. When writing the color table, the "row" value in the first header byte is interpreted as the color table index, while the "column" value in the second header byte encoded to select the color table (0 or 1) and the primary color (red, green, or blue). The data byte following the second header byte is written to the selected (table, index, primary) location. Font Data Font data is sent to the OSD through burst transfers. The first header byte selects the transfer type and provides three bits of the character index, while the second header byte selects transfer type "C" and gives the remaining five bits of offset. The data bytes for the character follow, given from top to bottom and left to right in the character cell. A monochrome character is 27 bytes long, with two scan-lines occupying three bytes. A color character is four times as long as a monochrome character (108 bytes), with each byte containing two four-bit pixels. Both color and monochrome fonts are 12 pixels wide and 18 high. Transfer Formats The transfer format consists of two header bytes and a variable number of data bytes. The header bytes determine the type of transfer (character, attribute, monochrome font, color font, or color table). Addressing is by row and column in the case of character or attribute transfers, and by character index in the case of font transfers. When writing to the color table, the "column" field determines the color table and R/G/B selection. 64/89 ADE3700 On-Screen Display (OSD) Table 21: OSD Access Header Definition Header Byte First Bits [7:4] Description Type of data transfer. Valid values are: 0x8: screen map 0x9: color LUT 0xA: attribute map 0xC: font data all others: Reserved [3:0] For screen map or attribute map access, this is the row index. For color LUT access, this is the color index. For font data access, bits [2:0] are the MSB's of the character index. Second [7:6] Type of data burst: 0x0: A/B modes: Only one data byte follows this header byte. 0x1: C mode: All bytes following this header byte are data bytes until the serial interface indicates an end-of-transmission. The OSD internally auto-increments after each byte. In screen and attribute map access modes the column number is incremented after each byte, wrapping to the beginning of the next row once column 29 is passed and wrapping to row 0 if row 14 is passed. Either mode may be used for display and character attribute modes, except for the off-screen attributes in column 15 and row 30, which must use mode A/B. Font definition mode must use mode C. [5] [4:0] must be set to zero In screen and attribute map access modes, this is the column number. In font data access mode, this gives the 5 lsb's of the character index. In color LUT access mode, it selects the table number and color to be written: 0x0: LUT 0, red 0x1: LUT 0, green 0x2: LUT 0, blue 0x3: LUT 1, red 0x4: LUT 1, green 0x5: LUT 1, blue 0x6 - 0x7: Reserved Table 22: OSD Attribute Map Definition (Sheet 1 of 4) Row 15 15 Column 12 13 Bits [7:0] [7:0] Description Vertical OSD position / 4 Horizontal OSD position / 5 65/89 On-Screen Display (OSD) Table 22: OSD Attribute Map Definition (Sheet 2 of 4) Row 15 ADE3700 Column 15 Bits [7] [6:5] 0: OSD off 1: OSD on Description 0x0: plain characters 0x1: border characters 0x2: shadow characters 0x3: Reserved Reserved 0: normal 1: flip OSD 0: fade off 1: fade on 0: normal size 1: double size Foreground Alpha Blending Background Alpha Blending Window 0 Row Start Window 0 Row End Window 1 Row Start Window 1 Row End Window 2 Row Start Window 2 Row End Window 3 Row Start Window 3 Row End Window 0 Column Start Window 0 Visibility 0: Off 1: On [4:3] [2] [1] [0] 15 15 15 19 20 0 [7:0] [7:0] [7:4] [3:0] 15 3 [7:4] [3:0] 15 6 [7:4] [3:0] 15 9 [7:4] [3:0] 15 1 [7:3] [2] [1] [0] 15 4 [7:3] [2] Reserved Window 0 Shadow Enable Window 1 Column Start Window 1 Visibility 0: Off 1: On [1] [0] Reserved Window 1 Shadow Enable 66/89 ADE3700 On-Screen Display (OSD) Table 22: OSD Attribute Map Definition (Sheet 3 of 4) Row 15 Column 7 Bits [7:3] [2] Description Window 2 Column Start Window 2 Visibility 0: Off 1: On [1] [0] 15 10 [7:3] [2] Reserved Window 2 Shadow Enable Window 3 Column Start Window 3 Visibility 0: Off 1: On [1] [0] 15 2 [7:3] [2:0] 15 5 [7:3] [2:0] 15 8 [7:3] [2:0] 15 11 [7:3] [2:0] 15 16 [7:6] [5:4] [3:2] [1:0] 15 17 [7:6] [5:4] [3:2] [1:0] 15 21 [7:4] [3] [2] [1] [0] Reserved Window 3 Shadow Enable Window 0 Column End Reserved Window 1 Column End Reserved Window 2 Column End Reserved Window 3 Column End Reserved Window 3 Shadow Width Window 2 Shadow Width Window 1 Shadow Width Window 0 Shadow Width Window 3 Shadow Height Window 2 Shadow Height Window 1 Shadow Height Window 0 Shadow Height Reserved window 3 color LUT select window 2color LUT select window 1 color LUT select window 0 color LUT select 67/89 Flicker Table 22: OSD Attribute Map Definition (Sheet 4 of 4) Row 0 to 14 ADE3700 Column 30 Bits [7:3] [2] [1] [0] Reserved Description MSB of background color for the row double high enable for the row double wide enable for the row 3 LSBs of background color for 1bpp chars no function for 4bpp color chars 0 to 14 0 to 29 [7:5] [4] [3:0] blink enable foreground color for 1bpp chars for 4bpp color chars [3:2]: Reserved [1]: flip vertical [0]: flip horizontal Table 23: OSD Register Register Name OSD_PORT Addr 0x0C02 Mode R/W Bits [7:0] Default (hex) 0 Description OSD Access Port 2.16 Flicker The Flicker block computes correlations of the image data with potential inversion patterns of the LCD which in turn allows the microcontroller to modify the polarity signal to cancel large areas of flicker. This function is only useful in SmartPanel applications. The incoming image is scored against 8 vertical Walsh functions. All patterns are considered vertically, while horizontally the pixels are assumed to be alternating RGB components. The scores (0 to 7) are 32-bit unsigned quantities that reflect the correlation of the programmed window area with the 8 Walsh functions. The horizontal inversion of the LCD drivers must be programmed into FLICKER_CTRL0[2:0]. The most common setting is +-+ or -+- (RGB). A calculation is completed after the number of frames programmed into the FRAME_CNT_MAX register (0xCA03). With each frame the calculation is performed on only a vertical strip. The width of that strip (in pixels) is determined by the value programmed in the HBLOCK_SIZE register (0xCA02) with the following relation: strip width = 2 ^ (3 + HBLOCK_SIZE). The free_run/freeze_scores bit (FLICKER_CTRL0[4]) enables the final calculation to be captured easily by the MCU. The internal flicker calculation continues to run -- only the update of the I2C registers is blocked when this bit is set to prevent corruption during readout. 68/89 ADE3700 Refer to the Flicker Programming Guide for more details. Table 24: Flicker Registers (Sheet 1 of 2) Register Name FLK_CTRL Flicker Addr 0x0CA1 Mode R/W R/W R/W Bits [7:6] [5] [4] Default 0x0 0x1 0x0 Reserved Description 0: straight line uniform function 1: straight line hill function (normal) 0: free-running 1: freeze scores Set to a 1 when the microcontroller is reading multibyte scores to prevent update corruption. horizontal subpixel polarity inversion pattern of LCD (even/odd pixels) 0x0: -R-G-B / +R+G+B 0x1: -R-G+B / +R+G-B 0x2: -R+G-B / +R-G+B (Default) 0x3: -R+G+B / +R-G-B 0x4: +R-G-B / -R+G+B 0x5: +R-G+B / -R+G-B 0x6: +R+G-B / -R-G+B 0x7: +R+G+B / -R-G-B R/W [2:0] 0x5 FLK_HBLOCK_SIZE 0x0CA2 R/W [7:4] [3:0] [7:0] 0x0 Reserved width in pixels of the per frame scored area = 2 ^ (3+ hblock_size) number of frames to complete one measurement total number of pixels in a line is: frame_cnt_max * (2 ^ (3+hblock_size)) example: hblock_size = 4; frame_cnt_max = 8; In each frame only one portion of the image is being scored. The width of that portion is 2 ^ (3 + hblock_size) = 128 pixels and the height is the full height of the image. Thus the total scored area after 8 frames is 128*8 = 1024 pixels wide. FLK_FRAME_CNT_MAX 0x0CA3 R/W 0x8 FLK_MEAS0_0 FLK_MEAS0_1 FLK_MEAS0_2 FLK_MEAS0_3 FLK_MEAS1_0 FLK_MEAS1_1 FLK_MEAS1_2 FLK_MEAS1_3 FLK_MEAS2_0 FLK_MEAS2_1 FLK_MEAS2_2 0x0CB1 0x0CB2 0x0CB3 0x0CB4 0x0CB5 0x0CB6 0x0CB7 0x0CB8 0x0CB9 0x0CBA 0x0CBB R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] 0x0 Score for Pattern 0 0x0 Score for Pattern 1 00x Score for Pattern 2 69/89 Gamma Table 24: Flicker Registers (Sheet 2 of 2) Register Name FLK_MEAS2_3 FLK_MEAS3_0 FLK_MEAS3_1 FLK_MEAS3_2 FLK_MEAS3_3 FLK_MEAS4_0 FLK_MEAS4_1 FLK_MEAS4_2 FLK_MEAS4_3 FLK_MEAS5_0 FLK_MEAS5_1 FLK_MEAS5_2 FLK_MEAS5_3 FLK_MEAS6_1 FLK_MEAS6_2 FLK_MEAS6_3 FLK_MEAS6_4 FLK_MEAS7_0 FLK_MEAS7_1 FLK_MEAS7_2 FLK_MEAS7_3 ADE3700 Addr 0x0CBC 0x0CBD 0x0CBE 0x0CBF 0x0CC0 0x0CC1 0x0CC2 0x0CC3 0x0CC4 0x0CC5 0x0CC6 0x0CC7 0x0CC8 0x0CC9 0x0CCA 0x0CCB 0x0CCC 0x0CCD 0x0CCE 0x0CCF 0x0CD0 Mode 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 Bits [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] Default Description 0x0 Score for Pattern 3 0x0 Score for Pattern 4 0x0 Score for Pattern 5 0x0 Score for Pattern 6 0x0 Score for Pattern 7 2.17 Gamma The Gamma block performs an 8-bit to 10-bit lookup table on the 3 x 8 bits (R, G, B) color data coming from the LCD Scaler. The lookup table (LUT RAM) contains the corresponding 10-bit output corrected color for each 8-bit input color. The RAMs are individually programmable (read and write) using I2C access. The memory map is as follows: I2C address 0x1000 to 0x11FF: Red RAM I2C address 0x1200 to 0x13FF: Green RAM I2C address 0x1400 to 0x15FF: Blue RAM Even addresses are the 8-bit LSBs of the 10-bit gamma value. Odd addresses are the 2 MSBs. 70/89 ADE3700 APC Table 25: Gamma Registers Register Name GAMMA_CTRL Addr 0x0C10 Mode R/W Bits [7:4] [3] [2] [1:0] Default 0x0 0x0 0x0 0x0 Reserved Description 0: normal 1: disable RAM access 0: normal 1: test mode Gamma Mode Select 0x0: 10-bit linear bypass 0x1: 8-bit->10-bit gamma table (normal) 0x2: 8-bit linear bypass (no interpolation) 0x3: 8-bit->10-bit gamma table (normal) 2.18 APC APC (formerly known as Arithmos Perfect Color) dithers an input 10 bit video stream down to 4-8 output bits. The dithering is done in space and time in such a way that the eye does not perceive objectionable artifacts such as: q q q q Fixed dither patterns Contours Flickering pixels Phase correlated flickering, which creates wave patterns known as "swimming" Table 26: APC Registers Register Name APC_APC0 Addr 0x0C20 Mode Bits [7] Default Reserved 0x0 0x0 Description R/W R/W [6:5] [4:1] Frame Modulation Period - 1 0x0 - 0x3: 8-bit out 0x4: 4b out 0x5: 5b out 0x6: 6b out 0x7: 7b out 0x8: 8-bit out 0: normal 1: disable APC -- truncate LSBs Reserved R/W APC_APC1 0x0C21 R/W R/W [0] [7:2] [1] [0] 0x0 0x0 0x0 Offset the phase LUT Offset the dither LUT 71/89 Output Multiplexer ADE3700 2.19 Output Multiplexer The Output Multiplexer formats the single wide data stream from the output of the APC block into a single or double wide data path for the flat panel. The architecture is shown in Figure 10. Figure 10: Output Mux Block Diagram rin[7:0] 8 Right Shift 8 Byte Flip 8 gin[7:0] 8 Right Shift 8 Byte Flip 8 Red & Blue Swap 24 Single to Double Wide Converter FLOPS 48 Data Inversion bin[7:0] 8 Right Shift 8 Byte Flip 8 hclk 48 rda[7:0] gda[7:0] bda[7:0] rdb[7:0] gdb[7:0] bdb[7:0] 2 inv_a inv_b enab_in hsync_in vsync_in tcon_in[13:0] pwm_a_in pwm_b_in 14 2 tci[13:0] Output Mux/Reg FLOPS RSDS Logic and Per Pin Delay 8 48 3 tcon_out[7:0] routa[7:0] gouta[7:0] bouta[7:0] routb[7:0] goutb[7:0] boutb[7:0] enab_out clk_out hsync_out vsync_out Latency is not important, as long as the timing relationship between hsync, vsync, enab and data is preserved at the output. In Double Wide mode, the first pixel must be properly aligned even if the number of pixels in blanking or active are odd. The divide-by-2 circuit can be set to resync per line (based on data_enab and hsync_in edge) and per frame (based on vsync_in edge). The most reliable timing is when hsync and vsync are in the "low" counts of the timing core counters (i.e. hsync_set and hsync_rst are both below the active data region start/end counts). In the event that hsync and vsync are in the "high" (after active region) counts, the device should be set to sync to data_enab_re. The Per Pin Delay and RSDS logic occur after the last latch and are implemented on all channels to maintain delay balance between signals that go into RSDS mode (data and clk/hsync) and those that do not (de/vsync and tcon). 72/89 ADE3700 2.19.1 Sub Block Function 2.19.1.1 Right Shift q q Output Multiplexer shifts right from 0 to 4 positions, fills from the top with zeroes out_mux_ctrl1[2:0] 2.19.1.2 Byte Flip q q flips data bits in a byte from LSB to MSB, i.e. out[7:0] = in[0:7] out_mux_ctrl0[4] 2.19.1.3 Red & Blue Swap q q swaps red and blue channels, i.e. out[23:0] = {in[7:0],in[15:8],in[23:16]} out_mux_ctrl0[3] 2.19.1.4 Single to Double Wide Converter q in Single Wide mode (out_mux_ctrl0[1] = 0) -- flops all data into either A or B channels depending on out_mux_ctrl0[2] -- either inv_a or inv_b is active depending on active channel q in Double Wide mode (out_mux_ctrl0[1] = 1) -- flops data into A/B or B/A positions depending on out_mux_ctrl0[2]. -- divides clock by 2 (hclk = half speed DCLK), resyncing each line with data enable -- output data transitions as posedge/negedge as set in out_mux_ctrl0[5] -- can handle odd output htotal (i.e. all divide by 2's and state machines must be resynced per line) 2.19.1.5 Data Inversion q q q resyncs at the end of each line to inactive state with data enable falling edge - invert is possible on the first pixel - compares 1st pixel to blanking value compares subsequent 24-bit/48-bit data to the last output; if more bits flip (i.e. hamming distance > active_bit_width/2), invert data word and toggle invert pin counts only active bits in hamming distance as determined by right shift and bit flip settings; zeroes out non active data signals at output controls: -- out_mux_ctrl1[4] - A and B channels have separate independent - A and B channels treated as one 48-bit channel, inv_a = inv_b -- out_mux_ctrl1[5] - data invert output polarity -- out_mux_ctrl1[6] - data invert enable q q q data invert pins can also be driven by tcon srtd[26] and srtd[27] for panel balancing (out_mux_ctrl2[6] and out_mux_ctrl2[7]) data can be inverted at the front end of the data inversion detection using tcon signals, either separate or combined channels (out_mux_ctrl3[0]) q 2.19.1.6 Output Mux / Reg q combines all signals to form the desired outputs 73/89 Output Multiplexer q q q ADE3700 last point the data is flopped with DCLK before the pins gated clock available from tcon_srtd[12] in tcon mode see tables 2.2 - 2.5 for configurations. Table 27: Output Mux Specification (Sheet 1 of 2) Enable Data OUT_MUX_CTRL0[0] Enable TCON AB or BA Double Right Shift Byte Flip OUT_MUX_CTRL1[3] OUT_MUX_CTRL0[2] OUT_MUX_CTRL0[1] OUT_MUX_CTRL1[2:0] OUT_MUX_CTRL0[4] 0 0 X X X X 0 X 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 X X X X 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 X 0 0 X X 1 1 BDA7 BDA6 BDA5 BDA4 BDA3 BDA2 BDA1 BDA0 1 X 1 0 X X 1 1 1 1 X 1 >0 0 1 1 1 1 X 1 >0 1 1 1 1 1 0 0 X X 0 X BDA7 BDA6 BDA5 BDA4 BDA3 BDA2 BDA1 1 1 1 0 X X 0 X BDA7 BDA6 BDA5 BDA4 BDA3 BDA2 BDA1 BDA0 1 1 X 1 0 X 0 X BDA7 BDA6 BDA5 BDA4 BDA3 BDA2 BDA1 BDA0 1 1 X 1 >0 0 0 X BDA7 BDA6 BDA5 BDA4 BDA3 BDA2 BDA1 BDA0 1 1 X 1 >0 1 0 X BDA7 BDA6 BDA5 BDA4 BDA3 BDA2 BDA1 BDA0 GDA7 GDA6 GDA5 GDA4 GDA3 GDA2 GDA1 GDA0 RDA7 RDA6 RDA5 RDA4 RDA3 RDA2 RDA1 PWM enable OUT_MUX_CTRL3[1] PWM mux mode OUT_MUX_CTRL3[2] OBA7 OBA6 OBA5 OBA4 OBA3 OBA2 OBA1 OBA0 OGA7 OGA6 OGA5 OGA4 OGA3 OGA2 OGA1 OGA0 ORA7 ORA6 ORA5 ORA4 ORA3 ORA2 ORA1 BDA7 PWMA BDA7 BDA6 BDA5 BDA4 BDA3 BDA2 BDA1 BDA0 BDA6 BDA5 BDA4 BDA3 BDA2 BDA1 BDA6 BDA5 BDA4 BDA3 BDA2 BDA1 BDA0 PWMA BDA0 GDA7 GDA7 PWMB GDA7 GDA7 GDA7 GDA7 GDA7 GDA6 GDA6 GDA6 GDA6 GDA6 GDA6 GDA6 GDA6 GDA5 GDA5 GDA5 GDA5 GDA5 GDA5 GDA5 GDA5 GDA4 GDA4 GDA4 GDA4 GDA4 GDA4 GDA4 GDA4 GDA3 GDA3 GDA3 GDA3 GDA3 GDA3 GDA3 GDA3 GDA2 GDA2 GDA2 GDA2 GDA2 GDA2 GDA2 GDA2 GDA1 GDA1 GDA1 GDA1 GDA1 GDA1 GDA1 GDA1 GDA0 GDA0 GDA0 PWMB GDA0 GDA0 GDA0 GDA0 RDA7 RDA7 RDA7 RDA7 RDA7 RDA7 RDA7 TCI11 RDA6 RDA6 RDA6 RDA6 RDA6 RDA6 RDA6 RDA6 RDA5 RDA5 RDA5 RDA5 RDA5 RDA5 RDA5 RDA5 RDA4 RDA4 RDA4 RDA4 RDA4 RDA4 RDA4 RDA4 RDA3 RDA3 RDA3 RDA3 RDA3 TCI11 RDA3 RDA3 RDA2 RDA2 RDA2 RDA2 RDA2 TCI10 RDA2 RDA2 RDA1 PWMA RDA1 RDA1 RDA1 TCI9 RDA1 RDA1 74/89 ADE3700 Table 27: Output Mux Specification (Sheet 2 of 2) Output Multiplexer ORA0 OBB7 OBB6 OBB5 OBB4 OBB3 OBB2 OBB1 OBB0 OGB7 OGB6 OGB5 OGB4 OGB3 OGB2 OGB1 OGB0 ORB7 ORB6 ORB5 ORB4 ORB3 ORB2 ORB1 ORB0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 RDA0 PWMB RDA0 RDA0 RDA0 PWMA BDB7 PWMB BDB6 BDB5 BDB4 BDB3 BDB2 BDB1 BDB0 BDB5 BDB4 BDB3 BDB2 BDB1 BDB0 BDB7 BDB6 BDB5 BDB4 BDB3 BDB2 BDB1 BDB0 BDB7 BDB6 BDB5 BDB4 BDB3 BDB2 BDB1 BDB0 BDB7 BDB6 BDB5 BDB4 BDB3 BDB2 BDB1 BDB0 TCI8 BDB7 BDB6 BDB5 BDB4 BDB3 BDB2 BDB1 BDB0 RDA0 RDA0 BDB7 TCI10 BDB6 BDB5 BDB4 BDB3 BDB2 BDB1 BDB0 BDB6 BDB5 BDB4 BDB3 BDB2 BDB1 BDB0 TCI9 TCI11 BDB7 BDB6 BDB5 BDB4 BDB3 BDB2 BDB1 TCI10 GDB7 GDB6 GDB5 GDB4 GDB3 GDB2 GDB1 TCI9 RDB7 RDB6 RDB5 RDB4 RDB3 RDB2 RDB1 TCI8 GDB7 GDB7 GDB7 GDB7 GDB7 GDB7 GDB7 GDB6 GDB6 GDB6 GDB6 GDB6 GDB6 GDB6 GDB6 GDB5 GDB5 GDB5 GDB5 GDB5 GDB5 GDB5 GDB5 GDB4 GDB4 GDB4 GDB4 GDB4 GDB4 GDB4 GDB4 GDB3 GDB3 GDB3 GDB3 GDB3 GDB3 GDB3 GDB3 GDB2 GDB2 GDB2 GDB2 GDB2 GDB2 GDB2 GDB2 GDB1 GDB1 GDB1 GDB1 GDB1 GDB1 GDB1 GDB1 GDB0 GDB0 GDB0 GDB0 GDB0 GDB0 GDB0 GDB0 RDB7 RDB7 RDB7 RDB7 RDB7 RDB7 RDB7 TCI8 RDB6 RDB6 RDB6 RDB6 RDB6 RDB6 RDB6 RDB6 RDB5 RDB5 RDB5 RDB5 RDB5 RDB5 RDB5 RDB5 RDB4 RDB4 RDB4 RDB4 RDB4 RDB4 RDB4 RDB4 RDB3 RDB3 RDB3 RDB3 TCI11 RDB3 RDB3 RDB3 RDB2 RDB2 RDB2 RDB2 TCI10 RDB2 RDB2 RDB2 RDB1 RDB1 RDB1 RDB1 RDB0 RDB0 RDB0 RDB0 TCI9 TCI8 RDB1 RDB1 RDB1 RDB0 RDB0 RDB0 tci13 = tcon_in13, orb7 = output red B channel bit 7, rda3 = red A channel bit 3, etc. pwma = pwm_a input. Table 28: CLK_OUT Mux Specification enable data double clk invert OUT_MUX_CTRL0[0] OUT_MUX_CTRL0[1] OUT_MUX_CTRL0[5] CLK_OUT 0 X X 0 1 0 0 DOTCLK 1 0 1 !DOTCLK 1 1 0 HCLK 1 1 1 !HCLK 75/89 Output Multiplexer Table 29: Sync Mux Specification ADE3700 enable data enable tcon OUT_MUX_CTRL0[0] OUT_MUX_CTRL1[3] 0 0 1 0 1 1 ENAB_OUT HSYNC_OUT VSYNC_OUT 0 0 0 ENI HSI VSI INV_A TCI_GATED_CLK INV_B eni = enab_in, hsi = hsync_in, vsi = vsync_in. Table 30: TCON Mux Specification enable tcon enable PWM PWM mux mode OUT_MUX_CTRL1[3] OUT_MUX_CTRL3[1] OUT_MUX_CTRL3[2] X 0 X X 1 0 0 1 1 TCON_OUT7 TCON_OUT6 TCON_OUT5 TCON_OUT4 TCON_OUT3 TCON_OUT2 TCON_OUT1 TCON_OUT0 TCI7 TCI6 TCI5 TCI4 TCI3 TCI2 TCI1 TCI0 TCI7 TCI6 TCI5 TCI4 TCI3 TCI2 PWM_A PWM_B TCI7 TCI6 TCI5 TCI4 TCI3 TCI2 TCI1 TCI0 2.19.2 RSDS In RSDS mode, clk and hsync outputs are the differential clock pair. All 48 data ports are combined into neighboring pairs (e.g. orb0 and orb1 are differential pairs in RSDS mode). the lower index is the positive sense differential output. TCON, data_enab and vsync outputs are unchanged. data_enab and vsync can be used to output LVCMOS data inversion signals independent of RSDS mode. The following table indicates the pin, timing and data relationships in RSDS mode. Table 31: RSDS Mode Specifications RSDS Time t t+1 clk_o 0 1 hsync_o 1 0 o[r,g,b][a,b](2n) bit from 2n bit from 2n+1 o[r,g,b][a,b](2n+1) !bit from 2n !bit from 2n+1 76/89 ADE3700 Table 31: RSDS Mode Specifications (Continued) RSDS Time t+2 t+3 Output Multiplexer clk_o 0 1 hsync_o 1 0 o[r,g,b][a,b](2n) bit from 2n bit from 2n+1 o[r,g,b][a,b](2n+1) !bit from 2n !bit from 2n+1 Note: hsync_o is the positive clock signal according to the RSDS definition. 2.19.3 Per Pin Delay Each of the 60 outputs has a per pin programmable delay. The delay is calibrated on the fly to the XCLK period, which is assumed to be 37ns. Each pin can be delayed by up to 6ns in 0.4ns increments. Code 0x0 is the least delay, code 0xF is the maximum delay. The setting is accurate to 0.8ns across PVT. The calibration and resetting is done once per frame after the falling edge of vertical enable to prevent glitches from delay mux changes in the active data period. The delays are active in RSDS and normal output modes if enabled in the OUT_MUX_CTRL2 register. Table 32: Output Mux Registers (Sheet 1 of 4) Register Name OMUX_CTRL_0 Addr 0x0C30 Mode R/W Bits [7] Default 0x0 Description in 2 ppc, 0: data invert for A+B comb. 1: data invert A/B separate 0x0 - 0x4: right shift per 8-bit R/G/B 0x5 - 0x7: Reserved 0: normal 1: flip msbs to lsbs 0: normal 1: swap R and B data 0: in 1 ppc, A channel active 0: in 2 ppc, Left on A, Right on B 1: in 1 ppc, B channel active 1: 2ppc, Left on B, Right on A 0: single wide, one pix/clk (ppc) 1: double wide, two pix/clk Vsync Output Polarity Hsync Output Polarity Data Enable Output Polarity Clock Output Invert Data Invert Output Polarity Data Invert Enable 0: TCON outputs set to zero 1: TCON outputs active 0: all data outputs set to zero 1: output enabled R/W R/W R/W R/W [6:4] [3] [2] [1] 0x0 0x0 0x0 0x0 R/W OMUX_CTRL_1 0x0C31 R/W R/W R/W R/W R/W R/W R/W R/W [0] [7] [6] [5] [4] [3] [2] [1] [0] 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 77/89 Output Multiplexer Table 32: Output Mux Registers (Sheet 2 of 4) Register Name OMUX_CTRL_2 ADE3700 Addr 0x0C32 Mode R/W R/W R/W R/W R/W R/W R/W R/W Bits [7] [6] [5] [4] [3] [2] [1] [0] [7:4] [3:0] [7:4] [3:0] [7:4] [3:0] [7:4] [3:0] [7:4] [3:0] [7:4] [3:0] [7:4] [3:0] [7:4] [3:0] [7:4] [3:0] [7:4] [3:0] [7:4] [3:0] [7:4] [3:0] [7:4] [3:0] Default 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 Description Separate TCON driven invert enable TCON driven invert pin enable RSDS enable Per Pin Delay Enable Resync on Vsync Falling Edge Resync on Vsync Rising Edge Resync on Hsync Falling Edge Resync on Hsync Rising Edge Delay for OBA1 Delay for OBA0 Delay for OBA3 Delay for OBA2 Delay for OBA5 Delay for OBA4 Delay for OBA7 Delay for OBA6 Delay for OGA1 Delay for OGA0 Delay for OGA3 Delay for OGA2 Delay for OGA5 Delay for OGA4 Delay for OGA7 Delay for OGA6 Delay for ORA1 Delay for ORA0 Delay for ORA3 Delay for ORA2 Delay for ORA5 Delay for ORA4 Delay for ORA7 Delay for ORA6 Delay for OBB1 Delay for OBB0 OMUX_DLY_BA0 0x0C50 R/W R/W OMUX_ DLY_BA2 0x0C4F R/W R/W OMUX_ DLY_BA4 0x0C4E R/W R/W OMUX_ DLY_BA6 0x0C4D R/W R/W OMUX_ DLY_GA0 0x0C4C R/W R/W OMUX_ DLY_GA2 0x0C4B R/W R/W OMUX_ DLY_GA4 0x0C4A R/W R/W OMUX_ DLY_GA6 0x0C49 R/W R/W OMUX_ DLY_RA0 0x0C48 R/W R/W OMUX_ DLY_RA2 0x0C47 R/W R/W OMUX_ DLY_RA4 0x0C46 R/W R/W OMUX_ DLY_RA6 0x0C45 R/W R/W OMUX_ DLY_BB0 0x0C44 R/W R/W 78/89 ADE3700 Table 32: Output Mux Registers (Sheet 3 of 4) Register Name OMUX_ DLY_BB2 Output Multiplexer Addr 0x0C43 Mode R/W R/W Bits [7:4] [3:0] [7:4] [3:0] [7:4] [3:0] [7:4] [3:0] [7:4] [3:0] [7:4] [3:0] [7:4] [3:0] [7:4] [3:0] [7:4] [3:0] [7:4] [3:0] [7:4] [3:0] [7:4] [3:0] [7:4] [3:0] [7:4] [3:0] [7:4] [3:0] [7:4] [3:0] [7:4] [3:0] Default 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 Description Delay for OBB3 Delay for OBB2 Delay for OBB5 Delay for OBB4 Delay for OBB7 Delay for OBB6 Delay for ORB1 Delay for ORB0 Delay for ORB3 Delay for ORB2 Delay for ORB5 Delay for ORB4 Delay for ORB7 Delay for ORB6 Delay for ORB1 Delay for ORB0 Delay for ORB3 Delay for ORB2 Delay for ORB5 Delay for ORB4 Delay for ORB7 Delay for ORB6 Delay for TCON1 Delay for TCON0 Delay for TCON3 Delay for TCON2 Delay for TCON5 Delay for TCON4 Delay for TCON7 Delay for TCON6 Delay for VSYNC Delay for ENAB Delay for CLK Delay for HSYNC OMUX_ DLY_BB4 0x0C42 R/W R/W OMUX_ DLY_BB6 0x0C41 R/W R/W OMUX_ DLY_GB0 0x0C40 R/W R/W OMUX_ DLY_GB2 0x0C3F R/W R/W OMUX_ DLY_GB4 0x0C3E R/W R/W OMUX_ DLY_GB6 0x0C3D R/W R/W OMUX_ DLY_RB0 0x0C3C R/W R/W OMUX_ DLY_RB2 0x0C3B R/W R/W OMUX_ DLY_R_B4 0x0C3A R/W R/W OMUX_ DLY_R_B6 0x0C39 R/W R/W OMUX_ DLY_TCON_0 0x0C38 R/W R/W OMUX_ DLY_TCON_2 0x0C37 R/W R/W OMUX_ DLY_TCON_4 0x0C36 R/W R/W OMUX_ DLY_TCON_6 0x0C35 R/W R/W OMUX_ DLY_VS_ENAB 0x0C34 R/W R/W OMUX_ DLY_CLK_HS 0x0C33 R/W R/W 79/89 Pulse Width Modulation (PWM) Table 32: Output Mux Registers (Sheet 4 of 4) Register Name OMUX_CTRL_3 ADE3700 Addr 0x0C51 Mode R/W R/W R/W R/W Bits [7:3] [2] [1] [0] [7:6] Default Reserved 0x0 0x0 0x0 Description PWM mux mode PWM enable TCON data invert enable, with computed data invert pin. Reserved OMUX_REFCOUNT 0x0C52 R [5:0] 0x0 Returns a value that indicates the ADE gate speed -- a function of temp and voltage higher = faster logic 2.20 Pulse Width Modulation (PWM) The PWM block generates two signals that can be used to control backlight inverter switching power components directly. It is derived from XCLK and can be powered up independently of the DOTCLK and INCLK domains. The frequency, duty cycle, polarity and overlap/non-overlap are programmable. The output frequency can be free-running or locked to the output vsync signal. Table 33: PWM Registers (Sheet 1 of 2) Register Name Addr 0x01A0 Mode R Bits [7] Default 0x0 PWM status 0: unlocked 1: locked Description PWM_CTRL0 R/W [6] 0x0 0: lock to CYCLES_PER_FRAME from the free-running state machine 1: lock to CYCLES_PER_FRAME register setting PWM_A polarity 0: active low 1: active high R/W [5] 0x0 R/W [4] 0x0 PWM_B polarity 0: active low 1: active high R/W R/W [3] [2] 0x0 0x0 0: normal operation 1: force PWM outputs to polarity settings 0: change period or duty cycle at the end of the current cycle 1: smooth change, period or duty cycle increment/decrement every PWM_STEP_DELAY cycle 0: free-running 1: lock to out_vsync 0: disable PWM output 1: enable PWM output R/W R/W [1] [0] 0x0 0x0 80/89 ADE3700 Table 33: PWM Registers (Sheet 2 of 2) Register Name PWM_CTRL1 DFT Block Addr 0x01A1 Mode R/W Bits [7:4] Default 0x0 Description Lock 2nd order gain (power of 2) 0x0 = max 0x3 = typical 0xF = min. R/W [3:0] 0x0 Lock gain (power of 2) 0x0 = max 0x6 = typical 0xF = min. Period-2 in free-running mode, in XCLKs PWM_PERIOD_L PWM_PERIOD_H PWM_DUTY_L PWM_DUTY_H PWM_OVERLAP_L PWM_OVERLAP_H PWM_STEP_DELAY 0x01A2 0x01A3 0x01A4 0x01A5 0x01A6 0x01A7 0x01A8 R/W R/W R/W R/W R/W R/W R/W [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] 0x0 0x0 Duty cycle of PWM in XCLKs 0x0 Non-overlap of PWMs in XCLKs 0x0 In smooth change mode, the number of cycles skipped before the period/duty registers are incremented/decremented The number of cycles per frame in frame lock mode when not using the internally generated cycles per frame from a previous free-running mode PWM_CYCLES_PER_FRAME_L PWM_CYCLES_PER_FRAME_H 0x01A9 0x01AA R/W R/W [7:0] [7:0] 0x0 2.21 DFT Block Table 34: DFT Registers (Sheet 1 of 3) Register Name Addr 0x0F00 R/W R/W R/W R/W Mode Bits [7:4] [3] [2] [1] [0] [7:6] Default Reserved 0x0 0x0 0x0 0x0 Description DFT_TEST_MODE trigger video bus MFSR enable output pin MFSR clear output pin MFSR output pin test override Reserved DFT_MUX_OUT_MODE 0x0F01 R/W [5:0] [7:6] 0x0 mux selector for output porta/b and syncs Reserved DFT_FLOP_OUT_MODE 0x0F02 R/W [5:0] [7:6] 0x0 0x0 mux selector for synchronous digital debug bus divide-by selector for clocks to OCLK pin fout = selected clock / (2 ^ value) DFT_CLK_0UT_MODE 0x0F03 R/W R/W DFT_CLK_1_MODE 0x0F04 R/W [5:0] [7:6] 0x0 0x0 mux selector for clocks to OCLK pin divide-by selector for clocks to CLKOUT pin fout = selected clock / (2 ^ value) 81/89 DFT Block Table 34: DFT Registers (Sheet 2 of 3) Register Name DFT_CLK_2_MODE DFT_OUT_DISAB_0 DFT_OUT_DISAB_1 DFT_OUT_DISAB_2 DFT_OUT_DISAB_3 DFT_OUT_DISAB_4 DFT_OUT_DISAB_5 DFT_OUT_DISAB_6 ADE3700 Addr 0x0F05 0x0F06 0x0F07 0x0F08 0x0F09 0x0F0A 0x0F0B 0x0F0C Mode R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W R/W Bits [5:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:0] [7:3] [2] [1] [0] [7:5] Default 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 Description mux selector for clocks to CLKOUT pin Disable Port A Red Output in Test Mode Disable Port A Green Output in Test Mode Disable Port A Blue Output in Test Mode Disable Port B Red Output in Test Mode Disable Port B Green Output in Test Mode Disable Port B Blue Output in Test Mode Disable TCON Bits [4:0] in Test Mode Disable Vert Sync Output in Test Mode Disable Data Enab Output in Test Mode Disable Horz Sync Output in Test Mode Reserved DFT_OUT_DISAB_7 0x0F0D R/W R/W R/W [4] [3] [2:0] [7:6] 0x0 0x0 0x0 Disable CLKOUT Output In Test Mode Disable OCLK Output in Test Mode Disable TCON Bits [7:5] in Test Mode Reserved DFT_STIM_CTRL 0x0F0E R/W [0] [7] [6:2] [1] [0] [7:6] 0x0 0x0 Internal Stimulus Bus Enable SCL Test Stimulus Enable Reserved DFT_STIM_EN_0 0x0F0F R/W R/W R/W R/W 0x0 0x0 ADC Test Stimulus Enable NC Reserved DFT_STIM_EN_1 0x0F10 R/W R/W R/W R/W R/W R/W [5] [4] [3] [2] [1] [0] [7:6] 0x0 0x0 0x0 0x0 0x0 0x0 TCON test bypass OMUX test stimulus enable APC test stimulus enable OSD test stimulus enable SCL bypass PGEN test stimulus enable Reserved Gamma RAM BIST end OSD CS RAM BIST end OSD DRB RAM BIST OSD MB RAM BIST end SCL coeff. RAM BIST end SCL line buffer RAM BIST end DFT_BIST_STATUS 0x0F11 R R R R R R [5] [4] [3] [2] [1] [0] 82/89 ADE3700 Table 34: DFT Registers (Sheet 3 of 3) Register Name DFT_BIST_RESULT_0 IC RAM Addresses Addr 0x0F12 Mode Bits [7:6] Default Reserved Description R R R R R R DFT_BIST_RESULT_1 0x0F13 R R R R R R R DFT_MFSR_DONE 0x0F14 R DFT_MFSR_SIG_0 DFT_MFSR_SIG_1 DFT_MFSR_SIG_2 DFT_MFSR_SIG_3 0x0F15 0x0F16 0x0F17 0x0F18 R R R R [5] [4] [3] [2] [1] [0] [7] [6] [5] [4] [3] [2] [1] [0] [7:1] [0] [7:0] [7:0] [7:0] [7:0] 0x0 SCL coeff RAM 2 BIST fail SCL coeff RAM 1 BIST fail SCL line buffer 4 BIST fail SCL line buffer 3 BIST fail SCL line buffer 2 BIST fail SCL line buffer 1 BIST fail Reserved Gamma blue RAM BIST fail Gamma green RAM BIST fail Gamma red RAM BIST fail OSD CS RAM1 BIST fail OSD CS RAM 2 BIST fail OSD DRB RAM BIST fail OSD MB RAM BIST fail Reserved done signal video bus MFSR 2.22 IC RAM Addresses Table 35: IC RAM Addresses Name GAM_RED GAM_GREEN GAM_BLUE OSD_MB OSD_CS OSD_DRB SCL_COEFF SCL_LINE1 SCL_LINE2 SCL_LINE3 SCL_LINE4 Start Addr 0x1000 0x1200 0x1400 0x1700 0x3000 0x6000 0x9000 0x9900 0xA800 0xB700 0xC600 End Addr 11FF 13FF 15FF 175F 5F3F 647F 98FF A7FF B6FF C5FF D4FF Description Gamma LUT, Red, LSB0,MSB0,LSB1,... (256x10) Gamma LUT, Green, (256x10) Gamma LUT, Blue, (256x10) OSD Color LUTs (32x24) OSD Character Map (1344x36x2 copies) OSD Screen Map (1152x8) Scaler coefficient RAM (256x36x2 copies) Scaler line buffer 1 (1280x24) Scaler line buffer 2 (1280x24) Scaler line buffer 3 (1280x24) Scaler line buffer 4 (1280x24) 83/89 Absolute Maximum Ratings ADE3700 3 3.1 Electrical Specifications Absolute Maximum Ratings Symbol Parameter Supply voltage Min. Typ. Max. 1.95 Unit V AVDD18 DVDD18 XVDD18 LVDD18 AVDD33 DVDD33 VIN TSTG Supply voltage Max voltage on 5 volt tolerant input pins Storage temperature -40 3.6 6.1 +150 V V C 3.2 Power Consumption Matrices Table 36: ADE3700x Symbol Parameter Supply Current (Analog Input, XGA@75Hz, 78.75MHz) Min Typ* Max** Unit IAVDD18 IDVDD18 IAVDD33 IDVDD33 PTOTANA 1.8V analog supply (IAVDD18) 1.8V digital supply (IDVDD18) 3.3V analog supply (IAVDD33) 3.3V digital supply (IDVDD33) Total Power Consumption (Analog Input, XGA@75Hz, 78.75MHz) 195 228 102 44 1.25 203 257 105 51 1.48 mA mA mA mA W * ** Measured at nominal voltage supplies Measured at +10% voltage supplies Table 37: ADE3700xs Symbol Parameter Supply Current (Analog Input, XGA@75Hz, 135MHz) Min Typ* Max** Unit IAVDD18 IDVDD18 IAVDD33 IDVDD33 PTOTANA 1.8V analog supply (IAVDD18) 1.8V digital supply (IDVDD18) 3.3V analog supply (IAVDD33) 3.3V digital supply (IDVDD33) Total Power Consumption (Analog Input, XGA@75Hz, 135MHz) 200 351 104 68 1.56 207 401 108 80 1.89 mA mA mA mA W * ** Measured at nominal voltage supplies Measured at +10% voltage supplies 84/89 ADE3700 Nominal Operating Conditions 3.3 Nominal Operating Conditions Symbol Parameter Supply Voltage Min. 1.71 Typ. 1.8 Max. 1.89 Unit V AVDD18 DVDD18 XVDD18 LVDD18 AVDD33 DVDD33 fXTAL TOPER Supply Voltage Crystal Frequency Ambient Operating Temperature 3.135 3.3 27 3.465 V MHz 0 +70 C 3.4 Preliminary Thermal Data Parameter Junction-to-Ambient Thermal Resistance, 144-pin package Junction-to-Ambient Thermal Resistance, 128-pin package Symbol RthJA RthJA Min. Typ. Max. 25 35 Unit C/W C/W 3.5 Preliminary DC Specifications Test Conditions: DVDD33 = AVDD33 = 3.3V, DVDD18 = AVDD18 = XVDD18 = LVDD18 = 1.8V and TAMB = 25C 3.5.1 LVTTL 5 Volt Tolerant Inputs With Hysteresis YUV[0:7], YUVCLK, HSYNC, VSYNC, CSYNC, TCON_IN, SCL, RESETN Symbol VIH VIL VHYST Parameter High Level Input Voltage Low Level Input Voltage Schmitt Trigger Hysteresis Condition Min. 2.0 Typ. Max. Unit V 0.8 0.4 V V 3.5.2 LVTTL 5 Volt Tolerant Inputs XCLK_EN Symbol VIH VIL Parameter High Level Input Voltage Low Level Input Voltage Condition Min. 2.0 Typ. Max. Unit V 0.8 V 85/89 Preliminary AC Specifications 3.5.3 LVTTL 5 Volt Tolerant I/O With Hysteresis SDA Symbol VIH VIL VHYST ADE3700 Parameter High Level Input Voltage Low Level Input Voltage Schmitt Trigger Hysteresis Condition Min. 2.0 Typ. Max. Unit V 0.8 0.4 V V 3.5.4 LVTTL Outputs OBA[0:7], OGA[0:7], ORA[0:7], OBB[0:7], OGB[0:7], ORB[0:7], OHS, OVS, ODE, OCLK Symbol VIH VIL IIH IIL Parameter High Level Input Voltage Low Level Input Voltage High Level Input Current Low Level Input Current Condition Min. 2.0 Typ. Max. Unit V 0.8 VIN = VDD VIN = 0V -10 10 V A A 3.6 Preliminary AC Specifications Parameter RSDS Differential Output Voltage RSDS Common Mode Output Voltage RSDS Transition Time To 90% ADC Integral Nonlinearity (9-bit) ADC Differential Nonlinearity (9-bit) ADC Input Voltage Range ADC Effective Number Of Bits 135 MSPS Input = 65 MHz sine at 95% FS no missing codes 0.5 7.5 200 8 20 0.05 4 0.1 140 Symbol Vrsds_diff Vrsrs_cm Trise, Tfall INL DNL Vadc_in ENOB Condition RSDS mode 680 ohm + 50 ohm external termination to 1.3V CL = 30pF Min. 100 1.1 Typ. 200 1.3 Max. 400 1.5 3 Unit mV V ns LSB LSB 1.5 1.5 1 Vp-p bits Kohms pF MHz dB mV uF Radc_in Cadc_in Fadc ADC gain step ADC offset step Cadc_ext ADC Input Resistance ADC Input Capacitance ADC Sample Frequency ADC Gain Step Size ADC Offset Step Size ADC External AC Coupling Cap 86/89 ADE3700 Preliminary AC Specifications 4 Package Mechanical Data D D1 11/13 b D2 E2 E1 e E Pin 1 Identification A 0 Min. 0.08/0.20 R. A2 A1 0.08 R. Min. L L1 K 0.25 mm. Gauge Plane Dimensions (mm) Min. A A1 A2 b D D1 D2 E E1 E2 e L L1 K Dimensions (inches) Max. 1.600 0.150 1.450 0.270 Typ. Min. Typ. Max. 0.063 0.006 0.057 0.011 1.400 0.220 22.000 20.000 16.000 14.000 0.500 0.600 1.000 1.350 0.170 0.055 0.009 0.866 0.787 0.623 0.551 0.020 0.024 0.040 0.053 0.007 0.450 0.000 0.750 7.000 0.0178 0.000 0.030 0.275 87/89 Preliminary AC Specifications ADE3700 5 Revision History Table 38: Summary of Modifications Date Version 0.1 0.2 First Draft Addition of diagram on Cover. Modification of Description and Product Selector info on 1st page. Modification of Section 2.7.1: Functional Description (SMUX) and Table 11: Sync Multiplexer Registers. Modification of Table 7: Line Lock PLL Registers, Table 14: Data Measurement Registers, Table 15: LCD Scaler Registers and Table 24: Flicker Registers. Device named changed from ADE3700X to ADE3700. Modification of block diagram and table on cover. Modification of registers SMEAS_V_CTRL and GLBL_INCLK_GATE_CTRL Modification of package data (128-pin LQFP). Changes to Pin Description information. Update of Timing Controller information. Inclusion of Section 3.2: Power Consumption Matrices on page 84. Description 12 August 2002 23 August 2002 17 October 2002 26 Nov 2002 4 Dec 2002 9 Jan 2003 10 July 2003 0.3 0.4 0.5 0.6 0.7 88/89 ADE3700 Information furnished is believed to be accurate and reliable. However, STMicroelectronics assumes no responsibility for the consequences of use of such information nor for any infringement of patents or other rights of third parties which may result from its use. No license is granted by implication or otherwise under any patent or patent rights of STMicroelectronics. Specifications mentioned in this publication are subject to change without notice. This publication supersedes and replaces all information previously supplied. STMicroelectronics products are not authorized for use as critical components in life support devices or systems without express written approval of STMicroelectronics. The ST logo is a registered trademark of STMicroelectronics (c) 2003 STMicroelectronics - All Rights Reserved STMicroelectronics GROUP OF COMPANIES Australia - Brazil - Canada - China - Finland - France - Germany - Hong Kong - India - Israel - Italy - Japan Malaysia - Malta - Morocco - Singapore - Spain - Sweden - Switzerland - United Kingdom - United States. www.st.com 89/89 This datasheet has been download from: www..com Datasheets for electronics components. |
Price & Availability of ADE3700SX
![]() |
|
|
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] |