# Bus (elektronica)

Een bus in de elektronica is een gemeenschappelijk transportmedium voor elektronische signalen.
Dit medium heeft als doel het aantal verbindingen tussen diverse schakelingen te verminderen. In beginsel is een bus uitbreidbaar met extra soortgelijke schakelingen. Veel bussen voldoen aan een standaard.
In de computertechniek vormt de bus een standaardmethode om verschillende onderdelen met elkaar te verbinden. Dit kan binnenin een geïntegreerde schakeling, op een printplaat, tussen printplaten of tussen systemen zijn.

## Werking

Een eenvoudig voorbeeld van een bus is het elektriciteitsnet. Alle huizen zijn parallel op het net aangesloten. Nu is dit een heel gebrekkig voorbeeld, want er wordt langs het elektriciteitsnet vrijwel geen informatie uitgewisseld en iedereen ontvangt tegelijkertijd en ononderbroken elektriciteit. Het net wordt echter wel als bus gebruikt voor elektronische signalen zoals het uitlezen van slimme meters.
Het klassieke telefoonnet is geen bus, want elk huis heeft een eigen verbinding met de telefooncentrale.
Als een aangesloten apparaat via een bus met een ander apparaat wil communiceren, dan kan dat alleen als de bus vrij is. Het apparaat zet vervolgens het adres van het andere apparaat op de bus, zodat duidelijk is voor welk apparaat het bericht bestemd is.

### Microprocessor

Een microprocessor communiceert met het geheugen via de bus. Deze bus bestaat uit een adresbus, een databus en een besturingsbus of control bus. Bij de oudere microprocessors (bijvoorbeeld de 8080) heeft de adresbus meestal zestien lijnen en de databus acht. Bij moderne chips zijn dat er veel meer.
De processor zet het adres van een geheugenelement op de adresbus, zet de databus in tri-state en geeft vervolgens via de besturingsbus aan dat de bus actief is en dat er gegevens uit het geheugen gelezen moeten worden. Alle aangesloten apparaten en geheugenelementen lezen de bus uit, maar alleen het geheugenelement dat zijn eigen adres herkent zal reageren. Dit geheugenelement zet de gewenste gegevens op de databus, waarna ze door de microprocessor worden ingelezen.
Wil de processor gegevens in het geheugen schrijven, dan zet hij het adres op de adresbus en de gegevens op de databus. Daarna geeft hij via de besturingsbus aan dat er gegevens geschreven moeten worden. Het geheugenelement dat zijn eigen adres op de adresbus herkent, zal daarop reageren door de gegevens van de databus op te slaan.
In bovenstaande gevallen heeft de processor het alleenrecht op de adresbus, zoals ook blijkt uit de pijlen in onderstaande afbeelding. Dat hoeft echter niet altijd zo te zijn. Heeft een ander apparaat de bus nodig (DMA), dan zal het dat via een lijn van de besturingsbus melden, waarna de microprocessor de bus vrijgeeft (tri-state) en via een andere lijn van de besturingsbus meldt dat de bus beschikbaar is.

## Typen

Bussen kunnen op diverse manieren worden ingedeeld:
* Analoog of digitaal
* Parallel of serieel
* Naar de aard van de signalen:
** databus
** adresbus
** besturingsbus

## Standaardbussen

Er bestaan vele standaardbussen voor allerlei doeleinden. Voorbeelden zijn:
* Ethernet (met coax, niet met getwist paar)
* I²C-bus
* IEEE-488 (Institute of Electrical and Electronics Engineers (IEEE), ook wel GB-IB of HP-IB)
* Industry Standard Architecture (ISA)
* On-board diagnostics (OBD) in voertuigen
* Peripheral Component Interconnect (PCI)
* SCSI
* Veldbussen, zoals Controller Area Network (CAN) of Profibus.
* DCC voor het bedienen van modelspoor. Veel voertuigen staan op hetzelfde spoor en kunnen dankzij DCC apart bediend worden.

## Geen bus

* Universal Serial Bus (USB) is ondanks de naam geen bus, omdat er zonder hub alleen punt-naar-punt verbindingen mogelijk zijn.