摘要:近年来,随着国内航空事业的高速发展,现代空情变得日益复杂,航管雷达目标数据和地空话音通信数据作为航空空情数据保存以及事故分析的主要手段,在空管自动化系统中发挥越来越重要的作用。其记录系统运行的稳定性、数据记录和回放的真实性是重要空情重演、异常事故分析准确可靠的关键因素。在航管系统应用中,记录重演系统往往具有数据量大、记录通道多,数据的可靠性、实时性以及设备模块化要求高,并且要求长时间持续不断地进行记录和处理。为此,文章对基于FPGA的多通道数据采集系统设计与实现方面展开详细研究,希望能够给相关人士提供重要的参考价值。
关键词:数据采集;信号处理;FPGA
引言:为适应当前日益复杂的空情,提高航管数据采集的精确性和可靠性,设计了一种多通道雷达话音数据采集系统。给出了系统硬件设计架构,利用FPGA作为数据采集和逻辑控制核心,实现了16路话音数据编解码以及8路雷达数据采集和转换。应用层软件采用多线程开发技术和原子访问内存共享设计方案,提高了业务运行的效率以及系统的可靠性。硬件电路及应用软件实现均采用模块化设计,具有良好的可移植性。最后,对设计的系统进行了多通道话音和大时段大数据量雷达数据采集回放测试,并对话音和雷达数据采集误差精度进行了分析,验证了系统的可靠性和精确性。
1、系统硬件架构设计
数据采集系统硬件系统由以下几个模块组成:MCU控制模块、FPGA算法模块、RS232雷达数据接收串口、FXO/FXS语音、时钟模块、电源模块、连接器等;其中MCU系统是本板的控制单元,完成对板上芯片初始化、性能检测以及通过串口实现本板与其他单板的通信;FPGA模块主要对采集的雷达数据和语音信号进行监控和记录,实现机场空管部门指挥调度的语音通话和雷达探测数据的同步记录和同步回放功能;RS232雷达数据采集串口模块实现简化的三线异步RS232接口的电平转换;FXO/FXS语音模块完成FXO/FXS语音信号的数字化,支持软件切换FXS或者FXO工作模式;时钟模块负责时钟产生、时钟驱动,为各模块提供所需要的时钟;电源模块提供整板各模块所需要的工作电压。
2、系统关键硬件模块设计
2.1、RS232串口模块
RS232接口用于接收来自雷达模拟器的雷达数据信号,接口电平满足EIA-RS-232标准,支持600bps,1200bps,N×2.4K(N=1、2、4、8、20),M×64K(M=1,2)。本文中RS232接口使用ICL232EIA_T芯片完成RS23标准信号的接收和发射驱动,将外部接口输入的RS232串口信号转换为TTL信号给FPGA模块进行处理和将FPGA模块输出的TTL信号转化为满足接口相关协议要求的信号输出。
2.2、FXS/FXO语音模块
FXS/FXO模块为单板提供16路独立语音通信端口,实现模拟语音信号与数字PCM信号之间的转换,并将PCM数据送入FPGA实现语音信号的灵活处理。同时,该模块通过PCM或SPI总线接受软件下发的配置命令并上传业务的状态。FXS/FXO模块主要由端口防护和选择电路,CODEC/DAA套片电路组成。其中关键芯片为SiliconLaboratory公司的SI32178和SI32919芯片,该系统由SLIC、DC-DC转换电路、DTMF(双音多频信号)检测以及其他所有满足模拟电话接口所要求的信号产生功能,具体而言即完成电池、过压检测、振铃、监控、语音编解码器、2/4线转换以及测试功能。CODEC电路部分采用的是SILICONLABS的Si3217x系列解决方案。该方案由Si32178(FXS)和Si3219(FXO)及其外围电路组成。为实现端口FXS和FXO可随意配置的特性,FPGA会根据软件命令,输出FXS/FXO端口控制选择信号到端口继电器,控制继电器开关的切换,实现对端口FXS和FXO模式的灵活配置。
期刊文章分类查询,尽在期刊图书馆当选择FXS模式时,电话模拟双线信号经过防护器件后,直接与SI32178芯片相连,实现信号检测、编解码和铃流供电等模拟电话接口所需的全部功能;当选择FXO功能时,电话模拟双线信号先经过SI32919芯片实现DAA处理,再与SI32178芯片相连,提供FXO端口功能。
2.3、FPGA算法模块
根据系统的硬件资源配置,FPGA选用ALTERA公司的5CGTFD7D5F27I7N,速率等级-7,封装FBGA672。FPGA芯片对RS232电路输入的雷达采集信号实现串口信号串并转换,并将转换后的数据存入RecordingDataBuffer和PlaybackDataBuffer,根据控制端的选择信号选通记录和回放功能;对于FXS/FXO语音模块采集的数字PCM信号,逻辑内部实现振铃信号的检测与分析、信号音的检测与分析、CallerID的检测与分析等处理,并完成会议或双方通话内容监听和录音功能[1]。
3、数据处理流程软件设计
3.1、软件设计流程
数据处理流程主要划分为数据采集记录、内存控制和回放重演3部分。系统采取轮询方式检测串口数据,接收到传感器传来的数据后跳转至回调函数MsgNotify进行数据处理。经过格式解析和分类处理后,以接收时间和数据格式作为文件名称将数据记录存储至雷达数据库和话音数据库,同时将数据存放至本地相应目录。对于每一次接收到的数据,系统将开辟子线程,对内存进行循环检测,对于内存超过一定阈值情况,则进行内存告警提示,并根据数据库记录信息进行历史记录数据的清理。管制员在回放控制席位发出控制信号,记录回放系统捕捉到该信号后,解析出控制回放的数据类型和回放时间段。通过查找对应数据库记录,并且根据记录信息到指定路径下提取回放数据,分别发送至地图显示模块和外接扬声器,进行数据重演回放。由于重演回放过程中,雷达数据和空地交互的话音数据需要保持时间同步,在系统回放过程中,利用GPS对时系统进行时间戳的同步控制,以确保雷达数据和话音数据的同步输出。根据回放需要,系统可以控制数据输出的速率,以实现雷达、话音数据的倍速重演[2]。
3.2、多线程应用
对于雷达话音数据记录和回放系统而言,利用多线程技术同步处理不同类别的业务,需要解决线程间的协调同步,就可以满足不同功能的并发执行,有效提高程序处理的速度和效率。而且,单个现成的崩溃不会影响到其他线程的运行,有效提高程序稳定性和可靠性。在本系统中,把数据采集记录、系统内存管理、数据库维护、回放控制放在工作者线程,数据显示和录音回放功能则放在主线程中,线程之间利用内存共享方案实现数据交换和控制指令的传递[3]。
结论
本文设计了一种多通道数据采集系统,给出系统硬件设计架构,利用FPGA作为数据采集和逻辑控制核心,实现了16路话音数据编解码以及8路雷达数据采集和转换。对硬件系统的关键模块RS232串口模块、FXS/FXO语音模块、FPGA算法模块和电源模块进行了设计。在应用软件设计层面,给出了记录回放控制的设计流程,并且介绍了系统中多线程的应用和原子访问共享内存解决方案。最后,对设计的系统进行了采集和回放测试,验证了系统的可靠性和有效性[4]。
参考文献:
[1]赵振宇.空管系统中飞行数据处理的研究与应用[J].电子测试,2017(12):22-23.
[2]蒋斯炜.北京空管自动化备份系统架构的研究[J].科技创新导报,2017,13(10):58.
[3]杨金宙,徐东明,王艳.基于FPGA的高速数据采集系统设计与实现[J].中国集成电路,2017,26(ZL):20-23,34.
[4]孙瑞辰,孙磊.PAMM:一种面向基于内存共享的域间通信的优化模型[J].计算机科学,2016,42(S2):218-221,235.
论文作者:仇海涛
论文发表刊物:《基层建设》2018年第29期
论文发表时间:2018/11/17
标签:数据论文; 模块论文; 信号论文; 系统论文; 话音论文; 语音论文; 数据采集论文; 《基层建设》2018年第29期论文;