调试之JTAG无法识别FPGA

现象

最近调试两块FPGA板卡时,遇到JTAG无法正常识别设备的情况,现象如下
1、自制XILINX ZYNQ 7000板卡JTAG无法识别到FPGA;
原因:PS_PORB给早了,增加PS_PORB复位时间解决。
2、板卡识别为unknown device;
原因:PS_CLK没给到ZYNQ上,之间有个磁珠未焊接。

问题排查

1、首先检查板上排针引出的JTAG信号TCK 、TDI、TDO、TMS信号波形是否正确,排除是下载器或是cable的问题。未存波形图,可以用示波器对比正常FPGA板卡的JTAG各信号波形。
2、若信号不正常,检测是否JTAG信号和FPGA之间的电平转换芯片存在问题,供电,信号方向,电平匹配。
3、若还是没有问题,就要考虑ZYNQ是否正常工作了,最好从一下三个方面检查:电源,时钟,复位。
① 电源:在使用JTAG启动方式时,要求PS PL电源均上电,各个电源上电时序和电平根据对应芯片DC and AC Switching Characteristics data sheet中叙述可知。
在这里插入图片描述
下图为XC7Z035对应datasheet上电描述,PS PL俩部分独立,可以使用示波器 trigger模式测试两两电源的时序关系是否满足要求。在这里插入图片描述
② 时钟:PS_CLK被连接到多个PLL以便进行倍频到高频时钟提供给系统使用,当然也可以旁路掉PLL直接使用,PS_CLK通常由晶振产生,需要注意其时钟频率是否符合要求(zynq 7000要求30M<PS_CLK<60M)和逻辑电平是否匹配。
在这里插入图片描述
③ 复位:PS端共两个复位引脚。
* PS_POR_B : POR复位,可以实现全局复位,复位所有寄存器。在PS上电时序要求PS_POR_B必须为低电平直到 VCCPINT, VCCPAUX,VCCO_MIO0达到最小工作电平。 在这里插入图片描述
* PS_SRST_B:PS上电过程中可以被上拉至高电平,属于NON_POR复位。
在这里插入图片描述
时序关系: 在这里插入图片描述 一般到这里通常可以解决问题了,如果还是有问题建议检查CFGBVS等特殊配置引脚是否存在问题呢?