赞
踩
MPU925X模块,stm32f103C8T6最小系统板,jlink烧录器,串口调试工具。
MPU925X代表MPU9250(设备ID是0x71),MPU9255(设备ID是0x73),两者除了设备ID不一样,其它都一样。
MPU925X包含了6轴MPU6515和3轴磁力计AK8963。
使用标准的SPI协议,需要四根线(除了VCC和GND):
CS(片选)
SCLK(时钟)
MOSI(主输出从输入)
MISO(主出入从输出)
在这里,“主”是最小系统板,“从”是MPU925X。
上图示MPU9250模块,下图是该模块的原理图
下图是MPU9250引脚的定义
引脚对应关系入下表
参考MPU9250产品手册
1. Data is delivered MSB first and LSB last
数据传输的时候最高位在前,即 MSB First
2. Data is latched on the rising edge of SCLK: 数据在SCLK的上升沿被采样
3. Data should be transitioned on the falling edge of SCLK:数据在SCLK的下降沿传输
SPI有四种模式:模式0,模式1,模式2,模式3(NSS为片选引脚)
CPOL(时钟极性)决定SCK在空闲状态(NCS为高)时的电平。
CPOL = 0,SCLK在空闲状态(NCS为高)时的电平为低电平
CPOL = 1,SCLK在空闲状态(NCS为高)时的电平为高电平
CPHA(时钟相位)是指数据的采样的时刻。
CPHA = 0时,MOSI或MISO数据线上的信号将会在SCK时钟线的“奇数边沿(即1 edge)”被采样。
CPHA =1时,MOSI或MISO数据线上的信号将会在SCK时钟线的“偶数边沿(即2 edge)”被采样。
从上面可以知道,CPHA是决定数据传输的。CPOL可以取0或者1。
当CPOL = 0时,如果要满足上升沿采样,那么CPHA = 0,即模式0.
当CPOL = 1时,如果要满足上升沿采样,那么CPHA = 1,即模式3.
因此对于MPU925X的SPI通讯,选择模式0和模式3都可以。
到目前为止,我们就可在STM32CubeIDE配置SPI了。
如上图所示,CPOL=0(对应配置的Low),CPHA应该等于0,对应配置里面的第一个边沿(1 Edge),这是SPI模式0。
CPOL=1(对应配置的High),CPHA应该等于1,对应配置里面的第二个边沿(2 Edge),这是SPI模式3。
关键的地方时是读写位。发送地址的时候,MSB位是表示读写位的,读(1),写(0)。
总结就是: 发送(R/W + 7位寄存器地址) ,然后马上发送(或读取) 8位数据位。
下一篇再讲讲陀螺仪,加速度计,磁罗盘的一些知识。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。