要禁用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配置为开漏输出(可减少对系统的影响)。
- 推荐配置:
- 禁用PMS:
PMS_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的故障报告功能,建议仅在测试期间使用,完成后恢复默认配置以确保系统安全监控。
要禁用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配置为开漏输出(可减少对系统的影响)。
- 推荐配置:
- 禁用PMS:
PMS_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的故障报告功能,建议仅在测试期间使用,完成后恢复默认配置以确保系统安全监控。
举报