📘 Capitolo 1 – Introduction (Schema Grafico Dettagliato con Spiegazioni e Frame)


1.1 Structure and Content 📚

  • Module 1: Intra-Vehicle Communication

    • Analisi dei dispositivi interni al veicolo: ECU, sensori, attuatori
    • Tecnologie di bus di comunicazione: CAN, LIN, FlexRay, MOST, Ethernet (T1/T1S)
    • Sistemi operativi e suddivisione in domini
  • Module 2: Inter-Vehicle Communication

    • Comunicazioni tra veicoli (V2V) e con infrastruttura (V2X)
    • Tecnologie wireless: Bluetooth, LoRa, C-V2X, IEEE 802.11p
    • Tipologie di messaggi, sincronizzazione GPS, gestione broadcast

1.2 Intra-Vehicle Evolution 🚗

  • Evoluzione da cablaggi punto-punto a bus condivisi

  • Aumento esponenziale delle ECU e delle loro connessioni: complessità O(n²)

  • Nuove tendenze progettuali:

    • 🔁 Distribuzione delle funzioni su più ECU
    • 📦 Integrazione di più funzioni in un’unica ECU per ridurre costi e peso

1.3 Architectures 🧱

🟦 Domain Architecture

  • Un controller centrale per ciascun dominio (infotainment, powertrain, etc.)
  • Software centralizzato su ECU ad alte prestazioni (HPC)
  • ✔ Elevata potenza di calcolo
  • ❌ Maggiore rigidità nei cablaggi e costi elevati

🟩 Zonal Architecture

  • I nodi sono raggruppati in zone fisiche con mini-ethernet locali
  • Comunicazione tra zone tramite backbone ad alta velocità
  • ✔ Riduce lunghezza dei cavi, peso, costi e aumenta modularità

1.4 Comunicazioni e Protocolli 🧠

🔹 Concetti ISO/OSI

  • Nel contesto automotive si usano soprattutto:

    • Physical Layer: trasmissione elettrica del segnale
    • Data Link Layer: accesso al mezzo, gestione degli errori, sincronizzazione

📡 Protocolli di Comunicazione

🔹 CAN (Controller Area Network)

  • Mezzo fisico: doppino intrecciato (CAN_H, CAN_L)
  • Topologia: bus condiviso tra più nodi
  • Accesso: CSMA/CR (Carrier Sense Multiple Access with Collision Resolution)
  • Codifica: NRZ + bit stuffing
  • Bitrate: fino a 1 Mbps

📦 Struttura del frame CAN (Standard)

CampoDescrizione
SOFStart Of Frame (1 bit dominante)
IDIdentificativo messaggio (11 o 29 bit)
RTRRichiesta remota
ControlLunghezza dati (0–8 byte) + bit riservati
DataDati applicativi (0–64 bit)
CRCControllo di ridondanza ciclica (15 bit)
ACKConferma ricezione da altri nodi (2 bit)
EOFFine messaggio (7 bit recessivi)

🔀 Bit Stuffing e Time Quanta nei protocolli automotive

🔹 Bit Stuffing (in particolare nel CAN)

  • Utilizzato nelle trasmissioni NRZ per evitare lunghe sequenze senza transizioni (che renderebbero difficile la sincronizzazione dei bit).
  • Regola: dopo 5 bit consecutivi uguali, viene inserito automaticamente un bit opposto dal trasmettitore.
  • Questo bit “di stuffing” viene rimosso automaticamente dal ricevitore.

Esempio:

Dati originali:    1111100000111111
Dati trasmessi:    111110100001111101
                          ^      ^
                    (bit stuffing)
  • ❗ Serve a mantenere un sufficiente numero di transizioni nel flusso di bit per permettere al ricevitore di rimanere sincronizzato.
  • ✅ Migliora l’affidabilità senza aumentare il carico dati apparente.
  • ❌ Comporta un overhead variabile, dipendente dal contenuto trasmesso.

⏱️ Time Quanta (TQ) – temporizzazione nel CAN

Nel protocollo CAN, ogni bit non è trasmesso in un colpo solo, ma suddiviso in segmenti temporali detti Time Quanta (TQ).

