Table of Contents
GOLDELOX
Embedded Graphics Processor
DATASHEET
Document Revision: 2.1
Document Date: 21st March 2019
GOLDELOX DATASHEET
Page 1 of 28
www.4dlabs.com.au
Table of Contents
Table of Contents
1. Description .............................................................................................................. 3
2. Features ................................................................................................................... 3
3. Applications ............................................................................................................. 4
4. Pin Configuration and Summary ............................................................................... 5
5. Hardware Interface Pins ........................................................................................... 7
5.1. Display Interface ...................................................................................................... 7
5.2. SPI Interface – Master Mode ................................................................................... 8
5.3. Serial Port – UART .................................................................................................... 8
5.4. General Purpose I/O Interface ................................................................................. 9
5.5. System Pins ............................................................................................................ 10
6. 4DGL – Software Language ..................................................................................... 11
7. In Circuit Serial Programming ................................................................................. 11
8. Memory Organization ............................................................................................ 12
9. System Registers Memory Map .............................................................................. 13
10. Hardware Tools .................................................................................................... 17
10.1. Programming Tools .............................................................................................. 17
10.2. Evaluation Display Modules ................................................................................. 17
11. 4D Labs – Workshop4 IDE ..................................................................................... 18
11.1. Designer Environment ......................................................................................... 18
11.2. ViSi Environment .................................................................................................. 18
11.3. Serial Environment ............................................................................................... 19
12. Reference Design ................................................................................................. 20
13. Timing Diagrams .................................................................................................. 21
13.1. Display Write Data Timing ................................................................................... 21
13.2. Display Read Data Timing .................................................................................... 22
13.3. SPI Timing Diagram .............................................................................................. 23
14. Package Details .................................................................................................... 24
15. PCB Land Pattern.................................................................................................. 25
16. Specifications and Ratings .................................................................................... 26
17. Revision History ................................................................................................... 27
18. Legal Notice ......................................................................................................... 28
19. Contact Information ............................................................................................. 28
GOLDELOX DATASHEET
Page 2 of 28
www.4dlabs.com.au
GOLDELOX GRAPHICS PROCESSOR
1. Description
2. Features
The Goldelox is a custom embedded graphics
controller designed to interface with many popular
OLED and LCD display panels. Powerful graphics, text,
image, animation and countless more features are
built right inside the chip. It offers a simple plug-n-play
interface to many 8bit 80-Series colour LCD and OLED
displays.
•
The chip is designed to work with minimal design
effort and all of the data and control signals are
provided by the chip to interface directly to the
display. Simply choose your display and interface it to
the Goldelox on your application board. This offers
enormous advantage to the designer in development
time and cost saving and takes away all of the burden
of low level design.
•
•
•
•
The Goldelox belongs to a family of processors
powered by a highly optimised soft core virtual
engine, EVE (Extensible Virtual Engine). EVE is a
proprietary, high performance virtual processor with
an extensive byte-code instruction set optimised to
execute compiled 4DGL programs. 4DGL (4D Graphics
Language) was specifically developed from ground up
for the EVE engine core. It is a high level language
which is easy to learn and simple to understand yet
powerful enough to tackle many embedded graphics
applications.
•
The device offers modest but comprehensive I/O
features and can interface to SPI, serial, analogue,
digital, buttons, joystick and Dallas 1-wire devices.
Provision is also made for creating complex sound
effects for audible user feedback with an extended
RTTTL tone generator.
•
All of the display built-in driver libraries implement
and share the same high-level function interface. This
allows your GUI application to be portable to different
display controller types.
4D Labs software development IDE called Workshop4
is FREE and there are no licensing requirements.
The Goldelox offers one of the most flexible
embedded graphics solutions available.
GOLDELOX DATASHEET
•
•
•
•
•
•
•
•
Page 3 of 28
Low-cost OLED, LCD and TFT display graphics user
interface solution.
Ideal as a standalone embedded graphics
processor or interface to any host controller as a
graphics co-processor.
Connect to any colour display that supports an 80Series 8 bit wide CPU interface. All data and
control signals are provided.
Built in high performance virtual processor engine
(EVE) with an extensive byte-code instruction set
optimised for 4DGL, the high level 4D Graphics
Language.
2 x GPIO ports supports:
o Digital I/O
o A/D converter with 8/10 bit resolution
o Complex sound generation
o Dedicated RTTTL tune engine
o Multi-Switch Joystick
o Dallas 1-Wire
10KB of Flash memory for user code storage and
510 bytes (255 x 16bit vars) of RAM for user
variables.
1 x 32bit free running system timer with 1msec
resolution.
4 x 16bit user timers with 1msec resolution
Asynchronous hardware Serial port with autobaud feature (300 to 600K baud).
Hardware SPI port interface for micro-SD/microSDHC memory cards or Serial Flash memory chips
for storing of icons, images, animations, etc.
Comprehensive set of built in high level 4DGL
graphics functions and algorithms that can draw
lines, circles, text, and much more.
Display full colour images, animations, icons and
video clips.
8x8 built-in system font and support for unlimited
user customisable fonts with fixed or proportional
spacing with the aid of a freely provided FontTool.
Single 3.3 Volt Supply @12mA typical.
Available in a tiny 6mm x 6mm 28pin QFN.
www.4dlabs.com.au
GOLDELOX GRAPHICS PROCESSOR
3. Applications
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Industrial (general).
Test, measurement and general purpose
instrumentation
Elevator Control Systems.
Point of Sale Terminals.
Home Appliances (general).
Security Systems.
Access Control Systems.
Air-conditioning Control Systems.
Universal Remote Control.
Automotive (general).
Electronic Gauges and Meters.
Portable ECG Systems.
Portable Blood Pressure Monitors.
Aviation (general).
Gaming and Slot Machines.
And much more…
GOLDELOX DATASHEET
Page 4 of 28
www.4dlabs.com.au
GOLDELOX GRAPHICS PROCESSOR
4. Pin Configuration and Summary
Goldelox Processor Pin Out
PIN
SYMBOL
I/O
1
RD
O
2
WR
O
3
REF
P
4
RS
O
5
6
7
GND
CLK1
CLK2
P
I
O
8
SDCS
O
9
CS
O
10
RES
O
DESCRIPTION
Display Read strobe signal. Goldelox asserts this signal LOW when reading data
from the display. Connect this pin to the Read (RD) signal of the display.
Display Write strobe signal. Goldelox asserts this signal LOW when writing data to
the display. Connect this pin to the Write (WR) signal of the display.
Internal voltage regulator filter capacitor. Connect a 4.7uF to 10uF capacitor from
this pin to Ground.
Display Register Select.
LOW: Display index or status register is selected.
HIGH: Display GRAM or register data is selected.
Connect this pin to the Register Select (RS or A0 or C/D or similar naming
convention) signal of the display.
Ground.
System Clock input 1 of a 12MHz crystal.
System Clock input 2 of a 12MHz crystal.
SPI device Chip Select. Connect this pin to the Chip Enable (CE or CS) signal of the
external SPI device (SD/SDHC memory card, Serial Flash chip, etc.).
Display Chip Select. Goldelox asserts this signal LOW when accessing the display.
Connect this pin to the Chip Select (CS) signal of the display.
Display RESET. Goldelox initialises the display by strobing this pin LOW. Connect this
pin to the Reset (RES) signal of the display.
I = Input, O = Output, P = Power, A = Analogue
GOLDELOX DATASHEET
Page 5 of 28
www.4dlabs.com.au
GOLDELOX GRAPHICS PROCESSOR
Goldelox Processor Pin Out (continued…)
PIN
SYMBOL
I/O
11
SCK
O
12
SDI
I
13
SDO
O
14
TX0
O
15
RX0
I
16
17
18
19
20
21
22
23
24
25
26
27
28
PAD
GND
VCC
D0
D1
D2
D3
D4
D5
D6
D7
RESET
IO1
IO2
GND
P
P
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I/O
I
I/O/A
I/O
P
DESCRIPTION
SPI Serial Clock output. Connect this pin to the SPI Serial Clock (SCK) signal of the
external device. Nominally reserved for SD/SDHC memory card or serial flash
memory chip.
See Section 13.3 for detailed timing diagram.
SPI Serial Data Input. Connect this pin to the SPI Serial Data Out (SDO) signal of the
external device. Nominally reserved for SD/SDHC memory card or serial flash
memory chip.
See Section 13.3 for detailed timing diagram.
SPI Serial Data Output. Connect this pin to the SPI Serial Data In (SDI) signal of the
external device. Nominally reserved for SD/SDHC memory card or serial flash
memory chip.
See Section 13.3 for detailed timing diagram.
Asynchronous Serial Transmit pin. Output data is at TTL voltage levels. Connect this
pin to external device Serial Receive (Rx) signal. This pin is tolerant up to 5.0V levels.
Asynchronous Serial Receive pin. Connect this pin to external device Serial Transmit
(Tx) signal. This pin is tolerant up to 5.0V levels.
Ground.
Positive supply with respect to GND pin.
Display Data Bus bit 0.
Display Data Bus bit 1.
Display Data Bus bit 2.
Display Data Bus bit 3.
Display Data Bus bit 4.
Display Data Bus bit 5.
Display Data Bus bit 6.
Display Data Bus bit 7.
Master Reset signal. Connect a 4.7K resistor from this pin to VCC.
General purpose IO1 pin. See Section 5.4 for more detail.
General purpose IO2 pin. See Section 5.4 for more detail.
Exposed metal pad under the package, must connect to GND.
I = Input, O = Output, P = Power, A = Analogue
GOLDELOX DATASHEET
Page 6 of 28
www.4dlabs.com.au
GOLDELOX GRAPHICS PROCESSOR
5. Hardware Interface Pins
The Goldelox provides both a hardware and software
interface. This section describes in detail the hardware
interface.
5.1. Display Interface
The Goldelox supports LCD and OLED displays with an
80-Series 8 bit wide CPU data interface. The
connectivity to the display is easy and straight
forward. The chip generates all of the necessary timing
to drive the display.
CS
RS
RD
WR
0
0
0
1
Read Display Status Register
0
0
1
0
Write Display Index Register
0
1
0
1
Read Display GRAM Data
0
1
1
0
Write Register or GRAM Data
1
X
X
X
No Operation
conventions such as RS, A0, C/D or similar. Be sure to
check with your display manufacturer for the correct
name and function.
RES pin (Display Reset):
Display RESET. Goldelox initialises the display by
strobing this pin LOW. Connect this pin to the Reset
(RES) signal of the display. This signal can also be used
to control the back-light of the LCD or as the DC/DC
converter enable.
Refer to the reference design in Section 12 in this
document for an example.
WR pin (Display Write):
This is the display write strobe signal. The Goldelox
asserts this signal LOW when writing data to the
display in conjunction with the display data bus (D0D7). Connect this pin to the Write (WR) signal of the
display.
Operation
Item
Display Operation Table
D0-D7 pins (Display Data Bus):
The Display Data Bus (D0-D7) is an 8 bit bidirectional
port and all data writes and reads occur over this bus.
Other control signals such as RW, RD CS, and RS
synchronise the data transfer to and from the display.
Sym
Min
Typ
Max
Unit
Write Low Pulse
tWL
170
-
-
ns
Write High Pulse
tWH
85
-
-
ns
Write Bus Cycle Total
tWT
255
-
-
ns
Write Data Setup
tDS
85
-
-
ns
CS pin (Display Chip Select):
The access to the display is only possible when the
Display Chip Select (CS) is asserted LOW. Connect this
pin to the Chip Select (CS) signal of the display.
RS pin (Display Register Select):
The RS signal determines whether a register command
or data is sent to the display.
LOW: Display index or status register is selected.
HIGH: Display GRAM or register data is selected.
Connect this pin to the Register Select (RS) signal of
the display. Different displays utilise various naming
GOLDELOX DATASHEET
Page 7 of 28
www.4dlabs.com.au
GOLDELOX GRAPHICS PROCESSOR
RD pin (Display Read):
This is the display read strobe signal. The Goldelox
asserts this signal LOW when reading data from the
display in conjunction with the display data bus (D0D7). Connect this pin to the Read (RD) signal of the
display.
SCK pin (SPI Serial Clock):
The SPI Serial Clock output (SCK). This pin connects to
the Serial Clock (SCK) signal of the external SPI device.
SDCS pin (SPI Chip Select):
SPI device Chip Select (SDCS). Connect this pin to the
Chip Enable (CE or CS) signal of the external SPI device.
Also refer to Section 13.3 SPI Timing Diagram
Note: SPI Master Only
5.3. Serial Port – UART
Sym
Min
Typ
Max
Unit
Read Low Pulse
Item
tRL
300
-
-
ns
Read High Pulse
tRH
300
-
-
ns
Read Bus Cycle Total
tRT
600
-
-
ns
Read Data Hold
tDH
150
-
-
ns
The Goldelox has a dedicated hardware UART that can
communicate with external serial devices. This is
referred to as the COM0 module. The primary features
are:
•
•
•
•
•
5.2. SPI Interface – Master Mode
Goldelox supports micro-SD/micro-SDHC memory
cards as well as Serial Flash memory chips via its
hardware SPI interface. These storage devices are
used for all multimedia file storage such as images,
animations and movie clips. The memory card can also
be used as general purpose storage for data logging
applications. Support is available for micro-SD with up
to 2GB capacity and for high capacity HC memory
cards starting from 4GB and above. The Goldelox also
supports any other general purpose SPI serial device.
Full-Duplex 8 bit data transmission and reception
through the TX and RX pins.
Data format: 8 bits, No Parity, 1 Stop bit.
Auto Baud feature.
Baud rates from 300 baud up to 600K baud.
Single byte transmits and receives or a fully
buffered service. The buffered service feature
runs in the background capturing and buffering
serial data without the user application having to
constantly poll the serial port. This frees up the
application to service other tasks.
The Serial port is also the primary interface for
downloading user application code (compiled 4DGL
byte-code) into the Goldelox flash program memory.
Once the download is complete the serial port is
available for user application.
Note: Low level PmmC chip programming and
updates also take place via the serial port.
Refer to Section 7. In Circuit Serial Programming for
further details.
SDI pin (SPI Serial Data In):
The SPI Serial Data Input (SDI). It connects to the Serial
Data Out (SDO) pin of external SPI device.
TX pin (Serial Transmit):
Asynchronous Serial port Transmit pin, TX. Connect
this pin to external serial device Serial Receive (Rx)
signal.
SDO pin (SPI Serial Data Out):
The SPI Serial Data Output (SDO). This pin connects to
the Serial Data In (SDI) signal of the external SPI
device.
RX pin (Serial Receive):
Asynchronous Serial port Receive pin, RX. Connect this
pin to external serial device Serial Transmit (Tx) signal.
GOLDELOX DATASHEET
Page 8 of 28
www.4dlabs.com.au
GOLDELOX GRAPHICS PROCESSOR
5.4. General Purpose I/O Interface
There are 2 GPIO pins available, IO1 and IO2. Each
GPIO has a multitude of high level functions associated
with it and these can be selected within 4DGL user
application code.
The IO1 pin can be programmed as an A/D input.
Option is available to select 8 bit or 10 bit resolution.
Diagram below is a circuit of a Light Dependent
Resistor (LDR) connected to IO1 to measure and
record changes in ambient light.
Refer to the separate document titled Goldelox
Internal Functions Manual for a complete set of built
in 4DGL library functions.
IO1, IO2 pins (General Purpose Input Output):
General purpose IO1, IO2 pins. The table below lists
the available GPIO functions and features.
GPIO Functions and Features
FUNCTION
IO1
IO2
Digital Input
✓
✓
Digital Output
✓
✓
A/D Converter 8/10 bits
✓
--
Dallas 1-Wire support
✓
✓
Sound Generation, RTTTL Tunes
✓
✓
Joystick – 5 position multi-switch
✓
--
Dallas 1-Wire:
The Dallas 1-Wire protocol is a form of serial
communications designed to operate over a single
data line plus ground reference. Multiple 1-Wire
devices can be attached to the same shared data line
to network many devices. One wire device support is
available on both the IO1 and the IO2 pins.
Input/Output:
Both IO1 and IO2 pins can be programmed to be
Inputs or Outputs. Diagram below shows a LED
connected to IO1 (programmed as an output) and a
button connected to IO2 (programmed as an input).
The diagram below depicts a typical 1-Wire
temperature sensor interface.
Analogue to Digital Converter:
GOLDELOX DATASHEET
Page 9 of 28
www.4dlabs.com.au
GOLDELOX GRAPHICS PROCESSOR
Joystick - Multi Switch:
Multiple buttons or a multi-switch Joystick can be
connected to the IO1 pin. Up to 5 buttons or a 5
position multi-switch joystick connects to a junction of
a resistor ladder network that forms a voltage divider.
The A/D converter of the IO1 pin internally reads the
analogue value and decodes it accordingly. This
feature is supported by dedicated 4DGL library
functions. The following diagrams indicate how to
connect up to 5 individual buttons or a multi-switch
joystick to the IO1 pin.
The Goldelox is capable of generating complex sounds
and RTTTL tunes from its IO1 and IO2 pins. A simple
speaker circuit as shown below can be utilized.
5.5. System Pins
VCC pin (Device Supply Voltage):
Device supply voltage pin. This pin must be connected
to a regulated supply voltage in the range of 3.0 Volts
to 3.6 Volts DC. Nominal operating voltage is 3.3 Volts.
GND, PAD pins (Device Ground):
Device ground pins. These pins must be connected to
ground.
RESET pin (Device Master Reset):
Device Master Reset pin. An active low pulse of
greater than 2 micro-seconds will reset the device.
Connect a resistor (1K through to 10K, nominal 4.7K)
from this pin to VCC. Only use open collector type
circuits to reset the device if an external reset is
required. This pin is not driven low by any internal
conditions.
Unused buttons do not need resistors to be connected
to the circuit. The table below lists the buttons and
corresponding resistor values.
No. of Buttons
Button Number
Resistor Value
1
SW1
22K
2
SW2
10K
3
SW3
4.7K
4
SW4
2.2K
5
SW5
1.2K
CLK1, CLK2 pins (Device Oscillator Inputs):
CLK1 and CLK2 are the device oscillator pins. Connect
a 12MHz AT strip cut crystal with 22pF capacitors from
each pin to GND as shown in the diagram below.
Sound Output:
GOLDELOX DATASHEET
Page 10 of 28
www.4dlabs.com.au
GOLDELOX GRAPHICS PROCESSOR
6. 4DGL – Software Language
7. In Circuit Serial Programming
The Goldelox graphics processor belongs to a family of
processors powered by a highly optimised soft core
virtual engine, EVE (Extensible Virtual Engine).
The Goldelox processor can be re-programmed with
the latest PmmC configuration for updates and future
proofing. The chip-level configuration is available as a
PmmC (Personality-module-micro-Code) file and the
programming must be performed over the serial
interface. The chip-resident internal 4DGL functions
are part of the Goldelox PmmC configuration file so
please check regularly for the latest updates and
enhancements.
EVE is a proprietary, high performance virtualmachine with an extensive byte-code instruction set
optimised to execute compiled 4DGL programs. 4DGL
(4D Graphics Language) was specifically developed
from ground up for the EVE engine core. It is a high
level language which is easy to learn and simple to
understand yet powerful enough to tackle many
embedded graphics applications.
4DGL is a graphics oriented language allowing rapid
application development, and the syntax structure
was designed using elements of popular languages
such as C, Basic, Pascal and others.
A PmmC file can only be programmed into the device
via its serial port and an access to this must be
provided for on the target application board. This is
referred to as In Circuit Serial Programming (ICSP).
Diagram below provides a typical implementation for
the ICSP interface.
Programmers familiar with these languages will feel
right at home with 4DGL. It includes many familiar
instructions such as IF..ELSE..ENDIF, WHILE..WEND,
REPEAT..UNTIL, GOSUB..ENDSUB, GOTO, PRINT as
well as some specialised instructions SERIN, SEROUT,
GFX_LINE, GFX_CIRCLE and many more.
For detailed information pertaining to the 4DGL
language, please refer to the following documents:
4DGL Programmer’s Reference Manual
Goldelox Internal Functions Manual
To assist with the development of 4DGL applications,
the Workshop4 IDE combines a full-featured editor, a
compiler, a linker and a downloader into a single PCbased application. It's all you need to code, test and
run your applications.
ICSP Interface
The PmmC file is programmed into the device with the
aid of Workshop4, the 4D Labs IDE software (See
Section 11). To provide a link between the PC and the
ICSP interface, a specific 4D Programming Cable is
required and is available from 4D Systems.
Using a non-4D programming interface could damage
your display, and void your Warranty.
Note: The Goldelox chip is shipped blank and it must
be programmed with the PmmC configuration file.
GOLDELOX DATASHEET
Page 11 of 28
www.4dlabs.com.au
GOLDELOX GRAPHICS PROCESSOR
8. Memory Organization
The figure below illustrates how the Goldelox internal
memory is organised.
GOLDELOX DATASHEET
Page 12 of 28
www.4dlabs.com.au
GOLDELOX GRAPHICS PROCESSOR
9. System Registers Memory Map
The following tables outline in detail the Goldelox system registers and flags.
LABEL
Table 9.1: System (BYTE Size) Registers Memory Map
ADDRESS
USAGE
SIZE
DEC HEX
VX1
VY1
VX2
VY2
SYS_X_MAX
SYS_Y_MAX
WRITE_GRAM_REG
READ_GRAM_REG
IMAGE_WIDTH
IMAGE_HEIGHT
IMAGE_DELAY
IMAGE_MODE
CLIP_LEFT_POS
CLIP_TOP_POS
CLIP_RIGHT_POS
CLIP_BOTTOM_POS
CLIP_LEFT
CLIP_TOP
CLIP_RIGHT
CLIP_BOTTOM
FONT_TYPE
FONT_MAX
FONT_OFFSET
FONT_WIDTH
FONT_HEIGHT
TEXT_XMAG
TEXT_YMAG
TEXT_MARGIN
TEXT_DELAY
TEXT_X_GAP
TEXT_Y_GAP
GFX_XMAX
GFX_YMAX
GFX_SCREENMODE
reserved
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162165
0x80
0x81
0x82
0x83
0x84
0x85
0x86
0x87
0x88
0x89
0x8A
0x8B
0x8C
0x8D
0x8E
0x8F
0x90
0x91
0x92
0x93
0x94
0x95
0x96
0x97
0x98
0x99
0x9A
0x9B
0x9C
0x9D
0x9E
0x9F
0xA0
0xA1
0xA20xA5
*NOTES
display hardware GRAM x1 pos
display hardware GRAM y1 pos
display hardware GRAM x2 pos
display hardware GRAM y2 pos
display hardware X res-1
display hardware Y res-1
display GRAM write address
display GRAM read address
loaded image/animation width
loaded image/animation height
frame delay (if animation)
image/animation colour mode
left clipping point setting
top clipping point setting
right clipping point setting
bottom clipping point setting
left clipping point active
top clipping point active
right clipping point active
bottom clipping point active
0 = fixed, 1 = proportional
number of chars in font set
ASCII offset (usually 0x20)
width of font (pixel units)
height of font (pixel units)
text width magnification
text height magnification
text place holder for CR
text delay effect (0-255msec)
X pixel gap between chars
Y pixel gap between chars
width of current orientation
height of current orientation
Current screen mode (0-3)
BYTE
BYTE
BYTE
BYTE
BYTE
BYTE
BYTE
BYTE
BYTE
BYTE
BYTE
BYTE
BYTE
BYTE
BYTE
BYTE
BYTE
BYTE
BYTE
BYTE
BYTE
BYTE
BYTE
BYTE
BYTE
BYTE
BYTE
BYTE
BYTE
BYTE
BYTE
BYTE
BYTE
BYTE
SYSTEM (R/O)
SYSTEM (R/O)
SYSTEM (R/O)
SYSTEM (R/O)
SYSTEM (R/O)
SYSTEM (R/O)
SYSTEM (R/O)
SYSTEM (R/O)
SYSTEM (R/O)
SYSTEM (R/O)
USER
SYSTEM (R/O)
USER
USER
USER
USER
USER
USER
USER
USER
SYSTEM (R/O)
SYSTEM (R/O)
SYSTEM (R/O)
SYSTEM (R/O)
SYSTEM (R/O)
USER
USER
SYSTEM (R/O)
USER
USER
USER
SYSTEM (R/O)
SYSTEM (R/O)
SYSTEM (R/O)
reserved
BYTE
SYSTEM (R/O)
*NOTES:
SYSTEM registers are maintained by internal system functions and should not be written
to. They should only ever be read.
DO NOT WRITE to these registers.
USER registers are read/write (R/W) registers used to alter the system behaviour. Refer
USER
to the individual functions for information on the interaction with these registers.
These registers are accessible with peekB and pokeB functions.
SYSTEM
GOLDELOX DATASHEET
Page 13 of 28
www.4dlabs.com.au
GOLDELOX GRAPHICS PROCESSOR
LABEL
Table 9.2: System (WORD size) Registers Memory Map
ADDRESS
USAGE
SIZE
DEC HEX
SYS_OVERFLOW
SYS_COLOUR
SYS_RETVAL
GFX_BACK_COLOUR
GFX_OBJECT_COLOUR
GFX_TEXT_COLOUR
GFX_TEXT_BGCOLOUR
GFX_OUTLINE_COLOUR
GFX_LINE_PATTERN
IMG_PIXEL_COUNT
IMG_FRAME_COUNT
MEDIA_HEAD
SYS_OUTSTREAM
GFX_LEFT
GFX_TOP
GFX_RIGHT
GFX_BOTTOM
GFX_X1
GFX_Y1
GFX_X2
GFX_Y2
GFX_X_ORG
GFX_Y_ORG
RANDOM_LO
RANDOM_HI
MEDIA_ADDR_LO
MEDIA_ADDR_HI
SECTOR_ADDR_LO
SECTOR_ADDR_HI
SYSTEM_TIMER_LO
SYSTEM_TIMER_HI
TIMER0
TIMER1
TIMER2
TIMER3
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
0x53
0x54
0x55
0x56
0x57
0x58
0x59
0x5A
0x5B
0x5C
0x5D
0x5E
0x5F
0x60
0x61
0x62
0x63
0x64
0x65
0x66
0x67
0x68
0x69
0x6A
0x6B
0x6C
0x6D
0x6E
0x6F
0x70
0x71
0x72
0x73
0x74
0x75
INCVAL
118
0x76
TEMP_MEDIA_ADDRLO
TEMP_MEDIA_ADDRHI
GFX_TRANSPARENTCOLOUR
119
120
121
0x77
0x78
0x79
GFX_STRINGMETRIX
122
0x7A
GFX_TEMPSTORE1
123
0x7B
reserved
reserved
SYS_FLAGS1
SYS_FLAGS2
USR_SP
USR_MEM
124
125
126
127
128
129
0x7C
0x7D
0x7E
0x7F
0x80
0x81
GOLDELOX DATASHEET
16bit overflow register
internal variable for colour
return value of last function
screen background colour
graphics object colour
text foreground colour
text background colour
circle/rectangle outline
line draw tessellation
count of pixels in image
count of frames in animation
media sector head position
Output stream handle
image left real point
image top real point
image right real point
image bottom real point
image left clipped point
image top clipped point
image right clipped point
image bottom clipped point
current X origin
current Y origin
random generator LO word
random generator HI word
media byte address LO
media byte address HI
media sector address LO
media sector address HI
1msec system timer LO word
1msec system timer HI word
1msec user timer 0
1msec user timer 1
1msec user timer 2
1msec user timer 3
predec/preinc/postdec/postinc
addend
temporary media address LO
temporary media address HI
Image transparency colour
Low byte = string width
High byte = string height
Low byte = last character printed
High byte = video frame timer
over-ride
reserved
reserved
system control flags word 0
system control flags word 1
User defined stack pointer
255 user variables / array(s)
Page 14 of 28
*NOTES
WORD
WORD
WORD
WORD
WORD
WORD
WORD
WORD
WORD
WORD
WORD
WORD
WORD
WORD
WORD
WORD
WORD
WORD
WORD
WORD
WORD
WORD
WORD
WORD
WORD
WORD
WORD
WORD
WORD
WORD
WORD
WORD
WORD
WORD
WORD
USER
SYSTEM
SYSTEM
USER
USER
USER
USER
USER
USER
SYSTEM
SYSTEM
SYSTEM
SYSTEM
SYSTEM
SYSTEM
SYSTEM
SYSTEM
SYSTEM
SYSTEM
SYSTEM
SYSTEM
USER
USER
SYSTEM
SYSTEM
SYSTEM
SYSTEM
SYSTEM
SYSTEM
USER
USER
USER
USER
USER
USER
WORD
USER
WORD
WORD
WORD
SYSTEM
SYSTEM
USER
WORD
SYSTEM
WORD
SYSTEM
WORD
WORD
WORD
WORD
WORD
WORD
SYSTEM
SYSTEM
FLAGS
FLAGS
USERSTACK
MEMORY
www.4dlabs.com.au
GOLDELOX GRAPHICS PROCESSOR
SYS_STACK
384
0x180
128 level EVE machine stack
WORD
SYSTEMSTACK
*NOTES:
SYSTEM registers are maintained by internal system functions and should not be
written to. They should only ever be read.
DO NOT WRITE to these registers.
USER registers are read/write (R/W) registers used to alter the system behaviour.
USER
Refer to the individual functions for information on the interaction with these
registers.
USERSTACK
Used by the debugging and system extension utilities
MEMORY
255 word size variables for users program
STACK
128 word EVE system stack (STACK grows upwards)
FLAGS are a mixture of bits that are either maintained by internal system functions
FLAGS
or set / cleared by various system functions. Refer to the FLAGS Register Bit Map
table, and individual functions for further details.
These registers are accessible with peekW and pokeW functions.
SYSTEM
GOLDELOX DATASHEET
Page 15 of 28
www.4dlabs.com.au
GOLDELOX GRAPHICS PROCESSOR
Table 9.3: FLAG Registers Bit Map
REGISTER
SYS_FLAGS1
SYS_FLAGS2
ADDRESS
DEC HEX
NAME
126
0x7E
Bit 0
Bit 1
Bit 2
Bit 3
Bit 4
Bit 5
Bit 6
Bit 7
Bit 8
Bit 9
Bit 10
Bit 11
Bit 12
Bit 13
Bit 14
Bit 15
127
0x7F
_STREAMLOCK
_PENSIZE
_OPACITY
_OUTLINED
_BOLD
_ITALIC
_INVERSE
_UNDERLINED
_CLIPPING
_STRMODE
_SERMODE
_TXTMODE
_MEDIAMODE
_PATTERNED
_COLOUR8
_MEDIAFONT
Bit 0
_MEDIA_INSTALLED
Bit 1
Bit 2
Bit 3
Bit 4
Bit 5
Bit 6
Bit 7
Bit 8
Bit 9
Bit 10
Bit 11
Bit 12
Bit 13
Bit 14
Bit 15
_MEDIA_TYPE
_MEDIA_READ
_MEDIA_WRITE
_OW_PIN
_PTR_TYPE
_TEMP1
_TEMP2
_RUNMODE
_SIGNED
_RUNFLAG
_SINGLESTEP
_COMMINT
_DUMMY16
_DISP16
_PROPFONT
GOLDELOX DATASHEET
USAGE
* denotes auto reset
Used internally
Object, 0 = solid, 1 = outline
Text, 0 = transparent, 1 = opaque
box/circle outline 0 = off, 1 = on
* text, 0 = normal, 1 = bold
* Text, 0 = normal, 1 = italic
* Text, 0 = normal, 1 = inverse
* Text, 0 = normal, 1 = underlined
0 = clipping off, 1 = clipping on
Used internally
Used internally
Used internally
Used internally
Used internally
Display mode, 0 = 16bit, 1 = 8bit
0 = internal font, 1 = media font
SD or FLASH device is
detected/active
0 = SD, 1 = FLASH chip
1 = MEDIA read in progress
1 = MEDIA write in progress
0 = IO1, 1 = IO2 (Dallas OW Pin)
Used internally
Used internally
Used internally
1 = running pcode from media
0 = number printed '-' prepend
1 = EVE processor is running
1 = set breakpoint for debugger
1 = buffered coms active
1 = display needs 16bit dummy
1 = display is 16bit interface
1 = current font is proportional
Page 16 of 28
*NOTES VALUE
SYSTEM
SYSTEM
SYSTEM
SYSTEM
SYSTEM
SYSTEM
SYSTEM
SYSTEM
SYSTEM
SYSTEM
SYSTEM
SYSTEM
SYSTEM
SYSTEM
SYSTEM
SYSTEM
0x0001
0x0002
0x0004
0x0008
0x0010
0x0020
0x0040
0x0080
0x0100
0x0200
0x0400
0x0800
0x1000
0x2000
0x4000
0x8000
SYSTEM
0x0001
SYSTEM
SYSTEM
SYSTEM
SYSTEM
SYSTEM
SYSTEM
SYSTEM
SYSTEM
SYSTEM
SYSTEM
SYSTEM
SYSTEM
SYSTEM
SYSTEM
SYSTEM
0x0002
0x0004
0x0008
0x0010
0x0020
0x0040
0x0080
0x0100
0x0200
0x0400
0x0800
0x1000
0x2000
0x4000
0x8000
www.4dlabs.com.au
GOLDELOX GRAPHICS PROCESSOR
10. Hardware Tools
10.2. Evaluation Display Modules
The following hardware tools are required for full
control of the Goldelox Processor.
The following modules, available from 4D Systems,
can be used for evaluation purposes to discover what
the Goldelox processor has to offer.
10.1. Programming Tools
The 4D Programming Cable, uUSB-PA5 and gen4-PA
Programming Adaptors are essential hardware tools
to program, customise and test the Goldelox
Processor.
Note: Any of the 4D Programming Cable, uUSB-PA5II or 4D-UPA Programming Adaptor can be used,
along with previous generation 4D programmers
too.
The 4D programming interfaces are used to program a
new Firmware/PmmC, Display Driver and for
downloading compiled 4DGL code into the processor.
They even serve as an interface for communicating
serial data to the PC.
uOLED-128-G2 - 1.5” Intelligent Goldelox Display
Other modules, such as the 0.96” and 1.7” OLED, or
1.44” LCD versions are also available. Please contact
4D Systems for more information, or visit the 4D
Systems website, www.4dsystems.com.au
The 4D Programming Cable, uUSB-PA5-II and 4D-UPA
Programming Adaptor are available from 4D Systems,
www.4dsystems.com.au
Using a non-4D programming interface could damage
your processor, and void your Warranty.
4D Programming Cable
uUSB-PA5-II Programming Adaptor
4D-UPA Programming Adaptor
GOLDELOX DATASHEET
Page 17 of 28
www.4dlabs.com.au
GOLDELOX GRAPHICS PROCESSOR
11. 4D Labs – Workshop4 IDE
11.1. Designer Environment
Workshop4 is a comprehensive software IDE that
provides an integrated software development
platform for all of the 4D family of processors and
modules. The IDE combines the Editor, Compiler,
Linker and Downloader to develop complete 4DGL
application code. All user application code is
developed within the Workshop4 IDE.
Choose the Designer environment to write 4DGL code
in its raw form.
The Workshop4 IDE supports multiple development
environments for the user, to cater for different user
requirements and skill level.
11.2. ViSi Environment
•
•
•
The Designer environment enables the user to
write 4DGL code in its natural form.
A visual programming experience, suitably called
ViSi, enables drag-and-drop type placement of
objects to assist with 4DGL code generation and
allows the user to visualise how the display will
look while being developed.
A Serial environment is also provided to
transform the Goldelox Processor into a slave
serial module, allowing the user to control the
display from any host microcontroller or device
with a serial port.
The Designer environment provides the user with a
simple yet effective programming environment where
pure 4DGL code can be written, compiled and
downloaded to the Goldelox.
ViSi was designed to make the creation of graphical
displays a more visual experience.
ViSi is a great software tool that allows the user to see
the instant results of their desired graphical layout.
Additionally, there is a selection of inbuilt dials, gauges
and meters that can simply be placed onto the
simulated module display. From here each object can
have its properties edited, and at the click of a button
all relevant 4DGL code associated with that object is
produced in the user program. The user can then write
4DGL code around these objects to utilise them in the
way they choose.
The Workshop4 IDE is available from the 4D Labs
website. www.4dsystems.com.au
For a comprehensive manual on the Workshop4 IDE
Software, refer to its documentation from the 4D
Systems website.
Workshop4 IDE Userguide
GOLDELOX DATASHEET
Page 18 of 28
www.4dlabs.com.au
GOLDELOX GRAPHICS PROCESSOR
11.3. Serial Environment
The Serial environment in the Workshop4 IDE provides
the user the ability to transform the Goldelox
Processor into a slave serial graphics controller.
This enables the user to use their favourite
microcontroller or serial device as the Host, without
having to learn 4DGL or program in a separate IDE.
Once the module is configured and downloaded to
from the Serial Environment, simple graphic
commands can be sent from the users host
microcontroller to display primitives, images, sound or
even video.
Refer to Goldelox Serial Command Set Reference
Manual, for a complete listing of all the supported
serial commands
GOLDELOX DATASHEET
Page 19 of 28
www.4dlabs.com.au
GOLDELOX GRAPHICS PROCESSOR
12. Reference Design
GOLDELOX DATASHEET
Page 20 of 28
www.4dlabs.com.au
GOLDELOX GRAPHICS PROCESSOR
13. Timing Diagrams
13.1. Display Write Data Timing
Item
Symbol
Min.
Typ.
Max.
Unit
Write Low level pulse width
tWL
170
-
-
ns
Write High level pulse width
tWH
85
-
-
ns
Write Bus Cycle Total
tWT
255
-
-
ns
Write Data Setup
tDS
85
-
-
ns
GOLDELOX DATASHEET
Page 21 of 28
www.4dlabs.com.au
GOLDELOX GRAPHICS PROCESSOR
13.2. Display Read Data Timing
Item
Symbol
Min.
Typ.
Max.
Unit
Read Low level pulse width
tRL
300
-
-
ns
Read High level pulse width
tRH
300
-
-
ns
Read Bus Cycle Total
tRT
600
-
-
ns
Read Data Hold
tDH
150
-
-
ns
GOLDELOX DATASHEET
Page 22 of 28
www.4dlabs.com.au
GOLDELOX GRAPHICS PROCESSOR
13.3. SPI Timing Diagram
GOLDELOX DATASHEET
Page 23 of 28
www.4dlabs.com.au
GOLDELOX GRAPHICS PROCESSOR
14. Package Details
GOLDELOX DATASHEET
Page 24 of 28
www.4dlabs.com.au
GOLDELOX GRAPHICS PROCESSOR
15. PCB Land Pattern
GOLDELOX DATASHEET
Page 25 of 28
www.4dlabs.com.au
GOLDELOX GRAPHICS PROCESSOR
16. Specifications and Ratings
ABSOLUTE MAXIMUM RATINGS
Operating ambient temperature ............................................................................................................ 40°C to +80°C
Storage temperature................................................................................................................................ -65°C +150°C
Voltage on any digital input pin with respect to GND ...............................................................................-0.3V to 6.0V
Voltage on SWITCH pin with respect to GND ............................................................................................-0.3V to 6.0V
Voltage on VCC with respect to GND ........................................................................................................-0.3V to 4.0V
Maximum current out of GND pin .................................................................................................................... 300mA
Maximum current into VCC pin ......................................................................................................................... 250mA
Maximum output current sunk/sourced by any pin .......................................................................................... 4.0mA
Total power dissipation ......................................................................................................................................... 1.0W
NOTE: Stresses above those listed here may cause permanent damage to the device. This is a stress rating only and
functional operation of the device at those or any other conditions above those indicated in the recommended
operation listings of this specification is not implied. Exposure to maximum rating conditions for extended periods
may affect device reliability.
RECOMMENDED OPERATING CONDITIONS
Parameter
Supply Voltage (VCC)
Operating Temperature
External Crystal (Xtal)
Input Low Voltage (VIL)
Input High Voltage (VIH)
Conditions
VCC = 3.3V
VCC = 3.3V
Min
3.0
-40
-VGND
2.0
Typ
3.3
-12.00
---
Max
3.6
+80
-0.8
VCC
Units
V
°C
MHz
V
V
GLOBAL CHARACTERISTICS BASED ON OPERATING CONDITIONS
Parameter
Supply Current (ICC)
Conditions
VCC = 3.3V
Min
--
Typ
12
Max
26
Units
mA
Low Power Current(ICC)
Internal Operating Frequency
Output Low Voltage (VOL)
Output High Voltage (VOH)
A/D Converter Resolution
Capacitive Loading
Capacitive Loading
Flash Memory Endurance
VCC = 3.3V, Sleep Mode
Xtal = 12.00MHz
VCC = 3.3V, IOL = 3.4mA
VCC = 3.3V, IOL = -2.0mA
IO1 pin
CLK1, CLK2 pins
All other pins
PmmC/4DGL Programming
75
--2.4
-----
100
48.00
--8
--1000
--0.4
--15
50
--
uA
MHz
V
V
bits
pF
pF
E/W
ORDERING INFORMATION
Order Code: Goldelox
Package: QFN28, 6mm x 6mm
Packaging: Tubes of 61 pieces
GOLDELOX DATASHEET
Page 26 of 28
www.4dlabs.com.au
GOLDELOX GRAPHICS PROCESSOR
17. Revision History
Revision Number
1.0
2.0
2.1
GOLDELOX DATASHEET
Date
06/09/2012
01/05/2017
21/03/2019
Description
First Revision
Updated formatting and contents
Updated Formatting, Corrected
maximum baud rate
Page 27 of 28
information
on
www.4dlabs.com.au
GOLDELOX GRAPHICS PROCESSOR
18. Legal Notice
Proprietary Information
The information contained in this document is the property of 4D Labs Semiconductors and may be the subject of
patents pending or granted, and must not be copied or disclosed without prior written permission.
4D Labs Semiconductors endeavours to ensure that the information in this document is correct and fairly stated but
does not accept liability for any error or omission. The development of 4D Labs Semiconductors products and services
is continuous and published information may not be up to date. It is important to check the current position with 4D
Labs Semiconductors. 4D Labs Semiconductors reserves the right to modify, update or makes changes to
Specifications or written material without prior notice at any time.
All trademarks belong to their respective owners and are recognised and acknowledged.
Disclaimer of Warranties & Limitation of Liability
4D Labs Semiconductors makes no warranty, either expressed or implied with respect to any product, and specifically
disclaims all other warranties, including, without limitation, warranties for merchantability, non-infringement and
fitness for any particular purpose.
Information contained in this publication regarding device applications and the like is provided only for your
convenience and may be superseded by updates. It is your responsibility to ensure that your application meets with
your specifications.
Images and graphics used throughout this document are for illustrative purposes only. All images and graphics used
are possible to be displayed on the 4D Labs Semiconductors range of products, however the quality may vary.
In no event shall 4D Labs Semiconductors be liable to the buyer or to any third party for any indirect, incidental,
special, consequential, punitive or exemplary damages (including without limitation lost profits, lost savings, or loss
of business opportunity) arising out of or relating to any product or service provided or to be provided by 4D Labs
Semiconductors, or the use or inability to use the same, even if 4D Labs Semiconductors has been advised of the
possibility of such damages.
4D Labs Semiconductors products are not fault tolerant nor designed, manufactured or intended for use or resale as
on line control equipment in hazardous environments requiring fail – safe performance, such as in the operation of
nuclear facilities, aircraft navigation or communication systems, air traffic control, direct life support machines or
weapons systems in which the failure of the product could lead directly to death, personal injury or severe physical
or environmental damage (‘High Risk Activities’). 4D Labs Semiconductors and its suppliers specifically disclaim any
expressed or implied warranty of fitness for High Risk Activities.
Use of 4D Labs Semiconductors’ products and devices in 'High Risk Activities' and in any other application is entirely
at the buyer’s risk, and the buyer agrees to defend, indemnify and hold harmless 4D Labs Semiconductors from any
and all damages, claims, suits, or expenses resulting from such use. No licenses are conveyed, implicitly or otherwise,
under any 4D Labs Semiconductors intellectual property rights.
19. Contact Information
For Technical Support: www.4dlabs.com.au/support
For Sales Support: sales@4dlabs.com.au
Website: www.4dlabs.com.au
Copyright 4D Labs Semiconductors 2000-2019
GOLDELOX DATASHEET
Page 28 of 28
www.4dlabs.com.au