• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于MATLAB的BD/GPS模擬器界面顯控軟件設(shè)

    2013-08-29 17:00:20李銀虎古泉穎
    大眾科技 2013年8期
    關(guān)鍵詞:圖形用戶界面用戶界面模擬器

    李銀虎 王 帥 古泉穎

    (1.深圳市中冀聯(lián)合通訊技術(shù)有限公司,廣東 深圳 518057;2.桂林電子科技大學(xué)信息與通信學(xué)院,廣西 桂林 541004)

    MATLAB 是 matrix laboratory (矩陣實(shí)驗(yàn)室)的縮寫,是1984 年由美國Mathworks 公司推出的一套高性能的數(shù)值計(jì)算、工程應(yīng)用軟件,它將矩陣運(yùn)算、數(shù)值分析、圖形處理、編程技術(shù)結(jié)合在一起,為用戶提供了一個(gè)強(qiáng)有力的分析、計(jì)算和程序設(shè)計(jì)工具,非常適合用來編寫大型工程計(jì)算、科學(xué)仿真程序代碼[1,2]。

    而MATLAB的圖形用戶界面(Graphical User Interface,GUI)功能可以方便用戶完成圖形化界面控制軟件,這種場(chǎng)合下的應(yīng)用,使MATLAB像VC,C#等軟件一樣,可以實(shí)現(xiàn)復(fù)雜而友好的人機(jī)交互。

    PC機(jī)的特點(diǎn)是具有較強(qiáng)的數(shù)據(jù)顯示、分析處理能力、很好的人機(jī)界面和大容量的存儲(chǔ)功能。本文以PC機(jī)為上位機(jī),設(shè)計(jì)基于MATLAB的顯控軟件,實(shí)現(xiàn)了與BD/GPS衛(wèi)星信號(hào)模擬器主機(jī)的通信。

    1 MATLAB圖形用戶界面(GUI)簡(jiǎn)介

    MATLAB早期以矩陣運(yùn)算為主,但隨著科學(xué)計(jì)算可視化的需求,MATLAB 在第4 版推出了句柄圖形,自此之后,MATLAB的圖形界面設(shè)計(jì)功能也日益完善。如今,MATLAB 已成為集數(shù)值計(jì)算、符號(hào)運(yùn)算和圖形處理功能為一身的科學(xué)計(jì)算語言,滿足了不同領(lǐng)域用戶的需求。

    從MATLAB 6.x版開始,它的圖形用戶界面設(shè)計(jì)功能有了很大提高,利用它可以方便地實(shí)現(xiàn)圖形化窗口界面的交互方式。所謂圖形用戶界面,是指包含了各種圖形控制對(duì)象,如圖形窗口、菜單、對(duì)話框以及文本框等用戶界面,也稱為控件。利用這些用戶界面,用戶可以和計(jì)算機(jī)之間進(jìn)行信息交流,并通過編寫控件的回調(diào)函數(shù)(Callback),完成特定的功能。

    在MATLAB 中創(chuàng)建圖形用戶界面有兩種方法[3,4]。一種是在 M 腳本文件和函數(shù)文件中直接利用句柄圖形指令建立各個(gè)控件對(duì)象并設(shè)置其屬性;另一種方法是利用 MATLAB 提供的圖形化界面設(shè)計(jì)向?qū)В℅UIDE)開發(fā)環(huán)境。采用第一種方法建立用戶界面工作量大,控件屬性設(shè)置、修改繁瑣,一般需要設(shè)計(jì)者有豐富的經(jīng)驗(yàn)。而采用GUIDE 開發(fā)環(huán)境進(jìn)行用戶界面設(shè)計(jì)操作方便、效率高,可以達(dá)到所見即所得的編程效果,利用這個(gè)開發(fā)環(huán)境,可以在很短時(shí)間內(nèi)設(shè)計(jì)出一個(gè)GUI。

    從Matlab6.0版本開始,Matlab軟件中增加了設(shè)備控制工具箱,提供了對(duì)RS一232通信標(biāo)準(zhǔn)的串口通信的支持,負(fù)責(zé)上下位機(jī)之間的通信。

    設(shè)備控制工具箱有如下特點(diǎn)[3]:

    (1)支持基于串行接口(RS-232、RS-422、RS-485)、GPIB總線(IEEE2488、HPIB標(biāo)準(zhǔn))、VISA總線的通信;

    (2)通信數(shù)據(jù)支持二進(jìn)制和文本(ASCII) 兩種方式,文本方式支持 SCPI ( standard commands for programmable instruments) 語言;

    (3)支持異步通信和同步通信;

    (4)支持基于事件驅(qū)動(dòng)的通信。

    從以上MATLAB設(shè)備控制工具箱的特點(diǎn)可以看到,MATLAB可以滿足實(shí)現(xiàn)串行通信的要求。

    2 設(shè)計(jì)方案

    (1)GUIDE設(shè)計(jì)向?qū)?。通過GUIDE設(shè)計(jì)一個(gè)完整的GUI ,需分為兩個(gè)階段完成[4]。

    第一個(gè)階段:圖形界面的結(jié)構(gòu)設(shè)計(jì)階段。利用設(shè)計(jì)向?qū)?gòu)造整個(gè)圖形界面的布局,合理設(shè)計(jì)菜單、安排控件位置等,并進(jìn)行必要的屬性設(shè)計(jì)。

    第二個(gè)階段:功能設(shè)計(jì)階段。為菜單、控件編寫相應(yīng)的回調(diào)函數(shù)(Callback),具體實(shí)現(xiàn)界面的各種功能。

    首先,在MATLAB 的命令窗口輸入指令guide,或者通過菜單操作新建 GUI,然后選擇建立新的空白(Blank GUI(Default))的用戶界面選項(xiàng)時(shí),就會(huì)出現(xiàn)工作臺(tái)(LayoutEditor)界面,如圖1 所示。

    在其中可以拖放需要的控件并設(shè)置窗口和各個(gè)控件的屬性,雙擊控件,就可以打開控件屬性編輯器,進(jìn)行控件屬性設(shè)置,如圖2所示。

    常用的屬性有:

    ①Tag 屬性的取值是一個(gè)字符串,用來標(biāo)記控件的名字,在進(jìn)行程序設(shè)計(jì)時(shí),可以利用該名字來指定控件,一般不必修改。

    ②String 屬性為該控件顯示的字符串,通過編輯文本框,用戶可以方便的輸入或修改已經(jīng)存在的字符串。

    其他還有字體設(shè)置,控件位置等等。在設(shè)計(jì)中,首先要根據(jù)需求,設(shè)計(jì)出總體方案,要考慮有幾個(gè)輸入?yún)?shù),用到幾個(gè)文本框控件(text)、幾個(gè)編輯框控件(edit),幾個(gè)按鈕(pushbutton)等等。并把各控件的位置用鼠標(biāo)拖動(dòng)、排列成一個(gè)合適的布局。

    圖1 圖形用戶界面設(shè)計(jì)向?qū)?/p>

    圖2 控件屬性編輯器

    (2)顯控軟件系統(tǒng)方案。軟件設(shè)計(jì)方案可劃分為三個(gè)階段:

    第一階段:在MATLAB/GUI軟件中創(chuàng)建用戶界面.根據(jù)用戶的需求,設(shè)置相應(yīng)的BD/GPS模擬器參數(shù)包括的星歷參數(shù),設(shè)定初始時(shí)間、速度、位置(經(jīng)度、緯度、高度)、用戶軌跡生成。衛(wèi)星的通道,通道參數(shù)等回顯信息。如圖3所示。

    圖3 GUI用戶輸入設(shè)計(jì)

    第二階段:MATLAB/GUI實(shí)現(xiàn)串口通信。通過GUI串口編程,將所定義的場(chǎng)景數(shù)據(jù)進(jìn)行打包,然后按照一定的通信協(xié)議送給BD/GPS衛(wèi)星信號(hào)模擬器主機(jī),BD/GPS衛(wèi)星信號(hào)模擬器主機(jī)實(shí)時(shí)地傳回各通道衛(wèi)星信號(hào)狀態(tài)信息。串口通信設(shè)計(jì)架構(gòu)如圖4所示。

    圖4 MATLAB與模擬器串口通信

    第三階段:數(shù)據(jù)顯示及分析。對(duì)用戶終端存儲(chǔ)的數(shù)據(jù)進(jìn)行分析、處理,并顯示測(cè)試結(jié)果,即對(duì)第二階段存儲(chǔ)的衛(wèi)星信號(hào)模擬器上傳給MATLAB數(shù)據(jù)和BD/GPS接收機(jī)數(shù)據(jù)進(jìn)行處理,根據(jù)顯示信息分析結(jié)果。

    第四階段:向下位機(jī)下發(fā)場(chǎng)景文件,實(shí)現(xiàn)主機(jī)啟動(dòng)。從官網(wǎng)下載星歷文件,用UltraEdit軟件將星歷文件按一定的數(shù)據(jù)格式和處理形成場(chǎng)景文件。然后通過MATLAB讀取文件下發(fā)給下位機(jī),實(shí)現(xiàn)主機(jī)的運(yùn)行,顯控軟件的任務(wù)就完成了。

    3 串口通信與界面設(shè)計(jì)

    本設(shè)計(jì)的通信端口模塊的主要完成場(chǎng)景文件和數(shù)據(jù)幀的傳送,包括選擇通信的端口, 設(shè)置端口的波特率、數(shù)據(jù)位、停止位和奇偶校驗(yàn)。例如BD/GPS模擬器和上位機(jī)之間通信的波特率為115200等設(shè)置[5,6]。

    本應(yīng)用軟件中使用了串口的收發(fā)功能, 發(fā)端是連接MATLAB上位機(jī)端口,下發(fā)場(chǎng)景文件;收端是連接衛(wèi)星信號(hào)模擬器后,向上位機(jī)傳送數(shù)據(jù)幀,其作用是軟件和硬件的橋梁。

    在用串口對(duì)象讀寫數(shù)據(jù)前,必需先通過數(shù)據(jù)fopen將串口對(duì)象和設(shè)備相連。連接以后,一些屬性值是只是讀。如InputBufferSize及OutputBufferSize等,所以必須在使用fopen函數(shù)前設(shè)置好的。我們可以用一下的語句來測(cè)試或驗(yàn)證連接狀態(tài)。一旦串口對(duì)象和設(shè)備連接成功,就可以讀寫數(shù)據(jù)系統(tǒng)界面。

    本設(shè)計(jì)采用中斷的方式,可以設(shè)置當(dāng)串口檢測(cè)到輸入緩存中到達(dá)了字符個(gè)數(shù)來觸發(fā)串口中斷,也可以設(shè)置時(shí)間來觸發(fā)串口中斷。首先對(duì)串口進(jìn)行初始化串口初始化配置串口對(duì)象屬性,判斷物理接口是否連接,然后等待中斷,在中斷回調(diào)函數(shù)處理數(shù)據(jù)對(duì)象[7]。

    圖5是設(shè)計(jì)的串口的端口設(shè)置模塊,圖6是完成的整個(gè)軟件運(yùn)行情況。

    圖5 通信端口設(shè)置模塊

    圖6 顯控系統(tǒng)主界面

    4 小結(jié)

    利用MATLAB 的圖形用戶界面(GUI)設(shè)計(jì)功能,可以開發(fā)出很友好的交互式圖形界面,可以很快設(shè)計(jì)一個(gè)參數(shù)輸入界面,可以使數(shù)據(jù)處理快速、靈活、直觀、高效,可以迅速開發(fā)出滿足各種需要的界面友好的數(shù)據(jù)處理軟件。本文設(shè)計(jì)的顯控軟件可以很好地與主機(jī)完成串口通信,實(shí)現(xiàn)對(duì)BD/GPS衛(wèi)星信號(hào)模擬器的控制與信息顯示。

    [1]陳懷琛.MATLAB及其在理工課程中的應(yīng)用指南[M].西安:西安電子科技大學(xué)出版社,2000.

    [2]張志涌.精通MATLAB6.5版[M].北京:北京航空航天大學(xué)出版社,2003.

    [3]焦勇,周喻虹.基于 MATLAB 的快速圖形化數(shù)據(jù)處理軟件設(shè)計(jì)[J].電子科技,2005,7:40-42.

    [4]余承依.基于MATLAB 數(shù)值計(jì)算的GUI 設(shè)計(jì)[J].漳州師范學(xué)院學(xué)報(bào)(自然科學(xué)版),2004,17(4):38-40.

    [5]李彥,盧虎. 基于MATLAB的GUI技術(shù)在電子教學(xué)中的應(yīng)用[J].電氣電子教學(xué)學(xué)報(bào),2000,22(3):77-79

    [6]張立材.基于MATLAB環(huán)境的串行數(shù)據(jù)通信[J].微計(jì)算機(jī)信息,2004,20(3):100-101

    [7]向先波,徐國華,張琴.MATLAB環(huán)境下PC機(jī)與單片機(jī)的串行通信及數(shù)據(jù)處理[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2004,(12):27-31.

    猜你喜歡
    圖形用戶界面用戶界面模擬器
    自然用戶界面在智能家居系統(tǒng)中的應(yīng)用路徑創(chuàng)新研究:生成式人工智能技術(shù)的調(diào)節(jié)作用
    包裝工程(2023年16期)2023-08-25 11:40:58
    了不起的安檢模擬器
    基于CiteSpace的國外用戶界面體驗(yàn)圖譜量化分析
    盲盒模擬器
    劃船模擬器
    圖形用戶界面外觀設(shè)計(jì)專利保護(hù)問題探析——以“奇虎訴江民案”為例
    淺談圖形用戶界面(GUI)技術(shù)專利現(xiàn)狀
    UI用戶界面色彩設(shè)計(jì)研究
    流行色(2017年12期)2017-10-26 03:08:44
    圖形用戶界面法律保護(hù)問題與對(duì)策
    基于B/S的跨平臺(tái)用戶界面可配置算法研究
    犍为县| 合肥市| 舒兰市| 陆丰市| 西畴县| 海晏县| 孟村| 沿河| 思南县| 三门县| 左贡县| 五寨县| 延安市| 马鞍山市| 大余县| 宜良县| 乃东县| 门头沟区| 池州市| 木里| 余庆县| 噶尔县| 韶关市| 余庆县| 岫岩| 灵武市| 枞阳县| 阳山县| 沂南县| 响水县| 浠水县| 磐石市| 华坪县| 宁明县| 玉山县| 牡丹江市| 蓬安县| 大悟县| 南漳县| 永安市| 三明市|