🔧 Composizione del bit time:
SegmentoDescrizione
Sync SegmentAllinea i nodi sul fronte del bit (1 TQ)
Propagation SegmentCompensa ritardi di propagazione fisici della linea
Phase Segment 1Tempo per eventuale ritardo; include il Sample Point
Phase Segment 2Permette aggiustamenti finali del clock; segue il Sample Point
  • Il numero totale di TQ determina la durata di un bit (Bit Time)
  • I segmenti Phase1 e Phase2 sono regolabili in fase di sincronizzazione
🎯 Sample Point
  • Posizione all’interno del bit in cui il ricevitore legge il valore
  • Idealmente posizionato verso la fine del Phase Segment 1 (es. 87.5% del bit time)
🔁 SJW – Sync Jump Width
  • Massimo numero di TQ che il bit time può “scivolare” in avanti o indietro per correggere differenze di clock tra nodi
  • Valore tipico: 1–4 TQ
🔬 Esempio (con 16 TQ totali)
Bit time: 16 TQ = [1 | 5 | 7 | 3]  → Sync | Prop | Phase1 | Phase2
Sample point = TQ 1 + 5 + 7 = TQ13 (81.25%)

Questo meccanismo permette al CAN di gestire sincronizzazione precisa tra nodi che utilizzano quarzi diversi, mantenendo affidabilità anche in ambienti elettricamente rumorosi.


❗ Errori nel CAN Bus

Il protocollo CAN include meccanismi di rilevamento e gestione degli errori estremamente robusti. Ogni nodo può rilevare, notificare e correggere gli errori per mantenere l’integrità della comunicazione.

🔍 Tipologie di errore rilevate

Tipo di ErroreDescrizione
Bit ErrorIl bit letto dal bus è diverso da quello trasmesso
Stuff ErrorIl ricevitore rileva più di 5 bit uguali consecutivi (violazione stuffing)
CRC ErrorIl campo CRC ricevuto non corrisponde a quello calcolato
Form ErrorStruttura del frame non conforme (es. EOF errato)
ACK ErrorNessun nodo ha inviato l’ACK dopo il frame

🛡️ Meccanismi di rilevamento

  • Ogni nodo monitora il bus anche durante l’invio
  • In caso di errore, il nodo trasmette un Error Frame (6 bit dominanti + 8 recessivi)
  • Gli altri nodi ignorano il messaggio difettoso e considerano il bus occupato

🔄 Gestione degli errori: TEC e REC

  • Ogni nodo mantiene due contatori:

    • TEC (Transmit Error Counter)
    • REC (Receive Error Counter)
  • I contatori aumentano in caso di errore, diminuiscono se il messaggio è corretto

Stato NodoCondizione TEC/RECAzione
Error ActiveTEC < 128, REC < 128Normale, può trasmettere e segnalare errori
Error PassiveTEC ≥ 128 o REC ≥ 128Può trasmettere ma non invia error frame attivi
Bus OffTEC ≥ 256Nodo disconnesso automaticamente dalla rete
  • Il nodo bus off deve attendere una riconfigurazione software/manuale per riattivarsi

✅ Benefici del sistema di errore CAN

  • ✅ Rilevazione rapida (< 5 bit)
  • ✅ Isolamento automatico dei nodi difettosi
  • ✅ Continuità di servizio anche in presenza di errori
  • ✅ Affidabilità elevata in ambienti con rumore elettrico

🔹 CAN-FD

  • Estensione del CAN con supporto a bitrate più alti e payload più grandi
  • Due fasi: arbitraggio classico e fase dati veloce

📦 Frame CAN-FD

  • Come il CAN classico, con aggiunta di:

    • EDL: indica modalità FD
    • BRS: switch della velocità
    • CRC esteso: 17 o 21 bit

🔹 LIN

  • Protocollo semplice per dispositivi secondari
  • Accesso: Time Triggered, guidato dal master
  • Codifica: UART
  • Error detection: sistema rudimentale di identificaione degli errori somma di tutti i bytes del payload modulo 256

📦 Frame LIN

  • LIN Message: due componenti principali
    • Message Header: Break, sync, id
    • Message Response: Data, Checksum
CampoDescrizione
BreakInizio frame (13 bit dominanti + 1 recessivo)
SyncByte di sincronizzazione (0x55)
IdentifierID + bit di parità
DataFino a 8 byte
ChecksumSomma modulo 256 dei byte dati

