使用開(kāi)發(fā)套件和現成的擴展板快速制作藍牙物聯(lián)網(wǎng)應用原型

發(fā)布時(shí)間:2022-2-21 14:53    發(fā)布者:eechina
對于那些能夠快速將概念轉化為可行的物聯(lián)網(wǎng) (IoT) 應用的開(kāi)發(fā)者來(lái)說(shuō),市場(chǎng)在智能互聯(lián)產(chǎn)品方面的需求為他們提供了廣闊的機會(huì )。高能效處理器、各種可選的無(wú)線(xiàn)連接和廣泛的硬件外設,為實(shí)現合適的、可投入生產(chǎn)的低功耗設計奠定了堅實(shí)的基礎。

然而,在產(chǎn)品定義的早期階段,開(kāi)發(fā)者需要一個(gè)靈活的開(kāi)發(fā)平臺,用來(lái)快速構建基于同級別處理器、連接子系統和外設的原型。能夠快速構建工作原型并輕松添加功能,對于提供早期概念驗證并支持定制軟件開(kāi)發(fā)來(lái)說(shuō)至關(guān)重要。

本文展示了開(kāi)發(fā)者如何使用 Silicon Labs 的硬件和軟件,以及大量現成的擴展板快速構建專(zhuān)門(mén)的節能互連型物聯(lián)網(wǎng)設備原型。

實(shí)現快速原型開(kāi)發(fā)

在探索電池供電型無(wú)線(xiàn)物聯(lián)網(wǎng)設備的各種新的可能性時(shí),開(kāi)發(fā)者會(huì )發(fā)現自己已陷入了與構建有效開(kāi)發(fā)平臺有關(guān)的諸多細節的困擾中。憑借其集成子系統,先進(jìn)的片上系統 (SoC) 設備可以提供這樣一個(gè)核心平臺,但開(kāi)發(fā)者仍然需要圍繞這些設備構建完整的系統。

為了給這些設備構建一個(gè)合適的開(kāi)發(fā)平臺,開(kāi)發(fā)者不僅需要滿(mǎn)足強大性能和更長(cháng)電池壽命的基本要求,還需要實(shí)現靈活性,以滿(mǎn)足每個(gè)應用的具體要求。Silicon Labs 的 BGM220-EK4314A Explorer 套件滿(mǎn)足這種組合要求,使開(kāi)發(fā)人員能夠專(zhuān)注于新設計概念的快速原型開(kāi)發(fā),而無(wú)需處理構建開(kāi)發(fā)平臺所涉及的各種細節。

靈活的快速開(kāi)發(fā)平臺

BGM220-EK4314A Explorer 套件是開(kāi)發(fā)基于藍牙的各種應用的低成本平臺,該平臺整合了 SiLabs 的 BGM220P Wireless Gecko 模塊 (BGM220PC22HNA)、1 個(gè)板載 SEGGER J-Link 調試器、1 個(gè)按鈕、1 個(gè)發(fā)光二極管 (LED) 以及多種擴展選項(圖 1)。


圖 1:SiLabs BGM220-EK4314A Explorer 套件具有快速構建原型,評估不同外設硬件配置所需的處理性能、能量管理功能和配置靈活性。(圖片來(lái)源:Silicon Labs)

BGM220P 模塊可作為小型電池供電型物聯(lián)網(wǎng)設備的一個(gè)完整解決方案。其集成的 EFR32BG22 Blue Gecko SoC 具有超低功耗、藍牙到達角 (AoA) 和離開(kāi)角 (AoD) 能力以及次 1 米定位精度——所有這些都是越來(lái)越多的流行藍牙應用所必需的,包括資產(chǎn)追蹤標簽、智能門(mén)鎖、健身等應用。

BGM220P 模塊可作為獨立系統運行,它將 EFR32BG22 系統芯片與 512KB 閃存、32KB 隨機存取存儲器 (RAM)、高頻 (HF) 和低頻 (LF) 晶體 (XTAL) 以及一個(gè)用于無(wú)線(xiàn)連接的 2.4 GHz 匹配網(wǎng)絡(luò )和陶瓷天線(xiàn)組合在一起(圖 2)。


圖 2:SiLabs BGM220P 模塊可作為獨立系統使用,它將 EFR32BG22 Blue Gecko SoC 與實(shí)現藍牙設備所需的其他組件整合在一起。(圖片來(lái)源:Silicon Labs)

