一种基于网络的 FPGA 远程调试加载方法

期刊: 创新科技研究 DOI: PDF下载

王福红 高超

南京科瑞达电子装备有限责任公司 江苏南京 211100

摘要

随着目前军工领域雷达、导航、舰载、电子对抗、软件无线电等板卡及整机中 FPGA、DSP 等芯 片的大量应用,对 FPGA、DSP 的使用及方案架构优化能够有效提高 FPGA、DSP 等器件的系统集成性能, 本文提出了一种基于 XVC 协议通过网络,利用专用加载处理芯片控制 FPGA、DSP 的JTAG 接口对其进行远 程调试和加载的方法。该方法架构简单,易于拓展,同时也提高了可靠性。


关键词

FPGA;远程调试;远程加载;网络

正文


一、引言

近年来,FPGA(现场可编程逻辑门阵列)技术 发展迅速,凭借着高度的灵活性,越来越受欢迎,在 军事、航空航天、通信、工业、人工智能等领域均得 到广泛应用,已俨然成为数字系统的核心。FPGA  基本结构包括可编程输入输出单元,可配置逻辑块, 数字时钟管理模块,嵌入式块 RAM,布线资源,内


嵌专用硬核,底层内嵌功能单元;FPGA 最大特点是 可编程,通过 HDL(硬件描述语言)重新“编程 ”, 实现 FPGA 性能优化或功能改变。

在以 FPGA 为核心的简单的系统中,对其中的  FPGA 的调试、加载都是通过传统  USB-JTAG Universal Serial Bus - Joint Test Action Group)来完 成的[1],这在产品初始阶段非常适用,然而在实际工


 


程应用中特别是军用电子设备,各种产品组装成一个 庞杂的系统时,使用 FPGA 的数量非常多,如需对系 统的多个 FPGA 进行调试、加载、更新时, 常规的调 试、加载方式就显得极其不方便, 在架构和效能方面 都有很大的限制,形成在 FPGA 调试和加载中效率的 瓶颈节点。

二、传统加载模式及缺点

目前采用的传统架构FPGA调试方式包括平台板 卡、FPGA USB Cable、调试 PC 机(运行 ISE、VIVADO 等调试软件)几个部分组成,FPGA 器件与 USB Cable 之间采用排线以插针的方式连接,USB Cable 与调试 PC 机之间以USB线连接;针对这种调试架构和方式, 存在以下几个缺点:

a) 由于传统 USB 下载线缆通过 PC  USB 接口 供电,根据 USB 特性,在线长超过 1.5 米后电平和时 种信号衰减严重,造成连接不稳定等问题。

b) FPGA 固件程序固化速率慢。

c) 单次只能调试一个目标 FPGA:目前方式下的 USB 下载线缆采用一对一的方式,如不经过复杂的电 路设计很难做到同时调试多个目标 FPGA

d) 受调试环境限制较大,整机装配后再调试困 难。

e) 无法实现远程调试加载电路。

三、优化后远程调试加载系统设计

3.1 硬件设计

在单模块中加入一片专用加载芯片(MCU), 以实现通过以太网的方式对 FPGA DSP 等器件的 远程加载功能,同时具备远程在线调试的功能。

该方案下的加载方式,只需要按固定的参考电路 把专用加载处理芯片(MCU)加入到单板或整机设计 中,就可以以网络方式实现对 FPGA 器件的调试和


更新功能, MCU 微控制器通过模拟 JTAG 接口的时 序对 FPGA 进行配置,针对多片 FPGA 进行远程调试 加载的系统框图如图 1.

 

 1 系统框图

系统硬件电路主要由 MCU 微控制器、FPGA 电路、 JTAG 链路模块、SPI 电路组成。MCU 选择海威华芯   公司的 HHD1705001 芯片,一端通过网络与 PC 终端  连接,另一端通过 JTAG 接口传输 JTAG 配置时序,

多片 FPGA  JTAG 采用菊花链的方式串联在一起, 实现多片同时远程调试加载。