Nel protocollo LIN, esistono sei differenti tipologie di frame, ognuna con uno specifico uso funzionale:

1. Unconditional Frame

  • ID: da 0x00 a 0x3B
  • Descrizione: è il tipo di frame più comune.
  • Il master invia l’header, lo slave destinatario invia il response con i dati.
  • Gli altri nodi ignorano il messaggio.

2. Event-Triggered Frame

  • ID: da 0x00 a 0x3B
  • Descrizione: il master interroga più slave contemporaneamente.
  • Se uno slave ha dati aggiornati, risponde.
  • Se più slave rispondono insieme, si genera una collisione → il master invia un unconditional frame dedicato.

3. Sporadic Frame

  • ID: da 0x00 a 0x3B
  • Descrizione: frame trasmesso dal master stesso solo se necessario, anche se originariamente lo slave doveva rispondere.
  • Utile per ottimizzare la comunicazione quando solo il master possiede l’informazione.

4. Diagnostic Frame

  • ID: 0x3C (request), 0x3D (response)
  • Descrizione: comunicazione request-response tra master e slave per fini diagnostici (es. lettura/scrittura di parametri).
  • Il contenuto può superare i normali 8 byte, gestito in blocchi.

5. User-Defined Frame

  • ID: 0x3E
  • Descrizione: utilizzabile liberamente per scopi personalizzati del costruttore.
  • Non standardizzato.

6. Reserved Frame

  • ID: 0x3F
  • Descrizione: riservato per uso futuro e non utilizzabile nelle comunicazioni LIN standard.

Ogni tipo di frame LIN è identificato univocamente attraverso l’Identifier (ID) e la presenza o meno di campi come il checksum o la lunghezza dei dati, gestiti dal master. Questa classificazione consente una comunicazione flessibile e deterministica, adattata alle esigenze del veicolo.



🔹 FlexRay

🔴 Descrizione Dettagliata: FlexRay

✅ Cos’è FlexRay?

FlexRay è un protocollo di comunicazione deterministico ad alta affidabilità progettato per sistemi safety-critical automotive come:

  • Steer-by-wire / Brake-by-wire
  • Controllo chassis e attuatori
  • Sistemi ADAS avanzati e guida autonoma

⚙️ Caratteristiche Tecniche

CaratteristicaDettaglio
TopologiaStar, Bus o mista
Mezzo fisicoTwisted Pair (2 o 4 fili, dual-channel)
Bitrate10 Mbps per canale (fino a 20 Mbps totali)
Accesso al mezzoTDMA (segmento statico) + CSMA/CR (segmento dinamico)
Determinismo✅ Sì, con slot preallocati
Redundancy✅ Dual channel per fault-tolerance o maggiore banda
CodificaNRZ senza bit stuffing

🧠 Struttura del Ciclo di Comunicazione

Ogni ciclo di comunicazione FlexRay è diviso in 4 segmenti principali:

  1. Static Segment 🧱

    • Suddiviso in slot temporali numerati (es. slot 0, 1, 2…)
    • Ogni nodo ha uno o più slot predefiniti in cui può trasmettere in esclusiva
    • I frame inviati in questo segmento sono deterministici: ritardi e collisioni sono impossibili
    • Adatto a segnali periodici, safety-critical (es. sterzo, freni)
  2. Dynamic Segment

    • Ogni ciclo può avere uno spazio dinamico condiviso
    • Suddiviso in mini-slot: ogni nodo ha un turno per “tentare” la trasmissione
    • Funziona come un CAN simulato: se un nodo ha dati da inviare, li trasmette; altrimenti salta il turno
    • Utile per dati asincroni, evento-driven (es. messaggi ADAS, diagnostica non ciclica)
  3. Symbol Window 🌀

    • Utilizzata per trasmettere simboli di controllo o messaggi speciali (es. inizio rete, sincronizzazione)
    • Può essere usata per segnalare condizioni di bootstrap o avvio
  4. Network Idle Time (NIT) 💤

    • Segmento finale usato per stabilizzare e sincronizzare il clock dei nodi
    • Garantisce che tutti i nodi completino l’elaborazione prima dell’inizio del ciclo successivo

📦 Formato del Frame FlexRay

