APP下载

基于FPGA和TCP/IP的多路采集与切换系统设计与实现

消息来源:baojiabao.com 作者: 发布时间:2024-05-20

报价宝综合消息基于FPGA和TCP/IP的多路采集与切换系统设计与实现

随着资讯网络与分散式采集技术的飞速发展,在智慧交通、工业测控等领域,对网络资料传输处理速度、可靠性及实时性的要求越来越高[1]。同时,现场可程式设计门阵列(FPGA)凭借日益丰富的片内资源、执行速度快和并行处理等特点,使其成为高速采集传输系统设计的一个有效手段[2-3]。以太网标准TCP/IP协议是Internet互联网络的基础,其不依赖固定的硬件或软件系统,可以集成于不同的网络环境中,具有通讯可靠、使用普遍、易于适配界面等优点[4]。但传统的基于CPU软件实现的TCP/IP协议处理方式,占用大量的CPU资源,消耗储存空间,无论在处理速度还是稳定性方面,都无法与基于硬件实现的相比[5-6]。韩国WIZnet公司推出的以太网控制芯片W5500支援硬件TCP解除安装引擎(TCP Offload Engine,TOE),其集成了TCP/IP全硬件协议栈,能够大幅提高应用装置的网络效能,降低CPU占用率,减少FPGA逻辑资源使用,缩短响应时间[7]。

针对上述研究现状和分散式采集场景分析,本文介绍了一种基于FPGA和TOE架构,实现TCP/IP协议资料传输的多路采集与切换系统。该系统涉及并行、多路通道切换、TCP/IP协议通讯等模组,并通过上位机PC(或键盘与LCD)进行远端(或本地)准确控制与实时显示,满足多路通道切换、模拟讯号并行采集、可靠性传输等功能的需求。

1 系统总体设计

该系统包含上、下位机设计,组成一个完整的多路采集与切换系统,系统总体设计框图如图1所示。上位机部分中的PC控制与显示子系统,可根据监测需求,远端对下位机进行配置和部署,并实时显示获取的资料。LCD显示与键盘控制子系统,与下位机安装为一体,可独立地对下位机进行通道控制与讯号检测,提升该系统的便捷性和实用性。下位机作为该系统的主体部分,主要由基于FPGA芯片的核心排程、资料处理、通道管理、讯号调理与采集、网络通讯、串列埠通讯、微控制器控制及电源与时钟管理七大模组组成。FPGA核心排程模组是下位机的核心部分,完成对下位机各个模组间的协调执行与逻辑控制,实现全域性时钟管理、TCP/IP协议与串列埠通讯、命令和资料的组帧与解析、通道切换与配置、讯号采集与资料处理等功能。

基本工作原理:系统上电后,首先等待FPGA初始化,完成预设配置,被测外围界面保持关闭,下位机处于TCP服务器模式,等待上位机连线。上位机PC连线成功后,进行通道切换与选择命令配置,并通过以太网将命令资料传至下位机。然后,下位机通过以太网通讯模组接收TCP资料,解析资料获取命令后,逐一对各通道管理模组进行配置,切换到被测通道,并对其中8路通道的电压和电流进行讯号调理与采集。每次采集的资料和状态资讯,再通过资料处理模组组帧后,交付给以太网通讯模组以TCP/IP协议传送资料至上位机。最后,上位机对接收资料进行分析和显示,完成对多路通道的远端切换、采集与监测。

若无PC连线,系统可使用键盘进行命令配置,LCD显示部分测试结果,采用串列埠通讯与下位机进行命令和资料的互动,实现本地便捷控制与监测。

2 系统硬件及FPGA设计

多路采集与切换系统的硬件设计主要由电源与时钟模组、FPGA逻辑控制模组、以太网通讯模组、通道管理与切换模组、ADC讯号采集模组和STM32控制模组组成,硬件设计结构框图如图2所示。

2.1 FPGA逻辑控制模组

FPGA逻辑控制模组采用了基于Xilinx公司Spartan-6系列的XC6SLX150-2FG484C开发的核心板AC6150具有高速、高带宽、高容量等特点。这款核心板尺寸为60 mm×60 mm,搭载FPGA上电配置功能,扩充套件使用者I/O界面168个,并具备丰富的内部逻辑资源。其作为载板直插使用,为工程技术人员提供了一个简便的FPGA使用方案,极大降低了设计复杂度与周期。

