论文部分内容阅读
摘 要:离子迁移谱物质分析仪经过30年的发展已经形成精度高、可靠性强的系列产品,在边防、安检等场景起到了不可替代的作用。本文所述系统采用ARM-FPGA主从式控制系统,ARM具有可靠性高、计算速度快、可裁剪等优点,FPGA稳定、高速的优点。采用模块化设计使软件具有很强的可扩展性。
关键词:离子迁移;Linux;FFT
引言
Linux,全称GNU/Linux,是一套免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991 年第一次释出,它主要受到Minix 和Unix 思想的启发,是一个基于POSIX和Unix 的多用户、多任务、支持多线程和多CPU 的操作系统。它能运行主要的Unix 工具软件、应用程序和网络协议。它支持32位和64 位硬件。Linux 继承了Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统[1]。
一、需求分析
通过整体需求分析,功能解耦,将分析仪分成ARM-FPGA 主从控制系统,其中FPGA 采集模块主要进行信号采集和机械控制,ARM主控模块主要进行数据分析和用户交互。
(一)FPGA 采集模块
由于物质分析仪基于离子迁移谱技术,FPGA 采集模块需要具备温度控制、AD 采集、气泵控制、离子门控制、数据传输等功能,其所需接口如表1 所示。
(二)ARM 主控模块
ARM 主控模块需要具备数据传输、从级控制、数据处理、时钟信息读写、网络通信、串口通信等功能,其所需接口如表2 所示。
二、设计方案
通过对FPGA 采集模块的需求分析,其需要具备高速处理能力。Intel 公司的MAX 10 FPGA 系列采用TSMC 55nm NOR 闪存技术,容量从2k 到50k 逻辑单元(LE),采用单个或双核电源电压和小尺寸3x3mm 和高I/O 引脚数封装;.主要用在系统管理,I/O 扩展,通信控制,工业应用,汽车电子和消费类电子。
通过对ARM 主控模块的需求分析,其需要具备高速处理能力,同时还要能进行友好的人机交互。NXP 的i.MX6ULL 采用先进的ARM Cortex-A7 内核,运行主频高达800MHz。其核心板标配8 路原生UART、2 路网口、2 路CAN-bus 总线、2 路USB OTG 等常用接口,支持Linux4.1.15+Qt5.6 操作系统[2]。可以满足主控模块的所有需求。
物质分析仪软件系统架构如图1 所示。
三、关键功能实现
(一)基于多线程的嵌入式App
i.MX6ULL 上运行的应用主要实现跟FPGA 采集模块的数据传输,以及跟USB、UART、LCD、以太网接口、RTC 等设备文件的交互。本设计采用Qt Creator4.11.1 开发环境,基于Qt5.14.1 以及交叉編译器arm-linux-gnueabihf8.3.0。与FPGA 采集模块通过SPI 协议以及I/O 进行通信。由于谱峰匹配中加入FFT 相关算法,通过显示屏进行的人机交互可能存在卡顿风险,故采用多线程架构,线程之间使用Qt 独有的信号槽机制进行通信,采用这种架构使类与类之间有效解耦,可以有效避免屏幕交互卡顿的问题。
应用运行流程图如图2 所示。
(二)基于FFT 的物质匹配算法
物质匹配是物质分析仪的核心,当仪器运行时,首先对FPGA 采集模块的数据进行正确性检查和滤波,然后对滤波后的数据进行FFT 相关算法,接着对数据进行全局相关性特征峰查找,用查找到的特征峰和物质库进行匹配,匹配结果是和某些特征值相关分数,再由所得分数进行综合判断得到分析结果,使用该方法进行的物质分析结果准确,鲁棒性强。
物质匹配算法流程图如图3 所示:
四、测试结果
根据上文所述软件架构实现嵌入式软件,通过大量实验验证,软件运行稳定可靠,分析结果准确,人机交互流畅友好。
五、结论
本文所述的一种基于Linux 的物质分析仪软件设计, 使用ARM-FPGA 主从式软件架构,在功能性能均满足的情况下,选择MAX10和i.MX6ULL 作为CPU,充分发挥了各自优点,多线程软件框架和基于类FFT 的物质匹配算法保证了仪器的稳定高效运行,分析结果据偶鲁棒性和实时性,在人机交互方面,也具备简洁、友好、流畅等特点。
参考文献:
[1]梁庆杰.基于嵌入式Linux的煤矿救援机器人控制系统设计[J]. 煤矿机械,2020.
[2]张梦苑.基于Linux系统的PXI总线AD模块软件设计[M].电子科技大学,2020.
关键词:离子迁移;Linux;FFT
引言
Linux,全称GNU/Linux,是一套免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991 年第一次释出,它主要受到Minix 和Unix 思想的启发,是一个基于POSIX和Unix 的多用户、多任务、支持多线程和多CPU 的操作系统。它能运行主要的Unix 工具软件、应用程序和网络协议。它支持32位和64 位硬件。Linux 继承了Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统[1]。
一、需求分析
通过整体需求分析,功能解耦,将分析仪分成ARM-FPGA 主从控制系统,其中FPGA 采集模块主要进行信号采集和机械控制,ARM主控模块主要进行数据分析和用户交互。
(一)FPGA 采集模块
由于物质分析仪基于离子迁移谱技术,FPGA 采集模块需要具备温度控制、AD 采集、气泵控制、离子门控制、数据传输等功能,其所需接口如表1 所示。
(二)ARM 主控模块
ARM 主控模块需要具备数据传输、从级控制、数据处理、时钟信息读写、网络通信、串口通信等功能,其所需接口如表2 所示。
二、设计方案
通过对FPGA 采集模块的需求分析,其需要具备高速处理能力。Intel 公司的MAX 10 FPGA 系列采用TSMC 55nm NOR 闪存技术,容量从2k 到50k 逻辑单元(LE),采用单个或双核电源电压和小尺寸3x3mm 和高I/O 引脚数封装;.主要用在系统管理,I/O 扩展,通信控制,工业应用,汽车电子和消费类电子。
通过对ARM 主控模块的需求分析,其需要具备高速处理能力,同时还要能进行友好的人机交互。NXP 的i.MX6ULL 采用先进的ARM Cortex-A7 内核,运行主频高达800MHz。其核心板标配8 路原生UART、2 路网口、2 路CAN-bus 总线、2 路USB OTG 等常用接口,支持Linux4.1.15+Qt5.6 操作系统[2]。可以满足主控模块的所有需求。
物质分析仪软件系统架构如图1 所示。
三、关键功能实现
(一)基于多线程的嵌入式App
i.MX6ULL 上运行的应用主要实现跟FPGA 采集模块的数据传输,以及跟USB、UART、LCD、以太网接口、RTC 等设备文件的交互。本设计采用Qt Creator4.11.1 开发环境,基于Qt5.14.1 以及交叉編译器arm-linux-gnueabihf8.3.0。与FPGA 采集模块通过SPI 协议以及I/O 进行通信。由于谱峰匹配中加入FFT 相关算法,通过显示屏进行的人机交互可能存在卡顿风险,故采用多线程架构,线程之间使用Qt 独有的信号槽机制进行通信,采用这种架构使类与类之间有效解耦,可以有效避免屏幕交互卡顿的问题。
应用运行流程图如图2 所示。
(二)基于FFT 的物质匹配算法
物质匹配是物质分析仪的核心,当仪器运行时,首先对FPGA 采集模块的数据进行正确性检查和滤波,然后对滤波后的数据进行FFT 相关算法,接着对数据进行全局相关性特征峰查找,用查找到的特征峰和物质库进行匹配,匹配结果是和某些特征值相关分数,再由所得分数进行综合判断得到分析结果,使用该方法进行的物质分析结果准确,鲁棒性强。
物质匹配算法流程图如图3 所示:
四、测试结果
根据上文所述软件架构实现嵌入式软件,通过大量实验验证,软件运行稳定可靠,分析结果准确,人机交互流畅友好。
五、结论
本文所述的一种基于Linux 的物质分析仪软件设计, 使用ARM-FPGA 主从式软件架构,在功能性能均满足的情况下,选择MAX10和i.MX6ULL 作为CPU,充分发挥了各自优点,多线程软件框架和基于类FFT 的物质匹配算法保证了仪器的稳定高效运行,分析结果据偶鲁棒性和实时性,在人机交互方面,也具备简洁、友好、流畅等特点。
参考文献:
[1]梁庆杰.基于嵌入式Linux的煤矿救援机器人控制系统设计[J]. 煤矿机械,2020.
[2]张梦苑.基于Linux系统的PXI总线AD模块软件设计[M].电子科技大学,2020.