除了可用作小型物聯(lián)網(wǎng)設計的獨立主機,該模塊還可以作為通過(guò)其 UART 接口連接的主機處理器的網(wǎng)絡(luò )協(xié)處理器 (NCP)。該模塊的集成藍牙堆棧為獨立設計中在模塊上運行的應用執行無(wú)線(xiàn)服務(wù),或在 NCP 設計中運行時(shí)處理從主機收到的指令。

高能效無(wú)線(xiàn) SoC

BGM220P 模塊的 EFR32BG22 藍牙無(wú)線(xiàn) SoC 集成了一個(gè) 32 位 ArmCortex-M33 內核、1 個(gè) 2.4GHz 無(wú)線(xiàn)電、安全、能量管理子系統,以及多個(gè)定時(shí)器和接口選擇。EFR32BG22 系統芯片專(zhuān)門(mén)為超低功耗、電池供電型設備而設計,具有多種能量管理功能,可使紐扣電池的運行壽命達到 10 年。

通過(guò)單一的外部電壓供電,該 SoC 使用其內部能量管理單元來(lái)產(chǎn)生內部電源電壓。在運行期間,由能量管理單元控制 SoC 的五種能量模式 (EM) 之間的轉換。當 SoC 從激活模式 (EM0) 過(guò)渡到睡眠模式 (EM1)、深度睡眠模式 (EM2)、停止模式 (EM3) 或停機模式 (EM4) 時(shí),每種模式都通過(guò)保持逐漸減少的激活功能塊來(lái)進(jìn)一步降低功耗(圖 3)。


圖 3:EFR32BG22 SoC 的能量管理單元控制能量模式 EM0、EM1、EM2、EM3 和 EM4 之間的轉換(顏色代碼位于圖片下方)。(圖片來(lái)源:Silicon Labs)

在 76.8 MHz 和 3 V 的激活模式 (EM0) 下,使用其內部的 DC/DC 轉換器,該 SoC 的功耗為 27 μA/MHz。EM0 是正常工作模式,也是唯一可以使用 Cortex M33 處理器內核和所有外設模塊的模式。

所有的外設都可以在睡眠模式 (EM1) 下使用,當系統進(jìn)入功耗更低的模式時(shí),保持激活狀態(tài)的外設會(huì )更少。低功耗模式下,處于激活狀態(tài)的時(shí)鐘和功能塊數量的減少會(huì )使功耗水平顯著(zhù)降低:

· 睡眠模式下 (EM1):17 μA/MHz
· 深度睡眠模式 (EM2):1.40μA,保留 32KB RAM,實(shí)時(shí)時(shí)鐘 (RTC) 通過(guò) LFXO 運行
· 停止模式 (EM3) 下:1.05 μA,保留 8KB RAM,RTC 通過(guò) SoC 集成超低頻 1 kHz 電阻電容 (RC) 振蕩器 (ULFRCO) 運行
· 0.17 μA 停機模式 (EM4)

一些電池供電型設備需要的不只是在低功耗工作模式下運行處理器的能力。許多支持藍牙的應用通常都會(huì )長(cháng)期處于很少激活或者非激活狀態(tài),但在恢復激活狀態(tài)時(shí)需要低延遲響應。事實(shí)上,即使一個(gè)應用具有更寬松的延遲要求,緩慢喚醒操作也會(huì )浪費電力,因為處理器在完成喚醒過(guò)程并進(jìn)入激活模式(或完成從高功耗模式進(jìn)入低功耗模式的過(guò)程)時(shí)不會(huì )進(jìn)行任何有用的工作。

隨著(zhù)激活狀態(tài)之間的時(shí)間縮短,當緩慢喚醒或進(jìn)入電源模式的時(shí)間相比處理器在非激活期保持高功耗模式所消耗的能量更多時(shí),使用低功耗睡眠模式甚至會(huì )起到反作用。因此,致力于優(yōu)化電池壽命的開(kāi)發(fā)人員有時(shí)會(huì )將處理器維持在更高的功耗模式,以滿(mǎn)足應用處理需求。

通過(guò)使用具有更快的喚醒和電源進(jìn)入時(shí)間的處理器,開(kāi)發(fā)者可以更充分地利用處理器的低功耗模式。在 EM1 中,EFG32BG22 在三個(gè)時(shí)鐘/1.24 μs 內喚醒,進(jìn)入時(shí)間為 1.29 μs,在 EM4 中則分別延長(cháng)至 8.81 ms 和 9.96 μs (表 1)。


表 1:EFG32BG22 SoC 的喚醒和電源模式進(jìn)入時(shí)間。(圖片來(lái)源:Silicon Labs)

