disclaimer / info:
DISCLAIMER:
THIS IS EXPERIMENTAL SOFTWARE AND HARDWARE. USE AT YOUR OWN RISK. THE MAINTAINER(S) OF THESE PAGES AND THE DEVELOPER(S) OF SOFTWARE AND HARDWARE PRESENTED ON THESE PAGES CAN NOT BE HELD LIABLE UNDER ANY CIRCUMSTANCES FOR DAMAGE TO HARDWARE OR SOFTWARE, LOST DATA, OR OTHER DIRECT OR INDIRECT DAMAGE RESULTING FROM THE USE OF THIS SOFTWARE OR HARDWARE. IF YOU DO NOT AGREE TO THESE CONDITIONS, YOU ARE NOT PERMITTED TO USE OR FURTHER DISTRIBUTE THIS SOFTWARE OR TO USE ANY TEMPLATES FOR BUILDING HARDWARE PRESENTED HERE.
- this page deals with connecting an ericsson t28 display (or compliant: t20, t29, a1018) to a parallel or serial port and drive it using
serdisplib
- i'm not responsible for the content of external web pages
- external web pages will generally open in separate browser windows or tabs
- english is not my native language. please keep that in mind (corrections of english grammar and formulations are very welcome!)
- email: mrwastl at users.sourceforge.net
ericsson t2x displays:
description
ericsson a1018, t20, t28, and t29 displays are controlled using an i2c-based on-glass controller (exact model name unknown).
specifications | |
---|---|
resolution | 101x33 |
colours | monochrome |
controller | i2c-based, model name unknown |
backlight | no |
adjustable contrast | no |
dimensions | module: about 45 x 35 mm (without speaker), display area: 33 x 12 mm (measured) |
name in serdisplib |
ERICSSONT2X or E///T2X (example: serdisp_init(sdcd, "ERICSSONT2X", ""); ) |
pinout
pinout for ericsson t2x displays1 VLCD +6.4V (lcd power supply, 3 - 6.4V (?)) 2 VLOGIC +2.7V (logic power supply, 2.7 - 6V (?)) 3 SDA i2c-SDA 4 GND GND 5 SCLK i2c-SCLK annotations
|
addressing
pages vs. rows:
the display is organised in columns and pages: 8 pixel-rows are combined to a so called page.
as only whole bytes can be transferred to the display, a single pixel cannot be changed without knowing its 7 'neighbour' pixels.
so a display buffer was introduced in the library. pixel changes are all done in this buffer and in a separate step only changed 'page bytes' are transferred (using an optimising algorithm) to the display.
some images
ericsson t28 display showing a test image | ericsson t28 display with output generated by graphlcd |
top ^
connecting an ericsson t2x display to the parallel port:
intro
i2c-displays only need two signal lines, SDA (data) and SCLK (clock).
i used D0 and D1 to connect the display to the parallel port.
wiring
signals:
+----------------------------+ | 1 2 3 4 5 | | # # # # # | +------================------+ | | | rear view | | connector is visible | | | | | +----------------------------+ Signal name PC LCD Signal name ---------------------------------------------------------- Data 0 2 3 SDATA i2c-SDA Data 1 3 5 SCLK i2c-SCLK Ground 18 4 GND Ground -- 1 VLCD +6.4V (lcd power supply) -- 2 VLOGIC +2.7V (logic power supply)
circuit:
part list:
Part# Type Value Annotation --------------------------------------------------------------------------------------- R1-R2 Resistor 1 kOhm R3 Resistor eg. 150 Ohm or higher value if display pixels are too weak IC1 Voltage Reg. 7805 (or similar) C1 Capacitor 2.2 uF D1 Diode 1N4148 (or similar)
remarks:
- the power supply (which is based on a circuit by Rifer) shown above is only an example.
two different voltages for Vlcd and Vlogic may be better, but this power supply worked fine for me and was tested successfully on different PCs - Rifer uses a resistor with 320 Ohm, i got better results with 150 Ohm (display was too dark (too much contrast) when using 320 Ohm)
- changing the voltage influences the contrast
top ^
connecting an ericsson t2x display to the serial port:
intro
as i2c-displays only need two signal lines, it may be driven using the serial port.
also the power can be gained through it (so no extra power supply is needed!)
wiring
signals:
+----------------------------+ | 1 2 3 4 5 | | # # # # # | +------================------+ | | | rear view | | connector is visible | | | | | +----------------------------+ Signal name PC LCD Signal name ---------------------------------------------------------- TxD 3 1 VLCD +6.4V (lcd power supply) TxD 3 2 VLOGIC +2.7V (logic power supply) DTR 4 3 SDATA i2c-SDA GND 5 4 GND Ground RTS 7 5 SCLK i2c-SCLK
circuit:
part list:
Part# Type Value Annotation --------------------------------------------------------------------------------------- R1,R2 Resistor 10 kOhm R3 Resistor eg. 150 Ohm or higher value if display pixels are too weak IC1 Voltage Reg. 7805 (or similar) C1 Capacitor 2.2 uF D1 Diode 1N4148 (or similar) D2,D3 Zener-Diode up to 5V i didn't have 5V zener-diodes, so i used 4.7V
remarks:
- the circuit is based on a circuit by Rifer.
modification: i do not connect SDA to CTS (as i don't query the i2c-acknowledge bit) - Rifer uses a resistor with 320 Ohm, i got better results with 150 Ohm (display was too dark (too much contrast) when using 320 Ohm) li>
- changing the voltage influences the contrast
some images:
circuit described above | same, different angle |
top ^
passing options through serdisp_init():
intro
using the third parameter of
common information about passing options and customisable wiring can be found in a separate document.
serdisp_init()
, driver specific options and custom wiring can be set.common information about passing options and customisable wiring can be found in a separate document.
examples: serdisp_init(sdcd, "ERICSSONT2X", "INVERT=YES"); serdisp_init(sdcd, "E///T2X", "WIRING=SDA:D6,SCLK:D7");
options
identifier | short | remark | default |
---|---|---|---|
ROTATE | ROT | rotate display (1 == 180 degrees) | 0 |
INVERT | INV | invert display | 0 |
DELAY | delay after each write/read operation.0 .. no delay 1 .. one call of gettimeofday() >1 .. delay at least x nanoseconds | 0 | |
WIRING | WIRE | pre-defined or customisable wiring (only when protocol=PAR , no customisable wiring when protocol=SERRAW ) | 0 |
ranges, aliases
identifier | range | aliases |
---|---|---|
ROTATE | 0, 1, 90, 180, 270 | YES=180, NO=0, TRUE=180, FALSE=0 |
INVERT | 0, 1 | YES=1, NO=0, TRUE=1, FALSE=0 |
DELAY | >= 0 | NONE=0 |
pre-defined wiring definitions
identifier | numeric id | protocol | description |
---|---|---|---|
Original | 0 | PAR | parallel port wiring shown in this page |
Rifer | 1 | PAR | Rifer wiring (SDA -> pin 2, SCLK -> pin 16) |
display signals
identifier | description | mandatory |
---|---|---|
SDA | serial data input | * |
SCLK | serial clock | * |
BACKLIGHT | backlight, optional |
annotations
- no customisable wiring when connecting display to serial port
top ^
links:
i2c | |||
---|---|---|---|
Philips - I2C-bus | i2c-bus is a protocol created by philips. they provide useful information about it here | (english) | http://www.semiconductors.philips.com/buses/i2c/ |
links to other projects | |||
---|---|---|---|
Rifer | different lc-display projects. page is in russian, but circuits are in english | (russian) | http://rifer.narod.ru |
Berty's Home Page | pinouts, projects, ... for different LCDs | (english) | http://sandiding.tripod.com/Bertys.html |
top ^
thanks:
special thanks go to | |
---|---|
donating an ericsson t2x phone |
* Günther Zautner * my sister Ulrike |
top ^
history:
2005-05-08 | adapted page for new css added section 'passing options' |
2004-08-12 | first release |
top ^