Bisher sind mir keine Lösungen bekannt, mit der ein TFT Display mit zum Beispiel 800x480 Pixel Auflösung und "True Color" an einen ESP32 angeschlossen werden kann.
Ja, der ESP32 kann grundsätzlich VGA Auflösung erzeugen, aber nur mit sehr wenigen Farben. Der Framepuffer muss sich ausserdem im internen SRAM befinden.
Für eine Auflösung von 800x480 Pixeln und je 6 Bit für Rot, Grün und Blau reicht das interne SRAM natürlich nicht aus.
Also wird ein externer Framepuffer benötigt.
Kleinere Displays mit bis zu 480x320 Pixeln gibt es mit internem Framepuffer.
Darüber hinaus offensichtlich nicht.
Zunächst hatte ich die Idee, das VGA Bild wie bei meiner Videkarte für die WANG mit einem FPGA zu erzeugen und dazu eines zu verwenden, welche genügend Speicher intern hat. Diese sind aber weder bezahlbar noch verfügbar.
Schritt zwei war dann die Suche nach einem externen RAM, welches sich an ein FPGA anschliessen lässt und auch mit einem FPGA im Takt mithalten kann.
Normale asynchrone SRAMs schaffen das nicht.
Es gibt aber synchrone SRAMs mit 200 MHz Takt bzw. 5ns Zykluszeit.
Zufälligerweise auch eines mit 1024K Worten zu 18 Bit.
Dieses wird an ein FPGA anschlossen und mit dem doppelten Pixeltakt getaktet. Jeder zweite Zyklus dient dem Auslesen des Framepuffers zum Display, die Zyklen dazwischen dem Schreib- und Lesezugriff der "Zeichenlogik". Die Kopplung mit dem ESP32 erfolgt über SPI bzw. QSPI.
Schaltplan und Layout sind gemacht, Platinen bestellt.