APP下载

基于PCIe接口的多径信道实时测量设备设计方法

2019-12-24王满喜李永成向海飞

无线电工程 2019年1期
关键词:采集卡线程中断

王满喜,李永成,荣 辉,向海飞

(电子信息系统复杂电磁环境效应国家重点实验室,河南 洛阳 471003)

0 引言

无线信道传输特性分析是开展通信系统设计、通信装备布站和通信对抗试验的重要基础。无线信道传输特性可以通过其时频特性特征(如时变冲击响应)来表征[1]。当前,无线信道时频特性的获取手段不外乎2种:一种是用电波的传播机理结合现实传播环境用射线跟踪[2-3]或抛物方程[4-5]等方法进行机理建模和预测;另一种是通过实际测量[3,6],即对无线信道输入一定形式的信号,通过观察输出的信号来估计无线信道的传输特性。

目前,第一种方法还处于发展阶段,而且由于无线信道的复杂性,其估计得到的传播特性跟实际信道传播特性往往存在较大的误差[3,5]。第二种方法又称为黑箱建模方法,是目前获得对无线信道传输特性分析的主要手段[7]。

进行无线信道测量所需要无线信道测量仪器,一般称为信道探测器(Channel Sounder),多为专用仪器设备,仪器功能通常都非常复杂且出厂前已经固化,比如芬兰Elektrobit AG公司的PropSound以及德国MEDAV GmbH公司的RUSK系列[8-9]。这些仪器体积非常庞大且价格非常昂贵,对于开展科研实验可能只需要基本的信道测量功能,或想自己定制部分测量功能,或者在经费有限的情况下,这些仪器显然不太合适。因此,无论是无线网络设备提供商和运营商,还是科研院所都在寻求一种高性价比的、可灵活配置的无线信道测量设备。

针对上述需求,本文提出一种基于PCIe接口的软件化无线信道实时测量设备设计方法,该设备设计方案采用“高速信号采集+CPU处理”的通用软件无线电架构,不需要对发射机进行专门设计,利用其他装备或仪器发射的任意扩频信号,对无线信道多径特性的实时测量,具有结构通用性好、测量算法改变灵活、信息存储量内容丰富和实时性较好的特点,可满足现场及时掌握当前信道多径信息状况或通信信道长时间路测的需求。

1 系统总体设计

1.1 系统原理

基于PCIe接口的软件化无线信道实时测量设备原理如图1所示。发射端采用常规信号发射方法,基带信号为已经存储的伪随机序列信号。接收端采用基于中频采样的软件化接收机的形式来实现,射频信号经过低噪声放大器后,下变频至70 MHz中频,然后经过基于PCIe接口的高速数据采集卡将信号注入计算机,在采集卡上完成滤波、放大、信号采集、数字下变频和基带滤波等功能,在计算机CPU上实现本地信号生成、信号相关处理、数据处理和结果展示功能。其中,系统的核心在于PCIe中频信号采集卡硬件程序开发和基于windows平台的实时处理软件程序开发。

1.2 PCIe采集卡硬件设计

该设备设计的关键部分在于PCIe接口中频信号采集卡,该采集卡是一块基于高速PCI Express总线的板卡,板卡硬件组成包含7个子模块:中频放大模块、模拟滤波模块、中频自动增益控制模块、模数转换模块、数字信号处理模块、PCI Express总线模块以及其他外围电路,如图2所示,图2中深色箭头标明了信号流向。

图2 系统采集卡设计

1.2.1 中频放大模块

中频放大模块如图3所示,采用AD8370放大器,对70 MHz中频信号进行放大,该芯片的理论增益11~34 dB,模块的输入和输出阻抗均设计为50 Ω。放大器的增益值可由FPGA来配置。

1.2.2 模拟滤波模块

模拟滤波模块如图4所示,采用SAWTEK公司声表滤波器构建,可根据需要更换型号为自己合适的带宽。设计了双路可选方式,便于针对不同的中频信号实现带通滤波。以SAWTEK854673为例,带通滤波器中心频率70 MHz,带宽为26 MHz,滤波器插入损耗17 dB。

图4 模拟滤波模块设计

1.2.3 中频自动增益控制模块

