新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于MCU實現(xiàn)藍牙與PC機之間HCI層傳輸

基于MCU實現(xiàn)藍牙與PC機之間HCI層傳輸

作者: 時間:2007-03-09 來源:網(wǎng)絡(luò) 收藏
摘要:分析了藍牙HCI層的主要功能,并簡述了藍牙HCI層數(shù)據(jù)傳輸?shù)?a class="contentlabel" href="http://butianyuan.cn/news/listbylabel/label/單片機">控制方案。HCI指令從RS232串口通過的UART輸入,經(jīng)校驗后發(fā)送至藍牙模塊,藍牙模塊返回的HCI事件在內(nèi)進行分組打包后發(fā)送至PC機。關(guān)鍵詞:藍牙協(xié)議HCI 單片機 UART藍牙模塊 藍牙是正在興起的短距離無線通信技術(shù),工作在2.4GHz ISM頻段。藍牙技術(shù)可在各種移動設(shè)備、計算機外設(shè)等數(shù)字設(shè)備間實現(xiàn)廉價的無線連接,靈活便捷地實現(xiàn)設(shè)備間的數(shù)據(jù)交換。本文介紹利用雙串口單片機在PC機與藍牙模塊間實現(xiàn)藍牙HCI層數(shù)據(jù)傳輸。 1 系統(tǒng)的硬件組成 采用愛立信生產(chǎn)的ROK 101 007藍牙模塊,使用51增強型單片機W77E58,用MAX3222進行RS232轉(zhuǎn)換。系統(tǒng)硬件框圖如圖1所示。 ROK 101 007藍牙模塊同時支持數(shù)據(jù)和語音傳輸。主機與模塊間可以通過UART和I2C接口連接,射頻輸出功率等級為2級(2.5mW),支持點對多點連接。 W77E58單片機與標準80C52管腳兼容,指令集與MCS-51兼容,具有兩個全雙工串口,12個中斷源,32KB大容量Flash存儲器,1KB片上SRAM。2 藍牙主機控制器接口(HCI) HCI層是藍牙協(xié)議棧中軟硬件之間的接口,它提供了一個控制基帶與鏈路控制器、鏈路管理器、狀態(tài)寄存器等硬件的統(tǒng)一接口。HCI層以下的協(xié)議由藍牙模塊實現(xiàn),HCI層以上的協(xié)議在主機上運行,它們通過HCI傳輸層進行通信。主機與主機控制器通過HCI收發(fā)分組方式進行信息交換,用指令—應(yīng)答(Command-Response)方式實現(xiàn)控制。 HCI分組有三種類型:指令分組(Command Packet)、事件分組(Event Packet)和數(shù)據(jù)分組(Data Packet)。指令分組只從主機發(fā)向主機控制器;事件分組只從主機控制器發(fā)向主機,用以說明指令分組的執(zhí)行情況;數(shù)據(jù)分組在主機和主機控制器間雙向傳輸。數(shù)據(jù)分組分為ACL數(shù)據(jù)分組和SCO數(shù)據(jù)分組。 3 系統(tǒng)軟件的設(shè)計 本系統(tǒng)中藍牙模塊與單片機在同一塊印刷電路板上,可采用HCI的UART傳輸層進行數(shù)據(jù)傳輸。在單片機與PC機之間采用RS232接口標準,用MAX3222芯片進行電平轉(zhuǎn)換。PC機與單片機之間分組傳輸格式如圖2所示。3.1 PC機部分軟件設(shè)計 PC部分程序主要是開發(fā)藍牙應(yīng)用組件及在此組件基礎(chǔ)上構(gòu)建應(yīng)用程序。主要設(shè)計串口的驅(qū)動程序,并對HCI指令進行函數(shù)封裝,提供相應(yīng)的應(yīng)用程序函數(shù)接口(API)。軟件主要包括串口驅(qū)動程序及HCI指令封裝部分等。組件部分接收應(yīng)用程序發(fā)來的各種操作請求并負責與自身的接口驅(qū)動程序及HCI封裝函數(shù)進行通信。應(yīng)用程序需要做的只是對組件部分進行串口及藍牙參數(shù)的設(shè)置,向其發(fā)送一定格式的命令和數(shù)據(jù)信息,以及實時的顯示及相應(yīng)的處理。 3.2 單片機部分軟件設(shè)計 本文中單片機的軟件設(shè)計是針對以MPU為主體的主機應(yīng)用模式。由于對HCI指令的處理已在應(yīng)用主體中以組件形式實現(xiàn),故此時單片機部分軟件設(shè)計可不必考慮對HCI指令及事件的處理,所要做的是將主機發(fā)送的HCI信息經(jīng)過校驗后正確地發(fā)送給藍牙模塊,同時,將來自藍牙模塊的信息加上校驗后發(fā)往主機。 本部分軟件實現(xiàn)的全部功能是通過匯編語言開發(fā)的,用W77E58的第一個串口實現(xiàn)與PC機的通信,用第二個串口實現(xiàn)與藍牙模塊通信,流程圖如圖3所示。圖3本程序已經(jīng)過調(diào)試,數(shù)據(jù)傳輸正常,性能良好。 本文探討了應(yīng)用雙串口單片機實現(xiàn)藍牙HCI數(shù)據(jù)傳輸?shù)姆椒?,給出了詳盡的通信流程及具體的軟硬件設(shè)計方案,系統(tǒng)在一些短距離無線傳輸應(yīng)用中有較好的應(yīng)用價值。

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