基于Linux+ARM 和FPGA 的高速数据采集存储系统设计及实现

2023-09-19 13:34徐义忠曾艳丽宋云鹏
电子设计工程 2023年18期
关键词:机软件框图上位

徐义忠,曾艳丽,孙 超,苏 鑫,宋云鹏

(1.国机传感科技有限公司,辽宁沈阳 110043;2.辽河油田油气集输公司,辽宁盘锦 124010)

管道运输作为一种安全、经济的运输方式,被广泛应用于天然气、石油等能源的运输。但由于长时间的介质腐蚀和磨损,管道会出现一定程度的损伤,甚至可能发生重大泄漏爆炸事故,因此管道的安全关系着国家经济发展及人民生命财产的安全。随着油气管道完整性理念的兴起[1],管道内检测技术迅速发展,当前国内所应用的智能内检测器以漏磁检测技术(MFL)为典型代表,经过40 多年的发展,得到了广泛应用,为管道安全运行和科学管理提供了重要决策依据[2]。其中,轴向漏磁检测技术发明最早并最为成熟,继之又出现了横向漏磁检测技术、三维探头检测技术、超高清晰度的全断面漏磁检测技术[3-4]。检测技术的快速发展和检测需求的提出,需要采集大量电磁信号数据来支撑,导致大量的数据需要存储,对采集系统的速度及兼容性要求极高。因此,设计一套高水平、高标准、高效率的智能化管道数据采集系统尤为重要[5]。

发挥ARM+Linux 高速多任务及FPGA 高速并行优势,设计实现管道内检测数据的高速并行采集、存储和显示,多次成功应用在长距离管道内检测中[6]。

1 系统结构设计

1.1 系统总体框图

在该系统中,FPGA 主要负责数据采集和数据传输[7],ARM 主要负责数据接收、数据存储和数据上传以及和上位机通信。通过例化的多路SPI 和I2C 接口FPGA 实时采集探头传感器和外设数据,按一定的数据格式缓存于SDRAM 中,然后通过USB FIFO将数据传递给ARM,ARM 再通过FatFS 文件系统按一定的文件名称和格式将采集数据存储到TF 卡组。串口用于编程调试,USB3.0 既可用于下载移植Linux 系统,也可用于上传模式下将TF 挂载到PC端,进行数据高速上传。网口用于调试模式下连接上位机软件,可以实时显示探头传感器和外设的状态[8-9]。系统总体框图如图1 所示。

图1 系统总体框图

1.2 核心部件选型

FPGA 芯片选用Intel Altera 公司Cyclone 系列的EP4CE15F23(15,408LEs,504 kbit RAM,56 Embedded 18×18 multipliers,20 Global Clock Networks,343 user I/O,4PLLs),支持各种高速外接存储器接口,支持各种标准的I/O,高速差分I/O,具有丰富的外部资源以及支持多种高性能标准。外部时钟源频率为50 MHz,外接一片HY57V2562GTR(16M×16Bit)SDRAM,能够满足速度和数据缓存的需求。

ARM 芯片选用NXP 公司的i.MX6ULL,其是一款高性能、超高效的处理器,采用恩智浦先进的单ARM Cortex-A7 内核实现,运行速度高达792 MHz。i.MX6ULL 包含集成电源管理模块,可降低外部电源的复杂性并简化电源排序。该系列中的每个处理器都提供各种内存接口,包括LPDDR2、DDR3、DDR3L、原始的和管理的NAND Flash、NOR Flash、eMMC、Quad SPI,以及用于连接外围设备的各种其他接口,例如WLAN、蓝牙™、GPS、显示器和相机传感器。i.MX6ULL 功能框图如图2 所示。

图2 NXP i.MX6ULL功能框图

i.MX6ULL 处理器的特性包括[10]:

1)单核ARM Cortex-A7——单核A7 提供了一种经济高效的解决方案。

2)多级存储系统——处理器的多级存储系统基于L1 指令和数据缓存、L2 缓存以及内部和外部存储器。该处理器支持多种类型的外部存储设备,包括DDR3、低压DDR3、LPDDR2、NOR 闪存、NAND 闪存(MLC 和SLC)、OneNAND ™、Quad SPI 和管理的NAND,包括最高4.4/4.41/4.5 版的eMMC。

