Author Topic: 8-bit serial LCD interface?  (Read 871 times)

0 Members and 1 Guest are viewing this topic.

Offline technix

  • Super Contributor
  • ***
  • Posts: 2015
  • Country: cn
  • From Shanghai With Love
    • My Untitled Blog
8-bit serial LCD interface?
« on: November 12, 2017, 02:07:38 AM »
I have seen various chips claiming the existence of a "8-bit serial" interface for RGB LCD panels, with the signals HSYNC, VSYNC, DOTCLK, ENABLE and 8 data bits.

* What is this interface?
* What kind of interface chip do I need to connect this to a standard 24-bit parallel RGB LCD interface?
 

Offline Canis Dirus Leidy

  • Contributor
  • Posts: 19
  • Country: ru
Re: 8-bit serial LCD interface?
« Reply #1 on: November 13, 2017, 10:25:07 AM »
I have seen various chips claiming the existence of a "8-bit serial" interface for RGB LCD panels, with the signals HSYNC, VSYNC, DOTCLK, ENABLE and 8 data bits.
Can you, please, give example of such chip? Because this: "HSYNC, VSYNC, DOTCLK, ENABLE and 8 data bits" looks like signals of something like "RGB interface" from ILI9325 datasheet (only with 8-bit bus instead of 18-bit), but this is not a serial interface.
« Last Edit: November 13, 2017, 10:31:10 AM by Canis Dirus Leidy »
 

Online retrolefty

  • Super Contributor
  • ***
  • Posts: 1520
  • Country: us
  • measurement changes behavior
Re: 8-bit serial LCD interface?
« Reply #2 on: November 13, 2017, 11:03:52 AM »
I have seen various chips claiming the existence of a "8-bit serial" interface for RGB LCD panels, with the signals HSYNC, VSYNC, DOTCLK, ENABLE and 8 data bits.

* What is this interface?
* What kind of interface chip do I need to connect this to a standard 24-bit parallel RGB LCD interface?

 Nowadays the term "serial interface" includes I2C, SPI, as well as traditional 8-bit UART, is used by
many Asian product (modules) suppliers. It can be a bit confusing to beginners.
 

Offline technix

  • Super Contributor
  • ***
  • Posts: 2015
  • Country: cn
  • From Shanghai With Love
    • My Untitled Blog
Re: 8-bit serial LCD interface?
« Reply #3 on: November 13, 2017, 12:10:06 PM »
I have seen various chips claiming the existence of a "8-bit serial" interface for RGB LCD panels, with the signals HSYNC, VSYNC, DOTCLK, ENABLE and 8 data bits.
Can you, please, give example of such chip? Because this: "HSYNC, VSYNC, DOTCLK, ENABLE and 8 data bits" looks like signals of something like "RGB interface" from ILI9325 datasheet (only with 8-bit bus instead of 18-bit), but this is not a serial interface.
This kind of interface is mentioned in the datasheets of i.MX233 and SSD1963 as potential RGB TFT LCD high speed interfaces.
 

Offline technix

  • Super Contributor
  • ***
  • Posts: 2015
  • Country: cn
  • From Shanghai With Love
    • My Untitled Blog
Re: 8-bit serial LCD interface?
« Reply #4 on: November 13, 2017, 12:12:14 PM »
I have seen various chips claiming the existence of a "8-bit serial" interface for RGB LCD panels, with the signals HSYNC, VSYNC, DOTCLK, ENABLE and 8 data bits.

* What is this interface?
* What kind of interface chip do I need to connect this to a standard 24-bit parallel RGB LCD interface?

 Nowadays the term "serial interface" includes I2C, SPI, as well as traditional 8-bit UART, is used by
many Asian product (modules) suppliers. It can be a bit confusing to beginners.
This is some kind of modified RGB TFT LCD interface that uses three transfers per pixel...? It is likely not Asia-specific as those are used in datasheets for SSD1963 and i.MX233.
 

Offline Canis Dirus Leidy

  • Contributor
  • Posts: 19
  • Country: ru
