搜索
bottom↓
回复: 38

求助MPU9250 SPI方式读取AK8963的配置方式

[复制链接]

出0入0汤圆

发表于 2014-5-5 12:05:25 | 显示全部楼层 |阅读模式
本帖最后由 SMC 于 2014-5-5 20:37 编辑

Master Mode操作AK8963,还没写读取测量数据的程序,只测了读取WHO AM I,但是一直有问题,不知为何,下面的配置仅仅是为了读取罗盘的ID。
大概思路是:将AK8963的IIC地址写到MPU6500_I2C_SLV0_ADDR中并且是读取模式,将AK8963_WIA写到MPU6500_I2C_SLV0_REG中,只读取一个byte,我去读取EXT_SENS_DATA_00中的数据,一直是0.
{0xCD, MPU6500_I2C_MST_CTRL}, //  Enables multi-master  IIC 400KHz
{0x30, MPU6500_USER_CTRL},        
{AK8963_I2C_ADDR|0x80, MPU6500_I2C_SLV0_ADDR},  
{AK8963_WIA, MPU6500_I2C_SLV0_REG},
{0x81, MPU6500_I2C_SLV0_CTRL},   
{0x09, MPU6500_I2C_SLV4_CTRL},
{0x81, MPU6500_I2C_MST_DELAY_CTRL},
希望有网友可以一起讨论下,SPI模式下读取速度很有吸引力的,大概10us读完所有数据。但目前Master Mode读取AK8963的ID都出错了,进行不下去了。

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2014-5-5 16:32:01 | 显示全部楼层
http://www.amobbs.com/thread-5579616-1-1.html

出0入0汤圆

 楼主| 发表于 2014-5-5 20:55:30 | 显示全部楼层
onev 发表于 2014-5-5 16:32
http://www.amobbs.com/thread-5579616-1-1.html

他这个里面还没给出AK8963的初始化。下面是他自己的描述。
目前版本 v1.0,v1.0 版本 AK8963 部分測試中,v1.2 設計完成,待製作驗證

出0入0汤圆

发表于 2014-5-16 14:42:47 | 显示全部楼层
楼主开始使用9250了?那里买的啊?

出0入0汤圆

 楼主| 发表于 2014-5-16 17:53:11 | 显示全部楼层
xueyulangren 发表于 2014-5-16 14:42
楼主开始使用9250了?那里买的啊?

淘宝。     

出0入0汤圆

发表于 2014-5-30 15:47:44 | 显示全部楼层
楼主问题解决了吗?
我参考了SmartIMU的代码,昨天能够读取 AK8963 ID,今天突然发现读出来全0.
代码应该没动,不知何故。

出0入0汤圆

 楼主| 发表于 2014-5-30 16:16:55 | 显示全部楼层
mqhrzy09 发表于 2014-5-30 15:47
楼主问题解决了吗?
我参考了SmartIMU的代码,昨天能够读取 AK8963 ID,今天突然发现读出来全0.
代码应该 ...

我也是它的代码 ,每次下载进去时候要复位才能准确读取ID,可能是我1号引脚没有接VCC导致。

出0入0汤圆

发表于 2014-5-31 00:06:44 | 显示全部楼层
SMC 发表于 2014-5-30 16:16
我也是它的代码 ,每次下载进去时候要复位才能准确读取ID,可能是我1号引脚没有接VCC导致。 ...

谢谢,复位是指 PWR_MGMT_1这个寄存器 吗?  我明天再试一下

出0入0汤圆

 楼主| 发表于 2014-5-31 10:36:27 | 显示全部楼层
mqhrzy09 发表于 2014-5-31 00:06
谢谢,复位是指 PWR_MGMT_1这个寄存器 吗?  我明天再试一下

{0x80, MPU6500_PWR_MGMT_1},     // Reset Device
{0x01, MPU6500_PWR_MGMT_1},     // Clock Source
就是这样配置的

出0入0汤圆

发表于 2014-5-31 15:21:55 | 显示全部楼层
SMC 发表于 2014-5-31 10:36
{0x80, MPU6500_PWR_MGMT_1},     // Reset Device
{0x01, MPU6500_PWR_MGMT_1},     // Clock Source
就 ...

谢了。我上午试了还是不行。
有点怀疑硬件问题,现在等新硬件回来。

出0入0汤圆

发表于 2014-6-7 14:45:20 | 显示全部楼层
mqhrzy09 发表于 2014-5-31 15:21
谢了。我上午试了还是不行。
有点怀疑硬件问题,现在等新硬件回来。

