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