远程调试加载时,PC 端使用 XILINX 公司的 CHIPSCOPEIMPACTVIVADO 工具将包含配置的 指令通过网络发送给 MCUMCU 根据 XVC 协议接收 指令并模拟产生 JTAG 时序,FPGA 芯片接收该时序 并完成调试加载。

HHD1705001 芯片是内嵌 ARM Cortex M3   32 位高性能通用微控制器[2]  它采用 ARM 高性 能双总线架构。其中内核最高工作频率可达 72MHz 内置支持 32 位单周期硬件 乘法运算。先进的 ARM Thrum 指令集技术,使 HHD1705001 指令更加精简, 易于程序的设计和调试。

3.2 软件设计

3.2.1  XVC 协议

XVC 协议是XILINX公司推出额一款基于 TCP/IP 的虚拟线缆[3],它可以起到类似与 JTAG 线缆的作用,


 


允许使用者通过网络直接访问 FPGA  JTAG 接口, 并且可对 FPGA 进行高效率的远程调试和加载。Xilinx 针对此协议提出一套基本的参考协议,使用户充分发 挥自身应用特点,通过其灵活的扩展性和可靠的安全 连接,通过编程可用于不同平台。

3.2.2  MCU 软件

本方案使用基于 JTAG 的配置方式,HHD1705001 作为实现 XVC 的控制器,由 HHD1705001 的通用 I/O 管脚模拟 JTAG 接口的 TCKTMSTDITDO。远程 加载时,FPGA 中需要加载一段程序用于引导自身程 序的固化。通过事件触发切换将 SPI Flash 引脚连接  MCU  SPI 接口,实现 SPI Flash  MCU 的网络 下载链路,当 MCU 完成对 SPI Flash 的写操作后自 动触发 FPGA 的加载 Flash 链路,实现 Flash 的正常 启动电路,同时给 FPGA 器件触发复位信号实现启 动。经过对 XVC 协议的充分分析和优化,并优化 HHD1705001 底层机制,采用软硬件结构的方式,优 化相应的指令,使 HHD1705001 芯片及优化后的 XVC 协议形成稳固的整体系统。

四、远程调试加载

利用 VIVADO 调试工具,打开 Open Hardware  Manager 选择 Open target,在“local host”右健选择  Add Xilinx Virtual  Cable ”       IP , 192.168.2.198”为 MCU  IP,需根据实际 IP 更改; “2542”为端口号,无需更改。如图 2 所示,可直接 进行调试加载。

 


2 远程调试示例图

五、结论

综上所述,本方案基于 XILINX  XVC 协议,利 PC 端与 MCU 通过以太网通信,成功实现了对 FPGA 的远程调试和加载。本方案只需一片专用加载 处理芯片,无需其它额外的附加电路,此远程调试加 载方案优势如下:

a) 调试和更新距离不受限制,因采用以太网接口, 用户可 以在很远距离内实现以 IP 的方式对目标  FPGA 的调试和加载。

b) MCS  BIN 文件固化速度快,因整个加载链 路是通过网络数据传输,静态加载芯片以经过硬件优 化的 SPI 接口高速将 MCS /BIN 文件写入到 Flash 中,速率可达到 4MB/s,对照下载 XC7K325T(XILINX 公司的 FPGA 型号)芯片 BIN 文件只需要 3 分钟左 右。

c) 整体远程调试加载方法采用以太网的方式,从 客户端来看,每个 FPGA 器件是以 IP 的形式连接, 可以遵循以太网协议实现组网,通过路由器或交换机 形成网络结构,对矩阵式设备的不移动、不拆卸调试。

在其它系统中应用时,可直接将此方法移植,方 便可靠。随着电子设备的发展推进,通过网络进行 FPGA 的远程调试加载将变得更加普遍。

参考文献:

[1]边界扫描测试技术发展综述,中国知网,2017

[2]HHD1705001 网络传输专用处理电路产品手 册,海威华芯,2018

[3]Xilinx Virtual Cable Running on Zynq-7000 Using the Tools, Xilinx2015


...


阅读全文