Time:2023-05-24 Reading times:3138
隨著科技的發(fā)展,嵌入式系統(tǒng)在我們的生活中得到了廣泛的應(yīng)用。從傳統(tǒng)的家電主控模塊、投影儀、路由器、手機(jī)等等,發(fā)展到目前的無人機(jī)、智能家居、掃地機(jī)器人、智能手表、健康手環(huán)等等。除了生活消費(fèi)方面,汽車、工業(yè)、醫(yī)療器械甚至智慧城市等都各類嵌入式系統(tǒng)的應(yīng)用。
嵌入式系統(tǒng)是以應(yīng)用為中心,以現(xiàn)代計(jì)算機(jī)技術(shù)為基礎(chǔ),能夠根據(jù)需求(功能、可靠性、成本、體積、功耗、環(huán)境等)靈活裁剪軟硬件模塊的專用計(jì)算機(jī)系統(tǒng)。
與嵌入式系統(tǒng)相對(duì)應(yīng)的,則是通用計(jì)算機(jī)系統(tǒng),如個(gè)人電腦、工控機(jī)、服務(wù)器等。通用計(jì)算機(jī)系統(tǒng)不針對(duì)特定應(yīng)用需求,而是可以運(yùn)行各種軟件和程序,具有極高的通用性和擴(kuò)展性。可以通過下表的對(duì)比,來提高對(duì)嵌入式系統(tǒng)的理解。
嵌入式系統(tǒng)的設(shè)計(jì)方案會(huì)隨應(yīng)用領(lǐng)域千差萬別,但其分析和設(shè)計(jì)方法也遵循一般原則,許多成熟的分析和設(shè)計(jì)方法都可以使用。嵌入式系統(tǒng)開發(fā)的步驟一般可分為需求分析、系統(tǒng)設(shè)計(jì)、硬件設(shè)計(jì)、軟件設(shè)計(jì)、系統(tǒng)集成、測試和維護(hù)。
一、需求分析
需求分析階段的主要任務(wù)是:
1.問題的識(shí)別和分析
對(duì)目標(biāo)應(yīng)用相關(guān)的問題進(jìn)行抽象識(shí)別以產(chǎn)生如下的需求:功能需求、性能需求、環(huán)境需求、可靠性需求、安全需求、用戶界面需求、資源使用需求、軟件成本與開發(fā)進(jìn)度需求。
2.制定規(guī)格說明文檔
經(jīng)過對(duì)問題的識(shí)別,產(chǎn)生了系統(tǒng)各方面的需求。通過對(duì)規(guī)格的說明,文檔得以清晰、準(zhǔn)確地描述。這些說明文檔包括需求規(guī)格說明書和初級(jí)的用戶手冊等。
3.需求評(píng)審
需求評(píng)審作為系統(tǒng)進(jìn)入下一階段前最后的需求分析復(fù)查手段,在需求分析的最后階段對(duì)各項(xiàng)需求進(jìn)行評(píng)估,以保證需求的質(zhì)量。需求評(píng)審的內(nèi)容包括正確性、無歧義性、安全性、可驗(yàn)證性、一致性、可理解性、可修改性、可追蹤性等多個(gè)方面。
二、系統(tǒng)設(shè)計(jì)
嵌入式系統(tǒng)設(shè)計(jì)階段,需要解決以下幾個(gè)方面的問題:
1.硬件的取舍:在滿足需求和控制成本的約束下,合理選擇處理器、儲(chǔ)存器、外設(shè)等等硬件模塊。
2.系統(tǒng)性能:除提高處理器速度的方法外,綜合多種因素考慮設(shè)計(jì)以滿足應(yīng)用對(duì)性能的需求。
3.系統(tǒng)功耗:無論是否采用電池供電,系統(tǒng)功耗都是嵌入式系統(tǒng)的敏感問題。需在滿足性能需求的基礎(chǔ)上降低功耗。
4.系統(tǒng)可升級(jí)性:系統(tǒng)的硬件平臺(tái)可能使用較長時(shí)間,或產(chǎn)生不同的型號(hào),系統(tǒng)設(shè)計(jì)時(shí),必須考慮通過改變軟件來提供現(xiàn)在未能開發(fā)的功能或性能。
5.系統(tǒng)可靠性:可靠性是嵌入式系統(tǒng)重要的指標(biāo)。
6.測試:嵌入式系統(tǒng)往往難以測試,也不能離開其工作環(huán)境而測試,需要在早期就加以設(shè)計(jì)。
解決上述方面的問題后,根據(jù)上一階段的需求分析,設(shè)計(jì)嵌入式系統(tǒng)的硬件和軟件架構(gòu),選擇合適的微處理器、存儲(chǔ)器、外設(shè)、操作系統(tǒng)等,確定系統(tǒng)的模塊劃分和接口定義。
這部分的輸出包括系統(tǒng)設(shè)計(jì)的初步說明文檔、設(shè)計(jì)方案和設(shè)計(jì)描述文檔。這些文檔的確立是使用系統(tǒng)流程圖或其他工具,描述每一種可能的系統(tǒng)組成,估計(jì)每一種方案的成本和效益,在充分權(quán)衡各種方案利弊的基礎(chǔ)上,選擇一個(gè)較好的方案。
在開始軟硬件具體設(shè)計(jì)之前,需要最后確定設(shè)計(jì)方案與用戶需求之間的合理性,并對(duì)設(shè)計(jì)方案的正確性、無歧義性、安全性、可驗(yàn)證性、可理解性、可修改性等多個(gè)方面進(jìn)行綜合評(píng)估,以確定是否進(jìn)入下一步的實(shí)施階段。
三、硬件設(shè)計(jì)
根據(jù)系統(tǒng)設(shè)計(jì),設(shè)計(jì)電路原理圖和PCB布局圖,選購電子元器件,制作電路板,進(jìn)行硬件調(diào)試和測試。
四、軟件設(shè)計(jì)
根據(jù)系統(tǒng)設(shè)計(jì),編寫軟件需求規(guī)格說明書,確定軟件的功能、流程、數(shù)據(jù)結(jié)構(gòu)等,選擇合適的編程語言、開發(fā)工具、編譯器等,編寫軟件代碼,進(jìn)行軟件調(diào)試和測試。
五、系統(tǒng)集成
將測試完成的軟件系統(tǒng)裝入制作好的硬件系統(tǒng)中,進(jìn)行系統(tǒng)的綜合測試,驗(yàn)證系統(tǒng)功能是否能被正確無誤的實(shí)現(xiàn)。
六、測試和維護(hù)
對(duì)系統(tǒng)進(jìn)行各種場景和條件下的測試,驗(yàn)證系統(tǒng)的正確性、可靠性、安全性等,記錄并修復(fù)測試中發(fā)現(xiàn)的缺陷,對(duì)系統(tǒng)進(jìn)行必要的更新和優(yōu)化。