亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種多平臺可移植的數(shù)字對講機顯控模塊的實現(xiàn)方法

        2024-12-31 00:00:00白婭娟
        無線互聯(lián)科技 2024年20期

        摘要:數(shù)字對講機是警用和民用數(shù)字集群通信系統(tǒng)終端類設(shè)備,可為公安消防、城市駐軍、邊海防部隊等在執(zhí)勤巡邏、訓(xùn)練演習(xí)、反恐維穩(wěn)時提供語音、短信息和數(shù)據(jù)等指揮調(diào)度通信保障。隨著對講機產(chǎn)品的更新升級,軟件、硬件迭代,支持單一平臺系統(tǒng)的顯控模塊無法滿足多平臺的開發(fā)升級。文章詳細(xì)介紹了一種多平臺可移植的數(shù)字對講機顯控模塊的實現(xiàn)方法,以為開發(fā)者提供便利。

        關(guān)鍵詞:顯控模塊;多平臺;可移植;數(shù)字對講機

        中圖分類號:TN319 "文獻(xiàn)標(biāo)志碼:A

        0 引言

        數(shù)字對講機系統(tǒng)是安防系統(tǒng)的重要組成部分,具備全呼、組呼、個呼、緊急呼叫等功能,在日常安保、組織協(xié)調(diào)及突發(fā)事件處置中具有不可替代的作用[1]。特別是當(dāng)突發(fā)事件發(fā)生時,使用無線對講系統(tǒng)可以迅速實現(xiàn)相關(guān)人員之間的應(yīng)急指揮、人員調(diào)度。

        數(shù)字對講機(手持終端)軟件被劃分為精簡指令集(Advanced RISC Machine,ARM)端控制部件和數(shù)字信號處理端(Digital Signal Processing,DSP)算法部件2個部分。其中,ARM端控制部件包括ARM端平臺、主機、顯控軟件和數(shù)字集群協(xié)議棧的媒體接入控制層(Unit Medium Access Control Layer,UMAC),DSP端算法部件包括DSP端平臺和數(shù)字集群協(xié)議棧的UMAC[2]。

        數(shù)字對講機系統(tǒng)軟件設(shè)計如圖1所示,其分為平臺、主機、顯控和數(shù)字集群協(xié)議棧4個模塊。各模塊的具體實現(xiàn)功能定義如下:

        (1) 平臺模塊主要實現(xiàn)了硬件平臺的驅(qū)動控制和各模塊間的接口通信功能;

        (2) 主機模塊主要實現(xiàn)了工廠模式下程序下載和文件系統(tǒng)功能;

        (3) 顯控模塊主要實現(xiàn)了顯示/鍵盤等人機接口響應(yīng)、數(shù)字集群和脫網(wǎng)直通控制、寫頻處理、自檢和定位等功能;

        (4) 數(shù)字集群協(xié)議棧模塊主要實現(xiàn)了數(shù)字集群信令控制和所有集群業(yè)務(wù)功能。

        目前,常見的數(shù)字對講機基本上都是基于單一平臺開發(fā)實現(xiàn)的,這種實現(xiàn)方式具有很大的弊端,即一旦系統(tǒng)或者芯片發(fā)生改變,就無法進(jìn)行快速的移植和迭代。在現(xiàn)實中,研發(fā)團隊須要花費較高的人力成本進(jìn)行重新開發(fā)和設(shè)計,不能快速地滿足用戶需求。隨著數(shù)字對講機產(chǎn)品的更新升級和軟件、硬件迭代,支持單一平臺系統(tǒng)的顯控模塊無法滿足多平臺系統(tǒng)的開發(fā)升級。因此,本文設(shè)計了一種多平臺可移植的數(shù)字對講機顯控模塊實現(xiàn)方法并將其用于項目實踐。實踐結(jié)果表明,所提方法能夠為開發(fā)者的研究提供借鑒和參考。

        1 顯控模塊設(shè)計實現(xiàn)

        在多平臺可移植的無線對講機系統(tǒng)中,顯控模塊的設(shè)計實現(xiàn)過程主要涉及3個部分,包括GUI棧設(shè)計、界面設(shè)計和任務(wù)設(shè)計。數(shù)字對講機軟件實現(xiàn)的過程主要分為物理層和平臺,其中物理層包含協(xié)議棧,具有呼叫功能、補充功能、優(yōu)先級處理功能、用戶移動性、生存性、保密功能、支持調(diào)度臺功能、短信功能。顯控是獨立于平臺和協(xié)議棧的模塊,主要包含信息提示、按鍵與菜單控制、一般手機功能、脫網(wǎng)直通、數(shù)據(jù)傳輸功能、設(shè)備自檢功能。數(shù)字對講機軟件功能,如圖2所示。

        該研究的顯控單元軟件結(jié)構(gòu)包括驅(qū)動接口、操作系統(tǒng)、調(diào)度顯示3個部分,顯控軟件運行依賴于操作系統(tǒng)提供的應(yīng)用程序接口庫(Application Programming Interface,API),如圖3所示。

        該研究設(shè)計的驅(qū)動接口包括顯示器驅(qū)動、串口驅(qū)動、存儲單元(Flash)驅(qū)動、輸入法實現(xiàn)。操作系統(tǒng)提供了API函數(shù),包括信號量、定時器、任務(wù)、隊列等,方便開發(fā)者有效地利用中央處理器資源(Central Processing Unit,CPU),簡化設(shè)計,縮短開發(fā)時間,更好地保證了系統(tǒng)的實時性和可靠性,實現(xiàn)多任務(wù)的開發(fā)[3]。

        在該研究中,顯控軟件共啟動3項任務(wù)。第1項任務(wù)用于鍵盤掃描,掃描鍵盤通過探測電壓值來確定有無按下和按下哪個按鍵,主要包括短按鍵、長按鍵和組合按鍵,識別到的按鍵送到界面消息隊列。第2項任務(wù)用于監(jiān)控串口,狀態(tài)機實現(xiàn)串行線路協(xié)議(Serial Line Internet Protocol,SLIP)的解封裝,顯控軟件將綜合業(yè)務(wù)發(fā)送來的數(shù)據(jù)賦給對應(yīng)的參數(shù)和結(jié)構(gòu)體,最終實現(xiàn)數(shù)據(jù)的刷新。與此同時,狀態(tài)機還實現(xiàn)SLIP的封裝,顯控軟件對待發(fā)送給綜合業(yè)務(wù)的數(shù)據(jù)進(jìn)行SLIP的封裝以及內(nèi)容的轉(zhuǎn)義[4],完成之后,將封裝好的數(shù)據(jù)通過串口傳輸給綜合業(yè)務(wù)。第3項任務(wù)用于處理界面的消息隊列,顯控軟件通過收到的消息實現(xiàn)繪制和調(diào)用界面,實現(xiàn)相應(yīng)界面下的按鍵響應(yīng)。本文通過對3項任務(wù)的優(yōu)先級和堆棧大小等參數(shù)進(jìn)行配置,合理調(diào)度CPU,實現(xiàn)友好的人機交互。顯控軟件執(zhí)行方案如圖4所示。

        1.1 GUI棧設(shè)計

        1.1.1 界面抽象

        本文根據(jù)不同界面的結(jié)構(gòu)和行為,通過顯控軟件對界面進(jìn)行分類,同類界面必須具有相似的界面結(jié)構(gòu)和可控行為。根據(jù)這些結(jié)構(gòu)和行為,開發(fā)者為每類界面編寫通用的數(shù)據(jù)結(jié)構(gòu),同時,每類界面必須配有默認(rèn)的顯示函數(shù)和消息處理函數(shù),具體如表1所示。

        通常把抽象出來的界面稱為界面模板或類,此時數(shù)據(jù)結(jié)構(gòu)中的成員變量被稱為屬性,顯示函數(shù)和消息處理函數(shù)被稱為方法[5]。

        依據(jù)該研究設(shè)計,當(dāng)設(shè)計師須要創(chuàng)建一個具體界面(對象)時,僅從對應(yīng)界面類的數(shù)據(jù)結(jié)構(gòu)生成即可;若有特殊應(yīng)用,則可重寫顯示函數(shù)和消息處理函數(shù)。例如:當(dāng)具體界面對某個消息的處理方式與默認(rèn)處理方式不同時,設(shè)計師可以通過重寫消息處理函數(shù)來攔截對應(yīng)的消息并處理;而其他的消息則需要再次調(diào)用默認(rèn)處理函數(shù)進(jìn)行處理。

        1.1.2 界面堆棧

        為了簡化界面的交替操作,本文使用一個棧來存儲運行中的界面。棧頂所存儲的界面對應(yīng)當(dāng)前顯示屏所顯示的界面。界面的橫向交替被抽象為棧頂界面的替換,界面的縱向交替被抽象為入棧和出棧操作[6]。

        當(dāng)有消息到來時,在系統(tǒng)處理與界面無關(guān)的消息之后,剩余的消息可以直接送給棧頂界面處理。界面堆棧是一個用于存儲界面指針的棧,界面位于其中的棧位置可表明其對應(yīng)于顯示屏中各界面的層疊關(guān)系。

        1.1.3 界面消息隊列

        消息隊列主要包含發(fā)送消息和接收消息2部分操作。須要注意,在該研究中,收發(fā)消息的操作必須進(jìn)行互斥保護,這是因為消息來自不同任務(wù),若沒有防重入處理則導(dǎo)致消息隊列紊亂。另外,當(dāng)用戶可以添加或者刪除預(yù)定義消息時,應(yīng)注意用戶定義的消息值不能與已有的消息值和SLIP幀的序列號值重復(fù)。

        1.1.4 顯存

        虛擬顯示的本質(zhì)是一塊連續(xù)的內(nèi)存,不同之處在于這塊內(nèi)存的操作被封裝成特殊接口,該研究可以像操作顯示屏像素點一樣操作這塊內(nèi)存。這樣,每次的顯示屏數(shù)據(jù)更新將優(yōu)先在這塊內(nèi)存中完成,該研究中的顯控軟件在更新數(shù)據(jù)的過程中會計算出數(shù)據(jù)更新的區(qū)域。當(dāng)所有更新完成后,這塊內(nèi)存中被更改的數(shù)據(jù)區(qū)域就會被刷新到真實的顯示屏中。

        對于用戶而言,所提設(shè)計方案可以完全屏蔽刷新的中間數(shù)據(jù)過程,用戶看到的永遠(yuǎn)是最終的界面效果,而無法看到過渡界面,界面刷新過程非常流暢,不會閃爍。同時,用戶減少了顯示屏的操作,程序運行的效率更高。

        本文通過一個二維數(shù)組來定義顯存,具有如下2種不同的定義方式:行地址(y)作為數(shù)組第1索引,列地址(x)作為數(shù)組第2索引;列地址(x)作為數(shù)組第1索引,行地址(y)作為數(shù)組第2索引。

        結(jié)合所使用的顯示屏像素與輸入數(shù)據(jù)的對應(yīng)關(guān)系,即每字節(jié)數(shù)據(jù)映射為顯示屏豎向8個像素,在該研究中選取第1種方式,這樣就可以保證每行點陣數(shù)據(jù)在內(nèi)存中是連續(xù)的,字節(jié)的最低有效位(Least Significant Bit,LSB)對應(yīng)低地址像素點。

        1.2 界面設(shè)計

        1.2.1 應(yīng)用界面

        實現(xiàn)窗口主要用于實現(xiàn)消息處理函數(shù),顯控軟件通過對消息進(jìn)行分支判斷并做出相應(yīng)的處理或者響應(yīng)。在一般情況下,該研究中自定義的消息函數(shù)若沒有對消息進(jìn)行處理,則應(yīng)調(diào)用該模板對應(yīng)的默認(rèn)消息處理函數(shù)[7-8]。在某些特殊需求下,系統(tǒng)可以不調(diào)用默認(rèn)消息處理函數(shù)。還有一些情況下,系統(tǒng)無須自定義消息處理函數(shù),可以直接使用默認(rèn)消息處理函數(shù)在界面數(shù)據(jù)結(jié)構(gòu)中進(jìn)行注冊[9]。

        該研究的界面數(shù)據(jù)結(jié)構(gòu)包含該界面所需的所有屬性和方法。界面數(shù)據(jù)結(jié)構(gòu)指針被送入顯示函數(shù)后,該指針會被壓入界面堆棧,此時,會有4個消息被發(fā)送到界面消息隊列。

        ◆WIN_INIT

        ◆ WIN_BEFORE_PAINT

        ◆ WIN_UPON_PAINT

        ◆ WIN_AFTER_PAINT

        WIN_INIT只會在界面被壓入堆棧時出現(xiàn)一次,用戶可以利用該消息來初始化界面。WIN_BEFORE_PAINT和WIN_AFTER_PAINT會在界面每次變?yōu)轫攲咏缑鏁r出現(xiàn)。WIN_BEFORE_PAINT出現(xiàn)在界面繪制前,WIN_AFTER_PAINT出現(xiàn)在界面繪制后,用戶可以根據(jù)需要調(diào)用這2個消息。

        1.2.2 界面交互邏輯

        本文以一個設(shè)置過程為例,說明交互過程中的數(shù)據(jù)交換以及界面流轉(zhuǎn)邏輯。圖5展示了一個完整的界面交互過程。

        在用戶輸入/選擇界面,用戶填寫或選擇數(shù)據(jù),然后按下確認(rèn)鍵。此時,系統(tǒng)會發(fā)送一個對應(yīng)的SLIP幀,同時,界面將切換到“設(shè)置中”。在正常情況下,綜合業(yè)務(wù)單元會收到顯控發(fā)送的SLIP幀,綜合業(yè)務(wù)單元在解析SLIP幀后執(zhí)行一些操作,以SLIP幀的形式將數(shù)據(jù)返回至顯控。同時,顯控在“設(shè)置中”界面會啟動10 s的超時定時器。在規(guī)定的時間內(nèi),若顯控軟件沒有接收到來自綜合業(yè)務(wù)單元的回復(fù),則系統(tǒng)會將界面切換到“系統(tǒng)超時”提示界面。若在規(guī)定時間內(nèi)顯控軟件收到綜合業(yè)務(wù)單元的回復(fù),則超時定時器將會被關(guān)閉。若綜合業(yè)務(wù)單元能夠回復(fù)成功應(yīng)答(Acknowledge,ACK),則表明設(shè)置成功,界面提示“設(shè)置成功”并延時返回設(shè)置菜單界面。同理,若綜合業(yè)務(wù)單元能夠返回否定應(yīng)答(Negative AcKnowledgment,NACK),則界面提示“設(shè)置失敗”。在更復(fù)雜的情況下,綜合業(yè)務(wù)單元可能回復(fù)更為復(fù)雜的數(shù)據(jù)。

        1.3 任務(wù)設(shè)計

        1.3.1 主任務(wù)

        該研究中的主任務(wù)包含消息處理和刷新界面2個主要功能。

        1.3.2 鍵盤掃描任務(wù)

        在該研究中,鍵盤掃描任務(wù)的功能是判斷有無按鍵按下以及按下哪個按鍵(長按鍵還是短按鍵),將用戶按鍵送入界面消息隊列。

        1.3.3 SLIP幀接收任務(wù)

        該研究使用消息隊列進(jìn)行SLIP幀的傳輸,若任務(wù)接收一幀完整的數(shù)據(jù),則可進(jìn)行協(xié)議解析;解析后可能須要將協(xié)議中的一些數(shù)據(jù)保存起來;最后觸發(fā)界面消息以通知界面[10-11]。

        2 多平臺可移植

        一般的數(shù)字對講機基于QT、安卓、ucGUI等圖形化操作系統(tǒng),芯片一旦改變,設(shè)計師就須要移植系統(tǒng)龐大的庫函數(shù),搭建編譯環(huán)境來適配當(dāng)前的新平臺。此項工作尤為煩瑣,只有在平臺搭建好的情況下,設(shè)計師才可根據(jù)需要修改界面。

        該研究設(shè)計的數(shù)字對講機顯控軟件支持多種平臺,例如Windows、VxWorks、Linux、翼輝、單片機等。其中,該軟件支持在Windows平臺的cmd或者RadioVSC軟件中模擬界面效果進(jìn)行調(diào)試。在實際應(yīng)用中,僅根據(jù)不同平臺調(diào)用入口函數(shù)啟動顯控程序,無須移植庫函數(shù),代碼改動少,大幅提升了移植效率。

        其中,啟動函數(shù)會初始化顯控,然后根據(jù)不同平臺創(chuàng)建顯控所需要的主線程、SLIP解析線程、鍵盤掃描線程。當(dāng)這3個線程用于系統(tǒng)啟動后,主線程將會啟動顯控的第一個界面,系統(tǒng)隨之進(jìn)入消息等待狀態(tài),當(dāng)系統(tǒng)接收消息時,及時進(jìn)行消息處理以及界面刷新等操作。

        SLIP解析線程主要進(jìn)行SLIP的接收與解碼工作,解碼的數(shù)據(jù)將用于更新顯控系統(tǒng)的參數(shù),然后該線程會生成對應(yīng)的消息通知界面。

        按鍵掃描線程對鍵盤進(jìn)行掃描,將按鍵以消息的形式傳遞給界面,每個界面都有其各自的消息處理函數(shù)以處理這些不同的消息。

        3 結(jié)語

        數(shù)字對講機系統(tǒng)的通用和方便移植是產(chǎn)品升級迭代中的重要環(huán)節(jié),該研究設(shè)計了一種多平臺通用可移植的顯控模塊實現(xiàn)方法,該顯控模塊已在實際項目中被廣泛應(yīng)用。通過對相關(guān)項目的對比開發(fā)量和可移植性進(jìn)行驗證,表明此方法是可行的、方便移植的,其有助于數(shù)字對講機的產(chǎn)品模塊化開發(fā),提高了設(shè)計師的開發(fā)效率,節(jié)約了開發(fā)時間。

        參考文獻(xiàn)

        [1]李俠宇.國內(nèi)數(shù)字集群的發(fā)展和技術(shù)比較[J].移動通信,2007(2):17-20.

        [2]鄭強.DMR數(shù)字對講機高層協(xié)議的研究與實現(xiàn)[D].成都:電子科技大學(xué),2013.

        [3]羅超,彭玉濤.計算機軟件測試方法的研究分析[J].長江信息通信,2023(2):83-85.

        [4]王馭,夏海斌,梁鴻斌.一種基于共識機制的數(shù)字集群終端防失控方案研究[J].信息安全與通信保密,2022(6):123-134.

        [5]強云霞.淺談軟件項目開發(fā)過程中的需求分析[J].科學(xué)與信息化,2017(32):12-36.

        [6]YUANG M,LI H M,YAO G Z. A research on developing digital trunking emergency communication of Jiangsu Province[J]. Journal of Nanjing University of Posts amp; Telecommunications,2009(15):16-32.

        [7]熊永平.基于SpringBoot框架應(yīng)用開發(fā)技術(shù)的分析與研究[J].電腦知識與技術(shù),2019(36):76-77.

        [8]周華,孫新平,胡盛,等.軟件設(shè)計與體系結(jié)構(gòu)[M].北京:科學(xué)出版社,2012.

        [9]齊治昌,譚慶平,寧洪.軟件工程(第二版)[M].北京:高等教育出版社,2004.

        [10]BLOOM L M,PEDLER P J,WRAGG G E. Implementation of enhanced areal interpolation using MapInfo[J]. Computers amp; Geosciences,1996(5):459-466.

        [11]BEIROUMI M Z,IVERSEN V B. Recovery Method Based on Communicating Extended Finite State Machine (CEFSM)for Mobile Communications:Proceedings of the 10th IEEE International Conference on Engineering of Complex Computer Systems,June 16-20,2005[C]. Shanghai:IEEE,2005.

        (編輯 王永超編輯)

        Implementation method of multi-platform portable digital walkie-talkie

        display and control module

        BAI" Yajuan

        (Guangdong University of Foreign Studies, Guangzhou 510420, China)

        Abstract: The digital walkie-talkie is a terminal equipment of the police and civilian digital trunking communication system, which can provide voice, short message and data and other command and dispatch communication support for public security and fire protection, urban garrisons, border and coastal defense troops during patrols, training exercises, counter-terrorism and stability maintenance. With the product update and upgrading, the iteration of software and hardware, the display and control module that supports a single platform system cannot meet the development and upgrading of multiple platforms. This paper introduces in detail the implementation method of a multi-platform portable digital walkie-talkie display and control module,which provides convenience for developers.

        Key words: display and control module; multi-platform port; portable; digital walkie-talkie

        本道无码一区二区久久激情| 特级做a爰片毛片免费看| 中文字幕久久熟女蜜桃 | 97人妻精品一区二区三区男同| 人人色在线视频播放| 精品人妻少妇一区二区不卡| 亚洲精品美女久久久久99| 美女免费观看一区二区三区| 国产av无码国产av毛片| 久久中文精品无码中文字幕| 国产成人综合久久精品推荐免费| 看国产亚洲美女黄色一级片| 亚洲中文字幕无码爆乳app| 欧美日韩亚洲国产精品| 亚洲va在线va天堂va四虎| 日韩有码在线免费视频| 十八禁无遮挡99精品国产| 国产精品成人免费视频网站京东| 在线亚洲AV不卡一区二区| 精品一区二区三区a桃蜜| 无码一区二区三区中文字幕| 亚洲av永久无码精品秋霞电影影院| 九月色婷婷免费| 日韩精品一区二区三区人妻在线| 在线看片免费人成视频电影 | 亚洲高清精品一区二区| 美女扒开大腿让男人桶| 亚洲 暴爽 av人人爽日日碰| 欧美中出在线| 91麻豆精品国产91久久麻豆| 女人张开腿让男桶喷水高潮| 五月天国产精品| 97久久久一区二区少妇| 国产亚洲欧洲aⅴ综合一区| 日本不卡在线视频二区三区| 亚洲日日噜噜噜夜夜爽爽| 国产精品国产自产自拍高清av| 欧美丰满熟妇xxxx性| 亚州精品无码久久aV字幕| 免费黄网站永久地址进入| 无码人妻一区二区三区免费看|