《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于DSP的數(shù)字示波器GUI的開(kāi)發(fā)
基于DSP的數(shù)字示波器GUI的開(kāi)發(fā)
摘要: 本文這款數(shù)字示波器是普源精電(RIGOL)公司推出的DS1000系列,其設(shè)計(jì)完全自主完成,貼近國(guó)人使用習(xí)慣。其用戶(hù)圖形界面(GUI)是在VisualDSP++ 4.0 Kernel的基礎(chǔ)上開(kāi)發(fā)的,界面風(fēng)格緊緊與儀器的功能相聯(lián)系。
關(guān)鍵詞: DSP GUI 數(shù)字示波器 DS1000
Abstract:
Key words :

  隨著嵌入式系統(tǒng)應(yīng)用領(lǐng)域的不斷擴(kuò)大,系統(tǒng)復(fù)雜性也在不斷提高。所以在嵌入式系統(tǒng)中實(shí)現(xiàn)用戶(hù)圖形化(GUI),已經(jīng)成為大勢(shì)所趨。在測(cè)量?jī)x器中,圖形化界面也是廣泛采用,一種是嵌入操作系統(tǒng),大多數(shù)的用戶(hù)圖形化界面(GUI)都是在操作系統(tǒng)(如OS、WinCE、Linix)的支持下, 調(diào)用系統(tǒng)的各種API函數(shù)實(shí)現(xiàn)的。這些操作系統(tǒng)為實(shí)現(xiàn)GUI提供了大量的庫(kù)函數(shù),也為編程人員提供了界面設(shè)計(jì)的良好平臺(tái)。但是這種嵌入技術(shù),對(duì)硬件要求高,相當(dāng)于嵌入一臺(tái)計(jì)算機(jī),如利用WinCE就可以十分方便的設(shè)計(jì)出具有Windows風(fēng)格的圖形界面。另一種是,直接利用DSP技術(shù),開(kāi)發(fā)小型系統(tǒng)。這種系統(tǒng)精簡(jiǎn),對(duì)硬件要求低,但功能相對(duì)單一。

  本文這款數(shù)字示波器是普源精電(RIGOL)公司推出的DS1000系列,其設(shè)計(jì)完全自主完成,貼近國(guó)人使用習(xí)慣。其用戶(hù)圖形界面(GUI)是在VisualDSP++ 4.0 Kernel的基礎(chǔ)上開(kāi)發(fā)的,界面風(fēng)格緊緊與儀器的功能相聯(lián)系。在完成了儀器的波形和菜單等顯示的基礎(chǔ)上,RIGOL團(tuán)隊(duì)也做了一些通用性的用戶(hù)圖形界面,如文件管理器等。當(dāng)然,所設(shè)計(jì)的用戶(hù)圖形界面,在功能強(qiáng)大方面是遠(yuǎn)不能與WinCE等所比擬的,但是對(duì)于儀器的使用者來(lái)說(shuō),已經(jīng)是足夠的方便——因?yàn)檫@畢竟是儀器的用戶(hù)圖形界面,而不是掌上電腦PDA的用戶(hù)圖形界面。

  用戶(hù)界面實(shí)現(xiàn)原理

  用戶(hù)圖形界面的實(shí)現(xiàn),需要硬件、軟件上的支持。如圖1所示,通過(guò)操作平臺(tái)(operation platform)的調(diào)配,調(diào)用顯示程序,顯示程序刷新顯示緩存,再由顯示驅(qū)動(dòng)程序,將顯示緩存中的內(nèi)容顯示到液晶屏上。

                             RIGOL DS1000數(shù)字示波器用戶(hù)圖形界面實(shí)現(xiàn)的原理圖
                   圖1 RIGOL DS1000數(shù)字示波器用戶(hù)圖形界面實(shí)現(xiàn)的原理圖

