Direct Drive LCD Design Guide
2.2 Frame Buffer Configuration
The frame buffer is the external memory area that is used to store the 16bpp image data that will be
presented on the LCD screen. The quantity of frame buffers is typically 2 or more. This allows the MCU to
be updating one frame wile the ExDMA is transferring the other frame to the LCD panel, this behavior
allows for fast transitions and the user does not see operations occurring in the non-displayed buffers.
Typically, the frame buffer is configured to the same dimensions as the LCD panel; however the frame
buffer can be larger to allow the LCD panel to act as a “window” into the frame buffer (allowing for fast
panning of large images).
The following macros control the sizing of the frame buffer.
2.2.1 FRAME_HEIGHT
Defines the number of lines in each of the frame buffers.
2.2.2 FRAME_WIDTH
Defines the number of dots (columns) in each of the frame buffer lines.
2.2.3 V_LINES_INVERT
If defined flips the presentation of lines on the display.
2.2.4 H_DOT_INVERT
If defined flips the presentation of dots (columns) on the display.
2.2.5 PANEL_ROTATE
Rotates the presentation of data (rows/columns) on the LCD panel. Only available on H8SX SRAM based
modes.
2.2.6 LCD_FRAMES
Defines the number of frame buffers allocated in the driver. The demonstration code value is two by
default. This value can be set to zero in which case, the user code is responsible for the allocation of
frame buffers.
2.2.7 MAX_FRAME_REGIONS
Defines the number of horizontal screen “splits” that can be used within the driver. The demonstration
code default value is 1 (no splits). This capability allows different source regions to be used with horizontal
screen areas (control GUI + panning image view for example).
The default display sequence of a LCD panel is shown in Figure 1. The origin of the display is shown as
the green dot in the picture. By default the driver will send the raster image to the LCD panel in the same
sequence. If necessary, there are two macros available to change the sequence of data presented to the
panel. V_LINES_INVERT sends the top line first and sequences to the bottom and H_DOT_INVERT
sends the right side of the line first and sequences to the left. Either or both of these macros can be
specified at the same time. PANEL_ROTATE (only available on H8SX) is the macro to allow user image to
be rotated in transfer to the panel as shown in the Figure 2.
6