用于在恢復激活狀態(tài)時(shí)喚醒處理器的方法也可能會(huì )顯著(zhù)影響電池壽命。盡管如工業(yè)應用等一些應用會(huì )要求系統使用輪詢(xún)處理方式來(lái)確保嚴格的周期性計時(shí),但消費領(lǐng)域的許多應用都采用基于事件的處理方式來(lái)響應特定活動(dòng)。例如,對基于事件的應用使用輪詢(xún)方法,當處理器被反復無(wú)謂地喚醒時(shí),會(huì )大大影響電池壽命。

許多基于傳感器的設計使用“中斷時(shí)喚醒”功能來(lái)避免只是為了檢查激活狀態(tài)而重復喚醒處理器的情況。與此相同,EFG32BG22 系統芯片無(wú)線(xiàn)電子系統的內置“射頻喚醒”功能也采用了類(lèi)似的中斷驅動(dòng)方法。這樣,開(kāi)發(fā)人員能夠使處理器保持在功耗較低的能量模式下,直到發(fā)生射頻 (RF) 激活情況。

在實(shí)際中,開(kāi)發(fā)人員將 EFG32BG22 無(wú)線(xiàn) SoC 置于超低功耗的 EM2、EM3 或 EM4 模式,并依靠“射頻喚醒”功能在檢測到 RF 能量時(shí)喚醒 SoC。當僅限于檢測超過(guò)閾值的能量時(shí),RFSENS 的能耗為 131 nA。RFSENSE 模式的選擇性更強,電流消耗略多,為 138 nA,但在這種模式下,RFSENSE 會(huì )過(guò)濾進(jìn)入的射頻信號,確保在出現有效射頻信號而不是射頻噪聲時(shí)喚醒。

在某些情況下,EFG32BG22 SoC 可能根本不需要喚醒處理器內核來(lái)響應外部事件:SiLabs 的外設反射系統 (PRS) 使外設對事件作出反應,在不喚醒處理器內核的情況下進(jìn)行操作。外設之間可以直接通信,其功能可以組合使用,以實(shí)現復雜的功能。通過(guò)使用具有較低能量模式的 PRS 功能,開(kāi)發(fā)者可以在不影響傳感器數據采集等關(guān)鍵功能的情況下大幅降低功耗。

內置調試功能,易于擴展

BGM220P 模塊內置于 BGM220 Explorer 套件板中,為電池供電型藍牙設計帶來(lái) EFR32BG22 SoC 的全套能量管理和處理能力。當需要快速建立原型來(lái)探索新的設計概念時(shí),該板的其他功能有助于加速開(kāi)發(fā)。

通過(guò)板上 USB Micro-B 接口訪(fǎng)問(wèn),板上 SEGGER J-Link 調試器可實(shí)現代碼下載和調試以及一個(gè)用于主機控制臺訪(fǎng)問(wèn)的虛擬 COM 端口。該調試器還支持 SiLabs 的數據包跟蹤接口 (PTI) 功能,用于分析通過(guò)無(wú)線(xiàn)網(wǎng)絡(luò )傳輸或接收的數據包。

用于快速原型設計時(shí),該板支持多種擴展選項,便于靈活地探索需要不同組合的傳感器、致動(dòng)器、連接選項和其他外設的新設計理念。依托多個(gè)供應商提供的大量 mikroBUS 擴展板和 Qwiic 連接系統硬件,開(kāi)發(fā)人員可以快速地為每個(gè)應用配置一個(gè)開(kāi)發(fā)平臺。

插入該板的 mikroBUS 插座后,mikroBUS 板可通過(guò) I2C、SPI 或 UART 接口與 BGM220P 模塊連接。Qwiic 連接器提供了 Qwiic 系統的 I2C 接口,用于連接一個(gè)或多個(gè) Qwiic 板,連接距離最長(cháng)可達 4 英尺。對于較長(cháng)距離的連接,開(kāi)發(fā)者可以使用 SparkFun QwiicBus EndPoint 板 (COM-16988),該板使用差分信號來(lái)保持 I2C 信號的完整性,連接距離長(cháng)約 100 英尺。

快速應用開(kāi)發(fā)

