本應用說明介紹了在噪聲干擾較重的應用中使用 S08PT60、FL16 和 AC60 的 MCU 器件時如何實現(xiàn)強大的軟件。在一般情況下,軟件設計無法改變將噪聲耦合到系統(tǒng)中的物理介質,也無法降低外部源產(chǎn)生的噪聲的絕對幅度。但是,軟件必須能夠識別特定事件,如果它是由噪聲源觸發(fā)的誤報,或者是正常的驅動事件,然后對相應的操作做出明智的決定。例如,如果請求的操作存在任何不確定性,則軟件不得打開 power control stage。良好的防御性軟件設計是提高整體性能、系統(tǒng)保護和噪聲環(huán)境下運行穩(wěn)定性的關鍵因素之一。
這里說明了大多數(shù)微波爐應用使用的典型軟件設計,以展示如何在實際案例中應用以下軟件技術。每個主題還包括設備 PT60、FL16 和 AC60 的示例代碼,作為快速入門指南,以幫助用戶更快地采用這些技術。
一個好的防御軟件推薦使用以下軟件技術。
? 啟用 Watch-Dog 以避免代碼失控
? 定期刷新數(shù)據(jù)方向寄存器
? 填充未使用的內存以避免代碼失控
? 定義所有中斷向量,甚至包括未使用的中斷向量
? 選擇鎖頻環(huán) (FLL) 接合模式
? 始終重新確認邊緣觸發(fā)的事件
? 在輸出端口上啟用轉換速率控制
? 啟用輸入毛刺濾波器(PT60 內置功能)
當應用軟件無法按預期執(zhí)行時,例如,當瞬態(tài)噪聲注入 MCU 時,正在運行的軟件跳轉到意外的內存位置或進入無限循環(huán),從而強制系統(tǒng)重置。為了防止在啟用 WDOG 計時器時從 WDOG 計時器重置系統(tǒng),應用程序軟件必須定期重置 WDOG 計數(shù)器。如果應用程序丟失并且無法在 WDOG 計數(shù)器超時之前重置 WDOG 計數(shù)器,則會生成系統(tǒng)重置以強制系統(tǒng)返回到已知的起點。建議將 WDOG 刷新routine 而不是 sub-routines 和 interrupt routines。WDOG 函數(shù)在主循環(huán)開始時初始化,WDOG 計數(shù)器在 forever 循環(huán)內定期重置。WDOG 重置代碼由宏 __RESET_WATCHDOG() 定義。