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