信息交互終端是一種以信息交流為主要目的,為個(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)的功能;PDA具有個(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(multifunctionalinformation-interactiveterminalbasedonuClinux),基于uClinux(microcontrollinux微控制操作系統(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的FLASHROM(閃存)和16M的SDRAM。外部設(shè)備(輸入設(shè)備和輸出設(shè)備)是MIIT與用戶及其它設(shè)備之間通訊的橋梁。其中輸入設(shè)備(如鍵盤)將外來(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è)備的控制、管理和讀寫操作。
應(yīng)用程序由C語(yǔ)言編寫的多種功能的程序構(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(applicationinterface)與應(yīng)用程序進(jìn)行數(shù)據(jù)交換。
MIIT的關(guān)鍵實(shí)現(xiàn)技
鍵盤的實(shí)現(xiàn)
鍵盤的實(shí)現(xiàn)有兩種方案—采用I/O(輸入/輸出)口或SPI(serialperipheralinterface)口。使用I/O口傳輸速度較快,但占用引腳較多,實(shí)現(xiàn)16個(gè)按鍵的矩陣式鍵盤需要9個(gè)引腳(4個(gè)輸入、4個(gè)輸出和1個(gè)中斷請(qǐng)求);用SPI接口傳輸速度較慢,但只需要IN、OUT、CLK、CS0、CLR五個(gè)引腳。在主頻為66MHz的MCF5272(Motorola摩托羅拉)之上,采用SPI口基本滿足鍵盤傳輸速度的要求。
MIIT鍵盤硬件電路通過(guò)兩片74LS164級(jí)聯(lián)實(shí)現(xiàn)16個(gè)按鍵。其中,164的輸入引腳A要與B相連,再接QSPI的引腳。另外,鍵盤電路工作時(shí)必須將164的CLR引腳設(shè)置為低電平(低電平有效)。
實(shí)現(xiàn)MIIT鍵盤的SPI口工作在主模式下。SPI口數(shù)據(jù)發(fā)送操作是通過(guò)向commandRAM(命令)中寫數(shù)據(jù)觸發(fā)的,經(jīng)過(guò)8位時(shí)鐘周期完成1個(gè)字節(jié)的發(fā)送。鍵盤掃描碼作為輸入數(shù)據(jù)保留在transmitRAM(傳輸)中,數(shù)據(jù)發(fā)送完畢后QIR(interruptregister)自動(dòng)置位,產(chǎn)生中斷。鍵盤掃描程序檢測(cè)到該中斷信息后,讀取ReceiveRAM(接收)中的數(shù)據(jù),而該數(shù)據(jù)就是transmitRAM中的鍵盤掃描碼通過(guò)鍵盤電路處理后得到的鍵盤檢測(cè)值,軟件系統(tǒng)對(duì)該檢測(cè)值進(jìn)行處理后得到鍵盤相應(yīng)按鍵值。
基于uCLinux的串口數(shù)據(jù)采集
基于uCLinux的和停止位的設(shè)置)、串口write和read(讀寫)、串口close(關(guān)閉)等內(nèi)容。數(shù)據(jù)采集程序?qū)崿F(xiàn)上與windows操作系統(tǒng)下的串口通訊不一樣,其中有三點(diǎn)值得特別注意:
1)MIIT只是通過(guò)串口傳輸數(shù)據(jù),不需通過(guò)串口模擬終端通信,所以MIIT串口采用了RawMode(原始模式)方式。設(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)亂碼,需要把串口控制字符集controlcharacters中的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中的鍵盤輸入、基于Linux串口數(shù)據(jù)采集、特定應(yīng)用程序等問(wèn)題,為MIIT能夠在信息家電、工業(yè)控制等領(lǐng)域得到應(yīng)用和發(fā)展奠定了一定的理論和實(shí)踐基礎(chǔ)。