
这个部分主要就看MPU9250吧,据说是经典中的经典。
首先是一个奇怪的地方,MPU9250是InvenSense公司的产品,但是他们没有一个传统意义的Datasheet。而是分成了两个部分。一个是《Product Specification》(产品规格书),这个主要是给硬件看的。链接如下:https://cdn.sparkfun.com/assets/learn_tutorials/5/5/0/MPU9250REV1.0.pdf
另一个是《Register Map and Descriptions》(寄存器映射与描述),这个主要是给软件看的。连接如下:https://cdn.sparkfun.com/assets/learn_tutorials/5/5/0/MPU-9250-Register-Map.pdf
要把两个部分拼起来,才是一个完整的Datasheet。(对于MPU9250而言,还有一个部分磁力计,其实来自AKM公司的AK8963,是I2C总线上的一个从设备,完整意义上还有加上它的datasheet,才真正算是完整)
至于MPU9250,我在淘宝也买了一个,比起大部分元器件模块只要10块20块,这玩意要差不多100,也是下血本了。。不明白为什么这么贵。。。
1 简介
首先还是看看简介。

首先就是大概描述了一下功能,里面封装了两个芯片,一个是三轴陀螺仪和三轴加速度传感器,另外一个是三轴地磁传感器。硬件接口依然是I2C(这次看的datasheet,虽然名字略有不同,但是基本上接口全是I2C),里面有一套叫做MotionFusion的独特技术,具体怎么独特,估计后面看了。精度然后里面有16位的ADC,之后介绍了各个传感器的精度。
最后是介绍了工作的温度和电压,然后I2C的频率等。
之后对里面具体的三个传感器做了介绍。包括性能,精度,电流电压等。

2 电气特性
感觉这部分主要还是硬件工程师关注,我这边就简单看看吧。

地磁的大概是这样的,基本上就介绍了不同参数下的输出数据,此外还有一些物理特性,工作温度,启动时间等等。看起来也不仅仅是电子特性。其它两个的内容类似,就不一一写了。
电子特性主要是下面这个表,硬件比较关注。

下面还科普了一下I2C和SPI的时序特点等,这里也不细说了。
3 应用信息
首先还是最重要的pin脚。做原理图的时候要。

又是QFN封装的,对于新手基本上只有买模块了。。。
然后还是贴心的介绍了一下外围电路接法。

然后简单介绍了内部框图。

之后对内部结构做了简要介绍,喜欢科普就看看吧。不看影响也不大。
后面还有一部分就是接口特点,FIFO,中断,电源模式等等。
4 中断和接口
中断和之前看的PMIC基本上页差不多,都是一个INT引脚,然后自己通过I2C去查到底是什么事件,大概有以下这些。

至于接口,相信还是使用I2C居多。这里还是花了5,6页去详细讲了I2C和SPI的通信协议,以及三方外设的接法。
最后是一些数据示意,封装,保存等内容。。。
5 寄存器
这部分是要看《Register Map and Descriptions》。

...
一共就是到7E,一共126个寄存器。主要是加速度和陀螺仪的。
具体内容大概是这样:

以第一个寄存器为例:
它是用来给陀螺仪做硬件级别零偏校准(Zero-Bias Calibration)的。当你的设备静止放置时,如果读出的陀螺仪角速度不为 0(比如由于焊接应力或温漂导致有微小的数值),你把校准后的差值写进这个寄存器,芯片底层就会自动在硬件输出前减去这个偏置。
7:0\]:代表当前这个寄存器的 8 个 Bit 全部被这一个功能占用。X_OFFS_USR\[15:8\],表示整个 X 轴的偏置参数其实是一个 16位(2字节) 的16位有符号整型数据。当前这个寄存器只存放了它的高字节(High Byte),即第 8 到第 15 位。低字节 \[7:0\] 躺在地址为 0x14 的另一个寄存器里。你在写驱动代码时,必须把一个 16 位的校准值拆成两半,分别写入这两个寄存器。 手册给出了两个公式,用来描述你写入的寄存器原始值(Raw Value)与最终在物理世界中产生的实际偏置(dps,度每秒)之间的换算关系。告诉你应该填什么样的值实现较准。 好了,这里就不一个个全部看了,有空再说啦。