信息交互終端是一種以信息交流為主要目的,為個性化用戶提供信息處理、存儲和查詢等功能的嵌入式設(shè)備。與個人電腦機(jī)相比,該設(shè)備結(jié)構(gòu)簡單、功能專一、操作簡單。目前,信息交互終端主要應(yīng)用于銀行、移動通信和視頻會議等領(lǐng)域。
1)銀行金融終端。銀行金融終端是一種以通過網(wǎng)絡(luò)進(jìn)行金融交易為主要功能的低端設(shè)備,能24小時為客戶提供服務(wù),即客戶能夠隨時通過該終端實(shí)現(xiàn)存取款、轉(zhuǎn)帳、查詢等操作。目前該類型終端已經(jīng)走入我國的大中型城市,但其應(yīng)用功能較少。
2)移動通信終端。移動通信終端主要以手機(jī)和掌上電腦(pda)為主要代表。其中手機(jī)以語音傳輸為主,兼有收發(fā)短消息、wap(無線應(yīng)用協(xié)議)上網(wǎng)的功能;pda具有個人數(shù)據(jù)管理、網(wǎng)絡(luò)通訊等功能,并且攜帶方便,但價格較高。
3)視頻會議終端。視頻會議終端以視頻通訊作為一種有效的多媒體通訊方式,已經(jīng)成為個人內(nèi)容服務(wù)和企業(yè)內(nèi)容服務(wù)的主要信息交流工具,但目前還處于初級階段。
總之,信息交互終端正在蓬勃發(fā)展,并成為人們生活和工作中*的信息交流工具,但由于它們應(yīng)用功能少、性價比低,造成其在信息家電等領(lǐng)域得不到廣泛應(yīng)用。目前,多種功能一體化和應(yīng)用于不同領(lǐng)域已成為信息交互終端的研究重點(diǎn)。其一,具有單一功能的信息交互只能滿足客戶的部分需求,不能滿足客戶對產(chǎn)品多功能合一的需求,因此在信息交互終端具備專一性的基礎(chǔ)上,多功能一體化已成為信息交互終端產(chǎn)品的一個主要發(fā)展方向。其二,為了滿足不同的功能需求,還要求信息交互終端具有很強(qiáng)的可定制性,便于用戶或開發(fā)人員對其個性化定制,使其能在銀行金融等之外的領(lǐng)域得到應(yīng)用。因此很有必要研究具有多種功能、信息交流強(qiáng)和可靠性高的信息交互終端。
多功能信息交互終端
作者針對傳統(tǒng)信息交互終端的不足,提出了miit(multifunctionalinformation-interactiveterminalbasedonuclinux),基于uclinux(microcontrollinux微控制操作系統(tǒng))的嵌入式多功能信息交互終端的產(chǎn)品概念。miit是一種能夠以多種方式進(jìn)行信息交流,并具有滿足多種應(yīng)用需求的多種功能(如串口通訊、有線/無線網(wǎng)絡(luò)通訊、語音傳輸?shù)龋?應(yīng)用于信息家電、移動通訊、工業(yè)控制、甚至軍事等領(lǐng)域的嵌入式設(shè)備。它具有:可靠的嵌入式uclinux操作系統(tǒng);多種功能一體化;可個性化定制,信息交流強(qiáng)等優(yōu)點(diǎn)。
miit的軟硬件結(jié)構(gòu)
miit的硬件結(jié)構(gòu)
miit的硬件系統(tǒng)主要包括微處理器、存儲器、外部設(shè)備,其硬件結(jié)構(gòu)如圖1所示。
empu(嵌入式微處理器)是整個終端系統(tǒng)的核心,它主要由運(yùn)算器和控制邏輯構(gòu)成,通過控制總線、地址總線控制外部設(shè)備和存儲器之間、存儲器和存儲器之間、外部設(shè)備和外部設(shè)備之間的信息傳輸。選擇時裝配empu的電路板上必須包括sdram(同步動態(tài)隨機(jī)存儲器)、總線接口、各種外設(shè)接口等器件。存儲器主要是用來存儲數(shù)據(jù),選擇時要考慮存儲數(shù)據(jù)大小,這里選用4m的flashrom(閃存)和16m的sdram。外部設(shè)備(輸入設(shè)備和輸出設(shè)備)是miit與用戶及其它設(shè)備之間通訊的橋梁。其中輸入設(shè)備(如鍵盤)將外來的數(shù)據(jù)傳輸給miit,輸出設(shè)備(如微型打印機(jī))將miit處理結(jié)果顯示或傳遞給其它設(shè)備。
miit軟件系統(tǒng)結(jié)構(gòu)
嵌入式軟件系統(tǒng)主要包括嵌入式操作系統(tǒng)、驅(qū)動程序、應(yīng)用程序3部分,其結(jié)構(gòu)如圖2所示。嵌入式操作系統(tǒng)是將mpu時間、中斷、i/o、定時器等資源包裝起來,留給用戶一個api接口的系統(tǒng)。它主要負(fù)責(zé)進(jìn)程管理;系統(tǒng)時鐘管理;進(jìn)程間通信管理和系統(tǒng)中斷管理。miit的操作系統(tǒng)采用嵌入式uclinux,它是一個以linux為內(nèi)核的嵌入式操作系統(tǒng),具有l(wèi)inux大部分優(yōu)點(diǎn),適用于工控領(lǐng)域。驅(qū)動程序作為操作系統(tǒng)內(nèi)核與機(jī)器硬件之間的接口,對上層來說它只是調(diào)用hal(硬件抽象層)提供的功能,對下層來說負(fù)責(zé)對外圍設(shè)備的控制、管理和讀寫操作。
應(yīng)用程序由c語言編寫的多種功能的程序構(gòu)成,它是系統(tǒng)應(yīng)用功能的具體體現(xiàn),其內(nèi)部各函數(shù)之間采用函數(shù)調(diào)用的方式進(jìn)行連接。嵌入式操作系統(tǒng)、驅(qū)動程序、應(yīng)用程序這三者之間,嵌入式uclinux是整個軟件系統(tǒng)的樞紐,它采用系統(tǒng)調(diào)用的工作模式,通過文件系統(tǒng)、進(jìn)程管理等與各種硬件驅(qū)動程序(如圖形驅(qū)動、flash(閃存)驅(qū)動、串口驅(qū)動以及打印驅(qū)動等)進(jìn)行數(shù)據(jù)交換,通過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個按鍵的矩陣式鍵盤需要9個引腳(4個輸入、4個輸出和1個中斷請求);用spi接口傳輸速度較慢,但只需要in、out、clk、cs0、clr五個引腳。在主頻為66mhz的mcf5272(motorola摩托羅拉)之上,采用spi口基本滿足鍵盤傳輸速度的要求。
miit鍵盤硬件電路通過兩片74ls164級聯(lián)實(shí)現(xiàn)16個按鍵。其中,164的輸入引腳a要與b相連,再接qspi的引腳。另外,鍵盤電路工作時必須將164的clr引腳設(shè)置為低電平(低電平有效)。
實(shí)現(xiàn)miit鍵盤的spi口工作在主模式下。spi口數(shù)據(jù)發(fā)送操作是通過向commandram(命令)中寫數(shù)據(jù)觸發(fā)的,經(jīng)過8位時鐘周期完成1個字節(jié)的發(fā)送。鍵盤掃描碼作為輸入數(shù)據(jù)保留在transmitram(傳輸)中,數(shù)據(jù)發(fā)送完畢后qir(interruptregister)自動置位,產(chǎn)生中斷。鍵盤掃描程序檢測到該中斷信息后,讀取receiveram(接收)中的數(shù)據(jù),而該數(shù)據(jù)就是transmitram中的鍵盤掃描碼通過鍵盤電路處理后得到的鍵盤檢測值,軟件系統(tǒng)對該檢測值進(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只是通過串口傳輸數(shù)據(jù),不需通過串口模擬終端通信,所以miit串口采用了rawmode(原始模式)方式。設(shè)置方式如下:
options.c-lflag&=~(icanon|echo|echoe|isig)(input);
options.c-oflag&=~opost(output);
2)在設(shè)置串口時,發(fā)送方和接收方的波特率、效驗(yàn)位和停止位要相同,否則雙方將不能通訊;
3)為了防止所采集的數(shù)據(jù)出現(xiàn)亂碼,需要把串口控制字符集controlcharacters中的vtime和vmin設(shè)置為0和1。0表示打開串口后隨時接收數(shù)據(jù);1被當(dāng)做逾時設(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在接到自動數(shù)據(jù)采集的按鍵命令后,執(zhí)行采集任務(wù),然后將采集的數(shù)據(jù)交與數(shù)據(jù)庫處理,完成后等待新的按鍵事件。
結(jié)論
采用性能可靠嵌入式uclinux操作系統(tǒng)作為miit的操作系統(tǒng),無疑確保了程序的可靠性、簡化了多功能信息交互軟件實(shí)現(xiàn)的復(fù)雜程度。在miit系統(tǒng)上關(guān)鍵技術(shù)的實(shí)現(xiàn),解決了miit中的鍵盤輸入、基于linux串口數(shù)據(jù)采集、特定應(yīng)用程序等問題,為miit能夠在信息家電、工業(yè)控制等領(lǐng)域得到應(yīng)用和發(fā)展奠定了一定的理論和實(shí)踐基礎(chǔ)。