下面簡(jiǎn)要的介紹圖1中主要的幾個(gè)組成部分。

  GUI圖形標(biāo)準(zhǔn)庫(kù)

  要在用戶(hù)圖形界面上顯示各種的圖形、圖案,除了硬件電路的支持外,還需要強(qiáng)大的軟件支持。而其中(GUI)的圖形標(biāo)準(zhǔn)庫(kù)為最基礎(chǔ),而不可或缺的。用戶(hù)圖形界面(GUI)的圖形標(biāo)準(zhǔn)庫(kù)包括最基本的畫(huà)點(diǎn)、畫(huà)線(xiàn)、畫(huà)矩形、填充矩形、畫(huà)圓形、放置bmp格式的圖案、顯示中、英文等函數(shù),該圖形庫(kù)功能越強(qiáng)大,就越可以支持復(fù)雜的用戶(hù)圖形界面(GUI)。

  GUI的操作平臺(tái)的支持

  僅僅有了繪制圖形的圖形標(biāo)準(zhǔn)庫(kù),要實(shí)現(xiàn)用戶(hù)圖形界面,還是遠(yuǎn)遠(yuǎn)不夠。圖形庫(kù)是單一畫(huà)面不可缺少的,但是要形成有機(jī)的、可操作的用戶(hù)圖形界面,還需要后臺(tái)有一個(gè)穩(wěn)定、功能強(qiáng)大的操作系統(tǒng)平臺(tái)。

  操作平臺(tái)根據(jù)用戶(hù)的外界輸入(一般是鍵盤(pán)),以及系統(tǒng)當(dāng)前的狀態(tài)來(lái)決定下一步系統(tǒng)的狀態(tài),從而調(diào)用相應(yīng)的GUI界面。如此,便實(shí)現(xiàn)了用戶(hù)圖形界面。

  實(shí)現(xiàn)圖形化的硬件原理

  RIGOL DS1000系列數(shù)字示波器采用的是320×234分辨率的TFT液晶顯示器,通過(guò)液晶的驅(qū)動(dòng)電路,可以使液晶正常顯示,通過(guò)幀信號(hào)同步、行信號(hào)同步、數(shù)據(jù)信號(hào)的時(shí)鐘(clock)同步,顯示點(diǎn)陣的數(shù)據(jù)將被從SDRAM中寫(xiě)入到液晶顯示器的顯示緩沖器中,從而顯示出彩色圖像。

  從圖1可以看出,如果要更新液晶顯示器顯示的內(nèi)容,我們只需更新LCDbuffer中的顯示數(shù)據(jù)就可以了。

用戶(hù)圖形界面(GUI)軟件的設(shè)計(jì)思路

  界面種類(lèi)的劃分

  對(duì)于用戶(hù)圖形界面(GUI)的設(shè)計(jì)不能簡(jiǎn)單、統(tǒng)一的完成,要考慮到用戶(hù)在各種情況下的操作界面。根據(jù)這些界面所具備的共同點(diǎn),我們將這些界面分成如下的種類(lèi),同一種類(lèi)的界面中將具備相同或者相似的功能區(qū)域。每一種界面都會(huì)有相應(yīng)的處理程序,也有專(zhuān)門(mén)的數(shù)據(jù)結(jié)構(gòu)。

  根據(jù)實(shí)現(xiàn)的不同功能劃分出如下的界面種類(lèi):

  A. 背景網(wǎng)格顯示界面;B.波形顯示界面;C. 幫助文檔瀏覽界面;D.菜單顯示界面;E. 文件管理瀏覽器界面;F. 文件名稱(chēng)輸入界面;J.前景內(nèi)容顯示界面(包括各種參數(shù)顯示信息,測(cè)量信息以及提示信息等)。
