FPGA菊花链是什么?JTAG链和SPI链接线一次讲明白 来源 : 小宸     2026-10-08

"菊花链"这个词在FPGA圈子里出现频率很高,但很多初学者第一次听到会懵——它到底指什么?简单说,菊花链(Daisy Chain)是一种"首尾相接"的级联结构。在FPGA开发中主要有两个场景:JTAG调试/编程链,和SPI外设级联。前者解决"怎么把程序烧进芯片、怎么在线调试",后者解决"怎么用最少的引脚驱动多个外设"。两条链路逻辑完全不同,但新手经常混在一起问。今天一次说清楚。

FPGA菊花链和JTAG链是一回事吗?

严格说,"JTAG链"就是菊花链在调试/编程场景下的具体形态。多块FPGA开发板通过JTAG接口(TCK、TMS、TDI、TDO、TRST)首尾串联,就形成了JTAG菊花链。信号从链头进入,逐片经过每个器件的移位寄存器,最后从链尾TDO输出。

实际接线注意几点:

TCK和TMS通常所有器件并联共用,TDO到下一片TDI是串联关系;

链上每加一片器件,TDO延迟增加一级,超过5片时信号完整性明显下降,高速调试容易丢数据;

只做配置编程时,不活跃的器件会自动旁路,不影响后续芯片烧写;

上电后先确认链上所有器件的JTAG端口没有冲突,同时做调试和配置的板子要做隔离。

SPI菊花链在FPGA设计中怎么接线?

SPI菊花链和JTAG链完全是两码事。标准SPI是"一主多从",MOSI和MISO共用总线;菊花链SPI则是前一片的MOSI接后一片的MISO,形成单向数据链。

FPGA中常见应用:

级联多颗ADC/DAC:芯片A串行输出接芯片B串行输入,FPGA只需一对线完成整条链的数据读取;

级联EEPROM或CPLD配置链:减少PCB走线,降低引脚占用;

每一级必须加独立片选或使能信号,否则所有器件同时响应,数据直接串位。

时序上最容易踩的坑:每级延迟通常1~3个时钟周期,FPGA收数逻辑的起始采样位要比"第一颗芯片"提前N个周期(N为链上芯片总数)。别凭感觉对,用ILA逐段抓波形确认。

接线实操建议

不管JTAG链还是SPI链,核心原则就两条:

1. 先理清"谁在前、谁在后"。JTAG链顺序决定烧写顺序,SPI链顺序决定数据到达FPGA的时序,搞反了后面全白做;

2. 预留调试接口。JTAG链中间断开方便单独烧某块板子,SPI链每级引出片选方便用ILA逐段定位问题。

在宸极教育的课程里,从JTAG配置流程到SPI级联ADC读取,全部带着学生过实物板卡,不是看一遍视频就算完。

一句话总结:JTAG菊花链管"烧写和调试",SPI菊花链管"多外设省引脚",接线逻辑不同,别混着学。

思考题: 你的项目要级联4颗ADC到FPGA,会选SPI菊花链还是四路独立SPI?各自在时序、布线、调试上的代价是什么?

这些链路设计里的细节——JTAG信号完整性怎么评估、SPI菊花链时序余量怎么算、多片同链烧写冲突怎么解——在公开资料里很难找到能落地的答案。点右下角会话窗口,直接和宸极教育的FPGA讲师一对一沟通。我们的课程从Verilog基础一路打到JESD204B高速接口,21个实战项目全部有板卡验证,有问题就聊,别卡着不动。

未经许可,禁止转载!

上一篇:FPGA连通区域怎么算?逐行扫描+等价合并,别再用暴力逐像素

下一篇:没有了

17788028798

西安宸极教育咨询有限公司版权所有
陕ICP备2023006728号-4

✖

用户登陆

还没账号? 立即注册