[導讀] 在知乎上看到一個網友的問題:為什么自己設計的嵌入式系統穩定性遠不如工業級產品?我覺得這是一個非常好的問題,尤其國內很多中小企業可能關注點更多在于產品的功能,而不在性能,產品功能很炫可是穩定性往往差強人意。所以就產品穩定性,來聊聊我的一些認知和體會。
什么是穩定性?穩定性,英文中用(可靠性)Reliability engineering來研究,可靠性工程是系統工程的一個子學科,它主要研究設備無故障運行的能力。可靠性描述了系統或組件在指定條件下持續指定時間段內運行的能力。
一個產品一般從設計的角度基本包含哪些主要的設計呢?常見的嵌入式系統,可能包含機械設計、硬件設計、軟件設計,那么從設計來談一個產品的可靠性,就必然要從這幾個主要的方面下功夫。另外工業級產品為什么表現的更加可靠呢?
為了要相對深入的談這個問題,來看看這個相關的一些術語指標是怎么描述一個系統或者零件的可靠性的。
啥是可靠性概率?可靠性定義為設備在規定條件下在指定時間段內將執行其預期功能的概率。從數學上講,這可以表示為系統的可靠性是指在時間t內沒有發生某F類故障的概率。
作何理解呢? 系統開始工作的時間, 是發生類故障的時刻。也即表征系統由于某類故障而失效的概率
啥是失效概率有可靠性概率,自然就有失效概率 ,失效概率剛好與可靠性概率是互補,滿足下面關系:
上面的概念是針對某類故障的統計規律,那么推廣開來,從系統而言去掉下標F,也滿足上述關系。一個系統由不同的組件組成。
系統失效率當系統的壽命呈指數分布時,系統的可靠性為: 其中 就是失效率(failure rate)的概念
這個曲線相信很多人應該見過,這就是產品的澡盆曲線,在產品前期老化階段比較容易暴露故障,失效率比較高。不要問我為什么,這是無數先輩們統計所得的統計規律,對于工程應用相信即可(當然如果是做理論研究的則另當別論)。這個規律也解釋了為何有的廠家出廠的產品需要做老化試驗的原因,因為做老化試驗可以將故障充分暴露出來,如此篩選出來的產品在客戶端將很少會出故障。
為啥費這么多話來討論這個失效率呢,來看看這個例表:
汽車嵌入式系統組件失效率
軍工級微處理器0.022
車規級微處理器0.12
電動馬達16.9
不同的組件的失效率是不一樣的,那么在設計之初在成本允許的情況下,就需要盡量選取失效率低的組件。
失效模式不同的組件的失效模式是不一樣的,啥概念呢?也就是組件產生故障的原因各異,比如電路板上的電阻其失效模式就有可能是短路失效,斷路失效、參數漂移失效,對于軟件而言其失效模式就有可能有很多,比如棧溢出、RAM數據錯誤、芯片總線錯誤等等。每種失效模式,其失效率也是不一樣的。如要深入其了解這些指標的含義可以參考IEC61508或者其他等同的標準。
如何提高產品的可靠性呢?
如果產品老是出問題,不光攻城獅惱火,甚至會決定一個公司的前途命運,所以如何提升產品的可靠性,絕對是一個需要花大力氣去研究的課題,也是每個從業人員需要在靈魂深處深深刻下烙印。做產品不是兒戲,產品不穩定,不僅僅會影響升職加薪,可能一個公司就會因此歇菜。
那么究竟如何能提高產品的可靠性呢?我想大體上可以從這幾個方面著手:
成功的開發流程
成功的項目管理
嚴格的質量控制
開發流程這是IEC61508界定軟件、硬件都須采用如下的V&V開發模型(注明IEC61508標準里圖不太一樣),簡單介紹一下這個模型:
現在流行很多的開發流程,比如敏捷開發模型就比較受追捧,個人并不反對敏捷開發模型,但是從產品開發的可靠性角度更推崇這種雙V模型,其實很多跑敏捷的項目在每一個迭代中其實可以融入這種雙V模型。這個模型從設計的需求》架構》詳細子模塊設計每向下走一步,都需要verfication 測試檢驗前級,同時還最終輸出validation確認設計。
在IEC 61508(功能安全等級標準)等標準中都有體現這一套路,簡略看看相關標準:
IEC 61508是適用于各種行業的基本功能安全標準。它將功能安全定義為:“與EUC(受控設備)和EUC控制系統相關的整體安全的一部分,它依賴于E/E/PE安全相關系統、其他技術安全相關系統和外部風險降低設施的正確運行。”“基本的概念是:任何安全相關的系統都必須正確工作或以可預測的(安全的)方式失效。”
個人對于V&V模型理解的幾個要點:
要可執行的流程,不要形式化套路!
標準規定的科學嚴謹套路,遵循從需求到設計的雙向可追溯,從設計到測試的雙向可追溯。
可靠性從一開始轉化市場需求時就需引入,中小型企業更多聚焦于功能實現,而忽略了性能、可靠性需求。注意這些可靠性需求都是設計目標,沒有目標如何能從體系上產出一個優良的產品呢?如不遵循嚴格的體系流程,或許一個公司偶然能出一個高質量產品,但個人認為一定很難保證出來的產品的整體質量
需求環節:可靠性是需要提需求的,舉些栗子:
環境需求,比如溫度、濕度、振動等,這些在需求階段就應界定相關的測試等級,其實即便公司的產品不需要去做相關強制認證,但是從可靠性角度,提出這樣的需求,勢必需要相應的設計以及測試去保證。那么定然從這些維度會提升產品的可靠性。
EMC需求:比如常規的抗擾度測試要求,都需要需求階段明確提出。
設計環節,可靠性需要提出需求,更需要設計去實現。對于每項可靠性需求,事實上都可以盡量轉化成設計的檢查項去追溯。比如硬件中的器件失效模型及影響分析FMEA(Failure mode and effects analysis),軟件中同樣也有對應的失效模型可做分析以及影響分析,通過失效模型分析,可參考標準中的推薦做法去從設計的角度采取對策。
測試環節:測試包含驗證(verification)和確認(validation) ,V&V模型每向下一步,都應向上一步去verification,每一個設計輸出,其實都應有對應的驗證去保障,最終的產品級還需要確認環節。另一個重要的要點就是工業級產品開發,往往在需求階段,設計就已然介入。
開發流程每個公司都各有不同,但是從產品生命周期以及產品可靠性自身規律角度,個人覺得還是應該考慮這些要點。關于開發流程以及功能安全標準內容很多,這里泛泛總結這些個人體會。
成功的項目管理項目管理是在特定的時間內領導團隊實現目標和達到成功標準的過程。項目管理的主要挑戰是在給定的約束條件下實現所有的項目目標。這些信息通常在項目文檔中描述,在開發過程的開始創建。主要的限制是范圍、時間、質量和預算。其次的挑戰是優化必要投入的分配,并應用它們來滿足預先確定的目標。
一個可靠性很高的的產品開發,與一個完善的項目管理是密不可分的。項目管理在項目的執行過程中作用是非常重要的,從啟動、計劃、執行、監管、收尾中對項目進行管理。
項目管理在這些過程中,所需的知識以及在每個階段需從事的活動可參考下圖(來源:PMBOK 第6版):
嚴格的質量控制好的設計發布,如沒有嚴格的生產質量控制,所出售的產品質量也定然沒有保障。對于這一點不怎么了解,就不做過多的描述了。
總結一下回到問題本身,如想得到一個可靠的產品,個人認為從產品設計流程、項目管理、以及生產質控方面都應有完善的要求且須很好的落實,工業級產品砸錢做那么多的認證,不是沒有緣由的。這些認證里有很多就是可靠性的具體考核。
責任編輯:haq
-
處理器
+關注
關注
68文章
19414瀏覽量
231210 -
嵌入式
+關注
關注
5094文章
19179瀏覽量
307737
發布評論請先 登錄
相關推薦
Orin芯片的穩定性測試
嵌入式工控機如何使用?嵌入式工控機操作方法及注意事項
嵌入式linux開發板怎么操作
鳳凰動力舵輪驅動輪的穩定性如何影響AGV的運行效率和穩定性
![鳳凰動力舵輪驅動輪的<b class='flag-5'>穩定性</b>如何影響AGV的運行效率和<b class='flag-5'>穩定性</b>](https://file1.elecfans.com//web2/M00/04/52/wKgZombNdYWAFc3zAAEhS-O97HM129.png)
自動控制原理怎么判斷系統的穩定性
如何確保溫度繼電器的精度和穩定性
環路增益的穩定性
智能測徑儀:高穩定性成就高精測量之選!
嵌入式系統軟硬件基礎知識大全
工業級路由器如何提升網絡穩定性?**
什么是熱電偶穩定性?影響熱電偶穩定性的主要因素
定制嵌入式主板,需要考慮的功能有哪些?
![定制<b class='flag-5'>嵌入式</b>主板,需要考慮的功能有哪些?](https://file1.elecfans.com/web2/M00/BE/B7/wKgaomWuL7SAfirbAABQNBVfD1c813.png)
評論