基于国产FPGA的信息化适配设备硬件与软件设计

作者: 陈泽宇 赵嘉禾 宋润泉 许惟超 李文博

基于国产FPGA的信息化适配设备硬件与软件设计0

摘要:串口通信作为可靠的传输协议在军事领域被长期使用,而以太网UDP通信以其大吞吐量,强通用性和较高的可靠性在新架构组网系统得到了广泛应用。针对当前军事领域上述两种通信协议并举的产业需求,文章基于国产FPGA设计了一套全国产化的信息化适配设备,并面向未来预留了多项可供升级的功能接口。该设备可以实现包括但不限于串口RS422/485通信、UDP通信、继电器通断控制、电平信号采集、高隔离准秒信号采集、差分信号收发等功能,并能通过FPGA实现复杂逻辑。该信息化适配设备可以用于与上位计算机通讯,且预留了大量功能接口用于实现对受控装备的控制功能,实现受控装备的联网需求。该信息化适配设备软硬件完全自主可控,硬件小型化智能化,软件易开发更新,有较高的泛用性和升级空间。

关键词: FPGA; RS422; UDP/IP; 国产化替代; 指挥与控制

中图分类号:TN710;TP393 文献标识码:A文章编号:1009-3044(2023)16-0089-03

0 引言

串口通讯在计算机通信领域一直是重要的通信方式[1]。虽然因为其传输速率等缺陷在民用领域逐渐被淘汰,但其在可靠性和易用性等方面的优势使其在军事领域一直被长期使用。军事信息化是我军建设的发展方向[2],以太网协议在稳定性、通用性、高速性和廉价性方面具有优势[3],成为军事信息化的重要基础。目前,以太网的协议标准发展得十分完善,且已在新型的国产化信息设备中得到全面支持。

目前,现役的众多型号装备不具备以太网通信的功能,本身无法接入信息化网络中,这成为信息化指挥与控制的痛点。为了将无网络通信功能的装备直接或间接接入信息化网络中,在两者的中间层可设计一种适配设备,一方面面向该装备发送控制信息和接收处理回告信息,另一方面面向网络或接入网络的其他信息设备发送装备的回告信息并接收上位机的控制命令。本文设计的信息化适配设备支持RS422/485通信、UDP通信等通信协议,用于与上位计算机通讯,具备继电器控制、电平信号采集等功能用于控制受控装备和接收处理其回告信号,可以用于实现上述功能。

为了兼容不同的系统架构,本文设计的信息化适配设备在硬件上支持的功能接口数量和种类多样性上满足了各种型号的需求。为了实现小型化和智能化,硬件平台使用国产FPGA作为控制核心。相较于单片机,FPGA 具备丰富的逻辑资源和并行处理能力[4],能够有效地连接软件和硬件,且功能易更新。

1 系统设计

本文设计实现了一种基于国产FPGA的小型化信息化适配设备,具备与上位机进行串口通信、千兆以太网通信,具备控制内部继电器、电平收发等功能与受控设备进行交互。图1展示了该型适配设备的核心板。

该设计选用深圳国微SMQ7K410型号FPGA作为控制核心,外围关键器件选用88E1111作为以太网物理层芯片,DS26LV32和DS26LV31分别作为RS422串口的收发元件。使用的全部元器件实现国产化替代,避免了使用进口器件的潜在安全风险[5]。在软件设计方面使用Verilog 硬件描述语言进行,设计了包括UART、UDP、IP、ARP和MAC模块的通信功能[6],以及加断电控制、回告指示等用于FPGA驱动外围器件的控制模块。整体设计框图如图2所示。

2 硬件设计

RS422 可用于实现多点通信和差分数据传输。

如图3所示,本文设计的RS422硬件使用DS26LV31和DS26LV32两种芯片的国产替代型号分别实现发送和接收功能,可以实现最多16路并行接收和24路并行发送。

以太网功能实现使用了国产物理层芯片88E1111 与FPGA 的MAC 模块通信。在设计中将物理层芯片配置为GMII 模式下工作,可与外部网络设备进行千兆以太网通信。为了使FPGA能够控制受控装备并接收其回告信号,硬件上选用AQV212、JGC-3036 和MAX1490 的国产替代型号分别实现继电器通断控制、电平信号采集和高隔离度准秒脉冲接收功能。

3 软件设计

如图2 所示,本文使用Verilog 硬件描述语言设计顶层逻辑和UART 模块、UDP通信模块等功能模块。

3.1 UART 功能模块

UART功能模块包含发送和接收功能,分别由UART_TX和UART_RX两个子模块实现,用于控制图3所示的板载芯片收发RS422报文。该模块采用标准UART异步串行协议,1位起始位,8位数据位,1位停止位,数据字节先发低位后发高位,波特率和字节校验可由顶层逻辑配置。

UART_TX模块发送时序如图4a)所示,发送开始时拉高wr_en 信号,将din 数据字节写入模块内部FIFO 中。模块每个时钟上升沿检测FIFO 状态,当FIFO非空时,模块驱动底层发送功能输出串行数据。

