那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

可穿戴設備和物聯網設計的運動跟蹤解決方案

電子設計 ? 來源:互聯網 ? 作者:佚名 ? 2018-08-02 10:22 ? 次閱讀

越來越多的可穿戴設備和物聯網設計將檢測方向和跟蹤運動的能力視為重要要求。盡管已經有各種各樣的可用運動傳感器,但工程師還是不斷受到挑戰,探索以更低的功耗更快、更高效地集成這些設備,這在額外增加傳感器時尤其具有挑戰性。

為應對這些運動跟蹤挑戰,設計人員需要集成度更高的加速計、陀螺儀和磁力儀五金件以及更加高效且智能的數據融合算法

本文將介紹TDK InvenSense提供的同時為硬件和軟件提供幫助的解決方案。然后,本文還將介紹設計人員如何著手將該解決方案應用于簡化需要復雜的運動感應功能的復雜低功耗多傳感器應用的開發。

高效運動跟蹤的挑戰

利用傳統的運動跟蹤方法,開發人員可以同時為硬件和軟件處理重要的集成問題。在硬件方面,開發人員通常會努力在采用單獨的傳感器(包括加速計、陀螺儀和磁力儀)構建的設計中最大限度減少其復雜性、尺寸和零件的數量。軟件工程師則需要特別注意同步各種各樣的傳感器輸出,以創建高級運動跟蹤應用中所用傳感器融合算法所需的統一數據流。對于硬件和軟件開發人員而言,需要在設計中集成額外傳感器類型的應用面臨的挑戰均顯著增加。

但是,使用 TDK InvenSenseICM-20948,開發人員便能夠以最少的工作量快速實現運動跟蹤設計或其他多傳感器系統。

運動跟蹤解決方案

TDK InvenSense ICM-20948 是一種多芯片模塊,尺寸只有 3 mm x 3 mm x 1 mm,它集成了提供完整運動跟蹤解決方案所需的整套傳感器、信號鏈、數據處理和接口電路(圖 1)。

TDK InvenSense ICM-20948 的圖片

圖 1: TDK InvenSense ICM-20948 通過其專用的信號鏈、可編程濾波器、接口電路和數字運動處理器執行運動跟蹤。(圖片來源: TDK InvenSense)

該模塊在全面工作模式下僅需要 3 毫安 (mA) 左右便能實現其全部功能。對于功率受限的應用,開發人員可以關閉模塊的某些部分,從而將完全休眠模式下各階段的電流消耗降低至 8 微安 (μA)。產生的功耗取決于工作電壓 (VDD),根據設計要求,該電壓值可以介于 1.71 伏特和 3.6 伏特。

單獨的信號鏈集成在模塊中,為集成的 3 軸加速計、3 軸陀螺儀和 3 軸磁力儀以及集成的溫度傳感器的每個通道提供支持。每個信號鏈都包括緩沖放大器和一個專用的 16 位模數轉換器 (ADC),以及特定于傳感器的電路,如驅動模塊的霍爾效應磁力儀的電流源

為了提高每種信號鏈的輸出,模塊包括適用于每種進一步傳感器類型的信號調節階段。例如,磁力儀輸出通過算術電路進行基本信號處理,而其他傳感器的輸出各自饋入自動的傳感器特定調節階段,以執行采樣平均等處理功能。開發人員可以將 ICM-20948 設置為平均多達 128 個陀螺儀數據采樣,或者將加速計設置為平均多達 32 個采樣。最終,每個通道的信號調節階段的輸出饋入一組專用的傳感器寄存器中。

ICM-20948 的核心是一個專有的數字運動處理器 (DMP),用于提供各種不同的功能,包括執行運動處理算法、校準和自測試。在正常工作期間,DMP 會處理來自專用傳感器寄存器的數據。然后再將結果存儲在模塊的集成式 FIFO 中,供主機 MCU 通過共享的 I2C 或 SPI 總線訪問。

