CN116736234B - 一种基于fpga的雷达数据采集方法、系统及装置 - Google Patents
一种基于fpga的雷达数据采集方法、系统及装置 Download PDFInfo
- Publication number
- CN116736234B CN116736234B CN202311025219.2A CN202311025219A CN116736234B CN 116736234 B CN116736234 B CN 116736234B CN 202311025219 A CN202311025219 A CN 202311025219A CN 116736234 B CN116736234 B CN 116736234B
- Authority
- CN
- China
- Prior art keywords
- data
- upper limit
- signal
- limit value
- reading
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 23
- 230000001960 triggered effect Effects 0.000 claims abstract description 58
- 238000012545 processing Methods 0.000 claims abstract description 12
- 230000005540 biological transmission Effects 0.000 claims description 13
- 238000006243 chemical reaction Methods 0.000 claims description 11
- 238000004891 communication Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 6
- 238000007405 data analysis Methods 0.000 claims description 6
- 230000004044 response Effects 0.000 claims description 6
- 230000003139 buffering effect Effects 0.000 claims description 4
- 230000000694 effects Effects 0.000 abstract description 2
- 238000013461 design Methods 0.000 description 11
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 238000005070 sampling Methods 0.000 description 3
- 238000013480 data collection Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S7/00—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
- G01S7/02—Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S13/00
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0423—Input/output
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06M—COUNTING MECHANISMS; COUNTING OF OBJECTS NOT OTHERWISE PROVIDED FOR
- G06M1/00—Design features of general application
- G06M1/08—Design features of general application for actuating the drive
- G06M1/10—Design features of general application for actuating the drive by electric or magnetic means
- G06M1/108—Design features of general application for actuating the drive by electric or magnetic means by electronic means
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Theoretical Computer Science (AREA)
- Radar Systems Or Details Thereof (AREA)
Abstract
本发明涉及雷达数据处理领域,公开了一种基于FPGA的雷达数据采集方法、系统及装置,其技术方案要点是:包括如下步骤:对FPGA芯片的数组变量进行赋值;在状态机为数据接收状态时,接收输出数据并启动接收计数器,每接收一个输出数据时,接收计数器自累加1,根据接收计数器与第一上限值a、读写上限值a+b的数值关系,在接收计数器与第一上限值a对应时,触发第一写入信号和第一读取信号,在接收计数器与读写上限值a+b对应时,触发第二写入信号和第二读取信号;根据被触发的信号分别对第一缓存模块、第二缓存模块进行输出数据的写入和读取;将读取的有效雷达数据传输至目标设备,具有成本更低,适配性更好的效果。
Description
技术领域
本发明涉及雷达数据处理领域,更具体地说,它涉及一种基于FPGA的雷达数据采集方法、系统及装置。
背景技术
目前基于FPGA设计的雷达射频芯片的数据采集卡市面上有很多的,但是大多数基于FPGA设计的数据采集卡,其基本的数据参数,包括雷达采样点数、雷达数据起始码,无法跟随射频芯片一样进行动态调整,使得每次射频芯片参数发生变化时,都需要对FPGA程序进行重新编译,来适配前端射频芯片,极大的降低整体工作效率。
雷达射频芯片输出数据最基本两个参数分别是:雷达采样点数和雷达数据起始码,其中雷达采样点数包含了一帧雷达数据包含的总数据量,而雷达数据起始码则是定义了从何时开始算是有效数据,甚至很多时候为了验证算法正确性,射频芯片开发人员会在雷达起始码增加其他物理含义的数值,包括时间、通道数等等,方便算法设计人员定位不同时间点对应的雷达数据。
传统的FPGA设计方案会先在内部定义两个变量,分别是一个数组变量A[N]和一个数据计数值变量CNT,将识别码和数据点数分别赋值给A[N]和CNT。之后当雷达数据进来后,FPGA开始解析数据,并依次对比数组A[N],在整个数组A[N]均校对正确后,才开始进行有效数据采集,同时启动数据采集计数器data_cnt,只有数据采集计数器data_cnt达到CNT时,触发一个一帧数据结束信号,并启动网口传输,将采集到雷达数据通过网口传输出去。
这样设计缺点包含:
1、如果一帧数据量较大,为了确保网口在传输数据时,数据不发生变化,就需要一个容量较大的DDR芯片作为FPGA的外部存储芯片,导致成本会提高。
2、在雷达算法验证初期阶段,会需要经常设置不同采样点数,同时雷达识别码也不能一直固定不变,而上述方案在发生点数改变或者识别码变动时,就需要重新对数组A[N]或CNT进行定义,并再次对FPGA程序进行编译调试,否则数据就会丢失。增加了前期雷达算法开发的时间,不利于实际工作开展。
发明内容
本发明的目的是提供一种基于FPGA的雷达数据采集方法、系统及装置,具有成本更低,适配性更好的效果。
本发明的上述技术目的是通过以下技术方案得以实现的:一种基于FPGA的雷达数据采集方法,包括如下步骤:
S1、响应于雷达数据采集指令,获取定义好的数据识别码,并对FPGA芯片的数组变量进行赋值;
S2、获取目标芯片的原始雷达数据,并解析得到输出数据和对应的数据有效信号;
S3、通过首个数据有效信号触发状态机进入数据识别码对比状态,对输出数据和数组变量进行对比,对比一致后,调整状态机进行数据接收状态;
S4、在状态机为数据接收状态时,接收输出数据并启动接收计数器,每接收一个输出数据时,接收计数器自累加1,当接收计数器为读写上限值a+b后置零;
根据接收计数器与第一上限值a、读写上限值a+b的数值关系,在接收计数器与第一上限值a对应时,触发第一写入信号和第一读取信号,在接收计数器与读写上限值a+b对应时,触发第二写入信号和第二读取信号;
S5、根据被触发的第一写入信号、第一读取信号分别对第一缓存模块进行输出数据的写入和读取;根据被触发的第二写入信号、第二读取信号分别对第二缓存模块进行输出数据的写入和读取,读取得到有效雷达数据;
S6、将读取的有效雷达数据传输至目标设备。
作为本发明的一种优选技术方案,所述S4的步骤包括:
在状态机为数据接收状态时,接收输出数据并启动接收计数器,每接收一个输出数据时,接收计数器自累加1,当接收计数器小于读写第一上限值a时,触发第一写入信号;当接收计数器等于读写第一上限值a时,触发第一读取信号;当接收计数器大于第一上限值a时,触发第二写入信号;当接收计数器等于读写上限值a+b时,触发第二读取信号后置零;
在接收接收计数器等于读写上限值a+b时,启动延时计数器,当存在有效数据信号输入时,延时计数器置零,否则延时计数器自累加1,当延时计数器大于预设阈值c时,触发采集完成信号,将状态机调整为空闲状态;
在采集完成信号被触发时,如果接收计数器小于第一上限值a,触发第一读取信号,若接收计数器大于等于第一上限值a,触发第二读取信号。
作为本发明的一种优选技术方案,所述第一上限值a为第一缓存模块的读写容量上限,第二缓存模块的读写容量上限为第二上限值b。
作为本发明的一种优选技术方案,所述状态机中还设置有通道选择信号,在采集完成信号被触发后,所述通道选择信号在接收计数器小于第一上限值a时为第一状态,选择第一缓存模块作为输出数据的写入对象,在接收计数器大于等于第一上限值a时为第二状态,选择第二缓存模块作为输出数据的写入对象。
作为本发明的一种优选技术方案,所述S6的步骤包括:对读取的有效雷达数据进行时钟处理,再对时钟处理后的有效雷达数据进行输出格式转换,将格式转换后的有效雷达数据传输到目标设备。
一种基于FPGA的雷达数据采集系统,包括:
响应模块,用于响应雷达数据采集指令,获取定义好的数据识别码,并对FPGA芯片的数组变量进行赋值;
数据解析模块,获取目标芯片的原始雷达数据,并解析得到输出数据和对应的数据有效信号;
数据识别码模块,用于通过首个数据有效信号触发状态机进入数据识别码对比状态,对输出数据和数组变量进行对比,对比一致后,调整状态机进行数据接收状态;在状态机为数据接收状态时,接收输出数据并启动接收计数器,每接收一个输出数据时,接收计数器自累加1,当接收计数器为读写上限值a+b后置零;
还用于根据接收计数器与第一上限值a、读写上限值a+b的数值关系,在接收计数器与第一上限值a对应时,触发第一写入信号和第一读取信号,在接收计数器与读写上限值a+b对应时,触发第二写入信号和第二读取信号;
读写控制模块,用于根据被触发的第一写入信号、第一读取信号分别对第一缓存模块进行输出数据的写入和读取;根据被触发的第二写入信号、第二读取信号分别对第二缓存模块进行输出数据的写入和读取,读取得到有效雷达数据;
传输模块,将读取的有效雷达数据传输至目标设备。
作为本发明的一种优选技术方案,所述响应模块包括上位机/PC模块、串口通信模块;
所述上位机/PC模块用于预先对雷达数据的识别码和点数进行定义,形成数据识别码,并通过串口总线下发至FPGA芯片的串口通信模块中;
所述串口通信模块,用于接收上位机/PC模块下发的数据识别码,并存入至数据识别码模块中的数组变量中;
所述传输模块包括异步数据暂存器FIFO模块和USB发送模块;
异步数据暂存器FIFO模块,用于对读取的有效雷达数据进行时钟处理;
所述USB发送模块,对时钟处理后的有效雷达数据进行输出格式转换,将格式转换后的有效雷达数据传输到目标设备。
作为本发明的一种优选技术方案,所述数据识别码模块,用于在状态机为数据接收状态时,接收输出数据并启动接收计数器,每接收一个输出数据时,接收计数器自累加1,当接收计数器小于读写第一上限值a时,触发第一写入信号;当接收计数器等于读写第一上限值a时,触发第一读取信号;当接收计数器大于第一上限值a时,触发第二写入信号;当接收计数器等于读写上限值a+b时,触发第二读取信号后置零;
在接收接收计数器等于读写上限值a+b时,启动延时计数器,当存在有效数据信号输入时,延时计数器置零,否则延时计数器自累加1,当延时计数器大于预设阈值c时,触发采集完成信号,将状态机调整为空闲状态;
在采集完成信号被触发时,如果接收计数器小于第一上限值a,触发第一读取信号,若接收计数器大于等于第一上限值a,触发第二读取信号。
作为本发明的一种优选技术方案,所述读写控制模块包括:写乒乓控制模块、第一缓存模块、第二缓存模块、读乒乓控制模块;
所述写乒乓控制模块,根据通道选择信号为输出数据进行写操作,在通道选择信号为第一状态时,选择第一缓存模块作为输出数据的写入对象,在通道选择信号为第二状态时,选择第二缓存模块作为输出数据的写入对象,所述通道选择信号在接收计数器小于第一上限值a时为第一状态,在接收计数器大于等于第一上限值a时为第二状态;
所述读乒乓控制模块,用于根据第一读取信号和第二读取信号,分别从第一缓存模块和第二缓存模块中读取数据;
所述第一缓存模块和所述第二缓存模块用于对输出数据进行缓存。
一种基于FPGA的雷达数据采集装置,包括:处理器和存储器,所述存储器存储有所述处理器可执行的计算机程序,所述处理器执行所述计算机程序时实现上述方法。
综上所述,本发明具有以下有益效果:通过基于FPGA的设计,在仔细分析了数据采集系统的基本原理,通过增加串口模块、串行状态机设计以及多计数器灵活调用的基础上,无需得知明确的数据总点数的前提下,实现数据采集并传输,极大的提高数据采集系统的适配性,即在外部射频芯片参数发生修改后,无需再重新对程序进行编译调试,可以直接使用,并且通过乒乓控制器的设计,无需再外挂大容量的DDR存储芯片,降低了系统的成本。
附图说明
图1是本发明系统框图;
图2是本发明的状态机运行图。
图中:1、上位机/PC模块;2、目标芯片;3、串口通信模块;4、数据解析模块;5、数据识别码模块;6、写乒乓控制模块;7、第一缓存模块;8、第二缓存模块;9、读乒乓控制模块;10、异步数据暂存器FIFO模块;11、USB发送模块。
具体实施方式
以下结合附图对本发明作进一步详细说明。
一种基于FPGA的雷达数据采集方法和系统,如图1和2所示,包括通过系统中组成模块执行的如下步骤:
S1、在对整个采集系统上电的情况下,此时用户可以通过响应模块,响应于雷达数据采集指令,获取定义好的数据识别码,并对FPGA芯片的数组变量A[N]进行赋值;
具体的,响应模块包括上位机/PC模块1、串口通信模块3;
上位机/PC模块1用于预先对雷达数据的识别码和点数进行定义,形成数据识别码,并通过串口总线下发至FPGA芯片的串口通信模块3中;
串口通信模块3,用于接收上位机/PC模块1下发的数据识别码,并存入至数据识别码模块5中的数组变量中,以实现对FPGA芯片的数组变量A[N]进行赋值。
S2、通过数据解析模块4,对接目标芯片2,并获取目标芯片2的原始雷达数据,按照不同射频的数据手册进行编码,解析得到输出数据data和对应的数据有效信号data_valid。
S3、通过数据识别码模块5设置状态机,在实际运行时,在状态机位于空闲状态IDLE下,通过首个数据有效信号data_valid触发状态机进入数据识别码对比状态CONTRAST,对输出数据data和数组变量进行对比,对比一致后,表明找到了输出数据的起始位置,调整状态机进行数据接收状态COLLECT,准备接收有效的输出数据;
S4、还通过数据识别码模块5,在状态机为数据接收状态COLLECT时,接收输出数据data并启动接收计数器data_cnt,每接收一个输出数据data时,接收计数器data_cnt自累加1,当接收计数器data_cnt为读写上限值a+b后置零;
根据接收计数器data_cnt与第一上限值a、读写上限值a+b的数值关系,在接收计数器data_cnt与第一上限值a对应时,触发第一写入信号和第一读取信号,在接收计数器data_cnt与读写上限值a+b对应时,触发第二写入信号和第二读取信号;
具体的,在状态机为数据接收状态时,每接收一个输出数据data时,接收计数器data_cnt自累加1,当接收计数器data_cnt小于读写第一上限值a时,触发第一写入信号;当接收计数器data_cnt等于读写第一上限值a时,触发第一读取信号;当接收计数器data_cnt大于第一上限值a时,触发第二写入信号;当接收计数器data_cnt等于读写上限值a+b时,触发第二读取信号后置零;其中第一上限值a为第一缓存模块7的读写容量上限,第二缓存模块8的读写容量上限为第二上限值b,而整个缓存单元的读写上限值为a+b。
在接收接收计数器data_cnt等于读写上限值a+b时,启动延时计数器delay_cnt,当存在数据有效信号输入时,延时计数器delay_cnt置零,否则延时计数器delay_cnt自累加1,当延时计数器delay_cnt大于预设阈值c时,触发采集完成信号data_flag,将状态机调整为空闲状态IDLE;
在采集完成信号data_flag被触发时,如果接收计数器data_cnt小于第一上限值a,触发第一读取信号,若接收计数器data_cnt大于等于第一上限值a,触发第二读取信号。
状态机中还设置有通道选择信号sel,在采集完成信号data_flag被触发后,通道选择信号sel在接收计数器data_cnt小于第一上限值a时为第一状态,选择第一缓存模块7作为输出数据data的写入对象,在接收计数器data_cnt大于等于第一上限值a时为第二状态,选择第二缓存模块8作为输出数据data的写入对象。
S5、通过读写控制模块,根据被触发的第一写入信号、第一读取信号分别对第一缓存模块7进行输出数据data的写入和读取;根据被触发的第二写入信号、第二读取信号分别对第二缓存模块8进行输出数据data的写入和读取,读取得到有效雷达数据;
读写控制模块包括:写乒乓控制模块6、第一缓存模块7、第二缓存模块8、读乒乓控制模块9;
写乒乓控制模块6,根据通道选择信号sel为输出数据data进行写操作,在通道选择信号sel为第一状态时,选择第一缓存模块7作为输出数据data的写入对象,在通道选择信号sel为第二状态时,选择第二缓存模块8作为输出数据data的写入对象,通道选择信号sel在接收计数器data_cnt小于第一上限值a时为第一状态,在接收计数器data_cnt大于等于第一上限值a时为第二状态;从而实现数据存储的乒乓操作,通过通道选择信号sel,来判断是写入第一缓存模块7还是第二缓存模块8中。
读乒乓控制模块9,用于根据第一读取信号和第二读取信号,分别从第一缓存模块7和第二缓存模块8中读取数据;
第一缓存模块7和第二缓存模块8用于对输出数据data进行缓存。
S6、通过传输模块,将读取的有效雷达数据传输至目标设备,其中传输模块包括异步数据暂存器FIFO模块10和USB发送模块11;
异步数据暂存器FIFO模块10,用于对读取的有效雷达数据进行时钟处理;将前端接受到的数据与外部USB芯片的时钟同步,因为很多时候,为了数据采集的方便,设计人员会选用和射频芯片同步的时钟来做整个数据采集系统的驱动时钟,该时钟与USB芯片时钟并不同步,因此在此增加一个异步数据暂存器FIFO模块10实现一个跨时域的处理,为了简化系统的复杂性,可以运用的xilinx的官方IP实现。
USB发送模块11,对时钟处理后的有效雷达数据进行输出格式转换,将格式转换后的有效雷达数据传输到目标设备,例如将采集进来的雷达射频数据,按照USB3.0的Slave_FIFO协议,输出至外部USB芯片中,通过USB芯片将数据传输至上位机或者PC端。
对应于上述的方法和系统,本发明还提供了一种基于FPGA的雷达数据采集装置,包括:处理器和存储器,存储器存储有处理器可执行的计算机程序,处理器执行计算机程序时实现上述方法。
作为本发明的一种实施例,本发明中的数据起始码模块和读写控制模块为本发明的核心工作模块,其中数据起始码模块的功能包括:
一、将解析出来的数据,逐个将输出数据data与数组变量A[N]进行比较,只有某一连串输出数据均与数组里数据一致时,才能代表找到有效数据的起始位置,准备开始接受有效数据。
二、根据数据解析模块4的数据有效信号data_valid进行判断,当连续一段时间内采集不到数据有效信号data_valid时,触发一个采集完成信号data_flag,在本发明中,采集系统设定为N个周期内未采集到数据有效信号data_valid,将采集完成信号data_flag置1。
三、为了降低资源,第一缓存模块7、第二缓存模块8的存储深度均为64,因此选择数据量128为接收计数器的上限,当开始采集输出数据data时,启动接收计数器data_cnt,每写入一个,接收计数器data_cnt自累加1,当接收计数器data_cnt=128时清零,并重新计数,这时在接收计数器data_cnt<64时,写入第一缓存模块7中,当接收计数器data_cnt大于64并小于128时则写入第二缓存模块8中,实现一个写入乒乓缓存操作。
四、根据采集完成信号data_flag信号,来触发写乒乓控制模块6的通道选择信号sel。其中当接收计数器data_cnt<64时,通道选择信号sel=0,即第一状态,当接收计数器data_cnt>=64时,通道选择信号sel=1,即第二状态;
五、根据接收计数器data_cnt来触发读乒乓控制模块9的启动信号,其中当接收计数器data_cnt=64时表明第一缓存模块7的数据已经缓存完毕,第二缓存模块8准备开始进行缓存,因此可以进行读取第一缓存模块7操作,即触发第一读取信号rd_ram_a,当接收计数器data_cnt=128时,表明第二缓存模块8缓存完毕,可以进行第二缓存模块8读取操作,即触发第二读取信号rd_ram_b,需要注意的是,很多情况下,数据总量并不是64的整数倍,因此数据起始码模块中,当采集完成信号data_flag=1时,接收计数器data_cnt有可能小于64或者大于64但小于128,如果继续按照上述情况,则不会触发第一读取信号rd_ram_a或者第二读取信号rd_ram_b,就会丢失数据最后一小部分,对此,本发明采取收到采集完成信号data_flag=1时,会根据接收计数器data_cnt的大小来判断是触发第一读取信号rd_ram_a还是第二读取信号rd_ram_b,如果接收计数器data_cnt<64则触发第一读取信号rd_ram_a,否则触发第二读取信号rd_ram_b。本发明方法可以很好解决了点数灵活变化时,数据会丢失的问题。
作为本发明方法的一种实施例,如图2所示,以下是数据识别码模块5的运行流程:
步骤1:采集系统上电,状态机进入空闲状态IDLE,同时上位机根据设计需要定义数据识别码,并通过串口下发至FPGA内部,FPGA在空闲状态IDLE下根据串口接受的数据,来对数组变量A[N]进行赋值。
步骤2:射频芯片上电,开始输出原始雷达ADC数据,数据解析模块4开始解析数据,并输出数据data和对应的数据有效信号data_valid,当状态机在空闲状态IDLE下接收到数据有效信号data_valid时,进入到数据识别码对比状态CONTRAST,只有当所有数据均与识别码一致时状态机进入数据接收状态COLLECT,否则状态机不发生改变。
步骤3:状态机进入到COLLECT状态下,开始接受有效数据,并启动data_cnt,当接收到一个数据时,data_cnt自加1,本发明采用的两深度为64的RAM作为乒乓控制的缓存器,因此以data_cnt=128为计数器上限,在data_cnt=64时触发rd_ram_a信号,当data_cnt=128时触发rd_ram_b信号,同时设定一个延时计数器delay_cnt,在COLLECT状态下,每来一个data_valid该计数器清零,否则自加,根据雷达数据手册可以得知,数据有效宽度一般是8位、16位或者32位,因此将延时计数器delay_cnt的值设为40阈值,以满足不同的雷达芯片的需求,即如果delay_cnt超过40,代表不再有数据输入,状态机进入STOP状态触发数据结束标志信号data_flag,一个时钟周期状态机回到IDLE状态,该信号一旦触发,则判断当前data_cnt的值,如果data_cnt<64时,则触发rd_ram_a,否则触发rd_ram_b。同时当data_cnt<64时,sel信号置0,表明数据写入第一缓存模块7中,当data_cnt>=64时,sel=1则写入第二缓存模块8中。
步骤4:当rd_ram_a信号触发时,代表第一缓存模块7数据已经缓存完毕,开始读取ram_a数据,并通过传输模块传输至上位机,在USB传输的同时,第二缓存模块8同步进行接收数据,等待rd_ram_b信号触发时,开始读取ram_b数据,也通过USB发送模块11传输至上位机,实现USB发送,FPGA接受同步进行,两者之间利用RAM乒乓缓存操作进行桥接。
本发明的优势在于:通过基于FPGA的设计,在仔细分析了数据采集系统的基本原理,通过增加串口模块、串行状态机设计以及多计数器灵活调用的基础上,无需得知明确的数据总点数的前提下,实现数据采集并传输,极大的提高数据采集系统的适配性,即在外部射频芯片参数发生修改后,无需再重新对程序进行编译调试,可以直接使用,并且通过乒乓控制器的设计,无需再外挂大容量的DDR存储芯片,降低了系统的成本。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (9)
1.一种基于FPGA的雷达数据采集方法,其特征是:包括如下步骤:
S1、响应于雷达数据采集指令,获取定义好的数据识别码,并对FPGA芯片的数组变量进行赋值;
S2、获取目标芯片的原始雷达数据,并解析得到输出数据和对应的数据有效信号;
S3、通过首个数据有效信号触发状态机进入数据识别码对比状态,对输出数据和数组变量进行对比,对比一致后,调整状态机进行数据接收状态;
S4、在状态机为数据接收状态时,接收输出数据并启动接收计数器,每接收一个输出数据时,接收计数器自累加1,当接收计数器为读写上限值a+b后置零;
在接收计数器小于读写第一上限值a时,触发第一写入信号;当接收计数器等于读写第一上限值a时,触发第一读取信号,当接收计数器大于第一上限值a时,触发第二写入信号,当接收计数器等于读写上限值a+b时,触发第二读取信号后置零,其中第一上限值a为第一缓存模块的读写容量上限,第二上限值b为第二缓存模块的读写容量上限;
S5、根据被触发的第一写入信号、第一读取信号分别对第一缓存模块进行输出数据的写入和读取;根据被触发的第二写入信号、第二读取信号分别对第二缓存模块进行输出数据的写入和读取,读取得到有效雷达数据;
S6、将读取的有效雷达数据传输至目标设备。
2.根据权利要求1所述的一种基于FPGA的雷达数据采集方法,其特征是:所述S4的步骤包括:
在状态机为数据接收状态时,接收输出数据并启动接收计数器,每接收一个输出数据时,接收计数器自累加1,当接收计数器小于读写第一上限值a时,触发第一写入信号;当接收计数器等于读写第一上限值a时,触发第一读取信号;当接收计数器大于第一上限值a时,触发第二写入信号;当接收计数器等于读写上限值a+b时,触发第二读取信号后置零;
在接收接收计数器等于读写上限值a+b时,启动延时计数器,当存在有效数据信号输入时,延时计数器置零,否则延时计数器自累加1,当延时计数器大于预设阈值c时,触发采集完成信号,将状态机调整为空闲状态;
在采集完成信号被触发时,如果接收计数器小于第一上限值a,触发第一读取信号,若接收计数器大于等于第一上限值a,触发第二读取信号。
3.根据权利要求2所述的一种基于FPGA的雷达数据采集方法,其特征是:所述状态机中还设置有通道选择信号,在采集完成信号被触发后,所述通道选择信号在接收计数器小于第一上限值a时为第一状态,选择第一缓存模块作为输出数据的写入对象,在接收计数器大于等于第一上限值a时为第二状态,选择第二缓存模块作为输出数据的写入对象。
4.根据权利要求3所述的一种基于FPGA的雷达数据采集方法,其特征是:所述S6的步骤包括:对读取的有效雷达数据进行时钟处理,再对时钟处理后的有效雷达数据进行输出格式转换,将格式转换后的有效雷达数据传输到目标设备。
5.一种基于FPGA的雷达数据采集系统,其特征是:包括:
响应模块,用于响应雷达数据采集指令,获取定义好的数据识别码,并对FPGA芯片的数组变量进行赋值;
数据解析模块,获取目标芯片的原始雷达数据,并解析得到输出数据和对应的数据有效信号;
数据识别码模块,用于通过首个数据有效信号触发状态机进入数据识别码对比状态,对输出数据和数组变量进行对比,对比一致后,调整状态机进行数据接收状态;在状态机为数据接收状态时,接收输出数据并启动接收计数器,每接收一个输出数据时,接收计数器自累加1,当接收计数器为读写上限值a+b后置零;
还用于在接收计数器小于读写第一上限值a时,触发第一写入信号;当接收计数器等于读写第一上限值a时,触发第一读取信号,当接收计数器大于第一上限值a时,触发第二写入信号,当接收计数器等于读写上限值a+b时,触发第二读取信号后置零,其中第一上限值a为第一缓存模块的读写容量上限,第二上限值b为第二缓存模块的读写容量上限;
读写控制模块,用于根据被触发的第一写入信号、第一读取信号分别对第一缓存模块进行输出数据的写入和读取;根据被触发的第二写入信号、第二读取信号分别对第二缓存模块进行输出数据的写入和读取,读取得到有效雷达数据;
传输模块,将读取的有效雷达数据传输至目标设备。
6.根据权利要求5所述的一种基于FPGA的雷达数据采集系统,其特征是:所述响应模块包括上位机/PC模块、串口通信模块;
所述上位机/PC模块用于预先对雷达数据的识别码和点数进行定义,形成数据识别码,并通过串口总线下发至FPGA芯片的串口通信模块中;
所述串口通信模块,用于接收上位机/PC模块下发的数据识别码,并存入至数据识别码模块中的数组变量中;
所述传输模块包括异步数据暂存器FIFO模块和USB发送模块;
异步数据暂存器FIFO模块,用于对读取的有效雷达数据进行时钟处理;
所述USB发送模块,对时钟处理后的有效雷达数据进行输出格式转换,将格式转换后的有效雷达数据传输到目标设备。
7.根据权利要求6所述的一种基于FPGA的雷达数据采集系统,其特征是:所述数据识别码模块,用于在状态机为数据接收状态时,接收输出数据并启动接收计数器,每接收一个输出数据时,接收计数器自累加1,当接收计数器小于读写第一上限值a时,触发第一写入信号;当接收计数器等于读写第一上限值a时,触发第一读取信号;当接收计数器大于第一上限值a时,触发第二写入信号;当接收计数器等于读写上限值a+b时,触发第二读取信号后置零;
在接收接收计数器等于读写上限值a+b时,启动延时计数器,当存在有效数据信号输入时,延时计数器置零,否则延时计数器自累加1,当延时计数器大于预设阈值c时,触发采集完成信号,将状态机调整为空闲状态;
在采集完成信号被触发时,如果接收计数器小于第一上限值a,触发第一读取信号,若接收计数器大于等于第一上限值a,触发第二读取信号。
8.根据权利要求7所述的一种基于FPGA的雷达数据采集系统,其特征是:所述读写控制模块包括:写乒乓控制模块、第一缓存模块、第二缓存模块、读乒乓控制模块;
所述写乒乓控制模块,根据通道选择信号为输出数据进行写操作,在通道选择信号为第一状态时,选择第一缓存模块作为输出数据的写入对象,在通道选择信号为第二状态时,选择第二缓存模块作为输出数据的写入对象,所述通道选择信号在接收计数器小于第一上限值a时为第一状态,在接收计数器大于等于第一上限值a时为第二状态;
所述读乒乓控制模块,用于根据第一读取信号和第二读取信号,分别从第一缓存模块和第二缓存模块中读取数据;
所述第一缓存模块和所述第二缓存模块用于对输出数据进行缓存。
9.一种基于FPGA的雷达数据采集装置,其特征是:包括:处理器和存储器,所述存储器存储有所述处理器可执行的计算机程序,所述处理器执行所述计算机程序时实现权利要求1-4中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311025219.2A CN116736234B (zh) | 2023-08-15 | 2023-08-15 | 一种基于fpga的雷达数据采集方法、系统及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311025219.2A CN116736234B (zh) | 2023-08-15 | 2023-08-15 | 一种基于fpga的雷达数据采集方法、系统及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116736234A CN116736234A (zh) | 2023-09-12 |
CN116736234B true CN116736234B (zh) | 2023-10-13 |
Family
ID=87919060
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311025219.2A Active CN116736234B (zh) | 2023-08-15 | 2023-08-15 | 一种基于fpga的雷达数据采集方法、系统及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116736234B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101833424A (zh) * | 2010-03-26 | 2010-09-15 | 中国科学院光电技术研究所 | 基于fpga的高速存储与传输装置 |
CN208421826U (zh) * | 2018-07-24 | 2019-01-22 | 北京新宇航星科技有限公司 | 一种多通道基于fpga高精度数据采集卡 |
CN111830478A (zh) * | 2020-07-08 | 2020-10-27 | 哈尔滨工程大学 | 一种lfmcw雷达mtd处理的fpga实现方法 |
CN212454390U (zh) * | 2020-05-08 | 2021-02-02 | 西安石油大学 | 一种基于fpga的出砂信号同步采集系统 |
CN112650448A (zh) * | 2020-12-21 | 2021-04-13 | 中国航天科工集团八五一一研究所 | 一种基于fpga的大数据量存储文件管理方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11942962B2 (en) * | 2021-09-28 | 2024-03-26 | Texas Instruments Incorporated | Methods and apparatus to write data to registers |
-
2023
- 2023-08-15 CN CN202311025219.2A patent/CN116736234B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101833424A (zh) * | 2010-03-26 | 2010-09-15 | 中国科学院光电技术研究所 | 基于fpga的高速存储与传输装置 |
CN208421826U (zh) * | 2018-07-24 | 2019-01-22 | 北京新宇航星科技有限公司 | 一种多通道基于fpga高精度数据采集卡 |
CN212454390U (zh) * | 2020-05-08 | 2021-02-02 | 西安石油大学 | 一种基于fpga的出砂信号同步采集系统 |
CN111830478A (zh) * | 2020-07-08 | 2020-10-27 | 哈尔滨工程大学 | 一种lfmcw雷达mtd处理的fpga实现方法 |
CN112650448A (zh) * | 2020-12-21 | 2021-04-13 | 中国航天科工集团八五一一研究所 | 一种基于fpga的大数据量存储文件管理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN116736234A (zh) | 2023-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111459052B (zh) | 多功能车辆总线仿真检测系统和方法 | |
CN103019990B (zh) | 一种采集端启动pci-e总线dma上传数据的方法 | |
CN113190291B (zh) | 一种基于片上网络数据采集的可配置协议转换系统及方法 | |
CN112035302A (zh) | 一种总线数据的实时监控分析方法、装置及系统 | |
CN116736234B (zh) | 一种基于fpga的雷达数据采集方法、系统及装置 | |
CN113328927B (zh) | 一种具有计算、存储和网络交换功能的工业物联网网关 | |
CN103077080B (zh) | 基于高性能平台的并行程序性能数据采集方法及装置 | |
CN104765792A (zh) | 一种维度数据存储的方法、装置及系统 | |
CN117009185A (zh) | 一种总线监测方法、装置、片上系统及设备 | |
CN104281082A (zh) | 局部放电信号采集方法和系统 | |
TW201743069A (zh) | 邏輯分析儀及其資料擷取與效能測試之方法 | |
CN207718361U (zh) | Pcm信号采集装置及系统 | |
CN114167292B (zh) | 一种电池包的电池参数确定方法及装置、电子设备 | |
CN102958089B (zh) | 一种进行仿真的方法和设备 | |
CN107688515B (zh) | 一种Bufferable模式的验证方法 | |
CN204856469U (zh) | 通用信号采集激励器 | |
CN111953352B (zh) | 一种基于fpga系统的数据压缩显示方法、设备及存储介质 | |
US20070294590A1 (en) | Compression scheme to reduce the bandwidth requirements for continuous trace stream encoding of system performance | |
CN113438135A (zh) | 一种用于数据分析调试的装置及方法 | |
CN211857459U (zh) | 一种fpga系统的调试系统 | |
CN104765703B (zh) | 一种在fpga平台上进行数据报文采集的方法 | |
CN116361095B (zh) | 功耗验证方法、系统、设备及存储介质 | |
CN220232433U (zh) | 随机数采集与测试系统 | |
CN215416651U (zh) | 一种基于空间的多源数据统计分析系统 | |
CN116938451B (zh) | 一种密码运算方法、装置、片上系统及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |