17.18-bit operation, 2 × 12 display using internal
reset
17.24-bit operation, 2 × 12 display using internal
reset
17.38-bit operation, 2 × 24 display
17.4I2C operation, 2 × 12 display
17.5Initializing by instruction
18BONDING PAD LOCATIONS
19DEFINITIONS
20LIFE SUPPORT APPLICATIONS
21PURCHASE OF PHILIPS I2C COMPONENTS
1997 Dec 162
Philips SemiconductorsProduct specification
LCD controller/driverPCF2104x
1FEATURES
• Single chip LCD controller/driver
• 1 or 2-line display of up to 24 characters per line, or
2 or 4 lines of up to 12 characters per line
• 5 × 7 character format plus cursor; 5 × 8 for kana
(Japanese syllabary) and user-defined symbols
• On-chip:
– generation of intermediate LCD bias voltages
– oscillator requires no external components (external
clock also possible)
• Display data RAM: 80 characters
• Character generator ROM: 240 characters
• Character generator RAM: 16 characters
2
• 4 or 8-bit parallel bus or 2-wire I
C-bus interface
• CMOS/TTL compatible
• 32 row, 60 column outputs
• MUX rates 1 : 32 and 1 : 16
• Uses common 11 code instruction set
• Logic supply voltage range, VDD− VSS: 2.5 to 6 V
• Display supply voltage range, VDD− V
: 3.5 to 9 V
LCD
• Low power consumption.
• I2C-bus address: 011101 SA0.
2APPLICATIONS
• Telecom equipment
• Portable instruments
• Point-of-sale terminals.
3GENERAL DESCRIPTION
but does not contain the high voltage generator of that
device.
The PCF2104x is optimized for chip-on-glass applications.
The ‘x’ in ‘PCF2104x’ represents a specific letter code for
a character set in the character generator ROM (CGROM).
Two standard character sets are currently available,
specified by the letters ‘C’ and ‘L’ (see Figs 5 and 6).
Other character sets are available on request.
The PCF2104x is a low-power CMOS LCD controller and
driver, designed to drive a split screen dot matrix LCD
display of 1 or 2 lines by 24 characters or 2 or 4 lines by
12 characters with a 5 × 8 dot format. All necessary
functions for the display are provided in a single chip,
including on-chip generation of LCD bias voltages which
results in a minimum of external components and lower
system power consumption. To allow partial V
shutdown
DD
the ESD protection system of the SCL and SDA pins does
not use a diode connected to VDD.
The chip contains a character generator and displays
alphanumeric and kana characters. The PCF2104x
interfaces to most microcontrollers via a 4 or 8-bit bus, or
via the 2-wire I2C-bus.
3.1Packages
• PCF2104xU/2; chip with bumps in tray
• PCF2104xU/7; chip with bumps on tape.
For further details see Chapter 18.
3.2Available types
• PCF2104CU/x: character set ‘C’ in CGROM
• PCF2104LU/x: character set ‘L’ in CGROM
• PCF2104NU/x: character set ‘N’ in CGROM.
The PCF2104x integrated circuit is similar to the
PCF2114x (described in the
“PCF2116 family”
data sheet)
4ORDERING INFORMATION
PACKAGE
TYPE NUMBER
NAMEDESCRIPTIONVERSION
PCF2104CU/2−chip with bumps in tray−
PCF2104CU/7−chip with bumps on tape−
PCF2104LU/2−chip with bumps in tray−
PCF2104LU/7−chip with bumps on tape−
PCF2104NU/2−chip with bumps in tray−
PCF2104NU/7−chip with bumps on tape−
1997 Dec 163
Philips SemiconductorsProduct specification
LCD controller/driverPCF2104x
5BLOCK DIAGRAM
handbook, full pagewidth
V
LCD
V
DD
V
SS
T1
111
2
4
101
BIAS
VOLTAGE
GENERATOR
REGISTER (DR)
6
DATA
COLUMN DRIVERS
DATA LATCHES
SHIFT REGISTER
CURSOR + DATA CONTROL
CHARACTER
GENERATOR
RAM
(CGRAM)
16
CHARACTERS
DISPLAY DATA RAM
(DDRAM) 80 CHARACTERS
8
BUSY
FLAG
C1 to C60
80-21
60
60
60
5 x 12-bit
5
5
8
CHARACTER
GENERATOR
ROM
(CGROM)
240
CHARACTERS
7
ADDRESS
COUNTER (AC)
7
INSTRUCTION
DECODER
8
INSTRUCTION
REGISTER (IR)
R1 to R32
5-20
81-96
32
ROW DRIVERS
32
SHIFT REGISTER
32-BIT
PCF2104x
OSCILLATOR
TIMING
GENERATOR
7
DISPLAY
ADDRESS
COUNTER
POWER - ON
RESET
1
OSC
788
4
109-106
DB0 to DB3 DB4 to DB7 E
105-102
4
9810099
R/W
Fig.1 Block diagram.
1997 Dec 164
I/O BUFFER
RS
SCL
97
110
MGC627
SDA3SA0
Philips SemiconductorsProduct specification
LCD controller/driverPCF2104x
6PINNING
SYMBOLFFC PADTYPEDESCRIPTION
OSC1Ioscillator/external clock input
V
DD
SA03II
V
SS
R8 to R55 to 8OLCD row driver outputs
R32 to R299 to12OLCD row driver outputs
R24 to R1713 to 20OLCD row driver outputs
C60 to C121 to 80OLCD column driver outputs
R9 to R1681 to 88OLCD row driver outputs
R25 to R2889 to 92OLCD row driver outputs
R1 to R493 to 96OLCD row driver outputs
SCL97II
E98Idata bus clock input
RS99Iregister select input
W100Iread/write input
R/
T1101Itest pad input
DB7 to DB0102 to 109I/O8-bit bidirectional data bus input/output
SDA110I/OI
V
LCD
2Plogic supply voltage
2
C-bus address pin input
4Pground
2
C-bus serial clock input
2
C-bus serial data input/output
111ILCD supply voltage input
7PIN FUNCTIONS
7.1RS: register select (parallel control)
RS selects the register to be accessed for read and write
when the device is controlled by the parallel interface.
RS = logic 0 selects the instruction register for write and
the Busy Flag and Address Counter for read. RS = logic 1
selects the data register for both read and write. There is
an internal pull-up on pin RS.
7.2R/
W: read/write (parallel control)
R/W selects either the read (R/W = logic 1) or write
(R/W = logic 0) operation when control is by the parallel
interface. There is an internal pull-up on this pin.
7.3E: data bus clock (parallel control)
The E pin is set HIGH to signal the start of a read or write
operation when the device is controlled by the parallel
interface. Data is clocked in or out of the chip on the
negative edge of the clock. Note that this pin must be tied
to logic 0 (V
) when I2C-bus control is used.
SS
7.4DB0 to DB7: data bus (parallel control)
The bidirectional, 3-state data bus transfers data between
the system controller and the PCF2104x. DB7 may be
used as the Busy Flag, signalling that internal operations
are not yet completed. In 4-bit operations the 4 higher
order lines DB4 to DB7 are used; DB0 to DB3 must be left
open circuit. There is an internal pull-up on each of the
data lines. Note that these pins must be left open circuit
2
when I
C-bus control is used.
7.5C1 to C60: column driver outputs
These pins output the data for pairs of columns.
This arrangement permits optimized chip-on-glass (COG)
layout for 4-line by 12 characters.
7.6R1 to R32: row driver outputs
These pins output the row select waveforms to the left and
right halves of the display.
7.7V
: LCD power supply
LCD
Negative power supply for the liquid crystal display.
1997 Dec 165
Philips SemiconductorsProduct specification
LCD controller/driverPCF2104x
7.8OSC: oscillator
When the on-chip oscillator is used, this pin must be
connected to VDD. An external clock signal, if used, is input
at this pin.
7.9SCL: serial clock line
Input for the I
2
C-bus clock signal.
7.10SDA: serial data line
Input/output for the I
2
C-bus data line.
7.11SA0: address pin
The hardware sub-address line is used to program the
device sub-address for 2 different PCF2104xs on the
2
same I
C-bus.
7.12T1: test pad
Must be connected to V
. Not user accessible.
SS
8FUNCTIONAL DESCRIPTION (see Fig.1)
8.1LCD bias voltage generator
The intermediate bias voltages for the LCD display are
also generated on-chip. This removes the need for an
external resistive bias chain and significantly reduces the
system power consumption. The optimum levels depend
on the multiplex rate and are selected automatically when
the number of lines in the display is defined.
The optimum value of V
depends on the multiplex rate,
OP
the LCD threshold voltage (Vth) and the number of bias
levels. The relationships are given in Table 1.
Using a 5-level bias scheme for 1 : 16 MUX rate allows
VOP< 5 V for most LCD liquids. The effect on the display
contrast is negligible.
Table 1 Optimum values for V
MUX
RATE
NUMBER
OF BIAS
LEVELS
VOP/V
OP
DISCRIMINATION
th
Von/V
off
1 : 1653.671.277
1 : 3265.191.196
8.2Oscillator
The on-chip oscillator provides the clock signal for the
display system. No external components are required.
Pin OSC must be connected to VDD.
8.3External clock
If an external clock is to be used, it must be input at
pin OSC. The resulting display frame frequency is given by
f
frame
=1⁄
. A clock signal must always be present,
2304fosc
otherwise the LCD may be frozen in a DC state.
8.4Power-on reset
The Power-on reset block initializes the chip after
power-on or power failure.
8.5Registers
The PCF2104x has two 8-bit registers, an instruction
register (IR) and a data register (DR). The register select
signal (RS) determines which register will be accessed.
The instruction register stores instruction codes such as
display clear and cursor shift, and address information for
the Display Data RAM (DDRAM) and Character Generator
RAM (CGRAM). The instruction register can be written to,
but not read from, by the system controller.
The data register temporarily stores data to be read from
the DDRAM and CGRAM. When reading, data from the
DDRAM or CGRAM (corresponding to the address in the
Address Counter) is written to the data register prior to
being read by the ‘Read data’ instruction.
8.6Busy Flag
The Busy Flag indicates the free/busy status of the
PCF2104x. Logic 1 indicates that the chip is busy and
further instructions will not be accepted. The Busy Flag is
output at pin DB7 when RS = logic 0 and R/
W = logic 1.
Instructions should only be written after checking that the
Busy Flag is at logic 0 or waiting for the required number
of clock cycles.
1997 Dec 166
Philips SemiconductorsProduct specification
LCD controller/driverPCF2104x
8.7Address Counter (AC)
The Address Counter assigns addresses to the DDRAM
and CGRAM for reading and writing and is set by the
instructions ‘Set CGRAM address’ and
‘Set DDRAM address’. After a read/write operation the
Address Counter is automatically incremented or
decremented by 1. The Address Counter contents are
output to the bus (DB0 to DB6) when RS = logic 0 and
R/W = logic 1.
8.8Display data RAM (DDRAM)
The DDRAM stores up to 80 characters of display data,
represented by 8-bit character codes. DDRAM locations
not used for storing display data can be used as general
purpose RAM. The basic DDRAM-to-display mapping
scheme is shown in Fig.2. With no display shift, the
characters represented by the codes in the first 12 or 24
RAM locations, starting at address 00 in line 1, are
displayed. Subsequent lines display data starting at
addresses 20, 40, or 60 Hex. Figures 3 and 4 show the
DDRAM-to-display mapping scheme when the display is
shifted.
The address range for a 1-line display is 00 to 4F; for a
2-line display from 00 to 27 (line 1) and 40 to 67 (line 2);
for a 4-line display from 00 to 13, 20 to 33, 40 to 53 and
60 to 73 for lines 1, 2, 3 and 4 respectively. For 2 and
4-line displays the end address of one line and the start
address of the next line are not consecutive. When the
display is shifted each line wraps around independently of
the others (see Figs 3 and 4).
When data is written to the DDRAM wrap-around occurs
from 4F to 00 in 1-line mode and from 27 to 40 and
67 to 00 in 2-line mode; from 13 to 20, 33 to 40, 53 to 60
and 73 to 00 in 4-line mode.
8.10Character generator RAM (CGRAM)
Up to 16 user-defined characters may be stored in the
character generator RAM. The CGROM and CGRAM use
a common address space, of which the first column is
reserved for the CGRAM (see Fig.5). Figure 8 shows the
addressing principle for the CGRAM.
8.11Cursor control circuit
The cursor control circuit generates the cursor (underline
and/or character blink as shown in Fig.9) at the DDRAM
address contained in the Address Counter. When the
Address Counter contains the CGRAM address the cursor
will be inhibited.
8.12Timing generator
The timing generator produces the various signals
required to drive the internal circuitry. Internal chip
operation is not disturbed by operations on the data buses.
8.13LCD row and column drivers
The PCF2104x contains 32 row and 60 column drivers,
which connect the appropriate LCD bias voltages in
sequence to the display, in accordance with the data to be
displayed. The bias voltages and the timing are selected
automatically when the number of lines in the display is
selected. Figures 10 and 11 show typical waveforms.
In the 1-line mode (1 : 16) the row outputs are driven in
pairs: R1/R17, R2/R18 for example. This allows the output
pairs to be connected in parallel, thereby providing greater
drive capability.
Unused outputs should be left unconnected.
8.9Character generator ROM (CGROM)
The character generator ROM generates 240 character
patterns in 5 × 8 dot format from 8-bit character codes.
Figures 5 and 6 show the character sets currently
available.
Character code bits 0to 3 correspond to CGRAM address bits 3 to 6.
CGRAM address bits 0 to 2 designate character pattern line position. The 8th line is the cursor position and display is performed by logical OR with the
cursor. Data in the 8
Character pattern column positions correspond to CGRAM data bits 0 to 4; bit 4 being at the left end, as shown in the figure.
CGRAM character patterns are selected when character code bits 4 to 7 are all logic 0. CGRAM data = logic 1 corresponds to selection for display.
Only bits 0 to 5 of the CGRAM address are set by the ‘Set CGRAM address’ instruction. Bit 6 can be set using the ‘Set DDRAM address’ instruction or
by using the auto-increment feature during CGRAM write. All bits 0 to 6 can be read using the ‘Read Busy Flag and address’ instruction.
th
line will appear in the cursor position.
Fig.8 Relationship between CGRAM addresses, data and display patterns.
1997 Dec 1613
Philips SemiconductorsProduct specification
LCD controller/driverPCF2104x
cursor
5 x 7 dot character fontalternating display
cursor display exampleblink display example
Fig.9 Cursor and blink display examples.
MGA801
1997 Dec 1614
Philips SemiconductorsProduct specification
LCD controller/driverPCF2104x
handbook, full pagewidth
V
DD
V
2
ROW 1
ROW 9
ROW 2
COL 1
COL 2
V /V
34
V
5
V
LCD
V
DD
V
2
V /V
34
V
5
V
LCD
V
DD
V
2
V /V
34
V
5
V
LCD
V
DD
V
2
V /V
34
V
5
V
LCD
V
DD
V
2
V /V
3
V
5
V
LCD
frame n 1frame n
4
state 1 (ON)
state 2 (ON)
1-line display
(1:16)
V
OP
0.25 V
OP
0 V
state 1
0.25 V
OP
V
OP
V
OP
0.25 V
0 V
0.25 V
V
OP
OP
OP
1231612316
state 2
Fig.10 Typical LCD waveforms; 1-line mode.
1997 Dec 1615
MGA802 - 1
Philips SemiconductorsProduct specification
LCD controller/driverPCF2104x
handbook, full pagewidth
ROW 1
ROW 9
ROW 2
COL 1
V
V
V
V
V
V
V
V
V
V
V
V
V
V
V
V
V
V
V
V
V
V
V
V
DD
2
3
4
5
LCD
DD
2
3
4
5
LCD
DD
2
3
4
5
LCD
DD
2
3
4
5
LCD
frame n
frame n 1
state 1 (ON)
state 2 (ON)
2-line display
(1:32)
COL 2
state 1
state 2
V
V
V
V
V
V
V
OP
0.15 V
0 V
0.15 V
V
OP
V
OP
0.15 V
0 V
0.15 V
V
OP
DD
2
3
4
5
LCD
OP
OP
OP
OP
1233212 332
Fig.11 Typical LCD waveforms; 2-line mode.
MGA803 - 1
1997 Dec 1616
Philips SemiconductorsProduct specification
LCD controller/driverPCF2104x
8.14Programming of MUX 1 : 16 displays with
PCF2104x
The PCF2104x can be used in the following ways:
• 1-line mode to drive a 2-line display
• 2 × 12 characters with MUX rate 1 : 16, resulting in
better contrast. The internal data flow of the chip is
optimized for this purpose.
handbook, full pagewidth
display position
DDRAM address
display position
DDRAM address
1
00
13
0C
23
0102
1415
0D0E
Fig.12 DDRAM-to-display mapping; no shift (PCF2104x).
4
03
16
0F
Using the ‘Function set’ instruction, M and N are set to 0, 0
(respectively). Figures 12, 13 and 14 show the DDRAM
addresses of the display characters. The second row of
each table corresponds to either the right half of a 1-line
display or to the second line of a 2-line display. Wrap
around of data during display shift or when writing data is
non-standard.
5
04
17
10
67
0506
1819
1112
8
07
20
13
9
08
21
14
1011
090A
2223
1516
12
0B
24
17
MLB899
handbook, full pagewidth
handbook, full pagewidth
display position
DDRAM address
display position
DDRAM address
Fig.13 DDRAM-to-display mapping; right shift (PCF2104x).
display position
DDRAM address
display position
DDRAM address
1
4F
13
0B
1
01
13
0D
23
0001
1415
0C0D
23
0203
1415
0E0F
4
02
16
0E
4
04
16
10
5
03
17
0F
5
05
17
11
67
0405
1819
1011
67
0607
1819
1213
8
06
20
12
8
08
20
14
9
07
21
13
9
09
21
15
1011
0809
2223
1415
1011
0A0B
2223
1617
12
0A
24
16
MLB900
12
0C
24
18
MLB901
Fig.14 DDRAM-to-display mapping; left shift (PCF2104x).
1997 Dec 1617
Philips SemiconductorsProduct specification
LCD controller/driverPCF2104x
8.15Programming of MUX 1 : 32 displays with
PCF2104x
To drive a 2-line by 24 characters MUX 1 : 32 display, use
instruction ‘Function set’ to set M, N to 0, 1 (respectively).
To drive a 4-line by 12 characters MUX 1:32 display, use
instruction ‘Function set’ to set M, N to 1, 1 (respectively).
8.16Reset function
The PCF2104 automatically initializes (resets) when
power is turned on. The state after reset is given in
Table 2.
Table 2 State after reset
STEPDESCRIPTION
1Display clear.
2Function set:
DL = 1: 8-bit interface
M, N = 0 1-line display
G = 0: not used
3Display on/off control:
D = 0: display off
C = 0: cursor off;
B = 0: blink off;
4Entry mode set:
I/D = 1: +1 (increment)
G = 0: not used
5Default address pointer to DDRAM. The Busy
Flag (BF) indicates the busy state (BF = logic 1)
until initialization ends. The busy state lasts
2 ms. The chip may also be initialized by
software. See Tables 10 and 11.
2
6I
C-bus interface reset.
9INSTRUCTIONS
Only two PCF2104x registers, the instruction register (IR)
and the data register (DR) can be directly controlled by the
microcontroller. Before internal operation, control
information is stored temporarily in these registers to allow
interface to various types of microcontrollers which
operate at different speeds or to allow interfacing to
peripheral control ICs.
The PCF2104x operation is controlled by the instructions
shown in Table 3 together with their execution time.
Details are explained in subsequent sections.
Instructions are of 4 categories, those that:
1. Designate PCF2104x functions such as display
format, data length, etc.
2. Set internal RAM addresses
3. Perform data transfer with internal RAM
4. Others.
In normal use, category 3 instructions are used most
frequently. However, automatic incrementing by 1
(or decrementing by 1) of internal RAM addresses after
each data write lessens the microcontroller program load.
The display shift in particular can be performed
concurrently with display data write, thus enabling the
designer to develop systems in minimum time with
maximum programming efficiency.
During internal operation, no instruction other than the
Busy Flag/address read instruction will be executed.
Because the Busy Flag is set to logic 1 while an instruction
is being executed, it is advisable to ensure that the flag it
is at logic 0 before sending the next instruction or wait for
the maximum instruction execution time, as given in
Table 3. An instruction sent while the Busy Flag is HIGH
will not be executed.
1997 Dec 1618
Philips SemiconductorsProduct specification
LCD controller/driverPCF2104x
(2)
CLOCK
CYCLES
REQUIRED
165
3
address 0 in Address Counter.
3
Also returns shifted display to original position
DDRAM contents remain unchanged.
3
3
3
of display. These operations are performed
during data write and read.
and blink of cursor position character (B).
changing DDRAM contents.
display lines (N, M) and voltage generator
Sets CGRAM address.3
control (G).
0
Sets DDRAM address.3
Reads Busy Flag (BF) indicating internal
operation is being performed and reads
Address Counter contents.
Table 3 Instructions (note 1)
W DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0DESCRIPTION
INSTRUCTIONRSR/
NOP0000000000No operation.0
Clear display0000000001Clears entire display and sets DDRAM
Return home0000000010Sets DDRAM address 0 in Address Counter
Entry mode set00000001I/DSSets cursor move direction and specifies shift
Display control0000001DCBSets entire display on/off (D), cursor on/of f (C)
CG
C
DD
001A
0001A
Cursor/display shift000001S/CR/L00Moves cursor and shifts display without
Function set00001DLNMG0Sets interface data length (DL), number of
C-bus mode the DL bit is don't care. 8-bit mode is assumed.
C-bus mode a control byte is required when RS or R/W is changed; control byte: Co, RS, R/W, 0, 0, 0, 0, 0; command byte: DB7 to DB0.
2
2
In the I
Read data11read dataReads data from CGRAM or DDRAM.3
Write data10write dataWrites data to CGRAM or DDRAM.3
Notes
1. In the I
2. Example: f
1997 Dec 1619
Philips SemiconductorsProduct specification
LCD controller/driverPCF2104x
Table 4 Command bit identities
BITLOGIC 0LOGIC 1
I/Ddecrementincrement
Sdisplay freezedisplay shift
Ddisplay offdisplay on
Ccursor offcursor on
Bcharacter at cursor position does not blinkcharacter at cursor position blinks
S/Ccursor movedisplay shift
R/Lleft shiftright shift
DL4 bits8 bits
N (M = 0)2 line × 12 characters; MUX 1 : 162 lines × 24 characters; MUX 1 : 32
N (M = 1)reserved4 lines × 12 characters; MUX 1 : 32
BFend of internal operationinternal operation in progress
Colast control byte, only data bytes to follownext two bytes are a data byte and another control byte
Fig.16 An example of 4-bit data transfer timing sequence.
MGA805
E
internal
DB7
databusybusy
instruction
write
internal operation
busy flag
check
Fig.17 Example of Busy Flag check timing sequence.
1997 Dec 1621
busy flag
check
not
busy
busy flag
check
data
instruction
write
MGA806
Philips SemiconductorsProduct specification
LCD controller/driverPCF2104x
9.1Clear display
‘Clear display’ writes space code 20 (hexadecimal) into all
DDRAM addresses (the character pattern for character
code 20 must be a blank pattern), sets the DDRAM
Address Counter to logic 0 and returns the display to its
original position if it was shifted. Consequently, the display
disappears and the cursor or blink position goes to the left
edge of the display (the first line if 2 or 4 lines are
displayed) and sets the entry mode to I/D = logic 1
(increment mode). S of entry mode does not change.
The instruction ‘Clear display’ requires extra execution
time. This may be allowed for by checking the Busy Flag
(BF) or by waiting until 2 ms has elapsed. The latter must
be applied where no read-back options are foreseen, as in
some chip-on-glass (COG) applications.
9.2Return home
‘Return home’ sets the DDRAM Address Counter to
logic 0 and returns the display to its original position if it
was shifted. DDRAM contents do not change. The cursor
or blink position goes to the left of the display (the first line
if 2 or 4 lines are displayed). I/D and S of entry mode do
not change.
9.3Entry mode set
9.3.1I/D
When I/D = logic 1 (0) the DDRAM or CGRAM address
increments (decrements) by 1 when data is written to or
read from the DDRAM or CGRAM. The cursor or blink
position moves to the right when incremented and to the
left when decremented. The cursor and blink are inhibited
when the CGRAM is accessed.
9.3.2S
When S = logic 1, the entire display shifts either to the right
(I/D = logic 0) or to the left (I/D = logic 1) during a DDRAM
write. Consequently, it looks as if the cursor stands still and
the display moves. The display does not shift when
reading from the DDRAM, or when writing to or reading
from the CGRAM. When S = logic 0 the display does not
shift.
9.4Display on/off control
9.4.1D
The display is on when D = logic 1 and off when
D = logic 0. Display data in the DDRAM is not affected and
can be displayed immediately by setting D to logic 1.
9.4.2C
The cursor is displayed when C = logic 1 and inhibited
when C = logic 0. Even if the cursor disappears, the
display functions I/D, etc. remain in operation during
display data write. The cursor is displayed using 5 dots in
the 8th line (see Fig.9).
9.4.3B
The character indicated by the cursor blinks when
B = logic 1. The blink is displayed by switching between
display characters and all dots on with a period of
1 second when f
frequencies the blink period is equal to 150 kHz/f
= 150 kHz (see Fig.9). At other clock
osc
osc
.
The cursor and the blink can be set to display
simultaneously.
9.5Cursor/display shift
‘Cursor/display shift’ moves the cursor position or the
display to the right or left without writing or reading display
data. This function is used to correct a character or move
the cursor through the display. In 2 or 4-line displays, the
cursor moves to the next line when it passes the last
position of the line (40 or 20 decimal). When the displayed
data is shifted repeatedly all lines shift at the same time;
displayed characters do not shift into the next line.
The Address Counter (AC) content does not change if the
only action performed is shift display, but increments or
decrements with the cursor shift.
9.6Function set
9.6.1DL (
PARALLEL MODE ONLY)
Sets interface data width. Data is sent or received in bytes
(DB7 to DB0) when DL = logic 1 or in two nibbles
(DB7 to DB4) when DL = logic 0. When 4-bit width is
selected, data is transmitted in two cycles using the
parallel bus
(1)
.
Function set from I2C-bus interface: DL bit can not bet set
to logic 0 from the I2C-bus interface. If bit DL has been set
to logic 0 via the parallel bus, programming via the I2C-bus
interface is complicated.
9.6.2N, M
Sets number of display lines.
(1) In a 4-bit application DB3 to DB0 are left open (internal
pull-ups). Hence in the first function set instruction after
power-on G and H are set to 1. A second function set must
then be sent (2 nibbles) to set G and H to their required
values.
1997 Dec 1622
Philips SemiconductorsProduct specification
LCD controller/driverPCF2104x
9.7Set CGRAM address
‘Set CGRAM address’ sets bits 0 to 5 of the CGRAM
address (ACG in Table 3) into the Address Counter
(binary A[5] to A[0]). Data can then be written to or read
from the CGRAM.
Only bits 0 to 5 of the CGRAM address are set by the
‘Set CGRAM address’ instruction. Bit 6 can be set using
the ‘Set DDRAM address’ instruction or by using the
auto-increment feature during CGRAM write. All bits 0 to 6
can be read using the ‘Read busy flag and address’
instruction.
9.8Set DDRAM address
Set DDRAM address sets the DDRAM address (A
Table 3) into the Address Counter (binary A[6] to A[0).
Data can then be written to or read from the DDRAM.
Table 5 Hexadecimal address ranges
ADDRESSFUNCTION
00 to 4F1-line by 24
00 to 0B and 0C to 4F2-line by 12
00 to 27 and 40 to 672-line by 24
00 to 13, 20 to 33, 40 to 53
and 60 to 73
9.9Read busy flag and address
‘Read busy flag and address’ reads the Busy Flag (BF).
When BF = logic 1 it indicates that an internal operation is
in progress. The next instruction will not be executed until
BF = logic 0, so BF should be checked before sending
another instruction.
At the same time, the value of the Address Counter
expressed in binary A[6] to A[0] is read out. The Address
Counter is used by both CGRAM and DDRAM and its
value is determined by the previous instruction.
9.10Write data to CGRAM or DDRAM
Writes binary 8-bit data D[7] to D[0] to the CGRAM or the
DDRAM.
4-line by 12
DD
in
9.11Read data from CGRAM or DDRAM
Reads binary 8-bit data D[7] to D[0] from the CGRAM or
DDRAM.
The most recent ‘Set address’ instruction determines
whether the CGRAM or DDRAM is to be read.
The ‘Read data’ instruction gates the content of the data
register (DR) to the bus while E = HIGH. After E goes
LOW again, internal operation increments (or decrements)
the AC and stores RAM data corresponding to the new AC
into the DR.
Remark: the only three instructions that update the data
register (DR) are:
• ‘Set CGRAM address’
• ‘Set DDRAM address’
• ‘Read data’ from CGRAM or DDRAM.
Other instructions (e.g. ‘Write data, ‘Cursor/display shift’,
‘Clear display’, ‘Return home’) will not modify the data
register content.
10 INTERFACE TO MICROCONTROLLER
(PARALLEL INTERFACE)
The PCF2104x can send data in either two 4-bit operations
or one 8-bit operation and can thus interface to 4-bit or
8-bit microcontrollers.
In the 8-bit mode data is transferred as 8-bit bytes using
the 8 data lines DB0 to DB7. Three further control lines E,
RS, and R/
In the 4-bit mode data is transferred in two cycles of 4-bits
each. The higher order bits (corresponding to DB4 to DB7
in 8-bit mode) are sent in the first cycle and the lower order
bits (DB0 to DB3 in 8-bit mode) in the second cycle.
Data transfer is complete after two 4-bit data transfers.
It should be noted that two cycles are also required for the
Busy Flag check. 4-bit operation is selected by instruction.
See Figs 15, 16 and 17 for examples of bus protocol.
In the 4-bit mode pins DB3 to DB0 must be left
open-circuit. They are pulled up to VDD internally.
W are required.
Whether the CGRAM or DDRAM is to be written to is
determined by the previous specification of CGRAM or
DDRAM address setting. After writing, the address
automatically increments or decrements by 1, in
accordance with the entry mode. Only bits D0 to D4 of
CGRAM data are valid, bits D5 to D7 are ‘don't care’.
1997 Dec 1623
Philips SemiconductorsProduct specification
LCD controller/driverPCF2104x
11 INTERFACE TO MICROCONTROLLER
2
C-BUS INTERFACE)
(I
2
11.1Characteristics of the I
C-bus
The I2C-bus is for bidirectional, two-line communication
between different ICs or modules. The two lines are a
serial data line (SDA) and a serial clock line (SCL).
Both lines must be connected to a positive supply via a
pull-up resistor. Data transfer may be initiated only when
the bus is not busy.
11.2Bit transfer
One data bit is transferred during each clock pulse.
The data on the SDA line must remain stable during the
HIGH period of the clock pulse as changes in the data line
at this time will be interpreted as a control signal.
11.3Start and stop conditions
Both data and clock lines remain HIGH when the bus is not
busy. A HIGH-to-LOW transition of the data line, while the
clock is HIGH is defined as the START condition (S).
A LOW-to-HIGH transition of the data line while the clock
is HIGH is defined as the STOP condition (P).
11.4System configuration
A device generating a message is a ‘transmitter’, a device
receiving a message is the ‘receiver’. The device that
controls the message is the ‘master’ and the devices which
are controlled by the master are the ‘slaves’.
11.5Acknowledge
The number of data bytes transferred between the start
and stop conditions from transmitter to receiver is
unlimited. Each byte of eight bits is followed by an
acknowledge bit. The acknowledge bit is a HIGH level
signal put on the bus by the transmitter during which time
the master generates an extra acknowledge related clock
pulse. A slave receiver which is addressed must generate
an acknowledge after the reception of each byte. Also a
master receiver must generate an acknowledge after the
reception of each byte that has been clocked out of the
slave transmitter. The device that acknowledges must
pull-down the SDA line during the acknowledge clock
pulse, so that the SDA line is stable LOW during the HIGH
period of the acknowledge related clock pulse (set-up and
hold times must be taken into consideration). A master
receiver must signal an end of data to the transmitter by
not generating an acknowledge on the last byte that has
been clocked out of the slave. In this event the transmitter
must leave the data line HIGH to enable the master to
generate a stop condition.
11.6I
2
C-bus protocol
Before any data is transmitted on the I2C-bus, the device
which should respond is addressed first. The addressing is
always carried out with the first byte transmitted after the
start procedure. The I2C-bus configuration for the different
PCF2104x READ and WRITE cycles is illustrated in
Figs 22, 23 and 24.
handbook, full pagewidth
SDA
SCL
data line
stable;
data valid
Fig.18 Bit transfer.
1997 Dec 1624
change
of data
allowed
MBC621
Philips SemiconductorsProduct specification
LCD controller/driverPCF2104x
handbook, full pagewidth
SDA
SDA
SDA
SCL
SCL
MASTER
TRANSMITTER/
RECEIVER
S
START condition
Fig.19 Definition of START and STOP conditions.
SLAVE
RECEIVER
SLAVE
TRANSMITTER/
RECEIVER
STOP condition
MASTER
TRANSMITTER
P
TRANSMITTER/
SCL
MBC622
MASTER
RECEIVER
MGA807
Fig.20 System configuration.
handbook, full pagewidth
DATA OUTPUT
BY TRANSMITTER
DATA OUTPUT
BY RECEIVER
SCL FROM
MASTER
S
START
condition
Fig.21 Acknowledgement on the I2C-bus.
1997 Dec 1625
not acknowledge
acknowledge
acknowledgement
9821
clock pulse for
MBC602
Philips SemiconductorsProduct specification
LCD controller/driverPCF2104x
P
update
data pointer
n 0 bytes1 byte
from PCF2104x
acknowledgement
S
CONTROL BYTEA
0
CONTROL BYTEADATAADATAA
1
0
A
0111010A
S
Co
2n 0 bytes
Co
R/W
slave address
MGC617
0
S
A
0111010
R/W
PCF2104x
slave address
handbook, full pagewidth
Fig.22 Master transmits to slave receiver; WRITE mode.
1997 Dec 1626
Philips SemiconductorsProduct specification
LCD controller/driverPCF2104x
A
(1)
DATA
P
MGC618
from PCF2104x
acknowledgement
S
A
1 1 CONTROL
0
A
DATA
A
CONTROL BYTE
1
0A
A
0
2 bytes2n 0 bytes
Co
Co
R/W
from master
no acknowledgement
from PCF2104x
acknowledgement
S
SLAVE
DATA
1A DATAA1
0
A
ADDRESS
S
n byteslast byte
R/W
update
data pointer
handbook, full pagewidth
Fig.23 Master reads after setting word address; write word address, set RS/RW; READ data.
slave address
011101
S
1997 Dec 1627
(1) Last data byte is a dummy byte (may be omitted).
Philips SemiconductorsProduct specification
LCD controller/driverPCF2104x
handbook, full pagewidth
Fig.24 Master reads slave immediately after first byte; READ mode (RS previously defined).
S
SLAVE
ADDRESS
acknowledgement
from PCF2104x
S
A
1A DATAA1
0
R/W
n bytes
acknowledgement
from master
DATA
last byte
update
data pointer
no acknowledgement
from master
P
MGC619
1997 Dec 1628
Philips SemiconductorsProduct specification
LCD controller/driverPCF2104x
SU;STO
t
(P)
STOP
CONDITION
MGA811 - 1
.
IH
(A)
ACKNOWLEDGE
LSB
R/W
BIT 0
(A6)
BIT 6
(A7)
MSB
BIT 7
(S)
START
CONDITION
r
t
LOW
t
BUF
t
f
t
HD;STA
t
t/f
SCL
HIGH
t
and V
IL
handbook, full pagewidth
C-bus timing diagram; rise and fall times refer to V
2
Fig.25 I
PROTOCOL
SDA
1997 Dec 1629
SCL
Philips SemiconductorsProduct specification
LCD controller/driverPCF2104x
12 LIMITING VALUES
In accordance with the Absolute Maximum Rating System (IEC 134).
input voltage OSC, RS, R/W, E and DB0 to DB7VSS− 0.5VDD+ 0.5V
output voltage R1 to R32, C1 to C60 and V
LCD
V
− 0.5VDD+ 0.5V
LCD
DC input current−10+10mA
DC output current−10+10mA
LCDVDD
, VSS or V
current−50+50mA
LCD
total power dissipation−400mW
power dissipation per output−100mW
storage temperature−65+150°C
V
13 HANDLING
Inputs and outputs are protected against electrostatic discharge in normal handling. However, to be totally safe, it is
desirable to take normal precautions appropriate to handling MOS devices (see
“Handling MOS Devices”
).
14 DC CHARACTERISTICS
= 2.5 to 6 V; VSS=0V;V
V
DD
LCD=VDD
− 3.5 to VDD− 9V;T
= −40 to +85 °C; unless otherwise specified.
amb
SYMBOLPARAMETERCONDITIONSMIN.TYP.MAX.UNIT
Supplies
V
DD
V
LCD
I
DD
I
DD1
I
DD2
I
DD3
I
LCD
V
POR
supply voltage2.5−6.0V
LCD supply voltageVDD− 9−VDD− 3.5V
supply current external V
LCD
note 1−−−
supply current 1−200500µA
supply current 2VDD=5V; VOP=9V;
f
= 150 kHz;
osc
T
=25°C
amb
supply current 3VDD=3V; VOP=5V;
f
= 150 kHz;
osc
T
=25°C
amb
V
input currentnotes 1 and 6−50100µA
LCD
−200300µA
−150200µA
Power-on reset voltage levelnote 2−1.31.8V
1997 Dec 1630
Philips SemiconductorsProduct specification
LCD controller/driverPCF2104x
SYMBOLPARAMETERCONDITIONSMIN.TYP.MAX.UNIT
Logic
V
IL1
V
IH1
V
IL(osc)
V
IH(osc)
I
pu
I
OL(DB)
I
OH(DB)
I
L1
2
I
C-bus
LOW level input voltage pins E, RS,
R/W, DB0 to DB7 and SA0
HIGH level input voltage pins E, RS,
R/W, DB0 to DB7 and SA0
LOW level input voltage pin OSCV
HIGH level input voltage pin OSCVDD− 0.1−V
pull-up current at pins DB0 to DB7,
RS and R/
W
LOW level output current pins
V
I=VSS
VOL= 0.4 V; VDD=5V 1.6−−mA
DB0 to DB7
HIGH level output current pins
VOH=4V; VDD=5V−1.0−−mA
DB0 to DB7
leakage current pins OSC, E, RS,
VI=VDD or V
SS
R/W, DB0 to DB7 and SA0
V
SS
0.7V
SS
DD
−0.3V
−V
DD
DD
−VDD− 1.5V
DD
V
V
V
0.040.151.00µA
−1−+1µA
SDA, SCL
V
IL2
V
IH2
I
L2
C
i
I
OL(SDA)
LOW level input voltagenote 3V
SS
HIGH level input voltagenote 30.7V
leakage currentVI=VDD or V
1. LCD outputs are open-circuit; inputs at VDD or VSS; V0=VDD; bus inactive; internal or external clock with duty cycle
50% (I
2. Resets all logic when VDD<V
DD1
only).
POR
.
3. When the voltages are above or below the supply voltages VDD or VSS, an input current may flow; this current must
not exceed ±0.5 mA.
4. Tested on sample basis.
5. Resistance of output terminals (R1 to R32 and C1 to C60) with load current I
= 150 µA; VOP=VDD− V
load
LCD
=9V;
outputs measured one at a time.
6. LCD outputs open-circuit.
1997 Dec 1631
Philips SemiconductorsProduct specification
LCD controller/driverPCF2104x
15 AC CHARACTERISTICS
V
= 2.5 to 6.0 V; VSS=0V; V
DD
LCD=VDD
SYMBOLPARAMETERCONDITIONSMIN.TYP.MAX.UNIT
f
f
FR
osc
LCD frame frequency (internal clock)note 14065100Hz
external clock frequency90150225kHz
Bus timing characteristics: Parallel Interface; notes 1 and 2
W
RITE OPERATION (WRITING DATA FROM MICROCONTROLLER TO PCF2104X)
T
cy
PW
t
ASU
t
AH
t
DSW
t
HD
EH
enable cycle time500−−ns
enable pulse width220−−ns
address set-up time50−−ns
address hold time25−−ns
data set-up time60−−ns
data hold time25−−ns
READ OPERATION (READING DATA FROM PCF2104X TO MICROCONTROLLER)
T
cy
PW
EH
t
ASU
t
AH
t
DHD
t
HD
Timing characteristics: I
f
SCL
t
SW
t
BUF
t
SU;STA
t
HD;STA
t
LOW
t
HIGH
t
r
t
f
t
SU;DAT
t
HD;DAT
t
SU;STO
enable cycle time500−−ns
enable pulse width220−−ns
address set-up time50−−ns
address hold time25−−ns
data delay time−−150ns
data hold time20−100ns
2
C-bus interface; note 2
SCL clock frequency−−100kHz
tolerable spike width on bus−−100ns
bus free time4.7−−µs
set-up time for a repeated START condition4.7−−µs
start condition hold time4−−µs
SCL LOW time4.7−−µs
SCL HIGH time4−−µs
SCL and SDA rise time−−1µs
SCL and SDA fall time−−0.3µs
data set-up time250−−ns
data hold time0−−ns
set-up time for STOP condition4−−µs
− 3.5VtoVDD− 9V;T
= −40 °Cto+85°C; unless otherwise specified.
amb
Notes
1. V
= 5.0 V.
DD
2. All timing values are valid within the operating supply voltage and ambient temperature range and are referenced to
VIL and VIH with an input voltage swing of VSSto VDD.
1997 Dec 1632
Philips SemiconductorsProduct specification
LCD controller/driverPCF2104x
16 TIMING DIAGRAMS
handbook, full pagewidth
Fig.26 Parallel bus write operation sequence; writing data from microcontroller to PCF2104x.
RS
R/W
DB0 to DB7
V
IH1
V
IL1
t
AS
V
IL1
PW
EH
V
E
IH1
V
IL1
V
V
V
IH1
V
t
DSW
IH1
IL1
IL1
V
IH1
V
IL1
Valid Data
T
cy
t
t
AH
AH
t
V
IL1
V
IL1
H
V
IH1
V
IL1
MLA798 - 1
handbook, full pagewidth
RS
R/W
E
DB0 to DB7
V
IH1
V
IL1
t
AS
V
IH1
PW
EH
V
V
IL1
IH1
t
Fig.27 Parallel bus read operation sequence; reading data from PCF2104x to microcontroller.
1997 Dec 1633
V
DDR
V
OH1
V
OL1
IH1
V
IH1
V
IL1
t
AH
V
IH1
t
AH
V
IL1
t
DHR
V
OH1
V
OL1
T
cy
V
IL1
MLA799 - 1
Philips SemiconductorsProduct specification
LCD controller/driverPCF2104x
17 APPLICATION INFORMATION
handbook, 4 columns
Fig.28 Direct connection to 8-bit microcontroller; 8-bit bus.
handbook, 4 columns
P80CL51
P10 to P17
P80CL51
P14 to P17
P20
P21
P22
P10
P11
P12
RS
R/W
R1 to R32
E
PCF2104x
8
RS
E
C1 to C60
DB0 to DB7
R1 to R32
R/W
MGC620
PCF2104x
4
C1 to C60
DB4 to DB7
32
to
LCD
60
32
to
LCD
60
handbook, full pagewidth
MGC621
Fig.29 Direct connection to 8-bit microcontroller; 4-bit bus.
V
LCD
V
V
DD
SS
100 nF
100
nF
V
LCD
V
DD
OSC
PCF2104x
V
SS
DB0 to DB7 ERS R/W
R7 to R16
R25 to R32
R1 to R8
R17 to R24
16
C1 to C60
2 x 24 CHARACTER
Fig.30 Typical application using parallel interface.
16
LCD DISPLAY
(SPLIT SCREEN)
60
MGC624
60
1997 Dec 1634
Philips SemiconductorsProduct specification
LCD controller/driverPCF2104x
handbook, full pagewidth
VDDV
DD
V
V
LCD
V
V
LCD
V
V
DD
SS
DD
SS
100 nF
100
nF
100 nF
100
nF
V
LCD
V
DD
OSC
PCF2104x
V
SS
V
LCD
V
DD
OSC
PCF2104x
V
SS
SA0
V
SA0
V
DD
SS
R1 to R16
R17 to R24
16
C1 to C60
R1 to R16
16
C1 to C60
16
2 x 24 CHARACTER
LCD DISPLAY
(SPLIT SCREEN)
60
2 x 12 CHARACTER
LCD DISPLAY
MGC625
60
60
SCL SDA
MASTER TRANSMITTER
PCF84C81
Fig.31 Application using I2C-bus interface.
1997 Dec 1635
Philips SemiconductorsProduct specification
LCD controller/driverPCF2104x
17.18-bit operation, 2 × 12 display using internal
reset
Table 7 shows an example of a 1-line display in 8-bit
operation. The PCF2104x functions must be set by the
function set instruction prior to display. Since the display
data RAM can store data for 80 characters, the RAM can
be used for advertising displays when combined with
display shift operation. Since the display shift operation
changes the display position only and DDRAM contents
remain unchanged. Display data entered first can be
displayed when the ‘Return home’ instruction is
performed.
17.24-bit operation, 2 × 12 display using internal
reset
The program must set functions prior to 4-bit operation.
Table 6 shows an example. When power is turned on, 8-bit
operation is automatically selected and the PCF2104x
attempts to perform the first write as an 8-bit operation.
Since nothing is connected to DB0 to DB3, a rewrite is
then required. However, since one operation is completed
in two accesses of 4-bit operation, a rewrite is required to
set the functions (see Table 6 step 3).
17.38-bit operation, 2 × 24 display
For a 2-line display, the cursor automatically moves from
the first to the second line after the 40th digit of the first line
has been written. Thus, if there are only 8 characters in the
first line, the DDRAM address must be set after the eighth
character is completed (see Table 8). It should be noted
that both lines of the display are always shifted together,
data does not shift from one line to the other.
17.4I
A control byte is required with most instructions
(see Table 9).
17.5Initializing by instruction
If the power supply conditions for correctly operating the
internal reset circuit are not met, the PCF2104x must be
initialized by instruction. Tables 10 and 11 show how this
may be performed for 8-bit and 4-bit operation.
2
C operation, 2 × 12 display
Thus, DB4 to DB7 of the function set are written twice.
1997 Dec 1636
Philips SemiconductorsProduct specification
LCD controller/driverPCF2104x
Table 6 4-bit operation, 1-line display example; using internal reset
Objective specificationThis data sheet contains target or goal specifications for product development.
Preliminary specificationThis data sheet contains preliminary data; supplementary data may be published later.
Product specificationThis data sheet contains final product specifications.
Limiting values
Limiting values given are in accordance with the Absolute Maximum Rating System (IEC 134). Stress above one or
more of the limiting values may cause permanent damage to the device. These are stress ratings only and operation
of the device at these or at any other conditions above those given in the Characteristics sections of the specification
is not implied. Exposure to limiting values for extended periods may affect device reliability.
Application information
Where application information is given, it is advisory and does not form part of the specification.
20 LIFE SUPPORT APPLICATIONS
These products are not designed for use in life support appliances, devices, or systems where malfunction of these
products can reasonably be expected to result in personal injury. Philips customers using or selling these products for
use in such applications do so at their own risk and agree to fully indemnify Philips for any damages resulting from such
improper use or sale.
2
21 PURCHASE OF PHILIPS I
Purchase of Philips I
components in the I2C system provided the system conforms to the I2C specification defined by
Philips. This specification can be ordered using the code 9398 393 40011.
C COMPONENTS
2
C components conveys a license under the Philips’ I2C patent to use the
1997 Dec 1652
Philips SemiconductorsProduct specification
LCD controller/driverPCF2104x
NOTES
1997 Dec 1653
Philips SemiconductorsProduct specification
LCD controller/driverPCF2104x
NOTES
1997 Dec 1654
Philips SemiconductorsProduct specification
LCD controller/driverPCF2104x
NOTES
1997 Dec 1655
Philips Semiconductors – a worldwide company
Argentina: see South America
Australia: 34 Waterloo Road, NORTH RYDE, NSW 2113,
United States: 811 East Arques Avenue, SUNNYVALE, CA 94088-3409,
Tel. +1 800 234 7381
Uruguay: see South America
Vietnam: see Singapore
Yugoslavia: PHILIPS, Trg N. Pasica 5/v, 11000 BEOGRAD,
Tel. +381 11 625 344, Fax.+38111 635777
For all other countries apply to: Philips Semiconductors, Marketing & Sales Communications,
Building BE-p, P.O. Box 218, 5600 MD EINDHOVEN, The Netherlands, Fax. +31 4027 24825
The information presented in this document does not form part of any quotation or contract, is believed to be accurate and reliable and may be changed
without notice. No liability will be accepted by the publisher for any consequence of its use. Publication thereof does not convey nor imply any license
under patent- or other industrial or intellectual property rights.
Internet: http://www.semiconductors.philips.com
Printed in The Netherlands417067/1200/04/pp56 Date of release: 1997 Dec 16Document order number: 9397 75002924
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.