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