| =================================== |
| cfag12864b LCD Driver Documentation |
| =================================== |
| |
| License: GPLv2 |
| Author & Maintainer: Miguel Ojeda Sandonis <maxextreme@gmail.com> |
| Date: 2006-10-27 |
| |
| |
| |
| -------- |
| 0. INDEX |
| -------- |
| |
| 1. DRIVER INFORMATION |
| 2. DEVICE INFORMATION |
| 3. WIRING |
| 4. USERSPACE PROGRAMMING |
| |
| |
| --------------------- |
| 1. DRIVER INFORMATION |
| --------------------- |
| |
| This driver support one cfag12864b display at time. |
| |
| |
| --------------------- |
| 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. |