你的搞定了吗? 我一样读不出AK8963的ID, 我将AUX_SDA AUX_SCL接入逻辑分析仪,发现一个奇怪的问题,无论我是设置SLV0_ADDR是读还是写,在AUX上的都是写入信号,无法产生读信号,而且并没有后续动作。

本帖子中包含更多资源

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

x

出0入0汤圆

 楼主| 发表于 2014-6-7 15:51:33 | 显示全部楼层
moseshao 发表于 2014-6-7 14:45
你的搞定了吗? 我一样读不出AK8963的ID, 我将AUX_SDA AUX_SCL接入逻辑分析仪,发现一个奇怪的问题,无论 ...

你这是高科技啊
我发现这颗芯片的磁场很是让人郁闷,我虽然可以读出ID,但是不能保证每次都能读出ID,大概15%的概率读不出来。

出0入0汤圆

发表于 2014-6-7 16:30:05 | 显示全部楼层
SMC 发表于 2014-6-7 15:51
你这是高科技啊
我发现这颗芯片的磁场很是让人郁闷,我虽然可以读出ID,但是不能保证每次都能读出ID,大 ...

USBEE 山寨版本,便宜好用。
中午去 invensense 看了一下,也是N多人在SPI模式下无法读出。应该是MASTER iic 模式下主动读取可能有什么需要特别设置的没有搞清楚。

出0入0汤圆

发表于 2014-6-17 02:57:03 | 显示全部楼层
moseshao 发表于 2014-6-7 16:30
USBEE 山寨版本,便宜好用。
中午去 invensense 看了一下,也是N多人在SPI模式下无法读出。应该是MASTER  ...

抱歉,我今天才看到。
后面能读出ID了,之前的问题是CS是普通IO,我初始化搞成 GPIO_Mode_AF_PP了。
另外就是,也许debug时读不了ID,但是直接运行时可以。
而且最好断电后再上电试,不然可能 MPU9250在调试过程中挂起了。

出0入0汤圆

发表于 2014-6-17 20:54:28 | 显示全部楼层
mqhrzy09 发表于 2014-6-17 02:57
抱歉,我今天才看到。
后面能读出ID了,之前的问题是CS是普通IO,我初始化搞成 GPIO_Mode_AF_PP了。
另外 ...

我现在的状态很奇怪,读ID是概率性的成功,成功后就一直成功(短暂掉电也可以)。但是如果上电后如果不成功,就必须长时间掉电。 考虑到但是我再SLAVE IIC后面挂接了一个EEPROM,使用MASTERIIC模式读取没有问题,感觉上好像AK8963有时候无法启动一样。
IIC模式也试验了,同样的情况。

出0入0汤圆

发表于 2014-6-19 22:11:44 | 显示全部楼层
搞定了,最终发现是硬件问题, 换模块后一切OK. 但是从试验来看,道理不通。

出0入0汤圆

发表于 2014-6-20 19:38:54 | 显示全部楼层
moseshao 发表于 2014-6-19 22:11
搞定了,最终发现是硬件问题, 换模块后一切OK. 但是从试验来看,道理不通。 ...

硬件具体是什么问题,知道吗?

出0入0汤圆

发表于 2014-6-25 00:46:28 | 显示全部楼层
mqhrzy09 发表于 2014-6-20 19:38
硬件具体是什么问题,知道吗?

应该是加工的时候温度过高损坏了。后来发现了一个很好验证的方法,将芯片上电后,使用SLAVE IIC 的SCL SDA接入 上位机IIC, 如果能读取其中AK的的ID就证明芯片OK的。

出0入0汤圆

发表于 2014-6-25 20:12:02 | 显示全部楼层
moseshao 发表于 2014-6-25 00:46
应该是加工的时候温度过高损坏了。后来发现了一个很好验证的方法,将芯片上电后,使用SLAVE IIC 的SCL SD ...

OK ,谢谢

出0入0汤圆

发表于 2014-8-5 00:22:39 | 显示全部楼层
楼主有把罗盘数据读出来了么?我也一直卡在这个问题上,好几天了。
我现在能读到ID号,但是不能读到xyz数据

出0入0汤圆

 楼主| 发表于 2014-8-5 01:17:43 | 显示全部楼层
maxwelllls 发表于 2014-8-5 00:22
楼主有把罗盘数据读出来了么?我也一直卡在这个问题上,好几天了。
我现在能读到ID号,但是不能读到xyz数据 ...

我能说我早都放弃了这颗芯片吗...传感器噪声过大。

出0入0汤圆

发表于 2014-8-10 17:43:04 | 显示全部楼层
moseshao 发表于 2014-6-19 22:11
搞定了,最终发现是硬件问题, 换模块后一切OK. 但是从试验来看,道理不通。 ...

