[STM32F1] SPI读数异常

[复制链接]
1273|18
 楼主| yinxiangh 发表于 2022-6-18 20:32 | 显示全部楼层 |阅读模式
陀螺加速度芯片数据采集驱动编写,遇到一个奇怪的问题,请大家帮忙分析一下。
起初用的传感器芯片型号是BMI055,单片机STM32F405,使用硬件spi,读写数据均正常。
后将传感器芯片型号换成BMI088,单片机和SPI驱动包括引脚等都不变,仍是硬件spi,发现每次读传感器的寄存器要读两次才能读出来正确的值。
supernan 发表于 2022-6-18 20:34 | 显示全部楼层
还有什么现象?能再详细描述下吗?
 楼主| yinxiangh 发表于 2022-6-18 20:36 | 显示全部楼层

以读取ACC相关寄存器为例,以下为读取寄存器时序:

      读寄存器              应读出结果         实际结果
      0x00                   0x1E                0x00
      0x00                   0x1E                0x1E
      0x41                   0x00                0x1E
      0x41                   0x00                0x00
      0x58                   0x04                0x00
      0x41                   0x00                0x04
      0x41                   0x00                0x00

      根据上表,基本上就是每次读的实际结果都是上一次应该读出的结果,也就是滞后一个读取周期。
wyjie 发表于 2022-6-18 20:40 | 显示全部楼层
看传感器手册
 楼主| yinxiangh 发表于 2022-6-18 20:45 | 显示全部楼层
055和088在通讯配置上并没有什么明显不同的地方。
wyjie 发表于 2022-6-18 20:47 | 显示全部楼层
是不是速度太快了
yszong 发表于 2022-6-18 20:51 | 显示全部楼层
发送 写addr和reg 两个byte 之后要等50ms再去发送 读addr 之后的byte
llljh 发表于 2022-6-18 20:54 | 显示全部楼层
速度是多少?看下读写是否繁忙?
supernan 发表于 2022-6-18 20:57 | 显示全部楼层
看看时序或速率是否有问题。
heweibig 发表于 2022-6-18 21:00 | 显示全部楼层
看芯片资料吧,用过一个AS5048磁角度传感器,资料里就写明了读取的是前一命令的结果,所以用起来觉得很别扭
 楼主| yinxiangh 发表于 2022-6-18 21:02 | 显示全部楼层

硬件上的连接是不是正常
程序的读取速度是不是太快
juventus9554 发表于 2022-6-18 21:04 | 显示全部楼层
很有可能速度快了
wyjie 发表于 2022-6-18 21:08 | 显示全部楼层
稳定后在去读取
pengf 发表于 2022-6-18 21:10 | 显示全部楼层

是否和传感器有关系呢
 楼主| yinxiangh 发表于 2022-6-18 21:12 | 显示全部楼层
唉,还是没有什么结果,算了,多谢大家啦
sparrow054 发表于 2022-6-18 21:22 | 显示全部楼层
一般这种情况,时序的问题比较大
SantaBunny 发表于 2023-3-2 16:32 | 显示全部楼层
用示波器检查接收的波形对不对。 以此排查,是发送不对,还是接收不对。先确定方向。
周半梅 发表于 2024-3-4 07:19 | 显示全部楼层

相反电感量小其阻碍能力也小,它在电路当中抑制的是共模信号
Pulitzer 发表于 2024-3-4 08:22 | 显示全部楼层

在动态测试中,电源的负载能力是最主要的测试参数
童雨竹 发表于 2024-3-4 10:18 | 显示全部楼层

给电源加上额定电压,记录输出电流和电压值
您需要登录后才可以回帖 登录 | 注册

本版积分规则

723

主题

7134

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部