我的設(shè)計(jì)成功很大程度上歸功于我的大學(xué)。不是因?yàn)閷?shí)驗(yàn)室實(shí)驗(yàn)我們學(xué)到了什么可能會(huì)意外炸毀電容器,而是因?yàn)槲覀兞私獾組urphy定律可以在你最不期望的時(shí)候發(fā)生。由于我花了很多時(shí)間玩魔獸并努力完成無(wú)休止的任務(wù),我依靠我的電腦一直運(yùn)行。
當(dāng)時(shí),電腦相當(dāng)有限,看到的情況并不少見(jiàn)臭名昭著的Windows“藍(lán)屏死機(jī)”偶爾彈出。雖然從魔獸游戲中被打斷是令人沮喪的;丟失數(shù)小時(shí)未保存的系統(tǒng)計(jì)算機(jī)崩潰任務(wù)會(huì)讓我陷入大規(guī)模的恐慌襲擊。作為a,當(dāng)您的微控制器在現(xiàn)場(chǎng)發(fā)生故障時(shí),您可能會(huì)遇到類似的恐慌。
微控制器故障模式如何影響系統(tǒng)
在嵌入式系統(tǒng)中,微控制器故障模式(MCU)可能比錯(cuò)過(guò)任務(wù)的截止日期更糟糕。 MCU通常是支付機(jī)器,醫(yī)療設(shè)備和安全系統(tǒng)等應(yīng)用程序的核心。這些系統(tǒng)要求高穩(wěn)定性,并且通常對(duì)系統(tǒng)故障率具有較低的容差。
發(fā)生故障的MCU可能導(dǎo)致運(yùn)行完全停頓。這可能給用戶帶來(lái)不便或在關(guān)鍵應(yīng)用中造成功能安全風(fēng)險(xiǎn)。對(duì)于客戶而言,不可靠的系統(tǒng)會(huì)影響運(yùn)營(yíng)能力并可能導(dǎo)致收入損失。對(duì)于設(shè)計(jì)師來(lái)說(shuō),他們的數(shù)百種產(chǎn)品在現(xiàn)場(chǎng)不斷失敗對(duì)我們的驕傲是一個(gè)巨大的打擊,并且會(huì)影響我們的聲譽(yù)。
指點(diǎn)手指沒(méi)有'幫助失敗的微控制器。
為什么微控制器失敗以及誰(shuí)應(yīng)該負(fù)責(zé)
可靠的嵌入式系統(tǒng)需要共同努力硬件設(shè)計(jì)師和固件程序員。在開(kāi)發(fā)階段,一些設(shè)計(jì)故障可能無(wú)法檢測(cè)到,只有在部署后才會(huì)出現(xiàn)丑陋的頭部。在這種情況下,誰(shuí)應(yīng)該承擔(dān)更大的責(zé)任?
在我們開(kāi)始指責(zé)之前,讓我們來(lái)看看微控制器失效的原因。
1。存儲(chǔ)器堆棧溢出
微控制器的存儲(chǔ)器堆棧是其內(nèi)部RAM的指定區(qū)域,用于臨時(shí)使用。存儲(chǔ)器堆棧的大小是有限的,并且隨著不同的MCU而變化。當(dāng)固件程序員分配大于堆棧大小的變量時(shí),運(yùn)行時(shí)可能會(huì)發(fā)生堆棧溢出并導(dǎo)致固件失敗。
2。非法指針
在MCU固件編程中,指針通常用于指示變量或程序函數(shù)的地址。聲明和使用指針要求固件程序員遵守編程語(yǔ)言定義的嚴(yán)格語(yǔ)法,通常在C語(yǔ)言中。錯(cuò)誤地引入非法指針會(huì)導(dǎo)致MCU嘗試處理超出其有效范圍的地址中的變量或函數(shù)。這可能會(huì)導(dǎo)致MCU崩潰。
3。不穩(wěn)定的電壓源
MCU通常是一個(gè)被忽視的因素,需要穩(wěn)定的電網(wǎng)才能可靠運(yùn)行。當(dāng)電源因外部干擾而不斷中斷時(shí),MCU可能會(huì)發(fā)生故障。工作電壓的下降可能導(dǎo)致MCU表現(xiàn)不正?;蛲耆珒鼋Y(jié)。
4。電氣干擾
未能處理電氣干擾,尤其是繼電器和電機(jī)引起的電氣干擾可能導(dǎo)致MCU崩潰。在我早期的一個(gè)驅(qū)動(dòng)簡(jiǎn)單直流電機(jī)的項(xiàng)目中,每次嘗試反向驅(qū)動(dòng)電機(jī)時(shí),我的MCU都會(huì)出現(xiàn)故障。通過(guò)使用運(yùn)算放大器增加其電隔離來(lái)解決該問(wèn)題。
5。裝配過(guò)程不良
有時(shí),微控制器單元故障可能與硬件或固件工程師無(wú)關(guān)。 MCU引腳上的低質(zhì)量焊點(diǎn)可能導(dǎo)致不可預(yù)測(cè)的MCU行為。如果只有少數(shù)嵌入式系統(tǒng)發(fā)生故障,您可能會(huì)開(kāi)始研究制造商的工藝質(zhì)量。
硬件和固件工程師都必須在設(shè)計(jì)可靠的嵌入式系統(tǒng)方面發(fā)揮作用,而不是玩責(zé)備游戲。預(yù)先實(shí)踐良好的編程道德規(guī)范和計(jì)劃內(nèi)存分配是最佳實(shí)踐。對(duì)于程序員來(lái)說(shuō),保持簡(jiǎn)單可以是最小化錯(cuò)誤代碼的明智選擇。
硬件設(shè)計(jì)人員需要考慮硬件將被使用的環(huán)境并為所有可能性做好準(zhǔn)備。這意味著堅(jiān)持所有最好的基本設(shè)計(jì)實(shí)踐,并充分利用您的PCB軟件工具來(lái)測(cè)試設(shè)計(jì)。 Altium的CircuitStudio?采用AltiumDesigner?技術(shù)構(gòu)建,為您提供設(shè)計(jì)專業(yè)PCB的工具。
-
pcb
+關(guān)注
關(guān)注
4369文章
23496瀏覽量
409951 -
電路設(shè)計(jì)
+關(guān)注
關(guān)注
6708文章
2543瀏覽量
214867 -
控制
+關(guān)注
關(guān)注
5文章
1024瀏覽量
123866 -
華強(qiáng)pcb線路板打樣
+關(guān)注
關(guān)注
5文章
14629瀏覽量
43938
發(fā)布評(píng)論請(qǐng)先 登錄
評(píng)論