STM32/STM8技术william hill官网
登录
直播中
王霞
7年用户
1349经验值
私信
关注
[问答]
SPI受传感器芯片影响导致读数异常
开启该帖子的消息推送
SPI
最近做陀螺加速度芯片数据采集驱动编写,遇到一个奇怪的问题,请大家帮忙分析一下。
起初用的传感器芯片型号是BMI055,
单片机
STM32
F405,使用硬件spi,读写数据均正常。
后将传感器芯片型号换成BMI088,单片机和SPI驱动包括引脚等都不变,仍是硬件spi,发现每次读传感器的寄存器要读两次
才能读出来正确的值。
以读取ACC相关寄存器为例,以下为读取寄存器时序:
读寄存器 应读出结果 实际结果
0x00 0x1E 0x00
0x00 0x1E 0x1E
0x41 0x00 0x1E
0x41 0x00 0x00
0x58 0x04 0x00
0x41 0x00 0x04
0x41 0x00 0x00
根据上表,基本上就是每次读的实际结果都是上一次应该读出的结果,也就是滞后一个读取周期。看传感器手册,055和088在通讯配置上并没有什么明显不同的地方。
不知道大家有没有遇到过这个问题的,麻烦指导一下这个问题可能是什么原因造成的,感谢!
回帖
(7)
李娜
2018-10-17 11:05:03
没用过,帮你顶一下
没用过,帮你顶一下
举报
h1654155275.5669
2018-10-17 11:05:18
你可以了解一下spi时序的问题,我感觉是你使用spi模式不对。
你可以了解一下spi时序的问题,我感觉是你使用spi模式不对。
举报
王霞
2018-10-17 11:05:50
受到警告
提示:
作者被禁止或删除 内容自动屏蔽
举报
张华
2018-10-17 11:06:12
最直观的方法就是示波器触发着看,软件单步调试,看问题在哪,根据调试结果来调整你的程序,不然你也不知道你该怎么调整
最直观的方法就是示波器触发着看,软件单步调试,看问题在哪,根据调试结果来调整你的程序,不然你也不知道你该怎么调整
举报
王霞
2018-10-17 11:06:28
受到警告
提示:
作者被禁止或删除 内容自动屏蔽
举报
李斌
2018-10-17 11:06:53
“每次读传感器的寄存器要读两次才能读出来正确的值。”这个虽然楼主你找到问题所在了,但是你一定要注意有些片子datasheet数据格式是16bit的,有些是32bit的,还有24bit的,好好看下datasheet,就知道需要通信几次了
“每次读传感器的寄存器要读两次才能读出来正确的值。”这个虽然楼主你找到问题所在了,但是你一定要注意有些片子datasheet数据格式是16bit的,有些是32bit的,还有24bit的,好好看下datasheet,就知道需要通信几次了
举报
王霞
2018-10-17 11:07:11
受到警告
提示:
作者被禁止或删除 内容自动屏蔽
举报
更多回帖
rotate(-90deg);
回复
相关问答
SPI
对讲机使用时对电容式
传感器
的干扰
2019-10-18
3394
如何稳定
传感器
读数
?
2023-05-10
181
您是否曾经遇过太多IoT之类的
传感器
信息
导致
过多的假警报?
2021-07-02
1286
SPI
读数
异常
是什么原因造成的?
2018-09-27
6788
3线
SPI
和角度
传感器
TLE 5012怎么使用?
2019-09-06
3244
MPX5100DP为什么每个
传感器
读数
不一样?
2023-03-20
199
使用ad7124-8读取内部温度
传感器
的
读数
读出来的数值不是0x800000就是0x0ffffff,为什么?
2024-07-03
2604
机械式
传感器
有什么优缺点?
2020-04-03
4691
传感器
损坏
导致
的多种故障现象
2020-08-14
4043
ADS1248测温容易
受
干扰,
导致
芯片
不输出激励电流,测温错误,怎么解决?
2024-12-13
159
发帖
登录/注册
20万+
工程师都在用,
免费
PCB检查工具
无需安装、支持浏览器和手机在线查看、实时共享
查看
点击登录
登录更多精彩功能!
英国威廉希尔公司网站
william hill官网 版块
小组
免费开发板试用
ebook
直播
搜索
登录
×
20
完善资料,
赚取积分