王守華,紀(jì)元法,孫希延
WANG Shou-hua, JI Yuan-fa, SUN Xi-yan
(桂林電子科技大學(xué) 信息與通信學(xué)院,桂林 541004)
隨著信息技術(shù)的發(fā)展,支持圖形界面的觸摸操作的設(shè)備已經(jīng)越來越廣泛地應(yīng)用到航空航天、軍事、消費(fèi)類電子、通訊設(shè)備等諸多領(lǐng)域。由于嵌入式系統(tǒng)具有體積少、性能好、功耗低和可靠性高以及面向行業(yè)應(yīng)用的突出特征,嵌入式技術(shù)越來越與人們的生活緊密結(jié)合。如今,基于嵌入式觸摸屏作為一種新的輸入設(shè)備隨處可見,手機(jī)、PDA、ATM取款機(jī)、簽署包裹和一些公共查詢系統(tǒng)都可能用到觸摸屏,由于其輕便、占用空間少、方便靈活等優(yōu)點(diǎn),觸摸屏已經(jīng)逐步取代鍵盤和鼠標(biāo)成為嵌入式系統(tǒng)的主要輸入設(shè)備。
在教學(xué)領(lǐng)域,教師手工登記學(xué)生的各項(xiàng)成績(jī),一般采用的是紙質(zhì)表格。這種方式不但工作量大,效率低,而且容易出錯(cuò),密密麻麻的成績(jī)期末處理起來非常的繁瑣。而ARM觸摸式實(shí)驗(yàn)成績(jī)錄入裝置的研制,可以實(shí)現(xiàn)實(shí)驗(yàn)成績(jī)錄入流動(dòng)作業(yè),并且便于后期統(tǒng)計(jì)、匯總和分析。
整個(gè)裝置結(jié)構(gòu)包括ARM觸摸式錄入手持端和教師主機(jī)PC端。ARM觸摸式錄入手持端框圖如圖1所示。主要包括3.2英寸TFT觸摸屏、控制模塊STM32F103和無線模塊RF1100SE等幾部分。其中,STM32F103RBT6開發(fā)板作為整個(gè)系統(tǒng)的核心板。這個(gè)開發(fā)板上的I/O接口,可直接驅(qū)動(dòng)3.2英寸的觸摸屏,只需制作一個(gè)連接觸摸屏和無線模塊的轉(zhuǎn)接板即可。
圖1 ARM觸摸式錄入手持端框圖
STM32103RBT6為增強(qiáng)型STM32系列。它是32位基于ARM核心的帶閃存的、USB、CAN總線的微控制器,它有七個(gè)16位定時(shí)器、2個(gè)ADC、9個(gè)通信接口。STM32 是Cortex-M3內(nèi)核的CPU,有32K字節(jié)至128K字節(jié)閃存程序存儲(chǔ)器和6K字節(jié)至16K字節(jié)SRAM。
觸摸屏Poweravr 3.2寸TFT[240*320]是26萬色彩屏觸摸模塊。它支持SD卡,支持DATAFLASH(可以做字庫(kù)),支持16位/8位模式,自帶觸摸屏及觸摸控制芯片。LCD模塊的驅(qū)動(dòng)芯片為ILI9320,觸摸屏的控制芯片為RSM1843。RSM1843是四線電阻式觸摸屏控制芯片。電路是一個(gè)12bit模數(shù)轉(zhuǎn)換器(ADC),內(nèi)置同步串行數(shù)據(jù)接口和驅(qū)動(dòng)觸摸屏的低阻開關(guān)。電路提供了關(guān)斷模式,功耗可降低至0.5W。RSM1843 工作電壓能低至2.7V,是電池供電手持端設(shè)備的理想選擇。
RF1100模塊使用Chipcon公司的CC1100芯片開發(fā)而成。RF1100 單片無線收發(fā)器工作在433/868/915MHZ 的ISM 頻段,它由完全集成的頻率調(diào)制器、帶解調(diào)器的接收器、功率放大器、晶體震蕩器和調(diào)節(jié)器組成。工作特點(diǎn)是自動(dòng)產(chǎn)生前導(dǎo)碼和CRC 可以很容易通過SPI接口進(jìn)行編程配置,電流消耗低。該手持端裝置工作在433MHz頻段,SPI接口編程是無線模塊應(yīng)用的關(guān)鍵。
ARM觸摸式錄入教師主機(jī)PC端框圖如圖2所示。主要包括C8051F310控制模塊、RF1100SE無線模塊和RS232串口通信模塊等部分。
圖2 ARM觸摸式錄入教師主機(jī)PC端框圖
ARM觸摸式實(shí)驗(yàn)成績(jī)錄入裝置軟件框架如圖3所示。
圖3 成績(jī)錄入裝置軟件框架
其中,觸摸屏輸入驅(qū)動(dòng)部分完成觸摸屏觸摸觸點(diǎn)檢測(cè)和輸入,觸摸屏顯示驅(qū)動(dòng)部分完成顯示各個(gè)界面及學(xué)生成績(jī)小項(xiàng)各相關(guān)信息,無線模塊驅(qū)動(dòng)部分完成成績(jī)錄入裝置與教師主機(jī)PC之間的通信功能。STM32F103模塊是核心部件,它可以保證各功能模塊的正常運(yùn)行,協(xié)調(diào)工作。
軟件設(shè)計(jì)對(duì)整個(gè)裝置的功能實(shí)現(xiàn)起著至關(guān)重要的作用,當(dāng)嵌入式處理器及外圍電路基本選定后,軟件的設(shè)計(jì)將主宰整個(gè)系統(tǒng)裝置的性能。軟件設(shè)計(jì)工作比較耗時(shí),不過也是靈活性最大的,它要完成諸多復(fù)雜功能并協(xié)調(diào)好系統(tǒng)工作中的各個(gè)環(huán)節(jié)。采用正確而有效的軟件設(shè)計(jì)方法,規(guī)劃好整個(gè)軟件結(jié)構(gòu)是系統(tǒng)成功實(shí)現(xiàn)的關(guān)鍵。整個(gè)軟件使用C語言進(jìn)行設(shè)計(jì),按照結(jié)構(gòu)化、模塊化編程對(duì)整個(gè)軟件系統(tǒng)進(jìn)行構(gòu)架。按系統(tǒng)功能劃分為鍵盤模塊、科目模塊、課程類型模塊、年級(jí)模塊、學(xué)院模塊、班級(jí)模塊、學(xué)號(hào)模塊、學(xué)生成績(jī)模塊和學(xué)生信息確認(rèn)及發(fā)送模塊。
ARM觸摸式開發(fā)環(huán)境采用Keil for ARM。該集成開發(fā)軟件界面友好,不用關(guān)心組合問題,可以直接進(jìn)行 C語言程序設(shè)計(jì)。并且,Keil uVision4調(diào)試器可以幫助用戶準(zhǔn)確地調(diào)試ARM期間的片內(nèi)周邊功能(I2C、CAN、UART、SPI、中斷、I/O口、A/D轉(zhuǎn)換器等)。同時(shí)通過使用Keil uVision4 JLINK USB-JTAG轉(zhuǎn)換器,可以很方便的完成諸如編輯、下載和在系統(tǒng)測(cè)試功能。PC上位機(jī)編程采用VC++6.0和SQL Server2000。
ARM觸摸式實(shí)驗(yàn)成績(jī)錄入裝置系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn),主要包括硬件開發(fā)和軟件編程與調(diào)試等。手持端主要完成以下功能:3.2英寸TFT觸摸屏驅(qū)動(dòng),觸摸屏界面設(shè)計(jì)和無線通信成績(jī)提交功能。
首先確定ARM開發(fā)環(huán)境和JLINK與目標(biāo)板連接是否正常;試著驅(qū)動(dòng)觸摸屏并使之被點(diǎn)亮,測(cè)試觸摸屏連接是否正常;通過測(cè)試程序使觸摸屏顯示某圖形和特定字符。
最后實(shí)現(xiàn)觸摸屏上顯示矩形、字符和字體。后面才是界面編程工作,界面編程就是在上面的清屏、顯示矩形、顯示字符和顯示字的基礎(chǔ)上組合而成。
編程中,通過矩形顯示函數(shù)G U I_Rectangle(u16 x0, u16 y0, u16 x1, u16 y1,u16 color,u8 fill),可以在觸摸屏上指定位置顯示矩形圖形,而且可以選擇這個(gè)矩形圖形為填充模式或者不填充。主程序里調(diào)用了下面兩句程序代碼:
這兩句程序代碼中第一句為在觸摸屏上(x,y)起點(diǎn)坐標(biāo)為(100,140),終點(diǎn)坐標(biāo)為(140,110)畫一個(gè)內(nèi)部填充的矩形,第二句為在觸摸屏上(x,y)起點(diǎn)坐標(biāo)為(100,140),終點(diǎn)坐標(biāo)為(210,180)畫一個(gè)內(nèi)部不填充的矩形。
軟件編程上,利用VC++6.0對(duì)SQL Server2000進(jìn)行開發(fā),完成手持ARM觸摸式成績(jī)錄入裝置即時(shí)發(fā)送學(xué)生成績(jī)小項(xiàng),生成成績(jī)記錄小項(xiàng),并可以根據(jù)需要和選擇,按班或按批次進(jìn)行成績(jī)統(tǒng)計(jì)、匯總和分析等工作。
VC++對(duì)SQL Server2000各功能操作之前,需要完成數(shù)據(jù)庫(kù)SQL數(shù)據(jù)源生成、測(cè)試連接、登錄方式設(shè)置等必不可少的工作,在此不一一贅述。
教師主機(jī)PC主界面和查詢界面如圖4、5所示。
圖4 教師主機(jī)PC主界面
該ARM觸摸式實(shí)驗(yàn)成績(jī)錄入裝置具有界面友好、操作方便、信息完整等特點(diǎn),解決了教師在流動(dòng)作業(yè)登記成績(jī)時(shí)任務(wù)繁重、易出錯(cuò)等問題。整個(gè)教學(xué)期末成績(jī)統(tǒng)計(jì)、匯總和分析等工作變得輕松,從而提高了教學(xué)效率。
圖5 實(shí)驗(yàn)成績(jī)查詢管理界面
[1]李文仲,段朝玉.C8051F系列單片機(jī)與短距離無線數(shù)據(jù)通信[M].北京:北京航空航天大學(xué)出版社,2007.
[2]封景剛.ARM嵌入式系統(tǒng)開發(fā)完全入門與主流實(shí)踐[M].北京:電子工業(yè)出版社,2008.
[3]楊宗德.嵌入式ARM系統(tǒng)原理與實(shí)例開發(fā)(第2版)[M].北京:北京大學(xué)出版社,2010.
[4]張曉偉.ARM嵌入式系統(tǒng)設(shè)計(jì)原理與開發(fā)實(shí)例[M].北京:電子工業(yè)出版社,2008.
[5]馬忠梅,等.ARM&Linux嵌入式系統(tǒng)教程[M].北京航空航天大學(xué)出版社,2004.