DMP 和 FIFO 的功能為很多實際應用提供重要功能。很多情況下,應用以相對較慢的速度更新其運動跟蹤結果,甚至允許其主機處理器在更新之間休眠,以降低總功耗。然而,運動跟蹤算法需要的更新速度明顯更高,以確保其在應用請求更新時以最低的延時提供精確的數據。DMP 能夠在不需要主機參與的情況下維持高更新速度,這有助于確保準確性,而不會對主機應用本身的性能或功耗強加額外的要求。

簡單的集成

ICM-20948 結合了小封裝、系統集成功能及主機獨立操作等特點,特別適合在移動設備、可穿戴設備和物聯網設計中使用。模塊的高水平集成意味著,開發人員僅使用三個電容器便可以執行典型的運動跟蹤設計。按照 TDK InvenSense 使用陶瓷 X7R 零件的建議,開發人員將在模塊的 REGOUT 引腳上增加一個 0.1 μF 電容器進行穩壓器濾波,并在其 VDD和 VDDIO引腳上增加一個該電容器用于電源旁通(圖 2)。

添加到基于 MCU 的設計中的 TDK InvenSense ICM-20948 的框圖

圖 2: 設計人員可以將 TDK InvenSense ICM-20948 輕松添加到基于 MCU 的設計中,從而通過 SPI(此處所示)或 I2C 接口連接到 MCU,后者使用相同的配置,但引腳 22 (nCS) 與 VDDIO相關聯。(圖片來源: TDK InvenSense)

雖然 ICM-20948 為運動跟蹤設計提供了近乎直接替代型的解決方案,但很多應用還是對其他傳感器類型提出了要求。為幫助開發人員簡化這些多傳感器設計,ICM-20948 為其他外部傳感器提供單獨的 I2C 接口和內置支持。開發人員在此將兼容 I2C 的智能傳感器連接到模塊的專用輔助 I2C 端口(圖 3)。

TDK InvenSense ICM-20948 模塊的輔助 I2C 接口的框圖

圖 3: 在 SPI(或 I2C)與主機 MCU 連接的同時,開發人員可以使用 TDK InvenSense ICM-20948 模塊的輔助 I2C 接口(AUX_CL 和 AUX_DA)連接外部傳感器,并通過 ICM-20948 的輔助設備專用寄存器管理它們。(圖片來源: TDK InvenSense)

在正常操作中,ICM-20948 將充當 I2C 總線控制器,以與外部傳感器通信。在此模式下,開發人員可編程一組專用的模塊寄存器,以定義外部設備的 I2C 地址、輸出數據地址以及其他的傳輸參數。用此信息,模塊可以將外部傳感器數據讀入其 FIFO 和外部設備數據寄存器中,從而在傳感器 I2C 總線上使用單字節或多字節讀取,而不會涉及到主機 MCU。

ICM-20948 提供專門設計用于協調 ICM-20948 與外部傳感器之間時間的一項額外功能。除了使用模塊的專用中斷 INT 引腳之外,開發人員還可以使用外部傳感器的中斷或同步脈沖驅動模塊的 FSYNC 引腳。例如,在圖像穩定應用中,開發人員可以使用圖像傳感器的幀同步輸出來將圖像數據與 ICM-20948 傳感器讀數同步。使用模塊的 FSYNC_CONFIG 寄存器,開發人員甚至可以將模塊配置為測量外部傳感器 FSYNC 事件與 ICM-20948 數據事件之間的時間,從而在圖像和運動數據間提供更密集的同步。

但是,作為專用的運動跟蹤設備,ICM-20948 缺乏使用一般由主機 MCU 處理的那種設備特定設置操作來配置外部傳感器所需的功能。為簡化系統初始化過程,該模塊提供一種直通模式,以使用集成的接口旁通多路復用器將主機系統處理器直接連接到外部傳感器上。

