]>
Commit | Line | Data |
---|---|---|
3093302b GS |
1 | ------------------------------------------------------------------------------- |
2 | Hitachi HD44780 display controller, 4-bit mode, initialization sequence | |
3 | ------------------------------------------------------------------------------- | |
4 | ||
5 | This capture contains the initialization sequence of an Hitachi HD44780 | |
6 | display controller which is very popular for 2x16, 4x20, and similar | |
7 | character oriented display modules. | |
8 | ||
9 | The specific hardware setup that got recorded uses 4-bit mode, which | |
10 | means that data gets communicated on lined D4-D7 only, and D0-D3 are | |
11 | not connected. | |
12 | ||
13 | ||
14 | Logic analyzer setup | |
15 | -------------------- | |
16 | ||
17 | The capture was taken with an ASIX Sigma2 logic analyzer, sampling 8 | |
18 | logic channels at a rate of 50MHz: | |
19 | ||
20 | Probe HD44780 | |
21 | ------------------- | |
22 | 1 IR (infrared remote control, idle, not HD44780 related) | |
23 | 2 RS (selects "commands" and "display data" mode) | |
24 | 3 RW (read/write, always low for write, fixed in HW) | |
25 | 4 E (enable, falling edge clocks data transfers) | |
26 | 5 D4 (data lines ...) | |
27 | 6 D5 | |
28 | 7 D6 | |
29 | 8 D7 | |
30 | ||
31 | ||
32 | Data | |
33 | ---- | |
34 | ||
35 | See https://en.wikipedia.org/wiki/Hitachi_HD44780_LCD_controller for a | |
36 | list of display controller commands, and especially the 'Mode Selection' | |
37 | section which discusses the synchronization phase. | |
38 | ||
39 | The sequence demonstrates the following steps: | |
40 | - Synchronize to the LCD controller, cope with it being in any arbitrary | |
41 | state from previous execution. | |
42 | - Configure the LCD controller hardware to 4-bit mode, clear the screen | |
43 | and setup other parameters. | |
44 | - Print two text labels: "Hello LCD" and "counter", start printing | |
45 | counter values. | |
46 | ||
47 | When a dedicated HD44780 decoder is not available, the 'parallel' decoder | |
48 | can extract the most basic information: Clock on E (falling edge), D4-D7 | |
49 | of the display corresponds to D0-D3 of the decoder (D4-D7 of the decoder | |
50 | are not connected). Words consist of 8 bits (span 2 bus cycles), and are | |
51 | in big endian format. |