Inhalt des Dokuments
zur Navigation
Videosignalgenerator mit USB-Schnittstelle
Dieser Videosignalgenerator mit USB-Schnittstelle wurde im Sommersemester 2005 als Bestanteil des Projekts "Monitor" realisiert.
Das Gesamtprojekt.
- Monitorboard aus WS 2004/5 mit Video-Normsignaleingang.
- Das USB-Interface erhält ASCII-Zeichen über die USB-Schnittstelle und gibt ein Videosignal an den Monitor aus, mit dem dann die übertragenen ASCII-Zeichen dargestelt werden.
Das Blockschaltbild des Gesamtprojekts:
Hier finden Sie das vollständige Schaltbild zum Download (PDF, 82,4 KB)
Der Aufbau des Gesamtprojekts:
Der Funktionsumfang.
- Darstellung von Buchstaben und Zeichen (ASCII)
- Übertragung der darzustellenden Zeichen mittels USB
- Scrollfunktion und Löschen des Bildschirms.
- Blinkender Cursor.
Das grobe Blockschaltbild:
Die Funktionsaufteilung.
- Microcontroller: Komplexe SEQUENTIELLE, aber nicht zeitkritische Vorgänge.
- Programmierbarer Logikbaustein: PARALLELE, zeitkritische Vorgänge.
- Spezialbausteine: Festgelegte Funktionen wie USB-Interface und Speicher.
Die Realisierung.
- Doppelseitig SMD-bestückte Multilayer-Leiterplatte (4 Lagen)
Die Ansicht:
Dieses Bild in höherer Auflösung (JPG, 323,2 KB)
Das Blockschaltbild:
- Standard-Videosignal mit binären Helligkeitswerten.
- Eingabe der Zeichen mit Hyperterminal-Programm.
- Auslesen der empfangenen Zeichen aus dem USB-FIFO durch Microcontroller.
- Position des Zeichens im Adressraum des Textspeichers = Position des Zeichens auf dem Bildschirm.
- Verwaltung des Textspeichers ( Scrollen, Löschen, Cursor) durch Microcontroller.
- Erzeugung des Videotimings. (Synchronimpulse, interne Adressierung)
- Adressierung des Textspeichers nach momentaner Position des Elektronenstrahls.
- Adressierung des Zeichensatz-ROMs nach momentaner Position des Elektronenstrahls und darzustellendem Zeichen.
- Inhalt des Textspeichers ist Teil der Adresse des Zeichensatz-ROMs.
- Ausgang des Zeichensatz-ROMs (1Bit) steuert die Helligkeit des Elektronenstrahls.
- D/A-Wandler zur Erzeugung des Videosignals.
- Aufteilung des Textspeichers in zwei Speicherbänke.
- Während eine Speicherbank vom uC beschrieben wird, wird die andere vom Videosignalgenerator ausgelesen.
- Funktionswechsel zu jedem Vollbild.
- Damit Schreibvorgang durch uC zeitlich unkritisch.
Die USB-Anbindung.
- USB-FIFO FTD 245.
- Verwaltung des USB-Protokolls durch FTD245, Nutzdaten finden sich in dessen FIFO-Speicherbereich.
- Einfache Integration des Bausteins in Hard- und Software.
Die USB-Anbindung auf der Leiterplatte:
- Von FTDI erhältlicher Treiber stellt virtuellen COM-Port im PC bereit.
- Eingabe der darzustellenden Zeichen mit Terminal-Emulationsprogramm "Hyperterminal".
- Vollduplexbetrieb, empfangene Zeichen werden an den PC zurückgesendet.
- Festlegung auf ANSI-Emulation ( ESC-Sequenzen)
Vergleich der Darstellung von Laptop- und Monitorbildschirm:
Die Microcontroller-Hardware.
- Microcontroller-Baustein ATMEGA128.
- Die Möglichkeiten des Bausteins werden nur zu einem Bruchteil genutzt, Zahl der I/O-Pins war entscheidend für Auswahl.
Der Microcontroller und die USB-Anbindung:
Der Textspeicher.
- Synchrones Dual-Port-RAM IDT 70V9269 als Textspeicher.
- Aufteilung in zwei Speicherbänke eliminiert zeitlichen "Flaschenhals"
- Synchronisation von uC und Videotiming durch Interrupt am Ende jedes Vollbilds.
USB-Anbindung, Microcontroller und Textspeicher:
Die Microcontroller-Firmware.
Die Vorgehensweise.
- Programmierung in Hochsprache C.
- Vorteil von C: Mehr Übersichtlichkeit und Nachvollziebarkeit als Assembler, daher weniger Fehlerträchtigkeit.
- Vorteil von Assembler: schnellerer Programmablauf.
- Lösung: Reduzierung der Anforderungen an die Programmlaufzeit durch Teilung des Textspeichers in zwei Speicherbereiche.
Die Hauptschleife.
- pollt den USB-Baustein
- baut die Bildschirmmatrix auf
- verarbeitet Sonderzeichen
Die Interruptroutine.
- überträgt Bildschirmmatrix in Textspeicher
- Cursor und Formatierung
Das Ablaufdiagramm:
Der Videosignalgenerator.
Der Baustein EP1K100.
- SRAM-basierter programmierbarer Logikbaustein mit 100 kGates.
- 208-poliges TQFP-Gehäuse mit 0,5mm Pinabstand.
- Download der Innenschaltung vom PC aus für Entwicklungsstadium.
- Nichtflüchtige Speicherung in Konfigurations-PROM für Dauereinsatz.
Der Baustein EP1K100 und der Textspeicher:
Die Vorgehensweise.
- Codierung der Teilfunktionen in VHDL.
- Vorteil: Gute Erfassbarkeit komplexer sequentieller Abläufe.
- Top-Level wurde zeichnerisch dargestellt.
- Vorteil: Gute Erfassbarkeit paralleler Strukturen.
- Erstellung der VHDL-Quelldateien mit ISE.
- Simulation der Teilschaltungen mit MODEL-SIM.
- Erstellung des Top-Levels mit QUARTUS II von ALTERA.
- Synthese und Compilation mit QUARTUS II.
Darstellung des Top-Levels mit QUARTUS:
Dieses Bild in höherer Auflösung (JPG, 207,5 KB)
Zustandsmaschine als Beispiel für Vorgehensweise.
- Entwurf erfolgt auf der abstrakten Ebene der Funktionsbeschreibung.
- Kein Bezug zur Gatterebene mehr notwendig.
- Vergleichbar mit C gegenüber Assembler.
Die Zustandsmaschine des Video-Signalgenerators:
Der D/A-Umsetzer und der Ausgangsverstärker.
- Dreiwertiges Videosignal.
- Weiß / Schwarz / Sync.
- Ausgangsverstärker.
- Abschlusswiderstand 75 Ohm.
Das Schaltbild:
