在直通模式下,該設備使用其集成的模擬開關將輔助 I2C 引腳 AUX_CL(引腳 7)和 AUX_DA(引腳 21)直接以電氣方式連接到主機 I2C 總線(引腳 23 和 24)。該工作模式提供一種簡單的方法,以允許主機處理器處理與每個外部傳感器相關的任何配置和設置要求。初始化后,開發人員禁用旁通多路復用器,以允許 ICM-20948 接管正常操作時的外部傳感器訪問。

快速開發

盡管 ICM-20948 提出了相對簡單的接口要求,但希望評估運動跟蹤解決方案的開發人員甚至可以避免該水平的硬件原型開發。TDK InvenSense 的DK-20948評估板和參考設計提供現成的開發平臺,其結合了主機 MCU、嵌入式調試器、USB 接口和用于增加其他傳感器的多個連接器、無線連接和其他功能(圖 4)。

圖 4: TDK InvenSense DK-20948 板提供一種完整的運動感應設計,其結合了 ICM-20948 模塊與Microchip TechnologyATSAMG55J19BMCU(左側中間)和基于 MicrochipAT32UC3A4256MCU(位于板的后側)的嵌入式調試器。(圖片來源: TDK InvenSense)

DK-20948 板基于 Microchip Technology ATSAMG55J19B MCU,使用 ICM-20948 提供完整的運動傳感器設計。同時,該板包括一個提供嵌入式調試功能的 Microchip AT32UC3A4256 MCU,從而在與主機 ATSAMG55 MCU 結合使用時消除對外部工具的需求。開發人員可以使用該板評估 ICM-20948,在此過程中,無需進一步的硬件工作或者其他定制或可用子板來擴展其功能。開發人員完成其 ICM-20948 評估后,可以使用套件的示意圖、詳細的 BOM 和板設計文件創建定制設計。

對于軟件工程師而言,DK-20948 套件同樣包括用于快速評估和定制開發的選項。對于評估,公司基于 MotionLink GUI 的工具可使開發人員探索不同的配置設置及評估它們對所產生運動數據的影響。然而,對于大多數開發人員來說,套件的軟件開發包將很快成為他們的主要關注點。

定制軟件

對于定制軟件開發,TDK InvenSenseeMD(嵌入式運動驅動器)SmartMotion 軟件包提供應用編程接口 (API) 說明文檔、驅動源代碼、傳感器融合文庫以及預建的 DMP 固件圖像。同時,該軟件包還包括構建和閃現定制固件圖像的工具以及與評估板進行控制臺交互的命令行實用程序。

eMD 軟件平臺設計用于與 Atmel/Microchip Technology Atmel Studio 配合使用,包含兩個 Atmel Studio 包:內核和應用。內核包包含編程和操作 ICM-20948 所需的底層驅動器和固件,以及 DK-20948 板的 Microchip ATSAMG55J19B 主機 MCU 的預建運動算法和 math 文件。

應用包包含一個樣例應用程序,用于演示內核包的使用,包括從頂層應用向下延伸到串行總線交易的主要設計模式。例如,主要的 C 例程展示開發人員如何初始化 ICM-20948 和獲取數據(列表 1)。

int main (void)

{

...

/* Initialize icm20948 serif structure */

struct inv_icm20948_serif icm20948_serif;

icm20948_serif.context = 0; /* no need */

icm20948_serif.read_reg = idd_io_hal_read_reg;

icm20948_serif.write_reg = idd_io_hal_write_reg;

icm20948_serif.max_read = 1024*16; /* max num bytes allowed per serial read */

icm20948_serif.max_write = 1024*16; /* max num bytes allowed per serial write */

icm20948_serif.is_spi = interface_is_SPI();

...

* Setup the icm20948 device */

icm20948_sensor_setup();

/*

* Now that Icm20948 device was initialized, proceed with DMP image loading

* This step is mandatory as DMP image are not store in non volatile memory

*/

load_dmp3();

/*

* Initialize Dynamic protocol stuff

*/

DynProTransportUart_init(&transport, iddwrapper_transport_event_cb, 0);

DynProtocol_init(&protocol, iddwrapper_protocol_event_cb, 0);

/*

* Initializes the default sensor ODR in order to properly init the algorithms

*/

sensor_configure_odr(period_us);

InvScheduler_init(&scheduler);

...

while (1) {

InvScheduler_dispatchTasks(&scheduler);

if (irq_from_device == 1) {

inv_icm20948_poll_sensor(&icm_device, (void *)0, build_sensor_event_data);

__disable_irq();

irq_from_device = 0;

__enable_irq();

}

}

return 0;

}

