信息交互終端是一種以信息交流為主要目的,為個性化用戶提供信息處理、存儲和查詢等功能的嵌入式設備。與個人電腦機相比,該設備結構簡單、功能專一、操作簡單。目前,信息交互終端主要應用于銀行、移動通信和視頻會議等領域。
1)銀行金融終端。銀行金融終端是一種以通過網絡進行金融交易為主要功能的低端設備,能24小時為客戶提供服務,即客戶能夠隨時通過該終端實現存取款、轉帳、查詢等操作。目前該類型終端已經走入我國的大中型城市,但其應用功能較少。
2)移動通信終端。移動通信終端主要以手機和掌上電腦(PDA)為主要代表。其中手機以語音傳輸為主,兼有收發短消息、WAP(無線應用協議)上網的功能;PDA具有個人數據管理、網絡通訊等功能,并且攜帶方便,但價格較高。
3)視頻會議終端。視頻會議終端以視頻通訊作為一種有效的多媒體通訊方式,已經成為個人內容服務和企業內容服務的主要信息交流工具,但目前還處于初級階段。
總之,
信息交互終端正在蓬勃發展,并成為人們生活和工作中*的信息交流工具,但由于它們應用功能少、性價比低,造成其在信息家電等領域得不到廣泛應用。目前,多種功能一體化和應用于不同領域已成為信息交互終端的研究重點。其一,具有單一功能的信息交互只能滿足客戶的部分需求,不能滿足客戶對產品多功能合一的需求,因此在信息交互終端具備專一性的基礎上,多功能一體化已成為信息交互終端產品的一個主要發展方向。其二,為了滿足不同的功能需求,還要求信息交互終端具有很強的可定制性,便于用戶或開發人員對其個性化定制,使其能在銀行金融等之外的領域得到應用。因此很有必要研究具有多種功能、信息交流強和可靠性高的信息交互終端。
多功能信息交互終端
作者針對傳統信息交互終端的不足,提出了MIIT(multifunctionalinformation-interactiveterminalbasedonuClinux),基于uClinux(microcontrollinux微控制操作系統)的嵌入式多功能信息交互終端的產品概念。MIIT是一種能夠以多種方式進行信息交流,并具有滿足多種應用需求的多種功能(如串口通訊、有線/無線網絡通訊、語音傳輸等),應用于信息家電、移動通訊、工業控制、甚至軍事等領域的嵌入式設備。它具有:可靠的嵌入式uClinux操作系統;多種功能一體化;可個性化定制,信息交流強等優點。
MIIT的軟硬件結構
MIIT的硬件結構
MIIT的硬件系統主要包括微處理器、存儲器、外部設備,其硬件結構如圖1所示。
EMPU(嵌入式微處理器)是整個終端系統的核心,它主要由運算器和控制邏輯構成,通過控制總線、地址總線控制外部設備和存儲器之間、存儲器和存儲器之間、外部設備和外部設備之間的信息傳輸。選擇時裝配EMPU的電路板上必須包括SDRAM(同步動態隨機存儲器)、總線接口、各種外設接口等器件。存儲器主要是用來存儲數據,選擇時要考慮存儲數據大小,這里選用4M的FLASHROM(閃存)和16M的SDRAM。外部設備(輸入設備和輸出設備)是MIIT與用戶及其它設備之間通訊的橋梁。其中輸入設備(如鍵盤)將外來的數據傳輸給MIIT,輸出設備(如微型打印機)將MIIT處理結果顯示或傳遞給其它設備。
MIIT軟件系統結構
嵌入式軟件系統主要包括嵌入式操作系統、驅動程序、應用程序3部分,其結構如圖2所示。嵌入式操作系統是將MPU時間、中斷、I/O、定時器等資源包裝起來,留給用戶一個API接口的系統。它主要負責進程管理;系統時鐘管理;進程間通信管理和系統中斷管理。MIIT的操作系統采用嵌入式uClinux,它是一個以Linux為內核的嵌入式操作系統,具有Linux大部分優點,適用于工控領域。驅動程序作為操作系統內核與機器硬件之間的接口,對上層來說它只是調用HAL(硬件抽象層)提供的功能,對下層來說負責對外圍設備的控制、管理和讀寫操作。
應用程序由C語言編寫的多種功能的程序構成,它是系統應用功能的具體體現,其內部各函數之間采用函數調用的方式進行連接。嵌入式操作系統、驅動程序、應用程序這三者之間,嵌入式uClinux是整個軟件系統的樞紐,它采用系統調用的工作模式,通過文件系統、進程管理等與各種硬件驅動程序(如圖形驅動、FLASH(閃存)驅動、串口驅動以及打印驅動等)進行數據交換,通過API(applicationinterface)與應用程序進行數據交換。
MIIT的關鍵實現技
鍵盤的實現
鍵盤的實現有兩種方案—采用I/O(輸入/輸出)口或SPI(serialperipheralinterface)口。使用I/O口傳輸速度較快,但占用引腳較多,實現16個按鍵的矩陣式鍵盤需要9個引腳(4個輸入、4個輸出和1個中斷請求);用SPI接口傳輸速度較慢,但只需要IN、OUT、CLK、CS0、CLR五個引腳。在主頻為66MHz的MCF5272(Motorola摩托羅拉)之上,采用SPI口基本滿足鍵盤傳輸速度的要求。
MIIT鍵盤硬件電路通過兩片74LS164級聯實現16個按鍵。其中,164的輸入引腳A要與B相連,再接QSPI的引腳。另外,鍵盤電路工作時必須將164的CLR引腳設置為低電平(低電平有效)。
實現MIIT鍵盤的SPI口工作在主模式下。SPI口數據發送操作是通過向commandRAM(命令)中寫數據觸發的,經過8位時鐘周期完成1個字節的發送。鍵盤掃描碼作為輸入數據保留在transmitRAM(傳輸)中,數據發送完畢后QIR(interruptregister)自動置位,產生中斷。鍵盤掃描程序檢測到該中斷信息后,讀取ReceiveRAM(接收)中的數據,而該數據就是transmitRAM中的鍵盤掃描碼通過鍵盤電路處理后得到的鍵盤檢測值,軟件系統對該檢測值進行處理后得到鍵盤相應按鍵值。
基于uCLinux的串口數據采集
基于uCLinux的和停止位的設置)、串口write和read(讀寫)、串口close(關閉)等內容。數據采集程序實現上與windows操作系統下的串口通訊不一樣,其中有三點值得特別注意:
1)MIIT只是通過串口傳輸數據,不需通過串口模擬終端通信,所以MIIT串口采用了RawMode(原始模式)方式。設置方式如下:
options.c-lflag&=~(ICANON|ECHO|ECHOE|ISIG)(Input);
options.c-oflag&=~OPOST(Output);
2)在設置串口時,發送方和接收方的波特率、效驗位和停止位要相同,否則雙方將不能通訊;
3)為了防止所采集的數據出現亂碼,需要把串口控制字符集controlcharacters中的VTIME和VMIN設置為0和1。0表示打開串口后隨時接收數據;1被當做逾時設定值為一字元。
特定應用程序的實現
應用程序主要包括系統設置、基礎數據、采集數據、網絡通訊和打印等。應用程序采用單任務的控制方式,軟件系統接到按鍵事件后執行相關操作,如網絡通訊、打印等。例如,MIIT在接到自動數據采集的按鍵命令后,執行采集任務,然后將采集的數據交與數據庫處理,完成后等待新的按鍵事件。
結論
采用性能可靠嵌入式uClinux操作系統作為MIIT的操作系統,無疑確保了程序的可靠性、簡化了多功能信息交互軟件實現的復雜程度。在MIIT系統上關鍵技術的實現,解決了MIIT中的鍵盤輸入、基于Linux串口數據采集、特定應用程序等問題,為MIIT能夠在信息家電、工業控制等領域得到應用和發展奠定了一定的理論和實踐基礎。