La parità, o qualsiasi rilevamento di errori di blocco, ha lo scopo di rilevare errori all'interno di una stessa trasmissione di dati. La parità non è progettata per rilevare se la trasmissione dei dati è in corso o meno.
Data una linea di trasmissione, ci sono diversi tipi di preoccupazioni. I due che sono rilevanti qui sono: 1) totale fallimento della linea stessa e, 2) bloccare errori di dati all'interno di una trasmissione particolare. Altri meno rilevanti sono, ad esempio, tensioni di linea errate, errori di protocollo o errori di sicurezza. La parità aiuta con 2 ma non 1. Per un sottosistema su entrambe le estremità di una linea di trasmissione per far fronte a 1 (fallimento totale di una connessione), è necessaria un'altra funzione di protocollo.
Il tasso di rilevamento degli errori di un singolo bit di parità è spesso superiore al 50%. Che cos'è esattamente tale tasso dipende dall'euristica del segmento di dati nel protocollo. Supponiamo che tu abbia un pacchetto (MSB) 1011010111011110 e che vi sia un errore a bit singolo nell'ultimo bit trasmesso, il controllo di parità fallirebbe e lo respingerebbe correttamente. Allo stesso modo, se si verifica un errore di dati nel primo bit (il bit di parità), il pacchetto verrebbe rifiutato.
L'esecuzione di questo controllo nell'hardware è estremamente semplice e non richiede elaborazioni complicate. È utile in applicazioni con tassi di errore relativamente bassi per eliminare elementi come l'inclinazione o i segnali di clock generati dai processori che eseguono stack di software raccolti in modo inutile.
SPI è un protocollo di collegamento fisico progettato per brevi linee connesse elettricamente in cui il tasso di errore a bit singolo non dipende in gran parte dalla perdita della linea. Se stai eseguendo qualcosa su una linea che perde, avrai bisogno di qualcosa di molto più robusto della parità. Questo non è proprio ciò che fa SPI.
Per verificare se un dispositivo è ancora collegato, provare qualcosa in più nello stack. In confronto, TCP / IP (in particolare IP) non specifica i bit di parità mentre molte delle specifiche Ethernet 802.x lo fanno. IP, d'altra parte, ha un complicato, "ci sei?" protocollo. Cosa stai eseguendo su SPI? La risposta alla gestione del collegamento dati è probabilmente lì.