Re: 8-bit serial LCD interface?
« Reply #5 on: November 13, 2017, 02:02:07 PM »
If I google correctly, "serial RGB" is an interface for TDM (Time Division Multiplexed) LCDs such as LMS250GF03. So, yes. This is
interface that uses three transfers per pixel
 

Offline technix

  • Super Contributor
  • ***
  • Posts: 2015
  • Country: cn
  • From Shanghai With Love
    • My Untitled Blog
Re: 8-bit serial LCD interface?
« Reply #6 on: November 13, 2017, 02:07:02 PM »
If I google correctly, "serial RGB" is an interface for TDM (Time Division Multiplexed) LCDs such as LMS250GF03. So, yes. This is
interface that uses three transfers per pixel
Seems like it. Now how can I convert this into a standard 24-bit RGB stream? Is there any ASSP chip or do I have to use my own CPLD?
 

Online MT

  • Frequent Contributor
  • **
  • Posts: 476
  • Country: fo
Re: 8-bit serial LCD interface?
« Reply #7 on: November 14, 2017, 01:15:24 AM »
For STM32 users, SSD1963 driver.

http://en.radzio.dxp.pl/ssd1963/
 

Offline dmills

  • Frequent Contributor
  • **
  • Posts: 678
Re: 8-bit serial LCD interface?
« Reply #8 on: November 14, 2017, 02:03:17 AM »
Hsync, Vsync, dotclock and enable says old school video interface to me, which way are you going?

Do you need to interface an 8 bit (three transfers per pixel) device to a 24 bit panel (Two octal latches and some toy logic required), or are you seeking to interface some chip that produces 24 bit data to a display device using the 8 bit bus (You will need a clock at three times the pixel clock rate, a small FPGA is often the simplest way)? 

My usual party trick with screens (Because the miserable things keep going obsolete!), is a small FPGA to interface whatever I have to whatever I need, it insulates the rest of the system from the front panel pain.

Regards, Dan.
 

Offline technix

  • Super Contributor
  • ***
  • Posts: 2015
  • Country: cn
  • From Shanghai With Love
    • My Untitled Blog
Re: 8-bit serial LCD interface?
« Reply #9 on: November 14, 2017, 02:09:42 AM »
Hsync, Vsync, dotclock and enable says old school video interface to me, which way are you going?

Do you need to interface an 8 bit (three transfers per pixel) device to a 24 bit panel (Two octal latches and some toy logic required), or are you seeking to interface some chip that produces 24 bit data to a display device using the 8 bit bus (You will need a clock at three times the pixel clock rate, a small FPGA is often the simplest way)? 

My usual party trick with screens (Because the miserable things keep going obsolete!), is a small FPGA to interface whatever I have to whatever I need, it insulates the rest of the system from the front panel pain.

Regards, Dan.
So rounding up, I can just stick something like an EPM240 MAX II CPLD between the i.MX233 and the LCD socket, and code the octal latches and whatever in there? Should I need to swap pins just change the programming in the CPLD?
 

Offline dmills

  • Frequent Contributor
  • **
  • Posts: 678
Re: 8-bit serial LCD interface?
« Reply #10 on: November 14, 2017, 03:17:52 AM »
You will need at least one PLL or a clock running at a reasonable multiple of the pixel clock, to register the three bytes and clock them into the screen.

Regards, Dan.
 

Offline technix

  • Super Contributor
  • ***
  • Posts: 2015
  • Country: cn
  • From Shanghai With Love
    • My Untitled Blog
Re: 8-bit serial LCD interface?
« Reply #11 on: November 14, 2017, 06:22:09 AM »
You will need at least one PLL or a clock running at a reasonable multiple of the pixel clock, to register the three bytes and clock them into the screen.

Regards, Dan.
There is a DOTCLK that allows me to latch each of the three bytes. Isn’t that enough?

If I go the FPGA route, is there any small FPGA, preferable with internal Flash, that have 40 or so I/O pins and comes in a TQFP48 or LQFP64 package?
 

Offline jmelson

  • Frequent Contributor
  • **
  • Posts: 256
  • Country: us
Re: 8-bit serial LCD interface?
« Reply #12 on: November 14, 2017, 09:13:47 AM »

