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