Hochschule Kempten      
Fakultät Elektrotechnik      
Digitaltechnik       Fachgebiet Elektronik, Prof. Vollrath      

Digitaltechnik

14 Busse VGA

Prof. Dr.

Jörg Vollrath


13 MP3 Player und LFSR


Ein kurze Videozusammenfassung der Vorlesung



Länge: 7:25 min

Ein kurze Videozusammenfassung der Vorlesung



Länge: 8:59 min

Eine Zustandsdiagramm einer Schaltung



Länge: 6:03 min

Rückblick und Heute

Rückblick:




Heute:




Lesen: Reichardt: Kap 15

VGA Controller


Signale für ein Bild mit 2 Zeilen und 6 Pixeln

Das Bild zeigt die serielle Übertragung eines Videosignals. Die Pixel werden seriell, nacheinander Übertragen.
Es wird ein Zähler verwendet. Der Bereich des Zählers kann sehr gross werden: 1920 x 1080 ≈ 4MBit = 2 22
Der Zähler wird aufgeteilt in einen Pixelzähler (px) und einen Zeilenzähler (py).
Je nach Zählerstand wird HSYNC, VSYNC und die Pixelposition px, py ausgegeben.

Demo Videosignal mit Y VGA Weiche und Electronic Explorer

Signalmessung


Im linken Bild wird das HSYNC Signal (Blau) und das Rot Signal mehrerer Zeilen gezeigt.
Im rechten Bild kann man das gelbe VSYNC Signal erkennen. Durch die hohe Frequenz des HSYNC Signals wird es als blauer Bereich aufgelöst. Das Rotsignal bildet in einem Paket ein vollständiges Bild ab.
Wird das angezeigte Fenster verschoben, kann man das im Videosignal sehen.

Core Generator Wizard

FPGAs bieten vorbereitete Digitalschaltungen. Um eine beliebige Pixelfrequenz zu erzeugen kann man eine vorhandene Taktschaltung im FPGA benutzen.

VGA Controller

entity vga_gen is
    generic(
    -- VGA 1920x1080 sync parameters 50MHz Clock 3.5 pixels at once -> 548 x 1080 bad ok
     HD: integer := 548; -- horizontal display area 640;  800
     HF: integer := 34;  -- h. front porch          (8) 16;     40
     HB: integer := 93;  -- h. back porch           (56) 48;    88 
     HR: integer := 59;  -- h. retrace              96;    128
	 -- VD+VF+VB+VR-1 -> 1087
     VD: integer := 1080; -- vertical display area   480;   600
     VF: integer := 1;  -- v. front porch          (2) 11;    4
     VB: integer := 32;  -- v. back porch           (41) 31;    23
     VR: integer := 3   -- v. retrace               (2) 2;    1
	 );
    port(
        clk, not_reset: in std_logic;
        hsync, vsync: out std_logic;
        video_on, p_tick: out std_logic;
        pixel_x, pixel_y: out std_logic_vector (11 downto 0)
    );
end vga_gen;
Die Eingänge sind die externen clk und reset.
Mit generic wird die Auflösung des Bildes eingestellt.
Die richtige Pixelfrequenz p_tick wird erzeugt. Mit Hilfe der Zähler wird hsync und vsync generiert und im sichtbaren Bereich die Pixelposition pixe_x und pixel_y ausgegeben.
Zur Erzeugung eines Bildes wird pixel_x und pixel_y verwendet, um die Farbinformation zu bestimmen und an der Schnittstelle auszugeben.
Es kann ein Object mapping oder character ROM verwendet werden.


Beipiel code für ein NEXYS3 Board findet man unter: VGA Controller für NEXYS3 Board

Eine ausführliche Beschreibung kann man in folgendem Buch finden:

FPGA Prototyping by VHDL Examples:

Xilinx Spartan-3 Version

  • Chu, Wiley, 68.99.-Euro

Bus Definition

  • Ein Bus transportiert Leute
  • Ein elektronischer Bus transportiert Informationen:
  • Bits, Bytes, Daten, ein Datum
  • Ein oder mehrere Sender und Empfänger
  • Eine oder mehrere Leitungen
Wikipedia: Ein Bus ist ein System zur Datenübertragung zwischen mehreren Teilnehmern über einen gemeinsamen Übertragungsweg, bei dem die Teilnehmer nicht an der Datenübertragung zwischen anderen Teilnehmern beteiligt sind.

Serielle Übertragungsprotokolle

Diskussion serielle Schnittstelle

  • Geschwindigkeit
  • 10GBit Ethernet, 100GBit Ethernet
  • HDMI: 1920x1080x60x24/s =~ 3Gbit/s
  • Anzahl der Leitungen
  • Kanäle
  • Datenauge
  • Länge der Leitung
  • Protokoll
  • Topologie: Stern, Ring

  • OSI Schichtenmodell

    Open Systems Interconnection Reference Model
    OSI SchichtEinordnung ProtokollbeispielEinheit Kopplung
    7 Anwendung (Application) Anwendungsorientiert HTTP
    FTP
    SMTP
    Daten Gateway, Content-switch
    6Darstellung (Präsentation)
    5Sitzung (Session)
    4Transport (Transport) Transportorientiert TCP, UDP Router
    3Vermittlung (Network) IP
    2Sicherung (Data Link) Ethernet, Token Ring Rahmen, FramesBridge, Switch
    1Bitübertragung (Physical) BitsRepeater, Hub
    Quelle: Wikipedia?

    Asynchrone serielle Übertragung

    Schicht 1: UART

    Universal, asynchronous receiver and transmitter
    Beispiel Übertragung des Zeichens "G"
    Zustand, logische Information, Bit,Pegel

    Baud Raten und Parity

    Baud Raten


    Symbolrate
    Bitrate (bit/s); Bitdauer

    Parity


    Fehlererkennung
    Anzahl der '1'er
    Even Parity (XOR) and odd NOT(XOR) parity

    Eigenschaften

    • Signal
      • Spannung oder Strom
      • Differentiell, absolut
      • Physical Layer
    • Synchronisation
      • CLK eigene Leitung
      • CLK in den Daten
    • Frequenz
    • Datenlänge
    • Start und Stop
    • Fehlerkorrektur
    • Status der Datenstationen

    • RS232: 9 Leitungen
    • TX, RX: transmit receive
    • RTS, CTS, DSR
    • DCD, DTR, DI
    • Masse, GND, 0V

    Messung einer Datenübertragung

    Fragen und Diskussion

    • Warum gibt es einen Core Generator Wizard im Webpack?
    • Wie funktioniert ein VGA controller?
    • Wozu benötigt man Busse?
    • Nennen Sie typische Eigenschaften von Bussen.

    15 Mikroprozessor
    VGA, HSYNC, VSYNC, Bus, RS232, I2C, CAN, SATA, SPI, USB, Ethernet, HDMI, DVI, Datenauge, OSI Schichtenmodell, UART, Parity, Baud Rate