王守華,紀元法,孫希延
WANG Shou-hua, JI Yuan-fa, SUN Xi-yan
(桂林電子科技大學 信息與通信學院,桂林 541004)
隨著信息技術的發展,支持圖形界面的觸摸操作的設備已經越來越廣泛地應用到航空航天、軍事、消費類電子、通訊設備等諸多領域。由于嵌入式系統具有體積少、性能好、功耗低和可靠性高以及面向行業應用的突出特征,嵌入式技術越來越與人們的生活緊密結合。如今,基于嵌入式觸摸屏作為一種新的輸入設備隨處可見,手機、PDA、ATM取款機、簽署包裹和一些公共查詢系統都可能用到觸摸屏,由于其輕便、占用空間少、方便靈活等優點,觸摸屏已經逐步取代鍵盤和鼠標成為嵌入式系統的主要輸入設備。
在教學領域,教師手工登記學生的各項成績,一般采用的是紙質表格。這種方式不但工作量大,效率低,而且容易出錯,密密麻麻的成績期末處理起來非常的繁瑣。而ARM觸摸式實驗成績錄入裝置的研制,可以實現實驗成績錄入流動作業,并且便于后期統計、匯總和分析。
整個裝置結構包括ARM觸摸式錄入手持端和教師主機PC端。ARM觸摸式錄入手持端框圖如圖1所示。主要包括3.2英寸TFT觸摸屏、控制模塊STM32F103和無線模塊RF1100SE等幾部分。其中,STM32F103RBT6開發板作為整個系統的核心板。這個開發板上的I/O接口,可直接驅動3.2英寸的觸摸屏,只需制作一個連接觸摸屏和無線模塊的轉接板即可。

圖1 ARM觸摸式錄入手持端框圖
STM32103RBT6為增強型STM32系列。它是32位基于ARM核心的帶閃存的、USB、CAN總線的微控制器,它有七個16位定時器、2個ADC、9個通信接口。STM32 是Cortex-M3內核的CPU,有32K字節至128K字節閃存程序存儲器和6K字節至16K字節SRAM。
觸摸屏Poweravr 3.2寸TFT[240*320]是26萬色彩屏觸摸模塊。它支持SD卡,支持DATAFLASH(可以做字庫),支持16位/8位模式,自帶觸摸屏及觸摸控制芯片。LCD模塊的驅動芯片為ILI9320,觸摸屏的控制芯片為RSM1843。RSM1843是四線電阻式觸摸屏控制芯片。電路是一個12bit模數轉換器(ADC),內置同步串行數據接口和驅動觸摸屏的低阻開關。電路提供了關斷模式,功耗可降低至0.5W。RSM1843 工作電壓能低至2.7V,是電池供電手持端設備的理想選擇。
RF1100模塊使用Chipcon公司的CC1100芯片開發而成。RF1100 單片無線收發器工作在433/868/915MHZ 的ISM 頻段,它由完全集成的頻率調制器、帶解調器的接收器、功率放大器、晶體震蕩器和調節器組成。工作特點是自動產生前導碼和CRC 可以很容易通過SPI接口進行編程配置,電流消耗低。該手持端裝置工作在433MHz頻段,SPI接口編程是無線模塊應用的關鍵。
ARM觸摸式錄入教師主機PC端框圖如圖2所示。主要包括C8051F310控制模塊、RF1100SE無線模塊和RS232串口通信模塊等部分。

圖2 ARM觸摸式錄入教師主機PC端框圖
ARM觸摸式實驗成績錄入裝置軟件框架如圖3所示。

