Qmi8658a姿态传感器使用心得(2)linux

1 .COD 原理

COD 支持按需校准陀螺仪的X和Y轴。QMI8658A可以校准陀螺仪的X和Y轴的内部增益,提供更精确的灵敏度和更紧密的灵敏度分布。注意:Z轴不受COD影响。

1.1 运行COD的步骤

  1. 设置CTRL7.aEN = 0 和 CTRL7.gEN = 0 以禁用加速度计和陀螺仪。
  2. 通过CTRL9命令发送CTRL_CMD_ON_DEMAND_CALIBRATION (0xA2)。
  3. 等待大约1.5秒,直到QMI8658A完成CTRL9命令。
  4. 读取COD_STATUS寄存器(0x46)以检查COD执行的结果和状态。

1.2 COD状态

如果COD命令成功执行,COD_STATUS寄存器将输出0x00表示成功。非零值表示不同的失败模式。参阅COD状态寄存器(5.7)的详细信息。

1.3 保存和恢复新的增益参数

在成功运行COD后,新的增益将应用于未来的X和Y轴数据,并将这些参数更新到以下寄存器,供主机读取和保存:

  1. 陀螺仪-X增益 (16 bits) 将存储在dVX_L和dVX_H寄存器 (0x51, 0x52)
  2. 陀螺仪-Y增益 (16 bits) 将存储在dVY_L和dVY_H寄存器 (0x53, 0x54)
  3. 陀螺仪-Z增益 (16 bits) 将存储在dVZ_L和dVZ_H寄存器 (0x55, 0x56)

1.4恢复增益参数

  1. 禁用加速度计和陀螺仪 (设置CTRL7.aEN = 0 和 CTRL7.gEN = 0)。
  2. 将保存的陀螺仪-X增益写入寄存器CAL1_L和CAL1_H (0x0B, 0x0C)。
  3. 将保存的陀螺仪-Y增益写入寄存器CAL2_L和CAL2_H (0x0D, 0x0E)。
  4. 将保存的陀螺仪-Z增益写入寄存器CAL3_L和CAL3_H (0x0F, 0x10)。
  5. 写入0xAA到CTRL9寄存器以执行CTRL_CMD_APPLY_GYRO_GAINS命令。

2. COD状态寄存器

COD_STATUS寄存器地址:0x46

Bits 名称 默认 描述
7 X_Limit_L_Fail 1’b0 0: COD通过低灵敏度检查; 1: COD失败
6 X_Limit_H_Fail 1’b0 0: COD通过高灵敏度检查; 1: COD失败
5 Y_Limit_L_Fail 1’b0 0: COD通过低灵敏度检查; 1: COD失败
4 Y_Limit_H_Fail 1’b0 0: COD通过高灵敏度检查; 1: COD失败
3 Accel_Check 1’b0 0: 加速度计检查通过; 1: 加速度计检查失败
2 Startup_Failed 1’b0 0: 陀螺仪启动成功;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值