3)智能速度技术——在整个IC 中实施的电源管理,使多媒体功能和外围设备在活动和各种低功耗模式下都消耗最少的功率。

4)动态电压和频率缩放——通过缩放电压和频率来优化设备的电源效率以优化性能。

5)多媒体动力源——多级缓存系统、NEON™MPE(媒体处理器引擎)协处理器、可编程智能DMA(SDMA)控制器、异步音频采样率转换器、电泳显示器(EPD)控制器和像素处理流水线(PXP)增强了处理器的多媒体性能,以支持2D 图像处理,包括颜色空间转换、缩放、alpha 混合和旋转。

6)2 个以太网接口——2 个10/100 MB/s 以太网控制器。

7)人机界面——每个处理器支持一个数字并行显示界面。

8)接口灵活——每个处理器都支持连接到各种接口:两个带PHY 的高速USB OTG、多个扩展卡端口(高速MMC/SDIO 主机和其他)、两个带PHY 的12位ADC 模块多达10 个输入通道和两个CAN 端口。

9)高级安全性——处理器提供支持硬件的安全功能,可实现安全电子商务、数字版权管理(DRM)、信息加密、安全启动、AES-128 加密、SHA-1、SHA-256硬件加速引擎和安全软件下载。

10)集成电源管理——处理器集成线性稳压器并在内部为不同域生成电压电平,这显著简化了系统电源管理结构。

在该系统中,i.MX6ULL 配置了512 MB DDR3 作为内存,512 MB NAND 作为系统和用户程序存储,同时移植了Linux 操作系统[10]。

2 系统典型电路

2.1 FIFO转USB电路

FIFO 转USB 电路的芯片选用飞特帝亚公司(FTDI)的FT232H,FT232H 高速单通道桥接芯片以USB 高速(60 MB/s)运行,具有灵活的串行接口或并行FIFO 接口,数据传输速率高达40 MB/s。使用串行EEPROM 接口,该设备可以被配置为各种异步和同步串行标准,例如JTAG、SPI、I2C 和UART 以及同步和异步并行FIFO 接口。该设备还具有新的同步、半双工FT1248 总线,它允许利用1、2、4 或8 条数据线以达到30 MB/s。I/O 结构端口电压为3.3 V,具有5 V 耐压,与FPGA 接口相连时具有更大的灵活性。FIFO 转USB 电路如图3 所示。

图3 FIFO转USB电路

FT232H 将FPGA 采集的暂存在SDRAM 里的信息通过FIFO 取出转成USB 格式发送给ARM,完成FPGA 和ARM 之间的数据传递[11]。

2.2 网口转USB电路

网口转USB 电路的芯片选用亚信公司(AXIS)的AX88179。AX88179 是一款低价、小封装、高性能、高集成度、即插即用的USB 3.0 转千兆以太网单芯片,支持超节能以太网(EEE)标准及低功耗的数字信号处理(DSP)技术,可应用于任何具备标准USB 端口的嵌入式系统,仅需单25 MHz 时钟即可正常工作。网口转USB 电路如图4 所示。

图4 网口转USB电路

AX88179 用于连接ARM 和上位机软件,调试时可以将来自上位机软件的命令传送给ARM,对系统进行设置,也可以将ARM 接收的数据传送到上位机进行解析,以便实时了解探头传感器和外设的状态[12-13]。

2.3 USB HUB电路

USB HUB 电路的芯片选用台湾汤铭的FE8.1。FE8.1 是一款高度集成、高质量、极小体积、极低功耗的高速四口USB HUB 集线器控制器,是USB 两端口集线器高性能的解决方案,是嵌入式的最佳选择。USB HUB 电路如图5 所示。

图5 USB HUB电路

FE8.1 整合下游网口转USB 电路和FIFO 转USB电路的数据与上游的ARM 进行交换。

2.4 写入和读取切换电路

数据的写入和读取切换电路的芯片选用德州仪器(TI)的HD3SS6126。HD3SS6126 器件是一款针对USB 应用而设计的高速无源开关,用于将超高速USB RX 和TX 以及USB 2.0 DP 和DM 信号从源位置路由到目标位置,反之亦然。写入和读取切换电路如图6 所示。

