ABlaster II 用于Intel FPGA高速编程设备
1. 准备 ABlaster II设备
ABlaster II是用于计算机对接Intel FPGA/CPLD的编程烧录仿真设备。该下载器通过电脑发送数据到FPGA上,通过10P的转接头对接FPGA或者CPLD主板。
ABlasterII 能以下的特点。
l Intel FPGA调试设备和转换系统数据指令。
l 高速模式,最大24MHz,比USB Blaster 快8倍速度。
l 可以用于下载生产文件,高速编程配置的Flash。
l AES数据加密和FUSE编程。
l 高阻态模式,插拔主板能保护芯片。
l 设备低功耗,不发热掉线。
1.1 支持的器件和操作系统
支持下载配置数据如下芯片:
n Stratix 系列芯片如Stratix 10、Stratix V、Stratix IV
n Agilex 系列芯片如Agilex F、Agilex I、 Agilex M
n Arria 系列芯片如Arria 10、Arria V、Arria II、Arria Gx
n Cyclone系列芯片如Cyclone V、CycloneIV、Cyclone III、Cyclone II、Cyclone。
n MAX系列芯片如MAX3000、MAX7000A/B/S、MAX9000、MAX II、MAXV MAX10。
芯片系列指的是一个系列的名称。比如Cyclone 系列,有分支组芯片Cyclone,Cyclone II,Cyclone III,Cyclone IV,Cyclone V,Cyclone 10,其中每个组芯片又可以分支具体封装具体速度的芯片。比如Cyclone IV,可以分支EPC4E22C8或者EPC10E22C8,EPC10F23C8,具体看芯片相关Family Datasheet 手册参考。
可以支持内嵌系统编程芯片如下:
l EPC4,EPC8,EPC16增强型配置芯片
l EPCS1, EPCS4,EPCS16,EPCS64, EPCS/Q128.EPCQ256,EPCQ-L和EPCQL512、EPCQL1024系列配制芯片。
该设备支持目标系统如下:
l 3.3V LVTTL/LVCMOS,1.8 LVCMOS。
l IO电压范围是1.5V-3.3V
1.2软件需求和支持
l Windows 7/8/10(32位、64位)
l Windows XP (32位、64位)
l Windows Server 2008 R2(64位)
l Linux 平台如Red Hat Enterprise 5
要求Quartus Prime 软件版本14.0或者更新的版本来配置设备。
如果要用Quartus Prime 13.1的版本,请安装补丁来全面使用该设备。
该设备支持的工具如下:
l Quartus Prime Programmer( 包括单独编程版本stand-alone)
l Quartus Prime SignalTap II logic Analyzer( 包括单独版本stand-alone)
l JTAG和Debug调试工具JTAG-Server。如下
---SystemConsole
--- NiosII debugger
--- ARMDS-5 debugger
开发软件Quartus下载地址 https://fpgasoftware.intel.com/19.1/?edition=standard
对于单独的烧录软件,选择Additional Software选项卡,选择QuartusPrime Programmer and Tools 。
注意:需要注册个人账户才能下载
1.3 连接ABlaster II
A) 端口目标主板的电源。
B) 连接ABlaster II,通过USB连接电脑。
C) 通过2*5 10P的转接头对接目标主板。
D) 启动目标主板的电源。
基本上FPGA由于断电不能保存,所以需要额外的配置Flash保存数据。图1所示,就是FPGA有2个2X5 2.54mm简易牛角接口,一个是JTAG口,另外一个是AS接口。
JTAG口,用调试命令,内部波形,烧录CPLD,间接烧录Flash。而AS接口是用于配置Flash单独烧录,相比JTAG间接烧录,优势在于可以回读外部Flash内容。
图1 FPGA基本接口模型。
侧面测试指示灯,指示电源供电,目标板供电情况。
图2 侧面指示灯定义
1.4 安装 ABlaster IIWindows 7/8/10 驱动
首先要确认,要用管理员身份登录,来安装驱动。
ABlaster ii 设备驱动是包含在QuartusPrime 软件安装文件中。在你安装,查看驱动的位置一般都在 :\(quartus 安装目录)\drivers\usb-ABlaster-ii
1) 第一步,通过USB连接好ABlaster II。
当第一次插入设备,系统可能回弹出,“设备驱动未成功安装”
2) 打开设备管理器,找到其他的设备栏目中,展开目录,USB-ABlaster II黄色感叹号。
需要安装两个设备的驱动,一个JTAG interface,另外一个是SystemConsole interface 。
3) 右键选择菜单,选择“更新驱动软件”,然后更新驱动软件-USB ABlaster II 对话框显示
4) 选择“从我的计算机选择驱动”,继续
5) 从“浏览”,找到目录文件 :\(quartus 安装目录)\drivers\usb-ABlaster-ii。选择“确认”
6) 点击“下一步”安装驱动
7) 当被问是否选择安装,点击“安装”
安装完成,会显示如下设备
8) 然后安装另外一个设备,回到第二步,重复过程安装另一个驱动。
全部安装完成,可以看到设备管理器增加一个“USB -ABlaster II(JTAG interface)”在JTAG cables栏目下。
1.5 在linux安装ABlaster II
对于linux,支持ABlaster II 在RED Hat Enterprise 5,6 和7版本。
为了能操作设备,Quartus Prime 软件使用内建 Red HatUSB 驱动,USB文件系统(usbfs).默认模式下,只有root用户才允许使用usbfs。必须用系统管理权限来配置下载驱动。
1) 创造一个文件,文件名是 /etc/udev/rules.d/51-usblalster.rules ,并且如下代码:(该.rules 因为之前安装USB ABlaster,文件可能存在)
如 Red Hat Enterprise 5 或者更高的版本
# Intel FPGA Download Cable II
SUBSYSTEMS=="usb", ATTRS{idVendor}=="09fb",ATTRS{idProduct}=="6010", MODE="0666"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="09fb",ATTRS{idProduct}=="6810", MODE="0666"
注意:必须是三行内容,第一行是注解,第二三行是总线模式。不要增加额外的信息。
2)在Quartus Prime 软件,设定ABlaster II设备,详见“设定ABlaster II 设备”
1.6 在Windows XP系统安装ABlaster II
要求用管理员账户来安装驱动。ABlaster ii 设备驱动是包含在QuartusPrime 软件安装文件中。在你安装,查看驱动的位置一般都在 :\(quartus 安装目)\drivers\usb-Blaster-ii
1.7 建立ABlaster II
1) 启动Quartus Prime 软件
2) 在工具栏,选择Programmer
3) 点击 Hardware Setup
4) 点击 Hardware Settings 选项
5) 从Currently selectedhardware 列表中,选择USB-Blaster II
6) 选择 Close 关闭
7) 在MODE列表中,选择选定的编程模式
MODE(模式) | 模式描述 |
JTAG模式 | 用Quartus Prime软件,通过JTAG接口编程或者配置全部的芯片 |
In-Socket 编程 | 不支持 |
Passive Serial Programming | 配置增强型的配置芯片EPC和串行芯片EPCS/EPCQ/EPCQL |
Active Serial Programming | 配置单个EPCS1,EPCS4, EPCS16,EPCS64, EPCS/Q128,EPCQ256, EPCQ-1,EPCQ512,EPCQ1024芯片 EPCQL256,EPCQL512,EPCQL1024 |
2.设定 ABlaster II设备
2.1 电压需求
ABlaster II的VCC 引脚必须要连接特定电压。确保目标板和ABlaster II的VCC是一样的。
芯片家族 | ABlaster II VCC需求 |
Arria GX | VCCSEL |
Arria II GX | BANK 8C的VCCPD 或者VCCIO |
Arria V | BANK 3A的VCCPD |
Arria 10 | VCCPGM 或者VCCIO |
Cyclone III | VCCA 或者VCCIO |
Cyclone IV | GX的BANK 9的VCCIO, E系列 BANK 1 的VCCIO |
Cyclone V | BANK 3A的VCCPD |
EPC4, EPC8, EPC16 | 3.3V |
EPCS1, EPCS4, EPCS16, EPCS64, EPCS128 | 3.3V |
EPCS/Q16, EPCS/Q64, EPCS/Q128, EPCQ256, EPCQ512 | 3.3V |
EPCQ-L | 1.8V |
MAX II, MAX V | BANK 1 VCCIO |
MAX 10 | VCCIO |
Stratix II, Stratix II GX | VCCSEL |
Stratix III, Stratix IV | VCCPD 或者VCCPGM |
Stratix V | BANK 3A的 VCCPD |
2.2连接插头
如下图,接头的描述,2.54mm 2X5P 带鼻排母。
2.3 10PIN的母头信号定义和编程模式
PIN | AS(Active Serial ) 模式 | PS(Passive Serial ) 模式 | JTAG模式 | |||
信号名称 | 描述 | 信号名称 | 描述 | 信号名称 | 描述 | |
1 | DCLK | 配置时钟 | DCLK | 配置时钟 | TCK | 测试时钟 |
2 | GND | 信号地 | GND | 信号地 | GND | 信号地 |
3 | CONF_DONE | 配置完成 | CONF_DONE | 配置完成 | TDO | 测试数据输出 |
4 | VCC | 目标供电 | VCC | 目标供电 | VCC | 目标供电 |
5 | nCONFIG | 控制配置 | nCONFIG | 控制配置 | nCONFIG | 控制配置 |
6 | nCE | 芯片选能 | - | 无 | PROC_RST | ARM处理器复位 |
7 | DATAOUT | AS数据输出 | nSTATUS | 配置状态 | - | - |
8 | nCS | 串行配置芯片选能 | nCS | 串行配置芯片选能 | - | - |
9 | ASDI | AS数据输入 | DATA0 | PS模式输入 | TDI | 测试数据输入 |
10 | GND | 信号地 | GND | 信号地 | GND | 信号地 |
在JTAG模式,6引脚用于热复位HPS。由于PROC_RST 低有效,不是开漏输出,所以建议不要跟HPS_nRST 信号连接。可以连接外部配置CPLD的如MAX V,然后通过MAX V去管理HPS端的复位。
2.4 PCB设计接头
10 PIN的简易牛角座,来连接ABlaster ii的母头连接。
如下图所示,要求带防呆接口设计
建议用通孔排针的连接器,相比表面贴装的要稳定。
2.5 时序图
BLASET II为了满足最大性能24MHz,需要满足以下时序约束条件。时序约束要求考虑线缆和FPGA之间的传输长度。如果不满足时序要求,可以改变TCK的频率。具体参考命令说明。
JTAG时序约束
名称 | 参数 | 最小 | 最大 | 单位 |
tCP | TCK 时钟周期 | 41.67 | - | ns |
tJCH | TCK 时钟高电平 | 20.83 | - | ns |
tJCL | TCK时钟低电平 | 20.83 | - | ns |
tJPCO | JTAG 端口时钟到接头输出 | - | 5.46(2.5V) 2.66(1.5V) | ns |
tJPSU_TDI | JTAG TDI建立时间 | - | 24.42 | ns |
tJPSU_TMS | JTAG TMS建立时间 | - | 26.43 | ns |
tJPH | JTAG 保持时间 | - | 17.25 | ns |
如果不满足24MHz,必须降低时钟在16-6MHz,下面设定TCK在6MHz的例子。
jtagconfig --setparam 1 JtagClock 6M
2.6 改变TCK的时钟
ABlaster II 默认TCK时钟是24MHz,然而有些设计不满足时钟24MHz,需要改变TCK的时钟。
1). 在Quartus Rrime "BIN"目录下,:\(quartus 安装目录)\quartus\bin64,CMD 切换该目录下。
2). 输入如下的指令:
jtagconfig --setparam <cable number>JtagClock <frequency><unit prefix>
l <cable number> 是代表下载设备的标号。
l <frequency> 是TCK的频率。只能支持以下速率要求
- 24MHz
- 16MHz
- 6MHz
-24/n MHZ( 在10KHz 和6MHz,n是整数值)
l <unit prefix> 是频率的单位(例如 MHz 是M,KHz是K)
例子如下:
jtagconfig --setparam 1 JtagClock 6M
2.6 改变TCK的时钟
ABlaster II 默认TCK时钟是24MHz,然而有些设计不满足时钟24MHz,需要改变TCK的时钟。
1). 在Quartus Rrime "BIN"目录下,:\(quartus 安装目录)\quartus\bin64,CMD 切换该目录下。
2). 输入如下的指令:
jtagconfig --setparam <cable number>JtagClock <frequency><unit prefix>
l <cable number> 是代表下载设备的标号。
l <frequency> 是TCK的频率。只能支持以下速率要求
- 24MHz
- 16MHz
- 6MHz
-24/n MHZ( 在10KHz 和6MHz,n是整数值)
l <unit prefix> 是频率的单位(例如 MHz 是M,KHz是K)
例子如下:
jtagconfig --setparam 1 JtagClock 6M
3.包装订货信息
3.1 产品包装
3.2 订货信息
产品型号 |
SZFPGA ABlaster II |