CampoDescrizione
Control5 bit: tipo frame, static/dynamic, sync/startup/null
Frame ID11 bit: identificatore unico del frame
Length7 bit: lunghezza del payload (fino a 254 byte)
Header CRC11 bit: controllo d’errore per l’header
Cycle Count6 bit: numero del ciclo corrente
PayloadDati trasmessi (0–254 byte)
TrailerCRC payload (24 bit)
  • Nessun bit stuffing è usato → alta precisione temporale
  • Sample point noto e sincronizzato tramite frame structure

⏱️ Sincronizzazione Temporale

FlexRay implementa una sincronizzazione distribuita, senza master clock. Il meccanismo si basa su nodi speciali detti “cold-start nodes”:

  1. Quando la rete è inattiva, uno dei nodi cold-start trasmette un Wakeup Pattern per “risvegliare” la rete
  2. Trasmette un simbolo speciale detto Collision Avoidance Symbol (CAS) che innesca la sincronizzazione
  3. Il nodo cold-start assume il ruolo di Leading Coldstart Node e imposta il Cycle Counter = 0
  4. Gli altri nodi attendono un numero definito di cicli per sincronizzarsi (es. 4 cicli)
  5. Tutti i nodi avviano la comunicazione sincronizzata, allineando il proprio clock al ritmo del ciclo globale

Il Cycle Counter incrementa ad ogni ciclo e consente a tutti i nodi di conoscere in quale fase temporale si trovano.

Grazie a questa sincronizzazione:

  • Il TDMA funziona in modo preciso
  • Si evitano desincronizzazioni tra nodi
  • Il sistema può essere avviato anche da un singolo nodo

✅ Vantaggi

  • ✅ Trasmissione deterministica e affidabile
  • ✅ Dual-channel per tolleranza ai guasti
  • ✅ Alta immunità ai disturbi (EMI)
  • ✅ Statico + Dinamico nello stesso ciclo
  • ✅ Alta sincronizzazione temporale distribuita

❌ Svantaggi

  • ❌ Costo più elevato rispetto a CAN o LIN
  • ❌ Rete statica e poco flessibile
  • ❌ Difficile aggiornare la configurazione a runtime

🛠️ Applicazioni Tipiche

  • Sistemi steer/brake-by-wire
  • Sospensioni attive, ESP
  • Sistemi ADAS sincroni con più sensori
  • Safety-critical ECU interconnect

🔁 Confronto sintetico

CaratteristicaFlexRayCANLINEthernet
Determinismo✅ Sì (TDMA)❌ No✅ Sì (Time-Trigger)❌ Solo con TSN
Banda10–20 Mbps1–6 Mbps≤ 20 kbps100 Mbps – 10 Gbps
TopologiaStar / BusBusBus (Master/Slave)Star (con switch)
Fault tolerance✅ Dual channel
Flessibilità❌ Statica✅ Dinamica❌ Statica✅ Dinamica
Complessità HW🔼 Alta⚖️ Media🔽 Bassa🔼 Alta
Costo🔼 Alto✅ Medio✅ Basso🔼 Alto

📶 Ethernet (Classic) – CSMA/CD, Frame Structure e le Soluzioni Automotive

Ethernet nasce come tecnologia di rete locale condivisa secondo IEEE 802.3, pensata per ambienti flessibili e aperti, ma inizialmente inadatta al mondo automotive per ragioni di determinismo, EMI e sincronizzazione temporale.

🧱 Accesso al Mezzo: CSMA/CD

  • CSMA/CD (Carrier Sense Multiple Access with Collision Detection) è il meccanismo classico di accesso a contesa:

    1. Il nodo verifica se il mezzo è libero
    2. Inizia a trasmettere
    3. Se durante la trasmissione rileva una collisione, invia un jam signal e si ferma
    4. Attende un tempo casuale (backoff) e ritenta

❌ Problemi in ambito automotive

  1. Latenza non deterministica: un pacchetto può attendere centinaia di µs in coda
  2. Collisioni e jitter: CSMA/CD non è affidabile in ambienti critici
  3. Assenza di sincronizzazione globale tra i dispositivi
  4. Rumore EMI elevato nelle versioni standard

📦 Struttura del Frame Ethernet (Standard IEEE 802.3)

