单片机/MCU论坛
直播中

李华瑞

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

如何在TC387中禁用35584的MPS?

我正在运行 TC387 的 TLF35584 数字逻辑测试,但 TC387 上的测试失败。导致失败的原因是 PMS 引脚的激活导致 PORST 被禁用。那么如何禁用 TC387 中的 PMS 引脚?

回帖(1)

秋风宜人

2025-8-6 17:45:43

要禁用TC387中TLF35584的PMS引脚功能,以防止其在测试期间触发复位(PORST失效),请遵循以下步骤。核心思路是通过SPI配置TLF35584的寄存器,禁用其输出控制,而非直接操作TC387的引脚,因为PMS是TLF35584的输出信号。




解决方案步骤:


1. 理解TLF35584的PMS功能



  • PMS(Power Management Status)是TLF35584的输出引脚,用于报告故障状态(如欠压、过压等)。

  • PMS默认为推挽输出,低电平有效。当其拉低时,若连接到TC387的复位引脚(PORST),会导致复位失效。

  • 禁用方法:通过TLF35584的 DEVCTRL 寄存器禁用PMS输出或将其配置为高阻态。


2. 配置TLF35584的DEVCTRL寄存器



  • 寄存器地址: 0x02

  • 关键位:

    • PMS_DIS (Bit 0):

      • 1: 禁用PMS输出(高阻态)。

      • 0: 启用PMS输出(默认)。


    • PSYS_EN (Bit 1):

      • 1: PMS配置为推挽输出(默认)。

      • 0: PMS配置为开漏输出(可减少对系统的影响)。



  • 推荐配置:

    • 禁用PMSPMS_DIS = 1(确保PMS不影响TC387复位)。

    • 改为开漏输出PSYS_EN = 0(可选,双重保险)。



3. 通过SPI写入配置


TLF35584需先解锁安全访问(SAFEKEY)才能修改寄存器:


   // 步骤1: 解锁安全访问 (地址0x0F)
   void write_safekey(void) {
       spi_write(0x0F, 0x5A); // 写入安全密钥0x5A
   }

   // 步骤2: 修改DEVCTRL寄存器
   void disable_pms(void) {
       write_safekey(); // 先解锁

       // 读取当前DEVCTRL值 (地址0x02)
       uint8_t devctrl = spi_read(0x02);

       // 设置 PMS_DIS=1, PSYS_EN=0
       devctrl |= (1 << 0);    // 置位Bit0 (PMS_DIS)
       devctrl &= ~(1 << 1);   // 清零Bit1 (PSYS_EN, 开漏模式)

       // 写入新值
       spi_write(0x02, devctrl);
   }

4. 验证配置



  • 读取 DEVCTRL 寄存器确认值变为 0x01(禁用推挽)或 0x03(保留推挽但禁用输出)。

  • 测量PMS引脚电压:应为高阻态(无驱动电平),不会影响TC387复位线路。


5. 测试期间注意事项



  • SPI时序: 确保TC387的SPI通信速率和时序符合TLF35584要求(参考数据手册)。

  • 恢复配置: 测试结束后将 DEVCTRL 恢复默认值(PMS_DIS=0, PSYS_EN=1),以启用监控功能。

  • 硬件检查:

    • 确认TLF35584的PMS引脚是否直接连接到TC387的复位引脚(PORST)。若是,可在测试时临时断开物理连接(不推荐长期使用)。





根本原因分析


测试失败是由于TLF35584的PMS引脚在检测到某些状态(如电源波动)时拉低,导致TC387的复位信号失效。通过禁用TLF35584的PMS输出,可避免其干扰复位线路。



注意:此操作会临时禁用TLF35584的故障报告功能,建议仅在测试期间使用,完成后恢复默认配置以确保系统安全监控。


举报

更多回帖

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