引言 隨著移動通信技術的飛速發展,手機已經從單一的電話通信設備轉變為信息網絡終端,因此,近年來手機編程已經成為一項重要的技術。手機是一個高新技術的集合體,包含了移動終端、嵌入式系統、數字信號處理以及通信協議設置等多項技術。手機編程開發平臺是集合了通信技術、嵌入式技術、電子技術、軟件工程、操作系統等理論的軟硬件的教學與研究開發平臺。在這個開發平臺上開發相應的程序,可以掌握嵌入式系統設計的流程與方法;可以根據使用者的需求,設計并實現手機的基本功能和擴展功能。 1 手機編程開發平臺總體結構 作為專業技術課程,手機編程技術的教學內容包括系統設置、操作系統使用以及應用軟件開發,因此,手機編程平臺必須支持各項教學內容。另外,作為教學儀器,不僅需要滿足全部工程編程測試等技術環節的學習要求,同時,還必須具有系統靈活、調試方便等特點。因此,手機編程開發平臺硬件的設計應滿足以下要求:支持移動公網通信功能,支持嵌入式設計基本功能,支持擴展操作功能,支持結構調整,支持數字測試。 根據上述要求,把手機編程系統設計劃分為硬件平臺和軟件平臺:硬件平臺采用了功能模塊化設計思想,有利于系統硬件的擴充與更改。基于模塊化的設計中,把手機的硬件部分劃分為通信單元模塊、嵌入式系統模塊、音頻輸入/輸出模塊和電源模塊。各模塊在結構與功能上完全獨立,且采用統一的接口規范,使各模塊能簡單方便地連接到一起,構成完整的手機編程硬件平臺。 考慮到降低開發成本以及移植與編程難度等因素,軟件開發平臺用嵌入式Linux操作系統作為開發平臺,包括Bootloader的設計、Linux操作系統移植、相關的驅動程序編寫、GUI移植等。 軟件和硬件平臺相結合,形成了硬件開放、源碼公開、滿足手機編程開發需要的系統。這個系統是嵌入式系統、GSM/CDMA、操作系統、GUI等技術的綜合技術體,構建了一個完整的、開放的手機編程平臺。 2 手機編程開發平臺硬件結構 手機編程平臺系統中,需要處理的數據有兩大類:通信數據以及應用程序的數據。這里采用了雙處理器的解決方案,如圖1所示。 ①公網通信模塊。利用一個微處理器(專用單片機)系統構成通信電路模塊,專門處理與GSM/CDMA通信相關的任務。 ②應用程序處理模塊。利用嵌入式系統構成本地任務處理模塊,用來運行操作系統及其他應用程序。 2.1 公網通信模塊 公網通信模塊如圖2所示,采用市場上可購買到的手機模塊實現。以GSM公網通信模塊為例,手機模塊中包括天線、內部Flash、SDRAM、GSM基帶處理器、電源等。GSM基帶處理器是手機模塊的核心部件,其作用相當于一個協議處理器,用來處理外部系統通過串口發送過來的AT指令。天線部分用來實現射頻信號發射一接收、調制一解調,以及射頻信號與基帶處理器之間的信號轉換。匹配電源為處理器及射頻部分提供所需的電源。 2.2 應用程序處理模塊 應用程序處理模塊用來實現手機控制和操作的全部功能。本應用處理器模塊以S3C2410構成的ARM9嵌入式微處理器系統為核心。應用程序處理模塊包括嵌入式微處理器單元、音頻輸入輸出電路單元和電源單元,如圖3所示。 圖3中,嵌入式微處理器系統模塊具有如下技術特點:CPU為Samsung S3C2410X,200 MHz主頻;2 MBNOR Flash,64 MB NAND Flash;64 MB SDRAM,由2片K4S561632組成,工作在32位模式下;3.5 in的TFT顯示屏,320×240像素;USB1.1標準Client接口,10M以太網網絡接口,20針JTAG調試接口。 2.3 手機開發硬件系統 在手機編程開發系統中,硬件系統平臺與PC機相連接,把PC機作為程序開發平臺,手機硬件系統平臺作為嵌入式目標系統。作為開發系統,手機開發硬件平臺的安裝比較簡單,如圖4所示。將JTAG電纜插入嵌入式系統單元的JTAG接口,另一端連接PC機并口,就完成了手機編程系統的硬件平臺連接。根據開發的需要,可用串口線連接PC機串口與手機編程系統的硬件平臺串口。所開發的手機應用程序可以在手機硬件平臺系統的嵌入式系統上獨立運行,同時程序處理模塊還可以通過網絡接口直接用于網絡通信。 3 手機編程實驗臺軟件平臺的構建 手機編程實驗臺軟件平臺包括Bootloader、嵌入式 Linuxkernel、GUI QT和用戶驅動程序4個部分,Bootloader如圖5所示。代碼(即啟動代碼)是處理器復位后進入操作系統之前執行的一段代碼,主要是為運行操作系統提供基本的運行環境,如初始化CPU和堆棧、初始化存儲器系統等。 軟件平臺的邏輯操作如圖6所示。 4 手機編程開發平臺應用程序設計 作為基本技術學習的內容,該基本的手機編程應用程序主要是基于ARM的應用處理模塊與GSM模塊,來實現相互通信的無線數據傳輸,包括應用AT指令集的 GSM模塊數據讀寫子程序、鍵盤控制處理子程序、LCD顯示子程序等。此外,還提供了一個手機撥號及收發短信的程序。 (1) 主程序流程主程序的流程如圖7所示。首先對輸入參數進行檢查,完成對手機通信模塊的串口波特率的設置,同時對串口通信其他的一些屬性進行設置,從而保證手機通信模塊與GSM模塊的正確通信。初始化結束后,就可以建立鍵盤控制與讀GSM模塊子函數,此過程需要嵌入式Linux操作系統庫函數的支持。最后,主函數處于等待外部中斷請求的狀態中。外部中斷請求分別來自鍵盤輸入和外部呼叫。 (2)鍵盤控制流程 鍵盤控制流程如圖8所示。鍵盤操作是用戶與無線通信系統的交互接口,用戶首先對系統所提供的各種服務菜單進行選擇,然后系統根據用戶的選擇對GSM模塊進行設置。之后進行鍵盤的初始化,顯示系統向用戶提供的各種服務菜單,并等待用戶選擇。最后對用戶的選擇進行判斷,并跳入相應的服務程序中。 結語 手機編程技術是通信工程專業應當學習的一項重要工程技術。本手機編程實驗平臺就是為了滿足手機編程技術的學習而設計的。構建了基于嵌入式系統的手機編程硬件平臺和軟件平臺,不僅可以提供完整的編程系統,還提供了重要的手機程序驗證系統,對手機編程的教學和手機功能應用的擴展開發具有很高的實用價值。 參考文獻 1. 羅蕾 嵌入式實時操作系統及應用開發 2005 2. 孫天澤.袁文菊.張海峰 嵌入式設計及Linux驅動開發指南--基于ARM9處理器 2005 3. 杜春雷 ARM體系結構與編程 2003 作者:北京聯合大學 許立群 王淑英 呂彩霞 來源:《單片機與嵌入式系統應用》 2009(7) |