李鵬飛,許金凱,韓文波,宋鴻飛
(1.長春理工大學 光電工程學院,吉林 長春 130022;2.長春理工大學 機電工程學院,吉林 長春 130022)
當前,以觸控技術為核心的圖像人機交互界面(GUI)在各個領域都得到廣泛的應用,這些GUI通常具有顯示直觀、功能明確、操作簡便的優點,但是大多數GUI的設計都是GUI和主控程序同步設計,這種設計方法在設計時難度很大,由于主控程序和界面是一一對應的,修改主控程序,就要修改界面,同樣,修改界面就要同步修改主控程序,由于GUI系統設計比較復雜,既需要調配主控函數,又要設定界面之間的切換關系,還需要設定命令和數據傳輸,同時還要調試匹配液晶屏和觸摸屏,因此結構十分復雜,需要用大量時間。
基于以上原因,本文利用Samsung公司的S3C2440處理器搭配通用實時操作系統RTOS(本文選用μC/OS-II系統)設計了一種通用GUI設計平臺[1-5]。該平臺適用于各種場合,專注于界面的設計,可以根據開發者的需要自行增減功能,在使用時把需要的GUI界面、窗口、數據框、狀態框編號后依次燒寫FLASH存儲器中,然后把各個按鍵與μC/OS-II操作系統的任務進行關聯,把曲線、數據、狀態與系統中斷進行關聯,只保留標準串口與主控設備通信。經過實測,該平臺可以根據需要自定義各種界面和功能,如果需要顯示數據和曲線,通過串口即可傳遞,達到了設計要求。
通用GUI平臺的硬件部分由微處理器S3C2440、分辨率480×272的TFT液晶顯示屏、4線電阻觸屏、NAND FLASH存儲器和標準串口組成[6-10]。總體硬件設計如圖1所示。

圖1 總體硬件設計Fig.1 Design of overall hardware
圖1中S3C2440處理器內部集成了TFT液晶屏驅動模塊、觸屏驅動模塊、串口通信模塊、JATG接口和NAND FLASH驅動模塊,因此平臺的硬件部分十分簡單。
平臺在使用前可根據需要自主設計界面,舉例如圖2所示,該系統包含了2個界面,圖2(a)是主界面,圖2(b)是工作界面,首先進行編號,分別編號為1和1.1,然后轉換成(.h)文件包含到μC/OS-II操作系統中,接著進行系統任務和中斷的關聯設計,最后編譯,把編譯好的可執行文件利用JATG接口下載到平臺的NAND FLASH中。

(a)主界面(a)Main interface

(b)工作界面(b)Working interface
在程序中各個界面的以樹鏈表的方式相互關聯,這里以1個1級界面,3個2級界面為例如圖3所示,并以按鍵發布命令的方式進行相互切換銜接。

圖3 界面的樹鏈表式關聯Fig.3 Tree list of the interface
如果有更多的界面和層次,以此類推,對于圖2所示的例子,平臺就只包括初始界面(1)和工作界面(1.1),而沒有工作界面(1.2)和工作界面(1.3),也沒有更低層次的界面。
GUI平臺算法的設計主要包括數據輸入/顯示功能和按鍵命令輸出功能兩部分,無論輸入還是輸出都通過串口完成,也就是說,串口是該平臺與主控系統惟一的通信接口,其中數據輸入/顯示功能主要用于在窗口顯示數據曲線,在數據框顯示數據,在狀態框顯示狀態;按鍵命令輸出功能主要用于按鍵按下后進行界面切換或向主控設備發送命令。
主控設備端的算法包括命令解析和數據打包功能,其中命令解析是對接受到的命令進行解析,然后依照命令運行;數據打包是把數據發給界面端,但要把界面上的各種信息包含其中,以知該數據是發給哪個界面的哪個窗口。
在該平臺下,按鍵是惟一能夠進行命令發送的控件,按下按鍵就激活了系統中一個相應的任務,為了實現通用設計,把每一個按鍵的任務設計為如圖4所示的形式。