CampoLunghezzaDescrizione
Preamble7 byteSequenza di sincronizzazione (101010…)
SFD1 byteStart Frame Delimiter (10101011)
Dest. MAC6 byteIndirizzo fisico del destinatario
Src. MAC6 byteIndirizzo fisico del mittente
EtherType/Length2 byteTipo di protocollo superiore o lunghezza
Payload46–1500 BDati applicativi
FCS (CRC-32)4 byteVerifica d’integrità del frame (Frame Check Seq)
  • Lunghezza totale tipica: 64–1518 byte (escluso preambolo)
  • Il FCS è un CRC a 32 bit, calcolato sul frame dal destinatario per validazione

🔧 Miglioramenti introdotti per l’automotive

  1. Topologia punto-punto con switch

    • Nessuna collisione su link dedicati
    • Ogni connessione è full-duplex → CSMA/CD diventa obsoleto
  2. TSN – Time Sensitive Networking (IEEE 802.1)

    • Scheduling dei pacchetti su base temporale (Time-Aware Shaper)
    • Sincronizzazione di rete con IEEE 802.1AS
    • Adatto a sistemi deterministici (es. ADAS, guida autonoma)
  3. AVB – Audio Video Bridging

    • Introduce stream reservation e code prioritarie
    • Garantisce qualità di servizio (QoS) per audio/video e sensori
  4. Express Packets (OPEN Alliance)

    • Pacchetti critici possono interrompere quelli in corso
    • Garantisce latenza sub-microsecondo anche su link condivisi
  5. BroadR-Reach (EMI Reduction)

    • PHY sviluppato da Broadcom per ridurre le emissioni EMI
    • Funziona su un singolo doppino a 100 Mbps (con banda ridotta a 27 MHz)
  6. PoDL – Power over Data Line (IEEE 802.3bu)

    • Alimentazione e dati sullo stesso filo (riduce cablaggi)

Grazie a questi miglioramenti, Ethernet è diventata una soluzione modulare, scalabile e deterministica anche per ambienti automotive, mantenendo compatibilità con TCP/IP e supportando comunicazioni ad alta larghezza di banda tra ECU, gateway, sensori e attuatori.


🔁 10BASE-T1S – Ethernet su Bus con Accesso Deterministico

10BASE-T1S è una variante Ethernet pensata per l’ambiente automotive:

  • Usa Single Twisted Pair (STP) come mezzo fisico
  • Supporta topologia bus multi-drop, fino a 8 nodi per segmento
  • Bitrate fisso: 10 Gbps

🔄 Accesso al mezzo con PLCA (Physical Layer Collision Avoidance)

PLCA è un meccanismo introdotto nello standard IEEE 802.3cg per gestire accesso al mezzo condiviso in reti Ethernet 10BASE-T1S, eliminando collisioni e rendendo l’accesso deterministico e ordinato.

🔁 Funzionamento dettagliato:
  • Ogni nodo ha un identificativo unico (Node ID) da 0 a N−1

  • I cicli di trasmissione sono scanditi da un Beacon trasmesso periodicamente dal nodo con ID 0 (coordinatore)

  • Ogni ciclo è suddiviso in slot logici (Transmit Opportunities, TO)

  • A ogni TO, il nodo corrispondente può:

    • Trasmettere un frame se ha dati disponibili
    • Segnalare l’intenzione di non trasmettere
  • Se il nodo salta il proprio turno, si passa immediatamente al successivo

🛡️ Vantaggi di PLCA:
  • ✅ Elimina le collisioni → niente backoff o CSMA/CD
  • ✅ Determinismo → ogni nodo conosce esattamente quando può trasmettere
  • ✅ Basso overhead → ciclo rapido anche con più nodi
  • ✅ Compatibile con le MAC Ethernet standard
🧩 Parametri principali:
ParametroDescrizione
Max Node CountFino a 8 nodi supportati
Beacon IntervalPeriodicità con cui il nodo 0 sincronizza i cicli
TO (Transmit Opportunity)Slot in cui ciascun nodo può accedere al mezzo
TimeoutTempo massimo per la trasmissione nel proprio TO

PLCA consente così di usare Ethernet full-duplex IP-based in una topologia a bus condiviso, mantenendo bassa complessità hardware e prevedibilità temporale, ideale per reti embedded e architetture zonali.

