久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

BLE

 風(fēng)之library 2015-02-06
一,、初識BLE
通過這兩天對《CC2540 BLE Software Developer Guider V1.2.pdf 》的學(xué)習(xí)對CC2540以及藍牙4.0有了一個整體上的認(rèn)識:

1、藍牙4.0協(xié)議:BR/EDR(標(biāo)準(zhǔn)藍牙)+ BLE     目前CC2540硬件只支持BLE這種單模無線標(biāo)準(zhǔn),,不能夠與4.0以前的版本通信,。

2、針對CC2540 BLE-Stack 重點學(xué)習(xí)了該協(xié)議棧的結(jié)構(gòu),,TI的藍牙平臺支持兩種協(xié)議棧/應(yīng)用配置:單一設(shè)備配置,、網(wǎng)絡(luò)處理器配置(application/profile在另外的處理器或者PC上的應(yīng)用)。

3,、重點學(xué)習(xí)了協(xié)議棧最頂層的兩個通用profile:GAP(通用接入規(guī)范),、GATT(通用屬性規(guī)范)。

4、GAP主要負(fù)責(zé)處理設(shè)備的接入方式以及接入的過程:設(shè)備發(fā)現(xiàn),、鏈路建立,、鏈路終止、啟動安全功能,、設(shè)備配置(主要是連接參數(shù)的配置),。

5、GATT主要完成服務(wù)器和客戶端之間通信的相關(guān)子過程,。

6,、BLE支持40個通道的跳頻機制,其中3個通道用于advertise,,剩下的用于數(shù)據(jù)通信,;而BR的通道數(shù)在80,相比而言BLE的機制更加節(jié)電,。兩者的跳頻偏移分別為2MHz,、1MHz。

7,、OS抽象層相關(guān)過程學(xué)習(xí),,如何配置一個新的任務(wù)、任務(wù)優(yōu)先級,、事件觸發(fā),、消息傳遞等。

8,、存在的問題:搞不清楚BLE協(xié)議內(nèi)部的GAP,、GATT profile與application profile的聯(lián)系與區(qū)別,是否BLE能夠在app上添加:A2DP(藍牙立體聲音訊傳輸協(xié)議),、HID(人機界面規(guī)范)等這些規(guī)范,。

二、開始了解stack

進一步學(xué)習(xí)GAP,,主要扮演四種角色:broadcaster(廣播者),、obseerver(觀察者)、peripheral(外圍),、central(中央),。


1、BLE-Stack中有每一種角色的Sample程序,,且正對不同的示例程序?qū)?yīng)的lib也不相同,,eg:CC2540_ble_single_chip_peri.lib 、CC2540_ble_network_processor_all.lib 等,。

2,、對于應(yīng)用程序的profile需要按照規(guī)范自己編寫,目前ti提供幾個醫(yī)療上使用的profile,對于文件傳輸,、音頻傳輸?shù)萷rofile,,我的理解是BLE不適用于這些場合(參考wiki網(wǎng)上一些話題討論、BLE_TechDay_2011.pdf,、 BLE_CC2540_DeepDive_Training_2011.pdf 來源于wiki網(wǎng)),。



我理解的classic就是傳統(tǒng)的那種藍牙應(yīng)用,BLE的應(yīng)用主要是用于第一幅圖,。BLE目前一個數(shù)據(jù)包支持的最大字節(jié)數(shù)為20Byte,,基本上都是幾個字節(jié)的應(yīng)用,ti例程,。

3,、在wiki網(wǎng)上找到一個相關(guān)的例子:Serial App 通過串口實現(xiàn)兩臺PC之間的數(shù)據(jù)傳輸,打算從這個例子入手,,在轉(zhuǎn)向USB的,,初步看了一下這個Serial App,在該頁上能夠下載一個HCI Tester的腳本測試工具,,并不是直接通過兩個串口實現(xiàn)數(shù)據(jù)傳輸,,需要上層的profile和HCI Command。

附上地址:http://processors.wiki./index.php/LPRF_BLE_SerialApp

4,、Btool工具通過連接usb dongle看了一下軟件的選項,,嘗試連接兩個usb dongle,在wiki上看到有人說能夠建立連接,,實測無法搜索到設(shè)備,。

5、初步計劃先移植keyfob的程序到dongle上,,實現(xiàn)兩個設(shè)備之間建立連接,,keyfob通過一個按鈕觸發(fā)30s的dicoverable狀態(tài),這時候啟動dongle進行scan等一系列操作,。

三,、摸著石頭過河

1,、移植KeyFob例程到USB dongle上面,,修改按鍵等宏,刪除了加速度,、蜂鳴器程序,,該Sample與HostTestApp之間可以建立鏈接并通信,參考wiki地址如下:

http://processors.wiki./index.php/Category:KeyFobDemo

存在的問題:
     1)KeyFob例程使用按鍵啟動30秒的advertising,,此后由Btool通過USB dongle向KeyFob(另外一個dongle模擬的)發(fā)送請求鏈接的命令,。按鍵使用輪詢的方式能夠正常進入相應(yīng)事件,使用IO中斷的方式無法進入,檢查了很多遍未找到原因所在,。

     2)建立鏈接之前USB dongle需要Scan設(shè)備,,這是在KeyFob發(fā)送advertising之后,會存在無法查找到設(shè)備,,猜測是由于使用了輪詢按鍵的方式導(dǎo)致的,。

2、CC2540的接收發(fā)送緩存都為128Byte:



再去看了下之前wiki上看到的關(guān)于發(fā)送字節(jié)不超過20Byte的說法,,是限制在10ms以內(nèi)的,。

3、Btool建立連接的狀態(tài):

[25]中表明GAP_EstablishLink Success,在Read/Write選項中通過操作關(guān)鍵字,、描述符來實現(xiàn)通信中數(shù)據(jù)的交互,,參考1中網(wǎng)址。

eg:通過USB dongle讀取KeyFob電池的電量等,,實際讀取錯誤,,無效的數(shù)據(jù)(我想是否需要購買一個keyFob加快開發(fā))



4、想要實現(xiàn)兩臺PC之間的通信:

1)如果采用HostTestApp的方式,,上位機需要與Btool類似,,產(chǎn)生HCI Command讀寫數(shù)據(jù)也需要相關(guān)命令和操作序列。

2)采用單芯片方式(區(qū)別于網(wǎng)絡(luò)處理器模式,,HostTestApp模式),,不直接和外界PC或者MCU交互。

最終如何選擇,,還需要花時間進一步學(xué)習(xí)BLE-stack,。




    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報,。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多