Unter Bit-Banging versteht man eine Technik, die eine Hardware-Schnittstelle mittels Software und I/O-Leitungen emuliert, die gewöhnlich mit einem spezifischen Peripherie-Baustein realisiert wird. Auf dem PC können sowohl der Seriell-Port als auch der Parallel-Port genutzt werden. Bei Mikrocontrollern nutzt man die I/O-Pins.
Für den Einsatz der Bit-Banging-Technik sprechen verschiedene Gründe. Die Schnittstelle ist nicht in Hardware vorhanden, denn kein Standard-PC verfügt über eine SPI. Bei Mikrocontrollern ist eine Ressource oft bereits belegt. Besonders häufig dient Bit-Banging der Kosteneinsparung durch ersetzen der teuren Peripheriebausteine.
Eine Vielzahl von Schnittstellen können durch Bit-Banging emuliert werden. Hier einige Beispiele:
Entsprechend der Komplexität des Schnittstellen-Protokolls kommen unterschiedliche Methoden zum Einsatz. Die einfachste Art ist das Polling. Der Prozessor fragt so oft er kann Änderungen an den I/O-Leitungen ab. Ist ein bestimmtes Zeitverhalten einzuhalten, benutzt man Warteschleifen oder Timer-Funktionen. Die Nutzung der Interrupt-Leitungen reduziert weiter die Prozessorauslastung. Speziell zur Erzeugung eines PWM-Signals dienen häufig die direkten Timer-Ausgänge. Trickreich ist die Aufwertung einer einfacheren Schnittstelle zu einem komplexen Protokoll.
Nachteile des Bit-Bangings sind die hohe Prozessorauslastung, der erhöhte Softwareaufwand und meist starkes Jitter beim Timing.
Text und Bilder der Lexikonartikel stammen aus der freien Enzyklopädie Wikipedia und stehen unter der GNU Free Documentation License.