列表 1: 開發人員可以檢查 DK-20948 eMD SmartMotion 軟件包中提供的示例源代碼,以了解主要設計模式,如示例應用的main.c例程中此代碼片段所列的 ICM-20948 初始化和傳感器輪詢模式。(代碼來源: TDK InvenSense)

編程 ICM-20948 等高度集成的設備時,開發人員很容易發現自己不僅要應付設備的很多配置選項,還要應付高效操作設備所需的大量軟件組件。eMD 內核包通過一系列的抽象(包括軟件結構和服務層)消除了該復雜性。例如,關鍵軟件結構inv_icm20948收集了操作 ICM-20948 所需的所有數據和元數據,包括其串行接口定義(列表 2)。

/** @brief ICM20948 serial interface

*/

struct inv_icm20948_serif {

void * context;

int (*read_reg)(void * context, uint8_t reg, uint8_t * buf, uint32_t len);

int (*write_reg)(void * context, uint8_t reg, const uint8_t * buf, uint32_t len);

uint32_t max_read;

uint32_t max_write;

inv_bool_t is_spi;

};

列表 2: 為幫助降低軟件復雜性,DK-20948 eMD SmartMotion 軟件內核例程提供很多 C 語言結構,這就是其中一個例子,該示例定義 ICM-20948 串行接口的設置及 I2C 或 SPI 交易所需的適當底層讀取和寫入例程的指示器。(代碼來源: TDK InvenSense)

在實例化 eMD 結構及初始化設備本身之后,開發人員可以調用單個例程inv_icm20948_poll_sensor(),以使用inv_icm20948結構實例讀取傳感器和通過 DMP 處理數據。這份記錄齊全的例程有 900 多行,為開發人員詳細演示了操作傳感器、管理 FIFO 和利用 DMP 的核心功能的使用。

有興趣從更基礎的層面了解 ICM-20948 操作的開發人員可以轉向底層內核例程,如設備自測試Icm20948SelfTest.c模塊中使用的例程。在此模塊中,int inv_do_test_accelgyro等例程顯示了控制設備的典型寄存器操作(列表 3)。

static int inv_do_test_accelgyro(struct inv_icm20948 * s, enum INV_SENSORS sensorType, int *meanValue, int *stMeanValue)

{

...

// Set Self-Test Bit

if (sensorType == INV_SENSOR_GYRO)

{

// Enable gyroscope Self-Test by setting register User Bank 2, Register Address 02 (02h) Bit [5:3] to b111

result = inv_icm20948_write_single_mems_reg(s, REG_GYRO_CONFIG_2, BIT_GYRO_CTEN | SELFTEST_GYRO_AVGCFG);

} else

{

result = inv_icm20948_write_single_mems_reg(s, REG_ACCEL_CONFIG_2, BIT_ACCEL_CTEN | SELFTEST_ACCEL_DEC3_CFG);

}

...

}

列表 3: 開發人員可以在 DK-20948 eMD SmartMotion 軟件包中發現演示 ICM-20948 在多個抽象層面使用的例程,包括Icm20948SelfTest.c模塊此代碼片段中顯示的寄存器級訪問。(代碼來源: TDK InvenSense)

