新聞中心

        EEPW首頁 > 測試測量 > 設計應用 > 基于嵌入式系統的數字示波器用戶圖形界面的實現

        基于嵌入式系統的數字示波器用戶圖形界面的實現

        作者: 時間:2017-01-12 來源:網絡 收藏
          1 引言

          隨著嵌入式系統應用領域的不斷擴大,系統復雜性也在不斷提高。所以在嵌入式系統中實現用戶圖形化(gui),已經成為大勢所趨。目前,嵌入式系統中大多數的用戶圖形化界面(gui)都是在操作系統(如os、wince、linix)的支持下, 調用系統的各種api函數實現的。這些操作系統為實現gui提供了大量的庫函數,也為編程人員提供了界面設計的良好平臺。如利用wince就可以十分方便的設計出具有windows風格的圖形界面。

        本文引用地址:http://www.104case.com/article/201701/337712.htm

          本文這款數字示波器是普源精電(rigol)公司推出的ds1000系列,其設計完全自主完成,貼近國人使用習慣。其用戶圖形界面(gui)是在visualdsp++ 4.0 kernel的基礎上開發的,界面風格緊緊與儀器的功能相聯系。在完成了儀器的波形和菜單等顯示的基礎上,rigol團隊也做了一些通用性的用戶圖形界面,如文件管理器等。當然,所設計的用戶圖形界面,在功能強大方面是遠不能與wince等所比擬的,但是對于儀器的使用者來說,已經是足夠的方便因為這畢竟是儀器的用戶圖形界面,而不是掌上電腦pda的用戶圖形界面。

          2 數字示波器
        的用戶界面實現原理

          用戶圖形界面的實現,需要硬件、軟件上的支持。如圖1所示,通過操作平臺(operation platform)的調配,調用顯示程序,顯示程序刷新顯示緩存,再由顯示驅動程序,將顯示緩存中的內容顯示到液晶屏上。下面簡要的介紹一下上圖中主要的幾個組成部分:

          2.1 實現圖形化的硬件原理

          rigol ds1000系列數字示波器采用的是320x234分辨率的tft液晶顯示器,通過液晶的驅動電路,可以使液晶正常顯示,通過幀信號同步、行信號同步、數據信號的時鐘(clock)同步,顯示點陣的數據將被從sdram中寫入到液晶顯示器的顯示buffer中,從而顯示出彩色圖像。

          從圖1可以看出,如果要更新液晶顯示器顯示的內容,我們只需更新lcdbuffer中的顯示數據就可以了。

          2.2 實現用戶圖形界面(gui)的圖形標準庫

          要在用戶圖形界面上顯示各種的圖形、圖案,除了硬件電路的支持外,還需要強大的軟件支持。而其中(gui)的圖形標準庫為最基礎,而不可或缺的。

          用戶圖形界面(gui)的圖形標準庫,包括最基本的畫點、畫線、畫矩形、填充矩形、畫圓形、放置bmp的圖案、顯示中、英文等等的函數,該圖形庫如果功能越強大,就越可以支持復雜的用戶圖形界面(gui)。

          2.3 實現用戶圖形界面(gui)的操作平臺的支持

          僅僅有了繪制圖形的圖形標準庫,要實現用戶圖形界面,還是遠遠不夠。圖形庫是單一畫面不可缺少的,但是要形成有機的、可操作的用戶圖形界面,還需要后臺有一個穩定、功能強大的操作系統平臺。

          操作平臺根據用戶的外界輸入(一般是鍵盤),以及系統當前的狀態來決定下一步系統的狀態,從而調用相應的gui界面。如此,便實現了用戶圖形界面。

          3 數字示波器的用戶圖形界面(gui)軟件的設計思路

          3.1 界面種類的劃分

          對于用戶圖形界面(gui)的設計不能簡單、統一的完成,要考慮到用戶在各種情況下的操作界面。根據這些界面所具備的共同點,我們將這些界面分成如下的種類,同一種類的界面中將具備相同或者相似的功能區域。每一種界面都會有相應的處理程序,也有專門的數據結構。

          根據實現的不同的功能我們劃分出如下的界面種類:

          a. 背景網格顯示界面;b.波形顯示界面;b. 幫助文檔瀏覽界面;c.菜單顯示界面;d. 文件管理瀏覽器界面;e. 文件名稱輸入界面;f.前景內容顯示界面(包括各種參數顯示信息,測量信息以及提示信息等)。

          各界面種類如下圖所示:

          3.2 界面區域與外界輸入的相互配合響應

          由以上可知,顯示的圖形雖然形形色色,但是他們都可以抽象成具有共同屬性的某種數據結構。數據結構就好比是圖形界面的靈魂,掌握了數據結構,就可以讓圖形界面隨之而變。那么如何設計、控制、改變這些數據結構就成為實現用戶圖形界面(gui)的關鍵了。

          要響應外界用戶的輸入,我們需要制定一套機制運行法則,而這套機制運行法則就是狀態機(systemstatus machine),也是用戶用以操作儀器的操作平臺(operation platform)。依據這套運行法則,我們的系統根據外界的輸入來更改各種界面下使用的數據結構,從而實現用戶對圖形界面的操作。當然,在實際的設計中,操作平臺(operation platform)不僅僅是改變gui的數據結構,還要考慮任務調度以及其他任務模塊中的數據結構的改變。

          4 數字示波器的用戶圖形界面(gui)的軟件設計流程

          設計出一個好的用戶圖形界面,是一個龐大而巨細的工程。涉及到方方面面的相互之間的關系,也涉及到實現過程中的許多細節的問題。如何理清這些繁多的變化的關系,是設計的關鍵。rigol團隊曾經使用一些全局變量,來做為各種狀態、各種模式下的標示,用以改變用戶的圖形界面。但是因為變量的眾多,導致變量之間的搭配的可能性成倍的增加,狀態的轉移關系也就會成倍的增加。這對于編程者來說,與其說是在編程,還不如說是在做一道及其龐雜的邏輯組合題。

          所以,這樣的思路在理論上是可行的,但在實際中是不可取的。我們應該盡量的去其枝葉,找到能夠貫穿整個系統,標示不同的狀態以及模式的變量或者結構。最終,我們以鍵盤的輸入鍵值為主線,輔以各種的全局變量,來控制系統狀態的變化。鍵值雖然有許多許多,但是因為只有這么一個變量做為狀態量,系統狀態的變化,就可以在掌控之中了。所以,在這個系統中,鍵值變量key_id成為了主角,用戶界面將圍繞其進行改變。

          鍵值變量key_id要根據用戶的輸入進行改變。在這里我們就不描繪狀態
        變量是如何轉移的。我們介紹對于既定的鍵值變量key_id是如何完成用戶圖形界面的輸出的。

          5 結語

          目前,國內的數字示波器,除了測量信號的性能指標較低外,在系統的整體性、用戶的可操作性等功能上不及國外產品考慮得周詳。

          為了彌補國內產品在這方面的缺陷,rigol開發團隊開發出的這款ds1000系列數字示波器除了實現高存儲深度,高測量精度等功能之外,更是注重了圖形用戶界面的設計。繼續保持其在技術上的創新和人性化、本土化的優勢,新的用戶圖形界面使得用戶能夠比以往更加容易測量與分析波形。隨著儀器的功能增多,會對用戶圖形界面(gui)提出更高的要求,那么就要求gui更加系統化、模塊化、功能化。所以,在這方面我們還有許多工作要做。

          [1]visualdsp++4.0 kernal (vdk)usersguide, analog devices, inc. 2005

          [2]blackfin系列dsp原理與系統設計 ,陳峰,電子工業出版社, 2004

          [3]數據采集與處理技術,馬明建,周長城,西安交通大學出版社,2001

          [4]數字電路設計與應用實踐教程,王振紅,機械工業出版社,2003

          [5]軍用電子測量儀器應用指南,梅勁松,電子工業出版社,2001

          [6]rigol《ds5000系列數字示波器技術文件》,內部資料,2004



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 乐业县| 唐河县| 库车县| 大庆市| 正蓝旗| 武乡县| 南漳县| 贵定县| 塔河县| 彭泽县| 苗栗市| 建德市| 静安区| 旌德县| 北票市| 逊克县| 土默特左旗| 招远市| 丰城市| 赤城县| 苍南县| 内丘县| 四川省| 清丰县| 库伦旗| 洛扎县| 石首市| 石家庄市| 富平县| 资阳市| 凉城县| 博兴县| 黄大仙区| 漳平市| 姚安县| 台南市| 崇礼县| 泰州市| 太仓市| 安吉县| 奉新县|