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
首次上電:
首次為傳感器供電後,初始規格將測試與設備的通信。只需讀取寄存器 0x00 中的晶片識別碼即可完成此操作。以下是一些關於如何執行此測試的示例代碼,基於 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");
}
}
參考來源