在列表 3 中,(相對)高級的inv_icm20948_write_single_mems_reg()函數會調用低級例程inv_icm20948_write_reg(),從而傳遞給常見的inv_icm20948結構實例。該調用會向下傳達到低層,最終到達實際執行寄存器寫入操作的例程中。為執行此操作,該最終低級函數使用軟件初始化期間加載到inv_icm20948_serif串行接口結構實例中的寄存器寫入例程指示器,如前面的列表 2 所示。這種分層方法對于幫助最大限度降低軟件復雜性和最大限度提高性能是必不可少的。

對于開發人員,eMD SmartMotion 架構提供一個在一組一致的關鍵預定義結構上構建的靈活框架。使用 eMD 軟件包,開發人員可以在高水平上工作,從而使用抽象快速執行應用。同時,開發人員可以輕松跳入低層以執行定制功能,而不會失去與更高級軟件的一致性。eMD SmartMotion 軟件包和 DK-20948 開發板一起使用,可以提供全面的平臺來快速開發運動感應應用。

總結

TDK InvenSense ICM-20948 模塊為運動感應提供了完全集成的解決方案。使用相關的 DK-20948 開發套件和 eMD SmartMotion 軟件包,開發人員可以快速構建能夠滿足最低尺寸和功耗要求的運動感應解決方案。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 控制器
    +關注

    關注

    112

    文章

    16448

    瀏覽量

    179474
  • DMP
    DMP
    +關注

    關注

    1

    文章

    45

    瀏覽量

    16775
  • ICM-20948
    +關注

    關注

    4

    文章

    3

    瀏覽量

    5358
