• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      鴻蒙操作系統(tǒng)在智能測量儀器中的應(yīng)用

      2023-01-28 13:29:06王晶星李新良李維
      計測技術(shù) 2022年6期
      關(guān)鍵詞:鴻蒙時鐘分布式

      王晶星,李新良,李維

      (航空工業(yè)北京長城計量測試技術(shù)研究所,北京 100095)

      0 引言

      測量儀器[1]是科學研究和科學發(fā)展的基礎(chǔ)條件,現(xiàn)代科技的重大突破依賴于領(lǐng)先的測量技術(shù)[2]。美國商務(wù)部研究報告顯示:其測量儀器與設(shè)備的生產(chǎn)總值約為美國制造業(yè)總量的4%,但對美國國民生產(chǎn)總值的帶動效應(yīng)卻超過66%。也就是說,測量技術(shù)具有價值撬動、有效賦能以及創(chuàng)新帶動經(jīng)濟的重要功能。當前,測量儀器逐漸朝著數(shù)字化和網(wǎng)絡(luò)化的總體方向發(fā)展,而測量儀器產(chǎn)品性能的發(fā)展目標是高精確度、高可靠性、高環(huán)境適應(yīng)性。隨著計算機技術(shù)的發(fā)展,智能化是測量儀器發(fā)展的重要方向。智能測量儀器利用計算機系統(tǒng)實現(xiàn)傳統(tǒng)測量儀器的功能,包括自動采集、實時修正測量誤差、綜合處理測量數(shù)據(jù)、控制管理輸入輸出設(shè)備等功能,促進了儀表的準確性和便捷度,測量儀器的智能化離不開嵌入式操作系統(tǒng)(Embedded Operating System,EOS)的支撐。

      隨著國際科研環(huán)境的變化,發(fā)展具有自主知識產(chǎn)權(quán)的嵌入式操作系統(tǒng)已經(jīng)成為了共識。目前,國內(nèi)的嵌入式操作系統(tǒng)研究和開發(fā)的主要目標是為航空航天、城市軌道交通、信息通信裝備等產(chǎn)業(yè)形成自主可控的操作系統(tǒng)。華為的鴻蒙操作系統(tǒng)(Harmony OS)在國產(chǎn)化道路上迅速發(fā)展,其分布式和微內(nèi)核特性,讓測量系統(tǒng)中各模塊的連接更流暢,數(shù)據(jù)傳輸也有了統(tǒng)一的語言。通過拓展總線接口,有利于實現(xiàn)測量設(shè)備之間的智能互聯(lián)。將鴻蒙系統(tǒng)植入測量儀器中,可以擴大測量儀器的智能化水平,使測量儀器的功能進一步擴展提高。同時,鴻蒙系統(tǒng)作為國產(chǎn)操作系統(tǒng),提供了自主可控、國產(chǎn)化的軟件選擇,提升了現(xiàn)有儀器的功能與自主化水平,為計量儀器搭載國產(chǎn)平臺完成了初步的探索。

      通過分析智能測量儀器的技術(shù)背景和需求,基于嵌入式操作系統(tǒng)的特點和分類,研究鴻蒙系統(tǒng)的基本特性,對鴻蒙系統(tǒng)在智能測量儀器中的應(yīng)用進行歸納總結(jié),驗證鴻蒙系統(tǒng)的可用性,最后分析和展望鴻蒙系統(tǒng)在測量領(lǐng)域的發(fā)展前景。

      1 嵌入式操作系統(tǒng)的概念和特點

      1.1 嵌入式操作系統(tǒng)的概念

      操作系統(tǒng)(Operating System,OS)是計算機系統(tǒng)中基礎(chǔ)的系統(tǒng)程序,它對整個計算機控制系統(tǒng)的硬件和軟件信息進行控制和處理,以合理配置整個計算機控制系統(tǒng)的能力和資源,促進計算機與其他硬件和軟件的連接和通信。如圖1所示,操作系統(tǒng)處于硬件之上,直接面向硬件,統(tǒng)一管理硬件資源;處于用戶和應(yīng)用程序之下,幫助應(yīng)用程序訪問各種物理資源并提供抽象的接口。

      圖1 計算機體系的層次結(jié)構(gòu)Fig.1 Hierarchy of computer system

      嵌入式系統(tǒng)運行在計算機平臺中,用于控制和管理其他設(shè)備,其硬件和軟件可進行裁剪和配置,軟件代碼短小而精悍,可以固化,并具有低功耗、高可靠性、高穩(wěn)定性的特征。嵌入式系統(tǒng)結(jié)構(gòu)通常由四部分組成,包括嵌入式微處理器、外設(shè)硬體裝置、嵌入式作業(yè)系統(tǒng)和應(yīng)用程序。嵌入式系統(tǒng)在電信系統(tǒng)、電子產(chǎn)品、儀表、航空電子、醫(yī)療設(shè)備、智能家居等領(lǐng)域都有廣泛的應(yīng)用。

      嵌入式操作系統(tǒng)[3]在嵌入式芯片環(huán)境中運行,并且對整個芯片系統(tǒng)及其可操作、管理的所有單元設(shè)備、部件裝置等資源實現(xiàn)統(tǒng)一的協(xié)調(diào)、調(diào)度、指揮和控制[4]。在實現(xiàn)智能測量儀器的過程中,嵌入式操作系統(tǒng)的作用有:為測量儀器的硬件模塊提供底層驅(qū)動,以傳遞控制數(shù)據(jù)信號;協(xié)調(diào)測量系統(tǒng)應(yīng)用層各個模塊的功能調(diào)度,保證整個系統(tǒng)的實時性。嵌入式操作系統(tǒng)通常分為分時操作系統(tǒng)和實時操作系統(tǒng)。

      1.2 分時操作系統(tǒng)

      在分時操作系統(tǒng)中,多個用戶共同使用一臺主機,在一定程度上節(jié)省了資源。系統(tǒng)服務(wù)請求采用時間片輪轉(zhuǎn)的方式處理,多個終端通過通信線路連接,多個用戶交替地占用主機服務(wù)器上的時間片來處理作業(yè)。

      分時操作系統(tǒng)的典型代表是Linux操作系統(tǒng),也是目前較為普及的開源操作系統(tǒng)。Linux操作系統(tǒng)的系統(tǒng)內(nèi)核性能高、穩(wěn)定、安全、網(wǎng)絡(luò)特性好,具有良好的可移植性、可靠的系統(tǒng)安全以及豐富的驅(qū)動以支持廣泛的周邊硬件設(shè)備。

      2015年,董思喬[5]等人基于Linux和Wi-Fi構(gòu)建了智能家居控制系統(tǒng),系統(tǒng)采用PC主機和智能手機作為基本硬件平臺,輔助Wi-Fi智能插座、Wi-Fi智能傳感器和Wi-Fi設(shè)備控制電路,實現(xiàn)了運行穩(wěn)定且響應(yīng)快速的智能家居控制系統(tǒng)。2017年,孫忠祥[6]基于Linux系統(tǒng)完成了聯(lián)網(wǎng)與數(shù)據(jù)轉(zhuǎn)發(fā)、傳感器數(shù)據(jù)采集以及遠程監(jiān)控的功能,實現(xiàn)了智能農(nóng)業(yè)溫室大棚遠,程監(jiān)控系統(tǒng)的設(shè)備云平臺。2021年,郭堂偉[7]等基于Linux和ARM芯片設(shè)計了醫(yī)院空氣質(zhì)量實時檢測系統(tǒng),采用Lora無線技術(shù)作為通信支撐,設(shè)計了主控、采集和通信三大模塊,空氣質(zhì)量檢測效率顯著提升。

      分時操作系統(tǒng)能夠向用戶提供良好的界面和及時的響應(yīng),每次應(yīng)用中得到系統(tǒng)資源的機會比較平等,而且出現(xiàn)重復垃圾任務(wù)的機會較小,相對來說也能夠縮短CPU的閑置時間。不過分時操作系統(tǒng)還面臨著可靠性問題和數(shù)據(jù)通信的困難,因此需要特別注意用戶程序和用戶數(shù)據(jù)的安全與完整性,而且分時操作系統(tǒng)不能處理一些緊急任務(wù),它循環(huán)地為每個用戶/作業(yè)服務(wù)一個時間片,對每個用戶/作業(yè)完全公平,所以實時處理用戶任務(wù)的能力比較欠缺。

      1.3 實時操作系統(tǒng)

      實時操作系統(tǒng),是指能夠在有限的響應(yīng)時間內(nèi),將所需緊急性等級的服務(wù)提供給應(yīng)用程序的操作系統(tǒng)?!皩崟r”是指運行操作系統(tǒng)的計算機對于輸入信息可以做出及時的處理,并在被處理對象指導的時間范圍內(nèi)迅速做出反應(yīng)。因此,實時操作系統(tǒng)在內(nèi)核設(shè)計、調(diào)度策略選擇、任務(wù)優(yōu)先級的分配等方面與其他操作系統(tǒng)均有顯著差異,典型例子是VxWorks,RT-Thread、鴻蒙系統(tǒng)等。

      VxWorks是一個具有高性能的內(nèi)核以及友好的用戶開發(fā)環(huán)境的嵌入式實時操作系統(tǒng)。VxWorks的特性是:可裁剪的微內(nèi)核結(jié)構(gòu)、允許按需選擇的操作系統(tǒng)組件、高效的任務(wù)管理、靈活的任務(wù)間通訊和微秒級中斷處理。VxWorks系統(tǒng)由于公用程序精練且效率很高,使延遲時間很短,所以系統(tǒng)自身開銷很小,實現(xiàn)了VxWorks優(yōu)越的實時性。

      RT-Thread是一款國產(chǎn)的物聯(lián)網(wǎng)操作系統(tǒng),開發(fā)簡易、超低功耗、安全性高,具備嵌入式操作系統(tǒng)所需的所有關(guān)鍵組件(包括GUI、網(wǎng)絡(luò)協(xié)議棧、安全傳輸、低功耗組件等),因此具有大量的可支持的芯片、合作廠商、踴躍的社區(qū)開發(fā)者和廣泛的應(yīng)用領(lǐng)域。表1對比了VxWorks和RTThread實時性能方面的主要指標。

      表1 VxWorks和RT-Thread實時性能主要指標Tab.1 VxWorks/RT-Thread real-time performance

      楊文豪[8]等人設(shè)計了基于VxWorks的PXI 實時讀寫接口,對設(shè)備驅(qū)動進行了開發(fā)、封裝和整合,解決了高速數(shù)據(jù)采集控制卡在分時操作系統(tǒng)下存在的實時性差、不穩(wěn)定、控制復雜等問題。劉恩凡[9]等人設(shè)計了基于VxWorks的某裝備自動測試系統(tǒng),軟件采用虛擬儀器技術(shù),系統(tǒng)采用標準化信號接口,滿足了裝備測試的實時性需求。張明利[10]等人設(shè)計了基于VxWorks的嵌入式多協(xié)議通信控制器,實現(xiàn)了效率高并且可靠性好的管理和控制,適用于通訊控制器系統(tǒng)接口多、功能復雜、信息處理能力要求高的場景。

      2014年,李明[11]在RT-Thread上設(shè)計了全自動生化分析儀測控系統(tǒng),系統(tǒng)使用CAN總線,RT-Thread提供的實時多任務(wù)處理功能滿足了儀器對復雜控制的要求。2018年,盛蔚[12]等人設(shè)計了基于RT-Thread的無人機數(shù)據(jù)記錄儀,對傳統(tǒng)無人機數(shù)據(jù)記錄儀存在的功耗大、存儲效率低、實用性差的問題做出改進,實現(xiàn)了多通道、大數(shù)據(jù)流輸入環(huán)境下的長時間準確存儲。2019年,莫小凡[13]等人利用RT-Thread和生物傳感器設(shè)計了葡萄糖檢測儀,滿足了分析儀線性檢測范圍寬、檢測速度快、檢測精度高的檢測需求。

      實時操作系統(tǒng)的顯著特點是具有較高的及時性,根據(jù)任務(wù)的實時需求,執(zhí)行優(yōu)先調(diào)度,在規(guī)定時間內(nèi)完成對該事件的處理;同時也具有較高的可靠性。而鴻蒙操作系統(tǒng)不僅提供了自主可控的選擇,還采用了微內(nèi)核的架構(gòu),很好地解決了裁剪嵌入式系統(tǒng)時面臨的問題,并且采用分布式技術(shù)來統(tǒng)一協(xié)議和數(shù)據(jù)接口,解決了測量儀器設(shè)備語言不統(tǒng)一的問題。

      2 鴻蒙操作系統(tǒng)概述

      2.1 鴻蒙操作系統(tǒng)概述

      鴻蒙操作系統(tǒng)是華為自主研發(fā)的一款基于微內(nèi)核的實時多任務(wù)操作系統(tǒng)。于2019年8月9日正式發(fā)布,目前已更新至鴻蒙3.0系統(tǒng)。鴻蒙系統(tǒng)的分布式概念是從傳統(tǒng)的單一設(shè)備的系統(tǒng)能力出發(fā),對多種終端形式的特性進行適配,能夠同時對多種終端設(shè)備進行支持,解決了很多割裂智能終端體驗的難題。從用戶的角度來看,鴻蒙系統(tǒng)可以讓應(yīng)用場景中的各類終端實現(xiàn)能力互相融合,從而構(gòu)成一個能夠在不同終端設(shè)備之間實現(xiàn)快速連接、能力互助、資源共享的“虛擬超級終端”,匹配合適的設(shè)備,提供全場景的流暢體驗。從應(yīng)用開發(fā)者的角度來看,鴻蒙系統(tǒng)引用了各種分布式技術(shù)的開放方式,使得開發(fā)實現(xiàn)應(yīng)用程序不受終端設(shè)備形態(tài)差異的影響,大大降低了開發(fā)復雜度和開發(fā)成本,使開發(fā)者將精力專注在上層業(yè)務(wù)邏輯上,更加輕松高效地開發(fā)應(yīng)用程序。從設(shè)備開發(fā)者的角度來看,鴻蒙系統(tǒng)采用模塊化的設(shè)計方式,能夠靈活裁剪設(shè)備的資源能力和業(yè)務(wù)特性,適應(yīng)操作系統(tǒng)對終端設(shè)備的各種形態(tài)要求。

      鴻蒙系統(tǒng)整體遵從分層設(shè)計,從下到上依次為:內(nèi)核層、系統(tǒng)服務(wù)層、框架層和應(yīng)用層。內(nèi)核層包括內(nèi)核子系統(tǒng)和驅(qū)動子系統(tǒng)。系統(tǒng)服務(wù)層包括系統(tǒng)基本能力子系統(tǒng)集、基礎(chǔ)軟件服務(wù)子系統(tǒng)集、增強軟件服務(wù)子系統(tǒng)集、硬件服務(wù)子系統(tǒng)集,可根據(jù)實際應(yīng)用情況對子系統(tǒng)進行裁剪。框架層為開發(fā)應(yīng)用程序提供了多語言框架。應(yīng)用層由一個或多個FA(Feature Ability)或PA(Particle Ability)組成。鴻蒙系統(tǒng)的技術(shù)架構(gòu)如圖2所示。

      圖2 鴻蒙系統(tǒng)技術(shù)架構(gòu)Fig.2 Technical architecture of Harmony system

      2.2 鴻蒙對傳輸層策略的優(yōu)化

      傳統(tǒng)分布式操作系統(tǒng)的不同終端之間屬于點對點連接,帶寬較為固定,遠端到中心計算機的延遲時間較高。若整體鏈路中有設(shè)備突然離線,會導致與其相連的分布式節(jié)點受到影響,從而導致整體網(wǎng)絡(luò)不穩(wěn)定。而不同節(jié)點的節(jié)點能力也不對等,資源分配不均勻的情況下會導致算力、帶寬受到限制,從而導致整體效率的下降。為優(yōu)化這些不足,低功耗傳感網(wǎng)一般采用ZigBee或藍牙進行組網(wǎng),拓展整體帶寬,并保證單一設(shè)備支持熱插拔。然而這些方式仍然不能解決單一設(shè)備算力過低、組網(wǎng)困難的情況,同時也無法保證傳輸時鐘的對等。

      鴻蒙系統(tǒng)為解決上述問題,首先從連接協(xié)議入手。以藍牙為例,傳統(tǒng)的終端為BLE協(xié)議,利用3個固定信道來回掃描進行查找和匹配,效率較低,而鴻蒙則利用對占空比進行控制調(diào)速,以特殊頻率匹配,加速發(fā)現(xiàn)過程。同時,啟用帶寬更大的Wi-Fi與藍牙配合連接,進行異構(gòu)混組網(wǎng),用戶無須設(shè)置連接方式,無需復雜的操作即可對不同的設(shè)備進行匹配。當需匹配1臺設(shè)備時,鴻蒙和傳統(tǒng)分布式操作系統(tǒng)匹配速度時間差異如表2所示。當需匹配設(shè)備為4臺時,鴻蒙和傳統(tǒng)操作系統(tǒng)匹配速度時間差異如表3所示。

      表2 匹配1臺設(shè)備時間差異Tab.2 Matching time difference of one device

      表3 匹配4臺設(shè)備時間差異Tab.3 Matching time difference of four device

      為保證Wi-Fi與藍牙同時開啟的情況下盡量降低功耗,鴻蒙引入了策略控制,即根據(jù)當前設(shè)備狀態(tài)控制設(shè)備接入的耗能模塊是否工作。同時采用快速喚醒與啟動芯片,控制Wi-Fi傳輸速率,將芯片性能發(fā)揮到極致。

      如圖3所示,綠線代表鴻蒙的Wi-Fi調(diào)度策略,藍線則為傳統(tǒng)操作系統(tǒng)的Wi-Fi調(diào)度策略。在初期的相應(yīng)階段,鴻蒙快速分配帶寬與存儲資源,使Wi-Fi速率快速達到網(wǎng)絡(luò)帶寬的上限,并一直接近滿速率波動。同樣,在穩(wěn)定階段,網(wǎng)絡(luò)限制產(chǎn)生變化時,鴻蒙的調(diào)度策略相較于傳統(tǒng)操作系統(tǒng)來說也不會產(chǎn)生過度地上沖或下沖,并持續(xù)保持接近滿速率運行。

      圖3 鴻蒙與傳統(tǒng)系統(tǒng)Wi-Fi效率對比Fig.3 Comparison of Wi-Fi efficiency between Harmony system and traditional system

      Wi-Fi與藍牙共同啟用的另一個好處是最大程度地避免了自身通信產(chǎn)生的數(shù)據(jù)阻塞。在Wi-Fi速率跑滿的狀態(tài)下,鴻蒙可將控制幀分配給藍牙傳輸,Wi-Fi則負責大型數(shù)據(jù)流的傳輸,減少Wi-Fi處理的管理消息。

      與藍牙相似,為最大程度地避免其他Wi-Fi設(shè)備搶占信道,該Wi-Fi采用了2.4 GHz和5 GHz多徑雙路并發(fā)的機制,且不局限于傳統(tǒng)2.4 GHz無線網(wǎng)的20 MHz / 40 MHz窄帶寬,擴展了國內(nèi)對于5 GHz避讓頻段的限制,提升了文件的吞吐能力。

      盡管鴻蒙Wi-Fi和藍牙的積極調(diào)度策略相較于傳統(tǒng)Wi-Fi和藍牙共同使用的功耗降低了10%,但也可以舍棄Wi-Fi從而進一步降低功耗,單通道傳輸則勢必會遇到運力不足等問題,于是鴻蒙也加入了多級動態(tài)緩沖池作為到端運力的調(diào)度策略,在高帶寬設(shè)備未找到其他網(wǎng)內(nèi)高帶寬設(shè)備并對低帶寬設(shè)備發(fā)送數(shù)據(jù)時,將無法迅速接收到的數(shù)據(jù)先緩存至本地存儲,再根據(jù)低帶寬設(shè)備的接收速度逐步將全部數(shù)據(jù)發(fā)送,防止了數(shù)據(jù)的重傳,同時解決了老設(shè)備對新傳輸協(xié)議的兼容問題。

      鴻蒙操作系統(tǒng)使用近端控制,擺脫了極端條件下對云端網(wǎng)絡(luò)的要求。同時引入了基于軟時鐘的軟總線架構(gòu),不但對信道分時復用,防止連接設(shè)備過多導致的信號沖突問題,也可以最大程度地降低組網(wǎng)設(shè)備掉線導致的數(shù)據(jù)丟失、大面積設(shè)備掉線等風險。設(shè)備之間也可進行信息交換,可信設(shè)備自組網(wǎng),并感知上下線及完善信息管理。

      2.3 基于軟時鐘的軟總線網(wǎng)絡(luò)架構(gòu)

      總線(Bus)是一種內(nèi)部結(jié)構(gòu),是CPU、內(nèi)存、輸入、輸出設(shè)備傳遞信息的公用通道,傳統(tǒng)的終端通過總線連接主機各部件,再將外部設(shè)備與總線通過相應(yīng)的接口電路連接,從而構(gòu)成計算機硬件系統(tǒng)的公用通道[14]。通過這種方式產(chǎn)生了三層線路,分別為地址線、數(shù)據(jù)線和控制線,且不同設(shè)備之間相互獨立,控制者無法利用組網(wǎng)設(shè)備與被控設(shè)備共享地址線而單獨調(diào)試該設(shè)備。單獨的設(shè)備也由于端對端傳輸而無法在不影響整體網(wǎng)絡(luò)的情況下實現(xiàn)熱插拔。

      針對傳統(tǒng)分布式的網(wǎng)絡(luò)不可靠、延遲受環(huán)境影響可能較高、由于設(shè)備未形成網(wǎng)絡(luò)而導致的有限帶寬、網(wǎng)絡(luò)拓撲改變導致的組網(wǎng)失敗等,鴻蒙的分布式架構(gòu)設(shè)計了基于任務(wù)總線(sendByte)和數(shù)據(jù)總線(sendMessage)的軟總線。分布式軟總線的架構(gòu)如圖4所示。進行分布式軟總線的改造后,全部入網(wǎng)設(shè)備被視為超級終端,通過感知、計算、調(diào)度將高速通道(Lane)引入資源,將所有終端并為共享資源的集合,同在異構(gòu)組網(wǎng)內(nèi)的pad、手機、pc等則可通過LaneHub獲取共享資源。

      圖4 分布式軟總線Fig.4 Distributed soft bus

      除此之外,為最大程度地利用分布式的空口資源,避免頻段沖突和競爭,鴻蒙系統(tǒng)也舍棄了分布式設(shè)備的內(nèi)部時鐘。這些時鐘由于內(nèi)部晶振的不同質(zhì)量決定時鐘偏移不同,很難保證時間的同步性,持續(xù)同步又會帶來功耗與通信消耗。而鴻蒙的超級終端則共用一條時鐘,以異構(gòu)網(wǎng)絡(luò)拓撲與結(jié)構(gòu)為基礎(chǔ),以時間同步的方式為超級終端分布式系統(tǒng)構(gòu)建統(tǒng)一的時鐘源,協(xié)調(diào)各設(shè)備業(yè)務(wù)時鐘,并保持高精度時鐘進行分布式業(yè)務(wù),即為軟時鐘。軟時鐘的同步算法如圖5所示。以節(jié)點P作為基準的時鐘源,其他節(jié)點(例如節(jié)點A和節(jié)點B)與節(jié)點P之間,除了本地時間差異外,還存在晶振不同所導致的時間漂移和時鐘頻率差異等。由此可得出節(jié)點A和節(jié)點B上的數(shù)據(jù)包接收時間分別為

      圖5 軟時鐘同步算法Fig.5 Soft clock synchronization algorithm

      式中:T1,1和T1,i為 節(jié)點P的數(shù) 據(jù) 包發(fā) 送 時間;

      節(jié)點之間的數(shù)據(jù)包接收時間差值為

      傳輸時隨機干擾等因素帶來的漂移值為

      通過調(diào)整時間差,可實現(xiàn)多節(jié)點之間的時鐘同步。引入時鐘后,時分復用讓極少的頻譜資源支持更多設(shè)備的連接成為可能。根據(jù)每個設(shè)備的特征、賬號、承載的業(yè)務(wù)等信息,就可以自動組裝成一個超級終端。同時,可以將現(xiàn)有BLE的3個廣播信道基于分布式軟時鐘的不同時間戳來連接不同設(shè)備,使未來幾百臺智能設(shè)備連接在一起成為可能。

      多設(shè)備自動組網(wǎng)后,監(jiān)測設(shè)備可以通過高速通道監(jiān)測到設(shè)備的發(fā)生業(yè)務(wù)、業(yè)務(wù)特征、需要的帶寬、時延、功耗等,也能從單設(shè)備看到設(shè)備與全局的關(guān)系。這樣,當超級終端中的多對設(shè)備發(fā)生業(yè)務(wù)時,就可以通過全視角、單設(shè)備視角為其選擇合適的頻點、頻寬的信道為其工作,再加上分層控制及QoS管理,就能最大程度地降低干擾。

      除了以上給出的分布式軟時鐘常用的場景,隨著業(yè)務(wù)復雜性越來越多,分布式軟時鐘還可以在更多場景中發(fā)揮更多的作用。比如多設(shè)備所帶傳感器信號的采集,分布式軟時鐘就可以使得不同傳感器上時鐘保持一致,以便于保證不同信號的正確性。

      分布式軟時鐘對于物理層協(xié)同時延小于300 μs,傳輸層時延為500 μs,窗口協(xié)同則為1 ms,在日常使用中基本可以忽略該時延產(chǎn)生的誤差。同時,隨著不同設(shè)備屬性不同,所承載業(yè)務(wù)的網(wǎng)絡(luò)拓撲不同,其所需要的時鐘不同,軟時鐘將引入復雜網(wǎng)絡(luò)時鐘,為業(yè)務(wù)提供更加精準的時間同步。

      2.4 分布式數(shù)據(jù)管理

      在分布式軟總線的能力基礎(chǔ)上,分布式數(shù)據(jù)管理可以實現(xiàn)測量數(shù)據(jù)的分布式管理。用戶數(shù)據(jù)和測量數(shù)據(jù)不再綁定單一的物理設(shè)備,業(yè)務(wù)邏輯脫離數(shù)據(jù)存儲,數(shù)據(jù)在跨設(shè)備運行的應(yīng)用中無縫連接,使測量設(shè)備操作更加流暢。圖6為分布式數(shù)據(jù)管理示意圖。

      圖6 分布式數(shù)據(jù)管理Fig.6 Distributed data management

      2.5 分布式任務(wù)調(diào)度

      分布式任務(wù)調(diào)度構(gòu)建統(tǒng)一的分布式服務(wù)管理(發(fā)現(xiàn)、同步、注冊、調(diào)用)機制,基于分布式軟總線、分布式數(shù)據(jù)管理、分布式Profile等技術(shù)特性,支持遠程啟動、遠程調(diào)用、遠程連接以及跨設(shè)備應(yīng)用的遷移等操作,能夠根據(jù)不同設(shè)備的能力、位置、業(yè)務(wù)運行狀態(tài)、資源使用、用戶習慣和意圖等,實現(xiàn)跨設(shè)備應(yīng)用的一體化,選擇合適的設(shè)備運行分布式任務(wù)。圖7以應(yīng)用遷移為例,對分布式任務(wù)調(diào)度能力進行了簡要展示。

      圖7 分布式任務(wù)調(diào)度Fig.7 Distributed task scheduling

      總的來說,分布式的軟總線可實現(xiàn)測量硬件能力虛擬化、多終端的能力共享、彼此之間進行外設(shè)。分布式數(shù)據(jù)管理及任務(wù)調(diào)度使操作使用更流暢,跨設(shè)備的數(shù)據(jù)處理方便快捷,對硬件能力進行跨設(shè)備的調(diào)度,從而做到數(shù)據(jù)共享、算力共享、人工智能共享。

      2.6 Linux、鴻蒙優(yōu)劣勢分析

      在內(nèi)核方面,鴻蒙采用微內(nèi)核結(jié)構(gòu),內(nèi)核的可移植性比Linux更好,內(nèi)核穩(wěn)定性更高,減少了內(nèi)存的開銷,通過IPC(進程間通信機制)實現(xiàn)進程間通信;而Linux采用宏內(nèi)核結(jié)構(gòu),內(nèi)核的可移植性較鴻蒙差,內(nèi)核維護量大,系統(tǒng)內(nèi)核相對較大,因為包含了文件系統(tǒng)、設(shè)備驅(qū)動,對內(nèi)存的需求增加,但是通過函數(shù)調(diào)用直接實現(xiàn)內(nèi)核模塊之間的通信,提高了內(nèi)核效率。

      在實時性方面,鴻蒙采用硬實時中斷響應(yīng)機制,真正做到了在規(guī)定的時間內(nèi)完成事件處理的任務(wù)響應(yīng)要實時;而Linux采用軟實時機制,在時間的確定性上比較沒有保障。

      3 鴻蒙系統(tǒng)在智能測量儀器中的應(yīng)用

      利用鴻蒙系統(tǒng)在分布式軟總線和軟時鐘中展現(xiàn)出的易于組網(wǎng)、對時準確、實時性高的優(yōu)越性,對傳統(tǒng)電子測量儀器進行智能化改造。

      整個測量系統(tǒng)由下至上包含了三個部分:①感知層:傳感器與專用數(shù)據(jù)采集設(shè)備;②傳輸層:Hi3861開發(fā)板;③應(yīng)用層:鴻蒙終端。感知層中,測量數(shù)據(jù)由大量散布在一定區(qū)域內(nèi)的各類傳感器節(jié)點感知物理量的變化,經(jīng)過傳感器接口電路對信號進行放大后,由ADC芯片完成模擬到數(shù)字信號的轉(zhuǎn)換,將測量數(shù)據(jù)送入專用的數(shù)據(jù)采集設(shè)備。傳輸層中,由數(shù)據(jù)采集設(shè)備處理后通過RS485串口通信線路傳遞至海思Hi3861芯片,該芯片將作為數(shù)據(jù)傳輸模塊,形成一個數(shù)據(jù)匯聚節(jié)點,向下進行串口通訊,向上連接Wi-Fi網(wǎng)絡(luò);接著,傳感器的測量數(shù)據(jù)通過Wi-Fi無線通信,借助鴻蒙組網(wǎng)技術(shù),建立近場無線通信,實現(xiàn)UDP協(xié)議傳輸。應(yīng)用層中,由搭載鴻蒙系統(tǒng)的設(shè)備終端實現(xiàn)應(yīng)用層功能,完成測量數(shù)據(jù)的可視化顯示和用戶交互、WEB聯(lián)網(wǎng)、數(shù)據(jù)采集的控制指令、提供開放API等。整體上,由鴻蒙終端完成數(shù)據(jù)的采集、監(jiān)控、記錄、控制,實現(xiàn)整體功能邏輯,系統(tǒng)結(jié)構(gòu)如圖8。為將鴻蒙系統(tǒng)移植入智能測量儀器中,進行了以下應(yīng)用研究。

      圖8 智能測量系統(tǒng)結(jié)構(gòu)Fig.8 Intelligent measurement system architecture

      3.1 改進任務(wù)調(diào)度算法

      針對測量系統(tǒng)的特點,優(yōu)化并移植鴻蒙系統(tǒng)內(nèi)核,改進其任務(wù)調(diào)度[15]及中斷處理算法。

      鴻蒙系統(tǒng)采用的分布式任務(wù)調(diào)度是多級反饋隊列(Multi-Level Feed-back Queue,MLFQ),不同于Linux使用的完全公平調(diào)度模式。設(shè)有N個隊列(Q1,Q2,...,QN),其中各個隊列對于處理機的優(yōu)先級不同,一般來說,優(yōu)先級Priority(Q1) > Priority (Q2) > ... > Priority(QN),那么位于Q1中的任何進程相對于CPU的優(yōu)先級,都要高于Q2中的任何進程,依次類推其他隊列。進程調(diào)度在優(yōu)先級最低的隊列QN中,按照時間片輪換法進行;對于其他隊列,遵循先來后到的服務(wù)算法,每個進程分配一定的時間片,如果時間片運行完畢,進程還沒有結(jié)束,就會進入下一個優(yōu)先級隊列的末尾。并且,每個隊列的時間片隨著優(yōu)先級的增加而遞減,其時間片在優(yōu)先級越高的隊列中會縮短。優(yōu)先級最低的隊列QN為了方便那些超大作業(yè)的完成,時間片一般都很大。

      MLFQ調(diào)度的重點在于調(diào)度器如何設(shè)定優(yōu)先任務(wù)。MLFQ并不固定地賦予每項任務(wù)優(yōu)先級。而是隨著任務(wù)的運行動態(tài),對優(yōu)先級進行調(diào)整。如果一個任務(wù)不停地放棄CPU,比如在等待I/O完成,MLFQ會保持它的高優(yōu)先級,因為它是個交互式任務(wù)。相反如果一個任務(wù)占用CPU很長時間,也就是長任務(wù),MLFQ會降低其優(yōu)先級。通過這種方式MLFQ會隨著任務(wù)的運行,不停地學習,進而預(yù)測任務(wù)未來可能的運行方式。當一個長任務(wù)和交互式任務(wù)同時運行時,交互式任務(wù)一直在最高優(yōu)先級隊列中,長任務(wù)不停地運行到最低優(yōu)先級隊列中,交互式任務(wù)仿佛穿插運行在長任務(wù)中一樣。這樣互動式的任務(wù),反應(yīng)時間很好,而長任務(wù)也獲得了良好的周轉(zhuǎn)時間。所以MLFQ的4個基本規(guī)則可以提煉如下:

      規(guī)則1:Priority(Q1) > Priority (Q2),則運行A,而B不運行。

      規(guī)則2:如果A,B優(yōu)先級相同,那么A和B都輪流運行,采用輪詢調(diào)度策略。

      規(guī)則3:當任務(wù)到達系統(tǒng)時,把它放在最高優(yōu)先級隊列中。

      規(guī)則4:如果任務(wù)用完整個時間片,把它從高優(yōu)先隊列往下移動一級;如果工作在其時間片以內(nèi)主動釋放CPU,則優(yōu)先級不變。

      目前的MLFQ,看起來似乎是公平的,對長任務(wù)來說會公平地分享CPU,對短任務(wù)或者IO敏感的交互式任務(wù)也能更快地運行。然而,這種實現(xiàn)方式還有嚴重的問題,就是“餓死”問題,如果系統(tǒng)中有太多的交互式任務(wù)運行,他們加起來會消耗掉所有的CPU時間,則長任務(wù)不可能獲得任何的CPU時間(稱為“餓死”)。

      隨著時間的改變,任務(wù)的類型也會發(fā)生改變。CPU密集型的程序可能會在后面變成交互型的程序,按照這種策略,到了最低優(yōu)先級后無法再往上移動,也就無法重新被系統(tǒng)當作是交互式任務(wù)。

      這個問題基本的解決思路就是周期性地提升系統(tǒng)中任務(wù)的優(yōu)先級,把任務(wù)放到最高優(yōu)先級隊列中,因此可以提出一條新規(guī)則5:在一段時間S后,將所有任務(wù)移至最高優(yōu)先級隊列。

      S的大小值得關(guān)注,若S值設(shè)置過大,長任務(wù)“餓死”時間會變長;若S值設(shè)置過小,交互式程序就不會獲得本該公平的CPU資源,如圖9所示。

      圖9 設(shè)置S值Fig.9 Setting of S value

      引用新規(guī)則后解決了兩個問題,保證不會有任務(wù)被餓死。當CPU密集型的程序變成交互式程序時,能再次獲得調(diào)度器的信任。首先,這個過程不會餓死,在最高優(yōu)先級隊列中,它會以輪轉(zhuǎn)的方式將CPU分享給其他高優(yōu)先級的工作,這樣才能最終得到執(zhí)行;其次,如果一個CPU密集型的工作變成了交互,那么當它的優(yōu)先級提高時,能再次獲得調(diào)度器的信任。

      3.2 中斷控制設(shè)計

      鴻蒙操作系統(tǒng)的中斷均采用中斷向量表的方式進行處理,中斷號是一個特定的中斷請求信號標志,與中斷號對應(yīng)的是中斷向量,中斷向量是一個入口地址,用于中斷服務(wù)程序。中斷向量表是所有中斷處理程序的入口,處理過程是將一個函數(shù)與中斷向量表中的中斷向量在一個虛擬中斷向量表中連接起來。當中斷向量對應(yīng)中斷發(fā)生時,會調(diào)用已掛斷的用戶中斷服務(wù)程序執(zhí)行。當一個中斷觸發(fā)時,處理器會跳轉(zhuǎn)到中斷源相應(yīng)的位置進行處理,并且每個中斷服務(wù)程序必須排列在一個統(tǒng)一的地址上。中斷向量表一般是由一個數(shù)組定義出來的,或者在起始代碼里給出中斷向量表。如圖10所示。

      圖10 中斷向量表Fig.10 Interrupt vector table

      為方便測量儀器的使用,特別選擇LOSCFG_PLATFORM_BSP_GIC_V2作為中斷控制器,對應(yīng)中斷控制過程如圖11所示。

      圖11 中斷控制過程圖Fig.11 Interrupt control diagram

      3.3 測量方法邏輯判別

      當前的自動化檢定軟件普遍是由上位機控制、讀取測量儀器傳輸回的數(shù)據(jù)并進行數(shù)據(jù)處理,大部分操作必須由計量人員手工完成,并且無法進行規(guī)程要求的環(huán)境實時監(jiān)測等功能。

      在對鴻蒙系統(tǒng)進行任務(wù)調(diào)度處理和中斷控制設(shè)計后,測量系統(tǒng)可以在計量任務(wù)中合理的調(diào)度如邏輯判斷、命令識別、自采集、自適應(yīng)、自檢驗與故障自診斷等。經(jīng)過對鴻蒙開發(fā)板的模塊化改造與本次任務(wù)的數(shù)字化計量規(guī)程規(guī)范的分析,程序可對傳感器、環(huán)境條件進行自檢驗與故障自診斷,然后提取規(guī)程規(guī)范中的操作步驟,包括提供計量參量的儀器控制、計量過程控制、通過算法的邏輯判別完成命令的識別和數(shù)據(jù)的自動采集與數(shù)據(jù)處理。在測量過程中可對測量儀器進行自動切換量程、自動適應(yīng)測量參數(shù),并在監(jiān)控終端對測量結(jié)果進行自適應(yīng)顯示。通過軟時鐘進行高精度的時序控制,利用優(yōu)化后的任務(wù)調(diào)度和中斷控制算法增強儀器軟件實時測量控制的性能。

      3.4 自校準與實時校準

      傳統(tǒng)上位機一般只能記錄測量儀器傳回的原始數(shù)據(jù),并且無法集成對儀器的校準工作,而智能測量儀器可借助鴻蒙系統(tǒng)集成的傳感器自校準方法在檢定前對傳感器進行零位校準,標準校準等。在計量過程中,根據(jù)當前接入的儀器數(shù)據(jù)對傳感器采用校正算法消除系統(tǒng)誤差,實現(xiàn)自校準和自補償,完成對傳感器測量誤差的實時修正,并且提供數(shù)字濾波算法,消除隨機誤差,實現(xiàn)測量數(shù)據(jù)的噪聲抑制。還可以利用數(shù)據(jù)處理技術(shù)對儀表進行非線性特征的自校正,自動按照對應(yīng)的非線性特性進行轉(zhuǎn)換,實現(xiàn)測量系統(tǒng)輸入與輸出的理想直線關(guān)系,實現(xiàn)方法多采用分段線性插值法和曲線擬合法。

      引入鴻蒙系統(tǒng)后,利用其軟時鐘的特性,為測量系統(tǒng)設(shè)置一個整體時鐘信號,來保證每個測量模塊時鐘的準確性和同步性,可以避免不同測量時用到的儀器接收指令和處理數(shù)據(jù)的時鐘不一致,實現(xiàn)在測量條件迅速變換下的實時自校準。同時,由于測量系統(tǒng)需要定時修正誤差,普通智能測量儀器在這部分的開銷較大,而鴻蒙系統(tǒng)可通過分布式軟總線合理分配資源,使自校準任務(wù)不會過度占用采集資源與數(shù)據(jù)處理的資源。

      3.5 測量數(shù)據(jù)的擴展性與準確性保證

      鴻蒙系統(tǒng)對計量設(shè)備的智能化改造大幅度減少了整體系統(tǒng)的開銷,并加入了自組網(wǎng)、軟總線等功能,可以拓展計量任務(wù)的空間范圍、被檢數(shù)量等。同時,可以在測量儀器到鴻蒙開發(fā)版之外拓展高精度環(huán)境信息監(jiān)控等,與規(guī)程規(guī)范中的要求進行比對,保證量值的準確性。由于鴻蒙分布式節(jié)點造價低的特點,在特殊計量條件下,例如惡劣環(huán)境、非標計量要求等,可以設(shè)置多臺計量設(shè)備終端作為冗余,保證鏈路的通暢以及數(shù)據(jù)的準確。

      同時,分布式軟總線的軟時鐘可以確保遠端計量設(shè)備傳輸數(shù)據(jù)的實時性,外加對計量參量的儀器控制,使數(shù)據(jù)更加準確。用戶可通過手機、平板等匯總設(shè)備實時監(jiān)控每一臺設(shè)備的運行情況以及環(huán)境信息,也可以單獨查看某一臺遠端設(shè)備的狀態(tài),同時可以控制此次計量任務(wù)的進行。

      得益于鴻蒙對任務(wù)優(yōu)先級的分配,一般計量任務(wù)所用到的業(yè)務(wù)也可根據(jù)重要性進行優(yōu)先級排布,如表4所示。

      表4 計量任務(wù)優(yōu)先級排布Tab.4 Measurement task prioritization

      對于數(shù)據(jù)采集設(shè)備,盡量提升其資源占用以保證計量數(shù)據(jù)順利地快速回傳,同時調(diào)用鴻蒙系統(tǒng)的任務(wù)總線,將原始記錄和校準修正計算保存至分布式終端中處理性能較強的手機、平板設(shè)備,同時可以設(shè)計對應(yīng)專業(yè)的計量軟件,進行原始記錄表格的生成以及證書的上傳。在全程的低功耗環(huán)境監(jiān)測下,整體任務(wù)完畢后,用戶便可選擇將數(shù)據(jù)上傳至云端或快速出具校準證書,大大降低了數(shù)據(jù)處理的時間和人力成本,同時大幅提高了數(shù)據(jù)的準確性。

      3.6 用戶界面顯示

      傳統(tǒng)的儀表由于專注于測量的準確性,往往只提供最基本的字符顯示功能,如果對儀器不熟悉,需要耗費很長時間學習操作。而鴻蒙系統(tǒng)則可通過向儀器直接發(fā)送指令,而將晦澀難懂的儀器指令變成可視化操作界面,通過增加輔助功能,大大增加了儀器的可用性。

      開啟鴻蒙終端APP后,完成主窗口的創(chuàng)建。首先創(chuàng)建事件,初始化定時器,定時器每隔1 s顯示時間,向開發(fā)板發(fā)送指令。UDP開始監(jiān)聽特定端口,UDP接收到數(shù)據(jù)產(chǎn)生中斷事件,進行顯示。設(shè)置時鐘1,使其每隔1 s在右上角顯示當前時間,并通過UDP以“GBK”的數(shù)據(jù)格式發(fā)送命令“sendcmd”,IP地址為當前IP地址192.168.1.169,UDP在192.168.1.-網(wǎng)段內(nèi)監(jiān)聽,監(jiān)聽到數(shù)據(jù)后觸發(fā)收到數(shù)據(jù)事件,將接收到的字節(jié)數(shù)據(jù)轉(zhuǎn)化為文本,分別放到各個標簽中,即可完成顯示。

      使用標簽、按鈕、時鐘、數(shù)據(jù)報等組件進行頁面布局設(shè)計,鴻蒙終端APP的主界面如圖12所示。

      圖12 鴻蒙終端APP的主界面Fig.12 Main interface of Harmony terminal APP

      3.7 硬件功能拓展

      在鴻蒙操作系統(tǒng)環(huán)境中實現(xiàn)智能測量儀器的開發(fā),脫離了傳統(tǒng)的C51,STM32等嵌入式平臺,采用可運行鴻蒙系統(tǒng)的海思Hi3861芯片作為主控芯片。該芯片集成了32位高性能微處理器,包含硬件安全引擎,并且具備豐富的外設(shè)接口,包括SPI,UART,I2C,PWM等,可通過對GPIO口的編程與配置,實現(xiàn)與測量系統(tǒng)中的各種測量儀器、數(shù)據(jù)采集卡、信號放大器、主傳感器、附加傳感器、傳感器模擬器等設(shè)備的連接,通過串行和并行的通信接口組成測量控制系統(tǒng),可提高智能測量儀器的硬件拓展性和兼容性。同時,基于鴻蒙系統(tǒng)的分布式軟總線特性,合理分配并實時監(jiān)控各任務(wù)和線程的通信接口,使硬件設(shè)備更便捷地與上位機終端設(shè)備進行連接和通信,實現(xiàn)對輸入輸出設(shè)備的自動控制與管理。利用Wi-Fi結(jié)合UDP協(xié)議傳輸?shù)木W(wǎng)絡(luò)特性,增強智能測量儀器分布式測量與控制性能。

      串口通信[16]是最基本的單片機通信,在鴻蒙開發(fā)板的海思Hi3861模塊中,用于串口通信的UART2接口使用GPIO11和GPIO12管腳。在通信過程中,首先實現(xiàn)UART2的初始化,編寫初始化函數(shù)、讀數(shù)據(jù)函數(shù)以及收發(fā)數(shù)據(jù)函數(shù),將接收到的數(shù)據(jù)再次發(fā)送出去。在開發(fā)過程中,需對UART2進行使能,初始化GPIO為UART2,對GPIO11和GPIO12進行初始化,接著配置UART2的波特率、數(shù)據(jù)位、停止位、奇偶校驗和流控,設(shè)計數(shù)據(jù)傳輸?shù)膮f(xié)議和格式,然后在任務(wù)中調(diào)用UART2串口讀寫函數(shù)和任務(wù)處理函數(shù),最后對業(yè)務(wù)代碼和模塊的腳本進行編譯。

      4 總結(jié)

      在分析了鴻蒙系統(tǒng)的技術(shù)架構(gòu)以及分布式特性后,發(fā)現(xiàn)其在可靠性、安全性、連接性方面均有較高的優(yōu)越性。和已有的Linux系統(tǒng)進行比較,鴻蒙系統(tǒng)的內(nèi)核移植性好、系統(tǒng)穩(wěn)定且開銷較小。本文設(shè)計了基于鴻蒙系統(tǒng)的智能測量系統(tǒng),驗證了鴻蒙系統(tǒng)可以在任務(wù)調(diào)度與中斷控制、自動采集、自動校準、數(shù)據(jù)傳輸、用戶界面和硬件通信方面,滿足智能測量儀器對嵌入式操作系統(tǒng)的需求。

      將鴻蒙系統(tǒng)根據(jù)測量系統(tǒng)的特點進行優(yōu)化,結(jié)合其分布式軟總線與軟時鐘的特性,可為測量系統(tǒng)提供更智能、實時性更強的操作平臺。將來可在長、熱、力、電等測量領(lǐng)域進行功能拓展,利用鴻蒙系統(tǒng)的多任務(wù)開發(fā)模式,不斷更新配置功能,從而實現(xiàn)全面的智能測量云平臺。

      猜你喜歡
      鴻蒙時鐘分布式
      奇思妙想(4)
      別樣的“時鐘”
      鴻蒙:打破安卓壟斷 所有權(quán)歸屬國家
      鴻蒙來了
      金橋(2021年7期)2021-07-22 01:55:34
      古代的時鐘
      華為一大批鴻蒙商標等待審查
      電腦報(2020年27期)2020-08-02 22:02:58
      分布式光伏熱錢洶涌
      能源(2017年10期)2017-12-20 05:54:07
      分布式光伏:爆發(fā)還是徘徊
      能源(2017年5期)2017-07-06 09:25:54
      有趣的時鐘
      時鐘會開“花”
      屏山县| 馆陶县| 邢台县| 瑞安市| 阜南县| 正镶白旗| 永昌县| 浠水县| 三门县| 白银市| 栖霞市| 北京市| 丹凤县| 长岛县| 句容市| 鲁甸县| 鱼台县| 驻马店市| 体育| 庄河市| 正安县| 临湘市| 新平| 克东县| 临朐县| 洪洞县| 吉安县| 田阳县| 精河县| 芮城县| 嘉定区| 永胜县| 汤阴县| 邵阳市| 眉山市| 泸州市| 黄陵县| 平利县| 临泽县| 双城市| 铁力市|