


摘要:基于Windows CE 5.0嵌入式操作系統(tǒng),使用Intel PXA270為CPU的ARM10嵌入式開發(fā)設(shè)備,提出了藍牙開發(fā)、藍牙測試的實現(xiàn)方案,實現(xiàn)了藍牙的數(shù)據(jù)傳輸業(yè)務(wù)。
關(guān)鍵詞:PXA270;WinCE;藍牙
中圖分類號:TP24文獻標(biāo)識碼:A
Design of Bluetooth Driver Based on Windows CE and PXA270
Gong Ming-mingLiu YuanyuanWang Wei
(Qingdao Technical College,Qingdao,266555,China)
Abstract: A bluetooth driver is introduced in this paper. The operating system is Windows CE 5.0. The hardware platform is constructed through ARM10 embedded development equipment based on PXA270. This paper"describes the"implementations of the bluetooth development and the bluetooth"test. The data transmission service through the bluetooth is implemented.
Key Words:PXA270;WinCE;Bluetooth
引言
藍牙是一種支持設(shè)備短距離通信的無線電技術(shù),能在移動電話、PDA、無線耳機、筆記本電腦、相關(guān)外設(shè)等設(shè)備之間進行無線信息交換。利用“藍牙”技術(shù),能夠有效地簡化移動通信終端設(shè)備之間的通信,成功地簡化設(shè)備與因特網(wǎng)Internet之間的通信,從而使數(shù)據(jù)傳輸變得更加迅速高效,為無線通信拓寬道路。本文主要研究了基于PXA270處理器和Windows CE的藍牙驅(qū)動開發(fā)過程,提出了藍牙開發(fā)、藍牙測試的實現(xiàn)方案。
1 硬件基礎(chǔ)
本系統(tǒng)采用基于Intel Xscale PXA270處理器的嵌入式開發(fā)平臺。PXA270[1]是一款英特爾公司高端處理器,屬于PXA27x系列,使用Xscale架構(gòu)。它的最重要的三個技術(shù)特點就是:Quick Capture(快速拍攝)、Wireless Speed Step(無線動態(tài)節(jié)能)和Wireless MMX(無線MMX指令)。
2 軟件系統(tǒng)
2.1 WinCE操作系統(tǒng)[2]
嵌入式系統(tǒng)是以應(yīng)用為中心,以計算機技術(shù)為基礎(chǔ),并且軟硬件可裁剪,適用于應(yīng)用系統(tǒng)對功能、可靠性、成本、體積、功耗等有嚴格要求的專用計算機系統(tǒng)。“嵌入性”、“專用性”與“計算機系統(tǒng)”是嵌入式系統(tǒng)的三個基本要素。
Windows CE 是微軟公司為各種嵌入式系統(tǒng)和產(chǎn)品設(shè)計的一種精簡的、高效的、可定制的嵌入式操作系統(tǒng)。自1996年推出第一個版本以來,經(jīng)過十多年的不斷完善,Windows CE已經(jīng)被廣泛用在了智能手機、車載導(dǎo)航、工業(yè)控制、掌上電腦等諸多領(lǐng)域。
作為一款嵌入式操作系統(tǒng),Windows CE有自己獨有的特點,主要包括:精簡的模塊化設(shè)計;支持多硬件平臺;良好的通信能力;穩(wěn)健的實時性;豐富的多媒體和多語言;提供強大的開發(fā)工具。
2.2 Windows CE的層次體系結(jié)構(gòu)
Windows CE采用分層結(jié)構(gòu)設(shè)計,從底層到上層分為四層:硬件層、OEM層、操作系統(tǒng)層和應(yīng)用層,其中OEM層和操作系統(tǒng)層構(gòu)成了實際的操作系統(tǒng)。其結(jié)構(gòu)圖如圖1示[3]。
1.硬件層
硬件層是系統(tǒng)的最低層,主要是由微處理器、存儲器、電源等設(shè)備組成的硬件系統(tǒng),是Windows CE系統(tǒng)運行不可缺少的載體。
2.OEM層
OEM層位于操作系統(tǒng)層與硬件之間。它的主要作用是為硬件和操作系統(tǒng)之間的通訊提供必要的接口。操作系統(tǒng)不是直接與具體的硬件打交道,而是通過OEM層提供的API來要訪問硬件。
3.操作系統(tǒng)層
操作系統(tǒng)層是Windows CE操作系統(tǒng)的核心。它是為OEM層和應(yīng)用層的通訊提供必要的服務(wù)。Windows CE的操作系統(tǒng)層主要由內(nèi)核模塊、CoreDLL、應(yīng)用和服務(wù)開發(fā)模塊、設(shè)備管理模塊、對象存儲模塊、網(wǎng)絡(luò)通信模、多媒體模塊等組成。
4.應(yīng)用層
應(yīng)用層就是應(yīng)用程序的集合,主要是通過Win32 API來獲得操作系統(tǒng)服務(wù)。主要包含Windows CE應(yīng)用程序、Internet客戶服務(wù)、用戶接口、客戶應(yīng)用程序等模塊組成。
2.3 Windows CE的開發(fā)環(huán)境
在Windows CE操作系統(tǒng)定制、開發(fā)過程中,用得最多的工具就是Platform Builder。Platform Builder是微軟公司提供給開發(fā)人員進行設(shè)計、創(chuàng)建、編譯、測試和調(diào)試Windows CE操作系統(tǒng)平臺的工具。Platform Builder的強大功能,使其成為Windows CE操作系統(tǒng)開發(fā)和定制的必備工具。
3 藍牙驅(qū)動解決方案
3.1 Windows CE系統(tǒng)配置
Windows CE 5.0是一種可裁剪的操作系統(tǒng),為了實現(xiàn)藍牙驅(qū)動,我們需要在Windows CE 5.0添加以下組件:Bluetooth Profiles Support下的4個profiles;Bluetooth Protocol Stack with Transport Driver Support下的4個Driver;Object Exchange Protocol [OBEX]組件。添加OBEX服務(wù)需要修改注冊表servers.reg,代碼如圖2所示。
3.2 代碼配置
依據(jù)設(shè)計方案,藍牙模塊RDA5868+中有3個信號是由FPGA控制的:BT_PWR_ON、BT_RST、WAKE_BLUETOOTH。為此,需要配置FPGA程序并測試這3個信號的高低電平。
使用RDA5868+模塊實現(xiàn)藍牙控制,芯片商提供了MTK平臺下的RDA5868+源碼。為此,需要將MTK平臺代碼移植到WindowsCE5.0平臺下。藍牙驅(qū)動里主要是修改RDA模塊上電、I2C總線讀寫和UART讀寫配置。配置好I2C總線后,編譯生成驅(qū)動bthuart.dll。在此基礎(chǔ)上應(yīng)該能獲得RDA5868+模塊的正確ID。這是驗證RDA5868+模塊和驅(qū)動是否正確的第一步,也是關(guān)鍵一步。只有獲得了正確的chipid才能說明模塊有回應(yīng)。
圖2
配置UART波特率為115200,將PSKEY通過UART(COM2)寫入RDA5868+模塊,通過示波器監(jiān)測到PSKEY數(shù)據(jù)波形,并且在UART_TX能監(jiān)測到藍牙模塊的回應(yīng)數(shù)據(jù)。
3.3 藍牙調(diào)試
測試藍牙傳輸可以使用手機的藍牙設(shè)備,打開手機的藍牙設(shè)備,將手機放置在開發(fā)板附近,用手機搜索周圍的藍牙設(shè)備。一段時間后,手機搜索到藍牙設(shè)備“RDA bt”,這說明RDA5868+模塊被成功搜索到,藍牙模塊在Windows CE里已經(jīng)能正常工作。此時進入Windows CE系統(tǒng)的控制面板,打開“Bluetooth管理器”掃描設(shè)備,然后在手機界面上選擇與RDA bt進行“配對”,輸入配對碼。
Bluetooth管理器界面上彈出“身份驗證請求”界面,如圖3所示。這說明手機通過BT將命令成功的傳遞到了Windows CE中。此時輸入和手機相同的藍牙適配器碼,點擊“確定”后,手機彈出“和Windows CE配對完成”的提示信息,Windows CE系統(tǒng)里的“Bluetooth管理器”列表里就會顯示完成配對的手機藍牙名稱。
圖3
手機藍牙和Windows CE配對完成后,就可以驗證藍牙數(shù)據(jù)傳輸。Windows CE下的藍牙傳輸要啟動OBEX服務(wù),將servers.reg配置正確后,將OBEXTOOL.exe復(fù)制到Windows CE操作系統(tǒng)里,雙擊運行OBEXTOOL,點擊OBEXTOOL界面的“Connect”菜單選擇“Connect File Browser”子菜單,彈出對話框“Choose Device”。此時,在手機上選擇要發(fā)送的文件,然后在藍牙設(shè)備列表里選中發(fā)送到Windows CE,OBEXTOOL界面上會立刻彈出“Allow Upload?”界面,選擇“是”,Windows CE開始接收手機發(fā)送過來的文件,并且自動生成了接收數(shù)據(jù)的文件夾DefaultInbox,位于My Documents文件夾下方。通過以上步驟,藍牙測試完成。
4結(jié)語
在此系統(tǒng)中,我們軟件系統(tǒng)選擇了Windows CE操作系統(tǒng),選擇了RDA5868+芯片實現(xiàn)藍牙的數(shù)據(jù)傳輸功能。此系統(tǒng)實現(xiàn)了I2C總線配置Int32類型傳輸;實現(xiàn)了UART配置RDA,初始化時打開, 初始化完畢后關(guān)閉,HCI調(diào)用時重新打開;實現(xiàn)了RDA5868+引入32.768K參考時鐘和26Mhz晶振導(dǎo)致RF頻偏,更換26M或者晶振等。
參考文獻
[1] 北京奧爾斯電子科技有限公司.PXA270EP-SCH_Core-v4-060622-r,www.ourselec.com,June 22,2006.
[2]何宗鍵.Windows CE嵌入式系統(tǒng)[M].北京:北京大學(xué)出版社,2006.
[3]許雪梅.基于嵌入式Windows CE5.0的無線監(jiān)控系統(tǒng)研究[J].現(xiàn)代電子技術(shù),2009.