Tiny210 (s5pv210) LCD controller RGB configuration learning records

Source: Internet
Author: User

Recently, I am working on the 210lcd configuration. Here I will record some learning things. If there are any mistakes, please correct them and learn from each other.

Datasheet contains many nouns. First, record the meanings of Some nouns:

Alpha blending: originally, the R, G, and B channels are used to represent the color, but the display controller is divided into five layers, therefore, layers need to be mixed according to a certain proportional factor to achieve the transparency of the layer, instead of completely overwriting the background layer, now, the alpha channel is added as the adjustment factor for the color mixing. After configuring relevant settings, the transparency between layers can be controlled by adjusting the Alpha value. The so-called transparency, it is equivalent to merging two layers into a layer based on different compositing factors, so that the background layer will not be completely overwritten and invisible.

Color Key: contains the background window BG and foreground window FG. The two windows have overlapping parts. Set a color value as the Color Key of FG, when the color values of pixels in FG are the same as those of the Color Key, These pixels are specially treated in two ways, if the color of the foreground window is displayed when the color value is equal, the color of the foreground window is displayed; if the color of the background window is displayed when the color value is equal, the background window color is displayed. Of course, the color key in the background window is meaningless.

Color gain: Color gain.

Lut: Look up table. It is reasonable to translate it into a search table or a query table. For example, color look up table is translated into a color search table, that is, a color palette. It is used for color search. Haha, the color palette is also called palette in English, which is also called in Datasheet of 210.

I80 interface: I understand it as interface 80. This is an LCD interface that was previously used by the Controller. It probably interacts with each other through commands.

OSD: This abbreviation always appears in Datasheet. I understand it as on screen display, which refers to the window display area.

Fimd: fully interactive mobile display, a fully interactive mobile display device. The LCD controller integrated in 210 should be part of fimd, and there is nothing else in the fimd module, I think this is the case. It will be mentioned later in the configuration process.

Fimc: fully interactive mobile camera, a fully interactive Mobile Camera device, 210 which integrates the camera controller as part of fimc. in LCD configuration, fimc0 and fimc1 indicate that the data source channel of the LCD controller is fimc, that is, the direct channel from the camera module. 210 has built-in fimc and LCD controller, that is to say, the LCD controller can directly display data through the camif0 (camera interface), camif1, and camif2 channels.

Mipi: Mobile Industry proccessor interface, mobile industry processor interface standard, mainly specifies the hardware interface standard, this article has related blog: http://blog.csdn.net/tanxs001/article/details/7682085

DSI and CSI: DSI is the display serial interface (display serial interface) standardized by mipi organizations; CSI is the camera serial interface (CAMERA serial interface) standardized by mipi organizations ).

Mipi dsim: The DSI interface that appears in Datasheet.


Below are some important things for LCD controller Configuration:

LCD controller main process: Image Input (input from various channels) --> Image Processing (layer mixing, effect enhancement, etc.) --> LCD controller signal output.

Data Flow: this is the data flow of the preceding process. Image Data Flows in --> color space convert (if the enter is not RGB) --> alpha blending and color keying --> gamma, color gain, image compensation --> LCD controler signal output.

Source of image input: (1) VdMA. Each layer has a dedicated DMA channel to directly obtain image data from the frame memory, namely, ch0 (channel0), medium, CH2, CH3,. (2) In addition to VdMA channels, win0, win1, and win2 can also obtain data through the channels between fimc and fimd, namely, through camif0, camif0, and camif0, respectively, the video data is transmitted directly to the display module for display.

Number of frames in memory: 210 three frame memory addresses can be configured for each layer window through vidw0xadd0bx. However, at the agreed time, only one frame of Memory takes effect. Which address can be configured for vidconx to take effect. The end address of vidw0xadd0bx configuration. Note that the frame memory size must be smaller than the window OSD size.

Virtual screen: when the actual size of the image exceeds the size of the window OSD, you can use the virtual screen function to display the part of the large image. The part displayed is called a view, as shown in. You can configure vid0xaddxbx to configure the position of the view. Note the differences between the OSD position of the window and the window. The OSD position refers to the position of the display panel relative to the display panel, the position of a view refers to the position of a view relative to a large image. Of course, the size of the view is equal to that of OSD.

In datasheet, three registers are used to configure the image display size: (1) vidtcon2 configures the valid rows and columns of the output sequence, which determines the actual area size of the display, it is usually the size of the display panel. (2) vidosdxx configures the position and size of the window of each layer. That is to say, the size of each layer is not necessarily the same as that of the Panel, and its position and size can be changed. (3) vidw0xaddxbx is configured to implement the virtual screen function, such as offsize, pagewidth, and lcdbasu.

Output Signal inversion problem: Because the LCD controller output signal in 210, compared with the lcddatasheet, we can see that the original vsync and hsync of the 210 controller are different from the time sequence diagram of the lcddatasheet, so we need to reverse the polarity. We can also know the time sequence diagram of LCD and 210 controller by comparing the relevant parameters.

Layer Mixing: Look, B 'indicates the new color value after Pixel blending, and alphab' indicates the Alpha value after Pixel blending (the Alpha value is actually a decimal number not greater than 1 ), in the formula, A, B, P, and Q represent their mixed factors, which are configured by the register blendeq. For example, if a is configured as alphaa, B is configured as alphab, P is configured as 1, and Q is configured as 1, you can bring it into the formula. B '= A x alphaa + B x alphab, alphab' = alphaa + alphab; therefore, the value of alphaa determines the percentage of A's color. The value of alphab determines the percentage of B's color, then, the new color B 'is added and synthesized. Therefore, by adjusting the values of alphaa and alphab, the transparency of synthesis is controlled, because the merged pixel B 'comes from two parts: A and B, it does not control transparency. The synthesis alphab' is used as the synthesis factor for synthesis with the next layer.


Alpha is determined based on the configuration, or it is the globally identical Alpha value, or the BPP mode with the alpha channel for each pixel, or the key_alpha related to the color key; the Datasheet contains a flowchart to determine its value.


The configuration steps are as follows:

(1) The LCD function is used to configure related pins.

(2) Enable Backlight

(3) select to display the output path as fimd. datasheet has mentioned to select, but only fimd can be selected without other paths. It is better to fix the hardware, why do I need to configure it manually.


(4) global configuration of vidconx

(5) vidtconx configuration timing

(6) configure the position and size of the layer window

(7) configure the virtual window if necessary

(8) Enable channels for data source transmission


For detailed settings, refer to the programmmer's model in Datasheet. According to the process in the model, you can configure the functions as needed. If you do not need the functions, you can skip them.

Tiny210 (s5pv210) LCD controller RGB configuration learning records

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.