Xilinx FPGA开发实用经验学习(二)

1、JTAG电路的原理与设计
先说一下JTAG(Joint Test Action Group)。标准的JTAG接口是4线接口,TMS、TCK、TDI以及TDO,分别为模式选择、时钟、数据输入以及输出信号线。JTAG电路的功能模块如下图所示:
Xilinx FPGA开发实用经验学习(二)_第1张图片
JTAG接口常用于实现ISP(In-System Programmable),对Flash等器件进行编程。

JTAG边界扫描电路又称为Boundary Sean Test(BST),一般采用4线接口(5线接口中有一个接口为主复位信号),也可以通过PC的RS232接口就能模拟BST的功能。典型的边界扫描结构如下图:
  Xilinx FPGA开发实用经验学习(二)_第2张图片
IEEE标准所规定BST结构为:当器件工作在JTAG的BST模式时,使用4个专用I/O引脚和一个可选引脚TRST作为JTAG引脚,这4个专用引脚为TDI、TDO、TMS、TCK。
所有基于JTAG的操作都必须同步于JTAG时钟信号TCK,在TCK的上升沿读取或输出有效数据,有严格的建立、保持时间要求,并且JTAG电路追求稳定性,因此一般情况下时钟不会太高。时序图参考下图:
Xilinx FPGA开发实用经验学习(二)_第3张图片
JTAG扫描电路的工作流程为:TMS、TRST 和TCK引脚管理TAP控制器的操作,TDI和TDO为数据寄存器提供串行通道。TDI也为指令寄存器提供数据,然后为数据寄存器产生控制逻辑。对于选择寄存器、装载数据、检测和将结果移出的控制信号,由测试时钟(TCK)和测试模式(TMS)选择两个控制信号决定。在四线接口标准中,利用TDI,TDO,TCK,TMS四个信号,它们合成为TAP测试处理端口(Test Access Port),测试复位信号(TRST,一般以低电平有效)一般作为可选的第五个端口信号。去网上搬一张流程图:
Xilinx FPGA开发实用经验学习(二)_第4张图片

2、FPGA的常用配置电路
Xilinx FPGA的常用配置模式有5类:主串模式、从串模式、Select MAP模式、Desktop模式和直接SPI模式。
1、主串模式是最常用的配置模式
在主串模式(单片)下,由FPGA的CCLK引脚给PROM提供工作时钟,相应的PROM在CCLK的上升沿将数据从D0引脚送到FPGA的DIN引脚。
配置电路的关键点:1)JTAG链的完整性:JTAG连接器、FPGA、PROM的TMS、TCK连在一起,保证从JTAG连接器TDI到TDO之间形成JTAG连接器的闭合回路。
2)电源的适配性:由于FPGA和PROM要完成数据通信,二者的接口电平必须一致,即FPGA相应分组的引脚电压V1必须和PROM V2的输入电压一致。
3)CCLK的信号完整性:CCLK信号是由FPGA内部产生的,对于不同的芯片和电平,对应的I/O电压和最大频率也不一样。
配置多片FPGA时,一般以提供CCLK信号的FPGA为主芯片。

2、SPI串行Flash配置模式
串行Flash的特点是占用引脚较少,作为系统的数据存储非常合适,一般采用串行外设接口。Flash于EEPROM根本不同的特征就是EEPROM可以按字节进行数据的改写,但是Flash只能先擦除一个区间,然后改写内容。一般情况下,这个区间叫扇区。
一个主芯片和一个从芯片的通信接口如下图。FPGA通过SCLK控制双方通信的时序,在SCE为低时,通过MOSI信号线将数据传送到Flash,在同一个时钟周期中,Flash通过SOMI将数据传输到FPGA芯片,无论主从设备,数据都是在时钟电平跳转时输出,并在下一个相反的电平跳转沿送入另外一个芯片。

SCLK
MOSI
MISO
SCE
主机设备
从机设备

其中SCLK信号支持不同的速率,一般采用20MHZ。

剩下的配置模式后面有时间的话专门写一篇详细的吧。

你可能感兴趣的:(fpga)