趙明
摘要:本文結(jié)合嵌入式系統(tǒng)軟硬件開發(fā)設(shè)計的最新研究成果,從嵌入式系統(tǒng)樣例產(chǎn)品的開發(fā)實際入手,通過對多種設(shè)計方式的分析,提出了一套基于去中心化思路的軟硬件劃分設(shè)計方法。文中提出了五項指導(dǎo)性原則,通過示例開發(fā)模型進(jìn)行了相關(guān)原則的應(yīng)用實踐,實現(xiàn)了對該方式的驗證,有效地簡化了復(fù)雜任務(wù),提高了嵌入式系統(tǒng)的開發(fā)效率,具有較強的實踐應(yīng)用價值。
關(guān)鍵詞:嵌入式開發(fā);軟硬件硬盤;軟件設(shè)計模型;實例開發(fā);去中心化
中圖分類號:TP311? ? ? 文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2021)12-0208-02
伴隨著嵌入式系統(tǒng)開發(fā)規(guī)模的不斷擴充,嵌入式系統(tǒng)實現(xiàn)的功能越來越完善,傳統(tǒng)基于硬件進(jìn)行簡單開發(fā)的設(shè)計模式已經(jīng)難以滿足目前嵌入式系統(tǒng)開發(fā)的實際需求,軟件設(shè)計理論已經(jīng)開始在嵌入式開發(fā)的軟件開發(fā)模型上得到廣泛的應(yīng)用。目前國內(nèi)外學(xué)者及研究機構(gòu)對嵌入式軟硬件設(shè)計提出了多項開發(fā)模式,如基于神經(jīng)網(wǎng)絡(luò)算法、基于UML模型分開、基于遺傳算法等多項結(jié)合軟件開發(fā)技術(shù)的最新領(lǐng)域的成果。通過深入挖掘嵌入式硬件與軟件資源結(jié)合,實現(xiàn)硬件性能與軟件開發(fā)成本的優(yōu)化組合。但是這類方法通常偏理論,對硬件與軟件的結(jié)合分析不夠緊密,在實際工作中仍存在著難以實際利用的問題。
1 軟硬件劃分概述
嵌入式系統(tǒng)面臨著資源少、功能需求多的嚴(yán)格約束,利用何種開發(fā)模式進(jìn)行設(shè)計已經(jīng)成為影響系統(tǒng)成本、性能和開發(fā)周期的重要前提,在滿足嵌入式系統(tǒng)開發(fā)功能模式的前提下,如何更好地利用好嵌入式系統(tǒng)的硬件資源,實現(xiàn)軟硬件協(xié)同開發(fā)已經(jīng)成為最優(yōu)化的實現(xiàn)嵌入式系統(tǒng)多方面需求最優(yōu)解的重要環(huán)節(jié)。為解決此類問題,就必須從嵌入式系統(tǒng)軟硬件協(xié)同開發(fā)模式的方向去尋找思路。
2 嵌入式軟硬件設(shè)計模型研究
嵌入式軟件開發(fā)模型通常包括兩個方面,即基于IP構(gòu)件的開發(fā)和基于交叉開發(fā)技術(shù)的開發(fā)。
2.1 IP 構(gòu)件技術(shù)
IP構(gòu)件技術(shù)即常見的組件開發(fā)模型,IP構(gòu)件作為嵌入式軟件開發(fā)的基礎(chǔ)開發(fā)平臺,日益在各類嵌入式系統(tǒng)中得到廣泛的應(yīng)用,IP 核(Intellectual Property Kernel)實現(xiàn)了對芯片系統(tǒng)核心功能的整合,而單一芯片系統(tǒng)(SOC, System on Chip)則更進(jìn)一步地把多項附屬功能集成到單一芯片內(nèi)部。通過集成化的構(gòu)件開發(fā),可大大減少系統(tǒng)開發(fā)周期,減少程序人員的業(yè)務(wù)學(xué)習(xí)成本。
2.2 交叉開發(fā)技術(shù)
嵌入式軟件與常見的軟件開發(fā)方式不同,在嵌入式軟件的開發(fā)過程中,目標(biāo)機與宿主機之間需要進(jìn)行任務(wù)的交互與資源的分配。宿主機需要通過對硬件資源進(jìn)行定址編譯實現(xiàn)功能模塊的開發(fā),但最終的嵌入式軟件實際運行平臺卻是目標(biāo)機。使用交叉式的軟件開發(fā)技術(shù),可以將宿主機上運行的應(yīng)用程序轉(zhuǎn)變?yōu)閷?yīng)的二進(jìn)制代碼,并實現(xiàn)在目標(biāo)機上的運行。整體編譯需要使用交叉編譯程序完成,在編譯后的文件稱為目標(biāo)編譯文件,可以在目標(biāo)機上運行。而通過定址的方式則可以實現(xiàn)宿主機程序與目標(biāo)機程序間的程序位置的偏移定位,以最終實現(xiàn)在目標(biāo)機上程序的運行。
3 去中心化的嵌入式系統(tǒng)軟硬件設(shè)計方法
嵌入式系統(tǒng)設(shè)計的重點便是對軟硬件的劃分進(jìn)行判斷,即通過對系統(tǒng)硬件和軟件構(gòu)件需要實現(xiàn)哪些功能,來進(jìn)行相應(yīng)的設(shè)計和開發(fā)流程,通過利用硬件特性可以實現(xiàn)較高的性能,但功能豐富程度則較軟件開發(fā)少,目前很多嵌入式芯片的開發(fā)都是結(jié)合軟件進(jìn)行,軟硬件的劃分界限較為模糊,這使得嵌入式系統(tǒng)的開發(fā)進(jìn)入了新的創(chuàng)新關(guān)鍵階段。
通過嵌入式軟硬件系統(tǒng)開發(fā)分析,本文對原有的軟硬件劃分的開發(fā)模式進(jìn)行了重構(gòu),利用最新的去中心化的思路,創(chuàng)立了一套嵌入式系統(tǒng)的軟硬件設(shè)計方法。去中心化的目的在于使嵌入式系統(tǒng)的功能、資源由中心化的管理重新分配為分散模塊的流程,使得原有的依CPU處理性能來決定嵌入式系統(tǒng)開發(fā)功能的集中化模式變?yōu)橘Y源均衡分散的方式。該類開發(fā)模式應(yīng)包括以下幾方面原則:
(1) 去中心化:CPU不再是嵌入式系統(tǒng)整體的處理單元,而是溝通多個獨立模塊的橋梁作用,由原有的單處理器模式變?yōu)槎嗵幚砥髂J?
(2) 均衡負(fù)載:CPU上承載的業(yè)務(wù)分布在多個CPU上進(jìn)行流轉(zhuǎn),對于復(fù)雜數(shù)據(jù)和大量重復(fù)邏輯業(yè)務(wù)的處理通過定制化的DSP芯片進(jìn)行處理,并實現(xiàn)通信接口的一致化;
(3) 模塊化:每個功能模塊內(nèi)部均應(yīng)包括可實現(xiàn)嵌入式開發(fā)功能的芯片、電路和軟件構(gòu)件,并能獨立和可復(fù)用的運行。這部分模塊固化以后,實現(xiàn)了高度的聚合,并通過接口與外部模塊連接;
(4) 控制與顯示分離:顯示作為獨立環(huán)節(jié),與控制相分離,只通過接口程序接收其他模塊發(fā)送的控制信息和顯示信令,顯示功能相對復(fù)雜,目前北京迪文等廠家已在從事相關(guān)的研發(fā)工作;
(5) 芯片固化處理:利用專有芯片實現(xiàn)高度重復(fù)的高強度工作,特別是網(wǎng)絡(luò)接口單位,包括并不限于以太網(wǎng)、藍(lán)牙、無線網(wǎng)、射頻信號等連接方式。目前瑞昇有著較為全面的單芯片解決方案,具有較高的可靠性和安全性。
4 嵌入軟硬件設(shè)計實例
在本示例中將結(jié)合疫情后廣泛應(yīng)用的電子溫度計的設(shè)計研發(fā)進(jìn)行展開:
(1)設(shè)計一套可實現(xiàn)電子測溫的電子溫度計,通過對人體進(jìn)行紅外測溫,實現(xiàn)實時溫度讀取并顯示;
(2)電容顯示屏可顯示人體當(dāng)前溫度,并可記錄至多16組體溫數(shù)據(jù),并生成歷史周期曲線;
(3)電子溫度計可與互聯(lián)網(wǎng)進(jìn)行連接,實時上傳測溫數(shù)據(jù),并與后臺預(yù)警系統(tǒng)連接,在出現(xiàn)測溫過高時,后臺系統(tǒng)及時發(fā)出警報,告知應(yīng)急指揮中心,實時啟動疫情防控聯(lián)動機制,防止測溫人員疏漏或其他情況下的漏放情況。
此電子溫度計的主體設(shè)計模塊如圖1所示:
溫度計各模塊功能介紹如下:
(1) 溫度測量模塊:集成溫度測量和ADC電路轉(zhuǎn)換功能,溫差處理通過CPU進(jìn)行集中化處理計算;
(2) 觸摸屏模塊:觸控及液晶顯示電路均通過CPU集成化處理,使用I2C及RGB接口;
(3) 網(wǎng)絡(luò)接口模塊:使用CPU進(jìn)行TCP/IP協(xié)議處理,使用LWIP接口對接;
(4) 圖形顯示模塊:使用CPU進(jìn)行UCGUI圖形顯示庫的調(diào)用;
(5) 內(nèi)存模塊:使用NAND或EPPROM進(jìn)行存儲,提供內(nèi)存和顯存單位。
本文中所構(gòu)建的去中心化的嵌入式軟硬件開發(fā)設(shè)計方法,通過對原圖1中的設(shè)計模式進(jìn)行優(yōu)化配置,可進(jìn)一步得到圖2中的優(yōu)化結(jié)果:
(1) 液晶顯示與觸摸屏分隔為獨立的模塊,通過接口進(jìn)行資源的整合,以實現(xiàn)動態(tài)連接的模組,并可通過UART串口與多個CPU組件連接,最終實現(xiàn)控制與顯示業(yè)務(wù)邏輯的分解;
(2) 測溫模塊電路添加獨立的MCU控制組件,將偏差處理固化在測溫模塊內(nèi)部,不需要調(diào)用外部CPU資源,即可通過串口發(fā)送溫度計量數(shù)據(jù),實現(xiàn)獨立封閉接口運行;
(3) 使用SOC集成化處理苡片,如WIZnet 公司設(shè)計生產(chǎn)的以太網(wǎng)接口芯片W5500、江蘇沁恒公司設(shè)計生產(chǎn)的網(wǎng)絡(luò)串口透傳芯片CH9121 等,實現(xiàn)相關(guān)軟件協(xié)議運轉(zhuǎn)模型的外遷。
(4) 簡化CPU功能,使其降級為系統(tǒng)串口轉(zhuǎn)發(fā)數(shù)據(jù)和控制命令的組件,甚至可利用各獨立模塊的MCU組件整合來實現(xiàn)CPU芯片的降級應(yīng)用;
(5) CPU分散化的進(jìn)行多線程處理,把體溫、圖形圖像顯示、網(wǎng)絡(luò)連接等多線程并發(fā)處理,使程序處理更為簡易。
通過去中心化設(shè)計模式的優(yōu)化,本文中例子實現(xiàn)了以下優(yōu)化:
(1) 實現(xiàn)了多個CPU并發(fā)工作,內(nèi)部程序通過多線程并發(fā)執(zhí)行,在提高響應(yīng)速度的同時減少了網(wǎng)絡(luò)系統(tǒng)延遲;
(2) 開發(fā)流程簡化,通過對系統(tǒng)軟硬件設(shè)計模塊化的劃分,實現(xiàn)了開發(fā)難度的降低,對于多重團(tuán)隊開發(fā)的大型項目具有重要意義,可有效降低開發(fā)周期;
(3) 降低了對嵌入式硬件的需求,嵌入式開發(fā)的系統(tǒng)資源作為系統(tǒng)運行的主要成本,硬件成本的降低,可大大降低物料成本投入;
(4) 開發(fā)效率更高,多個模塊通過軟硬件復(fù)用,實現(xiàn)了通用性,在未來的新版本開發(fā)過程中可通過模塊直接調(diào)用,有效地提升了可復(fù)用性。
5 結(jié)語
文中針對嵌入式系統(tǒng)開發(fā)的軟硬件模式進(jìn)行了分析,并結(jié)合去中心化的思路提出了一套基于軟硬件劃分的設(shè)計體系,通過對開發(fā)實例的抽象分析,實現(xiàn)了復(fù)雜業(yè)務(wù)邏輯模塊化劃分開發(fā),各功能模塊功能獨立,開發(fā)邏輯明確,故障節(jié)點分散冗余,是嵌入式開發(fā)的成功應(yīng)用范例。本文提出的去中心化開發(fā)模式,在保障了系統(tǒng)運行的穩(wěn)定性、魯棒性、可復(fù)用性的同時,有效地提升了產(chǎn)品的開發(fā)效率,對于嵌入式產(chǎn)品的實際開發(fā)研究有著較高的參考意義。
參考文獻(xiàn):
[1] 陳瑋,顧思思.基于組合算法的嵌入式系統(tǒng)軟硬件劃分方法[J].計算機應(yīng)用與軟件,2015,32(10):240-243.
[2] 李巖,屈媛,陳儀香.軟硬件協(xié)同設(shè)計中的軟硬件劃分方法綜述[J].單片機與嵌入式系統(tǒng)應(yīng)用,2017,17(8):3-8.
[3] 周哲熙.基于平臺和中間件的嵌入式系統(tǒng)軟硬件協(xié)同設(shè)計[J].電子測試,2018(12):129,131.
[4] 陳思功,秦曉,章恒翀.基于UML的軟硬件協(xié)同設(shè)計的模型分析方法[J].軟件學(xué)報,2003,14(1):103-109.
[5] 何翔.嵌入式多核操作系統(tǒng)負(fù)載均衡模型研究[J].電腦知識與技術(shù),2018,14(5):67-68.
【通聯(lián)編輯:光文玲】