<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 手機與無(wú)線(xiàn)通信 > 設計應用 > BlueCore2型模塊及其HCI傳輸驅動(dòng)的實(shí)現

BlueCore2型模塊及其HCI傳輸驅動(dòng)的實(shí)現

——
作者:中國海洋大學(xué)信息學(xué)院 李義軍 時(shí)間:2006-09-16 來(lái)源:國外電子元器件 收藏
1 引言 

藍牙技術(shù)是一種短距離通信技術(shù)。遵循開(kāi)放系統互聯(lián)參考模型(OSI/RM),采用分層的協(xié)議棧。主機控制接口(HCI)位于藍牙協(xié)議棧的L2CAP(邏輯鏈路控制與適配協(xié)議)層和LMP(鏈路管理協(xié)議)層之間,是藍牙協(xié)議棧中軟件與硬件的接口。它為上層軟件調用下層(基帶和鏈路管理層)狀態(tài)寄存器和控制寄存器等硬件提供了統一的指令接口。藍牙設備高層軟件和底層硬件接口之間的消息和數據傳遞必須通過(guò)藍牙主機控制器接口的解釋才能進(jìn)行。HCI以上的協(xié)議軟件實(shí)體運行在主機上,而HCI以下的功能由藍牙來(lái)完成,二者之間通過(guò)傳輸層進(jìn)行交互傳輸數據。

2 BlueCore2-external的特點(diǎn)及結構

BlueCore2-external[1]是英國CSR公司推出的基于藍牙技術(shù)的收發(fā)電路。工作在2.4GHz的ISM(工業(yè)、科學(xué)、醫學(xué))頻段,主要應用于PC、手機、PDA、鼠標、鍵盤(pán)、數碼相機等。其主要特點(diǎn)如下:

工作電壓為1.8V;

完全和別的藍牙器件匹配;

采用0.18μm CMOS工藝;

支持8Mb的外圍FLASH;

外圍元器件較少。

該電路集成了藍牙協(xié)議棧的射頻和基帶部分,具有SPI、UART、USB、PIO、PCM接口。其中,SPI、UART、USB接口主要用來(lái)傳輸數據;PIO接口為可編程接口;PCM接口用來(lái)傳輸語(yǔ)音。在BlueCore2-External中UART接口的最大傳輸速率為1.5Mb/s,能夠達到藍牙標準中規定的723.2kb/s的數據傳輸速率。其內部結構如圖1所示。

                         內部結構

3 硬件電路設計

系統的硬件組成如圖2所示。串口收發(fā)器采用常用的MAX232ACPE,完成BlueCore2與9針串口之間的電平轉換。串口和主機相連,主機可以是PC、ARM或單片機。這里為PC上的串口。藍牙為主機控制器。這樣,藍牙主機可以和藍牙主機控制器之間實(shí)現通信。

                  系統的硬件組成

4 HCI接口分析

HCI通過(guò)分組的方式傳輸數據(Data)、命令(Command)和事件(Event)[2],所有主機和主機控制器之間的通信都以分組的形式進(jìn)行。在HCI分組中。數據分組是雙向的,命令分組只能從主機發(fā)往主機控制器,事件分組只能從主機控制器發(fā)向主機。主機發(fā)出的大多數命令分組都會(huì )由主機控制器產(chǎn)生相應的事件分組作為響應。

藍牙標準定義了3種類(lèi)型的HCI傳輸層[3]:USB、RS232及UART。筆者提出了存在于HCI和UART之間的層-HCI傳輸驅動(dòng)層,它的上層為HCI層,下層為UART驅動(dòng)層,實(shí)現HCI和UART
之間的數據傳輸。

藍牙HCI接口、藍牙主機及藍牙主機控制器之間的協(xié)議棧層次[3]如圖3所示。藍牙主機控制器即BlueCore2模塊集成了藍牙協(xié)議棧的射頻、基帶和鏈路管理部分。藍牙模塊通過(guò)UART硬件連接到藍牙主機。在藍牙主機中運行藍牙UART驅動(dòng)程序、HCI傳輸驅動(dòng)程序、HCI的API函數及上層協(xié)議棧。

協(xié)議棧層次

5 程序設計與實(shí)現[4]

在發(fā)送數據階段,HCI傳輸驅動(dòng)層負責把由上層傳輸過(guò)來(lái)的HCI數據包傳給UART驅動(dòng)層,然后通過(guò)UART驅動(dòng)層把數據傳輸到藍牙主機控制器。在接收數據時(shí),HCI傳輸驅動(dòng)層的作用正好相反。

在驅動(dòng)程序的設計中,把傳輸狀態(tài)分為空閑態(tài)、傳輸類(lèi)型態(tài)、傳輸頭態(tài)和傳輸數據態(tài)。HCI數據發(fā)送時(shí)根據傳輸狀態(tài)來(lái)判斷在哪一狀態(tài)。發(fā)送的數據包由類(lèi)型字段、頭字段和數據構成。在發(fā)送數據階段,數據傳輸的類(lèi)型字段標志傳輸的是命令、ACL數據還是SCO數據,然后根據發(fā)送的類(lèi)型來(lái)確定發(fā)送頭字段的長(cháng)度,最后再發(fā)送數據。在接收數據階段,數據傳輸的類(lèi)型字段標志傳輸的是事件、ACL數據還是SCO數據。不同的是在接收數據階段需要緩沖來(lái)接收數據。HCI傳輸驅動(dòng)程序的數據結構如下所示:

       
 

在發(fā)送流程中,先對發(fā)送的狀態(tài)、看門(mén)狗、UART等初始化。使其處在待發(fā)送數據狀態(tài)。具體的發(fā)送流程如圖4所示。

    具體的發(fā)送流程

接收流程和發(fā)送流程類(lèi)似,所不同的是需要緩沖來(lái)接收,在此不再贅述。

本文主要解決了存在于藍牙UART和HCI層之間的HCI傳輸驅動(dòng)問(wèn)題,給出了硬件設計方案、協(xié)議??蚣軋D和程序流程,實(shí)現了藍牙模塊和藍牙主機之間的數據傳輸,在傳輸中有較好的應用價(jià)值。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>