🧠 Bit Coding

  • Codifica: 4B5B → ogni 4 bit dati diventano 5 bit trasmessi

  • DME (Differential Manchester Encoding):

    • Tecnica di codifica che combina transizioni regolari con informazioni differenziali

    • Ogni bit ha una transizione all’inizio del periodo di bit (clock recovery)

    • Il valore logico è determinato dalla presenza o assenza di una transizione a metà bit:

      • 1 = nessuna transizione al centro
      • 0 = transizione al centro
    • Il significato dei livelli alti o bassi è relativo alla transizione precedente (differenziale)

    • ✅ Garantisce sincronizzazione e robustezza in ambienti disturbati

    • ❌ Maggiore complessità nel decoding rispetto a NRZ o Manchester

⚙️ Caratteristiche chiave

  • Ideale per reti semplici, bassa latenza, con costi contenuti
  • Compatibile con il modello IP (full Ethernet stack)
  • Supporta Express Packet per real-time su segmento condiviso

🔍 Confronto Generale

ProtocolloMezzoTopologiaAccessoCodificaBitrateDeterminismoFrame Typology
CANTwisted pairBusCSMA/CRNRZ + Stuffing≤ 1 MbpsID, RTR, Data, CRC, ACK
CAN-FDTwisted pairBusCSMA/CRNRZ + Stuffing≤ 6 MbpsCAN base + EDL, BRS, CRC esteso
LIN1 filoMaster/SlaveTime-TriggeredUART≤ 20 kbpsHeader (Break, Sync, ID), Data, Checksum
FlexRay2/4 filiStar / BusTDMA + CSMA/CRFraming fisso10 MbpsHeader, Payload, Trailer
EthernetTwisted pair/STPStarCSMA/CD4B5B / NRZ≥ 100 Mbps❌ / ✅ (TSN)MAC, EtherType, Payload, CRC
10BASE-T1SSingle TPBusPLCA4B5B + DME10 MbpsIdem Ethernet, supporta Express Packets

GPS (Global Positioning System)

Il GPS è un sistema di navigazione satellitare globale, concepito originariamente dal Dipartimento della Difesa degli Stati Uniti e oggi utilizzato in molteplici applicazioni civili, tra cui l’automotive. È parte integrante delle comunicazioni inter-veicolari (Inter-Vehicle Communications) per garantire la localizzazione e la sincronizzazione temporale dei nodi mobili (es. veicoli) nel contesto della connettività automobilistica【8†main.pdf】.

Cos’è il GPS

Il nome completo è NAVigation Satellite Timing and Ranging Global Positioning System (NAVSTAR GPS). È composto da tre segmenti principali【9†M2L0.pdf】:

  1. Space Segment: costellazione di oltre 30 satelliti in orbita media (MEO), trasmettono continuamente messaggi di navigazione.
  2. Control Segment: stazioni di terra che monitorano, aggiornano e correggono le orbite dei satelliti.
  3. User Segment: dispositivi finali (es. ricevitori) che ricevono i segnali satellitari e calcolano la posizione.

Principio di Funzionamento

Ogni satellite trasmette una Navigation Message (NAV) composta da 25 frame di 30 secondi ciascuno (totale: 12,5 minuti). Ogni frame ha 6 sub-frame:

  • Sub-frame 1: informazioni sull’orologio del satellite
  • Sub-frame 2-3: informazioni orbitali (ephemeris)
  • Sub-frame 4-5: almanacco e stato della costellazione【9†M2L0.pdf】

Il calcolo della posizione avviene tramite trilaterazione. Il ricevitore determina la distanza da almeno quattro satelliti risolvendo il sistema:

d_i = \sqrt{(x_i - x_u)^2 + (y_i - y_u)^2 + (z_i - z_u)^2} + c \cdot \Delta e

Dove:

  • (x_i, y_i, z_i): coordinate note del satellite
  • (x_u, y_u, z_u): coordinate da calcolare
  • (c): velocità della luce
  • (\Delta e): errore dell’orologio del ricevitore【8†main.pdf】

Modulazione e Codifica

Il GPS utilizza la modulazione BPSK (Bi-Phase Shift Keying) su due frequenze:

  • 1575.42 MHz (L1)
  • 1227.60 MHz (L2)

