Bus (datakommunikation)

(Omdirigeret fra Single-ended computerbus)
For alternative betydninger, se Bus (flertydig). (Se også artikler, som begynder med Bus)

Indenfor computerteknologi er en bus, datakommunikationsbus eller computerbus en dataforbindelse, som overfører data mellem computerkomponenter (f.eks. hukommelsesord, dataport) indeni en computer eller mellem dataværter (f.eks. computere, modemmer og dataterminaler).

En computers interne traditionelle parallelle datakommunikationsbus med fysiske signallinjer til data-, styre-/kontrol- og adressesignaler. Bemærk at en computer godt kan have flere interne datakommunikationsbusser.
Et eksempel på en bus-terminator til en ekstern SCSI-bus ene ende, med et 50-polet Centronics-stik grænseflade.
I²C er en bus designet af Philips. Den blev før i tiden primært anvendt internt i video-udstyr og audio-udstyr. Senere blev den udbredt til også at sende data mellem f.eks. radioforsats og forforstærker. I dag bruges den også mellem mikrocontroller og tilkoblet dataudstyr.

I modsætning til en punkt-til-punkt dataforbindelse, kan en bus logisk forbinde flere dataenheder via de samme ledninger. Hver busstandard definerer dets grænseflader (fysiske dataforbindelser + de elektriske signalers form + dataprotokol) med henblik på den fysiske sammenkobling af datakort og datakabler.

Oprindelig var en bus de interne signalforbindelser som forbandt digitale hukommelser, visse datachip med CPUen. Der var separate adresselinjer, datalinjer og styrelinjer. En styrelinje er f.eks. read/write-signalet og kan også være chip-select/enable-linjer. I dag kan adressesignaler og styresignaler være indlejret i datarammer som f.eks. afsenderadresse, modtageradresse og evt. styresignaldata(f.eks. bitflag) – sammen med de normale data.

En bus omfatter disse fysiske eller logiske signaler – de logiske signaler er indlejrede i datarammer:

  • Styresignaler (styrebus-funktion) – eller indlejrede styresignaldata eller bitflag (f.eks. clear to send (CTS)...). Et taktgiversignal (clock, synkroniseringssignal) kan være en del af bussens fysiske styresignaler.
  • Adressesignaler (adressebus-funktion) – eller indlejrede modtageradresse eller afsenderadresse (f.eks. ethernetadresse)
  • Datasignaler (databus-funktion) – det som skal sendes; payload

En seriel bus har netop ét datakredsløb til at sende data via – og kan have et separat datakredsløb til at modtage data via. (Men et datakredsløb kan faktisk godt anvendes til at sende og modtage via – og det både som halv-dupleks og fuld-dupleks)

En parallel bus har mindst to datakredsløb til at sende data via – og kan have to eller flere separate datakredsløb til at modtage data via.

I princippet er ældre PCeres RS-232 (serielport) og parallelport (f.eks. IEEE 1284) ikke busser, da de hverken har adressesignaler eller indlejrede adresser. Men anvendes der lag-2 dataprotokoller, som har indlejret adresser, bliver RS-232- og parallelport-forbindelsen anvendt som om det var en bus. RS-232- og parallel-porte er oprindeligt blot beregnet til punkt-til-punkt dataforbindelser.

Busterminering

redigér

Før i tiden havde en bus to ender og hver datakredsløbende skal sædvanligvis belastes af ohmsk modstand (kaldes på engelsk en terminator-modstand). Grunden er, at en datakredsløbs to ledere faktisk skal opfattes som en transmissionslinje, grundet de høje formidlede signalfrekvenser. Hvis de to ender ikke belastes korrekt, bliver de højere frekvenser reflekteret ved enderne og bliver en del af det oprindelige signal, hvilket derfor bliver ødelagt og dermed ulæseligt for datamodtager(ne).

En del busser behøver ikke "korrekte" terminator- modstande, enten pga. korte afstande – eller pga. lave overførselshastigheder.

Multi-drop, punkt-til-punkt

redigér

Hvis der mellem de to busender kan tilsluttes dataudstyr udover dataudstyret ved enderne, kaldes bussen for en multi-drop bus. En computers interne bus er et eksempel på en multi-drop bus og RS-485 er det også.

Er bussen ikke beregnet til multi-drop, kaldes den for en punkt-til-punkt bus eller punkt-til-punkt dataforbindelse.

Forgrenede busser (og datanet)

redigér

Nyere busser (f.eks. USB) har ikke traditionel multi-drop, men kan derimod forgrenes, da en USB-hub kan forbinde til flere USB-hubs og USB-dataenheder.

Datanet (f.eks. ethernet) henregnes ikke som en bus, men forskellen mellem busser og datanet er mere en begrebsmæssig forskel end en praktisk.

Datanet kan under særlige omstændigheder have en eller flere dataløkker. Dette forudsætter at f.eks. switche understøtter og har aktiveret en spanning-tree-dataprotokol. Spanning-tree vil via kommunikation gennem dataforbindelser finde løkker og vil så beregne et "optimalt" datatræ baseret på dataforbindelsernes portes spanning-tree-vægte.

Internettet kan i princippet opfattes som en stor bus med enorme mængder løkker. Der behøves ikke spanning-tree, da routerne normalt kun sender lag-3-datapakkerne én vej.


Eksempler på busser til primært internt brug

redigér

Parallelle

redigér

Serielle

redigér

Eksempler på busser til primært eksternt brug

redigér

Parallelle

redigér
  • Advanced Technology Attachment eller ATA (også kendt som IDE, EIDE, ATAPI, osv.) disk/tape peripheral attachment bus
  • IEEE-488 (også kendt som General-Purpose Instrumentation Bus eller Hewlett-Packard Instrumentation Bus)
  • HIPPI HIgh Performance Parallel Interface
  • PCMCIA
  • SCSI disk/tape peripheral attachment bus

Serielle

redigér

Eksempler på interne/eksterne databusser

redigér

Eksterne henvisninger

redigér
 
Wikimedia Commons har medier relateret til: