Dieses Schulungsvideo bietet eine detaillierte technische Analyse der GPIO-Peripheriegeräte (General Purpose Input/Output) des Mikrocontrollers CH32H417 von WCH. Die Architektur umfasst sechs Port-Gruppen (PA bis PF) mit insgesamt 195 Pins, die über die HB2-Busschnittstelle (AHB2) angesteuert werden und unterschiedliche Versorgungsspannungen (1,2 V, 1,8 V, 2,5 V und 3,3 V) unterstützen. Es wird die interne Hardwarestruktur erläutert, einschließlich der Schutzdioden (Überspannungsschutz gegen VDD/VSS), konfigurierbarer Pull-Up/Pull-Down-Widerstände, Schmitt-Trigger, interner ADC-Pfade sowie der Push-Pull- und Open-Drain-Ausgangsstufen mit PMOS- und NMOS-FETs.
Darüber hinaus werden die acht konfigurierbaren Betriebsarten (vier Eingangs- und vier Ausgangsmodi), die 32-Bit-Registerstruktur (u. a. CFGLR, CFGHR, INDR, OUTDR, BSHR, BCR) sowie die herstellereigenen C-Bibliotheksfunktionen (GPIO_Init, GPIO_ReadInputDataBit, GPIO_SetBits, GPIO_ResetBits, GPIO_PinRemapConfig) detailliert beschrieben. Ein praktisches Implementierungsbeispiel demonstriert die Taktaktivierung, Pin-Initialisierung und das Takten eines LED-Signals über Pin PB1 in einer 250-ms-Schleife.
Wichtigste Punkte & Zeitstempel
0:04 Grundlagen und Portübersicht: Der CH32H417 integriert sechs GPIO-Gruppen (PA bis PF) mit 195 Pins, die über Versorgungsspannungen von 1,2 V, 1,8 V, 2,5 V und 3,3 V betrieben werden.
3:53 Bus-Anbindung und Treiber-Architektur: Alle GPIO-Module sind an den HB2-Bus angebunden; eingebaute Treiber verstärken die Signalstromfestigkeit für externe Lasten.
5:47 Interne Hardware-Schutz- und Eingangsschaltung: Die interne Struktur nutzt obere (VDD 3,3 V) und untere (VSS 0 V) Schutzdioden zur Spannungsbegrenzung sowie Schmitt-Trigger zur Signalformung digitaler Eingänge.
8:04 Analog- und Multiplex-Eingangspfade: Analoge Signale werden vor dem Schmitt-Trigger direkt an den internen ADC geleitet, während digitale Peripherie-Eingänge (z. B. UART RX) nach dem Schmitt-Trigger abgreifen.
10:06 Ausgangskonfigurationen (Push-Pull vs. Open-Drain): Im Push-Pull-Modus schalten PMOS und NMOS aktiv zwischen VDD und VSS um; Open-Drain schaltet nur den NMOS gegen VSS und erfordert externe Pull-Up-Widerstände für High-Pegel (z. B. I2C-Bus).
13:45 Register-Architektur: Jede Port-Gruppe verwendet acht 32-Bit-Register (u. a. CFGLR/CFGHR für Pin-Konfiguration, INDR für Eingangsdaten, OUTDR für Ausgangsdaten, BSHR für Bit-Set/Reset) und erfordert 32-Bit-Wortzugriffe.
18:30 C-Bibliotheksfunktionen: Erläuterung der Peripherie-Treiber-API wie GPIO_Init() mit der Struktur GPIO_InitTypeDef, GPIO_ReadInputDataBit(), GPIO_SetBits(), GPIO_ResetBits() und GPIO_PinRemapConfig().
22:02 Praxisbeispiel und LED-Ansteuerung: Demonstration der Takteinspeisung auf Port B, Initialisierung von Pin PB1 als Push-Pull-Ausgang und Schleifenausführung zur LED-Taktung im 250-ms-Intervall.
Glossar
GPIO (General Purpose Input/Output): Universeller digitaler Ein-/Ausgangskanal eines Mikrocontrollers zur Ansteuerung externer Komponenten oder zum Einlesen digitaler Signale.
HB2-Bus (Advanced High-performance Bus / AHB2): Ein hochgeschwindigkeits-internes Bussystem des Mikrocontrollers, das den Prozessorcore mit schnellen Peripheriemodulen wie den GPIOs verbindet.
Push-Pull-Ausgang: Eine Ausgangsschaltung mit zwei komplementären Transistoren (PMOS und NMOS), die ein Signal aktiv sowohl auf die Versorgungsspannung (High) ziehen als auch auf Masse (Low) schalten kann.
Open-Drain-Ausgang: Eine Ausgangsschaltung, bei der nur ein Transistor gegen Masse schaltet. Für ein High-Signal ist ein externer Pull-Up-Widerstand erforderlich; dies ermöglicht das Zusammenschalten mehrerer Gerätelinien (z. B. bei I2C).
Schmitt-Trigger: Eine elektronische Komparatorschaltung mit Hysterese, die verrauschte oder schwankende Eingangssignale in saubere, steilflankige digitale Rechtecksignale umwandelt.
ADC (Analog-to-Digital Converter / Analog-Digital-Umsetzer): Eine Peripherieeinheit, die stufenlose analoge Spannungssignale in digitale Zahlenwerte zur Verarbeitung im Prozessor umwandelt.
MOSFET (PMOS / NMOS): Metal-Oxide-Semiconductor Field-Effect Transistor; elektronische Schalter, die je nach Typ (P-Kanal oder N-Kanal) durch Anlegen einer Steuerspannung den Stromfluss aktivieren oder sperren.
CFGLR / CFGHR (Configuration Register Low / High): Steuerregister zur Konfiguration der Betriebsart (Input/Output, Push-Pull, Open-Drain etc.) und der Ausgangsgeschwindigkeit für die Pins 0–7 (Low) bzw. 8–15 (High) einer GPIO-Gruppe.
INDR / OUTDR (Input / Output Data Register): Speicherelemente (Register), aus denen die aktuellen Logikpegel der Pins eingelesen (INDR) oder über die Ausgangspegel gesetzt werden (OUTDR).
BSHR (Bit Set/Reset Register): Ein spezialisiertes Register zum atomaren (unterbrechungsfreien) Setzen oder Zurücksetzen einzelner GPIO-Pins, ohne den Zustand anderer Pins des Ports zu beeinflussen.
SWD (Serial Wire Debug): Eine Schnittstelle mit wenigen Leitungen zur Programmierung und zum Debuggen des Mikrocontrollers.