趙明


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