UART_RX模块接收时序如图4b)所示,当接收字节数据rxd_data接收到起始位开始接收,当收到停止位,且配置有校验位的情况下校验正确时,模块输出接收字节rec_data,并在下一个时钟发出接收确认脉冲rec_en。

3.2 UDP 功能模块

UDP功能模块可以由用户配置IP地址和MAC地址,实现千兆以太网通信的功能。模块遵守以太网IEEE802.3标准,其协议框架由OSI七层模型发展到现在的TCP/IP五层模型,如表1所示,TCP/IP协议簇包含HTTP、TCP、UDP、IP、ARP等协议。UDP功能模块实现了传输层、网络层、数据链路层共三层,UDP数据由FPGA顶层逻辑打包,故不存在应用层;物理层由于需要模拟器件,由88E1111芯片实现。

模块在收到发送命令后,首先对数据进行帧封装,由UDP模块添加UDP首部。UDP首部共8字节,包括源端口号、目的端口号、报文长度、校验值各2字节。在UDP模块中设计有一个状态机,将UDP封装过程分为6个状态:等待状态、添加首部状态、计算写入校验高字节、计算写入校验低字节、封包状态、写入缓存。6 个状态依次进行,并最终回到等待状态,UDP数据包发送到IP模块。在接收过程中,IP 模块将接收命令和UDP数据帧发送给UDP模块进行解包得到用户发送数据。

IP 模块将UDP数据包进一步封装,加入IP 首部发送至MAC层。本模块设置IP首部共20个字节,包括首部长度、总长度、标识、首部校验和、源IP地址、目的IP地址等。IP帧发送过程包含下述状态:等待状态、添加首部状态、计算写入校验高字节、计算写入校验低字节、写入RAM。状态依次进行,并最终回到等待状态,IP数据包发送到MAC模块。在接收过程中,MAC模块将接收命令和IP数据帧发送给IP模块进行解包得到UDP数据帧。IP模块中包含ICMP功能,用于与上位机进行通信请求与应答功能。

MAC模块发送时将MAC帧首部封装到IP数据包头,并驱动物理层芯片;在接收时收到物理层芯片的数据进行解包发送到IP模块。ARP模块通过MAC模块和物理层芯片,向以太网发送地址解析协议(Ad⁃dress Resolution Protocol,ARP) 报文和接收应答消息,建立FPGA到上位计算机的以太网连接。ARP模块在找不到IP地址对应的MAC地址时,会向以太网当前网段广播包含本机的IP地址、MAC地址和请求的目的IP地址的ARP 报文。目的IP地址计算机接收到ARP报文后将本机MAC地址单播发到ARP模块,由ARP模块建立ARP表。

4 仿真与验证

本节在上述信息化适配设备硬件平台和UART、UDP软件功能模块的基础上,设计了软件顶层逻辑,实现转发接收到的RS422导航报文信息、根据接收的RS422报文控制输出设备加电和通过UDP与上位机双向通信的功能。

如图5 所示,UART_RX 模块通过“rxd_data1”“rxd_data2”收到握手报文后约12ms,UART_TX模块发出报文向计算机1、2;当从“txd_out_dh”收到导航数据后,UART_TX模块向计算机1、2和照射转发导航数据。

如图6所示,在约50ms时刻FPGA接收到特定报文命令后,通过“ld_out”为3台受控装备加电。

如图7所示,FPGA端软件配置IP为192.168.0.2,

上位机配置IP 为192.168.0.1,通信使用6100 端口。

将上位机通过以太网连接到信息化适配设备后,两者可以通过UDP协议正常通信。

5 结论

本文设计了基于国产FPGA的信息化适配设备,在其基础上开发了驱动RS422和千兆以太网等软件模块,实现了计算机与FPGA的RS422、千兆以太网的通信功能。此设备能够作为适配设备连接远程计算机和受控装备,既能根据上位计算机的控制命令控制受控装备,又能将受控装备的回告状态信息根据通信协议发送到计算机和网络。通过仿真和验证,上述功能得到了确认。

参考文献:

[1] Fang Y Y,Chen X J.Design and simulation of UART serial com⁃munication module based on VHDL[C]//2011 3rd International Workshop on Intelligent Systems and Applications.May 28-29,2011,Wuhan,China.IEEE,2011:1-4.

[2] 王飞跃.指控5.0:平行时代的智能指挥与控制体系[J].指挥与控制学报,2015,1(1):107-120.

[3] 孔德伟,袁国顺,刘小强.基于FPGA的万兆以太网链路的设计与实现[J].微电子学与计算机,2019,36(12):21-25.

[4] 陈明正,韦昌辉.基于Xilinx FPGA平台的异步串口通信设计[J].电脑知识与技术,2022,18(36):65-67,74.

[5] 廖勇,袁圆.进口元器件自主可控的风险分析及对策建议[J]. 电子元件与材料,2020,39(6):14-18.

[6] Zhang F,Wang N,Hu Z,et al.A study of UDP and TCP FPGA implementation for data acquisition system[J].Journal of Instru⁃mentation,2021,16(7): 7044.

【通联编辑:代影】

上一篇 点击页面呼出菜单 下一篇