# Data bus e architetture dei sistemi di bordo
## L'evoluzione delle architetture avioniche

Dagli anni '50 l'evoluzione dell'elettronica ha rivoluzionato più volte il mondo dell'aviazione. Inizialmente l'elettronica militare era ben separata da quella civile, il che ha portato a uno sviluppo differente. Al giorno d'oggi, trainata dall'elettronica consumer, la differenza civilie/militare non esiste sostanzialmente più.
Nelle prossime sezioni vedremo le principali architetture avioniche che si sono evolute nel tempo.

### Architettura analogica distribuita

L'architettura presentata nella figura sopra è il primo metodo utilizzato per interconnettere i vari sistemi a bordo di un aeroplano. Gli strumenti e i sensori di volo scambiano informazioni attraverso segnali analogici, con cavi connessi in hardwiring, cioè connessioni punto-punto in base alle necessità. Un banale esempio può essere l'indicazione della velocità dal tubo di pitot: l'informazione (analogica) è trasferita all'anemometro, all'autopilota, alla scatola nera, ecc. ognuno con un cavo dedicato.
È ovvio che uno schema di questo tipo è difficilmente manutenibile e qualsiasi modifica necessaria risulta molto costosa. Inoltre, trasmettendo segnali analogici, non si ha molta stabilità e precisione nelle letture dei sensori; spesso questi sistemi sono soggetti a bias o drift, problemi corretti con l'avvento dell'era digitale.
Un'architettura di questo tipo è evidente negli aeromobili progettati tra gli anni '50 e gli anni '60, come ad esempio il Boeing 707 o il DC-9.

### Architettura digitale distribuita

In questa architettura i segnali non sono più inviati direttamente tramite segnali analogici in tensione o in corrente, ma attraverso sequenze di bit tramite opportuni protocolli. Inoltre la maggior parte delle unità che compongono il sistema, non sono più solo circuiti elettrici, ma veri e propri computer con la propria CPU la propria RAM, ecc.
Il miglioramento tra i segnali analogici e quelli digitali è enorme: i dati provenienti dai sensori sono ora più stabili e molto più facilmente elaborabili, inoltre i problemi di drift e bias sono facilmente correggibili. I display non sono più elettromeccanici ma EFIS, EICAS, ECAM, ecc. iniziano a sostituirli.
Tuttavia il problema del cablaggio persiste ancora. Ogni unità è connessa in modo indipendente rispetto alle altre, componendo così un'intricata rete di cavi difficile da manutenere e modificare.
Negli anni '60-'80 in cui cresce la rivoluzione del mondo digitale e quindi di questa architettura, nascono i primi databus tra cui l'ARINC 492 che verrà presentato in seguito.

### Architettura digitale federale

L'architettura federata nasce in campo militare dall'uscita della norma MIL-STD-1553B. La norma MIL citata è stato un significativo passo nella standardizzazione dell'interoperazione dei sistemi di bordo, inoltre essa è stata subito applicata a tutti i membri NATO.
Questo è il primo esempio di databus centralizzato in cui tutte le unità comunicano attraverso esso. Questo significa che, ad esempio, l'informazione della velocità indicata dal tubo di pitot non deve essere trasferita singolarmente ad ogni unità, ma può essere inviata sul bus comune e ricevuta da tutti i dispositivi connessi, permettendo un notevole risparmio di connessioni e di tempo di calcolo.
Ben presto però si è incontrato il problema della saturazione nell'utilizzo del bus e si è adottato un sistema federato come in figura: non esiste più un solo bus, ma diversi bus ognuno con una funzione specifica, dei nodi intermedi poi si occupano dell'interscambio delle informazioni tra i vari bus se necessario.
Questa architettura è ancora oggi molto usata in ambito militare (F-16, AH-64, ecc.), mentre in ambito civile non ha avuto grande successo (un raro esempio in ambito civile è il Boeing 777, che utilizza un bus federato con protocollo ARINC 629).

### Architettura integrata modulare

L'architettura integrata modulare (a volte chiamata direttamente avionica integrata modulare) è la più recente architettura sviluppata negli anni '90 e 2000. L'architettura prevede uno o più bus di comunicazione e una standardizzazione completa di tutti i protocolli di comunicazione. Questo significa che ogni unità che si vuole installare deve essere costruita per lo stesso tipo di protocollo usato. Le informazioni sono disposte a layers, similmente a quanto avviene nelle comunicazioni via internet: l'applicazione che deve trasmettere un dato, non si occupa più di come questo dato debba essere inserito nel databus, ma delegherà al layer sottostante il lavoro. Ovviamente il layer sottostante non può venire a meno delle esigenze di real-time. Le specifiche software sono nella norma ARINC 653.
A livello hardware, le LRU (Line Replacement Unit) sono posizione in cabinet ognuno con una funzione specifica. L'accesso al databus a basso livello può essere gestito anche dal cabinet stesso. I vantaggi di avere dei cabinet sono molteplici, tra cui riduzione del numero di cavi e la non necessità di avere un alimentatore per ogni unità; ovviamente l'affidabilità dei componenti centralizzati è il punto critico di questo sistema. Le LRU possono essere anche COTS (Commercial Off The Shelf), quindi non costruite appositamente allo scopo ma acquistate da un fornitore esterno che le produce anche per altri aeromobili, riducendo notevolmente i tempi di sviluppo della macchina.
Esempi di utilizzo di questa architettura sono l'Airbus A380 e il Boeing 787.

## I data bus

