北京乐电新南科技有限公司 100044
摘要:激光雷达是一种通过主动发射激光并接收激光反射或后向散射信号作为回波信号,通过对回波信号进行分析从而实现对目标进行探测的设备。由于雷达回波信号通常非常微弱,甚至信号强度低于背景噪声强度,因此,激光雷达回波信号采集设备的性能,直接决定雷达的测量性能。本文介绍了用于激光雷达的四通道14位100Msps高速频谱采集卡的设计过程,完整的介绍了包括系统结构、硬件电路设计、FPGA程序设计、USB接口固件和驱动程序设计等部分的设计过程。相应采集卡已在激光测风雷达实际产品上使用,取得了很好的测量效果。
关键词:激光雷达;FPGA;FFT;模数转换;数据采集
1引言
激光雷达是一种通过主动发射激光并接收激光反射或后向散射信号作为回波信号,通过对回波信号进行分析从而实现对目标进行探测的设备。由于雷达回波信号通常非常微弱,甚至信号强度低于背景噪声强度,因此,激光雷达回波信号采集设备的性能,直接决定雷达的测量性能。为了提高测量信噪比,常用的方法是利用测量目标在短时间内的变化可以忽略不计,连续采集多组数据,并将多组采集结果进行平均,从而提高测量的结果的信噪比。
激光雷达在大气测量、风廓线测量、污染物分布测量等领域的应用中,采样频率越高雷达的空间分辨率也就越高。同时这些应用领域中,往往需要的是测量结果的幅频特性曲线。传统的方法是将采集结果上送计算机或工控机后,上位机进行幅频特性的解算。由于计算机计算幅频特性的FFT算法,需要占用大量系统资源和运算性能,导致对于要求高采样率的需求,这种方案通常无法实现。因此,本方案中,对采集结果的存储过程、FFT运算过程、计算FFT运算结果幅频特性、幅频特性分组取平均过程,全部在FPGA系统内实现,将最终结果信号频谱的幅频特性上送计算机,从而将大量的计算机系统资源释放出来用于处理后续核心信号分析运算。同时,因为FPGA的处理过程是硬件流水线处理方式,所以相比计算机软件解算整个过程的速度更快,实时性更好。
2激光雷达系统基本结构
激光雷达采集系统的基本结构框图如图1所示,系统由计算机、激光发射器、发射光路、接收光路、光电探测器、回波信号数据采集卡组成。受控于计算机的激光发射器作为激光光源,通常情况发出的激光是特定脉冲周期的脉冲光;脉冲激光经过发送光路后,发送到待测环境中探测目标。脉冲激光照射到待测目标后产生反射光或后向散射光作为回波信号,被接收光路接收,并送入光电探测器;光电探测器将其转换为电信号,并经过放大,送入回波信号采集卡。最终,采集卡将采集结果送入计算机分析处理。本方案设计的采集卡,就是图中回波信号数据采集卡部分。采集卡可以不间断连续采集并存储1-16384组(可配置默认4096组)每组1024个四通道采样数据,单个通道单个样点占16bit,高14bit有效,总计最多采集并存储16384 x 1024 x 4 x 16bit = 1Gbit数据。数据采集之后,将每组数据进行1024点FFT运算,将FFT运算结果计算幅频特性,最后将所有组的幅频特性取平均得到最终结果。最后,将最终结果送计算机进行后续软件处理。
本方案采集卡具备一个外部触发信号接口,当收到外部触发信号时,开始采集数据。为了实现激光发射和采集数据在时间上同步,激光器发射器在发射激光脉冲的同时,会产生一个上升沿触发信号,通知采集卡开始采集数据。
图2 硬件设计框图
由硬件框图可见,整个硬件电路分为:电源管理、USB接口电路、FPGA部分、DDR存储芯片电路、时钟管理电路、ADC电路、前端信号调理电路、触发控制电路等几部分。
电源管理部分:电源管理部分为整个电路提供电源。整个电路板的输入电压范围是8VDC-18VDC宽电压输入。整个电路板根据使用位置的和电压值的不同,分为数字电路部分使用的3.3VDC、2.5VDC、1.2VDC,以及模拟电路部分使用的3.3VDC、1.8VDC、2.5VDC、-2.5VDC总共7种电压。其中数字中USB接口使用3.3VDC,DDR接口使用2.5VDC,FPGA核心电压为1.2VDC,与DDR接口的BANK电压为2.5VDC,与USB和ADC接口的BANK电压为3.3VDC。模拟电压中,3.3VDC和1.8VDC是用于ADC电路和时钟管理电路。2.5VDC和-2.5VDC用于前端信号调理电路。电源将数字电路电源和模拟电路电源独立分开,这样可以保证模拟电路尽可能不受数字电路的干扰。此外,为了保证尽量减小噪声,直接生成模拟部分电源的芯片全部采用线性稳压芯片实现。
USB接口电路:采用CY7C68013A芯片实现,该芯片组完整支持USB2.0协议,工作稳定可靠。USB2.0物理最高传输速度为480Mbps,扣除协议所需的各种开销后,经过实际测试,该芯片组实际有效数据传输速度最高位320Mbps。本项目采样率虽然很高,但在FPGA内部会进行FFT运算和取平均运算等数据处理过程,最终需要上送到PC的运算结果数据量并不大,320Mbps的传输速度完全满足项目要求。
FPGA部分电路:FPGA芯片采用EP4CE40F23C8N,该芯片有22,320个逻辑单元(LE),594Kbit的片上RAM,66个18x18乘法器,4个锁相环PLL。
DDR存储电路部分:该部分采用2片H5DU5162ETR芯片,每片芯片具有512Mbit的存储空间。该芯片数据位宽为16bit,由于DDR芯片是上下沿采样,故每个时钟周期可以存储32bit的数据。由于采集数据速度是4通道100M x 16bit,2片DDR芯片同时存储采集结果,考虑DDR写入的各种开销后,时钟频率工作在133MHz即可满足需求。
ADC电路:采用AD9640ABCPZ芯片,该芯片具有80MHz、105MHz、125MHz、150MHz四种采样率版本,使用100MHz以上的三种均可。该芯片每片具有两个同步采样的ADC通道,125M采样率时70MHz信号的SNR为 71.8 dBc,SFDR为 85 dBc。典型的差分非线性度(DNL)只有 ±0.4LSB,典型的积分非线性度(INL)为±2LSB,具有非常优良的性能。
时钟管理电路:由于采集卡采集频率较高,为避免相位噪声对采样精度的影响,必须使用超低抖动(jitter)晶振作为时钟源。由于采集卡有2片ADC芯片,为保证同步采集,采用AD9513芯片做时钟分发。该芯片最高可产生800MHz时钟输出,典型输出时钟抖动增加值仅为300fs RMS,确保时钟高质量分发到两片ADC芯片。
前端信号调理电路:前端信号调理电路采用AD8138芯片实现。为保证阻抗匹配,输入阻抗须匹配至50欧姆。同时,需要根据输入信号测量范围对信号进行适当缩放,以适配ADC芯片的最大量程。此外,由于AD9640芯片是差分输入,而输入信号为单端信号,还需要将单端信号转差分处理。
触发控制电路:触发控制电路部分是接收触发信号,并与配置的触发电压比较,产生触发信号送至FPGA。
4.采集卡FPGA设计
图3 FPGA设计框图
由图可见,采集卡FPGA部分,由ADC接口控制模块、触发电路接口控制模块、触发控制模块、DDR控制器模块、DDR MEMPHY模块、数据分发模块、FFT模块、运算模块、数据合并模块、USB电路接口控制模块、配置寄存器控制模块、时钟复位控制模块等部分构成。
ADC接口控制模块:该模块处理ADC芯片接口信号时序,并可以对数据进行零点偏置调节、波形缩放处理。每片ADC对应两个通道信号数据采集。
触发电路接口控制模块:该模块配置触发控制电路,产生需要的触发电平。同时,对输入的触发信号进行防抖处理、时钟域同步等处理,将处理结果送触发控制模块。
触发控制模块:根据触发信号,控制数据是否写入DDR存储器,即控制是否采集数据。
DDR控制器模块:根据DDR芯片时序要求,产生DDR芯片控制指令,用于对DDR芯片进行读写控制。
DDR MEMPHY模块:使用ALTERA公司的IP核,将DDR芯片控制指令转换成对应物理电平,控制DDR芯片。
数据分发模块:将数据分通道进行分发,送至对应的FFT处理器。
FFT模块:使用ALTERA公司的IP核,对信号采集结果进行FFT运算。
运算模块:将FFT模块运算结果先按照指数进行移位处理,之后对实部和虚部进行平方和处理,然后将结果去平方根,得出每一组的幅频响应。最后再将多组幅频响应取平均处理,得出最终的结果。
数据合并模块:将多路的数据合并,以便通过USB进行传输。
USB电路接口控制模块:根据CY7C68013A芯片时序产生控制信号,将数据送至PC。
配置寄存器控制模块:PC通过USB接口,读写配置寄存器,从而控制采集卡。配置寄存控制模块对配置寄存器统一进行管理和控制。
时钟复位控制模块:对各个时钟域时钟进行管理,产生各时钟域复位信号。
5.USB接口芯片程序及驱动程序设计
采集卡USB接口电路是使用CY7C68013A芯片实现的,使用的是Slave FIFO模式。CY7C68013A芯片是Cypress公司生产的高度集成的SOC芯片。芯片上除了USB2.0控制器外,还集成了8051单片机核、锁相环、4KB FIFO和16KB RAM等资源。用户主要是通过对8051单片机核进行编程,控制整个芯片。由于Cypress厂商已经给出了单片机固件库说明、使用例程等开发资源,用户只需要在例程上适当修改,满足使用需求即可。本项目使用的是Slave FIFO模式,该模式下,USB接口可视为一个从设备FIFO,FPGA主动写入数据,即可将数据发送至PC,使用过程非常便捷。
在PC驱动程序方面,同样Cypress公司已经给出了CY7C68013A芯片的驱动程序库函数,我们只需要在此驱动基础上,封装生成采集卡对应的API接口函数即可。函数大致有以下几类函数:打开关闭设备、开始和停止采集、接收数据、获取工作状态、触发设置、零点偏移和波形缩放设置。
驱动程序使用时,首先要打开USB设备,然后对采集卡进行配置(如触发设置、校准设置等),之后调用开始采集函数进行采集,不断调用接收函数接收数据,接收到足够的数据后停止采集即可。驱动使用流程图见图4。
图4 驱动使用流程图
结论
本文介绍了用于激光雷达的四通道14位100Msps高速频谱采集卡的设计过程,完整的介绍了包括系统结构、硬件电路设计、FPGA程序设计、USB接口固件和驱动程序设计等部分的设计过程。相应采集卡已在激光测风雷达实际产品上使用,取得了很好的测量效果。
参考文献
[1]高昕. 可重构激光雷达数据采集平台研究[D]. 中国科学技术大学,2014.
[2]陈绵云,张云鹏. 基于MCS-pci卡的激光雷达数据采集系统[J]. 光电子?激光,2008,(4).doi:10.3321/j.issn:1005-0086.2008.04.037.
[3]文斐,梁福田,夏龙生,等. 大气环境监测激光雷达数据采集系统[J]. 核电子学与探测技术,2011,(3).doi:10.3969/j.issn.0258-0934.2011.03.006.
[4]王康,张玉钧,李胜,等. 基于FPGA的半导体激光云高仪数据采集处理方法[J]. 大气与环境光学学报,2015,(1):39-45.doi:10.3969/ j.issn.1673-6141.2015.01.005.
论文作者:邵际南
论文发表刊物:《防护工程》2019年20期
论文发表时间:2020/3/7
标签:信号论文; 芯片论文; 激光论文; 模块论文; 数据论文; 电路论文; 回波论文; 《防护工程》2019年20期论文;