USB论坛
直播中

李超

8年用户 1397经验值
私信 关注
[问答]

能否使用 CY8CKIT-002 miniprog3 除调试器通过 I2C 接口对 CCG4 器件进行编程?

能否使用 CY8CKIT-002 miniprog3 除调试器通过 I2C 接口对 CCG4 器件进行编程?

回帖(1)

马占云

2025-6-5 17:48:08

是的,可以使用 CY8CKIT-002 MiniProg3 作为调试器(不仅仅是调试,还可以编程)通过 I2C 接口CCG4 器件 (CYPD4xxx) 进行编程。但这需要满足一定的前提条件和额外的硬件连接/软件配置。


以下是关键点和步骤:


核心前提条件:




  1. CCG4 器件必须处于 Bootloader 模式 (I2C Bootloader):



    • CCG4 出厂时通常预烧录了一个 I2C Bootloader。或者,如果之前是通过 SWD 编程过包含 I2C Bootloader 的固件,那么它也处于可用状态。

    • 如何进入 Bootloader?

      • 通过硬件复位序列:这是最常见的方式。通常需要在特定引脚(如 XRES/RESET)上施加一个复位脉冲(或者上电复位),并在复位释放后的很短时间内(几十毫秒量级)在 I2C_SCL 线上施加一个特定的“启动进入Bootloader”的时序(通常是多个时钟脉冲)。具体时序请查阅最新的 CCG4 DatasheetTechnical Reference Manual (TRM)Bootloader 章节。这是成功的关键一步。

      • 通过软件触发:如果设备当前运行的程序包含一个触发进入 Bootloader 的命令(例如通过 USB PD 消息或 GPIO 触发),也可以进入。





  2. 正确的硬件连接:



    • MiniProg3 I2C 接口连接到 CCG4 I2C 接口:

      • MiniProg3 SDA -> CCG4 I2C_SDA

      • MiniProg3 SCL -> CCG4 I2C_SCL

      • MiniProg3 GND -> CCG4 GND


    • 供电:

      • CCG4 需要由目标板供电(VDDD, VDDA等)。确保目标板电源正常,电压在CCG4工作范围内(通常在1.8V-5.5V)。不需要从MiniProg3取电。


    • 复位/Power Good (可选但推荐):

      • 为了更可靠地控制进入Bootloader,建议将MiniProg3的 VTRG / POWER 引脚连接到 CCG4 的 XRES/RESET 引脚。这允许编程器在启动编程前主动复位目标器件,配合在 SCL 上施加特定时序来进入 Bootloader 模式。


    • 连接器: MiniProg3 的 10-pin SWD 连接器的 SDASCL 通常在第7、第9脚(具体请查MiniProg3手册)。你需要用杜邦线或专用适配线将其连接到目标板的对应引脚。




  3. 软件工具支持:



    • PSoC Programmer: 这是编程 CCG4 的主要工具。

    • 正确设置:

      • 在 PSoC Programmer 中选择正确的编程器: MiniProg3

      • 选择正确的接口 (Interface)I2C

      • 提供正确的 I2C Bootloader Slave Address。默认地址通常是 0x08 (7位地址)。如果不确定,查阅 CCG4 的 Bootloader 文档。

      • 确保选择了正确的器件型号 (例如 CYPD4225-40LQXI 等)。





关键步骤总结:



  1. 硬件准备:

    • 正确连接 MiniProg3 (I2C SDA/SCL/GND) 到目标CCG4板。

    • 确保CCG4有稳定的电源。

    • (推荐) 连接 MiniProg3 VTRG/POWER 到 CCG4 XRES/RESET


  2. 进入 Bootloader 模式 (关键!):

    • 通过硬件复位加特定SCL时序,或者软件命令。这一步失败就无法进行I2C编程。


  3. 软件配置:

    • 启动 PSoC Programmer。

    • 选择 MiniProg3 作为编程器。

    • 设置 InterfaceI2C

    • 输入正确的 I2C Slave Address (默认0x08)。

    • 选择目标 CCG4 型号。

    • 加载你要烧录的固件文件 (.cyacd)。


  4. 编程:

    • 在 PSoC Programmer 中执行 Program 操作。软件会尝试通过I2C接口与CCG4的Bootloader通信并传输固件。



需要注意的限制和挑战:



  • Bootloader 状态: 如果设备从未烧录过固件或之前的固件损坏了Bootloader/Flash,或者固件没有包含I2C Bootloader功能,I2C 编程将完全无法工作。此时必须使用 SWD/JTAG 接口(通常是首选和更可靠的编程/调试方式)。

  • 复位时序要求严格: 进入I2C Bootloader模式的硬件复位序列要求比较精确的时序(SCL脉冲在复位释放后的一个很短的时间窗口内发送)。

  • 速度: I2C Bootloader 的编程速度通常低于 SWD/JTAG,尤其是对于较大的固件映像。

  • 可靠性: I2C 接口是两线制,没有像SWD/JTAG那样的专用调试控制信号。在调试接口(SWD)可用时,一般优先使用 SWD。

  • 应用固件 vs Bootloader: I2C Bootloader 仅在特定条件下(复位序列期间)活跃。正常运行时,设备的 I2C 接口是其应用程序的一部分,编程器无法直接通过 I2C 对 Flash 进行编程,除非应用程序内置了编程命令接口(很少见)。


结论:


是的,可以使用 MiniProg3 通过 I2C 接口对 CCG4 进行编程,但前提是 CCG4 已激活并处于其内置的 I2C Bootloader 模式中。这通常需要精确的硬件复位和 SCL 时序来触发。成功的关键在于正确进入 Bootloader 模式,并在 PSoC Programmer 中正确配置 I2C 接口参数。


补充建议:



  1. 仔细阅读文档: 务必查阅目标 CCG4 器件 (CYPD4xxx) 的 DatasheetTechnical Reference Manual (TRM) 中关于 Bootloader 的章节,了解精确的进入 I2C Bootloader 模式的时序要求。

  2. 尝试 SWD (如果可用): 如果目标板上有 SWD 接口 (SWDIO, SWDCK, RESET, GND),强烈建议优先使用 MiniProg3 的 SWD 接口进行编程和调试。它更稳定、快速、功能更全(支持在线调试)。

  3. 检查板载设计: 确认你的目标板设计将 CCG4 的 I2C 接口(SCL/SDA)引出了连接点。

  4. 固件差异: 确保你烧录的固件是兼容你具体 CCG4 型号的。


总之,技术上可行,但需谨慎操作并满足前提条件。在生产环境或可靠性要求高的场景,使用 SWD 或者专用的编程座通常是更优的选择。

举报

更多回帖

发帖
×
20
完善资料,
赚取积分