新型圖形人機接口硬件系統和軟件架構設計
人機接口是使用者與機器之間互相傳遞信息的媒介。傳統人機接口設計中,操作者與機器的對話方式比較單一、實現功能比較簡單;一般采用按鍵操作,用戶操作比較復雜。傳統人機接口設計中,軟件架構比較簡單,功能劃分比較模糊,程序的可讀性與維護性較差。本文介紹的人機接口與傳統的人機接口相比有以下幾個優點:首先采用菜單顯示,簡化用戶操作流程;其次采用了合理的軟件架構,功能模塊劃分明確,提高了程序的可讀性與可維護性。
人機接口硬件系統構成
本文介紹的人機接口主要為SEED_MMI5402系統服務。SEED_MMI5402系統可提供多路數字信號源,并與其它子卡進行通訊,控制多種外設。根據系統要求,操作者必須能夠通過人機接口控制信號源,及完成其它相應的控制任務。
為節約成本、簡化設計,該人機接口不采用單獨的主控芯片,其功能由SEED_MMI5402系統的主控芯片TMS320VC5402完成。因SEED_MMI5402系統需控制多個外設,且液晶屏的顯示控制線較多,為保證系統的功能實現,液晶屏的顯示控制由TMS320VC5402通過CPLD實現。
該人機接口中使用的顯示模塊是240x120點陣液晶屏(其控制芯片是T6963C)。T6963C是點陣式液晶屏圖形顯示控制器,顯示方式有圖形方式、文本方式以及圖形和文本合成方式,還可實現文本方式下的特征顯示以及圖形拷貝操作等。T6963C的字符字體由硬件設置,在該人機接口系統中,固定使用8x8字體。
該人機接口中使用的鍵盤其功能與布局與計算機小鍵盤相似,在此將做不介紹。
圖形人機接口軟件架構
該圖形人機接口設計的目標是實現中文窗口界面,用戶可以在菜單方式下進行操作。該圖形人機接口提供多級界面操作,操作者可以通過鍵盤選擇不同的窗口,進行參數輸入、程序的運行選擇,并可通過液晶屏查看相應運行結果。圖形人機接口的程序流程圖如圖2所示。
根據需求分析,該圖形人機接口的軟件由以下幾個模塊構成:
1. 鍵值處理模塊
本模塊功能是獲取鍵值,并根據按鍵類型調用不同處理函數。圖3是鍵值處理模塊的流程圖。
2. 菜單顯示模塊
因為該圖形人機接口的菜單選項比較多,各級子菜單的顯示只能通過覆蓋上級菜單實現,不能通過下拉菜單實現。為了能較好實現各級菜單的切換,應該確定本系統需要多少個界面,每個界面有多少個菜單選項,并畫出各菜單選項之間的關系圖。
分析菜單操作示意圖(圖4),可知該圖形人機接口菜單由以下兩類菜單構成:
a. 標題菜單類:每級菜單的索引;
b. 項目菜單類:每級菜單的菜單選項。
圖1:人機接口硬件構成框圖
圖2:圖形人機接口的程序流程圖
圖3:鍵值處理模塊的流程圖
圖4:菜單操作示意圖
在進行界面顯示處理時,不僅要知道各菜單項的邏輯關系,還要知道菜單項的功能(用戶選中該菜單選項時,處理器對應的函數操作)。根據分析,該圖形人機接口的菜單功能分為以下幾類:
a. 跳轉菜單類:下級子菜單入口,用戶選中該菜單選項時,液晶屏進入其下級子菜單的顯示與操作;
b. 命令菜單類:操作函數入口,用戶選中該菜單選項時,通知處理器進入相應的處理程序;
c. 選擇菜單類:參數或命令選項的輸出顯示,用戶選中該菜單選項時,可根據液晶屏的顯示進行相應的輸入選擇;
d. 編輯菜單類:對話菜單類的入口,用戶選中該菜單選項時,進入對話菜單類的顯示,同時保留當前參數值;
e. 對話菜單類:參數的輸入輸出顯示,在當前菜單下,用戶可根據需求對運行參數進行修改。
為更好體現各個菜單之間的變遷,該圖形人機接口中使用到的菜單項按使用順序進行編號。該圖形人機接口設計了一個結構體,所有菜單項按菜單使用序號順次存放在該結構體的中,這樣所有的菜單選項組成一個樹狀結構,每一個菜單項都是樹上的枝、葉。結構屬性描述如下:
struct GUITREE_Node
{
菜單種類域:該菜單的功能描述
菜單位置描述域:該菜單的與其它菜單項的關系
菜單狀態描述域:該菜單的狀態信息
菜單輸入顯示域:該菜單允許的參數輸入范圍信息
菜單選項顯示域:該菜單對應的參數或命令選項信息
菜單操作函數域:該菜單所對應操作函數的信息
菜單名顯示域:該菜單名顯示信息由該域控制
}
3. 運行函數接口模塊
用戶操作與處理器運行程序的連接由此模塊實現。操作者根據液晶屏的顯示,通過按鍵輸入參數或選擇不同操作命令,運行函數接口模塊將這些信息傳遞給處理器;當處理器處理完成相應的用戶操作后,調用運行函數接口模塊將結果通過液晶屏顯示反饋給用戶。運行函數接口模塊的流程圖見圖5。
圖5:運行函數接口模塊的流程圖
本文小結
本文主要從軟件架構的角度出發,提出了一種解決人機交互問題的方法。通過定義合理數據結構實現了簡潔中文窗口菜單操作。文中的方法具有非常好的靈活性和良好的可維護性,可在需要的時候方便地修改原有窗口或者加入新的窗口,而不至于影響系統軟件原有的結構。
作者:趙榮霞 ,硬件工程師 ,北京合眾達電子技術有限責任公司
評論