La parité, ou toute détection d'erreur de bloc, est destinée à détecter les erreurs dans une transmission de données elle-même. La parité n'est pas conçue pour détecter si la transmission de données a lieu ou non.
Étant donné une ligne de transmission, il existe plusieurs types de préoccupations. Les deux qui sont pertinents ici sont: 1) la panne pure et simple de la ligne elle-même, et 2) les erreurs de données bloquées dans une transmission particulière. D'autres moins pertinents sont, par exemple, des tensions de ligne incorrectes, des erreurs de protocole ou des erreurs de sécurité. La parité aide avec 2 mais pas 1. Pour qu'un sous-système à chaque extrémité d'une ligne de transmission puisse faire face à 1 (panne pure et simple d'une connexion), une autre fonctionnalité de protocole est requise.
Le taux de détection d'erreur d'un seul bit de parité est souvent supérieur à 50%. Le taux exact dépend de l'heuristique du segment de données dans le protocole. Disons que vous avez un paquet, (MSB) 1011010111011110, et qu'il y a une erreur de bit unique dans le dernier bit transmis, le contrôle de parité échouerait et rejetterait correctement le paquet. De même, si vous aviez une erreur de données dans le premier bit (le bit de parité), le paquet serait rejeté.
Cette vérification du matériel est extrêmement simple et ne nécessite aucun traitement compliqué. Il est utile dans les applications avec des taux d'erreur binaires relativement faibles pour éliminer des éléments comme le décalage d'horloge ou les signaux d'horloge générés par les processeurs exécutant des piles de logiciels récupérés.
SPI est un protocole de liaison physique conçu pour les lignes courtes connectées électriquement où le taux d'erreur sur un bit ne dépend pas beaucoup de la perte de la ligne. Si vous exécutez quelque chose sur une ligne avec perte, vous aurez besoin de quelque chose de bien plus robuste que la parité. Ce n'est pas vraiment ce que fait SPI.
Pour vérifier si un périphérique est toujours connecté, essayez quelque chose de plus haut dans la pile. Par comparaison, TCP / IP (IP, en particulier) ne spécifie pas de bits de parité, contrairement à la plupart des spécifications Ethernet 802.x. IP, d'autre part, a un compliqué, "êtes-vous là?" protocole. Que courez-vous sur SPI? La réponse à la gestion des liaisons de données est probablement là.