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
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.1FRAME_HEIGHT
Defines the number of lines in each of the frame buffers.
2.2.2FRAME_WIDTH
Defines the number of dots (columns) in each of the frame buffer lines.
2.2.3V_LINES_INVERT
If defined flips the presentation of lines on the display.
2.2.4H_DOT_INVERT
If defined flips the presentation of dots (columns) on the display.
2.2.5PANEL_ROTATE
Rotates the presentation of data (rows/columns) on the LCD panel. Only available on H8SX SRAM based modes.
2.2.6LCD_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.7MAX_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