機(jī)電之家資源網(wǎng)
單片機(jī)首頁|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
基于MCU實(shí)現(xiàn)藍(lán)牙與PC機(jī)之間HCI層傳輸
基于MCU實(shí)現(xiàn)藍(lán)牙與PC機(jī)之間HCI層傳輸
 更新時間:2009-9-12 16:46:30  點(diǎn)擊數(shù):0
【字體: 字體顏色
 摘要:分析了藍(lán)牙HCI層的主要功能,并簡述了藍(lán)牙HCI層數(shù)據(jù)傳輸?shù)膯纹瑱C(jī)控制方案。HCI指令從RS232串口通過單片機(jī)的UART輸入,經(jīng)校驗(yàn)后發(fā)送至藍(lán)牙模塊,藍(lán)牙模塊返回的HCI事件在單片機(jī)內(nèi)進(jìn)行分組打包后發(fā)送至PC機(jī)。

    關(guān)鍵詞:藍(lán)牙協(xié)議HCI 單片機(jī) UART藍(lán)牙模塊

藍(lán)牙是正在興起的短距離無線通信技術(shù),工作在2.4GHz ISM頻段。藍(lán)牙技術(shù)可在各種移動設(shè)備、計算機(jī)外設(shè)等數(shù)字設(shè)備間實(shí)現(xiàn)廉價的無線連接,靈活便捷地實(shí)現(xiàn)設(shè)備間的數(shù)據(jù)交換。本文介紹利用雙串口單片機(jī)在PC機(jī)與藍(lán)牙模塊間實(shí)現(xiàn)藍(lán)牙HCI層數(shù)據(jù)傳輸。

1 系統(tǒng)的硬件組成

采用愛立信生產(chǎn)的ROK 101 007藍(lán)牙模塊,使用51增強(qiáng)型單片機(jī)W77E58,用MAX3222進(jìn)行RS232轉(zhuǎn)換。系統(tǒng)硬件框圖如圖1所示。

ROK 101 007藍(lán)牙模塊同時支持?jǐn)?shù)據(jù)和語音傳輸。主機(jī)與模塊間可以通過UART和I2C接口連接,射頻輸出功率等級為2級(2.5mW),支持點(diǎn)對多點(diǎn)連接。

W77E58單片機(jī)與標(biāo)準(zhǔn)80C52管腳兼容,指令集與MCS-51兼容,具有兩個全雙工串口,12個中斷源,32KB大容量Flash存儲器,1KB片上SRAM。

2 藍(lán)牙主機(jī)控制器接口(HCI)

HCI層是藍(lán)牙協(xié)議棧中軟硬件之間的接口,它提供了一個控制基帶與鏈路控制器、鏈路管理器、狀態(tài)寄存器等硬件的統(tǒng)一接口。HCI層以下的協(xié)議由藍(lán)牙模塊實(shí)現(xiàn),HCI層以上的協(xié)議在主機(jī)上運(yùn)行,它們通過HCI傳輸層進(jìn)行通信。主機(jī)與主機(jī)控制器通過HCI收發(fā)分組方式進(jìn)行信息交換,用指令—應(yīng)答(Command-Response)方式實(shí)現(xiàn)控制。

HCI分組有三種類型:指令分組(Command Packet)、事件分組(Event Packet)和數(shù)據(jù)分組(Data Packet)。指令分組只從主機(jī)發(fā)向主機(jī)控制器;事件分組只從主機(jī)控制器發(fā)向主機(jī),用以說明指令分組的執(zhí)行情況;數(shù)據(jù)分組在主機(jī)和主機(jī)控制器間雙向傳輸。數(shù)據(jù)分組分為ACL數(shù)據(jù)分組和SCO數(shù)據(jù)分組。

3 系統(tǒng)軟件的設(shè)計

本系統(tǒng)中藍(lán)牙模塊與單片機(jī)在同一塊印刷電路板上,可采用HCI的UART傳輸層進(jìn)行數(shù)據(jù)傳輸。在單片機(jī)與PC機(jī)之間采用RS232接口標(biāo)準(zhǔn),用MAX3222芯片進(jìn)行電平轉(zhuǎn)換。PC機(jī)與單片機(jī)之間分組傳輸格式如圖2所示。

3.1 PC機(jī)部分軟件設(shè)計

PC部分程序主要是開發(fā)藍(lán)牙應(yīng)用組件及在此組件基礎(chǔ)上構(gòu)建應(yīng)用程序。主要設(shè)計串口的驅(qū)動程序,并對HCI指令進(jìn)行函數(shù)封裝,提供相應(yīng)的應(yīng)用程序函數(shù)接口(API)。軟件主要包括串口驅(qū)動程序及HCI指令封裝部分等。組件部分接收應(yīng)用程序發(fā)來的各種操作請求并負(fù)責(zé)與自身的接口驅(qū)動程序及HCI封裝函數(shù)進(jìn)行通信。應(yīng)用程序需要做的只是對組件部分進(jìn)行串口及藍(lán)牙參數(shù)的設(shè)置,向其發(fā)送一定格式的命令和數(shù)據(jù)信息,以及實(shí)時的顯示及相應(yīng)的處理。

3.2 單片機(jī)部分軟件設(shè)計

本文中單片機(jī)的軟件設(shè)計是針對以MPU為主體的主機(jī)應(yīng)用模式。由于對HCI指令的處理已在應(yīng)用主體中以組件形式實(shí)現(xiàn),故此時單片機(jī)部分軟件設(shè)計可不必考慮對HCI指令及事件的處理,所要做的是將主機(jī)發(fā)送的HCI信息經(jīng)過校驗(yàn)后正確地發(fā)送給藍(lán)牙模塊,同時,將來自藍(lán)牙模塊的信息加上校驗(yàn)后發(fā)往主機(jī)。

本部分軟件實(shí)現(xiàn)的全部功能是通過匯編語言開發(fā)的,用W77E58的第一個串口實(shí)現(xiàn)與PC機(jī)的通信,用第二個串口實(shí)現(xiàn)與藍(lán)牙模塊通信,流程圖如圖3所示。

圖3

    本程序已經(jīng)過調(diào)試,數(shù)據(jù)傳輸正常,性能良好。

本文探討了應(yīng)用雙串口單片機(jī)實(shí)現(xiàn)藍(lán)牙HCI數(shù)據(jù)傳輸?shù)姆椒,給出了詳盡的通信流程及具體的軟硬件設(shè)計方案,系統(tǒng)在一些短距離無線傳輸應(yīng)用中有較好的應(yīng)用價值。

  • 上一篇: PIC18FXX8單片機(jī)通用同步異步收發(fā)器的編程應(yīng)用
  • 下一篇: 沒有了
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點(diǎn)文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會員助手 | 免費(fèi)鏈接

    點(diǎn)擊這里給我發(fā)消息66821730(技術(shù)支持)點(diǎn)擊這里給我發(fā)消息66821730(廣告投放) 點(diǎn)擊這里給我發(fā)消息41031197(編輯) 點(diǎn)擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性。
    機(jī)電之家對此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請聯(lián)系機(jī)電之家,機(jī)電之家將及時作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會
    中國行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1