中频自动增益控制模块如图5所示,这个模块和第一级AD8370放大一样,中频自动增益控制模块也是采用AD8370放大器。但在FPGA设计中对其增益值设计为可实时调整,便于需要时实现AGC控制。在实际测量过程中,可以通过断开自动增益控制信号来屏蔽自动增益控制功能。

图5 中频自动增益控制设计

1.2.4 模数转换电路模块

模数转换电路模块如图6所示,采用AD9467BCPZ-200芯片,最高支持到200 MHz采样。时钟同步方案采用时钟分发芯片同时提供给ADC和FPGA,在FPGA内部使用PLL调整时钟相位,以达到和ADC输出数据的准确同步,保证数据准确接收。

图6 模数转换电路设计

1.2.5 数字信号处理模块

数字信号处理模块如图7所示,主要包括在FPGA内利用代码或IP核实现的抗混叠滤波器、数字下变频器和低通滤波器。设计中,上电时PC端设置的下变频频率值被送至FPGA中,对数字下变频进行设置,方便将合适的信号下变频到基带。因为考虑PC硬盘记录速度不够,不能将26 MHz带宽的信号全部采集下来,于是采用了下抽取至25 MHz采样复基带16 bit输出,这样硬盘记录速度实为100 Mbps。

图7 数字信号处理设计

1.2.6 PCI Express总线模块

PCI Express总线模块基于Altera SOPC架构搭建,生成PCI Express 1.1标准4lane的节点设备。设计中采用了清中断、DMA传输的改进方法,使得板卡传输速度更接近理论速度,预测可达到500 Mbps。

1.2.7 其他外围电路模块

外围电路包括必须的电源、时钟、配置电路以及DDR2存储器电路。因该板卡是插在主板上的,所以对FPGA的快速配置设计显得特别重要,本板卡使用快速AS方式,配置时间满足大部分主板的要求。DDR2存储器电路主要用于将来对大数据量缓存之用。

1.3 PCIe采集卡软件设计

PCIe采集卡的软件部分主要用于数据采集和存储的控制。系统软件工作流程设计框图如图8所示。其中,PCIe硬IP以及DMA控制器等主要功能模块在SOPC中完成,AD_User_Logic和User_Logic2个模块用于控制系统工作,2个控制模块均位于FPGA内部,使用verilog编写。软件端基于WinDriver驱动编写用户程序。DMA传输过程中是FPGA端为master,PC端为slave的。

图8 PCIe采集软件流程

系统的工作流程如下:

① PC端将申请到的多页物理地址信息通过Slave_template发送到User_Logic中的FIFO中;

② 用户在PC端启动采集程序,开始工作;

③ 采集数据存储至64 kByte,User_Logic写DMA控制器和A2P Translate Table。如果是最后一个4 kByte,就硬件打开PCIe硬核CRA寄存器的中断使能;

④ DMA控制器开始做存储器直接访问,一次4 kByte,结束后DMA控制器给中断到User_Logic,User_Logic清中断后回到步骤③;

⑤ 最后一次DMA结束,DMA控制器给中断到PC,PC端的实时测量软件通过开辟新进程来从内存中提取出该次采集到的64 kByte数据,开始进行信号处理;

⑥ PC端进入中断服务程序后,Kernel模式下软件清中断,屏蔽PCIe硬核CRA寄存器的中断使能;

⑦ 中断服务程序中发现用户需要停止采集,发出停止标志,完成采集,同时实时测量软件也停止工作。

此外,该部分软件设计中的关键技术软件的设计中采用了多线程同步技术,避免了丢数据和重复读数据的问题。同时采用驱动kernel核心态中断响应技术,保证了中断响应的及时性。

1.4 实时测量软件设计

无线信道多径特性实时测量软件是基于PCIe采集卡软件的基础上,将原数据采集存储功能调整为直接从内存中调取采集数据并进行实时流处理,并将结果在界面上显示。采集处理软件主要启动4个线程并与中断处理程序协作,完成各种后续数据存储、处理、显示与输出任务,其线程分配如图9所示,其中calculator是实时处理线程。

图9 采集处理软件线程分配

