Forum: Mikrocontroller und Digitale Elektronik ESP32 - VGA Ausgangbeschaltung für schön Bunt


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Manuel L. (thewhiteshadow)


Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe mir zwei ESP32 gekauft, weil er einfach so viel für so wenig 
Geld kann. Mein Ziel ist eine art Mini-Computer zu bauen.

Ich möchte einen davon als Grafik-Einheit für einen VGA-Monitor 
verwenden.
Mir macht hierbei allerdings noch die VGA-Beschaltung probleme um 
möglichst viele Farben nutzen zu können. Leider beschränken sich alle 
Anleitungen darauf mit einer oder maximal 3 Farben etwas anzuzeigen. Ich 
denke aber da geht mehr.

Wenn ich das richtig verstanden habe, habe ich insgesamt 11 I/Os von den 
ich 2 für eine Kommunikation mit meiner CPU (zweites Board) benötige 
(Wenn ich überhaupt noch eins brauche bei 2 Kernen). Bleiben also noch 9 
Pins, davon sind 2 für V/H-Sync.
Somit letztendlich 7 für die RGB-Signale. Bzw. 2 pro Kanal und einen 
reserve.

Meine erste Idee: Ein einfacher Spannungsteiler mit je 2 Ausgängen pro 
Komponente für 3 Werte pro Kanal. (Theoretisch 27 Farben)
Beschaltung wäre entweder nix, A oder B.

Theoretisch könnte ich die 2 Ausgänge aber auch als binär-code 
interpretieren und würde so auf 4 Werte pro Kanal. (Theoretisch 64 
Farben)
Beschaltung wäre entweder nix, A, B oder AB. Hierfür fehlt mir aber das 
Wissen zur Umsetzung.
Wenn ich das richtig verstanden habe, benötige ich einen DAC 
Multiplexer. Sowas wie der TLC7528. Der hat 2x4bit, braucht aber noch 
einen OPV dahinter.

Gibt es dafür evtl. eine passendere Alternative?
Ist die Vorgehensweise zu empfehlen? Und geht meine Rechnung überhaut 
auf?
Kann mir jemand bei der Impelmentierung der zweiten Variante helfen. 64 
Farben wären echt nice.

von Michael U. (amiga)


Bewertung
0 lesenswert
nicht lesenswert
Hallo,

vorweg: ich habe da noch nichts praktisch gemacht, nur etwas 
recherchiert, weil ich RGB in 15625/50Hz gebrauchen könnte.
Mal als Ansatz: 3x PWM mit Tiefpass dahinter für R/G/B.
Ich kopiere mal den Auszug hier rein:

The maximum PWM frequency with the currently used ledc duty resolution 
of 10 bits in PWM module is 78.125KHz.

The duty resolution can be lowered down to 1 bit in which case the 
maximum frequency is 40 MHz, but only the duty of 50% is available.
For duty resolution of 8 buts, the maximal frequency is 312.5 kHz.

    The available duty levels are (2^bit_num)-1, where bit_num can be 
1-15.
    The maximal frequency is 80000000 / 2^bit_num
aus
https://forum.micropython.org/viewtopic.php?t=3717

DAC hat er ja nur 2, da fehlte dann eine Farbe. Die Kombi DAC und I2S 
ist auch beachtlich schnell, immerhin bastlt er z.B. ein komplettes PAL 
oder NTSC-FBAS zusammen und gibt es per DAC aus. Incl. Sync, Burst usw.
Das funktioniert verblüffend gut.
http://bitluni.net/esp32-color-pal/

Ist bisher bei mir aber eben alles noch sehr theoretische Betrachtung.
Also erstmal klären: gewünschte Auflösung, gewünschte Anzahl Werte pro 
Farbe, gewünschte H/V Frequenz und dann den Taschenrechner und die 
Espressif-Interna und das deren Forum durchkramen...

Gruß aus Berlin
Michael

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.