APP下载

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

2023-07-26陈泽宇赵嘉禾宋润泉许惟超李文博

电脑知识与技术 2023年16期
关键词:功能模块校验以太网

陈泽宇,赵嘉禾,宋润泉, 许惟超, 李文博

(1. 海装上海局驻上海地区第六军事代表室,上海 201100;2. 上海航天电子技术研究所,上海 201108)

0 引言

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

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

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

1 系统设计

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

图1 国产信息化适配设备核心板(正面)

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

图2 系统整体设计架构

2 硬件设计

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

图3 RS422收发芯片原理图

以太网功能实现使用了国产物理层芯片88E11 11 与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非空时,模块驱动底层发送功能输出串行数据。

图4 UART功能模块时序图

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芯片实现。

表1 TCP/IP模型及功能描述

模块在收到发送命令后,首先对数据进行帧封装,由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模块和物理层芯片,向以太网发送地址解析协议(Address 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 和照射转发导航数据。

图5 发送报文和导航信息

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

图6 接收报文为设备加电

如图7 所示,FPGA 端软件配置IP 为192.168.0.2,上位机配置IP 为192.168.0.1,通信使用6100 端口。将上位机通过以太网连接到信息化适配设备后,两者可以通过UDP协议正常通信。

图7 UDP通信功能

5 结论

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

猜你喜欢

功能模块校验以太网
基于1500以太网养猪场的智能饲喂控制系统的设计与实现
炉温均匀性校验在铸锻企业的应用
谈实时以太网EtherCAT技术在变电站自动化中的应用
输电线路附着物测算系统测算功能模块的研究
M市石油装备公服平台网站主要功能模块设计与实现
一种90W高功率以太网供电系统的设计
浅谈EPON与工业以太网在贵遵高速公路中的应用
大型电动机高阻抗差动保护稳定校验研究
基于加窗插值FFT的PMU校验方法
功能模块的设计与应用研究