圖3 成績錄入裝置軟件框架
其中,觸摸屏輸入驅動部分完成觸摸屏觸摸觸點檢測和輸入,觸摸屏顯示驅動部分完成顯示各個界面及學生成績小項各相關信息,無線模塊驅動部分完成成績錄入裝置與教師主機PC之間的通信功能。STM32F103模塊是核心部件,它可以保證各功能模塊的正常運行,協調工作。
軟件設計對整個裝置的功能實現起著至關重要的作用,當嵌入式處理器及外圍電路基本選定后,軟件的設計將主宰整個系統裝置的性能。軟件設計工作比較耗時,不過也是靈活性最大的,它要完成諸多復雜功能并協調好系統工作中的各個環節。采用正確而有效的軟件設計方法,規劃好整個軟件結構是系統成功實現的關鍵。整個軟件使用C語言進行設計,按照結構化、模塊化編程對整個軟件系統進行構架。按系統功能劃分為鍵盤模塊、科目模塊、課程類型模塊、年級模塊、學院模塊、班級模塊、學號模塊、學生成績模塊和學生信息確認及發送模塊。
ARM觸摸式開發環境采用Keil for ARM。該集成開發軟件界面友好,不用關心組合問題,可以直接進行 C語言程序設計。并且,Keil uVision4調試器可以幫助用戶準確地調試ARM期間的片內周邊功能(I2C、CAN、UART、SPI、中斷、I/O口、A/D轉換器等)。同時通過使用Keil uVision4 JLINK USB-JTAG轉換器,可以很方便的完成諸如編輯、下載和在系統測試功能。PC上位機編程采用VC++6.0和SQL Server2000。
ARM觸摸式實驗成績錄入裝置系統設計與實現,主要包括硬件開發和軟件編程與調試等。手持端主要完成以下功能:3.2英寸TFT觸摸屏驅動,觸摸屏界面設計和無線通信成績提交功能。
首先確定ARM開發環境和JLINK與目標板連接是否正常;試著驅動觸摸屏并使之被點亮,測試觸摸屏連接是否正常;通過測試程序使觸摸屏顯示某圖形和特定字符。
最后實現觸摸屏上顯示矩形、字符和字體。后面才是界面編程工作,界面編程就是在上面的清屏、顯示矩形、顯示字符和顯示字的基礎上組合而成。
編程中,通過矩形顯示函數G U I_Rectangle(u16 x0, u16 y0, u16 x1, u16 y1,u16 color,u8 fill),可以在觸摸屏上指定位置顯示矩形圖形,而且可以選擇這個矩形圖形為填充模式或者不填充。主程序里調用了下面兩句程序代碼:

這兩句程序代碼中第一句為在觸摸屏上(x,y)起點坐標為(100,140),終點坐標為(140,110)畫一個內部填充的矩形,第二句為在觸摸屏上(x,y)起點坐標為(100,140),終點坐標為(210,180)畫一個內部不填充的矩形。
軟件編程上,利用VC++6.0對SQL Server2000進行開發,完成手持ARM觸摸式成績錄入裝置即時發送學生成績小項,生成成績記錄小項,并可以根據需要和選擇,按班或按批次進行成績統計、匯總和分析等工作。
VC++對SQL Server2000各功能操作之前,需要完成數據庫SQL數據源生成、測試連接、登錄方式設置等必不可少的工作,在此不一一贅述。
教師主機PC主界面和查詢界面如圖4、5所示。

圖4 教師主機PC主界面
該ARM觸摸式實驗成績錄入裝置具有界面友好、操作方便、信息完整等特點,解決了教師在流動作業登記成績時任務繁重、易出錯等問題。整個教學期末成績統計、匯總和分析等工作變得輕松,從而提高了教學效率。

圖5 實驗成績查詢管理界面
[1]李文仲,段朝玉.C8051F系列單片機與短距離無線數據通信[M].北京:北京航空航天大學出版社,2007.
[2]封景剛.ARM嵌入式系統開發完全入門與主流實踐[M].北京:電子工業出版社,2008.
[3]楊宗德.嵌入式ARM系統原理與實例開發(第2版)[M].北京:北京大學出版社,2010.
[4]張曉偉.ARM嵌入式系統設計原理與開發實例[M].北京:電子工業出版社,2008.
[5]馬忠梅,等.ARM&Linux嵌入式系統教程[M].北京航空航天大學出版社,2004.