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