If I go the FPGA route, is there any small FPGA, preferable with internal Flash, that have 40 or so I/O pins and comes in a TQFP48 or LQFP64 package?
You probably don't need a full FPGA.  Xilinx has the XC95xxXL series of CPLDs.  There is a 44-pin package of that.  They also have the Coolrunner 2 (XC2Cxxx) series that are more like FPGA architecture, also available in 44-pin package.  Both of these families are non-volatile.  The XC9500 series are also 5V tolerant.

Jon
 

Offline legacy

  • Super Contributor
  • ***
  • Posts: 2596
Re: 8-bit serial LCD interface?
« Reply #13 on: November 14, 2017, 11:44:48 PM »
Should I need to swap pins just change the programming in the CPLD?



Sure, you don't know what you are talking about, but you need a CPLD
 

Offline technix

  • Super Contributor
  • ***
  • Posts: 2015
  • Country: cn
  • From Shanghai With Love
    • My Untitled Blog
Re: 8-bit serial LCD interface?
« Reply #14 on: November 15, 2017, 01:33:16 AM »
Should I need to swap pins just change the programming in the CPLD?



Sure, you don't know what you are talking about, but you need a CPLD
Next time read through the whole thread before commenting, especially if the thread is less than a few pages long. You have missed a few important posts where the discussion made progress and the CPLD conclusion is not pulled out of my ass. If you don't want to bother reading up a few posts, don't comment (especially with a f***ing annoying video) just to distract others.

This will be my last time giving you, specifically YOU behind the handle "legacy", a TL;DR. Read carefully: I have found a few LCD drivers, like Solomon Systems SSD1963 and NXI i.MX233 that have a "8-bit serial" DOTCLK mode for LCD panels. Such interface isn't that common among actual display panels, which usually ask for a 16-bit RGB656, 18-bit RGB666 or 24-bit RGB888 interface in DOTCLK mode. I am guessing that there may be some kind of ASSP chip that can convert this "8-bit serial" interface to a normal 24-bit interface, however I did not find any. The suggestion by dmills is a small CPLD to latch the data coming from the LCD controller, expanding the time multiplexed RGB into a standard RGB signal.
 
The following users thanked this post: JPortici

Offline dmills

  • Frequent Contributor
  • **
  • Posts: 678
Re: 8-bit serial LCD interface?
« Reply #15 on: November 15, 2017, 03:05:45 AM »
If coming from a CPU type thing with an 8 bit bus, you can sometimes get away with just two octal latches and a data clock at three times the pixel clock rate (Which is usually present with such interfaces, check the timing diagram).

But first, check the screen datasheet, some of them have such an 8 bit mode already via suitable strapping of the configuration pins and suitable register settings.

One warning, you will sometimes find that the ability to configure which way around a screen is mounted goes away when using the direct video modes, ILI looking at you....

Regards, Dan.
 

Offline technix

  • Super Contributor
  • ***
  • Posts: 2015
  • Country: cn
  • From Shanghai With Love
    • My Untitled Blog
Re: 8-bit serial LCD interface?
« Reply #16 on: November 15, 2017, 03:56:05 AM »
If coming from a CPU type thing with an 8 bit bus, you can sometimes get away with just two octal latches and a data clock at three times the pixel clock rate (Which is usually present with such interfaces, check the timing diagram).

But first, check the screen datasheet, some of them have such an 8 bit mode already via suitable strapping of the configuration pins and suitable register settings.

One warning, you will sometimes find that the ability to configure which way around a screen is mounted goes away when using the direct video modes, ILI looking at you....

Regards, Dan.
So far none of my screens claim to support this interface through strapping... Maybe I need to re-read the datasheets.

At least for the i.MX233 board I can leave the screen flipping to the Linux kernel and the framebuffer interface. For bare metal interfaces I can insert a similar indirection layer too.
 

Offline jaromir

  • Regular Contributor
  • *
  • Posts: 118
  • Country: sk
