Commit | Line | Data |
---|---|---|
70e84049 MOS |
1 | =================================== |
2 | cfag12864b LCD Driver Documentation | |
3 | =================================== | |
4 | ||
5 | License: GPLv2 | |
450c622e | 6 | Author & Maintainer: Miguel Ojeda Sandonis |
70e84049 MOS |
7 | Date: 2006-10-27 |
8 | ||
9 | ||
10 | ||
11 | -------- | |
12 | 0. INDEX | |
13 | -------- | |
14 | ||
15 | 1. DRIVER INFORMATION | |
16 | 2. DEVICE INFORMATION | |
17 | 3. WIRING | |
18 | 4. USERSPACE PROGRAMMING | |
19 | ||
20 | ||
21 | --------------------- | |
22 | 1. DRIVER INFORMATION | |
23 | --------------------- | |
24 | ||
450c622e | 25 | This driver supports a cfag12864b LCD. |
70e84049 MOS |
26 | |
27 | ||
28 | --------------------- | |
29 | 2. DEVICE INFORMATION | |
30 | --------------------- | |
31 | ||
32 | Manufacturer: Crystalfontz | |
33 | Device Name: Crystalfontz 12864b LCD Series | |
34 | Device Code: cfag12864b | |
35 | Webpage: http://www.crystalfontz.com | |
36 | Device Webpage: http://www.crystalfontz.com/products/12864b/ | |
37 | Type: LCD (Liquid Crystal Display) | |
38 | Width: 128 | |
39 | Height: 64 | |
40 | Colors: 2 (B/N) | |
41 | Controller: ks0108 | |
42 | Controllers: 2 | |
43 | Pages: 8 each controller | |
44 | Addresses: 64 each page | |
45 | Data size: 1 byte each address | |
46 | Memory size: 2 * 8 * 64 * 1 = 1024 bytes = 1 Kbyte | |
47 | ||
48 | ||
49 | --------- | |
50 | 3. WIRING | |
51 | --------- | |
52 | ||
53 | The cfag12864b LCD Series don't have official wiring. | |
54 | ||
55 | The common wiring is done to the parallel port as shown: | |
56 | ||
57 | Parallel Port cfag12864b | |
58 | ||
59 | Name Pin# Pin# Name | |
60 | ||
61 | Strobe ( 1)------------------------------(17) Enable | |
62 | Data 0 ( 2)------------------------------( 4) Data 0 | |
63 | Data 1 ( 3)------------------------------( 5) Data 1 | |
64 | Data 2 ( 4)------------------------------( 6) Data 2 | |
65 | Data 3 ( 5)------------------------------( 7) Data 3 | |
66 | Data 4 ( 6)------------------------------( 8) Data 4 | |
67 | Data 5 ( 7)------------------------------( 9) Data 5 | |
68 | Data 6 ( 8)------------------------------(10) Data 6 | |
69 | Data 7 ( 9)------------------------------(11) Data 7 | |
70 | (10) [+5v]---( 1) Vdd | |
71 | (11) [GND]---( 2) Ground | |
72 | (12) [+5v]---(14) Reset | |
73 | (13) [GND]---(15) Read / Write | |
74 | Line (14)------------------------------(13) Controller Select 1 | |
75 | (15) | |
76 | Init (16)------------------------------(12) Controller Select 2 | |
77 | Select (17)------------------------------(16) Data / Instruction | |
78 | Ground (18)---[GND] [+5v]---(19) LED + | |
79 | Ground (19)---[GND] | |
80 | Ground (20)---[GND] E A Values: | |
be2a608b JAKJ |
81 | Ground (21)---[GND] [GND]---[P1]---(18) Vee - R = Resistor = 22 ohm |
82 | Ground (22)---[GND] | - P1 = Preset = 10 Kohm | |
83 | Ground (23)---[GND] ---- S ------( 3) V0 - P2 = Preset = 1 Kohm | |
70e84049 MOS |
84 | Ground (24)---[GND] | | |
85 | Ground (25)---[GND] [GND]---[P2]---[R]---(20) LED - | |
86 | ||
87 | ||
88 | ------------------------ | |
89 | 4. USERSPACE PROGRAMMING | |
90 | ------------------------ | |
91 | ||
92 | The cfag12864bfb describes a framebuffer device (/dev/fbX). | |
93 | ||
94 | It has a size of 1024 bytes = 1 Kbyte. | |
95 | Each bit represents one pixel. If the bit is high, the pixel will | |
96 | turn on. If the pixel is low, the pixel will turn off. | |
97 | ||
98 | You can use the framebuffer as a file: fopen, fwrite, fclose... | |
99 | Although the LCD won't get updated until the next refresh time arrives. | |
100 | ||
101 | Also, you can mmap the framebuffer: open & mmap, munmap & close... | |
102 | which is the best option for most uses. | |
103 | ||
104 | Check Documentation/auxdisplay/cfag12864b-example.c | |
105 | for a real working userspace complete program with usage examples. |