FPGA是下位机部分的核心控制单元,逻辑设计采用硬件描述语言(Verilog HDL)和整合开发套件ISE14.7实现。FPGA逻辑控制模组的顶层设计包括时钟管理与系统复位、W5500控制、资料处理、通道切换、AD采集控制以及STM32控制等子模组,顶层模组负责各个子模组的连线和逻辑综合,FPGA顶层设计结构如图2中间虚线框中所示。

2.2 以太网TCP/IP通讯模组

以太网TCP/IP通讯模组主要采用WIZnet公司的一款多功能全硬件以太网界面芯片W5500,内部整合10/100 M以太网控制器,嵌入TOE技术,支援TCP、UDP、IPv4等协议,无需考虑协议内部各层关系,不涉及操作系统,只需要正确配置就可以实现网络连线,界面电路简单、程式设计灵活方便[8-9]。该模组电路如图3所示。

FPGA基于SPI(外部序列界面)协议对W5500内部的暂存器区和内存进行读写访问。暂存器区由通用暂存器区(用于配置闸道器、子网掩码、源IP和源MAC地址等)和8个Socket_n(0≤n≤7)暂存器区(用于配置Socket埠号、模式、配置命令等)组成。W5500内嵌32 KB快取(接收内存和传送内存,各占16 KB),用于快取以太网传输中已接收和待发送的使用者资料。

采用FPGA+W5500的方式实现基于TCP/IP协议的硬件通讯系统设计,具有状态稳定、体积小、成本低、高速可靠等优势。FPGA通过W5500控制子模组实现W5500的状态机控制和SPI协议通讯,实现对W5500芯片的控制和资料互动。W5500的状态机控制包括对W5500控制器的状态初始化、暂存器配置、TCP连线管理、内存资料读写等功能,其主控制状态机状态转移如图4所示。

FPGA逻辑设计中,将W5500配置为TCP服务器模式,等待上位机PC(作为客户端)进行主动连线。建立连线后,PC下发通道切换、采集等命令资料,通过以太网传输至W5500。FPGA检测到W5500接收中断后,从W5500接收快取中读取资料,然后交给资料处理模组,进行资料解析,并将命令资讯下发到相关控制模组。

资料处理模组主要完成对接收(和待发送)的TCP资料进行解析(和组帧);W5500控制模组的核心在于TCP的连线建立、资料接收和资料传送控制。使用Socket_0作为与上位机通讯的埠,TCP通讯建立、资料收发流程如图5所示。经回环测试,TCP传输最高速率达40 Mb/s,满足众多嵌入式应用需求。

2.3 通道管理与切换模组

通道管理与切换模组采用通道选通芯片(ADG1408YRUZ)、电平转换芯片(LSF0108DCUR)、控制切换芯片(ADG819BRM)和继电器(G3FD-X03SN)组成,以实现对外围不同界面管脚的选通、驱动和控制。通道选通芯片实现8通道选一的选通功能;控制切换芯片和继电器控制外围输入通道是否接入;FPGA管脚输出电平为3.3 V,难以直接驱动外围器件,通过电平转换芯片将输出转换为5 V,以提高驱动能力。

当资料解析模组收到通道切换命令后,FPGA通过通道切换子模组,实现对外围芯片的控制,完成多路不同通道的管理和切换。

2.4 ADC讯号采集模组

ADC讯号采集模组由电压采集和讯号调理子模组组成。电压采集子模组选用ADI公司的高精度模数转换芯片AD7609BSTZ,它是一款18位、8通道、真差分、同步取样模数资料采集系统(DAS) ,最高吞吐率达200 kS/s。该系统采用2片AD7609芯片分别对8路被测通道的电压和电流进行采集,模拟讯号输入范围采用±5 V。在采集前端,连线讯号调理子模组,选用电流转电压芯片(MAX4080SASA+)将被测电流讯号转换为模拟电压讯号,再经过电压讯号调理芯片(AD8276ARZ)和适当高精度电阻进行分压,使输入AD芯片的被测模拟讯号范围在-5 V~+5 V之间。

FPGA完成对通道的管理切换后,通过AD采集控制子模组,开启对接入被测的8路通道AD采集。取样频率为10 kHz,16路并行采集,取样速度达2.88 Mb/s(16×18 bit×10 kHz/s)。AD采集控制子模组采用序列工作方式,每完成一次采集,将资料交由资料处理子模组进行组帧,再通过W5500将资料以TCP/IP协议传输至上位机PC。

