找回密码
 注册
关于网站域名变更的通知
查看: 568|回复: 1
打印 上一主题 下一主题

SPI读数异常,不知道出了什么问题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-1-21 15:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
最近做陀螺加速度芯片数据采集驱动编写,遇到一个奇怪的问题,请大家帮忙分析一下。3 f; c1 U! k/ X( R( y* y9 Q# F
起初用的传感器芯片型号是BMI055,单片机STM32F405,使用硬件spi,读写数据均正常。" U$ J: n- y+ g
后将传感器芯片型号换成BMI088,单片机和SPI驱动包括引脚等都不变,仍是硬件spi,发现每次读传感器的寄存器要读两次才能读出来正确的值。
! v, \: I( [( c8 }, X  \6 v5 `7 j; C% a5 @" F- ^

+ e- m1 q% p/ C0 f以读取ACC相关寄存器为例,以下为读取寄存器时序:
, ?$ x, |: ?2 Z6 d
# S- J8 y. h# J; n      读寄存器              应读出结果         实际结果1 V& V! Z# s! @9 Q0 ?0 L/ S
      0x00                   0x1E                0x00
/ H" o& v5 L/ s+ o: e+ ~      0x00                   0x1E                0x1E
: `8 ^$ u. ^! o- B0 T      0x41                   0x00                0x1E
/ t7 ^. u0 @. D# i      0x41                   0x00                0x00- I  |3 ]3 I; c' k( P8 a
      0x58                   0x04                0x004 ^! U, {/ i0 O; R1 x) K) t! |
      0x41                   0x00                0x04
3 k. S, o, \. v; w      0x41                   0x00                0x00
6 c( s. K. b* @) R
& j  e9 Q6 k7 C; g/ R! K/ S& w' b      根据上表,基本上就是每次读的实际结果都是上一次应该读出的结果,也就是滞后一个读取周期。看传感器手册,055和088在通讯配置上并没有什么明显不同的地方。
) x  M* n2 H. b$ J! d      不知道大家有没有遇到过这个问题的,麻烦指导一下这个问题可能是什么原因造成的,感谢!) e& {3 F/ i% i

; v+ C% L& H# T

该用户从未签到

2#
发表于 2020-1-21 16:13 | 只看该作者
可以用示波器看看SPI的时序
% Q% \3 Q: ?5 W. G4 g6 s+ `- Q5 ?; w
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-10-11 12:14 , Processed in 0.156250 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表