BEL RUS ENG
Main pageProjectsSchematicsMisc infoUtilsForumRetroImagesLinksContacts

Using Siemens S65 LCD (LS020)


S65 LCD Test Board

All examples of S65 LCD using on this page are for the following test board. I'm using this board to check my code. The board has an AVR (ATmega16) controller running at 16MHz, 3.3V voltage regulator to power an LCD, the resistive dividers to shift the voltage level from 5V to about 3.3V to interface with LCD via SPI, small LED to indicate 5V voltage, ISP-connector to program the controller, other parts. Maybe the board is not best solution, but it's enough to work with code. Also the board has a metal frame to snap an LCD. There is no need to solder the LCD with any wires. The metal frame was taken from a S65 phone's board and it's very useful thing.

You should know, there are three types of LCD for Siemens S65 phone. First of all this board is intended for testing LS020, but LPH88 may be used too. L2F50 will not work with this board, because it requires to connect pin 8 to VCC (I tested with 3.3V). LS020 is my favorite type, because this type of LCD does support 8-bit host mode, which is faster than 16-bit host mode. There is only one problem: there is no specification of LS020 (I mean commands), so something we will try to define experimentally. I should say that the basic info about the S65-displays at all was taken from Cristian Kranz's site.

LS020 LCD pinout:
LS020 pinout


Test Board schematic diagram:
S65 LCD Test Board schematic diagram
Enlarge image

Note: the resistors R3 and R4 in the schematic have larger values because the RST-line is used only for initialization. Thus this solution decreases the common power consumption. This may be relevant for battery-powered devices. The pin 8 of the LCD (LS020) has really no effect. There's no need to connect it.

S65 LCD Test Board PCB:
S65 LCD Test Board


S65 LCD Test Board:
S65 LCD Test Board


S65 LCD Test Board, Initialization of LS020:
LS020, Initialization OK

LS020 Testboard board (mirrored, for a printer) (626 downloads)


List of internal control registers of the LS020:

Bank 90h
Register numberBit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0Short description
R00hWTHBLKYMIRACT****Control Register
R01hYDIRXDIR*BGR****10h - B & R colors are swapped
R02h*****D2*D005h - Image OFF
R04h*******8COL01h - 8-color display mode
R05h*****ROT**04h - 90deg ROTATE
R06hD7D6D5D4D3D2D1D0Cursor position Y
R07hD7D6D5D4D3D2D1D0Cursor position X
R08hD7D6D5D4D3D2D1D0Y1 window corner (00h..83h)
R09hD7D6D5D4D3D2D1D0Y2 window corner (Y1..83h)
R0AhD7D6D5D4D3D2D1D0X1 window corner (00h..AFh)
R0BhD7D6D5D4D3D2D1D0X2 window corner (X1..AFh)
R0FhD7D6D5D4D3D2D1D0Start position (X) of scrolling area
R10hD7D6D5D4D3D2D1D0Width of scrolling area
R11hD7D6D5D4D3D2D1D0Scrolling value (up to value of R10h)
R13h*******COLInactive area color (00h=black, 01h=white)
R14hD7D6D5D4D3D2D1D0Active area #1 offset (X)
R15hD7D6D5D4D3D2D1D0Active area #2 offset (X)
R16hD7D6D5D4D3D2D1D0Active area #1 width
R17hD7D6D5D4D3D2D1D0Active area #2 width
R1Dh*****D2**XMirror + Shift ?
R22hD7D6D5D4D3D2D1D0Something occurs ?
R23hD7D6D5D4D3D2D1D0Image refresh frequency ?
R24hD7D6D5D4D3D2D1D0Image contrast ?
RE8h*BGRD5D4D3D2**Transfer mode (LCD host mode)
Bank B0h
Register numberBit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0Short description
R49h??????1D0Negative/Positive Mode
Any Bank
Register numberBit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit 0Short description
REFhD7D6D5D4D3D2D1D0Current Bank Register

Definitions: X-axis is the larger side of the display.

Note: The table may contain some mistakes or discrepancies.

There are still more many unknown registers, which something do, but the logic of action is not clear yet. These registers will be listed later. To be continued.

Register RE8h can set 8bit, 16bit or 24bit (yes, 24bit-mode is reality!) host mode with or without BGR-function. The BGR function means that B and R bits are swapped when the function is enabled. See detailed info about the host-modes here. I will be describing bits of this register later. This is very interesting and useful register, which can set at least six different modes of the LS020 LCD.


Internal Resistors

How does a controller define which type of LCD is connected? Very simply - by means of internals resistors between the pins. But it's possible only when a host controller has direct connection without any buffers, voltage shifters etc. The following picture will explain the matter.

Internal Resistors

A host controller may check these interconnections before starting initialization and decide which driver to use.


LS020 8-bit Palette

LS020 8-bit mode Palette

Using examples

 

LS020 8-bit Palette:


8-color mode

Discuss S65 LCD at my forum

Ŭeb dyzajn, zdymki i malunki ad Juraś-Projects. Jurasieva amatarskaja staronka. Usie pravy abaronienyja. © 2010.
hussai.com - хостинг