65 6502 SBC FPGA
← Übersicht
Übersicht / Komponente 04
Ein-/Ausgabe

VIA 6522 & UART 6551 $8800 · $8810

Die beiden klassischen I/O-Bausteine: ein vielseitiger Schnittstellen- adapter mit Timern und GPIO, und eine serielle Schnittstelle für Terminal und Upload.

VIA 6522 — Versatile Interface Adapter

Die VIA stellt programmierbare Timer, parallele GPIO-Ports und Interrupt-Logik bereit. Im SBC dient sie als Zeitgeber (Timer 1 löst periodische IRQs aus) und steuert Board-LEDs über Port B.

VIA-Fenster
$8800–$880F (16 B)
UART-Fenster
$8810–$8813 (4 B)
Serielle Rate
115200 8N1
IRQ
VIA · UART · VIC (ODER)

UART 6551 — serielle Schnittstelle

Die UART realisiert die vollständige Sende- und Empfangslogik mit Statusregistern und Empfangs-Interrupt. Sie ist die Hauptverbindung zum PC: über sie laufen das EhBASIC-Terminal, ROM-Uploads und Diagnoseausgaben. Auf dem Tang Primer 20K wird sie über den CH340-USB-Seriell-Wandler mit 115200 8N1 angesprochen.

Verifizierte Funktionen (GHDL): Status-Lesen, TX-Schreiben, RX-Lesen, RDRF-Clearing, Overrun-Erkennung, programmierter Reset und RX-IRQ-Verhalten.

Tastatur über die serielle Brücke

Eine Besonderheit der FPGA-Umsetzung: Eine PS/2-Tastatur wird am PMOD angeschlossen, und ihre Tastendrücke werden direkt in den seriellen Empfangspfad eingespeist. Für EhBASIC sieht das wie normale serielle Eingabe aus — es muss nicht zwischen UART und Tastatur unterscheiden. So funktioniert lokales Tippen am HDMI-Bildschirm ganz ohne separaten Tastatur-Controller.

Zusammenspiel der Interrupts

Die IRQ-Leitungen von VIA, UART und VIC werden ODER-verknüpft und gemeinsam an die CPU geführt:

cpu_irq_n = NOT (via_irq OR uart_irq OR vic_irq)

Der 6502 verzweigt dann über den Interrupt-Vektor bei $FFFE–$FFFF in den passenden Handler.