3 系统软硬件综合测试

3.1 FPGA逻辑设计模拟与测试

进行FPGA逻辑设计时,模拟分析是必不可少的环节,利用ISE14.7自带的模拟软件ISim和线上逻辑分析软件ChipScope,有利于验证设计的正确性,提高设计效率。由于篇幅有限,以下针对该系统FPGA设计的重难点模组之一——以太网TCP/IP通讯模组的W5500资料传送功能,进行模拟和测试分析。

以太网TCP/IP通讯通过控制W5500实现,对W5500控制模组进行资料传送测试模拟如图6所示。在接收到命名标志Cmd_Receive后,将测试资料Test_Data_r[7:0]依次存入B_FIFO中,再以单bit的方式从B_FIFO中读出,结合SPI协议将资料传送至W5500传送快取;资料全部写入后,给出写入完成标志W5500WrFlag,以此开启W5500进行TCP资料传送。使用ChipScope对实测讯号线上“抓取”,得到W5500资料传送测试讯号截图如图7所示,实测与模拟结果一致,表明该设计的正确性。

3.2 系统测试与效果

下位机采用标准2U机箱设计,可同时连线8台被测装置,每台装置有13路不同的界面,共需控制8组×13路通道的切换。上位机的命令配置界面如图8所示,通过勾选通道组合,实现多通道选择和切换命令的配置。图8中展示了同时开启对8台被测装置的2通道监测,并施加控制讯号1、4的命令配置过程。

使用网络封包分析软件WireShark对系统的TCP/IP传输过程进行测试,下位机为服务器(IP:192.168.1.168,埠号:10000),上位机PC为客户端(IP:192.168.1.1,埠号:8001),TCP/IP通讯测试的流量统计结果如图9所示。图中给出“三次握手”建立TCP连线,和命令资料传送接收与ACK回复过程,表明TCP/IP通讯正常。

在2号通道接入被测器件,上位机采用图8中的通道切换命令配置,系统测试对应的PC和LCD监测显示结果如图10所示,PC在报表界面可实时显示被测8路通道的电压和电流,LCD以10 Hz的频率重新整理显示监测结果。经长期试验和测试结果表明,PC与LCD显示结果与实际一致,测试效果良好,显示画面稳定,操作便捷流畅。

4 结论

本文设计了一种基于FPGA和TCP/IP协议的多路采集与切换系统,其采用FPGA+W5500的方式实现了基于硬件的TCP/IP协议栈,并详细介绍了该系统的TCP/IP通讯、通道切换和多路采集部分的设计方法。综合测试结果表明,系统可以实现多路采集与切换控制的功能,稳定可靠、使用便捷,具有一定的实用价值。

参考文献

[1] BAO S,YAN H,CHI Q,et al.A FPGA-based reconfigurable data acquisition system for industrial sensors[J].IEEE Transactions on Industrial Informatics,2017,13(4):1503-1512.

[2] 李洋,禹卫东,胡骁,等.基于FPGA的千兆以太网数传系统设计[J].电子测量技术,2015(10):72-77.

[3] 周浩,王浩全,任时磊.基于FPGA和NAND Flash的行动式讯号采集系统设计[J].电子技术应用,2018,44(9):88-92.

[4] ZSEBY T,IGLESIAS V F,BERNHARDT V,et al.A network steganography lab on detecting TCP/IP covert channels[J].IEEE Transactions on Education,2016:1-9.

[5] LIU Q,XU Z,LI Z .Implementation of hardware TCP/IP stack for DAQ systems with flexible data channel[J].Electronics Letters,2017,53(8):530-532.

[6] 谢喆.基于FPGA的TCP/IP资料通讯的设计与应用[D].武汉:武汉科技大学.

[7] 高柯柯.基于FPGA和W5500的串列埠资料切换系统研究与设计[D].兰州:兰州交通大学,2017.

[8] 王文,郑建生.基于FPGA的TCP/IP网络通讯系统的设计与实现[J].现代电子技术,2018(8):5-9.

[9] 彭海,高俊雄,王耘波.基于FPGA的虹膜影象采集系统设计[J].仪表技术与感测器,2016(1):43-46.

作者资讯:

王 威1,张秋云1,江 虹1,余恒松2,易志强1,朱 笛1

(1.西南科技大学 资讯工程学院,四川 绵阳621010;2.西南科技大学 国防科技学院,四川 绵阳621010)

2019-11-20 01:07:00

相关文章