Fast SPI LCD - Page 1
Forum section: electronics / general

author: blueskull
author_rank: Unknown
timestamp: October 15, 2019, 07:13:26 pm
content: Is there an SPI LCD/OLED with at least 320*240 pixels that can run at 30+ fps without overclocking?320*240*16bpp*30fps=36.864MHz.ILI9341 is rated 10MHz, ILI9342 is 16MHz, while SSD2119 is 15MHz (self contradicting datasheet -- min cycle is 77ns, max clock is 15MHz).I know people have been driving ILI9341 to 32MHz, but that's not guaranteed.Are there any SPI drivers that are guaranteed to work at up to 40MHz?Lower resolution is okay, but it must be OLED. 160*160 or 128*128 is fine.But even for SSD1351, 128*128*16bpp*24=6.291456MHz, while the maximum clock is 4.545MHz (220ns), so even that won't work.Any recommendations?

author: Jeroen3
author_rank: Super Contributor
timestamp: October 15, 2019, 07:17:51 pm
content: Yes, with smart software.Quote from:https://github.com/juj/fbcp-ili9341

author: Jeroen3
author_rank: Super Contributor
timestamp: October 15, 2019, 07:46:49 pm
content: I think you can safely overclock them as long as you do not expect the LCD to return any data.

author: SiliconWizard
author_rank: Super Contributor
timestamp: October 15, 2019, 08:03:46 pm
content: You don't want to hear that, but: use the 8-bit mode.

author: PCB.Wiz
author_rank: Super Contributor
timestamp: October 15, 2019, 10:46:03 pm
content: Quote from: blueskull on October 15, 2019, 07:13:26 pmSearch eBay for3.2 inch 320x240 Resistive Touch LCD Screen 125MHz High-Speed SPI Raspberry PiThat uses a CPLD for the SPI, and then does parallel into the LCD controller. so it gets a high data rate, without overclocking.Of course, you just need a host that manages 125MHz SPI (or your 36.86MHz)

author: thm_w
author_rank: Super Contributor
timestamp: October 16, 2019, 12:34:05 am
content: What screen size are we talking? Cost goal?As PCB.Wiz/siliconwizard says, what limitation is causing the lack of pins?If we are talking about low cost, you don't want to buy the LCD as a module and then at that point you can choose access to serial or parallel connections on the FPC (8-bit for example).ST7789 should be capable of 60 or 70Hz. This seller has some absolutely amazing products but I'm not sure if it fits your use case as the screens are tiny:https://item.taobao.com/item.htm?id=601556545627

author: jhpadjustable
author_rank: Frequent Contributor
timestamp: October 16, 2019, 04:26:02 am
content: Quote from: blueskull on October 16, 2019, 01:34:16 amNo need for a separate latch clock, just use !CS. The 595s will just keep clocking bits and the outputs will hold their value until the rising edge of !CS/RCLK. Hobbyists love the 595 because it can be driven by a standard mode 0 SPI write transaction, containing one byte for each chained 595, with the usual !CS logic. AHC595 might be just fast enough.I do like that CPLD idea though.

author: Jan Audio
author_rank: Frequent Contributor
timestamp: October 16, 2019, 08:52:55 am
content: Quote from: SiliconWizard on October 15, 2019, 08:03:46 pmIs 8 bit mode as fast as the 16 bit or more modes ?Quote from: PCB.Wiz on October 15, 2019, 10:46:03 pmNice one, only no SD card.

author: SiliconWizard
author_rank: Super Contributor
timestamp: October 16, 2019, 02:28:26 pm
content: Quote from: blueskull on October 16, 2019, 01:34:16 amI was suspecting that. Unfortunately, I've never run into any LCD controller that was able to do faster than 15-20MHz in SPI mode. When I've needed fast update rates on larger resolutions, I would usually go for one of the parallel modes.One approach (admittedly more work) would be to design a very small adapter board (as suggested above I think), with some very small FPGA/CPLD, giving an SPI input that could run at > 50MHz and driving the LCD controller in parallel mode. That would require an additional board, but would not be that complicated nor expensive, and could be reused in a number of applications. You could even implement some higher-level commands in this adapter board to further enhance performance/make it easier to work with.Quote from: PCB.Wiz on October 15, 2019, 10:46:03 pmI've seen that, it's also distributed by Waveshare (which I believe is the author of this?) Unfortunately, there doesn't seem to be any clear documentation on the protocol. A linux driver for the RPi is provided, but I haven't even found any source code (seems to be all binary? to be checked though). So doesn't really look like a solution for anything other than using it on RPIs/Linux. (Of course if you can find a clear doc, don't hesitate to post it. That would make it a solution here.)Thus the idea of designing that yourself. Not a huge work either, and it could even be part of the teaching.

author: jhpadjustable
author_rank: Frequent Contributor
timestamp: October 16, 2019, 02:39:34 pm
content: Quote from: SiliconWizard on October 16, 2019, 02:28:26 pmThis. The ability to run Intel or Motorola bus cycles on serial command, with a tiny address bus, would serve the majority of graphic LCD controllers available and not be too hard to do.

author: PCB.Wiz
author_rank: Super Contributor
timestamp: October 16, 2019, 06:51:02 pm
content: Quote from: SiliconWizard on October 16, 2019, 02:28:26 pmI've not seen code, but I think the same company previously did a 3 x HC595 version, which did have circuits floating about, so the driver may be unchanged from that ?I'd guess that loads the last 24 bits shifted in, into the LCD ?

author: langwadt
author_rank: Super Contributor
timestamp: October 16, 2019, 07:24:24 pm
content: Quote from: SiliconWizard on October 16, 2019, 02:28:26 pmI've done that, LCD controller in parallel mode, 595 serial to parallel shift registers, /WR on the lcd controller done with a pulse on serial clock while /LE is highfor 16bit I did dual data rate with a one 595 on rising edge and one 595 on falling of SCLK

author: jackthomson41
author_rank: Regular Contributor
timestamp: October 19, 2019, 02:18:30 pm
content: Just a suggestion: The TPIC device does the74HC595thing and offers more current capability, but its outputs are open drain. Check this one out TPIC6B595Control Systems.