软件主要的工作在saver和calculator中完成。temper和waiter存在的意义在于部分分担interupter的工作,减少CPU在interrupter内逗留的时间,提高整个系统的中断响应速度。

① temper:通过调用OS的API,不断查询“数据已缓存”信号的状态,若发现其状态改变,则立即发出“辅助中断处理”信号,通知waiter进行处理。

② waiter:通过调用OS的API,不断查询“辅助中断处理”信号的状态,若发现其状态改变,则发出“结束等待”信号,通知saver进行数据存储。

③ saver:通过调用OS的API,不断查询“结束等待”信号的状态,若发现其状态改变,则保存全部原始数据到文件中,并发出“保存完毕”信号回告waiter,同时发出“开始计算”信号通知calculator进行数据处理。

④ calculator:通过调用OS的API,不断查询“数据准备完毕”信号的状态,若发现其状态改变,则将原始数据复制一份到自己的工作区,然后执行相关峰计算和绘图输出任务。

Calculator线程是信道多径特性测量的主要工作线程,其运算流程如图10所示。

图10 Calculator线程流程

上述处理算法均在后台运行,基于PCIe接口的软件化无线信道多径参数实时测量设备的人机交互界面的实时探测参数设置界面如图11所示。可设置的参数包括载频、采样率,以及与发射信号相对应的PN序列长度、码片速率,实时观测的窗口长度和本地预存PN序列信号打开选项等,下方区域为实时探测结果显示区域。

图11 无线信道多径参数实时测量软件界面

2 设计实现

按照上述设计方案,完成了短波波段基于PCIe接口的软件化无线信道多径参数实时测量设备的研制,其主要工作步骤如下:

① 本地载波生成:设备本地载波的频综采用的是PCIe采集板卡上的10 MHz恒温晶振,依托其产生的中心载频和发射端发射载频存在一定频差,所以在设置本地中心频率后,还需要进行校频[8]来完成。

② 解调:经过数字下变频后,通过低通滤波器进行包络检波即可进行解调得到采用BPSK调制的伪随机序列。但是为了降低后面实时处理的压力,需要对采样率为6.25 MHz的解调数据进行抽取,即降采样。为防止考虑到抽取混叠和滤波器设计难度,系统采用了二级抽取和三级滤波的方法实现。

③ 相关处理:相关处理首先需要获取本地PN码序列,通常有2种方式:一是直接通过预存调取的方法;二是通过移位寄存器直接产生,由于PC端应用程序文件调用较为方便,故系统采用第一种方法。另外,此处还需要设置视窗长度,视窗长度一般取最大可测量时延的2~3倍,以确保在完整的多径信号相关峰值出现在视窗内。

④ 显示与存储:相关处理后将得到无线信道在测量窗口内的多径信号相关峰值曲线,该曲线首先送往界面进行实时显示,然后将按照时间顺序将该曲线写入文件中,从而满足了长时间路测获取信道多径传输信息的需求。

基于PCIe接口的软件化无线信道多径参数实时测量设备的实际测量结果如图12所示。

图12 实时测量结果显示屏幕切图

3 结束语

无线信道测量设备是开展无线信道探测工作的基础。本文根据商用化无线信道测量系统的现状,提出了一种基于PCIe接口的软件化无线信道实时测量设备设计方法,并自研成功及应用。但由于CPU的计算能力有限,因此,目前该设计方案对较低带宽的测量信号(如短波、超短波频段)具有良好的适用性,但是对高带宽信号尚存在一定的难度。在该领域的后续工作中,将在设备的小型化、便携化[11],向MIMO信道探测[12-13]方法的推广,以及基于GPU加速[14-15]的软件化实现方法等方面继续开展深入研究。

猜你喜欢

采集卡线程中断
5G终端模拟系统随机接入过程的设计与实现
实时操作系统mbedOS 互斥量调度机制剖析
浅析体育赛事售票系统错票问题的对策研究
多级中断屏蔽技术分析
育婴监控系统的设计与实现
一种考虑GPS信号中断的导航滤波算法
智能变电站电子式电流互感器故障分析
Linux中断线程化分析及中断延时测试
大型视频多帧图像信息处理系统设计
跟踪导练(二)(5)