Electrical – ILI9488 LCD Parallel Bus Interfacing

lcdtft

I have this 3.5" LCD with a ILI9488 COG driver IC, it supports both serial & parallel interfaces but using SPI I can only get very slow frame rates. The end application will be translating a propriety LCD communication bus so that it will display on the 3.5" LCD.

According to the datasheet, the ILI9488 supports 16 bit parallel interface (IM1 = 1, rest = 0) which is called DBI type B in the datasheet. It should be compatible with the 8080 bus.

Does anyone knows what is the startup sequence for using this type of interface? Second, during operation pixel information is sent to the LCD – and that is it? I am feeling there is more data missing but can't find it on the datasheet.

Best Answer

Generally, the best way to get a display up and running is to get the init sequence from your vendor. A good vendor will generally include start-up routines for each interface but YMMV.

The most important reason to go to your vendor is because the init may contain steps important to both the controller and the glass. (e.g. The display controller may need to know that the glass requires certain values for Vcom) In this case, I don't see anything in the datasheet that mentions that so I don't think it's an issue.

A quick google search turned up an Ilitek datasheet which looks to be complete: https://www.elecrow.com/download/ILI9488%20Data%20Sheet_100.pdf (Occasionally I'll find a shorter one, like 80 pages, that doesn't have all the info I need).

The one thing it doesn't have is a block diagram showing the steps required to bring it up. When I don't have that, the next best thing is to find the default register values table. Some have it, some don't, this one does on page 303.

Make a function called init_9488 (or whatever) and write each of the command listed in the table to the display. Then start tweaking. The most important are

Column Start Address (2Ah)
Column End Address (2Ah)
Page Start Address (2Bh)
Page End Address (2Bh)
Color Pixel Format (3Ah) 

Physically, you'll need to select the correct interface using the IM pins. IM1 high and the other two low is 16-bit bus which I'm assuming you picked intentionally?

The write functions are described starting on page 119. 16-bit bus with 16-bits/pixel is on page 126. 16-bit bus with 18-bits/pixel is on page 127.

If you are familiar with the 8080 interface you are good to go. Otherwise, the pages I mentioned describe the specifics of how to toggle each pin to clock in each byte.

I don't know what level of familiarity you have with displays but they've always been frustrating because unless they work perfectly they basically don't work at all.

That about the best I can do without actual part numbers or, even better, a complete init sequence.

Good luck.