| =================================== | |
| cfag12864b LCD Driver Documentation | |
| =================================== | |
| License: GPLv2 | |
| Author & Maintainer: Miguel Ojeda Sandonis | |
| Date: 2006-10-27 | |
| -------- | |
| 0. INDEX | |
| -------- | |
| 1. DRIVER INFORMATION | |
| 2. DEVICE INFORMATION | |
| 3. WIRING | |
| 4. USERSPACE PROGRAMMING | |
| --------------------- | |
| 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# Name | |
| Strobe ( 1)------------------------------(17) Enable | |
| Data 0 ( 2)------------------------------( 4) Data 0 | |
| Data 1 ( 3)------------------------------( 5) Data 1 | |
| Data 2 ( 4)------------------------------( 6) Data 2 | |
| Data 3 ( 5)------------------------------( 7) Data 3 | |
| Data 4 ( 6)------------------------------( 8) Data 4 | |
| Data 5 ( 7)------------------------------( 9) Data 5 | |
| Data 6 ( 8)------------------------------(10) Data 6 | |
| Data 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 2 | |
| Select (17)------------------------------(16) Data / Instruction | |
| Ground (18)---[GND] [+5v]---(19) LED + | |
| Ground (19)---[GND] | |
| Ground (20)---[GND] E A Values: | |
| Ground (21)---[GND] [GND]---[P1]---(18) Vee - R = Resistor = 22 ohm | |
| Ground (22)---[GND] | - P1 = Preset = 10 Kohm | |
| Ground (23)---[GND] ---- S ------( 3) V0 - P2 = Preset = 1 Kohm | |
| Ground (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 will | |
| turn 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 Documentation/auxdisplay/cfag12864b-example.c | |
| for a real working userspace complete program with usage examples. |