加快物聯(lián)網(wǎng)應(yīng)用的藍(lán)牙? 連接的設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
在討論 ATBTLC1000-XPro 低功耗藍(lán)牙® 擴(kuò)展板前,我們先快速了解一下該板所用的 ATBTLC1000 無(wú)線微控制器。 這款 SoC 器件由一個(gè) ARM Cortex-M0 微控制器、一個(gè) 2.4 GHz 無(wú)線收發(fā)器、128 kB RAM、128 kB ROM 以及 AES-128 和 SHA-256 硬件加速計(jì)組成。 此外,該器件提供的是全系列 GPIO 和串行主/從 SPI、I2C 主/從和 UART 接口連接。 該器件同時(shí)具有集成 DC/DC 轉(zhuǎn)換器和電源管理單元 (PMU),組合在一起幫助 SoC 實(shí)現(xiàn)眾多超低功耗規(guī)范模式。 同時(shí)包括一個(gè)單通道 11 位 ADC、四個(gè) PWM 端口以及通用定時(shí)器。 另外,還使用 ROM 來(lái)存儲(chǔ)了合適的智能藍(lán)牙協(xié)議堆棧(藍(lán)牙 4.1),具體包括 L2CAP 服務(wù)層協(xié)議、安全管理器、屬性協(xié)議 (ATT)、通用屬性協(xié)議 (GATT) 和通用訪問(wèn)規(guī)范 (GAP)。 應(yīng)用特定規(guī)范包括接近、溫度計(jì)、心率和血壓。 圖 1 展示了這一 SoC 器件的框圖。
該器件能夠通過(guò) 1.8 至 4.3 VDC 的電池工作,使用 3.6 V 電源時(shí),在保持 RAM 和 RTC 運(yùn)行的休眠模式消耗的電流低至 1.1 μA,且在接收模式時(shí)峰值電流為 4.0 mA。
圖 1:ATBTLC1000 框圖。
許多物聯(lián)網(wǎng)應(yīng)用將要求電池供電型設(shè)備使用期間只需很少的電池更換次數(shù)。 郊區(qū)環(huán)境通常不是很方便,不是很遠(yuǎn)就是可能有危險(xiǎn),當(dāng)在這些地方使用物聯(lián)網(wǎng)傳感器時(shí),通常會(huì)因?yàn)殡姵貕勖潭a(chǎn)生高額費(fèi)用,對(duì)傳感器制造商的品牌也會(huì)造成潛在傷害。 憑借創(chuàng)新的電源架構(gòu),ATBTLC1000 消除了外部穩(wěn)壓器和片外元件的需要。 該 PMU 塊具有典型值達(dá) 83% 的高能效,包括 DC/DC 降壓轉(zhuǎn)換器和低壓降穩(wěn)壓器 (LDO),可轉(zhuǎn)換電池電壓,向 BLE 內(nèi)核和 RF 收發(fā)器供電。
圖 2:Atmel ATBTLC1000 Xplained Pro 擴(kuò)展板。
如開(kāi)始一個(gè)基于新微控制器的設(shè)計(jì),Atmel 的 Xplained Pro 板系列便是一種超快、超便利的方法。 Xplained Pro 板以 Atmel 的集成開(kāi)發(fā)環(huán)境平臺(tái) Atmel Studio 為支持平臺(tái),配備 Atmel Software Framework (ASF)、全套板支持驅(qū)動(dòng)器、代碼示例和文檔;且 Atmel 的所有基于 AVR 和 ARM 的微控制器產(chǎn)品系列均提供該板。 如圖 2 中所示,ATBTLC1000 擴(kuò)展板使用標(biāo)準(zhǔn)連接器針座,可方便地將各種連接形式合并在一起,包括有線和無(wú)線、電容式觸摸控制、擴(kuò)展 IO 和一系列基于 MEMS 的傳感器。 設(shè)計(jì)時(shí)考慮到了工程師的需求,不僅讓工程師加快了產(chǎn)品上市速度,而且還通過(guò)為每塊板提供完善的文檔材料和應(yīng)用說(shuō)明,讓工程師設(shè)計(jì)時(shí)更有信心。
ATBTLC1000 Xplained Pro 在一個(gè)模塊化封裝中合并了 FCC 和 ETSI 預(yù)認(rèn)證無(wú)線 SoC、數(shù)字溫度傳感器、調(diào)試器針座支持(UART、I2C 和電流計(jì)量)以及一個(gè) 32 kHz 的晶體。 它可以連接到多個(gè)主機(jī) MCU Xplained Pro 板。 為簡(jiǎn)化處理,該擴(kuò)展板與 Atmel SAML21 Xplained Pro 板是作為一個(gè)完整套件提供的,您也可以單獨(dú)購(gòu)買(mǎi) MCU 板。
入門(mén)任何 Xplained Pro 平臺(tái)都極其簡(jiǎn)單。 開(kāi)始前您需要從 Atmel 網(wǎng)站免費(fèi)下載 Atmel Studio(當(dāng)前為第 7 版)。 下載的包中包含了 Atmel Software Framework,因此您也可以隨時(shí)使用代碼示例。 安裝后,啟動(dòng) Atmel Studio 并將擴(kuò)展板連接到您的微控制器板即可。 Atmel Studio 會(huì)自動(dòng)檢測(cè)連接到了哪一種 MCU 和擴(kuò)展板,并顯示該組合的登錄頁(yè)。登錄頁(yè)提供了相關(guān)文檔和規(guī)格書(shū)供您選擇,以啟動(dòng) Atmel Software Framework 來(lái)訪問(wèn)實(shí)例應(yīng)用。
如前所述,ATBTLC1000 SoC 具有智能藍(lán)牙鏈路控制器,促使主機(jī)微控制器執(zhí)行所有標(biāo)準(zhǔn)藍(lán)牙服務(wù)器和客戶(hù)端操作,如 GAP 和 GATT。 該 SoC 通過(guò)片載固件提供了所有 BLE 4.1 鏈路層和應(yīng)用規(guī)范功能。 Atmel 提供了一個(gè)適配器 API 來(lái)實(shí)現(xiàn)與鏈路層固件的通信。
圖 3:ATBTLC1000 智能鏈路控制器主機(jī)連接圖。
Atmel 的 API 采用一個(gè)直接編程模型,該模型通常包含三個(gè)操作組,即平臺(tái)/鏈路控制器初始化、設(shè)備配置以及事件處理與監(jiān)視。 圖 4 所示為一個(gè)簡(jiǎn)單的應(yīng)用流程圖。 at_ble-init() 函數(shù)調(diào)用啟動(dòng)了鏈路控制器。 接著需要設(shè)備配置來(lái)設(shè)置設(shè)備地址并命名任何相關(guān)廣告數(shù)據(jù)。 該 API 采用請(qǐng)求、響應(yīng)工作機(jī)制。 一個(gè) API 調(diào)用可觸發(fā)一個(gè)或多個(gè)事件消息,返回到調(diào)用應(yīng)用。 在 Atmel 的《低功耗藍(lán)牙 API:軟件開(kāi)發(fā)用戶(hù)指南》1 和 Atmel 軟件框架2 中可找到完整的可用 API 清單。
圖 4:API 編程模型 – 應(yīng)用流程。
利用一個(gè)計(jì)劃圖可完美地展示該 API 的工作原理:見(jiàn)圖 5。 在此示例中,設(shè)置 GAP 廣告的過(guò)程意味著外設(shè)將以無(wú)線方式發(fā)送一個(gè)單向廣播數(shù)據(jù),以便讓另一藍(lán)牙設(shè)備發(fā)現(xiàn)。 除了這個(gè)必需的廣告數(shù)據(jù),如設(shè)備名稱(chēng)和 ID,可通信的其它信息可幫助建立連接。
圖 5:GAP 廣告過(guò)程計(jì)劃圖。
這一其它數(shù)據(jù)就是調(diào)用響應(yīng)數(shù)據(jù)。 函數(shù) at_ble-init() 初始化后,在對(duì)廣告函數(shù)作出調(diào)用前,需要在 at_ble_adv_data_set 函數(shù)中設(shè)置廣告數(shù)據(jù)。 如果目的是廣告,然后建立連接,則要調(diào)用 at_ble_adv_start(可連接)。 圖 6 中的代碼實(shí)例只展示了啟動(dòng)此過(guò)程的應(yīng)用的第一部分,從定義和設(shè)置設(shè)備名稱(chēng)、初始化設(shè)備、設(shè)置廣告響應(yīng)數(shù)據(jù),到開(kāi)始廣告。 這只是一個(gè)通過(guò)在設(shè)計(jì)應(yīng)用時(shí)使用 Atmel 藍(lán)牙 API 實(shí)現(xiàn)的簡(jiǎn)潔性實(shí)例。