CSMA/BA
# CSMA/BA

Nelle telecomunicazioni CSMA/BA (acronimo inglese di Carrier Sense Multiple Access with Bitwise Arbitration, ovvero accesso multiplo tramite rilevamento della portante con arbitraggio bit per bit) chiamato anche CSMA/CR (acronimo inglese di Carrier Sense Multiple Access with Collision Resolution) o CSMA/AMP (acronimo inglese di Carrier Sense Multiple Access with Arbitration on Message Priority) è un protocollo di accesso multiplo, evoluzione del protocollo di livello MAC CSMA/CD, nato per fare in modo che i conflitti di trasmissione, ovvero le collisioni, presenti sia nel CSMA puro sia nel CSMA/CD non siano più distruttivi per i messaggi.

## Descrizione

Se due o più dispositivi iniziano a trasmettere contemporaneamente, si applica un meccanismo di arbitraggio basato sulla priorità per decidere a quale dispositivo permettere di proseguire la trasmissione. Questa priorità è assegnata ad ogni nodo con una sequenza di bit (messaggio identificativo per ogni nodo - ID) da inviare all'inizio della comunicazione. Durante la trasmissione, ogni nodo in trasmissione controlla lo stato del bus e confronta (wired-AND bit a bit) il bit ricevuto con il bit trasmesso. Se un bit dominante (D bit - 0 logico) è ricevuto mentre un bit recessivo (R bit - 1 logico) è trasmesso il nodo interrompe la trasmissione (ossia perde l'arbitrato). Se invece il nodo non avvertirà variazioni tra i bit ricevuti e quelli trasmessi (per tutti i bit di priorità) avrà vinto l'arbitraggio e anche se è avvenuta una collisione, questa non distruggerà il messaggio del vincitore. Al termine dell'invio dei bit di priorità, tutti i nodi che hanno perso l'arbitraggio sospendono la trasmissione ritentando successivamente, ed il messaggio del nodo con la priorità corrente massima può liberamente transitare. Il meccanismo deve garantire che alla fine della fase di contesa una sola stazione sia rimasta attiva.

## Applicazioni

È utilizzato nel protocollo CAN (Controller Area Network).

