Bitbanging

Bitbanging

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.

Weblinks


Wikimedia Foundation.

Игры ⚽ Поможем написать курсовую

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Atmel AVR — AVR logo. Atmel AVR ATmega8 in 28 pin DIP . The AVR is a …   Wikipedia

  • Bit-banging — is a technique for serial communications to use software instead of dedicated hardware such as a UART or shift register. A software routine handles the UART transmit function by alternating a pin on the microcontroller by given time intervals. A… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”