读取 IMU 和环境传感器的数据
本示例展示了如何使用 C2000™ Microcontroller Blockset 从 BOOSTXL-SENSORS BoosterPack™ 插件模块中的 BMI160 惯性测量单元 (IMU) 传感器和 BME280 环境传感器读取数据。
该示例还展示了如何从连接到 F28379D LaunchPad 的分线板的另一个 BMM150 地磁传感器读取数据。
所需硬件
Texas Instruments™ F28379D LaunchPad。
BOOSTXL-SENSORS BoosterPack™ 插件模块,包含内置的 BMI160 惯性测量传感器、BMM150 地磁传感器和 BME280 环境传感器。
BMM150 地磁传感器位于基于 I2C 的电路板上,可作为分线板连接到 F28379D LaunchPad。
简介
本示例提供了三个 Simulink 模型,它们均使用 TI Delfino F28379D Launchpad 作为硬件板:
c28x_i2c_bmi160_sensor 可帮助您读取 BOOSTXL-SENSORS 模块中 BMI160 和 BMM150 传感器测量的加速度、角速率和磁场。
c28x_i2c_bme280_sensor 可帮助您读取 BOOSTXL-SENSORS 模块中 BME280 传感器测量的数字压力和相对湿度。
c28x_i2c_bmm150_sensor 可帮助您读取连接到 F28379D LaunchPad 的 BMM150 传感器(作为分线板)所测量的磁场。
用于读取 BMI160 传感器和 BME280 传感器数据的模型配置
本示例中提供的从 BMI160 传感器读取数据的模型使用了模块集中提供的相应模块 BMI160。
打开 c28x_i2c_bmi160_sensor 模型。

在模型中的 BMI160 模块中,I2C 模块参数设置为 I2C_A。因此,如果需要更改时钟频率,请更改相应的设置。要执行此操作:
1.转到“硬件”选项卡,然后点击硬件设置打开“配置参数”对话框。
2.前往硬件实现 > Target hardware resources,并选择 I2C_A 选项卡。
3.根据需要编辑数值以更改时钟频率。

4.点击应用,然后点击“确定”。
本示例中提供的另一个用于从 BME280 传感器读取数据的模型使用了模块集中提供的相应模块 BME280。
打开 c28x_i2c_bme280_sensor 模型。

在上述模型的 BME280 模块中,I2C 模块参数设置为 I2C_A。因此,如需更改时钟频率,请按照与 BMI160 相同的步骤更改设置。
您还可以使用 BME280 模块内的高级设置下的不同选项来更改滤波和采样因子的值。
注意:两个模型中每个模块(BMI160 和 BME280)中选择的 I2C 地址参数值与 BOOSTXL-SENSORS BoosterPack 插件模块用户指南的原理图部分中提供的信息相对应。
完成硬件连接并从 BMI160 传感器读取数据
完成 c28x_i2c_bmi160_sensor 模型的配置设置后,请执行以下步骤:
1.将 BOOSTXL-SENSORS 插件模块连接到 F28379D LaunchPad。将 F28379D Launchpad 上的 GPIO104 和 GPIO105 引脚分别连接到 BOOSTXL-SENSORS 上的 J1.10 (SDA) 和 J1.9 (SCL) 引脚,并完成其他必要的连接,如 VDD 和 GND。更多详情请参阅 BOOSTXL-SENSORS BoosterPack Plug-in Module User's Guide 中的 Schematics 部分。
2.将 F28379D LaunchPad 连接到主机。
2.在 c28x_i2c_bmi160_sensor 模型的配置参数窗口中,点击硬件实现,然后导航到目标硬件资源 > 外部模式,并将 MATLAB 首选项中的串行端口参数设置为 Launchpad 连接的相应 COM 端口。COM 端口可在 Windows 系统中通过 Device Manager > 端口(COM 及 LTP)访问。
3.在硬件实现 > I2C_A 窗格中,根据 F28379D Launchpad 的实际硬件连接,选择合适的 GPIO 引脚作为 SDA 和 SCL,以实现与 BOOSTXL-SENSORS 的通信。

4.在 Simulink 模型的硬件选项卡中,点击监控和调节。从诊断查看器中可以看到,代码是为该模型生成的,主机在加载生成的可执行文件后连接到目标。
5.将木板绕其轴线旋转。您可以观察到连接到模块的角速率输出的 Display 模块中显示的值正在发生变化。
6.改变电路板的方向。您可以观察到连接到模块的 Acceleration 输出的 Display 模块中显示的值正在发生变化。
完成硬件连接并从 BME280 传感器读取数据
完成 c28x_i2c_bme280_sensor 模型的配置设置后,按照上一节中描述的步骤 1 到 4 来指定连接并在外部模式下运行模型。
然后,观察连接到模块的压力、温度和湿度输出端口的 Display 模块中显示的值。这些数值与当前的环境条件相符。
用于读取连接为分线板的 BMM150 传感器数据的模型配置
本示例中提供的从 BMM150 传感器读取数据的模型使用了模块集中提供的相应模块 BMM150。
打开 c28x_i2c_bmm150_sensor 模型。

在上述模型的 BMM150 模块中,I2C 模块参数设置为 I2C_A。因此,如需更改时钟频率,请按照与 BMI160 相同的步骤更改设置。
您还可以使用 BMM150 模块中的预设值参数下的不同选项来指定最佳运行条件。
您使用的电路板可以是基于 BMM150 的数字罗盘传感器,它使用 I2C 接口。请参阅电路板的规格说明,了解与 F28379D LaunchPad 的 I2C 连接,并相应地指定 I2C 地址参数的值。
完成硬件连接并从 BMM150 传感器读取数据
完成 c28x_i2c_bmm150_sensor 模型的配置设置后,请执行以下步骤:
1.将基于 I2C 的板与 BMM150 传感器连接到 F28379D LaunchPad,并完成其他必要的连接。
2.将 F28379D LaunchPad 连接到主机。
2.在 c28x_i2c_bmm150_sensor 模型的配置参数窗口中,点击硬件实现,然后导航到目标硬件资源 > 外部模式,并将 MATLAB 首选项中的串行端口参数设置为 Launchpad 连接的相应 COM 端口。COM 端口可在 Windows 系统中通过 Device Manager > 端口(COM 及 LTP)访问。
3.在硬件实现 > I2C_A 窗格中,根据 F28379D Launchpad 的实际硬件连接,选择合适的 GPIO 引脚作为 SDA 和 SCL,以实现与基于 I2C 接口的通信。
4.在 Simulink 模型的硬件选项卡中,点击监控和调节。从诊断查看器中可以看到,代码是为该模型生成的,主机在加载生成的可执行文件后连接到目标。
5.观察连接到模块的磁场输出端的 Display 模块中的当前值。改变板的位置。您可以观察到 Display 模块中显示的值正在发生变化。