楼主 我现在也在调试MPU9250:你读取磁力计的方式是I2C的  还是SPI  可以把代码共享一下吗?

出0入0汤圆

发表于 2014-8-19 11:14:29 | 显示全部楼层
SMC 发表于 2014-8-5 01:17
我能说我早都放弃了这颗芯片吗...传感器噪声过大。

是磁场还是加计陀螺噪声大?

出0入0汤圆

 楼主| 发表于 2014-8-19 12:03:26 | 显示全部楼层
rantingting 发表于 2014-8-19 11:14
是磁场还是加计陀螺噪声大?

加计和陀螺

出0入0汤圆

发表于 2014-8-19 13:28:42 | 显示全部楼层

应该和6050差不多啊

出0入0汤圆

 楼主| 发表于 2014-8-19 13:33:15 | 显示全部楼层
rantingting 发表于 2014-8-19 13:28
应该和6050差不多啊

噪声之大出乎你意料

出0入0汤圆

发表于 2014-8-26 20:24:48 | 显示全部楼层
moseshao 发表于 2014-6-25 00:46
应该是加工的时候温度过高损坏了。后来发现了一个很好验证的方法,将芯片上电后,使用SLAVE IIC 的SCL SD ...

上位机II2C? 什么意思你最终是用II2C方式读取成功了,SPI不行?可否分享读取部分代码,或者配置和读取的步骤,谢谢。 目前用II2C方式一次都没成功过……

出0入0汤圆

发表于 2014-9-17 15:12:36 | 显示全部楼层
同样的,一开始读数没问题,后来就都是0了。。。

出0入0汤圆

发表于 2014-10-14 10:10:40 | 显示全部楼层
我原先也有过磁力计读回来的数据都是0,今天解决了,感觉是硬件问题吧。我是用Jlink在线调试的,后来发现如果先断电,再断Jlink,读数正确,如果先断Jlink,再断电,读回来的数据就是0。今天在线调试时误把电源关了,结果在watch窗口发现磁力计数据发生了瞬间的变化,再次调试时发现读数据都正确,不知道为什么。

出0入0汤圆

发表于 2014-12-1 21:04:15 | 显示全部楼层
moseshao 发表于 2014-6-17 20:54
我现在的状态很奇怪,读ID是概率性的成功,成功后就一直成功(短暂掉电也可以)。但是如果上电后如果不成 ...

你好,我现在也正在使用MPU9250.用SPI驱动,但无法读出磁力计,请问当时你是怎么配置MPU9250寄存器的?

出0入0汤圆

发表于 2015-1-23 22:54:16 | 显示全部楼层

你好 你的MPU9250  地磁问题解决好了么,我也卡住了,请教下

出0入0汤圆

发表于 2015-1-23 23:10:01 来自手机 | 显示全部楼层
shangso 发表于 2015-1-23 22:54
你好 你的MPU9250  地磁问题解决好了么,我也卡住了,请教下

官方网站的 mpl库用过没 好像是直接出数据的

出0入0汤圆

发表于 2015-1-24 00:06:27 | 显示全部楼层
LZ解决了么?我读出来的也一直是0.。。

出0入0汤圆

 楼主| 发表于 2015-1-24 00:39:18 | 显示全部楼层
shangso 发表于 2015-1-24 00:06
LZ解决了么?我读出来的也一直是0.。。

早已放弃这个芯片了,问题多多,地磁问题,噪声过大问题。

出0入0汤圆

发表于 2015-1-24 02:12:40 | 显示全部楼层
SMC 发表于 2015-1-24 00:39
早已放弃这个芯片了,问题多多,地磁问题,噪声过大问题。

别的暂且 没发现什么问题 ,主要是被地磁卡住了

出0入0汤圆

发表于 2015-1-24 09:18:50 | 显示全部楼层
lyxer 发表于 2015-1-23 23:10
官方网站的 mpl库用过没 好像是直接出数据的

没用过呢

出0入0汤圆

发表于 2015-3-9 09:21:52 | 显示全部楼层

楼主 MPU9250地磁的倾斜补偿 你用过吗 我补偿出来结果不对啊

出0入0汤圆

发表于 2015-4-12 10:18:59 | 显示全部楼层
楼主,罗盘问题解决了吗,我这也是这情况,mpu9250刚开始罗盘能初始化成功,但复位几次后就读不出来了,需要断电后再上电才可以读写,这什么原因啊

出0入0汤圆

发表于 2016-1-30 19:39:13 | 显示全部楼层
MARK 一下,往后也要用到。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-3-29 02:28

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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