硬件看門狗導致MCU啟動時間慢
最近,在項目交付過程中,我們遇到了一個有趣的問題,與大家分享一下。
客戶的需求是:在KL15電壓上電后,MCU需要在200ms內發送出第一包CAN報文數據。然而,實際測試結果顯示,軟件需要360ms才能發送出第一包數據。
經過測量,從KL15上電到MCU 3.3V電壓穩定,耗時75.5ms。
而MCU在3.3V電壓輸出第一包CAN報文耗時304ms。
此外,MCU軟件從BOOT啟動到APP啟動耗時60ms。
理論上,這些時間加起來不應超過140ms,那么多余的220ms究竟來自哪里呢?
進一步調查發現,外部晶振在3.3V電壓穩定后的281ms才開始正常工作。
最終測試發現,表面上看似晶振起振慢,實際上是由于看門狗在啟動階段一直拉低MCU的RESET腳,從而影響了晶振的起振速度。
根據使用的硬件看門狗芯片的特性,首次上電后的100~300ms內,實測結果顯示會在200+ms的時間里處于拉低狀態。
*博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。