Looking at Photo 1, it’s rather obvious that we have
already reached our initial goal. So, the focus of this
month’s discussion is how we got there. The key to our
success lies in our ability to write an array of SPI functions
that access the FT800 memory spaces.
The LCD panel is controlled using a low bandwidth
SPI interface. In reality, the MX3’s PIC32MX
microcontroller is overkill as far as driving
the LCD panel is concerned. The FT800 is
designed to be driven using just about any
microcontroller that can communicate over
an SPI channel. Since FT800-generated
images are rendered line by line, just about
any low pin count and low memory
resource microcontrollers can host the
Writing the Core Functions
When designing with microcontrollers, it
is very important to understand how the
registers and memory areas are organized.
The same is true for the FT800 which is, in
fact, a specialized microcontroller.
Right now, we are only interested in getting the
display to function as we desire.
The FT800’s 4 MB address space is also carved out to
support touch and audio controller registers and memory
buffers. You can get the details of the FT800 address
In the previous edition of Design Cycle, we
chose an off-the-shelf Digilent hardware
platform to support our EVE display project.
We also flew an initial bomb run on the
supporting XC32 firmware. During the time
we've been apart, I've consumed quite a bit
more of that elephant we referenced last
time. This month, we will test and tune the
basic functions that are necessary to enable
the FT800 to drive an LCD panel.
THE DESIGN CYCLE
LEARNING CORE VALUES
Post comments on this article and find any associated
files and/or downloads at www.nutsvolts.com/index.
■ BY FRED EADY
54 July 2014
■ Table 1. The actual firmware declarations that lay out these memory
areas are physically coded within the ft800-pic32mx.h include file. Note
that only the least significant 22 bits constitute a valid FT800 memory
■ Photo 1. To display this message and button, we had to
initialize the FT800, establish some data structures, and
issue commands via the MX3's SPI portal.