In questa sezione analizziamo alcuni data bus utilizzati nei sistemi avionici, partendo dai più semplici e antichi ai più moderni. Non analizzeremo il nuovo AFDX, di cui trovare un link verso Wikipedia nella sezione Approfondimenti.

### Tornado serial

Il Tornado serial nasce negli aerei da caccia inglesi, progettato a inizi anni '70 e prodotto circa 10 anni dopo nei primi anni '80. Il nome ufficiale, anche se poco usato è Panavia standard.
Il tornado serial è un bus seriale half-duplex a una velocità di 64 kbit/s, composto da 4 cavi intrecciati con le seguenti funzioni:
* $CLK$: segnale di clock
* ${\overline {CLK}}$: complemento del segnale di clock
* $DATA$: segnale dati
* ${\overline {DATA}}$: complemento del segnale dati

### ARINC 429

L'ARINC 429 (abbreviato in A429) è un bus nato per l'aeronautica civile che ha iniziato a essere installato a bordo dei liners negli anni 1977-78, in aerei come: Airbus A300, Airbus A310, Boeing 737, Boeing 767, ecc.
L'A429 è un bus singola-sorgente-destinazione-multipla, questo significa che ogni connessione permette a una sorgente di comunicare con una o più destinazioni (fino a un massimo di 20), ma se la destinazione ha necessità di comunicare con la sorgente o con altri nodi, deve avere un bus separato apposito. Uno svantaggio è già evidente: l'aggiunta di un nuovo componente comporta l'installazione di uno o più bus fisici.
Ogni bus è composto da una coppia intrecciata di cavi schermata e consente una velocità tra i 12-14kbit/s e i 100 kbit/s.
Il sistema di codifica/decodifica è effettuato tramite una codifica di linea RTZ (return-to-zero) e un esempio è mostrato in figura a lato. Ogni parola è composta da 32 bit con il seguente significato:
* bit 0-7: identificano l'etichetta che indica il tipo di dato;
* bit 8-9: etichetta per sorgente/destinazione, in realtà essendo il bus di tipo simplex non sono molto usati;
* bit 10-28: dati (19 bit) codificati a piacere
* bit 29-30: signal status matrix bit che segnalano lo stato del dispositivo (ad esempio se c'è stata una failure)
* bit 31: bit di parità

### ARINC 629

Questo data bus è stato introdotto nel 1995 e ad oggi è usato in alcuni liners tra cui Airbus 330, Airbus 340, Boeing 777. Consente di collegare su un bus fino a 128 unità a una velocità di 2 Mbps. A differenza dei precedenti è un bus in cui tutti possono scrivere e leggere ma non è presente un controllore: ogni unità decide in autonomia quando scrivere. Ovviamente per evitare le collisioni, ogni terminale ha un preciso intervallo di tempo assegnato in cui può comunicare.
Il cablaggio avviene tramite un doppino non schermato che può raggiungere i 100 metri, che può operare sia in voltaggio che in corrente. Inoltre lo standard prevede di poterlo sostituire con una fibra ottica. Ogni messaggio può essere composto di al più 256 parole dati ognuna di 20 bit.

### MIL-STD-1553B

Il data bus MIL-STD-1553B il cui standard è stato rilasciato alla fine degli anni '70, è un bus ancora oggi molto usato in ambito militare. Ogni bus è composto unicamente da due segnali $DATA$ e ${\overline {DATA}}$ e la codifica usata è la Manchester bifase (si noti che questa codifica non necessita di un segnale di clock). Ogni unità connessa a questo bus può inviare o ricevere dati, ma l'accesso al bus stesso è governato da un'apposita unità chiamata Bus Controller mentre tutte le altre unità Remote Terminal (si possono avere al massimo 31 Remote Terminal). Il Bus Controller decide chi dovrà trasmettere e chi dovrà ricevere immettendo nel bus appositi comandi.
La velocità di trasmissione è solitamente 1 Mbit/s, con alcune recenti eccezioni che lo hanno portato a 100-200 Mbit/s. Questo data bus è diventato ormai uno standard per il bus degli armamenti di tutti gli aerei.

### STANAG 3910

Lo STANAG 3910 nasce per essere il sostituto del MIL-STD-1553B, principalmente a causa della limitata velocità a 1 Mbit/s. Una evoluzione di questo data bus è l'uso non più di cavi in rame ma di fibre ottiche per il bus dati. Infatti in questo standard troviamo due bus: il bus di controllo (in rame) e il bus dati (in fibra). Il bus di controllo opera come se fosse un bus MIL-STD-1553B, ma quando le unità devono trasmettere i dati, non lo trasmettono su questo bus ma sul bus dati in fibra ottica. Questo consente un incremento di velocità e un completo isolamento tra messaggi di coordinamento e messaggi dati, consentendo di portare (anche grazie all'elevata velocità del bus) il singolo messaggio da 32 parole del MIL a 4096 parole.
L'uso di questo bus è fino ad ora utilizzato unicamente da programma Eurofighter e alcuni versioni del Rafale.

## Approfondimenti

Riportiamo qui alcuni interessanti approfondimenti su Wikipedia e in rete:
* Modello ISO/OSI: un insieme di standard per l'architettura logica di una rete tra calcolatori
* (EN) ARINC 629 Data Bus Standard on Aircrafts
* (EN) Avionics Full-Duplex Switched Ethernet: una variante del famoso Ethernet per essere utilizzato in sistemi safety critical come l'avionica, usata negli aerei di ultima generazione