SiLabs 將快速擴張的概念應用于應用軟件開(kāi)發(fā)。除了用于定制開(kāi)發(fā)的板卡支持包、驅動(dòng)程序、庫和頭文件外,該公司還提供了在 Simplicity Studio 開(kāi)發(fā)環(huán)境中捆綁的幾個(gè)示例應用,以及可從 SiLabs 的 GitHub 資源庫中獲得的其他項目。事實(shí)上,開(kāi)發(fā)者可將捆綁的溫度應用樣例作為切入點(diǎn),探索傳感器應用的開(kāi)發(fā)。該樣例使用 EFR32BG22 SoC 的內部溫度傳感器作為數據源。

該溫度應用圍繞標準的藍牙健康溫度服務(wù)構建,可直接通過(guò)基于 SiLabs 軟件架構的通用藍牙物聯(lián)網(wǎng)應用演示處理流程。該應用會(huì )為系統服務(wù)、設置中斷處理和回調功能的應用服務(wù)調用一系列初始化例程。完成初始化后,該應用進(jìn)入一個(gè)無(wú)休止循環(huán),等待事件發(fā)生(列表 1)。

副本

int main(void)
{
  // Initialize Silicon Labs device, system, service(s) and protocol stack(s).
  // Note that if the kernel is present, processing task(s) will be created by
  // this call.
  sl_system_init();

  // Initialize the application. For example, create periodic timer(s) or
  // task(s) if the kernel is present.
  app_init();

#if defined(SL_CATALOG_KERNEL_PRESENT)
  // Start the kernel. Task(s) created in app_init() will start running.
  sl_system_kernel_start();
#else // SL_CATALOG_KERNEL_PRESENT
  while (1) {
    // Do not remove this call: Silicon Labs components process action routine
    // must be called from the super loop.
    sl_system_process_action();

    // Application process.
    app_process_action();

#if defined(SL_CATALOG_POWER_MANAGER_PRESENT)
    // Let the CPU go to sleep if the system allows it.
    sl_power_manager_sleep();
#endif
  }
#endif // SL_CATALOG_KERNEL_PRESENT
}

列表 1:SiLabs 的藍牙樣例應用使用通用執行框架,其中無(wú)限循環(huán)允許回調功能和事件處理程序在初始化后處理系統和應用行為。(代碼來(lái)源:Silicon Labs)
在該應用中,當初始化過(guò)程中設置的定時(shí)器進(jìn)行倒計時(shí)時(shí),一個(gè)相關(guān)的回調例程就會(huì )進(jìn)行溫度測量。開(kāi)發(fā)人員在構建應用并點(diǎn)亮電路板后,可以使用 SiLabs EFR Connect 應用——一種通用型藍牙移動(dòng)應用,可與所有 Silicon Labs 藍牙套件和設備一起使用。除了提供定制應用的框架外,該應用還通過(guò)提供一個(gè)與藍牙服務(wù)相關(guān)的支持特性視圖來(lái)協(xié)助開(kāi)發(fā),例如本例應用中使用的藍牙健康溫度計服務(wù)(圖 4)。


圖 4:SiLabs EFR Connect 應用顯示某個(gè)應用中使用的藍牙服務(wù)特征,不僅加快了原型開(kāi)發(fā),而且為定制應用開(kāi)發(fā)提供了一個(gè)框架。(圖片來(lái)源:Silicon Labs)

在 Simplicity Studio 中,開(kāi)發(fā)人員可以導入一些不同的藍牙應用實(shí)例,展示各種使用場(chǎng)景,包括單獨或組合使用 Qwiic 或 mikroBUS 板的設計。例如,樣例應用演示了標準藍牙心率 (HR) 脈搏血氧儀 (pO2) 服務(wù)與 MikroElektronika 的 MIKROE-4037 心率 2 Click mikroBUS 板結合使用,其中包含 Maxim Integrated 的 MAX86161 生物傳感器。MAX86161 提供了一個(gè)完整的低功耗子系統,能夠為通過(guò)其 I2C 接口連接的主機處理器提供準確的心率和 SpO2 測量值。(關(guān)于 MAX86161 的詳細使用信息,參見(jiàn)《構建真正的無(wú)線(xiàn)健身耳穿戴設備 — 第 1 部分:心率和 SpO2 測量》)。

由于需要另外的驅動(dòng)器和比溫度應用更苛刻的處理算法,該應用展示了更復雜的物聯(lián)網(wǎng)設備軟件應用架構(圖 5)。


圖 5:如 HR/SpO2 應用等樣例項目有助于加快原型開(kāi)發(fā),同時(shí)展示了低功耗藍牙傳感器應用的典型處理流程。(圖片來(lái)源:Silicon Labs)

