freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于cc2540的藍(lán)牙40模塊與pc機(jī)通信設(shè)計畢業(yè)論文-閱讀頁

2025-07-27 08:08本頁面
  

【正文】 制及自適應(yīng)協(xié)議層、 安全管理層、屬性協(xié)議層、通用訪問配置文件層、通用屬性配置 文件層, 如圖 41 所示: 18 圖 41 藍(lán)牙 BLE 協(xié)議棧 藍(lán)牙 BLE協(xié)議棧采用分層思想將服務(wù)、接口和協(xié)議這三個概念明確地區(qū)分開來。 物理層( Physical Layer)是 1Mbps 自適應(yīng)跳頻的 GFSK 射頻,工作于免許可證的 ISM(工業(yè)、科學(xué)和醫(yī)療)頻段。 廣告設(shè)備不需要建立連接就可以發(fā)送數(shù)據(jù);而掃描設(shè)備收聽廣播設(shè)備發(fā)出的數(shù)據(jù);發(fā)起連接的設(shè)備通過發(fā)送連接請求來回應(yīng)廣播設(shè)備,如果廣播設(shè)備接受連接請求,那么廣播設(shè)備與發(fā)起連接的設(shè)備將會進(jìn)入連接狀態(tài)。這一層可以是軟件 API 或硬件接口,如 UART、 SPI、 USB。 安全管理層( Security Manager)定義了配對和密鑰方式,并為協(xié)議棧其它層與另一個設(shè)備之間的安全連接和數(shù)據(jù)交換提供服務(wù)。在 ATT 環(huán)境中,展示“屬性”的設(shè)備稱為服務(wù)器,與之配對的設(shè)備稱為客戶端。 通用屬性配置文件層( Generic Attribute profile)是在 ATT 上面 的 一層結(jié)極,定義了使用 ATT 的 服務(wù)框架, GATT 規(guī)定了配置文件(鼎鼎有名 的 profile) 的 結(jié)極,在 BLE 中,所有被 profile 戒者服務(wù)用刡 的 數(shù)據(jù)塊都稱為“特性, characteristic”兩個建立連接的 設(shè)備之間的 所有數(shù)據(jù)通信都是通過 GATT 子程序處理,應(yīng)用程序和 profile 直接使用GATT 層。 操作系統(tǒng)抽象層 OSAL OSAL(操作系統(tǒng)抽象層) 是類似于一個系統(tǒng)的抽象層,但 它不是一個真正意義上的操作系統(tǒng)。 在任務(wù)設(shè)計時,需要將問題盡可能地分為多個任務(wù),每個任務(wù)獨立完成某種功能,同時被賦予一定的優(yōu)先級,擁有自己的 CPU 寄存器和堆??臻g。 保護(hù)共享資源最常用的方法是: ? 關(guān)中斷; ? 使用測試并置位指令; ? 禁止任務(wù)切換; ? 使用信號量。在藍(lán)牙 BLE 協(xié)議棧 中, OSAL 主要提供如下功能: ? 任務(wù)注冊、初始化和啟動; ? 任務(wù)間的同步、互斥; ? 中斷處理; ? 存儲器分配和管理; ? 提供定時器功能。 該變量的聲明為: uint8 taskCnt。 taskEvents:這是一個指針 ; 該變量的聲明為: uint16 *taskEvents。 taskArr:這是一個數(shù)組 ; 該數(shù)組的聲明為: pTaskEventHandlerFn taskArr[].這是一個函數(shù)指針,指向了對應(yīng)的事件處理函數(shù)。 硬件抽象層文件目錄如圖 42 所示: 圖 42 HAL 文件目錄 硬件抽象層文件目錄包括 HAL 驅(qū)動和 HAL 相關(guān)文件的頭文件, HAL 文件存放在三個不同的目錄之下, HAL Common 文件 夾包含協(xié)議棧、 MAC 和驅(qū)動中使用到相關(guān)配置文件。主要包括以下三個函數(shù): HAL_Init()它是 osaltaskadd 調(diào)用,以便在 OSAL 中注冊 HAL 的驅(qū)動; HALdriverInit()它是 main()函數(shù)調(diào)用來初始化硬件驅(qū)動。 HAL Include 文件夾包含 HAL 驅(qū)動及 HAL 相關(guān)文件的頭文件,如 圖 43 所示: 21 圖 43 Include 文件下頭文件 HAL Target 文件夾下的 Drivers 包含所有 HAL 驅(qū)動的“ .c”文件。 ( 1)通用訪問配置文件( GAP): BLE 協(xié)議棧中的 GAP 層負(fù)責(zé)處理設(shè)備訪問模式和程序,包括設(shè)備發(fā)現(xiàn)、建立連接、終止連接、初始化安全特色和設(shè)備配置。 在典型的藍(lán)牙低功耗系統(tǒng)中,外部設(shè)備廣告特定的數(shù)據(jù),來使集中器知道它是一個可以連接的設(shè)備。集中器收到廣告數(shù)據(jù)后,向外部設(shè)備發(fā)送掃描請求,然后外部設(shè)備將特定的數(shù)據(jù)回應(yīng)給集中器,稱為掃描回應(yīng)。此時,集中器可以向外部設(shè)備發(fā)起建 立連接的請求。 連接間隔 — 在兩個 BLE 設(shè)備的連接中使用跳頻機(jī)制,兩個設(shè)備使用特定的信道收發(fā)數(shù)據(jù),然后過一段時間后再使用新的信道(鏈路層處理信道切換),兩設(shè)備在信道切換后收發(fā)數(shù)據(jù)稱之為連接事件。連接間隔就是兩個連接事件之間的時間間隔,連接間隔以 為單位,連接間隔的值是 6( ) ~3200( 4s)。長的時間間隔的優(yōu)勢是顯著地節(jié)省功耗,因為設(shè)備可以在連接事件之間有較長事件 的休眠,壞處是當(dāng)設(shè)備有應(yīng)用數(shù)據(jù)需要發(fā)送時,必須要等到下一個連接事件;短的時間間隔優(yōu)勢是兩設(shè)備連接頻發(fā),可以更快地收發(fā)數(shù)據(jù),不利之處是設(shè)備因連接事件的到來而被頻繁地喚醒,會有較多功耗。 管理超時 — 這是兩個成功連接事件之間的最大允許間隔。這個值的單位是 10ms,管理超時的范圍是 10( 100ms) ~3200( 32ms)。 外設(shè)可以通過向集中器發(fā)送“連接參數(shù)更新請求”來改變連接設(shè)置,這個請求由協(xié)議棧的 L2CAP 層來處理。這些值代表了外設(shè)所要求的連接參數(shù)。 連接可以被主機(jī)或從機(jī)以任何原因自動終止。然后兩個設(shè)備才能退出連接設(shè)備。在藍(lán)牙 BLE 協(xié)議棧中的 SimpleBLEPeripheral 應(yīng)用中,有三個GATT 服務(wù)。屬性表是一個數(shù)據(jù)庫,包含了稱為屬性的小塊數(shù)據(jù),除了值本身,每個屬性都包含下列屬性: 句柄 — 屬性在表中的地址,每個屬性有唯一的句柄; 類型 — 表示數(shù)據(jù)代表的事務(wù),通常是藍(lán)牙技術(shù)聯(lián)盟規(guī)定或由用戶自定義的 UUID( Universally Unique Identifier); 權(quán)限 — 規(guī)定了 GATT 客戶端設(shè)備對屬性的訪問權(quán)限,包括是否能訪問和怎樣訪問。 下面是一些子過程: 讀特性值 — 客戶端設(shè)備請求讀取句柄處的特性值,服務(wù)器將此值回應(yīng)給客戶端(假定屬性有讀權(quán)限)。 讀多個特性值 — 客戶端一次請求中讀取幾個句柄的特征值,服務(wù)器將這些特征值回應(yīng)給客戶端(假設(shè) 屬性有讀權(quán)限)。 BLE 協(xié)議棧開發(fā)平臺配置 TI公司免費(fèi)的藍(lán)牙 BLE軟件開發(fā)套件是完整地支持單模藍(lán)牙 BLE應(yīng)用開發(fā)的平臺,它基于 CC2540/CC2541 射頻單片機(jī),是一套完整的 SoC 解決方案。這種方式提供最低的成本和功耗,大部分實際應(yīng)用都采用這種方式。 2. 網(wǎng)絡(luò)處理器 : 控制器和主機(jī)部分在 CC2540 上執(zhí)行, 而應(yīng)用程序和 Profiles 在另一個設(shè)備執(zhí)行。網(wǎng)絡(luò)處理器配置 適用于應(yīng)用程序在另一個設(shè)備(外部微控制器或 PC)上運(yùn)行的情況。要使用網(wǎng)絡(luò)處理器, HostTestRelease工程必須使用。 SimpleBLEPeripheral 從機(jī)編程 這里說到的從機(jī),也就是本設(shè)計用到的 CC2540EM 開發(fā)板。例如防丟器、血壓儀、心率計等均是藍(lán)牙組織規(guī)定的 profile。 Projects\ble\SimpleBLEPeripheral\CC2540\ 進(jìn)入 主體源文件。也包含“ ”和“ ”,處理用戶接口功能; OUTPUT—— IAR 輸出的內(nèi)容。 25 26 圖 45 SimpleBLEPeripheral_Init 任務(wù)初始化函數(shù) 314 行:設(shè)置從機(jī)廣播數(shù)據(jù)。 主機(jī)和從機(jī)是這樣開機(jī)工作的: 從機(jī)開啟廣播,然后主機(jī)掃描廣播的從機(jī),當(dāng)從機(jī)接收到主機(jī)的掃描請求后,會主動發(fā)送掃描回應(yīng)數(shù)據(jù)。這里涉及的廣播內(nèi)容和掃描回應(yīng)內(nèi)容就是在這里設(shè)置的。 354 行:添加 SimpleProfile。 最 后 433 行:啟動 BLE 從機(jī)。 可以看出,所有的任務(wù)函數(shù)的結(jié)構(gòu)幾乎都是一致的,有一個任務(wù)入口點 ,還有系統(tǒng)消息事件處理,以及其他的任務(wù)事件處理。 471 行:有 int 函數(shù)啟動的任務(wù)函數(shù)入口點,啟動從機(jī)程序,并且開啟周期性的任務(wù)處理,這個周期性的任務(wù)并不是必須的。 27 圖 46 系統(tǒng)消息處理函數(shù) 從這個函數(shù)內(nèi)容可以看到,在按鍵的處理前有一個宏定義, CC2540_MINIDK,當(dāng)使用 Keyfob 開發(fā)板運(yùn)行該 從機(jī)程序時,會有按鍵處理。 當(dāng)主機(jī)調(diào)用 GATT_ReadCharValue 后,讀取到的 value,會在 GATT_MSG_EVENT中通知我們,如圖 47 所示 。 在從機(jī)里,接收數(shù)據(jù)是通過一個 GATT Callback 回調(diào)函數(shù)。在 的開頭有這個回調(diào)函數(shù)的定義,如圖 48 所示。在回調(diào)函數(shù)中,我們判斷是哪個 characteristic,然后準(zhǔn)備數(shù)據(jù)接收,這樣就實現(xiàn)了主機(jī)到從機(jī)的數(shù)據(jù)接收工作。 要向 CC2540 USBDongle 中 燒寫 HostTestRelease 程序 才能實現(xiàn)其作為 主機(jī)的功能。 打開 SimpleBLEPeripheral 從機(jī)工程。 HostTestRelease 網(wǎng)絡(luò)處理器工程結(jié)構(gòu)和一般的協(xié)議棧 demo 一樣,同樣適用硬件抽象層,操作系 統(tǒng)虛擬層。該驅(qū)動源 文件在如下目錄: \\Components\hal\target\CC2540EB\CC2540EB\ 調(diào)用 提供的 api方法一下: 1. 編寫串口初始化函數(shù),配置 UART 波特率、流控制、緩沖區(qū)大小,數(shù)據(jù)接收回調(diào)函數(shù)等參數(shù)后,打開串口。 3. 封裝串口打印函數(shù)。而本設(shè)計中的串口初始化函數(shù) ,是我們需要在任務(wù)函數(shù)中調(diào)用的初始化串口配置用 。 30 圖 410 串口應(yīng)用程序初始化函數(shù) 第 33 行:設(shè)置波特率,本設(shè)計使用的是 57600。如果設(shè)置成 FALSE,只需要 TX 和 RX 就可以外接通信。當(dāng)程序 接收到硬件發(fā)來的串口數(shù)據(jù)時,會 調(diào)用該函數(shù),通知用戶做好接收工作。 當(dāng)程序接收 到 硬件 發(fā)來的串口數(shù)據(jù)時, 會調(diào)用剛才配置 的回調(diào)函數(shù),通知我們做好接收工作,回調(diào)函數(shù)編寫圖 411 所示。 第 64 行:調(diào)用 Hal_UART_RxBufLen 函數(shù),返回當(dāng)前可讀的數(shù)據(jù)長度。 SerialPrintString()封裝了端口號和數(shù)據(jù)長度兩個參數(shù), SerialPrintValue 函數(shù)向用戶 提供了打印數(shù)值功能,并且可以控制打印的數(shù)值顯示格式,如 10 進(jìn)制或者 16 進(jìn)制。 31 圖 412 串口值打印函數(shù) 32 5 系統(tǒng)安裝與測試 分別將編譯的 SimpleBLEPeripheral和 HostTestRelease 下載到 從機(jī)板和 USBDongle。 打開從機(jī)板開關(guān)使其開機(jī) 工作 , 這時從機(jī)板的 LCD 上會顯示 其從機(jī)程序、 設(shè)備地址和它的狀態(tài),如圖 51 所示。下面對本次畢業(yè)設(shè)計中所做的主要工作做以下總結(jié): 硬件電路設(shè)計: 這次的畢業(yè)設(shè)計的硬件電路板,其中核心板直接采用購買的 CC2540— EM 核心板,這主要涉及到核心板上的倒 F 天線設(shè)計,如果自己動手設(shè)計的話,無法保證設(shè)計的精度,同時又將影響到通信的質(zhì)量。 系統(tǒng)軟件設(shè)計: 本次畢業(yè)設(shè)計中的軟件設(shè)計,在藍(lán)牙 BLE Low Energy stack 的基礎(chǔ)上,自己修改并添加了從機(jī)按鍵處理程序和主機(jī) 串口 處理程序: 主從機(jī)的按鍵處理函數(shù)也是本次畢業(yè)設(shè)計中實物演示的主要部分,用于實現(xiàn) 從機(jī)與PC 之間的通信。 未來展望:在畢業(yè)設(shè)計中也牽涉到時間緊,任務(wù)重,其他事務(wù)等客觀原因的影響,使得沒能搞懂搞透這個通信協(xié)議,但是藍(lán)牙 BLE 的未來發(fā)展前景良好,我對它也是很感興趣,希望在以后的日子里繼續(xù)學(xué)習(xí),從身邊應(yīng)用做起,做出自己的藍(lán)牙臺燈、藍(lán)牙鼠標(biāo)等等。是它讓我圓了我的大學(xué)夢,有了上大學(xué)的機(jī)會。 然后要感謝指導(dǎo)我們的老師 —— 霍金 老師。我們不僅從杭老師的身上學(xué)到了先進(jìn)實用的專業(yè)技能知識,更是學(xué)到了很多做人做學(xué)問的道理,這讓我們受益匪淺。如果不是遇見他們我的大學(xué)生活可能會完全不同 。 我想對他們說的只有感謝! 35 參考文獻(xiàn) [1] 歐陽駿 陳子龍 黃寧淋 .藍(lán)牙 BLE 開發(fā)完全手冊 —— 物聯(lián)網(wǎng)開發(fā)技術(shù) [M]. 北京:化工出版社, 20xx,4. [2] 張紅,孫啟美,李鋒 。 [5] 李明亮,邢斌,藍(lán)牙硬件電路與藍(lán)牙核心技術(shù)及應(yīng)用 [M],北京電子科技出版社,20xx 。 [9] 李育林.藍(lán)牙技術(shù)的協(xié)議標(biāo)準(zhǔn).通 信技術(shù)及應(yīng)用 [J]. 20xx(8): (66— 67) 。
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1