為什么自己設(shè)計(jì)的嵌入式系統(tǒng)不如工業(yè)級產(chǎn)品穩(wěn)定?
[導(dǎo)讀] 在知乎上看到一個(gè)網(wǎng)友的問題:為什么自己設(shè)計(jì)的嵌入式系統(tǒng)穩(wěn)定性遠(yuǎn)不如工業(yè)級產(chǎn)品?我覺得這是一個(gè)非常好的問題,尤其國內(nèi)很多中小企業(yè)可能關(guān)注點(diǎn)更多在于產(chǎn)品的功能,而不在性能,產(chǎn)品功能很炫可是穩(wěn)定性往往差強(qiáng)人意。所以就產(chǎn)品穩(wěn)定性,來聊聊我的一些認(rèn)知和體會。
什么是穩(wěn)定性?
穩(wěn)定性,英文中用(可靠性)Reliability engineering來研究,可靠性工程是系統(tǒng)工程的一個(gè)子學(xué)科,它主要研究設(shè)備無故障運(yùn)行的能力。可靠性描述了系統(tǒng)或組件在指定條件下持續(xù)指定時(shí)間段內(nèi)運(yùn)行的能力。
一個(gè)產(chǎn)品一般從設(shè)計(jì)的角度基本包含哪些主要的設(shè)計(jì)呢?常見的嵌入式系統(tǒng),可能包含機(jī)械設(shè)計(jì)、硬件設(shè)計(jì)、軟件設(shè)計(jì),那么從設(shè)計(jì)來談一個(gè)產(chǎn)品的可靠性,就必然要從這幾個(gè)主要的方面下功夫。另外工業(yè)級產(chǎn)品為什么表現(xiàn)的更加可靠呢?
為了要相對深入的談這個(gè)問題,來看看這個(gè)相關(guān)的一些術(shù)語指標(biāo)是怎么描述一個(gè)系統(tǒng)或者零件的可靠性的。
啥是可靠性概率?
可靠性定義為設(shè)備在規(guī)定條件下在指定時(shí)間段內(nèi)將執(zhí)行其預(yù)期功能的概率。從數(shù)學(xué)上講,這可以表示為系統(tǒng)的可靠性是指在時(shí)間t內(nèi)沒有發(fā)生某F類故障的概率。
作何理解呢? 系統(tǒng)開始工作的時(shí)間, 是發(fā)生類故障的時(shí)刻。也即表征系統(tǒng)由于某類故障而失效的概率
啥是失效概率
有可靠性概率,自然就有失效概率 ,失效概率剛好與可靠性概率是互補(bǔ),滿足下面關(guān)系:
上面的概念是針對某類故障的統(tǒng)計(jì)規(guī)律,那么推廣開來,從系統(tǒng)而言去掉下標(biāo)F,也滿足上述關(guān)系。一個(gè)系統(tǒng)由不同的組件組成。
系統(tǒng)失效率
當(dāng)系統(tǒng)的壽命呈指數(shù)分布時(shí),系統(tǒng)的可靠性為: ,其中 就是失效率(failure rate)的概念
這個(gè)曲線相信很多人應(yīng)該見過,這就是產(chǎn)品的澡盆曲線,在產(chǎn)品前期老化階段比較容易暴露故障,失效率比較高。不要問我為什么,這是無數(shù)先輩們統(tǒng)計(jì)所得的統(tǒng)計(jì)規(guī)律,對于工程應(yīng)用相信即可(當(dāng)然如果是做理論研究的則另當(dāng)別論)。這個(gè)規(guī)律也解釋了為何有的廠家出廠的產(chǎn)品需要做老化試驗(yàn)的原因,因?yàn)樽隼匣囼?yàn)可以將故障充分暴露出來,如此篩選出來的產(chǎn)品在客戶端將很少會出故障。
為啥費(fèi)這么多話來討論這個(gè)失效率呢,來看看這個(gè)例表:
汽車嵌入式系統(tǒng)組件 | 失效率 |
---|---|
軍工級微處理器 | 0.022 |
車規(guī)級微處理器 | 0.12 |
電動馬達(dá) | 16.9 |
不同的組件的失效率是不一樣的,那么在設(shè)計(jì)之初在成本允許的情況下,就需要盡量選取失效率低的組件。
失效模式
不同的組件的失效模式是不一樣的,啥概念呢?也就是組件產(chǎn)生故障的原因各異,比如電路板上的電阻其失效模式就有可能是短路失效,斷路失效、參數(shù)漂移失效,對于軟件而言其失效模式就有可能有很多,比如棧溢出、RAM數(shù)據(jù)錯(cuò)誤、芯片總線錯(cuò)誤等等。每種失效模式,其失效率也是不一樣的。如要深入其了解這些指標(biāo)的含義可以參考IEC61508或者其他等同的標(biāo)準(zhǔn)。
如何提高產(chǎn)品的可靠性呢?
如果產(chǎn)品老是出問題,不光攻城獅惱火,甚至?xí)Q定一個(gè)公司的前途命運(yùn),所以如何提升產(chǎn)品的可靠性,絕對是一個(gè)需要花大力氣去研究的課題,也是每個(gè)從業(yè)人員需要在靈魂深處深深刻下烙印。 做產(chǎn)品不是兒戲,產(chǎn)品不穩(wěn)定,不僅僅會影響升職加薪,可能一個(gè)公司就會因此歇菜。
那么究竟如何能提高產(chǎn)品的可靠性呢?我想大體上可以從這幾個(gè)方面著手:
-
成功的開發(fā)流程 -
成功的項(xiàng)目管理 -
嚴(yán)格的質(zhì)量控制
開發(fā)流程
這是IEC61508界定軟件、硬件都須采用如下的V&V開發(fā)模型(注明IEC61508標(biāo)準(zhǔn)里圖不太一樣),簡單介紹一下這個(gè)模型:
現(xiàn)在流行很多的開發(fā)流程,比如敏捷開發(fā)模型就比較受追捧,個(gè)人并不反對敏捷開發(fā)模型,但是從產(chǎn)品開發(fā)的可靠性角度更推崇這種雙V模型,其實(shí)很多跑敏捷的項(xiàng)目在每一個(gè)迭代中其實(shí)可以融入這種雙V模型。這個(gè)模型從設(shè)計(jì)的需求>架構(gòu)>詳細(xì)子模塊設(shè)計(jì)每向下走一步,都需要verfication 測試檢驗(yàn)前級,同時(shí)還最終輸出validation確認(rèn)設(shè)計(jì)。
在IEC 61508(功能安全等級標(biāo)準(zhǔn))等標(biāo)準(zhǔn)中都有體現(xiàn)這一套路,簡略看看相關(guān)標(biāo)準(zhǔn):
IEC 61508是適用于各種行業(yè)的基本功能安全標(biāo)準(zhǔn)。它將功能安全定義為:“與EUC(受控設(shè)備)和EUC控制系統(tǒng)相關(guān)的整體安全的一部分,它依賴于E/E/PE安全相關(guān)系統(tǒng)、其他技術(shù)安全相關(guān)系統(tǒng)和外部風(fēng)險(xiǎn)降低設(shè)施的正確運(yùn)行。”“基本的概念是:任何安全相關(guān)的系統(tǒng)都必須正確工作或以可預(yù)測的(安全的)方式失效?!?/p>
個(gè)人對于V&V模型理解的幾個(gè)要點(diǎn):
-
要可執(zhí)行的流程,不要形式化套路! -
標(biāo)準(zhǔn)規(guī)定的科學(xué)嚴(yán)謹(jǐn)套路,遵循從需求到設(shè)計(jì)的雙向可追溯,從設(shè)計(jì)到測試的雙向可追溯。 -
可靠性從一開始轉(zhuǎn)化市場需求時(shí)就需引入,中小型企業(yè)更多聚焦于功能實(shí)現(xiàn),而忽略了性能、可靠性需求。注意這些可靠性需求都是設(shè)計(jì)目標(biāo),沒有目標(biāo)如何能從體系上產(chǎn)出一個(gè)優(yōu)良的產(chǎn)品呢?如不遵循嚴(yán)格的體系流程,或許一個(gè)公司偶然能出一個(gè)高質(zhì)量產(chǎn)品,但個(gè)人認(rèn)為一定很難保證出來的產(chǎn)品的整體質(zhì)量 -
需求環(huán)節(jié):可靠性是需要提需求的,舉些栗子: -
環(huán)境需求,比如溫度、濕度、振動等,這些在需求階段就應(yīng)界定相關(guān)的測試等級,其實(shí)即便公司的產(chǎn)品不需要去做相關(guān)強(qiáng)制認(rèn)證,但是從可靠性角度,提出這樣的需求,勢必需要相應(yīng)的設(shè)計(jì)以及測試去保證。那么定然從這些維度會提升產(chǎn)品的可靠性。 -
EMC需求:比如常規(guī)的抗擾度測試要求,都需要需求階段明確提出。 -
..... -
設(shè)計(jì)環(huán)節(jié),可靠性需要提出需求,更需要設(shè)計(jì)去實(shí)現(xiàn)。對于每項(xiàng)可靠性需求,事實(shí)上都可以盡量轉(zhuǎn)化成設(shè)計(jì)的檢查項(xiàng)去追溯。比如硬件中的器件失效模型及影響分析FMEA(Failure mode and effects analysis),軟件中同樣也有對應(yīng)的失效模型可做分析以及影響分析,通過失效模型分析,可參考標(biāo)準(zhǔn)中的推薦做法去從設(shè)計(jì)的角度采取對策。 -
測試環(huán)節(jié):測試包含驗(yàn)證(verification)和確認(rèn)(validation) ,V&V模型每向下一步,都應(yīng)向上一步去verification,每一個(gè)設(shè)計(jì)輸出,其實(shí)都應(yīng)有對應(yīng)的驗(yàn)證去保障,最終的產(chǎn)品級還需要確認(rèn)環(huán)節(jié)。另一個(gè)重要的要點(diǎn)就是工業(yè)級產(chǎn)品開發(fā),往往在需求階段,設(shè)計(jì)就已然介入。
開發(fā)流程每個(gè)公司都各有不同,但是從產(chǎn)品生命周期以及產(chǎn)品可靠性自身規(guī)律角度,個(gè)人覺得還是應(yīng)該考慮這些要點(diǎn)。關(guān)于開發(fā)流程以及功能安全標(biāo)準(zhǔn)內(nèi)容很多,這里泛泛總結(jié)這些個(gè)人體會。
成功的項(xiàng)目管理
項(xiàng)目管理是在特定的時(shí)間內(nèi)領(lǐng)導(dǎo)團(tuán)隊(duì)實(shí)現(xiàn)目標(biāo)和達(dá)到成功標(biāo)準(zhǔn)的過程。項(xiàng)目管理的主要挑戰(zhàn)是在給定的約束條件下實(shí)現(xiàn)所有的項(xiàng)目目標(biāo)。這些信息通常在項(xiàng)目文檔中描述,在開發(fā)過程的開始創(chuàng)建。主要的限制是范圍、時(shí)間、質(zhì)量和預(yù)算。其次的挑戰(zhàn)是優(yōu)化必要投入的分配,并應(yīng)用它們來滿足預(yù)先確定的目標(biāo)。
一個(gè)可靠性很高的的產(chǎn)品開發(fā),與一個(gè)完善的項(xiàng)目管理是密不可分的。項(xiàng)目管理在項(xiàng)目的執(zhí)行過程中作用是非常重要的,從啟動、計(jì)劃、執(zhí)行、監(jiān)管、收尾中對項(xiàng)目進(jìn)行管理。
項(xiàng)目管理在這些過程中,所需的知識以及在每個(gè)階段需從事的活動可參考下圖(來源:PMBOK 第6版):
嚴(yán)格的質(zhì)量控制
好的設(shè)計(jì)發(fā)布,如沒有嚴(yán)格的生產(chǎn)質(zhì)量控制,所出售的產(chǎn)品質(zhì)量也定然沒有保障。對于這一點(diǎn)不怎么了解,就不做過多的描述了。
總結(jié)一下
回到問題本身,如想得到一個(gè)可靠的產(chǎn)品,個(gè)人認(rèn)為從產(chǎn)品設(shè)計(jì)流程、項(xiàng)目管理、以及生產(chǎn)質(zhì)控方面都應(yīng)有完善的要求且須很好的落實(shí),工業(yè)級產(chǎn)品砸錢做那么多的認(rèn)證,不是沒有緣由的。這些認(rèn)證里有很多就是可靠性的具體考核。
-END-
推薦閱讀
免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務(wù)。文章僅代表作者個(gè)人觀點(diǎn),不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!