圖4 任務的流程Fig.4 Flow of tasks
其中任務的關鍵字由3部分組成:命令ID、切換操作、附加數據。命令ID表示該命令的物理含義;切換操作表示該按鍵是否需要切換界面和切換到哪個界面;附加數據表示該按鍵是否需要傳送界面設置的數據。舉例如下:
圖2(a)的“啟動”按鍵的關鍵字為:命令ID(0)、切換操作(切換到1.1界面,也就是圖2(b)界面)、附加數據(無)。
圖2(b)中“采集溫度”按鍵的關鍵字為:命令ID(2)、切換操作(不切換)、附加數據(無)。
圖2(b)中“采集信號”按鍵的關鍵字為:命令ID(3)、切換操作(不切換)、附加數據(無)。
圖2(b)中“停止”按鍵的關鍵字為:命令ID(1)、切換操作(切換到1界面,也就是圖2(a)界面)、附加數據(無)。
主控設備通過串口把需要顯示的數據和狀態傳給GUI平臺。窗口顯示曲線、數據框顯示數據、狀態框顯示狀態。當GUI平臺通過串口接收到數據時,引發接收中斷,中斷處理函數通過查詢關鍵字進而完成數據的傳輸與顯示,其中斷處理函數處理流程如圖5所示。

圖5 中斷的流程Fig.5 Flow of interrupt
其中中斷的關鍵字由3部分組成:界面編號、載體編號、附加數據。界面編號表示該界面的ID,隱含著該界面的物理地址;載體編號表示該載體的ID,隱含著該載體的物理地址;附加數據表示需要傳送給該界面該載體的顯示數據。
主控設備端的算法包括命令解析和數據打包功能,這需要與GUI平臺端的命令輸出/數據輸入功能相對應,也就是收到按鍵的命令ID,就知道該命令要求主控設備干什么,并把數據傳給誰,舉例如下:
收到命令ID為0,主控設備端就會啟動。
收到命令ID為1,主控設備端就會停止。
收到命令ID為2,主控設備端就會采集溫度傳感器傳來的數據,并把該數據與界面編號和載體編號打包,通過串口發送給GUI平臺端。
收到命令ID為3,主控設備端就會采集電壓傳感器傳來的數據,并把該數據與界面編號和載體編號打包,通過串口發送給GUI平臺端。
為了檢測設計是否有效,按圖2所示,GUI平臺端設計了一個2級觸控平臺,包括初始界面和操作界面,首先對界面進行編號,圖2(a)編號是1,圖2(b)編號是1.1,轉換成頭文件包含到μC/OS-II操作系統中,然后進行按鍵任務的設計,把對應的按鍵關鍵字按照3.1節的舉例進行關聯;接著進行中斷函數的設計,把中斷關鍵字按照圖5進行關聯,通過編譯生成可執行文件,并燒入到GUI平臺端的NAND FLASH中。
主控設備端加入了“命令解析”算法和“數據打包”算法,其中設定溫度超過70℃或電壓超過7 V,則自動報警。進行實驗,實驗效果如圖6和圖7所示。
圖6(a)表示GUI平臺的初始界面,當點擊“啟動”按鍵后,GUI平臺進入圖6(b)界面;當點擊“采集溫度”按鍵和“采集信號”按鍵后,GUI平臺進入圖7(a)界面;當溫度超過70℃,GUI平臺顯示報警信息,并更新運行狀態,進入到圖7(b)界面。

(a)啟動界面(a)Interface of start

(b)數據顯示界面(b)Interface of display data

(a)顯示數據采集界面(a) Interface of display data acquisition