各界面種類(lèi)如圖2、3所示。

                     RIGOL DS1000數(shù)字示波器圖形界面說(shuō)明1
                       圖2 RIGOL DS1000數(shù)字示波器圖形界面說(shuō)明1

 

                        RIGOL DS1000數(shù)字示波器圖形界面說(shuō)明2
                    

 

    圖3 RIGOL DS1000數(shù)字示波器圖形界面說(shuō)明2

 

  界面區(qū)域與外界輸入的相互配合響應(yīng)

  由以上可知,顯示的圖形雖然形形色色,但是它們都可以抽象成具有共同屬性的某種數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)結(jié)構(gòu)就好比是圖形界面的靈魂,掌握了數(shù)據(jù)結(jié)構(gòu),就可以讓圖形界面隨之而變。

  那么如何設(shè)計(jì)、控制、改變這些數(shù)據(jù)結(jié)構(gòu)就成為實(shí)現(xiàn)用戶(hù)圖形界面(GUI)的關(guān)鍵了。要響應(yīng)外界用戶(hù)的輸入,我們需要制定一套機(jī)制運(yùn)行法則,而這套機(jī)制運(yùn)行法則就是狀態(tài)機(jī)(system status machine),也是用戶(hù)用以操作儀器的操作平臺(tái)(operation platform)。依據(jù)這套運(yùn)行法則,我們的系統(tǒng)根據(jù)外界的輸入來(lái)更改各種界面下使用的數(shù)據(jù)結(jié)構(gòu),從而實(shí)現(xiàn)用戶(hù)對(duì)圖形界面的操作。

  當(dāng)然,在實(shí)際的設(shè)計(jì)中,操作平臺(tái)不僅僅是改變GUI的數(shù)據(jù)結(jié)構(gòu),還要考慮任務(wù)調(diào)度以及其他任務(wù)模塊中的數(shù)據(jù)結(jié)構(gòu)的改變。

  數(shù)字示波器的用戶(hù)圖形界面(GUI)的軟件設(shè)計(jì)流程

  設(shè)計(jì)出一個(gè)好的用戶(hù)圖形界面,是一個(gè)龐大而巨細(xì)的工程。涉及到方方面面的相互關(guān)系,也涉及到實(shí)現(xiàn)過(guò)程中的許多細(xì)節(jié)的問(wèn)題。

  如何理清這些繁多的變化關(guān)系是設(shè)計(jì)的關(guān)鍵。RIGOL團(tuán)隊(duì)曾經(jīng)使用一些全局變量作為各種狀態(tài)、各種模式下的標(biāo)志,用以改變用戶(hù)的圖形界面。但是因?yàn)樽兞康谋姸啵瑢?dǎo)致變量之間的搭配的可能性成倍的增加,狀態(tài)的轉(zhuǎn)移關(guān)系也就會(huì)成倍的增加。這對(duì)于編程者來(lái)說(shuō),與其說(shuō)是在編程,還不如說(shuō)是在做一道極其龐雜的邏輯組合題。

  所以,這樣的思路在理論上是可行的,但在實(shí)際中是不可取的。我們應(yīng)該盡量的去其枝葉,找到能夠貫穿整個(gè)系統(tǒng)、標(biāo)志不同狀態(tài)以及模式的變量或者結(jié)構(gòu)。最終,我們以鍵盤(pán)的輸入鍵值為主線(xiàn),輔以各種的全局變量,來(lái)控制系統(tǒng)狀態(tài)的變化。鍵值雖然有許多,但是因?yàn)橹挥羞@么一個(gè)變量作為狀態(tài)量,系統(tǒng)狀態(tài)的變化就可以在掌控之中了。所以,在這個(gè)系統(tǒng)中,鍵值變量KEY_ID成為了主角,用戶(hù)界面將圍繞其進(jìn)行改變。

  鍵值變量KEY_ID要根據(jù)用戶(hù)的輸入進(jìn)行改變。這里就不描繪狀態(tài)變量是如何轉(zhuǎn)移的。我們介紹對(duì)于既定的鍵值變量KEY_ID是如何完成用戶(hù)圖形界面輸出的。圖4為實(shí)現(xiàn)用戶(hù)圖形界面的軟件流程圖。

      RIGOL DS1000系列示波器數(shù)字實(shí)現(xiàn)用戶(hù)圖形界面的軟件流程圖
               圖4 RIGOL DS1000系列示波器數(shù)字實(shí)現(xiàn)用戶(hù)圖形界面的軟件流程圖

  結(jié)語(yǔ)

  目前,國(guó)內(nèi)的數(shù)字示波器,除了測(cè)量信號(hào)的性能指標(biāo)較低外,在系統(tǒng)的整體性、用戶(hù)的可操作性等功能上都不及國(guó)外產(chǎn)品考慮得周詳。

  為了彌補(bǔ)國(guó)內(nèi)產(chǎn)品在這方面的缺陷,RIGOL開(kāi)發(fā)團(tuán)隊(duì)開(kāi)發(fā)出的這款DS1000系列數(shù)字示波器除了實(shí)現(xiàn)高存儲(chǔ)深度、高測(cè)量精度等功能之外,更是注重了圖形用戶(hù)界面的設(shè)計(jì)。繼續(xù)保持其在技術(shù)上的創(chuàng)新和人性化、本土化的優(yōu)勢(shì),新的用戶(hù)圖形界面使得用戶(hù)能夠比以往更加容易測(cè)量與分析波形。

  隨著儀器的功能增多,會(huì)對(duì)用戶(hù)圖形界面(GUI)提出更高的要求,那么就要求GUI更加系統(tǒng)化、模塊化、功能化。所以,在這方面還有許多工作要做。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚久久调教视频| 欧美激情欧美狂野欧美精品| 亚洲人成啪啪网站| 久久精品1区| 香蕉成人久久| 午夜精品视频在线观看| 亚洲一区影院| 亚洲一区二区成人| 亚洲自拍都市欧美小说| 亚洲丝袜av一区| 欧美另类99xxxxx| 毛片一区二区| 美女黄网久久| 欧美+日本+国产+在线a∨观看| 久久婷婷国产综合国色天香| 久久综合久久综合久久| 久久综合婷婷| 免费不卡视频| 欧美精品一区二区久久婷婷| 欧美精品一区在线观看| 欧美男人的天堂| 欧美日韩在线不卡| 国产精品国产一区二区| 国产精品久线观看视频| 国产精品一区二区在线观看不卡| 国产精品午夜电影| 国产一区二区日韩| 在线免费观看一区二区三区| 91久久精品国产91久久性色| 日韩亚洲欧美在线观看| 在线亚洲免费| 午夜日韩福利| 亚洲福利视频网站| 日韩午夜免费| 亚洲在线观看视频网站| 久久成人综合网| 久久躁日日躁aaaaxxxx| 欧美精品1区2区| 国产精品美女午夜av| 国产亚洲在线观看| 亚洲电影在线播放| 日韩视频不卡中文| 午夜精品偷拍| 亚洲精品激情| 亚洲一区二区三区影院| 久久精品在线播放| 欧美大片免费观看| 欧美特黄一级大片| 国产欧美在线视频| 亚洲高清成人| 亚洲一区二区在线免费观看视频 | 欧美精品一区二区视频| 国产精品成人一区| 国内一区二区三区在线视频| 亚洲精品一区二区三区在线观看| 亚洲一区二区日本| 亚洲国产成人精品视频| 亚洲婷婷在线| 久久综合网hezyo| 国产精品国产精品国产专区不蜜| 国产一区二区中文| 日韩一级在线| 亚洲高清免费视频| 亚洲综合导航| 欧美成黄导航| 国产欧美日韩高清| 亚洲精品精选| 欧美在线日韩在线| 亚洲夜间福利| 欧美成人久久| 国产视频欧美| 99热精品在线| 亚洲区一区二| 久久国产福利| 欧美性猛交xxxx乱大交蜜桃| 精品69视频一区二区三区| 一区二区电影免费观看| 亚洲国产精品激情在线观看| 亚洲欧美日韩另类精品一区二区三区 | 国产亚洲a∨片在线观看| 亚洲美女av在线播放| 欧美一级在线视频| 亚洲一区二区成人在线观看| 免费欧美日韩国产三级电影| 国产精品午夜在线| 亚洲精品一二三| 亚洲国产高清一区二区三区| 香蕉成人啪国产精品视频综合网| 欧美顶级艳妇交换群宴| 国产一区二区三区日韩| 亚洲毛片在线看| 亚洲精品久久久久久久久久久| 久久精品国产2020观看福利| 国产精品萝li| 一区二区三区视频观看| 亚洲毛片av在线| 美女网站久久| 韩日精品视频| 午夜视频一区在线观看| 亚洲女人天堂av| 欧美日韩亚洲91| 亚洲欧洲综合| 亚洲激情网站| 六月婷婷久久| 一区二区三区在线观看视频| 欧美一区二区三区视频在线| 性欧美暴力猛交69hd| 国产精品高潮呻吟| 一区二区日韩免费看| 洋洋av久久久久久久一区| 欧美成人综合| 在线国产亚洲欧美| 久久精品卡一| 久久婷婷丁香| 136国产福利精品导航网址应用| 欧美在线免费观看视频| 久久久五月婷婷| 国内精品国产成人| 久久精品国产v日韩v亚洲| 久久久久天天天天| 激情六月综合| 亚洲激情国产精品| 欧美69视频| 最新中文字幕一区二区三区| 亚洲精选大片| 欧美日韩国产综合视频在线观看 | 老司机午夜免费精品视频| 狠狠色综合网| 亚洲国产高清在线| 麻豆成人91精品二区三区| 一色屋精品视频在线观看网站| 久久精品夜色噜噜亚洲a∨| 久热精品视频在线| 亚洲第一久久影院| 99视频一区| 国产精品成人观看视频免费| 亚洲视频欧美在线| 欧美一级大片在线观看| 国产亚洲亚洲| 亚洲欧洲日产国产网站| 欧美理论电影网| 在线性视频日韩欧美| 欧美专区18| 在线日韩av片| av成人手机在线| 国产毛片久久| 亚洲高清不卡| 欧美日韩精品一区二区| 亚洲一区二区av电影| 久久久青草婷婷精品综合日韩| 亚洲国产成人精品视频| 一区二区欧美视频| 国产精品三级久久久久久电影| 欧美一区成人| 欧美激情精品久久久久久| 宅男噜噜噜66国产日韩在线观看| 欧美一区91| 在线欧美不卡| 亚洲一品av免费观看| 国产日韩欧美在线播放不卡| 91久久久久久久久久久久久| 欧美午夜精品久久久久久孕妇| 午夜精品久久久久久久久久久久久 | 亚洲视频欧美视频| 国产麻豆午夜三级精品| 91久久精品国产91久久性色| 欧美视频亚洲视频| 欧美淫片网站| 欧美日韩国产二区| 亚洲欧美日韩精品久久奇米色影视 | 韩国亚洲精品| 亚洲在线一区二区| 一色屋精品亚洲香蕉网站| 中文在线不卡| 黄色国产精品| 亚洲摸下面视频| 一区二区在线观看视频在线观看| 亚洲视频1区| 国语自产精品视频在线看一大j8 | 亚洲国产精品一区制服丝袜| 午夜久久tv| 91久久中文| 久久福利一区| 一区二区三区成人精品| 久久久久亚洲综合| 亚洲小说欧美另类社区| 欧美成人综合网站| 午夜在线视频一区二区区别| 欧美激情精品久久久久久| 午夜精品福利一区二区蜜股av| 欧美精品一区二区三区视频| 欧美有码在线观看视频| 欧美日韩日本国产亚洲在线 | 欧美激情一区二区三区四区| 亚洲欧美日韩国产综合精品二区| 欧美日韩高清在线播放| 久久精品理论片| 国产日本欧美在线观看| 一区二区三区.www| 在线观看欧美一区|