Vous devez supposer que certaines choses fonctionnent, même dans un monde où les erreurs sont vérifiées. Pourquoi choisir IIC ou SPI alors qu'il y a généralement beaucoup plus de signaux numériques sur une carte? Vous semblez être d'accord pour supposer que tout cela sera interprété comme prévu.
Un circuit correctement conçu sur une carte correctement conçue doit être fiable. Pensez à une sortie CMOS pilotant une entrée CMOS sur une carte. Autre que la défaillance pure et simple des composants (qui est un problème totalement différent de la corruption occasionnelle des données), pensez à ce qui peut réellement mal tourner. Du côté de la conduite, vous avez un FET avec un maximum garanti sur la résistance connectant une ligne à Vdd ou à la terre. Selon vous, qu'est-ce qui peut causer le fait de ne pas avoir le bon niveau à la réception?
Au départ, l'état peut être indéterminé car la capacité sur la ligne est chargée ou déchargée. Ensuite, il peut y avoir une sonnerie dans la courte trace. Cependant, nous pouvons calculer le pire des cas maximum pour que tout cela se stabilise et que la ligne franchisse de manière fiable un certain seuil à l'autre extrémité.
Une fois que ce temps a été atteint et que nous avons attendu le pire cas retard de propagation de la logique est, il y a peu de changement du signal. Vous pensez peut-être que le bruit provenant d'autres parties de la carte peut se coupler au signal. Oui, cela peut arriver, mais nous pouvons également concevoir pour cela. La quantité de bruit dans une autre partie de la carte est généralement connue. Sinon, cela vient d'ailleurs et dans une conception appropriée, il serait serré pour être limité à certains dV / dt maximum et à d'autres caractéristiques. Tout cela peut être conçu pour.
Le bruit externe peut en théorie perturber les traces sur une carte, mais l'intensité du champ devrait être déraisonnablement grande pour une carte correctement conçue. Des environnements très bruyants existent, mais sont limités aux emplacements connus. Une carte peut ne pas fonctionner à 10 mètres d'un émetteur de 10 kW, mais même cela peut être conçu pour.
La réponse est donc fondamentalement que les signaux numériques sur la même carte, s'ils sont conçus correctement, peuvent être considérés comme absolument fiables pour la plupart des utilisations ordinaires. Dans des cas particuliers où le coût de l'échec est très élevé, comme l'espace et certaines applications militaires, d'autres stratégies sont utilisées. Ceux-ci incluent généralement des sous-systèmes redondants. Vous considérez toujours les signaux individuels sur une carte comme fiables, mais supposez que les cartes ou les sous-systèmes dans leur ensemble peuvent parfois se tromper. Notez également que ces systèmes coûtent beaucoup plus cher, et un tel fardeau rendrait la plupart des systèmes ordinaires, comme les ordinateurs personnels par exemple, inutiles en étant trop chers.
Cela dit, il y a des cas où même en ordinaire une détection et une correction d'erreurs électroniques grand public sont utilisées. C'est généralement parce que le processus lui-même a une certaine probabilité d'erreur et parce que les limites sont repoussées. La mémoire principale haute vitesse pour les ordinateurs inclut souvent des bits supplémentaires pour la détection et / ou la correction des erreurs. Il est moins coûteux d'obtenir les performances et le taux d'erreur ultime en repoussant les limites et en ajoutant des ressources à la correction d'erreur que de ralentir les choses et d'utiliser plus de silicium pour rendre tout intrinsèquement plus fiable.