1) DBI Interface
A, which is commonly referred to as the MCU excuse, commonly known as the system interface. The LCD interface between host processor and LCM device list as below,the LCM driver would repeated update panel display. The MCU uses a parallel interface to transmit control commands and data and to refresh the screen by updating the data with the gram (graphic RAM) that comes with the LCM module.
The DBI interface is divided into two types: serial and parallel, and the model is as follows.
B, the typical 18-bit data with 16-bit data description (8-bit register control).
As above hardware adopts 18-bit data cable, control command and parameter occupy DB0 to DB7 parallel transmission, image data is transmitted in parallel by RGB666 format.
As above hardware adopts 16-bit data cable, control command and parameter occupy DB0 to DB7 parallel transmission, image data is transmitted in parallel by RGB565 format.
C, description of the DBI data format
(I) for 16-bit datawidth, the typical data format is as follows
1cycle/1pixel,rgb565, the format is: RRRRRGGGGGGBBBBB
3cycle/2pixel,rgb666, the format is: XXXXRRRRRRGGGGGG
Xxxxbbbbbbrrrrrr
xxxxggggggbbbbbb
3cycle/2pixel,rgb888, the format is: RRRRRRRRGGGGGGGG
Bbbbbbbbrrrrrrrr
ggggggggbbbbbbbb
(II) for 18-bit datawidth, typical data formats are as follows
1cycle/1pixel,rgb666, the format is: RRRRRRGGGGGGBBBBBB
3cycle/2pixel,rgb888, the format is: RRRRRRRRGGGGGGGG
Bbbbbbbbrrrrrrrr
ggggggggbbbbbbbb
D, hardware interface and timing
(I) Hardware connection diagram:
RESX: Reset, csx:chip Select, te:tearing enable;d/cx:register Select Register, wrx/scl:write control;rdx:read control;db[ ....] : Transmission line.
(II) Write cycle:
(III) Read cycle:
(IV) about 6 read and write timings in the screen parameters
(2) DPI interface
Commonly referred to as the RGB interface, the use of ordinary synchronization, clock, signal lines to transmit specific data, using the SPI and other control lines to complete command control. To some extent, the biggest difference between DPI and DBI is that the DPI data line and control line are separated, and DBI is multiplexed.
Its model is as follows:
Its signal sequence diagram is as follows (note the difference between de mode and sync mode):
Among them, Backporch and syncwidth should be allocated as much as possible, because it determines the starting position of the effective region, and frontporch can be assigned a small point (the method is used in sync mode of the screen to drive the de screen, pay attention to backporch+syncwidth+ The Frontporch is equal to the blanking value in the de mode).
There was a strange phenomenon when debugging a DPI interface LCM, and the RGB interface was connected to an LVDS module with an LVDS conversion chip. After the re-burning program can display images, power off and then no image, and later found that the power-on-screen parameter is not configured in the initialization of a CS pull-up to enable the signal foot. After burning the program, the foot is high so it can be displayed, heavy power off and then power on the default is low so there is no image.
Clock calculation method for DPI interface:
In fact ref is 0, the other three parameters are set in the screen parameter.
For the clock polarity selection of the DPI interface, make the following description:
A, first look at the data line, when the first data transmission, if en is a falling edge, that is, the transmission of valid data when en low effective. Then:params->dpi.de_pol=lcm_polarity_falling; and vice versa
B, VSync, and HSync represent the beginning of a single frame of data and one row of data, and when a frame starts with a falling edge, the setting:params->dpi.vsync_pol=lcm_polarity_falling; and vice versa; When a line begins with a falling edge, set the:params->dpi.hsync_pol=lcm_polarity_falling; Vice versa.
C, PCLK polarity does not have a fixed requirement, mainly to see its relationship with data, that is, to ensure latch to the correct data, which is the same as sensor PCLK settings. When starting the transfer of the first data, if the PCLK is a falling edge, that is, when the data is latch along the falling edge, it is best to set:params->dpi.clk_pol=lcm_polarity_falling; Vice versa.
(3) DPI compatible with DBI
Many LCM modules are now compatible with the DBI and DPI interfaces. Because the im2/im1/im0 is determined by the phone motherboard, such as 6516 support MCU interface, and the module on the other DPI interface of the motherboard can also be used.
Another supplementary question about the display of digits, because the embedded Windows system GUI is 16-bit, different from the desktop Windows 32-bit, so 24-bit bitmap in Win CE, can only be displayed in 16-bit color, certain colors will be discarded. The flaw is also that, even if the RGB666 bit of LCM data bit explicit, the final software will accept the GUI color is 16-bit, to turn RGB565 into RGB666 to be 18-bit color display, equivalent to interpolation.
(4) DSi interface
DSI, is a serial transmission method, including data, instructions, and other information. Connection methods such as:
The data transfer process for DSI is as follows:
Since DSI data is packet-handled, unlike the DBI interface, where the original transmission content is clearly known, the solution to some problems is different. When debugging otm8009a's dis interface LCM, it is found that the LCD must press the Power key to sleep after two times to wake up, at first no matter what is not thought to be a screen problem, and finally modify the LCM's DSi driver common function to solve, that is, the Dsi_enable_power DSi The _lane0_ulp_mode parameter is 0 to avoid the DSi in extreme sleep.
DSI's three format categories are described below:
About CABC, a way to control the LCM's own backlight through a screen parameter, the biggest difference from the way the backlight is controlled by an independent Gpio or PWM is that the backlight is illuminated and adjusted to the use of the LCM. In the face of the boot white screen or there will be snowflakes point, are in the initialization to enable the CABC function, and show screen is obviously in the screen after the initialization, backlight and screen no data, so it is difficult to avoid white screen and snowflake point. The solution is: in the LCM driver corresponding to set the backlight function, first set the brightness level, then enable the CABC, that is, do not set CABC in the initialization, so that the problem can be avoided.
Another problem with the regulation of CABC is that the DSi adjusts the brightness to clash with DSi VIDEO mode. CABC is to set the maximum brightness, the brightness of the LCD will change with the content of the screen to automatically adjust to achieve the purpose of saving electricity. Of course, the brightness of the menu is another thing, which leads to the abnormal image and wake up after sleep, the root cause is in the RGB data interspersed DSI control commands, if the chip sender can not be sent between RGB frames to send the CABC command, resulting in the RGB image broken connection, There will be an exception.
The difference between the DBI interface and the DPI interface