Sie müssen davon ausgehen, dass bestimmte Dinge auch in einer Welt mit Fehlerprüfung einfach funktionieren. Warum IIC oder SPI wählen, wenn sich normalerweise viel mehr digitale Signale auf einer Karte befinden? Sie scheinen damit einverstanden zu sein, dass diese alle wie beabsichtigt interpretiert werden.
Eine richtig gestaltete Schaltung auf einer richtig gestalteten Platine sollte zuverlässig sein. Stellen Sie sich einen CMOS-Ausgang vor, der einen CMOS-Eingang über eine Karte steuert. Denken Sie darüber nach, was tatsächlich schief gehen kann, abgesehen von einem direkten Komponentenausfall (der ein ganz anderes Problem darstellt als gelegentliche Datenbeschädigungen). Am Antriebsende haben Sie einen FET mit einem maximalen garantierten Widerstand, der eine Leitung entweder mit Vdd oder Masse verbindet. Was genau kann Ihrer Meinung nach dazu führen, dass das empfangende Ende nicht das richtige Niveau hat?
Anfänglich kann der Zustand unbestimmt sein, wenn die Kapazität auf der Leitung geladen oder entladen wird. Dann kann es in der kurzen Spur klingeln. Wir können jedoch die maximalen Worst-Case-Zeiten berechnen, damit sich all dies einpendelt und die Linie am anderen Ende zuverlässig über einem bestimmten Schwellenwert liegt.
Sobald diese Zeit erreicht ist und wir auf die ungünstigste Ausbreitungsverzögerung der Logik gewartet haben, gibt es wenig, um das Signal zu ändern. Möglicherweise denken Sie, dass Rauschen von anderen Teilen der Platine auf das Signal gekoppelt werden kann. Ja, das kann passieren, aber wir können auch dafür entwerfen. Das Ausmaß des Rauschens in einem anderen Teil der Platine ist allgemein bekannt. Wenn nicht, dann kommt es von woanders und in der richtigen Ausführung würde es geklemmt, um auf einige maximale dV / dt und andere Eigenschaften beschränkt zu sein. Diese Dinge können alle für entworfen werden.
Externes Rauschen kann theoretisch die Spuren auf einer Platine stören, aber die Feldstärke müsste für eine ordnungsgemäß gestaltete Platine unangemessen groß sein. Es gibt Umgebungen mit hohem Rauschen, die jedoch auf bekannte Standorte beschränkt sind. Eine Platine arbeitet möglicherweise nicht 10 Meter von einem 10-kW-Sender entfernt, aber selbst das kann dafür ausgelegt sein.
Die Antwort lautet also im Grunde, dass digitale Signale auf derselben Karte, wenn sie richtig ausgelegt sind, für die meisten gewöhnlichen Anwendungen als absolut zuverlässig angesehen werden können. In besonderen Fällen, in denen die Ausfallkosten sehr hoch sind, wie z. B. Platzbedarf und einige militärische Anwendungen, werden andere Strategien verwendet. Dazu gehören normalerweise redundante Subsysteme. Sie halten einzelne Signale auf einer Karte immer noch für zuverlässig, gehen jedoch davon aus, dass gelegentlich Karten oder Subsysteme als Ganzes fehlerhaft sind. Beachten Sie auch, dass diese Systeme viel mehr kosten und eine solche Kostenbelastung die meisten gewöhnlichen Systeme, wie z. B. PCs, unbrauchbar machen würde, weil sie zu teuer sind.
Trotzdem gibt es Fälle, in denen selbst in der normalen Unterhaltungselektronik eine Fehlererkennung und -korrektur angewendet wird. Dies liegt normalerweise daran, dass der Prozess selbst eine bestimmte Fehlerwahrscheinlichkeit aufweist und dass Grenzen überschritten werden. Der Hochgeschwindigkeits-Hauptspeicher für Computer enthält häufig zusätzliche Bits zur Fehlererkennung und / oder -korrektur. Es ist billiger, die Leistung und die ultimative Fehlerrate zu erreichen, indem Grenzen überschritten und Ressourcen zur Fehlerkorrektur hinzugefügt werden, als Dinge zu verlangsamen und mehr Silizium zu verwenden, um alles von Natur aus zuverlässiger zu machen.