图6 写入和读取切换电路

数据采集时,ARM 通过SEL 切换到存储模块,将数据存储到TF 卡中;数据上传时,切换到USB3.0,将TF 卡挂载到电脑,就可以将存储的数据拷贝出来进行分析。

3 系统软件开发和测试结果

该系统的软件主要包括三大部分:FPGA 程序主要用于数据的采集和传送,定时采集探头传感器的数据,按一定的帧格式传递给ARM;ARM 程序主要用于数据的接收和存储,接收到FPGA 发送的数据后,一方面将数据存储在TF 卡组,另一方面可以和上位机软件通信,接收上位机的命令和将采集数据传送给上位机;上位机软件主要用于采集数据的显示,将ARM 发送的数据解析后显示,操作者可以实时查看系统参数和探头传感器的状态,也可以将对系统参数的设置指令传送给ARM。具体的系统软件结构框图如图7 所示。

图7 系统软件结构框图

3.1 FPGA软件

上电复位后,FPGA 通过SPI 接口接收ARM 的指令,解析后按照相应的指令执行;当收到开始采集信号后,按照设定的频率发送采集使能信号,启动探头传感器的信号采集,将采集到的数据按照一定的帧格式存入SDRAM,一帧结束后通过FT232H 传递给ARM。当收到停止采集信号后,停止发送采集使能信号,再次进入等待状态[14-16]。FPGA 程序框图如图8 所示。FPGA 程序流程图如图9 所示。

图8 FPGA程序框图

图9 FPGA程序流程图

3.2 ARM软件

上电后,裁剪适配的Linux 系统[17-19]启动,完成各项基本配置后自动执行用户程序,判别是调试模式还是存储模式。如果是调试模式,则通过网口连接到上位机,启动采集后将各探头传感器的信息显示在上位机上,从而可以实时检查各探头传感器的状况;如果是存储模式,则一直监测里程信息,如果符合采集条件,就会启动采集,将接收到的USB FIFO 数据按一定格式存入TF卡组。ARM程序流程图如图10所示。

图10 ARM程序流程图

3.3 上位机软件

上位机软件采用Python 编写[20],用以太网和ARM 连接,连接成功后可以对系统的一些参数如电池使用时间和系统时间等进行设置,参数回传到ARM,保存到Flash 里;可以点击采集按钮,通过ARM 向FPGA 发送采集使能,将探头和传感器采集的数据进行解析后[21-24]实时显示在上位机上,便于对整个系统进行调试;系统数据采集完毕后,也可以利用上位机软件发送命令,让ARM 通过USB 将TF 卡组挂载到电脑,以便将采集的数据拷贝出来进行分析。上位机程序流程图如图11 所示。

图11 上位机程序流程图

4 结束语

该系统已经在40 吋及以下漏磁管道检测器中成功应用,采样频率可达4 kHz,存储空间可达8 TB,存储时间可达100 h,可搭接至多120 个三轴周向全覆盖漏磁探头,120 个测径探头,改变了以往MCU 控制器系统采样率不高、接口不够丰富的弊端,应对40吋及以下尺寸检测器的超高清检测数据量完全没有问题。

为了适应更大尺寸内检测器需要,主要在ARM的主频和内核数量以及存储容量和存取速度上加以改进,可以选用更为高级的内嵌ARM 硬核的FPGA芯片作为主控芯片,其本身具有丰富的接口资源,主频高,还可多核操作,可以简化设计,提高可靠性;以硬盘作为存储介质,以千兆网口作为读取接口,既能提高系统的存储可靠性,增大存储容量,又能提高数据的存取速度。

猜你喜欢
机软件框图上位
捷豹I-PACE纯电动汽车高压蓄电池充电系统(三)
特斯拉 风云之老阿姨上位
电路图2017年凯迪拉克XT5
算法框图的补全
“三扶”齐上位 决战必打赢
基于ZigBee和VC上位机的教室智能监测管理系统
道岔监测系统上位机软件设计
基于正交试验法的北斗用户机软件测试用例设计
PCI-e高速数据采集卡的驱动与上位机软件设计
以新思路促推现代农业上位