摘要:网络通信设备在客户现场部署后,客户需求变化了或者设备有些待修复问题,经常会面临FPGA(Field Programmable Gate Array)版本管理与升级的技术需求。研究FPGA版本管理与升级机制是提高网络演进能力的关键技术之一,高可靠性的设计与快速实现无疑具有重要的实践意义。该文提出了一种FPGA版本智能数字引导升级的方法,该方案已在数据中心通信设备中实现,仿真和测试结果表明该方案具有优越的升级性能。
关键词:网络通信;FPGA版本管理与升级;智能化设计
doi:10.3969/J.ISSN.1672-7274.2024.07.037
中图分类号:TP 393 文献标志码:B 文章编码:1672-7274(2024)07-0-03
Design of FPGA Version Intelligent Management and Upgrade Technology Solution
TANG Shiqing
(Shanghai Nokia Bell Software Co., Ltd., Shanghai 201206, China)
Abstract: After the deployment of network communication equipment at the customer's site, if the customer's requirements change or the equipment has some issues that need to be repaired, it often faces the technical requirements of FPGA (Field Programmable Gate Array) version management and upgrading. Studying FPGA version management and upgrade mechanisms is one of the key technologies to improve network evolution capabilities, and the design and rapid implementation of high reliability undoubtedly have important practical significance. The article proposes a method for FPGA version intelligent digital guidance upgrade, which has been implemented in data center communication equipment. Simulation and test results show that this scheme has superior upgrade performance.
Keywords: network communication; FPGA version management and upgrading; intelligent design
1 研究背景
随着5G大规模商用部署的实现,对于光传送网(Optical Transport Network,OTN)的带宽、时延和保护性能提出了更高的要求[1]。不断演进保护技术是提高网络生存能力的关键技术,研究FPGA版本管理与升级机制,提高FPGA版本保护的可靠性和快速性,在实践上有着重要的意义。当前的电信设备业务板卡上有多个FPGA器件如Intel Cyclone V、Arria V等,选择可靠加载方案非常必要。在实验室环境下FPGA版本加载,可以采用JTAG(Joint Test Action Group)加载方式,如SOF(SRAM Object File)文件格式,其优点是接口简单,而其缺点是依赖硬件连线、远程操作不方便等[2]。在软件环境下,可以采用CPU(Central Processing Unit)模拟方式,如模拟JTAG或者SPI(Serial Peripheral Interface)总线[3],这种方式优点是灵活、不依赖硬件设备,其缺点是加载速度慢、不容易恢复等。PCIE(Peripheral Component Interconnect Express)加载FPGA方式,其优点是速度快[4],但是PCIE IP(Intelligent Property)硬件成本较高、控制复杂。上述FPGA版本升级技术方案总结见表1。本文提出了一种智能FPGA数字引导升级技术的方案,是一种自治决策、自我管理、高可靠性、远程升级便捷FPGA加载方式,其能够减少FPGA版本切换和升级时间,更好地满足低延时、高速率、大带宽、可靠性等客户需求。
2 FPGA版本管理与升级控制智能化设计
2.1 FPGA版本智能双启动
一个智能双启动FPGA版本管理包含一个工厂测试版本和一个客户应用版本。FPGA外接FLASH储存一份工厂测试版本和至少一份客户应用版本。上电后,FPGA工作在工厂测试版本,然后自动切换到客户应用版本。如果加载客户应用版本失败或者缺失,则返回到工厂测试版本,这样避免设备脱离网络控制。版本的编码关联到相关控制信号,然后输入到FPGA版本管理与升级智能控制器。智能控制器根据这些输入信息结合当前状态,发出自主控制动作,同时提供管理报文信息,其原理如图1所示。
2.2 FPGA多版本管理与智能决策
FPGA多版本管理与智能决策,支持7个FPGA应用版本,版本智能切换升级,适配不同外部接口应用,如图2所示。
一个智能FPGA版本管理与控制设计,包括工厂版本配置决策、版本数字引导、看门狗定时器、应用版本系列配置、以及控制信息。如果配置错误或者重选版本,由智能控制器自动决策,进行配置和升级。工厂版本配置决策,根据版本数字号引导,结合当前的工作状态,得出下一工作状态,再查看看门狗定时器状态信息,然后选择应用版本。应用版本控制选择版本1至7,智能切换不同的版本配置。如果配置错误或者加载失败,则FPGA将恢复到工厂版本。来自各应用版本配置错误信号,产生的反馈信号到工厂版本决策控制器。看门狗定时器模块防止版本错误或者系统崩溃。版本数字引导,可以自治完成版本升级,降低客户的维护成本。
2.3 FPGA版本智能多选设计
2.3.1 智能多选设计
通过数字化版本号引导,抽象化方式实现智能多选设计。将各FPGA应用版本数字化编码,如3’b000:对应FPGA工厂版本,3’b001:对应FPGA应用版本1,以此类推,3’b111:对应FPGA应用版本7,如图3所示。这样,FPGA版本灵活分配和智能管理。不同应用场景中,业务芯片接口会有不同,这时只需要适配版本编码,不需要对整个FPGA进行改动。
FPGA工厂版本主要完成工厂生产测试基本需求,而应用版本1至7适用不同的功能需求。在上电后,FPGA工作在工厂版本,然后根据版本账号自动选择应用版本1至7,这样更好满足客户快速升级需求。
FPGA与flash之间接口有时钟线CLK、片选线CS、数据线DATA0或者DATA0~DATA4。可以选择SPI X1或者QSPI X4模式。设计方案可以工作频率如100 MHz,X4模式带宽高达400 Mbps。一般10 M字节FPGA版本,0.2 s可以完成烧写。
一个客户板卡与网元内多个板卡协同工作,因此存在FPGA控制信息传输链路。FPGA版本控制器与CPU通过总线连接,然后通过以太网接口与网络服务器通信,这样建立了通信链路。
图3 FPGA多版本的管理与升级设计
2.3.2 FPGA智能双启动网元测试
智能双启动网元测试,如图4所示,网元NE1(Network Element)和NE2构成子网(sub network)连接,客户设备分别与网元NE1和网元NE2相连接。FPGA智能双启动工厂测试或者客户应用模式,二者存放在芯片不同地址空间。网元启动工厂测试版本,用于工厂生产测试。也可启动不同应用版本,满足客户差异化测试。
图4 网元设备智能双启动互联测试
2.4 FPGA版本智能管理与升级测试
FPGA版本智能化,支持七个应用版本和一个工厂版本。智能控制器切换版本,如图5所示。clock为时钟信号,切换时间为5 us,对于通信网要求的50 ms保护倒换时间是非常快速的。该方案实际测试结果,也进一步验证了FPGA版本智能化的优越性能。图6对比了FPGA智能升级与常规升级时间,常规升级时间随着版本文件大小增加而线性增加,而本文方法升级时间几乎没有明显增加。
图5 FPGA版本智能管理与升级时序
3 结束语
本文提出FPGA版本智能管理与升级方法,通过抽象化、数字化和智能化等方式,适配不同物理应用接口和多种工作场景。智能化设计极大减少了维护工作量,同时提高了可靠性,加快了上市步伐,保障了客户设备业务稳定运行。这项技术不限于光传送网络产品中,对于其他领域FPGA设计也具备参考和实用价值。
参考文献
[1] 王晓辉,刘玉婷.Stratix系列FPGA可实现远程升级的系统设计[J].单片机与嵌入式系统应用,2023(9):66-73.
[2] 朱道山.远程在线更新FPGA多版本程序的方法[J].单片机与嵌入式系统应用,2023(6):4-7.
[3] 梁辉,周建烨,袁行猛.基于PCIE+x86系统的毫米波信号实时处理研究及FPGA实现[J].电子产品世界,2023(5):12-16.
[4] 文丰,韩冰,袁小康.基于千兆以太网的FPGA远距离在线更新设计[J].电子设计工程,2022,30(24):60-63.