Electronic – Interfacing HD44780 compatible LCD display and Spartan 3 FPGA

fpgahd44780lcd

I've recently bought HD44780 compatible LCD screen (16×2) from eBay. I want to use it with my Spartan 3 FPGA development board, but after I've thought a little about it, I'm not sure that I can use it.

The main thing that's bugging me is that the display that I've bought works on 5V, and all Spartan 3 I/Os can work at max. 3.3 V. So is there any way to use Spartan 3 and this display ? Is it possible that it will work with 0V and 3.3V as logical levels (or does it require TTL levels) ?

I don't have datasheet for it, so I'm not sure. I've searched it physically for some marks, and I've only found this: "1602ZFA", but when I google it, I don't get anything good.

I've also asked the seller to send me datasheets, but I think he sent me wrong ones …
Here's what he sent me:

enter image description here

I have only 16 pins on my display.

So, is there any chance that I can use this display with Spartan 3 FPGA ?

Best Answer

The 3.3V will be recognised as a high-level by TTL logic. You will need 5V to power the LCD, however.

EDIT

From the Spartan-3E User Guide:

FPGA-LCD connection

The character LCD is power by +5V. The FPGA I/O signals are powered by 3.3V. However, the FPGA’s output levels are recognized as valid Low or High logic levels by the LCD. The LCD controller accepts 5V TTL signal levels and the 3.3V LVCMOS outputs provided by the FPGA meet the 5V TTL voltage level requirements.

The 390Ω series resistors on the data lines prevent overstressing on the FPGA and StrataFlash I/O pins when the character LCD drives a High logic value. The character LCD drives the data lines when LCD_RW is High. Most applications treat the LCD as a writeonly peripheral and never read from from the display.