之前聊過TC3xx SMU關于內部看門狗(CPU Watchdog 和Safety Watchdog)Alarm的處理方法。
汽車功能安全--TC3xx SMU之看門狗alarm處理
在里面我們提到了這些Alarm關聯的功能安全機制:
SM[HW]:SCU:ENDINIT_WATCHDOG
SM[HW]:SCU:SAFETY_WATCHDOG
有一點我們要搞明白,這些安全機制是MCU本身通過軟件或者硬件來探測和處理,這在TC3xx中被定義為Safety Mechanism。
但從ECU層面來看,還需要考慮MCU發生故障無法處理SM的場景。在TC3xx里有一類機制,全稱叫External Safety Mechanism(ESM),顧名思義就是需要依賴系統級方案來處理,保證整個系統處于安全狀態。
這類機制的方案示例如下:
今天要聊的外部看門狗安全機制ESM[HW]:SYS:WATCHDOG_FUNCTION就是其中的一種。
該機制主要是利用一個獨立時鐘和看門狗功能的外部設備來監測MCU,如果檢測到可能導致違反系統安全目標的故障,這個設備就需要讓整個系統進入到安全狀態。
那能和TC3xx配套實現上述機制的外部設備,毫無疑問TLF35584是首選。
TLF35584內置問答型和窗口型兩類看門狗用于支持機制:ESM[HW]:SYS:WATCHDOG_FUNCTION。
示意圖如下:
在上圖中,我們可以看到,窗口看門狗根據配置,可以通過GPIO(WDI引腳下降沿)或者SPI命令寫入數據在合適的時間窗口(Open Window)進行喂狗,可以用于監測APP的時間行為;
問答型看門狗,只能通過SPI進行喂狗,它給應用軟件提供4位種子值(0-0xF),然后在一個應用軟件可配置時間(也叫心跳)內要獲取到應用軟件傳來的預定義的4字節簽名,這類狗主要用于監測APP的邏輯或者功能。
如果喂狗失敗了并且失敗次數超過錯誤閾值,Safe Contol會將對外輸出的信號SS1\SS2(state signals)拉低,至于這些信號接什么,就看系統怎么定義了。
?