CN106603172A - 一种应用于无线电监测接收机的带时间戳数据分时读写方法 - Google Patents

一种应用于无线电监测接收机的带时间戳数据分时读写方法 Download PDF

Info

Publication number
CN106603172A
CN106603172A CN201611127138.3A CN201611127138A CN106603172A CN 106603172 A CN106603172 A CN 106603172A CN 201611127138 A CN201611127138 A CN 201611127138A CN 106603172 A CN106603172 A CN 106603172A
Authority
CN
China
Prior art keywords
data
fifo
ddr3
cpu
fpga
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.)
Pending
Application number
CN201611127138.3A
Other languages
English (en)
Inventor
徐流沙
杨青
孙发力
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CETC 41 Institute
Original Assignee
CETC 41 Institute
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by CETC 41 Institute filed Critical CETC 41 Institute
Priority to CN201611127138.3A priority Critical patent/CN106603172A/zh
Publication of CN106603172A publication Critical patent/CN106603172A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B17/00Monitoring; Testing
    • H04B17/30Monitoring; Testing of propagation channels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B17/00Monitoring; Testing
    • H04B17/20Monitoring; Testing of receivers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B17/00Monitoring; Testing
    • H04B17/30Monitoring; Testing of propagation channels
    • H04B17/309Measuring or estimating channel quality parameters

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Electromagnetism (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明涉及一种应用于无线电监测接收机的带时间戳数据分时读写方法,包括步骤1:CPU给FPGA设置参数,启动扫描;步骤2:数据处理模块对采集到的数据进行处理,产生监测数据,时间戳模块产生时间戳,分别存入DATA_FIFO和TIME_FIFO;步骤3:DDR3控制模块进行分时读写,将DATA_FIFO和TIME_FIFO中数据以空间上顺序、时间上乱序的方式写入DDR3,将DDR3中数据读到OUT_FIFO步骤4:CPU的采集线程OUT_FIFO中数据点数,一旦达到要求的点数,利用SIMD指令将其读出;步骤5:CPU停止扫描,否则重复步骤2、步骤3、步骤4。本发明达到了监测数据的实现无缝采集、提高数据获取速度、最大化利用了硬件资源、简化程序设计逻辑等目的。

Description

一种应用于无线电监测接收机的带时间戳数据分时读写方法
技术领域
本发明涉及无线电监测领域技术领域,具体说来是一种应用于无线电监测接收机的带时间戳数据分时读写方法。
背景技术
当前的无线电监测领域正在采用新一代的监测方式——网格化无线电监测。通过接收机集群来组建基于TCP/IP的频谱感知网络,可以对小区、城市甚至整个国家进行全面持久、真实可靠、灵活智慧的无线电监测。我们研制的接收机的频率覆盖范围20MHz~6GHz,实时带宽20MHz,10kHz分辨率时的扫描速度达到4GHz/s,能够胜任复杂多样的信号监测任务;配备了高精度的GPS时间同步模块,可以实现多台接收机的同步测量;具有2G DDR3高速缓存,即使在最高采样率下,也可以及时将数据写入DDR3,实现较长时间的无缝采集,轻松捕获瞬时和跳频信号。
网络化无线电监测接收机用FPGA来处理采集到的数据,FPGA外扩一个DDR3存储器。接收机内部需要做的部分工作如下:
(1)FPGA对采集到的原始数据进行处理,得到监测数据及对应的时间戳,然后缓存到DDR3或FPGA内部RAM中;
(2)CPU从FPGA获取监测数据和时间戳,每个监测数据帧严格对应一个时间戳;
(3)CPU对读到的数据做进一步处理,然后通过网络发送给用户。接收机主要提供IQ和频谱两种格式的输出,在测量时会主动持续地将IQ或频谱数据流推送到远程主机。
IQ扫描总是在一个固定频率上连续地采集,直到达到要求的采集点数,或用户主动停止。原有IQ业务流程为:
(1)用户设置总的采集数据量,如果过大,返回错误,不开始采集;
(2)开始采集后数据和时间戳分别存放在DDR3和内置RAM中;
(3)采集完毕后,FPGA给CPU发中断;
(4)CPU收到中断,分别读取数据和时间戳,该次测量任务结束。频谱扫描通过扫描参数设置,对多个频段依次做FFT,然后拼接,可以执行扫频监测,当然也可以进行固定频点的监测。原有频谱业务流程如下:
(1)设置某段频段参数,给FPGA发指令,开始采集;
(2)处理得到的数据直接存到内置RAM中,完成后给CPU发中断;
(3)CPU收到中断后,分别读取数据和时间戳;
(4)若用户没有停止扫描,则进入下个段频的扫描,返回步骤1。最终数据和时间戳分别存放在两个FIFO中供CPU读取,CPU读取时沿用了FIFO的数据结构,通过反复读取某个固定地址,将数据和时间戳取出。
现有技术存在的缺点如下:
(1)FPGA只能将处理后的监测数据全部存储到DDR3中,才能向CPU发送数据。这样,在FPGA将数据存储到DDR3期间,CPU无法进行下一步工作,处于空闲状态,大大降低了数据获取速度,在采样率较低或数据量较大的情况下,导致用户长时间得不到反馈。同时无法充分利用DDR3存储空间;
(2)FPGA在对原始数据处理后,得到每帧监测数据,都会生成该帧数据对应的时间戳。时间戳是存放在FPGA内部的RAM中,由于数据帧与时间戳一一对应,而RAM空间非常有限,所以DDR3不可能存放过多的数据帧,白白浪费DDR3存储空间。同时,CPU必须通过不同方式读取数据和时间戳,增大了软件设计复杂度,降低读取效率。
(3)实现使用中断来读取数据,速度较快时中断过多,导致CPU上下文切换,影响效率。而FPGA将中断线置有效时,数据并未完全到达FIFO中,虽然中断延时能够保证数据完整性,但给以后留下了隐患;CPU通过反复读一个地址来读取数据,没能充分利用CPU体系结构的优点,造成读数据较慢。
总之,现有技术等待时间长,读数据效率低下,没能充分利用接收机硬件资源,影响某些性能指标和用户体验。
发明内容
本发明就是为了解决FPGA如何将处理后的监测数据及对应时间戳存入到DDR3中,使CPU能够高效地进行数据读取,最大化利用硬件资源。
为实现上述目的,本发明提供一种应用于无线电监测接收机的带时间戳数据分时读写方法,无线电监测接收机的带时间戳数据分时读写系统包括CPU模块、FPGA模块和DDR3模块;DDR3模块与FPGA的IP核相连,作为FPGA的扩展存储器;FPGA模块作为CPU模块的外设,拥有分配的地址空间;FPGA模块包括配置管理模块、DDR3控制模块、数据处理模块、时间戳模块;其中CPU模块通过配置管理模块对FPGA进行配置管理;DDR3控制模块包含DDR3和三个FIFO:OUT_FIFO、DATA_FIFO、TIME_FIFO,OUT_FIFO的输入、TIME_FIFO和DATA_FIFO的输出与DDR3相连,OUT_FIFO的输出作为FPGA的输出与CPU模块相连,DATA_FIFO和TIME_FIFO的输入分别与数据处理模块和时间戳模块的输出相连,
包括以下步骤:
步骤1:CPU给FPGA设置参数,启动扫描;
步骤2:数据处理模块对采集到的数据进行处理,产生监测数据,时间戳模块产生时间戳,分别存入DATA_FIFO和TIME_FIFO;
步骤3:DDR3控制模块进行分时读写,将DATA_FIFO和TIME_FIFO中数据写入DDR3,将DDR3中数据读到OUT_FIFO;
步骤4:CPU从OUT_FIFO将数据读出;
步骤5:CPU停止扫描,否则重复步骤2、步骤3、步骤4。
在上述技术方案中,所述FPGA的IP核将2GB的DDR3封装成单位为64bytes,大小为0x02000000的存储空间,数据处理模块每产生固定点的监测数据帧,同时给时间戳模块发信号,以生成与数据帧对应的时间戳,数据帧大小2n×64bytes,在启动扫描时由用户设定;时间戳用64bytes表示,包含秒和纳秒及标志控制。
在上述技术方案中,所述DDR3控制模块通过地址控制,将数据帧和对应的时间戳以一定的空间顺序连续写入DDR3,但数据点和时间戳的写入时间是乱序的,并将DDR3抽象成一个环形缓冲队列;同时向数据处理模块反馈DDR3的状态,使其能根据状态值调整行为,防止溢出。
在上述技术方案中,所述CPU用一个线程专门负责数据读取,CPU可以查询OUT_FIFO中的数据量,一旦达到要求便可读成取,并将OUT_FIFO抽象成多地址的RAM,利用CPU的单指令多数据指令快速地进行读取。
与现有技术相比,本发明具有以下优点:
(1)FPGA可以一边处理数据,一边将部分处理好的数据从DDR3中读出来,供CPU实时读取。并对DDR3进行环形缓冲设计,最大化利用DDR3存储空间;这种多线程,并行化处理,提高了采集或扫描速度,充分利用了硬件资源;
(2)针对时域IQ数据和频域FFT数据,将数据帧和时间戳都存到DDR3中,统一FPGA内部数据传输流程,简化设计逻辑,也能节省FPGA资源;
(3)充分利用了CPU的体系结构,加快CPU与FPGA之间的数据传输速度。
附图说明
图1为本发明的原理框图。
图2为DDR3状态导出示意图。
图3为ddr_empty状态示意图。
图4为ddr_prog_full状态示意图。
图5为ddr_prog_empty状态示意图。
图6为DDR3状态机示意图。
图7为状态机输入示意图。
图8为当前状态无关状态转换示意图。
图9为当前状态有关状态转换示意图。
图10为状态输出示意图。
图11为各状态下地址增长示意图。
图12为IQ数据采集控制示意图。
图13为频域数据采集控制示意图。
图14为单地址与多地址读数据的示意图。
具体实施方式
为便于更好的理解本发明的目的、特征以及功效等,现结合附图和具体实施例对本发明作进一步的详细描述。
如图1所示,本发明涉及DDR3控制模块和CPU端读数据逻辑设计,其中包括以下步骤:
步骤1:CPU给FPGA设置参数,启动扫描;
步骤2:数据处理模块对采集到的数据进行处理,产生监测数据,时间戳模块产生时间戳,分别存入DATA_FIFO和TIME_FIFO;
步骤3:DDR3控制模块进行分时读写,将DATA_FIFO和TIME_FIFO中数据写入DDR3,将DDR3中数据读到OUT_FIFO;
步骤4:CPU从OUT_FIFO将数据读出;
步骤5:CPU停止扫描,否则重复步骤2、步骤3、步骤4。
需要解决的问题有:如何整合时间戳与数据帧、DDR3双输入环形缓冲设计及状态导出、DDR3控制模块分时读写状态机设计、CPU端软件设计,下面分别进行讨论。
1、如何整合时间戳与数据帧
FPGA的IP核将2GB的DDR3封装成单位为64bytes,大小为0x02000000的存储空间,为表明数据流向仍将封装后的存储空间称为DDR3。
数据处理模块负责处理监测数据,产生固定大小的数据帧。同时给时间戳模块发信号,生成与数据帧对应的时间戳。时间戳用64bytes来表示,包含秒和纳秒及一些标志控制信息,未利用到位填充0,这是因为要凑足64bytes才能通过IP核往DDR3写数据,可以避免不必要的操作。数据帧大小为2n×64bytes,由用户设定,不超过32KB。DATA_FIFO与TIME_FIFO分别用来缓冲数据和时间戳,并进行位宽转换,最后存放到DDR3中。用两个FIFO是为了保证并行性,不妨碍监测数据的处理,产生的时间戳才会精确。而且接收机在不同的工作模式下,时间戳产生的时机也不同,可能伴随数据帧中任意数据点产生,如果只用一个FIFO,那么数据帧与时间戳的顺序在写入DDR3之前就被定死了,导致CPU端的软件设计较为复杂。
如图1所示的DDR3,灰色区域是为单个时间戳预留的,白色区域是为单个数据帧预留的。本方案通过地址控制,将时间戳和数据帧以一定的空间顺序连续写入DDR3,这样只需用一个OUT_FIFO存放从DDR3读出的数据,不区分时间戳和数据。“填入”时间戳与“填入”数据点在时间上是独立(乱序)的,否则要写完一个时间戳就要跳转到其它状态,写完整帧数据还才能去写时间戳,导致效率较低,在高速采集下,容易使FIFO溢出。
2、DDR3双输入环形缓冲设计及状态导出
FPGA的IP核屏蔽DDR3较为复杂的时序操作,提供了一个用户接口,但这个接口只负责读写,将DDR3抽象成一个简单的随机存储器。我们的目的是将DDR3作为一个类似FIFO的存储结构。所以必须在IP核的基础上,再进行抽象。Xilinx的FIFO IP核提供以下(不限于)状态输出:
full 表示FIFO已满
prog_full 表示FIFO中数据不少于设定的门限值
empty 表示FIFO为空
prog_empty 表示FIFO的数据不大于设定的门限值
借鉴FIFO的思想,定义DDR3的状态ddr_empty、ddr_prog_full、ddr_prog_empty。根据上文,需要定义三个地址:
time_addr记录DDR3当前可写时间戳位置;
data_addr记录DDR3当前可写数据位置;
read_addr记录DDR3当前可读的位置;
地址位数刚好能表示DDR3的大小,可以溢出,这是环形缓冲设计的关键。
还需定义常数DDR_PROG_THRESHOLD,剩余空间不大于该值时为prog_full,占用空间不大于该值是prog_empty;
当数据处理模块产生数据的速度大于CPU读取的速度时,需要避免溢出,而且保证读到的数据是完整的。本发明采用的方法是将ddr_prog_full和ddr_prog_empty这两个信号作为输出,传递给数据处理模块,让其根据这些信号调整行为,达到不溢出的目的。只要将DDR_PROG_THRESHOLD设置得足够大(比如1MB),DDR3是永远不会满的,只会达到prog_full状态。这种闭环控制简单有效,后面再详细讨论。以这个为前提,会给控制程序的状态机的设计带来极大的方便。
如图2中所示,用三个地址值来导出DDR3的状态,ddr_prog_xxx作为DDR3控制模块的输出,ddr_empty作为状态机的输入。data_addr的初值为1,其它为0。为简化逻辑判断,定义三个“副本”地址temp_read_addr、temp_time/data_addr,与对应地址的变化完全一样,但初值不同,需加上DDR_PROG_THRESHOLD;
ddr_empty状态如图3所示,read_addr的地址是以1递增的,所以在保证read_addr不会越过time_addr和data_addr的前提下,判断read_addr是否等于time/data_addr。ddr_prog_full和ddr_prog_empty状态导出分别如图4和图5所示。
3、DDR3控制模块分时读写状态机设计
设计的本质是协调DATA_FIFO、TIME_FIFO、OUT_FIFO及DDR3之间的数据流向。DDR3读写共用同一个接口,其基本思想是设计一个状态机,对DDR3的写数据、写时间戳、读数据进行分时控制。状态机需要四个状态,分别为:
IDLE:空闲态,该状态下不进行任何操作,初始或复位进入该状态
WRITE_DATA:写数据态,该状态下可将数据写入DDR3;
WIRTE_TIME:写时间戳态,该状态下可将时间戳写入DDR3;
READ:读状态,该状态下可将DDR3中数据读出到OUT_FIFO;
如图6所示,为了在各读写态快速切换,保证能够及时响应各种极端情况,状态机中各状态是任意可达的。
图7表明了状态机的输入和输出,current_state和next_state是两个寄器值,分别表示当前状态和跳转状态。状态机的输入信号还包括DDR3以及三个FIFO的状态值,其中out_fifo_prog_empty为保证CPU读数据更平滑,其它的prog信号为防止溢出。
从另一角度来解读这些输入信号值:
①需要立即写数据:data_fifo_prog_full
②需要立即写时间戳:time_fifo_prog_full
③需要立即读:out_fifo_prog_empty&&!ddr_empty
④不可写数据:data_fifo_empty
⑤不可写时间戳:time_fifo_empty
⑥不可读:ddr_empty||out_fifo_prog_full
假设上述条件①②③都满足,必须遵循以下优先级原则。
(1)在单位时间,DATA_FIFO的写入数据量远大于TIME_FIFO,要保证FIFO数据不会溢出,得先进入WRITE_DATA状态;
(2)一旦data_fifo_prog_full为假,则可立即进入WRITE_TIME状态。而DDR3写入速度大于数据处理速度,只要FIFO大小及相关门限值设置恰当,是可以保证不会溢出的;
(3)读数据优先级最低,DDR3读写速度够快,基本不会造成CPU端读数延时;
所以对这三个条件的处理与当前状态无关。另外,当④⑤⑥全部满足时,表明不可进行任何读写操作,不管当前是何种状态,都需要进入IDLE状态,所以该组合条件的处理也和当前状态无关,如图8所示,ANY_STATE表明当前为任一状态,只要满足上述条件,就会转移到特定的下一状态。
而当④⑤⑥不全满足时,不同的当前状态下有不同的处理方式,也就是说与当前状态有关。图9表明与当前状态有关时,各状态下是如何转移到下一状态的。
图10表明哪些变量影响地址值的变化。其中rw_en为一寄存器值,一旦在一个时钟周期内发生读或写,将标记为1。在状态IDLE下,rw_en必为0,而在其它状态下rw_en不定。比如在WRITE_DATA状态下,如果OUT_FIFO有效(可写),DDR3准备好(可读),并且地址、数据、使能等相关信号都已正确连接和设置,rw_en将被置1。具体要涉及FIFO核和存储器核的读写时序操作。
frame_size是用户设定的帧大小(单位64bytes),位宽至少能容纳最大的数据帧。data_write_counter为写入数据点计数器,位宽与frame_size相同,初值为0,溢出无影响。通过data_write_counter&(frame_size-1)判断是否达到帧尾,从而决定data_addr的改变。
rw_en!=1或处于IDLE状态时,址址值不变,其它状态下rw_en=1时地址变化如图11所示。
4、CPU端软件设计
为解决中断过多的缺点,FPGA端提供OUT_FIFO中数据量,在CPU的读线程中进行轮询,一旦达到要求的数据量,就可以直接将数据读出,在高速情况下,OUT_FIFO总是快满的,轮询并不会浪费多少CPU资源,反而会使读线程充分占用CPU资源。
时域IQ测量时,只需将相关参数设置好,然后就可以一直读测量数据了,所以只用一个线程即可。但是,在较高速采样率的情况下,由于CPU端的速度限制,溢出是不可避免的。如图12所示,处理方法为:一旦ddr_prog_full为真,就将当前数据帧和时间戳写完,然后停止往DATA_FIFO写,直到ddr_prog_empty为真,就重新开始,并且保证时间戳与数据帧严格对应。这样,IQ测量时,CPU端就可以一直读下去,能够保证在某段时间内IQ数据是连续的,且在数据总量是大于DDR3容量的(环形缓冲设计),接着时间戳会进行跳变,进入下一个连续IQ数据传输。当然,在产生的数据速率小于CPU的处理速率时,可以一直进行无缝的IQ数据采集。
频域测量时,需要循环对若干连续频段进行扫描。可以用两个线程来进行频域测量任务,一个线程对FPGA设置相关频段参数,FPGA扫描完后发中断给CPU,收到中断后进入下一个频段测量的设置。另外一个线程与IQ测量类似,只负责读取、处理和发送。频域测量的数据是不允许溢出的,但处理方式和IQ测量类似:一旦ddr_prog_full为真,数据处理模块就将当前数据帧写完,然后屏蔽中断,这样,CPU端就不会进入下一次扫描,FPGA也不会继续产生数。直到ddr_prog_empty为真,就重新发送中断。
CPU还需要将OUT_FIFO的数据读出。在原来驱动程序实现中,仍然沿用了队列的数据结构,反复读取某个固定地址将数据读出,如图14左侧所示。代码类似于buf[i]=*(fifo_addr),这类指会被编译成类似mov或ldr/str(ARM)的指令。考虑到ARM中有类似ldm/stm这样的SIMD指令(单指令、多数据),可以换种方式考虑,用一段地址来读取FPGA中FIFO,将其抽象成一定大小的RAM,可实现类似burst读写,如图14右侧所示。而FPGA通过判断一个地址段来读FIFO,内部逻辑改动十分简单。
由于是FIFO,只能按顺序存储读出来的数据,而且不能多读,这就需要对CPU的行为进行精确的控制,直接用汇编代码写,类似于:
ldm r2,{r3-r10}
---数据转换---
stm r0!,{r3-r10}
另外,所用CPU还支持NEON指令集,NEON技术是ARM Cotex-A系列处理器的128位SIMD(单指令、多数据)架构扩展,在本发明中,使用该技术可进一步提高效率,代码类似如下:
VLDM r2,{d0-d7}
;字节序转换
VREV32.16q0,q0
......
VSTM r0!,{d0-d7}
所需的地址空间也很小,若用8个32位寄存器传输,只需要32B的地址空间,在地址线较少的情况下就很有用了。
本发明通过分时读写状态机设计;对DDR3进行特殊的双输入环形缓冲设计,整合数据和时间戳;防溢出处理;CPU端的程序设计,实现了:
1、DDR3分时读写,降低用户等待时间,增强用户体验;
2、整合数据和时间戳,节省FPGA资源,降低FPGA和CPU程序设计复杂度;
3、防溢出处理,降低FPGA和CPU程序设计复杂度;
4、提高了CPU、FPGA、DDR3资源利用率。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (4)

1.一种应用于无线电监测接收机的带时间戳数据分时读写方法,其特征在于:无线电监测接收机的带时间戳数据分时读写系统包括CPU模块、FPGA模块和DDR3模块;DDR3模块与FPGA的IP核相连,作为FPGA的扩展存储器;FPGA模块作为CPU模块的外设,拥有分配的地址空间;FPGA模块包括配置管理模块、DDR3控制模块、数据处理模块、时间戳模块;其中CPU模块通过配置管理模块对FPGA进行配置管理;DDR3控制模块包含DDR3和三个FIFO:OUT_FIFO、DATA_FIFO、TIME_FIFO,OUT_FIFO的输入、TIME_FIFO和DATA_FIFO的输出与DDR3相连,OUT_FIFO的输出作为FPGA的输出与CPU模块相连,DATA_FIFO和TIME_FIFO的输入分别与数据处理模块和时间戳模块的输出相连,
包括以下步骤:
步骤1:CPU给FPGA设置参数,启动扫描;
步骤2:数据处理模块对采集到的数据进行处理,产生监测数据,时间戳模块产生时间戳,分别存入DATA_FIFO和TIME_FIFO;
步骤3:DDR3控制模块进行分时读写,将DATA_FIFO和TIME_FIFO中数据写入DDR3,将DDR3中数据读到OUT_FIFO;
步骤4:CPU从OUT_FIFO将数据读出;
步骤5:CPU停止扫描,否则重复步骤2、步骤3、步骤4。
2.如权利要求1所述的应用于无线电监测接收机的带时间戳数据分时读写方法,其特征在于,FPGA的IP核将2GB的DDR3封装成单位为64bytes,大小为0x02000000的存储空间,数据处理模块每产生固定点的监测数据帧,同时给时间戳模块发信号,以生成与数据帧对应的时间戳,数据帧大小2n×64bytes,在启动扫描时由用户设定;时间戳用64bytes表示,包含秒和纳秒及标志控制。
3.如权利要求1所述的应用于无线电监测接收机的带时间戳数据分时读写方法,其特征在于,DDR3控制模块通过地址控制,将数据帧和对应的时间戳以一定的空间顺序连续写入DDR3,但数据点和时间戳的写入时间是乱序的,并将DDR3抽象成一个环形缓冲队列;同时向数据处理模块反馈DDR3的状态,使其能根据状态值调整行为,防止溢出。
4.如权利要求1所述的应用于无线电监测接收机的带时间戳数据分时读写方法,其特征在于,CPU用一个线程专门负责数据读取,CPU可以查询OUT_FIFO中的数据量,一旦达到要求便可读成取,并将OUT_FIFO抽象成多地址的RAM,利用CPU的单指令多数据指令快速地进行读取。
CN201611127138.3A 2016-11-24 2016-11-24 一种应用于无线电监测接收机的带时间戳数据分时读写方法 Pending CN106603172A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611127138.3A CN106603172A (zh) 2016-11-24 2016-11-24 一种应用于无线电监测接收机的带时间戳数据分时读写方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611127138.3A CN106603172A (zh) 2016-11-24 2016-11-24 一种应用于无线电监测接收机的带时间戳数据分时读写方法

Publications (1)

Publication Number Publication Date
CN106603172A true CN106603172A (zh) 2017-04-26

Family

ID=58597867

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611127138.3A Pending CN106603172A (zh) 2016-11-24 2016-11-24 一种应用于无线电监测接收机的带时间戳数据分时读写方法

Country Status (1)

Country Link
CN (1) CN106603172A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108153490A (zh) * 2017-12-21 2018-06-12 上海禾赛光电科技有限公司 用于socfpga的数据循环缓冲方法及装置、存储介质、终端
CN108718286A (zh) * 2018-05-24 2018-10-30 北京无线电测量研究所 数据通信方法、系统及存储介质
CN109345442A (zh) * 2018-09-17 2019-02-15 昆明理工大学 一种基于以太网传输的fpga幸运成像系统及方法
CN109634973A (zh) * 2018-11-12 2019-04-16 北京航空航天大学 数控加工过程数据采集方法、装置及设备
CN111581132A (zh) * 2020-04-27 2020-08-25 武汉中科牛津波谱技术有限公司 一种基于fpga的可扩展的多端口ddr3控制器

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070008791A1 (en) * 2005-07-07 2007-01-11 Lsi Logic Corporation DQS strobe centering (data eye training) method
CN103308738A (zh) * 2013-05-10 2013-09-18 电子科技大学 一种高捕获率示波器的异常波形录制方法
CN104301052A (zh) * 2014-10-20 2015-01-21 中国电子科技集团公司第四十一研究所 一种基于fpga的无缝采集及实时频谱监测的实现方法
CN104317747A (zh) * 2014-10-09 2015-01-28 中国电子科技集团公司第四十一研究所 一种网格接收机的数据缓存与发送装置及方法
CN104317353A (zh) * 2014-10-20 2015-01-28 中国电子科技集团公司第四十一研究所 一种基于硬件电路的时间戳实现方法
CN104599227A (zh) * 2013-10-30 2015-05-06 南京理工大学 用于高速ccd数据存储的ddr3仲裁控制器及方法
CN102103548B (zh) * 2011-02-22 2015-06-10 中兴通讯股份有限公司 提高双倍数据速率同步随机存储器读写速率的方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070008791A1 (en) * 2005-07-07 2007-01-11 Lsi Logic Corporation DQS strobe centering (data eye training) method
CN102103548B (zh) * 2011-02-22 2015-06-10 中兴通讯股份有限公司 提高双倍数据速率同步随机存储器读写速率的方法及装置
CN103308738A (zh) * 2013-05-10 2013-09-18 电子科技大学 一种高捕获率示波器的异常波形录制方法
CN104599227A (zh) * 2013-10-30 2015-05-06 南京理工大学 用于高速ccd数据存储的ddr3仲裁控制器及方法
CN104317747A (zh) * 2014-10-09 2015-01-28 中国电子科技集团公司第四十一研究所 一种网格接收机的数据缓存与发送装置及方法
CN104301052A (zh) * 2014-10-20 2015-01-21 中国电子科技集团公司第四十一研究所 一种基于fpga的无缝采集及实时频谱监测的实现方法
CN104317353A (zh) * 2014-10-20 2015-01-28 中国电子科技集团公司第四十一研究所 一种基于硬件电路的时间戳实现方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108153490A (zh) * 2017-12-21 2018-06-12 上海禾赛光电科技有限公司 用于socfpga的数据循环缓冲方法及装置、存储介质、终端
CN108718286A (zh) * 2018-05-24 2018-10-30 北京无线电测量研究所 数据通信方法、系统及存储介质
CN108718286B (zh) * 2018-05-24 2022-05-03 北京无线电测量研究所 数据通信方法、系统及存储介质
CN109345442A (zh) * 2018-09-17 2019-02-15 昆明理工大学 一种基于以太网传输的fpga幸运成像系统及方法
CN109634973A (zh) * 2018-11-12 2019-04-16 北京航空航天大学 数控加工过程数据采集方法、装置及设备
CN111581132A (zh) * 2020-04-27 2020-08-25 武汉中科牛津波谱技术有限公司 一种基于fpga的可扩展的多端口ddr3控制器

Similar Documents

Publication Publication Date Title
CN106603172A (zh) 一种应用于无线电监测接收机的带时间戳数据分时读写方法
CN104346285B (zh) 内存访问处理方法、装置及系统
CN103200128B (zh) 一种网络包处理的方法、装置和系统
CN106525231B (zh) 一种基于可编程逻辑器件的多光子符合计数器
CN109412914A (zh) 流数据与axi接口通信装置
CN106951388A (zh) 一种基于PCIe的DMA数据传输方法及系统
CN103294836A (zh) 基于pcie的雷达数据采集显控系统及其方法
CN106294234A (zh) 一种数据传输方法及装置
CN101841470A (zh) 一种基于Linux的底层数据包的高速捕获方法
CN108958800A (zh) 一种基于fpga硬件加速的ddr管理控制系统
CN105071859B (zh) 一种下行、上行数据传输方法及装置
CN108228498A (zh) 一种dma控制装置和图像处理器
CN102841871A (zh) 基于高速串行总线的DMA结构的pipeline读写方法
CN106934058A (zh) 矢量数据读取方法及系统、矢量数据可视化方法及系统
DE112018002568T5 (de) Verfahren, Systeme und Vorrichtung zur Reduzierung von Speicherlatenz beim Abrufen von Pixelkernen
CN107133192A (zh) 一种SoC系统中的高速输入器和脉冲计数器电路
CN105335323B (zh) 一种数据突发的缓存装置和方法
CN109426623A (zh) 一种读取数据的方法及装置
CN103731364B (zh) 基于x86平台实现万兆大流量快速收包的方法
CN110648356A (zh) 一种基于视觉数字信号处理的多目标跟踪处理优化方法
CN110232029A (zh) 一种基于索引的fpga中ddr4包缓存的实现方法
CN110059024A (zh) 一种内存空间数据缓存方法及装置
CN101854259B (zh) 一种数据包的计数方法及系统
CN110012181A (zh) 定时控制器、包括其的调制解调器芯片和集成电路
CN109408426A (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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20170426

WD01 Invention patent application deemed withdrawn after publication