Re: 8-bit serial LCD interface?
« Reply #17 on: November 15, 2017, 06:56:49 AM »
Many of cheap and "dumb" 320x240 monochrome LCDs do have interface with 8 bits of data, VSYNC, HSYNC and one or two more signals. Smaller displays, like 160x128 do usually have only 4 data lines. The drivers in those displays are nothing but shift registers with latches, needs to be refreshed continuously and with quite strict timing (not trivial to do with MCU, somehow easier with DMA). I have 640x400 LCD made like this; with HD61105/HD61104. The "intelligent" display drivers like T6963 do expect to be connected to those serial latches.
Often, the "dumb" displays are are "smart" displays with unpopulated footprint of T6936 and stuff.
My hobby projects: https://hackaday.io/jaromir ----------- http://jaromir.xf.cz/
 

Offline technix

  • Super Contributor
  • ***
  • Posts: 2015
  • Country: cn
  • From Shanghai With Love
    • My Untitled Blog
Re: 8-bit serial LCD interface?
« Reply #18 on: November 15, 2017, 07:29:56 AM »
Many of cheap and "dumb" 320x240 monochrome LCDs do have interface with 8 bits of data, VSYNC, HSYNC and one or two more signals. Smaller displays, like 160x128 do usually have only 4 data lines. The drivers in those displays are nothing but shift registers with latches, needs to be refreshed continuously and with quite strict timing (not trivial to do with MCU, somehow easier with DMA). I have 640x400 LCD made like this; with HD61105/HD61104. The "intelligent" display drivers like T6963 do expect to be connected to those serial latches.
Often, the "dumb" displays are are "smart" displays with unpopulated footprint of T6936 and stuff.
I am trying to connect a 800x480 one... Am I pushing it?

Speaking of i.MX233, it also have a System mode with VSYNC - it uses the standard 8080 or 6800 style 8-bit parallel interface to talk to the LCD controller, but also emits a separate VSYNC signal. What interface chip can take that? I have checked RA8875 and SSD1963 (both fairly common on LCD modules sold in China) but neither accepts this VSYNC.
 

Offline jaromir

  • Regular Contributor
  • *
  • Posts: 118
  • Country: sk
Re: 8-bit serial LCD interface?
« Reply #19 on: November 15, 2017, 07:43:54 AM »
The 8080/6800 controller mode with VSYNC is really a bit weird to me, as the VSYNC to drive pixel shift registers is usually generated by the controller itself.

Oh and regarding the FPGA/CPLD - recently I started playing with small ICE40 FPGAs from Lattice. Those are made in smaller packages too, while costing as much as small CPLDs, but otherwise small CPLD is totally fine choice.
My hobby projects: https://hackaday.io/jaromir ----------- http://jaromir.xf.cz/
 

Offline technix

  • Super Contributor
  • ***
  • Posts: 2015
  • Country: cn
  • From Shanghai With Love
    • My Untitled Blog
Re: 8-bit serial LCD interface?
« Reply #20 on: November 15, 2017, 08:27:59 AM »
The 8080/6800 controller mode with VSYNC is really a bit weird to me, as the VSYNC to drive pixel shift registers is usually generated by the controller itself.

Oh and regarding the FPGA/CPLD - recently I started playing with small ICE40 FPGAs from Lattice. Those are made in smaller packages too, while costing as much as small CPLDs, but otherwise small CPLD is totally fine choice.
What kind of fps can standard 6800/8080 mode get? Can I even think about [email protected] on RA8875 or SSD1963? What about 60fps?

How much would Lattice dev kit cost? Or I would just stick to the Altera MAX II CPLD (100 pin smallest package)
 

Offline dmills

  • Frequent Contributor
  • **
  • Posts: 678
Re: 8-bit serial LCD interface?
« Reply #21 on: November 15, 2017, 12:07:20 PM »
The elephant in the room for FPS is far more a case of "What will the screen accept", you HAVE to meet the appropriate timings in this mode, check the data sheet.

I have to admit that unless I am doing something quite explicitly video with a honking great FPGA, I would usually wimp out and use a display with integrated controller, they often have the same interface, but the on chip framebuffer and readout logic makes a lot of the timing pain die.

regards, Dan.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf