您必须假设某些事情正常工作,即使在有错误检查的世界中也是如此。当板上通常有更多的数字信号时,为什么要选择 IIC 或 SPI?您似乎可以假设这些都将按预期进行解释。
正确设计的电路板上的正确设计电路应该是可靠的。想一想 CMOS 输出在电路板上驱动 CMOS 输入。除了彻底的组件故障(这与偶尔的数据损坏完全不同的问题)之外,想想实际可能出现的问题。在驱动端,您有一个 FET,它具有将线路连接到 Vdd 或接地的最大保证电阻。你想象的究竟是什么导致接收端没有正确的电平?
最初,状态可能不确定,因为线路上的任何电容都被充电或放电。然后在短迹线中可能会出现振铃。但是,我们可以计算出所有这一切稳定的最大最坏情况时间,并且线路在另一端可靠地跨越某个阈值。
一旦达到这个时间并且我们已经等待逻辑的最坏情况传播延迟是什么,就几乎没有改变信号了。您可能会认为来自电路板其他部分的噪声会耦合到信号上。是的,这可能发生,但我们也可以为此进行设计。电路板另一部分的噪声量通常是已知的。如果不是,那么它来自其他地方,并且在适当的设计中,它将被限制在某些最大 dV/dt 和其他特性上。这些东西都是可以设计的。
理论上,外部噪声会扰乱电路板上的走线,但对于设计合理的电路板,场强需要过大。高噪音环境确实存在,但仅限于已知位置。一块板可能无法在距离 10 kW 发射器 10 米处工作,但即使是这样也可以设计。
所以答案基本上是同一块板上的数字信号,如果设计得当,对于大多数普通用途来说是绝对可靠的。在失败成本非常高的特殊情况下,例如太空和某些军事应用,则使用其他策略。这些通常包括冗余子系统。您仍然认为板上的单个信号是可靠的,但假设板或子系统作为一个整体可能偶尔会出错。另请注意,这些系统的成本要高得多,而这样的成本负担会使大多数普通系统(例如个人计算机)因太贵而无用。
话虽如此,在某些情况下,即使在普通的消费电子产品中也会使用错误检测和纠正。这通常是因为过程本身具有一定的错误概率,并且因为限制被推动。计算机的高速主存储器通常确实包含用于错误检测和/或纠正的额外位。通过推动限制和增加资源来纠错来获得性能和最终错误率比放慢速度并使用更多的芯片来使一切本质上更可靠更便宜。