(b)顯示報警界面(b) Interface of Alarm
實驗證明,本系統實現了通用GUI設計平臺解決方案,系統采用S3C2440處理器驅動觸摸屏和TFT液晶屏,結合μC/OS-II實時操作系統,開發者可以把界面設計和主控設備端分開進行,并大大降低了界面設計的難度,開發者可以根據需要任意修改功能,而不用花費大量精力在界面的調試匹配上,與傳統的界面/主控一體化設計方法相比降低了90%以上的調試時間,隨著界面復雜度的增加,調試的時間可減少到傳統方法的5%以下,可以適用于多種場合,具有開發難度低、可定制、可修改、成本低的優點。
[1] 但永平, 彭紅濤, 王東云,等.EDMA在圖像數據快速傳輸中的應用[J].液晶與顯示,2013,28(1):99-104.
Dan Y P,Peng H T,Wang D Y,etal.Application of EDMA in rapid transmission of image data [J].ChineseJournalofLiquidCrystalsandDisplays,2013, 28(1): 99-104. (in Chinese)
[2] 趙星, 王芳, 楊勇, 等.集成成像三維顯示系統顯示性能的研究進展[J].中國光學,2012,5(3): 209-221.
Zhao X,Wang F,Yang Y,etal.Research progress of display performance of integral imaging three-dimensional display system [J].ChineseOptics,2012,5(3): 209-221.(in Chinese)
[3] 姜漫, 吳志勇, 曹騰.基于SOPC技術的VGA字符和圖像顯示系統[J].液晶與顯示,2013,28(1):120-126.
Jiang M,Wu Z Y,Cao T.Characters and images VGA display system based on SOPC technology [J].ChineseJournalofLiquidCrystalsandDisplays,2013, 28(1): 120-126. (in Chinese)
[4] 鄧春健, 安源, 呂燚, 等.顯示信息高速串行傳輸的差錯控制[J].光學精密工程,2012,20(3): 632-642.
Deng C J,An Y, Lv Y,etal.Error control of high speed serial display data transmission [J].OpticsandPrecisionEngineering,2012,20(3): 632-642.(in Chinese)
[5] 劉希佳, 陳宇, 王文生, 等.小目標識別的小波閾值去噪方法[J].中國光學, 2012,5(3): 248-256.
Liu X J,Chen Y,Wang W S,etal. De-noising algorithm of wavelet threshold for small target detection [J].ChineseOptics,2012,5(3): 248-256.(in Chinese)
[6] 王健, 陳洪斌, 周國忠,等.改進的Brenner圖像清晰度評價算法[J].光子學報,2012,41(7):855-858.
Wang J,Chen H B,Zhou G Z,etal.An improved Brenner algorithm for image definition criterion [J].ActaPhotonicaSinica,2012,41(7): 855-858.(in Chinese)
[7] 張傳勝, 鄭寒雨, 鄧江東.基于SOPC的通用液晶觸摸屏控制器的設計[J].液晶與顯示,2013,27(5):638-641.
Zhang C S,Zheng H Y,Deng J D.Control unit design for TFT touching screen based on SOPC [J].ChineseJournalofLiquidCrystalsandDisplays,2013, 27(5):638-641. (in Chinese)
[8] 程少園, 胡立發, 曹召良, 等.液晶自適應光學在人眼眼底高分辨率成像中的應用[J].中國激光,2009,36(10):2524-2527.
Cheng S Y, Hu L F,Cao Z L,etal.Application of liquid crystal adaptive optics system on human eye fundus imaging with high spatial resolution [J].ChineseJournalofLasers,2009,36(10):2524-2527.(in Chinese)
[9] 熊根良, 陳初海, 梁發云,等.物理性人-機器人交互研究與發展現狀[J].光學精密工程,2013,21(2): 356-370.
Xiong G L,Chen C H,Liang F Y,etal.Research and development statue of physical human-robot interaction [J].OpticsandPrecisionEngineering,2013,21(2): 356-370.(in Chinese)
[10] 韓瑞雨,王晉疆,聶凱,等.不同對比度下自適應的自動調焦新算法[J],光子學報,2012,41(2):222-227.
Han R Y,Wang J K,Nie K,etal.Adaptive autofocus technique under different contrast [J].ActaPhotonicaSinica,2012,41(2): 222-227.(in Chinese)