atbf中imu数据读取逻辑分析仪抓取

一、说明

使用逻辑分析仪抓区imu的spi和中断io的信号,从而侧面描述atbf在imu上的数据读取方式;

二、硬件说明

1、硬件材料

1、mcu

at32F437开发板

2、imu

icm42688p

3、逻辑分析仪

梦源逻辑分析仪

4、调试器

jlink

2、原理图

在这里插入图片描述

3、实物图

在这里插入图片描述

4、固件版本说明

V4.3.2

二、运行betaflight-configurator

1、电机界面截图

可以看到,imu可以正常读取数据,且陀螺仪的循环时间为125us;

2、status截图

在这里插入图片描述

三、逻辑分析仪截图

1、逻辑分析仪配置

分别设置逻辑分析仪的采样率和spi解码选项;
在这里插入图片描述

2、逻辑分析仪捕获数据截图

(1)中断io时间间隔

可以看到此处的上升沿的时间间隔是8k左右

(2)spi时钟频率

在这里插入图片描述

(3)8k与1K

在这里插入图片描述
上图为逻辑分析仪抓取到mosi的数据;
其中A5表示,此时mcu要读取到的是寄存器0x25的数据,也就是陀螺仪的数据,随后的6个ff,也就是读取陀螺仪6个字节的数据;
而9F表示,此时mcu要读取到的是寄存器0x1F的数据,也就是加速度的数据;
但是,每次需要间隔63个字节,才会读取一次加速度数据,
也就说,每次连续读取8次陀螺仪数据,才会去读取1次加速度数据;
正好也符合陀螺仪数据是8K,而加速度数据是1K的配置;
在这里插入图片描述

(4)先读加速度后读陀螺仪

在这里插入图片描述
大概每次7中断之后,第8次中断会先读取加速度数据,0x9F,
然后再读取一次陀螺仪数据,0xA5;
所以第8次中断间隔的125us中,会有两次spi通信;

(5)spi读取距离中断上升沿不等的现象

在上一篇的imu数据读取的文章中说到,当imu触发mcu的外部中断时,mcu才发起一次dma数据读取;但是从图中可以发现,从下图可以看到,实际的每次的spi数据读取距离中断上升沿的时间都是不同的;
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值