符合安全标准的汽车器件冗余设计
时间:11-21
来源:互联网
点击:
软件多样化冗余
在软件冗余中,将在软件中执行该任务多次。可使用不同的软件执行该任务多次(不同的算法用于同一个任务),然后比较结果, 这将改善诊断覆盖。
设计中使用两种完全不同的软件实现,即在一个处理单元中使用不同的算法来执行相同的任务。图3说明了实现情况。主用通道负责计算,如果计算错误,可能导致危险。冗余通道负责检验主用通道的计算,如果发现故障则采取行动。冗余通道采用单独的算法设计和代码实现,以提供软件多样化。一旦两条通道都完成后,则比较这两种冗余软件实现的输出数据。如发现差异,则生成故障消息。
图3:单一硬件通道软件冗余工作原理
算法多样化示例包括:A+B=C与C-B=A。一个通道使用正常的计算,另一个通道使用二进制补码数学。
两个处理单元相互交换数据(包括结果、中间结果和测试数据),在每个单元中使用软件比较数据,如检测到差异则生成故障消息。图4说明了实现情况。在这种情况下,主用通道和冗余通道在不同的处理单元中使用不同的软件算法来执行。如果使用不同的处理器类型以及单独的算法设计、代码和编译器,那么这种方法允许硬件和软件多样性。另外,外设复制与内核复制不同。外设共享外部世界的相同输入,外设的输出在软件中进行比较。例如,在SoC中使用多个ADC,输入信道被复制到大多数ADC,它们的输出可在软件中进行比较。
图4:多处理单元软件冗余工作原理
信息冗余和时间冗余
信息冗余是指在通过嘈杂的信道传输信息时添加到实际数据中的冗余数据,目的是检测故障或修复故障。 下面介绍了几种信息冗余方案,如:奇偶校验位、校验和、纠错码。
奇偶校验位是指被添加到二进制数据结尾的位,指示数据中“1”的数量是奇数还是偶数。偶校验方案是指如果数据中“1”的数量为奇数,则向数据添加一个“1”。奇校验方案是指,如果数据中“1”的数量为偶数,则向数据添加一个 “1”。例如,如果实际数据为 “11110000 0000”,并且在其后添加了一个偶校验位,那么“111100000 0000 0”将通过通信信道传输。在接收器端,如果收到单个的位触发数据,那么接收器将检测到数据在传输过程中被破坏,可请求发射器重新发送数据。
校验和是使用某些函数通过信息数据计算的数据。它与信息数据一起通过噪声信道传输。在接收器端,使用收到的数据计算校验和。计算的校验和应匹配所收到的校验和。错误检测功能取决于冗余比特数量、数据大小,以及生成校验和所用的多项式。 奇偶性、模块化和和与位置相关的校验和是几种可用于错误检测的校验和示例。在检测到错误的情况下,可通过信号通知发射器,重新传输数据。
某些校验函数不仅能够检测错误,还能指出数据中可能引入的某些类型的错误,从而在不重新发送数据的情况下让接收器能够获得正确的数据,这些函数被称为纠错码。能够被校正的错误也有限制。例如,汉明码是纠错码。尽管汉明码能够检测到双位错误,但只能校正数据中的单位错误。格雷码能够检测四位错误,但只能校正三位错误。BCH 码、Goppa码、Reed-Solomon 码、Reed-Muller码和Hadamard码是以其发明人命名的其他代码。此类编码技术可作为信息和编码理论的一部分进行研究,是应用数学、电子工程和计算机科学的一个有趣和广泛的分支。
时间冗余是指以冗余的方式执行安全关键的任务,随时间而变化。由于这些冗余任务随时间而变化,因此有助于消除瞬时故障。其中,单个硬件信道上的时间冗余是使用同一款软件在一个硬件上执行多次安全关键的任务,然后再比较多次运算的结果。如果发现差异,则执行相关的纠正操作。上述“软件冗余”部分中描述的“软件多样化冗余”(一个硬件通道)是此类冗余的扩展版本。
并行硬件信道上的时间冗余是在并行信道上执行、但不同时执行所有安全关键的任务,它有助于随着时间的推移创建冗余。 瞬时故障不会以相同的方式影响操作,即使并行信道是对称的硬件。上述“硬件冗余”部分中描述的“延迟锁步”是此类时间冗余的一个示例。
结语
汽车行业使用到多种设计技术,以实现安全性,各种冗余技术是实现安全性所必不可少的,目的是确保设备在发生故障时更加可靠和稳定。硬件冗余的优势是能够尽早检测到故障,但代价是需要增加硬件数量。另一方面,如果系统成本有限,那么软件冗余可能用处更大。总之,冗余是实现提高汽车安全性能的关键所在,可以利用硬件和软件冗余,以及信息冗余、时间冗余等,使得系统更加稳定而可靠。
飞思卡尔 半导体 电子 汽车电子 SoC 电压 看门狗 电路 ADC 相关文章:
- 基于9S12DG128的智能车控制系统设计与实现(08-27)
- MC9S12XHY256:汽车控制解决方案(03-25)
- 实现车身控制应用的低成本设计(06-18)
- 智能小车多功能传感器模块的设计(08-27)
- 基于MPC5606S的汽车TFT彩屏仪表开发技巧(10-19)
- 奇瑞自主研发引擎管理系统的幕后功臣(09-12)