littlebot
Published on 2025-04-17 / 0 Visits
0

【源码】基于C语言的EZ PD PMG1 USBPD Sink与DPS310 I2C传感器集成系统

项目简介

本项目基于C语言开发,借助EZ - PD™ PMG1 MCU设备,实现了USB Type - C连接检测与PD合同协商功能。同时,把DPS310温度和压力传感器通过I2C接口集成到PMG1设备上,能够测量传感器数据并通过UART进行传输。

项目的主要特性和功能

  1. USB Type - C与PD功能:借助PMG1 MCU的USBPD模块,检测Type - C连接状态变化,协商电力合同,支持USBPD Sink角色,实现和电源设备的通信及电力获取。
  2. 传感器集成:通过I2C接口和DPS310传感器通信,实现温度和压力数据的测量与读取。
  3. 用户交互:运用GPIO中断逻辑检测按钮按下,依据按钮操作控制Sink FET和用户LED的开关状态,让用户能控制系统状态。
  4. 数据传输与显示:利用TCPWM块生成周期性中断,定期测量传感器数据,并通过UART将数据发送到终端显示。

安装使用步骤

前提条件

确保安装了ModusToolbox™软件v3.0或更高版本(已测试v3.0),且硬件支持包(BSP)的最低版本为3.0.0。

硬件连接

  1. 用USB电缆通过KitProg3 USB连接器把开发板连到PC,用于编程和调试。
  2. 用USB Type - C电缆将USBPD端口连到USB - C电源适配器或PC,为PMG1设备供电。
  3. 把DPS310 Pressure Shield2Go模块的3V3、GND、SCL和SDA引脚对应连接到PMG1开发板。
  4. 若启用UART DEBUG PRINT消息,需将PMG1开发板的UART Tx和UART Rx引脚连到KitProg3,建立UART连接。

软件设置

若没有终端模拟器,需安装一个,文档以Tera Term为例。若启用了UART DEBUG PRINT消息,可用Tera Term查看UART打印消息。

项目创建与使用

方式一:在Eclipse IDE for ModusToolbox™软件中操作

  1. 点击“Quick Panel”中的“New Application”链接(或选“File” > “New” > “ModusToolbox™ Application”),启动Project Creator工具。
  2. 从“Project Creator - Choose Board Support Package (BSP)”对话框列表中选项目支持的开发板。
  3. 在“Project Creator - Select Application”对话框中,勾选相应示例。
  4. (可选)更改建议的“New Application Name”。
  5. “Application(s) Root Path”默认是Eclipse工作区,若要更改应用程序存储位置,可修改该值。
  6. 点击“Create”完成应用程序创建。

方式二:在命令行界面(CLI)操作

使用CLI终端调用“project - creator - cli”工具创建应用程序,示例命令如下: project - creator - cli --board - id PMG1 - CY7110 --app - id mtb - example - pmg1 - usbpd - sink - dps310 - i2c - sensor --user - app - name MyUSBPDSinkDPS310I2CSensor --target - dir "C:/mtb_projects" 若要切换到其他支持的开发板,可使用Library Manager更改BSP。

方式三:在第三方IDE中操作

  • 使用独立的Project Creator工具:启动工具,选BSP,选目标IDE,点击“Create”并按提示导入或打开项目。
  • 使用命令行界面(CLI):先按“在命令行界面(CLI)”部分的说明创建应用程序,然后用make <ide>命令将应用程序导出到支持的IDE,再按终端提示创建或导入项目。

运行项目

  1. 确保完成硬件设置中的步骤。
  2. 将电源选择跳线(J5)的跳线短接片置于位置2 - 3,以启用编程。
  3. 用以下方式之一对开发板进行编程:
    • 在Eclipse IDE for ModusToolbox™软件中:选择应用程序项目,在“Quick Panel”中点击“ Program (KitProg3_MiniProg4)”。
    • 使用CLI:在终端中执行make program命令,若要指定工具链,可使用make program TOOLCHAIN=<toolchain>,例如make program TOOLCHAIN=GCC_ARM
  4. 编程完成后,将电源选择跳线(J5)的位置更改为1 - 2,通过USBPD端口为开发板供电,注意在连接电源时不要更改跳线位置。
  5. 将USB电缆重新连接到KitProg3 USB连接器。
  6. 打开终端程序,选择KitProg3 COM端口,设置串口参数为8N1和115200波特率。
  7. 用USB Type - C电缆将开发板上的USB Type - C连接器(J10)连到USBPD源设备,此时DPS310模块将通电,其红色LED亮起,应用程序将开始打印调试消息。
  8. 按下用户开关(SW2)两秒钟,打开Sink FET并初始化DPS310传感器,开发板上的用户LED(LED3)亮起,应用程序将开始每两秒打印一次DPS310的初始化状态以及测量的传感器温度和压力数据。
  9. 再次按下用户开关(SW2)两秒钟,关闭Sink FET并停止DPS310传感器测量,用户LED(LED3)熄灭。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】