FPGA无法下载jic文件到EPCQ/EPCS配置芯片的解决方法

最近新做了一块 FPGA 板子,在调试程序下载时,JTAG 模式下可以下载.sof 文件到 FPGA,但是不能通过 JTAG 下载.jic 文件到 EPCQ64,提示错误:Error (209025): Can’t recognize silicon ID for device 1。

FPGA无法下载jic文件到EPCQ/EPCS配置芯片的解决方法
图 1 Can’t recognize silicon ID for device 1

出现这种情况,无非以下几种原因:

  1. QII 中选择的配置芯片和电路板中的芯片不一致;
  2. 下载线损坏,或者过长;
  3. 配置芯片损坏;
  4. 电路中的 AS 模式中的上拉电阻和下拉电阻是否虚焊,即 MSEL[2..0]模式配置;
  5. nSTATUS 等信号未接上拉电阻。

这里还是先从电路查起,确认电路没有问题,同时也确认.sof 文件转.jic 文件的步骤没有错误。那么,接下来就是测试 EPCQ64 的几个通信引脚。刚好手边也有一块之前的 FPGA 板子,做了测试对比波形,如图 2 图 3 所示。

FPGA无法下载jic文件到EPCQ/EPCS配置芯片的解决方法
图 2 配置 EPCQ 时的时钟信号
FPGA无法下载jic文件到EPCQ/EPCS配置芯片的解决方法
图 3 新板子配置 EPCQ 时无时钟信号

发现新做的这块板子 FPGA 连接 EPCQ64 的几个通信引脚几乎没有信号发出来,因此,猜测 MSEL[2..0]配置出现了问题。

在新的板子中 MSEL[2..0]的配置是根据 Cyclone IV Device Handbook 中的描述来定义的:

Connect the nCONFIG and MSEL pins to support a non-JTAG configuration scheme. If you only use JTAG configuration, connect the nCONFIG pin to logic-high and the MSEL pins to GND. In addition, pull DCLK and DATA[0] to either high or low, whichever is convenient on your board.

Cyclone IV Device Handbook Page 8-47

根据上述的描述,想当然的把 JTAG 下载.jic 文件到 EPCQ64 也当成了 JTAG 模式,所以在新的板子把 MSEL 这几个引脚都下拉了。

其实,JTAG 配置模式是把程序下载到 FPGA 内部的 SRAM 中,AS 配置模式是把程序下载到外部配置芯片中。JTAG 下载.jic 文件到 EPCQ64,JTAG 只是起到桥接的作用——把 JTAG 信号转换成 SPI 信号(EPCQ64),相当于调试器。如果 MSEL[2..0]不配置成 AS 模式,FPGA 就发不出来 SPI 信号。因此,按照 Handbook 中的描述,修改 MSEL[2..0]配置模式为 010,即 MSEL[2][0]为下拉电阻,MSEL[1]为上拉电阻。

FPGA无法下载jic文件到EPCQ/EPCS配置芯片的解决方法
图 4 cyclone iv Handbook MSEL 配置模式

由于板子上同时预留了上拉电阻和下拉电阻,修改之后,下载成功。

扫码关注尚为网微信公众号

尚为网微信公众号
每天学习电路设计嵌入式系统的专业知识,关注一波,没准就用上了。

原创文章,作者:sunev,如若转载,请注明出处:https://www.sunev.cn/embedded/728.html

(11)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月28日 15:00
下一篇 2021年2月20日 15:06

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注