LCD 'E' Strobe Timing Data
Contents
Effect of "too short" 'E' Strobe Pulse/Delay |
|
|
|
Similar Effect when "tripped back" in to 8-bit/Uninitialised Mode, but receiving 4-bit data: |
|
|
|
|
|
|
|
Summary Table
Mode |
Data/Reg. Src. |
E-strobe Src. |
Eh_min |
El_min |
Code Reference |
8-bit/4-bit |
GPIO |
GPIO |
50uS |
50uS |
wiringPi |
8-bit |
PCF8574 |
GPIO |
204uS1 |
41uS2 |
lcd_iface_8bit |
4-bit |
PCF8574 |
PCF8574 |
612uS3 |
408uS4 |
lcd_?i2c_4bit |
4-bit |
PCF8574 |
PCF8574 |
816uS5 |
612uS3 |
lcd_?i2c_4bit with -LVI2C option |
8-bit |
MCP23017(A) |
GPIO |
284uS6 |
41uS2 |
dual_lcd |
4-bit |
MCP23017(B) |
MCP23017(B) |
852uS7 |
41uS2 |
dual_lcd |
8-bit |
74HC595 |
GPIO |
16uS8 |
41uS2 |
lcd_spi_8bit |
4-bit |
MCP23S08 |
MCP23S08 |
48uS9 |
41uS2 |
lcd_spi_4bit |
4-bit |
74HC595 |
74HC595 |
16uS8 |
41uS2 |
lcd_spi_4bitV2 |
4-bit |
GPIO |
GPIO |
1uS10 |
41uS2 |
lcd_gpio_4bit |
8-bit |
74HC595 |
GPIO |
16uS8 |
72uS11 |
glcd spi2p_8bit |
LCD 'C' Structures List
(As reported by lcd_structures_list from the i2c_spi_chips-0.0 package)
lcd_iface_8bit:
(lcd_demo.c)
lcd iface_8bit status: TYPE 2 NC 16 NL 2 DDRAM[] 00 28 00 00 RS GPIO 27 E GPIO 22 EHMIN 204 uS ELMIN 41 uS ELMAX 1600 uS WAIT 41 uS NFB 3b BSIZE 80 pcf8574 chip status: ADDR 26 QIOP ff NAME HD44780U
lcd_?i2c_4bit:
(lcd_fi2c_demo.c)
lcd fi2c_4bit status: TYPE 2 NC 16 NL 2 DDRAM[] 00 28 00 00 EHMIN 612 uS ELMIN 408 uS ELMAX 1600 uS WAIT 408 uS NFB 28 BSIZE 80 pcf8574 chip status: ADDR 27 QIOP ff NAME HD44780U
(lcd_mi2c_demo.c)
lcd_mi2c_4bit: lcd mi2c_4bit status: TYPE 1 NC 16 NL 2 DDRAM[] 00 28 00 00 EHMIN 612 uS ELMIN 408 uS ELMAX 1600 uS WAIT 408 uS NFB 28 BSIZE 80 pcf8574 chip status: ADDR 20 QIOP ff NAME HD44780U
(lcd_ibo_i2c_demo.c)
lcd_ibo_i2c_4bit: lcd ibo_i2c_4bit status: TYPE 1 NC 16 NL 2 DDRAM[] 00 28 00 00 EHMIN 612 uS ELMIN 408 uS ELMAX 1600 uS WAIT 408 uS NFB 28 BSIZE 80 pcf8574 chip status: ADDR 3a QIOP ff NAME HD44780U
Changes when -LVI2C option is invoked:
pi@raspiP3B16Gb:~/i2c_spi_chips-0.0 $ ./src/lcd_fi2c_demo -I -LVI2C lcd_fi2c_demo.c Version 0.07 {Exp}, [12/07/2017], (c) F_Trevor_Gowen <--| Package i2c_spi_chips_0.0 |--> <lcd_fi2c_demo.arg> fopen: No such file or directory lcd_fi2c_demo.arg not found lcd fi2c_4bit status: TYPE 1 NC 16 NL 2 DDRAM[] 00 28 00 00 EHMIN 816 uS ELMIN 612 uS ELMAX 1600 uS WAIT 612 uS NFB 28 BSIZE 80 pcf8574 chip status: ADDR 27 QIOP ff NAME fun_yellow_1602 i2cdetect -y 1
dual_lcd
(dual_lcd_i2c4-8bit_demo.c)
dual lcd status: mcp23017 chip status: ADDR 20 IOCON 0a IODIRA 00 IODIRB 01 IPOLA 02 IPOLB 03 GPIOA 12 GPIOB 13 NAME HD44780U lcd A8bit: TYPE 2 NC 16 NL 2 DDRAM[] 00 28 00 00 RS GPIO 22 E GPIO 17 EHMIN 284 uS ELMIN 41 uS ELMAX 1600 uS WAIT 41 uS NFB 3b BSIZE 80 lcd B4bit: TYPE 2 NC 16 NL 2 DDRAM[] 00 28 00 00 RS GPIO 23 E GPIO 18 EHMIN 852 uS ELMIN 41 uS ELMAX 1600 uS WAIT 41 uS NFB 28 BSIZE 80 B4DATA 00
lcd_spi_8bit:
(lcd_spi8b_demo.c)
lcd spi_8bit status: TYPE 2 NC 16 NL 2 DDRAM[] 00 28 00 00 RS GPIO 22 E GPIO 27 EHMIN 16 uS ELMIN 41 uS ELMAX 1600 uS WAIT 41 uS NFB 3b BSIZE 80 gc74hc595 chip status: SPI_DEV /dev/spidev0.0 GOE GPIO 17 SCL GPIO 18 NAME HD44780U
lcd_spi_4bit:
(lcd_spi4b_demo.c)
lcd spi_4bit status: mcp23S08 chip status: SPI_DEV /dev/spidev0.1 WADDR 40 IOCON 05 IODIR 00 IOPOL 01 GPIO 09 NAME HD44780U lcd S4bit: TYPE 2 NC 16 NL 2 DDRAM[] 00 28 00 00 E GPIO 22 EHMIN 48 uS ELMIN 41 uS ELMAX 1600 uS WAIT 41 uS NFB 28 BSIZE 80 S4DATA 00
lcd_spi_4bitV2:
(lcd_spi4bV2_demo.c)
lcd spi_4bitV2 status: hw74hc595 chip status: SPI_DEV /dev/spidev0.0 NAME HD44780U lcd S4bit: TYPE 2 NC 16 NL 2 DDRAM[] 00 28 00 00 E GPIO 27 EHMIN 16 uS ELMIN 41 uS ELMAX 1600 uS WAIT 41 uS NFB 28 BSIZE 80 S4DATA 00
lcd_gpio_4bit:
(lcd_gpio4b_demo.c)
lcd gpio_4bit status: RS GPIO 17 E GPIO 18 BL0 GPIO 27 BL1 GPIO 22 D4 GPIO 23 D5 GPIO 24 D6 GPIO 25 D7 GPIO 04 NAME HD44780U lcd G4bit: TYPE 2 NC 16 NL 2 DDRAM[] 00 28 00 00 EHMIN 1 uS ELMIN 41 uS ELMAX 1600 uS WAIT 41 uS NFB 28 BSIZE 80 G4DATA 00
glcd spi2p_8bit:
(glcd_spi8b_demo.c)
glcd spi2p_8bit status: NC 16 NL 4 DDRAM[] 80 90 80 90 RS GPIO 25 E GPIO 24 BL GPIO 23 EHMIN 16 uS ELMIN 72 uS ELMAX 1672 uS WAIT 72 uS gc74hc595 chip status: SPI_DEV /dev/spidev0.1 GOE GPIO 27 SCL GPIO 22 NAME QC12864B/ST7920
LCD's minimum internal delay before next operation (2 3 4 5 6 7 8)
3 x PCF8574_I2C_DRT (9 10)
2 x PCF8574_I2C_DRT (11)
4 x PCF8574_I2C_DRT (12)
3 x MCP23017_I2C_DRT (14)
>2 x HD44780U's minimum Enable High pulse width of 450ns (19)