Vantaggi:

  • Ridondanza
  • Resistenza al jamming
  • Compensazione del ritardo ionosferico
  • Supporto per ricevitori dual-frequency【9†M2L0.pdf】

Limitazioni del GPS

  • Alto consumo energetico
  • Inutilizzabile indoor o in presenza di ostacoli
  • Sensibile alla miniaturizzazione (antenna piccola = meno accuratezza)
  • Affidabilità ridotta in ambienti urbani densi【9†M2L0.pdf】【8†main.pdf】

Applicazioni Automotive

Nel settore automotive, il GPS è utilizzato per:

  • Geolocalizzazione del veicolo
  • Sincronizzazione temporale per comunicazioni V2X (es. 802.11p, C-V2X)
  • Supporto alla navigazione autonoma

Inoltre, il GPS può essere integrato con tecnologie come LoRaWAN per applicazioni di localizzazione low-cost, ad esempio nei sistemi di tracking basati su dispositivi a basso consumo【11†M2L2.pdf】.

Bluetooth

Il Bluetooth è una tecnologia wireless a corto raggio, sviluppata per sostituire i cavi seriali (RS-232) e abilitare la comunicazione tra dispositivi elettronici. Utilizza la banda ISM a 2.4 GHz, e crea reti personali chiamate Piconet, tipicamente con una portata di circa 10 metri【10†M2L1_part1.pdf】.

Caratteristiche Principali

  • Frequenza: 2.4 – 2.485 GHz (79 canali da 1 MHz)
  • Topologia: Master/Slave all’interno di una piconet
  • Standard: IEEE 802.15.1
  • Velocità: Alcune versioni raggiungono i 3 Mbps (EDR)
  • Portata: da 10 cm (Classe 3) a 100 m (Classe 1)

Architettura della Rete

  • Piconet: una rete formata da un master e fino a 7 slave attivi.
  • Master: gestisce la comunicazione, decide quando ogni dispositivo può trasmettere.
  • Slave: possono comunicare solo con il master, non tra loro.

Processo di Connessione

  1. Inquiry: ricerca dei dispositivi vicini.
  2. Paging: creazione della connessione.
  3. Stato di Connessione:
    • Active
    • Sniff (power-saving)
    • Hold
    • Park

Pairing

  • Due dispositivi associati stabiliscono connessioni automatiche.
  • Scambio di chiavi segrete e salvataggio dei profili.

Classi di Potenza

ClassePotenza Max (dBm)Portata Stimata
120100 m
2410 m
3010 cm

Profili Bluetooth

I profili definiscono le applicazioni supportate. Due dispositivi sono compatibili se condividono gli stessi profili. Esempi:

  • SPP (Serial Port Profile): sostituisce RS-232/UART.
  • HID (Human Interface Device): mouse, tastiera, joystick.
  • HFP/HSP (Hands-Free/Headset Profile): comunicazioni audio.
  • A2DP (Advanced Audio Distribution Profile): trasmissione unidirezionale audio di qualità.
  • AVRCP (Audio/Video Remote Control Profile): controllo remoto.

Bluetooth Stack

Diviso in due livelli:

  • Controller Stack: gestisce l’interfaccia radio (real-time).
  • Host Stack: elabora dati e applicazioni.

Comunicazione

Radio Layer

  • Trasmissione a 2.4GHz con Frequency Hopping Spread Spectrum (FHSS): 1600 salti/sec
  • 79 canali da 1 MHz

Frequency Hopping Spread Spectrum (FHSS)

Frequency Hopping Spread Spectrum (FHSS) è una tecnica di modulazione usata per migliorare la resistenza alle interferenze e aumentare la sicurezza nelle comunicazioni wireless come il Bluetooth.

Come funziona

  1. La banda di frequenze (es. 2.4 GHz) viene suddivisa in canali stretti (es. 79 canali da 1 MHz).
  2. Il trasmettitore e il ricevitore concordano una sequenza pseudo-casuale di canali da usare.
  3. Ogni slot di tempo (625 µs nel Bluetooth) viene usato per trasmettere su un singolo canale.
  4. Alla fine dello slot, entrambi cambiano frequenza in modo sincrono.

Tipologie di salto

  • Slow Hopping: la stessa frequenza è usata per più bit → implementazione più semplice, ma meno resistente alle interferenze.
  • Fast Hopping: si cambia frequenza a ogni bit → maggiore robustezza ma richiede una sincronizzazione più accurata.

