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