用于通用处理平台的FPGA模块的远程调试与更新设计

2020-10-20 13:27刘文政
舰船电子对抗 2020年4期
关键词:以太网调试远程

刘文政,刘 剑

(中国船舶重工集团公司第七二三研究所,江苏 扬州 225101)

0 引 言

目前,基于Open VPX架构的通用处理平台广泛应用于雷达和电子战系统中,平台内部的处理模块也需符合通用化、系列化、组合化的发展趋势。在预处理、信号处理等场景中,现场可编程门阵列(FPGA)处理模块扮演着重要的角色,实现FPGA的远程调试和更新可以提升FPGA开发的效率、灵活性、便捷性和安全性。同时,FPGA的智能加载、功能重构也是通用处理模块需要研究的问题。

传统FPGA的调试和更新一般基于各 FPGA厂商推出的专用下载器,比如平时常用的Xilinx公司的FPGA,调试过程中需要使用该公司的Platform Cable USB下载电缆,在线调试和程序更新需要将FPGA的JTAG调试口通过USB电缆与电缆相连。传统方式存在很大的局限性,比如在舰船装备中,可能在狭小的空间或者高处,调试和更新时需要打开机柜,针对需调试或更新的板卡,插入USB电缆,操作过程不灵活,甚至存在一定的危险性。传统FPGA的加载方式一般在加电后从自身串行或并行的Nor Flash启动程序,功能相对单一,不符合当前通用化、可重构、易扩展的特点。

为此,本文结合通用处理平台的特点,基于Xilinx公司的Zynq7000和大容量eMMC Flash,设计了一套实用有效的远程调试和更新系统,通过以太网来对FPGA模块进行远程在线调试和更新,只需网线与电脑连接,就能实现单对单或者单对多的调试和更新工作。同时FPGA的加载方式也有别于传统方法,程序配置文件通过以太网存到eMMC Flash,通过SelectMap模式从Zynq7000启动。FPGA处理模块可根据通用处理平台的槽位号加载相应程序,以实现智能加载、程序重构的功能。

1 通用处理平台的架构设计

通用处理平台设计基于Open VPX架构,满足通用化、模块化、可重构等特点,符合VITA65规范(12-Slot-BCK6-CEN12-11.2.9-n)[1],架构框图如图1所示。

图1 通用平台的架构图

平台中,中间2个交换模块实现数据传输和以太网交换功能。平台最多可支持10块处理板卡,可根据不同功能选择不同类型的板卡,在某些场景中通用处理模块以FPGA芯片为主。本次设计主要通过千兆以太网来实现 FPGA模块远程调试和更新,PC机只要通过网线与交换模块相连,就可以根据不同的IP地址对机箱内不同的FPGA模块进行操作。

2 FPGA模块的硬件实现

FPGA处理模块的设计也要体现通用化,同时需搭建一套具备以太网调试和更新的环境。FPGA模块主要由V7系列FPGA(单片或多片)、Zynq7000、eMMC Flash等构成,FPGA与Zynq7000的PL部分相连,Zynq7000外挂PHY实现以太网接口,同时存储接口接DDR3用来运行协议栈,大容量eMMC Flash用来存储FPGA的配置程序。通用化的设计框图如图2所示。

图2 FPGA模块的设计架构

2.1 主控制芯片

选用Xilinx公司的Zynq7000系列芯片作为主控制芯片,主要包括PS(Processing System)和PL(Programmable Logic)两大部分。PS部分由双核ARM Cortex-A9处理器、互联接口、内部cashe存储器、扩展外设接口及存储器接口等电路组成;而PL部分则主要为可编程逻辑器件[2]。主控制芯片主要完成以下功能:(1)以太网转JTAG逻辑功能;(2)通过以太网将FPGA的配置程序存入大容量FLASH中;(3)构建FPGA启动环境;(4)可识别槽位地址,完成FPGA智能加载,同时根据报文命令完成功能重构的功能。

2.2 Xilinx虚拟线缆(XVC)

Xilinx虚拟线缆(XVC)是一种基于TCP/IP的协议,其不仅可发挥类似于JTAG线缆的作用,而且还可提供一种无需使用物理线缆便可访问和调试FPGA或Soc设计的方法[3]。Zynq7000芯片PS的GMAC接口实现千兆以太网功能,再通过XVC总线实现通过以太网转JTAG逻辑功能,继续用Vivado工具对FPGA进行调试。

2.3 SelectMap模式

SelectMap模式是一种并行配置模式,是FPGA中速度最快的配置选项,其配置时钟最高可达66 MHz。V7系列FPGA提供8位、16位或32位双向数据总线接口,可以用于配置和回读[4]。其信号定义如表1。

表1 SelectMap模式信号

本次设计中,用Zynq7000芯片配置FPGA,Master或Slave SelectMAP模式都是可以使用的,优先使用Slave SelectMAP模式。其接法示意如图3所示。

图3 Slave SelectMAP模式

2.4 eMMC Flash

本次设计中,存储器没有选用传统的NOR Flash或者NAND Flash,NOR Flash的容量相对较小且读写速度相对较慢,NAND Flash的接口和管理的代码开发相对比较复杂。而eMMC Flash则是把NAND Flash芯片和控制芯片封装在一起的新技术,即在NAND Flash芯片上增加了一个接口控制单元,设计和使用更加简单,降低了开发难度,同时容量和读写速度都能满足应用。

3 流程设计

3.1 远程在线调试流程设计

远程在线调试的实现主要基于XVC协议以及Zynq7 000本身的IP核,流程设计如图4所示。

图4 远程在线调试流程

数据接收模块利用PS本身的RGMII接口和DDR接口来实现TCP/IP协议,接收XVC协议以太网数据包,数据解析模块解析数据后,通过AXI总线进入PL部分AXI_JTAG模块,转换成JTAG时序,从而脱离USB电缆,通过网线在线调试。

3.2 远程更新程序流程设计

Zynq7000通过以太网接收PC机发过来的FPGA的配置文件后,写入到eMMC Flash中,可根据不同地址同时存入多版本的程序。功能的实现主要基于PS本身的接口资源。

图5 远程在线调试流程

3.3 通用FPGA模块的智能加载流程设计

SelectMap模式配置时序如下:

加电后,Zynq7000芯片识别VPX槽位号或者收到报文命令后,读取EMMC FLASH中相对应的FPGA配置程序,根据图6时序,将FPGA的PROGRAM_B、INT_B管脚拉低后,产生CCLK送至FPGA,将配置程序通过并行数据线写入FPGA。程序写入成功后,Zynq7000芯片监测的DONE管脚,如果DONE管脚为高电平则说明FPGA加载成功。加载流程如图7所示。

图6 SelectMAP模式时序图

图7 FPGA加载流程

4 结束语

本文结合通用处理平台的特点,基于Xilinx公司的Zynq7000和大容量EMMC FLASH,设计了一套FPGA模块远程调试和更新系统,提高了FPGA开发效率以及灵活性,同时具备智能加载和功能重构的能力。

猜你喜欢
以太网调试远程
远程求助
远程工作狂综合征
高温气冷堆示范工程TSI系统安装及调试
Microchip推出首款车载以太网音视频桥接(AVB)全集成解决方案
电气仪表自动化安装与调试分析
调试新设备
调试机械臂
三大因素驱动创新提速以太网快步迈入“灵活”时代
三大因素驱动创新提速 以太网快步迈入“灵活”时代
基于ENC28J60的嵌入式以太网/CAN网关设计