與上文提到的溫度應用一樣,這個(gè)應用依賴(lài)一系列初始化例程來(lái)設置系統和應用服務(wù)。在溫度應用中,例程 app_process_action 為空,本應用在 app_process_action 中增加了對例程 hrm_loop 的調用。這將導致在每次穿過(guò)列表 1 中所示的頂層無(wú)限循環(huán)時(shí)調用 hrm_loop。此外,采用軟件定時(shí)器定期更新 HR 和 SpO2 數據。

hrm_loop 例程反過(guò)來(lái)調用 maxm86161_hrm_process,它從一個(gè)由輔助函數維護的隊列中提取樣本,并將其傳遞至樣本處理例程。這反過(guò)來(lái)又調用一對例程:maxm86161_hrm_frame_process 和 maxm86161_hrm_spo2_frame_process,它們分別執行算法來(lái)驗證和生成 HR 和 SpO2 結果。開(kāi)發(fā)人員可以使用上文提到的 EFR Connect 應用查看結果和其他服務(wù)特征。

另一個(gè)軟件應用樣例顯示了開(kāi)發(fā)者如何在擴展其硬件平臺時(shí)基于復雜的應用進(jìn)行開(kāi)發(fā),如這里的 HR/SpO2 應用。使用 BGM220-EK4314A Explorer 套件板和 SiLabs 軟件生態(tài)系統,圍繞現有的軟硬件進(jìn)行構建是相對簡(jiǎn)單的。SiLabs 通過(guò)一個(gè)樣例應用演示了這種方法,該應用在上述 HR/SpO2 應用的硬件/軟件平臺上增加了 OLED 顯示屏。本例中,SparkFun 的 OLED 顯示屏 Qwiic 擴展板 (LCD-14532) 與該板的 Qwiic 連接器連接,而 MikroElektronika Heart Rate 2 Click 擴展板來(lái)自之前的 HR/SpO2 樣例應用中(圖 6)。


圖 6:開(kāi)發(fā)者可以快速為基于 BGM220-EK4314A Explorer 套件板構建的現有設計添加功能——這里是將 OLED 顯示屏添加到現有的 HR/SpO2 原型中。(圖片來(lái)源:Silicon Labs)

除了為 OLED 板增加一個(gè)驅動(dòng)程序和支持服務(wù)外,該 HR/SpO2 應用的擴展版本的軟件應用基本保持不變。前面提到的 HR/SpO2 應用的軟件定時(shí)器增加了對函數 hrm_update_display 的調用,顯示 HR 和 SpO2 數據(列表 2)。

副本

    /* Software Timer event */
    case sl_bt_evt_system_soft_timer_id:
      /* Check which software timer handle is in question */
      if (evt->data.evt_system_soft_timer.handle == HEART_RATE_TIMER) {
        heart_rate_send_new_data(connection_handle);
        break;
      }

      if (evt->data.evt_system_soft_timer.handle == PULSE_OXIMETER_TIMER) {
        pulse_oximeter_send_new_data(connection_handle);
        break;
      }

      if (evt->data.evt_system_soft_timer.handle == DISPLAY_TIMER) {
        hrm_update_display();
        break;
      }
      break;

列表 2:使用該套件和軟件生態(tài)系統,開(kāi)發(fā)者通過(guò)連接顯示屏并在向現有應用的軟件定時(shí)器處理程序中添加一個(gè)函數調用 (hrm_update_display) 之后進(jìn)行很小的軟件改動(dòng),即可為現有的 HR/SpO2 應用添加顯示功能。(代碼來(lái)源:Silicon Labs)
這種可擴展硬件和軟件方法使開(kāi)發(fā)人員能夠快速構建物聯(lián)網(wǎng)的工作應用。由于硬件和軟件都易于添加或刪除,開(kāi)發(fā)人員可以更輕松地探索新的設計方案并評估替代性配置。

結論

電池供電型藍牙物聯(lián)網(wǎng)設備是流行應用的核心,是滿(mǎn)足市場(chǎng)對更多功能和更長(cháng)工作壽命的持續需求的關(guān)鍵推動(dòng)力。對于開(kāi)發(fā)者來(lái)說(shuō),要有效地滿(mǎn)足這些相互沖突的需求,就必須有能力迅速探索新的設計并評估替代性設計概念。使用 Silicon Labs 的開(kāi)發(fā)套件和相關(guān)軟件,開(kāi)發(fā)者可以快速構建原型,根據需要添加和刪除硬件,以滿(mǎn)足特定的應用要求。

來(lái)源:Digi-Key
作者:Stephen Evanczuk
本文地址:http://selenalain.com/thread-783816-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页