Flicker Block
Register Name
OSD_PORT
ADE3XXX
Table 25: OSD Register
Addr
0C02
Mode Bits
R/W
[7:0]
Default
Description
0
OSD access port
2.20
Flicker Block
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 area flicker.
This function is only useful in SmartPanel applications.
The incoming image is scored against 8 vertical Walsh functions. All patterns are considered to be
vertically, where horizontally the pixels are assumed to be alternating its 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 reg
(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 reg (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 microntroller. The internal flicker calculation continues to run -- only the
update of the I2C registers is blocked when this bit is set to prevent corrupution during readout.
Table 26: Flicker Registers (Sheet 1 of 3)
Register Name
FLK_CTRL
FLK_HBLOCK_SIZE
Addr
0x0CA1
0x0CA2
Mode Bits
R/W
[7:6]
W
[5]
R/W
[4]
R/W
[2:0]
R/W
[7:4]
[3:0]
Default
Description
0x0
0x1
0x0
0x25
Reserved
0: straight line uniform function
1: straight line hill function (normal)
0: free run
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 (normal)
0x3: -R+G+B / +R-G-B
0x4: +R-G-B / -R+G+B
0x5: +R-G+B / -R+G-B (normal)
0x6: +R+G-B / -R-G+B
0x7: +R+G+B / -R-G-B
Reserved
0x0
Width in pixels of the per frame scored area
= 2 ^ (3+ HBLOCK_SIZE)
72/88