Copyright © Bridgetek Pte Ltd 22
FT81X Embedded Video Engine Datasheet
Version 1.4
Document No.: BRT_000002 Clearance No.: BRT#004
4.2.3 Clock Enable
At power-on the FT81x enters sleep mode. The internal relaxation oscillator is selected for the PLL clock
source. The system clock will be enabled when the following step is executed:
Host sends an “ACTIVE” command
If the application chooses to use the external clock source (12MHz crystal or clock), the following steps
shall be executed:
Host sends a “CLKEXT” command
Host sends an “ACTIVE” command
4.2.4 Clock Frequency
By default the system clock is 60MHz when the input clock is 12MHz. The host is allowed to switch the
system clock to other frequencies (48MHz, 36MHz, and 24MHz) by the host command “CLKSEL”. The
clock switching command shall be sent in SLEEP mode only.
When using the internal relaxation oscillator, its clock frequency is trimmed to be 12MHz at factory.
Software is allowed to change the frequency to a lower value by programming the register REG_TRIM.
Note that software shall not change the internal oscillator frequency to be higher than 12MHz.
4.3 Graphics Engine
4.3.1 Introduction
The graphics engine executes the display list once for every horizontal line. It executes the primitive
objects in the display list and constructs the display line buffer. The horizontal pixel content in the line
buffer is updated if the object is visible at the horizontal line.
Main features of the graphics engine are:
The primitive objects supported by the graphics processor are: lines, points, rectangles, bitmaps
(comprehensive set of formats), text display, plotting bar graph, edge strips, and line strips, etc.
Operations such as stencil test, alpha blending and masking are useful for creating a rich set of
effects such as shadows, transitions, reveals, fades and wipes.
Anti-aliasing of the primitive objects (except bitmaps) gives a smoothing effect to the viewer.
Bitmap transformations enable operations such as translate, scale and rotate.
Display pixels are plotted with 1/16th pixel precision.
Four levels of graphics states
Tag buffer detection
The graphics engine also supports customized built-in widgets and functionalities such as jpeg decode,
screen saver, calibration etc. The graphics engine interprets commands from the MPU host via a 4 Kbyte
FIFO in the FT81x memory at RAM_CMD. The MPU/MCU writes commands into the FIFO, and the graphics
engine reads and executes the commands. The MPU/MCU updates the register REG_CMD_WRITE to
indicate that there are new commands in the FIFO, and the graphics engine updates REG_CMD_READ
after commands have been executed.
Main features supported are:
Drawing of widgets such as buttons, clock, keys, gauges, text displays, progress bars, sliders,
toggle switches, dials, gradients, etc.
JPEG and motion-JPEG decode
Inflate functionality (zlib inflate is supported)
Timed interrupt (generate an interrupt to the host processor after a specified number of
milliseconds)
In-built animated functionalities such as displaying logo, calibration, spinner, screen saver and
sketch
Snapshot feature to capture the current graphics display