收藏 人收藏

    評論

    相關推薦

    大數據推動可穿戴設備的發展

    的前提。 可穿戴設備因為有了大數據的支撐才具有了“智能”,而大數據更是因為有了可穿戴設備的采集數據才真正變成了足夠的“大”,這是天造地設的一雙。不過,光有數據還不行,專注于智能化解決方案的上海順舟
    發表于 09-10 20:55

    可穿戴設備開發相關攻略及主要廠商精選

    `  可穿戴設備作為聯網的重要組成部分吸引了眾多目光。人們所憧憬的便捷、智能化生活正一步步走來,更是給各大業內廠商帶來了巨大的商機?! ?b class='flag-5'>可穿戴設備不僅僅是一種硬件
    發表于 01-04 16:29

    世平-可穿戴設備上微信平臺解決方案

    `世平集團技術團隊已成功完成可穿戴設備經由微信 Wechat API,與廠商服務器進行通訊的功能驗證。推出基于 TI CC254X 可穿戴設備上微信平臺解決方案,為可穿戴設備廠商提供微
    發表于 02-03 23:41

    2015中國(深圳)可穿戴設備應用技術高峰論壇

    頻寬、低功耗且低成本的設計要求,加之聯網應用正如火如荼開展,大大刺激相應測試測量需求跟著水漲船高。本次技術論壇主要亮點包括:吉時利提供可穿戴設備的功耗測試“殺手锏”如何突破復雜的傳統耗電測試
    發表于 08-21 15:09

    可穿戴設備

    確的話,容易出事情。如果數據不準確,基于數據的分析及解決方案都是空談。如果監測慢性疾病的設備,能夠通過CDC健康認證等,則會大大增加用戶的使用信心。可穿戴設備,不是一種品類。它更像是一種傳統事物的升級:手表升級為智能手表,戒指升
    發表于 01-15 08:11

    未來,智能可穿戴設備行業將會是這樣的

    出現更多新的品牌和產品。比如高通在2013年就發布了一款Toq智能手表,通過輕量級的系統實現良好的互動功能。預計芯片廠商會逐漸將可穿戴設備平臺化,推出更方便的解決方案;而由于設計制造可穿戴設備并不像手機
    發表于 04-22 09:09

    低功耗藍牙可穿戴設備創造人機交互新體驗?

    技術打破了傳統的交互模式,使人與智能設備成為一體,提高了人與的整體交互和計算能力,它的誕生給人類提供一種無處不在的計算和無時不有的交互。藍牙可穿戴設備解決方案藍牙
    發表于 09-02 13:13

    探討可穿戴設備的未來

    的數量巨大,安全算法被黑客攻破(使得數據傳輸失去安全性)的風險始終存在。因此,可穿戴設備制造商必須考慮獨立的數據加密措施,比如Dialog針對可穿戴設備解決方案所采取的措施。即使藍牙安全協議被破解
    發表于 12-05 15:01

    聯網時代 智能穿戴設備的挑戰與解決方案

    的數據傳輸服務。本篇SKYLAB君將為大家詳細介紹聯網時代智能穿戴設備的挑戰和解決方案
    發表于 01-06 10:09

    ADI可穿戴設備電源管理解決方案

    解決方案呢?看看ADI亞太區醫療行業市場經理王勝怎么說吧! 迎合電源管理低功耗、小體積及低成本要求“可穿戴設備本身是很寬泛的概念覆蓋各類產品形態,包括傳統便攜設備(如手表),也包括在非設備
    發表于 09-17 10:43

    ON Semiconductor真正可拓展可穿戴設備開發神器

    目前可穿戴設備企業所面臨的困擾?! “采腊雽w以廣泛能力領跑市場  通過對創新技術的長期投入和戰略性收購,安森美半導體已經成長為試算年銷售約50億美元的公司,擁有全面的移動設備電源和數據管理解決方案
    發表于 11-08 10:48

    聯網可穿戴設備對健康的影響

    健康技術市場上有30多萬個應用程序,諸如聯網(IoT)、視頻會議和可穿戴設備等技術趨勢正在廣泛被引入,以使留在家中老人的選擇變得更加可行。 據羿戓信息所了解,預計到2021年,全球將賣出5.05億臺
    發表于 11-20 06:45

    可穿戴設備電源管理方案

    方案選型和產品設計中能有參考。ADI亞太區醫療行業市場經理王勝發表可穿戴設備技術主題演講一張圖看清ADI在可穿戴系統中的功率器件產品鏈
    發表于 12-20 09:30

    可穿戴設備的構成和分類

    近幾年,可穿戴設備市場非?;馃?,人們一致看好可穿戴設備市場。最近Apple Watch的熱銷,讓人們對可穿戴設備的前景更加充滿信心。可穿戴設備種類有很多,并且在不斷延伸,主要分為:應用
    發表于 07-10 06:37

    可穿戴設備是信息共享還是隱私侵犯?

    現如今關于可穿戴設備的所有討論幾乎都涉及到了聯網,以及全方位的連接能帶來的新能力。我們如今仍在聯網這個生態系統的早期階段,但有一些問題必
    發表于 04-30 07:39
    百家乐网上技巧| 安多县| 大世界百家乐娱乐网| 做生意属虎的朝向| 顶尖百家乐官网的玩法技巧和规则| 百家乐官网投注庄闲法| 24山可以正针吗| 百家乐技巧发布| 百家乐手机投注| 百家乐视频中国象棋| 百家乐中B是什么| 百家乐投注方法新版| 做生意什么花风水好| 凯时百家乐技巧| 百家乐赌博怎么玩| 稳赢的百家乐投注方法| 百家乐开户送10彩金| 百家乐赌博工具| 新锦江百家乐娱乐| 网上百家乐赌场娱乐网规则| 百家乐博赌城| 威尼斯人娱乐城位置| 安卓水果机游戏| 元游棋牌官网| 大发扑克娱乐网| 赌场回忆录| 网上百家乐官网公式| 澳门百家乐官网要注意啥| 百家乐官网平台有什么优惠| 杨公先师24山秘密全书| 诚信百家乐在线平台| 百家乐庄闲和各| 澳门百家乐官网| 大发888注册送28| 百家乐网址| 百家乐官网5式直缆打法| 百家乐官网算点子打法攻略| 世嘉百家乐官网的玩法技巧和规则| 百家乐傻瓜式投注法| 澳门百家乐必胜看| 德州扑克吧|