Bit-banging
Bit-banging er en teknik der kan anvendes i indlejrede systemer. Bit-banging er f.eks. at implementere seriel kommunikation i software, uden anvendelse af dedikeret hardware, som f.eks. en UART eller et skifteregister. En softwarerutine emulerer UART sendefunktionen ved at ændre det binære signal på et af mikrocontrollerens ben til bestemte tidspunkter. En modtagerfunktion implementeres ved at sample et af mikrocontrollerens ben til bestemte tidspunkter.
F.eks. kan et videosignal genereres på et ben, ved at anvende nogle få komponenter.
Det at anvende bit-banging bliver ofte opfattet som noget af et hack, men det er mere fleksibelt at anvende mikrocontrolleren til at kunne tale flere forskellige protokoller, med intet eller et minimum af ekstra hardware.
Der kan dog være nogle ulemper ved anvendelse af bit-banging. Normalt anvender en software emulations proces mere effekt end dedikeret hardware. Et andet muligt problem er at mikrocontrolleren er optaget det meste af tiden med at sample eller sende et sample til et ben, i stedet for at gøre noget andet nyttigt. Endnu et andet potentielt problem er, at det producerede signal, normalt har mere jitter eller glitches, hvis eller når mikrocontrollerens software gør noget andet. Hvis bit-banging softwaren er hardware interrupt drevent af signalet, kan det være et ikke-betydende problem.
Eksterne henvisninger
- Quinapalus Home :: Things Technical :: PICs in Space Citat: "...This page describes how to build a ’Space Invaders‘-type game with a total component cost of just a couple of pounds...Full colour...Uses standard retro Atari-style joystick...The design is based around a Microchip PIC16F628A..."
- VCR Pong — eksempel på bit-banging genereret NTSC video.
- obdev.at: V-USB – A Firmware-Only USB Driver for Atmel AVR Microcontrollers Citat: "...build USB hardware with almost any AVR microcontroller, not requiring any additional chip...V-USB can be licensed freely under the GNU General Public License or alternatively under a commercial license..."