Vantaggi di FHSS

  • Resistenza al rumore: l’effetto di un’interferenza su un singolo canale è temporaneo.
  • Maggiore sicurezza: difficile da intercettare senza conoscere la sequenza di salto.
  • Condivisione efficiente dello spettro: più dispositivi possono usare la stessa banda con minori collisioni.

Bluetooth usa FHSS a 1600 salti al secondo, tra 79 canali da 1 MHz, con sincronizzazione tra i dispositivi.

Struttura di un Pacchetto Bluetooth

Nel livello Baseband dello stack Bluetooth, ogni pacchetto è composto da tre sezioni principali:

CampoDimensioneDescrizione
Access Code72 bitUtilizzato per la sincronizzazione temporale, identificazione del piconet (piconet ID), paging e inquiry.
Header54 bitInclude: packet acknoledgement, packet numbering for out-of-order packet reordering, flow control, slave address and error check
Payload0–2745 bitContiene i dati trasmessi (voce o dati). Include anche un Payload Header opzionale.

Tipi di pacchetti

  • SCO (Synchronous Connection-Oriented): usato per voce, non supporta ritrasmissione.
  • ACL (Asynchronous Connection-Less): usato per dati, supporta ritrasmissione automatica (ARQ) e controllo di flusso.

Baseband Layer

  • Gestisce i pacchetti, sincronizzazione, codifica, sicurezza
  • Tipi di collegamento:
    • SCO: sincronizzato, per voce (non ritrasmesso)
    • ACL: asincrono, per dati (con ritrasmissione)

Sicurezza

  • Autenticazione
  • Cifratura (chiavi segrete e AES)
  • Random number generator

Controllo degli Errori

Nel livello Baseband, Bluetooth implementa diversi meccanismi per il controllo e la correzione degli errori:

  • FEC (Forward Error Correction):
    • 1/3 FEC: ogni bit è ripetuto tre volte (alta ridondanza, bassa efficienza).
    • 2/3 FEC: 10 bit vengono codificati in 15 bit usando un polinomio generatore (corregge 1 errore ogni 3 blocchi).
  • ARQ (Automatic Repeat reQuest):
    • Utilizzato nei pacchetti ACL, consente la ritrasmissione automatica se non viene ricevuto un ACK.

Tipi di Collegamento: SCO vs ACL

Bluetooth definisce due tipi principali di link tra master e slave:

SCO – Synchronous Connection-Oriented

  • Tipo: punto-a-punto, simmetrico.
  • Uso: trasmissione vocale.
  • Caratteristiche:
    • Slot temporali riservati a intervalli regolari.
    • Nessuna ritrasmissione: la latenza è più importante dell’affidabilità.
    • Fino a 3 link SCO simultanei per il master.

ACL – Asynchronous Connection-Less

  • Tipo: punto-a-multipunto.
  • Uso: trasferimento dati.
  • Caratteristiche:
    • Usa slot non riservati (dinamici).
    • Ritrasmissione abilitata (ARQ).
    • Solo un link ACL alla volta tra master e slave.
    • Può includere flusso dati e meccanismi di controllo di congestione.

Questa distinzione è fondamentale in ambito automotive, dove l’audio in tempo reale (es. chiamate in vivavoce) usa SCO, mentre i dati multimediali o diagnostici viaggiano su ACL.

Bluetooth in ambito Automotive

  • Infotainment: audio, chiamate, controllo app
  • Keyless Entry: smartphone come chiave virtuale
  • Wearables: monitoraggio del conducente (salute)
  • Manutenzione: diagnostica e sensori wireless

Evoluzione delle Versioni

  • 2.0 + EDR (2004): 3 Mbps
  • 3.0 + HS (2009): WiFi per trasferimenti rapidi
  • 4.0 (2010): include Bluetooth Low Energy (BLE)
  • 5.0 (2016): doppia velocità e maggiore copertura

Confronto Bluetooth vs BLE

CaratteristicaBluetoothBLE
Consumo EnergeticoBassoMolto basso
VelocitàFino a 3 Mbps1 Mbps
PortataFino a 100 m50–150 m (in esterno)
Casi d’usoAudio, File, HeadsetDomotica, Fitness, IoT