cfag12864b LCD Driver Documentation

License:GPLv2
Author & Maintainer:
 Miguel Ojeda Sandonis
Date:2006-10-27

1. Driver Information

This driver supports a cfag12864b LCD.

2. Device Information

Manufacturer:Crystalfontz
Device Name:Crystalfontz 12864b LCD Series
Device Code:cfag12864b
Webpage:http://www.crystalfontz.com
Device Webpage:http://www.crystalfontz.com/products/12864b/
Type:LCD (Liquid Crystal Display)
Width:128
Height:64
Colors:2 (B/N)
Controller:ks0108
Controllers:2
Pages:8 each controller
Addresses:64 each page
Data size:1 byte each address
Memory size:2 * 8 * 64 * 1 = 1024 bytes = 1 Kbyte

3. Wiring

The cfag12864b LCD Series don’t have official wiring.

The common wiring is done to the parallel port as shown:

Parallel Port                          cfag12864b  Name Pin#                            Pin# NameStrobe ( 1)------------------------------(17) EnableData 0 ( 2)------------------------------( 4) Data 0Data 1 ( 3)------------------------------( 5) Data 1Data 2 ( 4)------------------------------( 6) Data 2Data 3 ( 5)------------------------------( 7) Data 3Data 4 ( 6)------------------------------( 8) Data 4Data 5 ( 7)------------------------------( 9) Data 5Data 6 ( 8)------------------------------(10) Data 6Data 7 ( 9)------------------------------(11) Data 7       (10)                      [+5v]---( 1) Vdd       (11)                      [GND]---( 2) Ground       (12)                      [+5v]---(14) Reset       (13)                      [GND]---(15) Read / Write  Line (14)------------------------------(13) Controller Select 1       (15)  Init (16)------------------------------(12) Controller Select 2Select (17)------------------------------(16) Data / InstructionGround (18)---[GND]              [+5v]---(19) LED +Ground (19)---[GND]Ground (20)---[GND]              E    A             Values:Ground (21)---[GND]       [GND]---[P1]---(18) Vee    - R = Resistor = 22 ohmGround (22)---[GND]                |                 - P1 = Preset = 10 KohmGround (23)---[GND]       ----   S ------( 3) V0     - P2 = Preset = 1 KohmGround (24)---[GND]       |  |Ground (25)---[GND] [GND]---[P2]---[R]---(20) LED -

4. Userspace Programming

The cfag12864bfb describes a framebuffer device (/dev/fbX).

It has a size of 1024 bytes = 1 Kbyte.Each bit represents one pixel. If the bit is high, the pixel willturn on. If the pixel is low, the pixel will turn off.

You can use the framebuffer as a file: fopen, fwrite, fclose…Although the LCD won’t get updated until the next refresh time arrives.

Also, you can mmap the framebuffer: open & mmap, munmap & close…which is the best option for most uses.

Check samples/auxdisplay/cfag12864b-example.cfor a real working userspace complete program with usage examples.