博世加速度計BMA456設計指南

BMA456 是16 位數字三軸加速度傳感器,具有智能片上運動觸發中斷功能,針對可穿戴和耳戴式應用進行了優化。 BMA456 通過不同的配置文件支持不同的高級功能。表 1 顯示了這些功能的概述。

Parameter

BMA456

Digital resolution

16bit

Range and sensitivity

+/-2g: 16384LSB/g

+/-4g: 8192LSB/g

+/-8g: 4096LSB/g

+/-4g: 2048LSB/g

Zero-g offset(typ.)

+/-20mg

Noise density(typ.)

120µg/√Hz

Bandwidths

5Hz …684Hz

Interfaces

SPI & I2C, 2 x digital interrupt pins

Supply voltage

VDD: 1.62 to 3.6V

VDDIO: 1.2 to 3.6V

LGA package(mm3)

2.0 x 2.0 x 0.65

Feature/Interrupts

Step Counter/Step detector

(optimized for wearables)

Activity recognition: running, walking, still

Tilt on wrist

Tab/Double Tab

Any-motion/No-motion

High-g/ low-g

Table 1: Overview BMA456 features


關鍵參數:

  • 2.0 x 2.0 mm² 尺寸
  • 與 Bosch Sensortec 的所有其他 2.0 x 2.0 加速度計引腳對引腳兼容
  • SPI 或 I²C 接口
  • 可配置範圍從±2G到±16g
  • 可配置的輸出數據速率高達 1.6kHz
  • 集成 1kB FIFO
  • 用於連接外部磁力計的輔助 I²C 接口,包括數據同步
  • 內置智能中斷控制器,具有計步器等功能,可為所有佩戴位置(包括腕戴式)提供高性能。


硬體參數:

BMA456 在更小的封裝中提供更高的性能和穩定性。請參閱表 2 中的完整說明

Parameter

BMA456

Units

Height

0,65

mm

Digital resolution

16

bits

Zero-g offset (typ.)

±20

mg

Noise density (typ.)

120

µg/√Hz

TCO (X&Y axis)

0.2

mg/K

TCO (Z axis)

0.35

mg/K

TCS

0.005

%/K

Cross Axis Sensitivity

0.5

%

Table 2: BMA456 parameter value

 

首次上電:

首次為傳感器供電後,初始規格將測試與設備的通信。只需讀取寄存器 0x​​00 中的晶片識別碼即可完成此操作。以下是一些關於如何執行此測試的示例代碼,基於 BMA456,使用 COINES 軟體作為主機。

Here is some sample code on how to perform this test, based on BMA456, using the COINES software as the host.

/*!

 * @brief This internal API is used to initializes the bma456 and verify the

 *communication by reading the chip id.

 *

 * @param[in] void

 * @return void

 *

 */

static void init_comm_test_bma456(void)

{

    int8_t rslt;


              

    struct bma4_dev bma456dev = { 0 };  

    rslt = bma4_interface_init(&bma456dev, BMA4_I2C_INTF, BMA45X_VARIANT);

    rslt = bma456_init(&bma456devbma425dev);

    if (rslt == BMA4_OK)

    {

        printf("BMA456 Initialization Success!\n");

        printf("Test #1: Communication. PASSED. Chip ID 0x%x\n", bma456dev.chip_id);

    }

 

    else

    {

        char err_string[255];

        printf("BMA456 Initialization Failure!\n");

                              

        if (BMA4_E_INVALID_SENSOR == rslt)

        {

             sprintf(err_string, "Test #1: Communication. FAILED. Expected Chip ID: 0x%x. Received 0x%x\n",\

                            BMA456_CHIP_ID, bma456dev.chip_id);

        }

        else

        {

             sprintf(err_string, "Test #1: Communication. FAILED. No response from the sensor.");

        }

                              

        coines_exit_error(err_string);

    }

    coines_delay_msec(100);

}



測試BMA456功能:

BMA4xy 系列加速度計在 ASIC 本身上具有完全集成的靜止自測程序。當自檢被觸發時,加速度計使用電場在各個方向上物理移動電極,感測偏轉並將其與預期輸出進行比較。因此,內置自檢功能是測試傳感器功能的推薦方法。

以下是一些關於如何執行此自檢的示例代碼,基於 BMA456,使用 COINES 軟體作為主機。

/*!

 * @brief This internal API is used to test if the sensor is working by triggering the self-test.

 *

 * @param[in] void

 * @return void

 *

 */

static void function_test_bma456(void)

{

    uint16_t rslt;

    uint8_t testrslt;

 

    rslt = bma4_perform_accel_selftest(&testrslt, &bma456dev);

              

    if ( 0 != rslt ) coines_exit_error("Test #2: Functionnality. FAILED. Unknown communication error\n");

              

if ( BMA4_SELFTEST_PASS == testrslt )

{

        printf("Test #2: Functionnality. PASSED. Sensor self-test successful\n");

    }

else

{

        printf("Test #2: Functionnality. FAILED. Sensor self-test failed\n");

    }

}

 

★博文內容均由個人提供,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★博文作者未開放評論功能

參考來源