主题中讨论的其他器件:BOOSTXL-SENSORS
您好!
我无法通过 I2C 从具有 F28379D LaunchPad 的 BOOSTXL-SENSHUB 上的 MPU-9150传感器正确读取数据。
I2C 设置
我按照 MPU-9150数据表中所述的读取和写入顺序进行操作。 我将 I2C 时钟配置为400kHz。 我用从地址104 (0x68)开始 I2C 通信序列、如下所示-
1) 1)发送0到寄存器地址107 (0x6B)、以将传感器从睡眠模式拉至正常模式。
2) 2)从寄存器地址59 (0x3B)到72 (0x48)连续读取14字节数据(Accel、Temp 和 Gyro)。
电气连接
下面是主设备和从设备之间的电气连接。 我确保 主从器件和从器件的电源和接地是共用的
F28379D LaunchPad
SDA - GPIO104 -引脚10 (J1)
SCL - GPIO105 -引脚9 (J1)
BOOSTXL_SENSHUB
SDA -引脚6 (J2)
SCL - PIN7 (J2)
GND -引脚1 (J2)
3.3V -引脚1 (J1)
问题和解决方法
当我尝试使用 F28379D LaunchPad 读取传感器数据时、数据始终为零。 当我连接示波器并进行检查时、我只能看到 I2C 从器件地址值、其中 SDA 线上的读/写位和 SCL 线上的8个时钟周期。
我尝试了不同的方法来了解问题的根源。 我使用不同的电路板作为主器件从传感器读取数据。 当我使用 F28027 LaunchPad / controlCARD、F28069M LaunchPad / controlCARD 以及 F28379D controlCARD 与 BOOSTXL-SENSHUB 上的 MPU-9150传感器进行通信时、该设置会正常工作。
对于 F28379D LaunchPad、仅当我在主引脚和从引脚之间连接33欧姆串联电阻时、才可以正确读取 BOOSTXL-SENSHUB 上存在的 MPU-9150传感器的数据、如下图所示。 但当我使用其他 LaunchPad 或 controlCARD 时、这不是必需的。
可以帮我解决这个问题吗? 为什么我面临 F28379D LaunchPad 的问题、为什么我需要在主引脚和从引脚之间串联电阻器来使 I2C 正常工作?
谢谢、
Aditya


