This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TPS6.5381万A-Q1:TPS6.5381万在开机时卡在安全状态

Guru**** 1178510 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1094126/tps65381a-q1-tps65381-was-stuck-in-a-safe-state-when-power-on

部件号:TPS6.5381万A-Q1

 您好,专家,

 

总结问题:

 

背景:

客户希望TPS6.5381万A始终在诊断状态而不是活动状态下工作,但发现当电源打开时,TPS6.5381万A将卡在安全状态。

与以前的正常设计相比,主要区别在于现在使用IGN唤醒而不是CAN唤醒

 

进度

我检查了电源是否打开,并卡在安全状态。 有以下可能性:

  1. 诊断状态超时         //  大多数汽车工作正常,因此排除了这种情况
  2. ABIST,LBIST或两者都无法启动//这可能是其卡在安全状态的原因
  3. SPI故障 //不确定,是否有好的方法进行验证?

 

  1. 诊断状态超时和(DIAG_EXIT_MASK或DIAG_EXIT)未设置  //  大多数汽车工作正常,因此排除了这种情况
  2. (cfg_CRC_ERR = 1,CFG_CRC_EN被清除为0)
  3. Ee_CRC_ERR
  4. ABIST_ERR    //这可能是它卡在安全状态的原因,请参阅以下测试数据
  5. LBIST_ERR
  6. (在设置DIAG_EXIT之前,WD_FAIL和ERROR_PIN_FAIL标志未被清除为0) //已在客户端软件中设置

 

请帮助评论。

 

初始化软件如下所示:

 

Void TPS6.5381万Init (void)

UINT16温度 = 0;

 

Temp = ReadData (RD_SAFETY_STAT_5);               

IF (Temp == 0x07)                              //诊断状态

   Temp = ReadData(RD_SAFY_FUNC_CFG);        //读取寄存器RD_SAFETY_FUNC_CFG值

   TEMP =(Temp & 0xF7)| 0x10;                //监视器清除,锁扣点火销

   WriteData(WR_SAFETY_FUNC_CFG, Temp );//       禁用看门狗复位功能,锁定IGN引脚

 

   WriteData (WR_SAFETY_ERR_STAT,0x00);        //清除WD_FAIL和ERROR_PIN_FAIL位

   WriteData (WR_DIAG_CFG_CTRL,0x82);          //

    EnVSOUT1();//                                 启用VSOUT1.  

    EnDRV();//                                    启用ENDRV   

    WriteData (WR_DIAG_MUX_SEL,0x20);           // VBATP

   WDConfig(0x7F,0x1F);     //配置TPS6.5381万的打开看门狗和关闭看门狗的时间

   Temp = ReadData (RD_SAFETY_CHECK_CTRL);

   WriteData (WR_SAFETY_CHECK_CTRL,Temp | 0x02);     //掩码退出诊断

}

}

 

以下是测试数据,请帮助分析:

  1. 为什么它卡在安全状态? 1,这是否是由看门狗故障引起的? 此处的详细信息可能是什么?
  2. 为什么2号和3号测试结果如此不同?

 

注册

1号测试数据:

卡在安全状态

打开电源时

2测试A上的数据

普通单板

3测试数据

在普通汽车上

VMON_STAT_1注册

0000

0000

0000

VMON_STAT_2注册

0000

0000

0000

safety_stat_1注册表

0000

0000

0000

SAFETY_STAT_2注册表

0000 0111

0000

0000 0111

SAFETY_STAT_3注册

0000 1100

0000

0000

SAFETY_STAT_4寄存器

0000

0000

0000 1100

安全_STAT_5注册

0000 0100

0000 0111

0000 0111

safety_ERR_STAT寄存器

0000 0010

0000

0011 0000

safety_check_CTRL寄存器

0011 0100

0011 0111

0011 0111

SAFETY_FUNC_CFG寄存器

1011 0101

1011 1101.

1011 0101

safety_BIST _CTRL寄存器

0000

0000

0000

DIAG_CFG_CTRL寄存器

1000 0010

1000 0010

1000 0010

DIAG_MUX_SEL寄存器

0010 0000

0010 0000

0010 0000

safety_CFG_CRC注册

0001 0000

0001 0000

0001 0000

SAFETY_ERR_CFG寄存器

0000

0000

0000

WD_STATUS寄存器

0000

0000

0000

wd_token_fdbk注册

0000

0000

0000

 

对于#1,  当出现ABIST错误时,找出为什么当WD_FAIL_CNT计数为7时WD_ERR未设置为1?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Hangjie:

    我们将继续通过电子邮件讨论此主题。 我现在将关闭此线程。

    此致,

    Layne J