羅一平 于津 屈宏峰
摘要:隨著我國科學(xué)技術(shù)不斷發(fā)展,當(dāng)今具有人機(jī)接口的嵌入式系統(tǒng)的應(yīng)用也愈加廣泛。ARM單片機(jī)嵌入式系統(tǒng)能夠?qū)崿F(xiàn)實(shí)時(shí)采集、處理信息,還能夠提升系統(tǒng)運(yùn)行的安全性、穩(wěn)定性,降低系統(tǒng)設(shè)計(jì)成本?;诖耍疚闹攸c(diǎn)探究基于ARM單片機(jī)的嵌入式系統(tǒng)設(shè)計(jì)方案。
關(guān)鍵詞:ARM單片機(jī);嵌入式系統(tǒng);設(shè)計(jì);方案
一、引言
在信息產(chǎn)業(yè)不斷發(fā)展背景下,人們對人機(jī)接口嵌入式系統(tǒng)的需求量也不斷增加。在過去,ARM單片機(jī)嵌入式系統(tǒng)多數(shù)都是由國外引進(jìn),并且價(jià)格不菲。隨著我國科學(xué)技術(shù)不斷發(fā)展,我國所開發(fā)的ARM單片機(jī)嵌入式系統(tǒng)性能已經(jīng)有了很大進(jìn)步,可以實(shí)時(shí)采集、檢測系統(tǒng)設(shè)備運(yùn)行要求,并且組態(tài)更加靈活、成本更低,設(shè)計(jì)系統(tǒng)框架體系經(jīng)過了多輪優(yōu)化設(shè)計(jì),已經(jīng)十分完善。嵌入式系統(tǒng)的中心是應(yīng)用系統(tǒng),以計(jì)算機(jī)為載體,進(jìn)行軟硬件優(yōu)化組合配置,可以同時(shí)對系統(tǒng)功能、成本、體積、功耗、可靠性進(jìn)行管控,由于嵌入式系統(tǒng)的核心是應(yīng)用系統(tǒng),所以在硬件和軟件設(shè)計(jì)當(dāng)中必須要以應(yīng)用作為核心,從而保證ARM單片機(jī)嵌入式系統(tǒng)的性能。
二、基于ARM單片機(jī)的嵌入式系統(tǒng)硬件設(shè)計(jì)
(一)硬件結(jié)構(gòu)組成
在嵌入式系統(tǒng)設(shè)計(jì)當(dāng)中,首先需要考慮應(yīng)用系統(tǒng)的運(yùn)行要求,并全面考慮性能、成本、可擴(kuò)展性、開發(fā)時(shí)間等各方要求,明確系統(tǒng)的主要控制元器件,從而設(shè)計(jì)硬件平臺(tái)框架。整個(gè)系統(tǒng)當(dāng)中包括主控芯片、高性能電能計(jì)量芯片、存儲(chǔ)模塊、CAN模塊等,同時(shí)配有擴(kuò)展接口,可以實(shí)現(xiàn)功能擴(kuò)展。硬件系統(tǒng)內(nèi)部應(yīng)用電能檢測芯片,可以檢測各個(gè)元器件運(yùn)行的電流和電壓,做好元器件各項(xiàng)參數(shù)運(yùn)行的計(jì)量工作,具有精度高、實(shí)時(shí)性強(qiáng)等優(yōu)勢,硬件系統(tǒng)結(jié)構(gòu)如圖1。
(二)系統(tǒng)功能
該系統(tǒng)的功能表現(xiàn)在:①可見檢測系統(tǒng)電池充電、放電信號檢測與計(jì)量;②檢測連接設(shè)備的運(yùn)行狀態(tài),如果超出閾值會(huì)自動(dòng)報(bào)警;③對元器件的荷電狀態(tài)、健康狀態(tài)進(jìn)行計(jì)量評估;④檢測電池組漏電情況;⑤通信系統(tǒng)檢測;⑥人機(jī)交互功能,顯示被檢測對象的實(shí)時(shí)運(yùn)行參數(shù),還可以設(shè)置各個(gè)系統(tǒng)功能狀態(tài),實(shí)現(xiàn)信息數(shù)據(jù)的上傳與下載。
三、基于ARM單片機(jī)嵌入式系統(tǒng)的軟件設(shè)計(jì)
(一)軟件系統(tǒng)設(shè)計(jì)理念
軟件核心是以一個(gè)可移植、固化、裁剪、剝奪的多任務(wù)內(nèi)核,在實(shí)際應(yīng)用開發(fā)中,要在上述所設(shè)計(jì)的硬件中成功移植。軟件內(nèi)核在編寫當(dāng)中要重點(diǎn)考慮可移植性,采用C語言編寫,將處理器相關(guān)代碼集中到OS–CPU、H.OS–CPU–A、ASM.OS–CPU–C.C三個(gè)文件中,結(jié)合硬件上特性對這些文件改寫,即可實(shí)現(xiàn)移植。在移植后,即可開展編程工作。采用RTOS軟件,將面向功能應(yīng)用開發(fā)轉(zhuǎn)變成為面向任務(wù)的應(yīng)用開發(fā),將整個(gè)系統(tǒng)任務(wù)劃分為若干個(gè)子任務(wù),然后實(shí)現(xiàn)每個(gè)任務(wù)要求,確定各個(gè)任務(wù)的優(yōu)先級。如果系統(tǒng)對實(shí)時(shí)性操作要求非常高,需要編寫中斷服務(wù)程序。
(二)系統(tǒng)功能
在系統(tǒng)運(yùn)行當(dāng)中,要初始化系統(tǒng),創(chuàng)建新的任務(wù)。所創(chuàng)建的任務(wù)設(shè)定為就緒形態(tài),系統(tǒng)操作中會(huì)自動(dòng)調(diào)用優(yōu)先級的任務(wù),并逐漸解決低級任務(wù),保證現(xiàn)行運(yùn)行的任務(wù)優(yōu)先于其他沒有處理的任務(wù)。在實(shí)際運(yùn)行當(dāng)中某個(gè)任務(wù)因?yàn)橐馔馐录谎訒r(shí)、掛起,或者有更高優(yōu)先級任務(wù)進(jìn)入到了系統(tǒng)當(dāng)中,則系統(tǒng)會(huì)停止當(dāng)前任務(wù),處理最優(yōu)先級的任務(wù)。如果系統(tǒng)中斷,此時(shí)會(huì)中斷服務(wù)程序,在中斷返回過程中,系統(tǒng)會(huì)自動(dòng)展開任務(wù)調(diào)度,將最優(yōu)先級任務(wù)轉(zhuǎn)化為運(yùn)行狀態(tài)。
如控制系統(tǒng)當(dāng)中出現(xiàn)了母線電壓AD采用中斷,程序自動(dòng)進(jìn)入到母線電壓AD中斷程序;中斷程序之后向郵箱發(fā)送母線電壓AD采樣參數(shù),由于任務(wù)在就緒等待期間在郵箱中被掛起,所以此時(shí)任務(wù)狀態(tài)被轉(zhuǎn)化為就緒狀態(tài)。中斷返回中,內(nèi)核自主進(jìn)行任務(wù)調(diào)度,由于是系統(tǒng)內(nèi)部是最優(yōu)先級任務(wù)處于就緒狀態(tài),所以無論哪個(gè)系統(tǒng)任務(wù)被中斷,都會(huì)運(yùn)行最優(yōu)先級任務(wù),確保任務(wù)系統(tǒng)的響應(yīng)速度滿足標(biāo)準(zhǔn)。在系統(tǒng)運(yùn)行一個(gè)循環(huán)之后,會(huì)因?yàn)榈却]箱緣故轉(zhuǎn)化為掛起狀態(tài),內(nèi)核繼續(xù)調(diào)度,最先調(diào)度就緒狀態(tài)中的最優(yōu)先任務(wù)。
四、系統(tǒng)開發(fā)設(shè)計(jì)
為了能夠保證系統(tǒng)運(yùn)行的實(shí)時(shí)性,系統(tǒng)開發(fā)可以采用RTOS系統(tǒng)(實(shí)時(shí)操作系統(tǒng))。該系統(tǒng)可以分為可剝奪內(nèi)核與不可剝奪內(nèi)核,由于商用多數(shù)都是采用可剝奪內(nèi)核,所以本文重點(diǎn)探究可剝奪實(shí)時(shí)操作系統(tǒng)。實(shí)時(shí)操作系統(tǒng)會(huì)將任務(wù)劃分為多個(gè)子任務(wù),并分為不同的優(yōu)先級,將不同優(yōu)先級的任務(wù)分配到不同模塊、??臻g。通常每個(gè)任務(wù)在結(jié)構(gòu)上都是無限循環(huán)模式,可以實(shí)現(xiàn)多種狀態(tài),包括就緒狀態(tài)、休眠狀態(tài)、運(yùn)行狀態(tài)、掛起狀態(tài)、中斷狀態(tài)。系統(tǒng)始終讓優(yōu)先級系統(tǒng)運(yùn)行,中斷服務(wù)可以搶占CPU,待到中斷服務(wù)程序完畢之后,此時(shí)系統(tǒng)會(huì)自動(dòng)處理最優(yōu)先級任務(wù)。該開發(fā)模式可以優(yōu)化系統(tǒng)的響應(yīng)時(shí)間。最主要的是將面向功能形式轉(zhuǎn)化成為了面向任務(wù)的形式,整個(gè)系統(tǒng)操作邏輯結(jié)構(gòu)更加簡單。再加上應(yīng)用了實(shí)時(shí)操作系統(tǒng),讓軟件底層硬件不可見,將過去雙層軟件系統(tǒng)轉(zhuǎn)化成為了三層架構(gòu),這樣更有助于未來系統(tǒng)的軟件功能拓展以及硬件升級。軟件操作系統(tǒng)采用較強(qiáng)的內(nèi)核,如μC/OS–Ⅱ,該系統(tǒng)性能非常高支持上百個(gè)任務(wù)同時(shí)進(jìn)行,提升了系統(tǒng)服務(wù)性能。
五、結(jié)束語
綜上所述,隨著我國科學(xué)技術(shù)不斷發(fā)展,當(dāng)今ARM單片機(jī)嵌入式系統(tǒng)在各個(gè)領(lǐng)域中的應(yīng)用十分廣泛。在ARM單片機(jī)嵌入式系統(tǒng)設(shè)計(jì)中,要重點(diǎn)考慮硬件、軟件設(shè)計(jì)以及系統(tǒng)開發(fā),這樣才能夠保證整個(gè)系統(tǒng)的運(yùn)行效率與可靠性,發(fā)揮ARM單片機(jī)與系統(tǒng)效能。
參考文獻(xiàn)
裴文祥,姚鑫,李超.基于ARM單片機(jī)的嵌入式系統(tǒng)設(shè)計(jì)[J].集成電路通訊,2015(1):112–113.
高夢龍.探究基于ARM單片機(jī)的觸摸屏嵌入式系統(tǒng)設(shè)計(jì)[J].通訊世界,2017(17):966–968.