Z7 JTAG故障问题定位过程

Z7 JTAG故障问题定位过程

1.问题概述

单板Z7使用QUAD-SPI BOOT模式,JTAG连接故障,90s后连接正常,90s连接正常后XADC显示电压及温度信息错误,且Z7的INIT_B引脚输出error code。使用JTAG BOOT模式时,可正常连接JTAG且XADC正常。
在这里插入图片描述
INIT_B引脚输出error code

2.故障分析

查看相应手册,得到eFUSE如果被意外编程,则会出现此现象。

3.efuse被改写问题分析

只介绍重点,详细信息查看xilinx手册AR#65240
如果发生以下所有情况,则可能会影响Zynq-7000 SoC PS eFUSE设置的完整性(共三点):
▼不符合建议的开机和关机顺序
▼上电和/或断电期间PS_CLK正在运行
▼PS上电期间未拉低PS_POR_B或断电期间未拉低PS_POR_B
上电复位时序,VCCPINT,VCCPAUX和VCCO_MIO0上电之前必须拉低PS_POR_B,当PS_POR_B在与最后一个PL电源(VCCINT,VCCBRAM,VCCAUX或VCCO_0上电)相关的某个定时窗口内解除置位时,设备进入安全锁定状态并阻止启动。其中Tmax和Tmin的计算方法可参考计算表格。PS_POR_B在此窗口之前或之后拉高均可。
在这里插入图片描述
推荐时序如下所示:
在这里插入图片描述
在VCCPINT达到0.80V之前,PS参考时钟(PS_CLK)必须是无效的,推荐设计如下所示:
在这里插入图片描述

4.查看efuse状态

在XILINX官网下载文件zynq_efuse_read_normal.zip,里面详细介绍了读取efuse内容的方法及步骤,
正常状态如下所示:
在这里插入图片描述
问题板的DFT JTAG Disable为1,处于programmed模式,由此可得知JTAG已经被禁用,而efuse只能被写入一次,项目处于调试阶段,因此最终无法使用JTAG,只能更换新的芯片。

5.说明

芯片并没有损坏,同样也可通过直接烧写FLASH进行调试或网口调试。