一种网格接收机的数据缓存与发送装置及方法制造方法及图纸

技术编号:10962355 阅读:118 留言:0更新日期:2015-01-28 14:48
一种网格接收机的数据缓存与发送装置,包括由FPGA和DDR3存储器组成的缓存模块,片上系统及驻机软件组成的TCP通信模块。其中FPGA通过接口电路与DDR3存储器相连,并通过外部系统总线与片上系统相连,片上系统具有以太网接口,可以将数据发送到网络。本发明专利技术为接收机的FPGA芯片挂接DDR3存储器,数据可在中频处理后直接由FPGA写入DDR3存储器,使得接收机可以不间断的高速采集。FPGA向片上系统提供FIFO接口来支持异步数据搬移,在TCP通信模块中采用数据通道专门用于数据的发送,确保数据流在整个发送过程中都不会中断。

【技术实现步骤摘要】
一种网格接收机的数据缓存与发送装置及方法
本专利技术属于无线电监测领域,尤其是一种网格接收机的数据缓存与发送装置及该装置的工作方法。
技术介绍
网格化已是无线电监测的一个重要发展方向,网格化的接收机不再是孤立的单站作业点,而是作为一个传感器,为监测系统提供频谱感知的能力。各个接收机通过网络相互连通,所测量的数据均发送到远端服务器进行比对融合和处理。由于网格化需要在监测区域内布设大量的接收机,因此接收机必须是小型化、低成本和易安装的,台式接收机不在考虑之列。此外,相比于传统的接收机,网格化更加强调接收机对数据的本地缓存和网络传输能力。在网格化的无线电监测系统中,接收机所采集的数据需要传送到远程的工作站进行处理。在目前有限的网络带宽下,当高速采集时,数据往往不能及时得到传输,因而需要接收机缓存数据。如果使用接收机内嵌入式系统自带的内存,其写入速度和容量均达不到要求。在数据传输方面,要求网格接收机在发送数据时不能中断数据流,确保数据流到达远程主机时与原始采集时保持一致。目前小型化的接收机,其数字部分采用FPGA+ARM的架构,两者之间通过ARM的外部系统总线进行数据传输。对FPGA编程实现数字中频处理,每处理完一帧数据,FPGA发出中断请求通知CPU将数据读走。CPU在中断例程中,将数据从FPGA复制到内存中,然后控制FPGA启动下一帧的采集,复制到内存中的数据帧由其他模块进行后续的处理。在程控时,远程主机与接收机的交互基于远程过程调用(RPC)的应用层协议。在该方式下,接收机被动的响应程控指令。当需要获取接收机的采集数据时,远程主机向接收机发送一条查询指令,RPC协议将指令解释成远程调用接收机的一个过程,接收机在此过程中把测量结果发送出去,远程主机方可继续执行下一步操作。
技术实现思路
本专利技术的目的就是针对现有网格接收机缺乏高速大容量的缓存功能,无法实现高速采集,FPGA要等待CPU读完数据之后才可进行后续处理,数据采集不连续的不足,提出了一种网格接收机的数据缓存与发送装置及方法。本专利技术采用如下技术方案:一种网格接收机的数据缓存与发送装置,包括数据缓存模块和TCP通信模块,所述数据缓存模块包括FPGA和DDR3存储器,所述FPGA通过接口电路与DDR3存储器相连,并通过外部系统总线与TCP通信模块中的片上系统相连,所述TCP通信模块由片上系统及驻机软件组成,所述片上系统设有以太网接口。优选地,所述接口电路由控制线、数据通路和时钟线组成。优选地,所述FPGA上设有供所述片上系统读取DDR3存储器数据的FIFO接口。优选地,所述TCP通信模块包括管理单元、控制通道和数据通道三部分。优选地,所述TCP通信模块的管理单元包括监听器、消息响应器、通道映射表和通道工厂。优选地,所述TCP通信模块的控制通道包括指令分离器和准数据通道链表。优选地,所述TCP通信模块的数据通道包括一个发送代理。一种网格接收机的数据缓存与发送方法,采用DDR3存储器的异步读写,通过FPGA的流驱动作为驻机软件搬移数据的硬件控制接口,采用TCP通信模块进行数据发送,数据缓存与发送过程主要包含三个阶段:缓存,网格接收机接收的数据由FPGA写入DDR3存储器中进行缓存,并由FPGA利用接口总线的空闲时间将数据输送到FIFO接口;搬移,所述驻机软件中,有一个频谱数据搬移线程专门对数据帧进行搬移,该线程执行以下步骤:步骤一,判断扫描参数列表是否为空,为空就休眠50毫秒继续执行步骤一,否则取出列表头节点;步骤二,根据节点参数信息中的快速傅立叶变换点数在进程堆上创建相应大小的缓冲区;步骤三,以该缓冲区地址和大小为参数,通过DeviceIoControl()函数调用流驱动的数据搬移函数,由数据搬移函数把FPGAFIFO里数据搬移到缓冲区中,其中DeviceIoControl()为操作系统的一个API函数;步骤四,对测量数据进行对数转换和频响补偿,并制作该数据帧的头部,头部包括频率、快速傅立叶变换点数、时间戳信息;步骤五,以目前关联的数据通道的套接字句柄为参数,把步骤三中搬移到缓冲区的数据和步骤四中的数据帧的头部打包送往TCP通信模块;步骤六,如果TCP通信模块接收,则执行步骤一,否则继续尝试步骤五;传输,数据的传输由接收机的TCP通信模块实现,数据的传输过程包括以下步骤:步骤a,申请数据连接,远程主机欲接收数据,首先通过已建立的控制通道向接收机发送“端口”指令,该指令向接收机提出了建立数据连接的申请,在指令帧中包含了远程主机用于该数据通道连接的TCP端口号,接收机收到该指令后,经过指令分离、指令解析和分发,最终由TCP通信模块自身负责响应。在响应过程中,TCP通信模块首先委托通道工厂创建出一个未连接的数据通道实例,并将此通道添加到控制通道的准数据通道链表,然后通过控制通道向远程主机发送应答;步骤b,建立连接,远程主机在收到应答之后,就以申请连接时的端口号向接收机发起连接请求;接收机收到请求后,找到与该连接请求端口号一致的准数据通道,为该准数据通道建立连接;步骤c,发送,接收机的内部模块总是通过数据通道向远程主机发送数据。发送时,内部模块以数据通道的套接字句柄,数据块的引用为参数,向TCP通信模块提出发送请求,由TCP通信模块负责将数据块发送到网络。发送的具体过程由TCP通信模块控制,TCP通信模块首先根据套接字句柄查找通道映射表找到对应的数据通道,然后就把数据块的发送任务委托给了数据通道,数据通道在判断通道状态正常后,就把发送任务委托给发送代理,发送代理实现了发送的真正细节;发送代理拥有一个64k字节的环形缓冲区,环形缓冲区被抽象成首尾相接,采用临界区保护,可以多线程访问。通常情况下,写入数据运行于数据采集线程的上下文,发送数据运行于主线程的上下文。缓冲中的数据先入先出,缓冲的空间可循环利用;采集线程中的数据块发送请求被委托给发送代理后,发送代理首先把数据块的大小与环形缓冲的可用空间相比较。如果可用空间无法容纳该数据块,就拒绝该请求;否则就把数据块添加到缓冲中数据的尾部,更新数据尾部标记,并向窗口投递一条数据发送消息。该消息经过主线程的分发,最终会由数据通道接收到。数据通道初步解析消息参数后,委托发送代理继续响应消息。发送代理会在三次迭代中尽可能多的发送环形缓冲中的数据,在迭代过程中如果环形缓冲已空或者发送受到阻塞,都会中途退出。在迭代完成后,如果环形缓冲仍有数据没有发送,则向窗口投递一条数据发送消息,留待下次响应消息时发送。本专利技术具有以下有益效果:1、在缓存模块中挂接DDR3存储器,数据可在中频处理后直接由FPGA写入DDR3存储器,使得接收机可以高速采集。2、FPGA分时控制DDR3存储器的读写,为CPU访问DDR3存储器提供FIFO接口,CPU在读取数据时不会造成数据采集的中断。3、采用专门的TCP通路传输数据,使数据流与控制流相分离,数据流可以高速连续的传送到远程主机。4、网格接收机TCP通信模块的组成结构,分为管理单元、控制通道和数据通道三部分,接收机可以同时与多个远程主机交互,不同类型的测量数据可通过多个数据通道并行发送。5、通过发送代理的方式,一方面向外界屏蔽了数据发送的复杂性,另一方面环形缓冲区的设计和由消息驱动的发送过程保证了数据发本文档来自技高网
...
一种网格接收机的数据缓存与发送装置及方法

【技术保护点】
一种网格接收机的数据缓存与发送装置,包括数据缓存模块和TCP通信模块,其特征是,所述缓存模块包括FPGA和DDR3存储器,所述FPGA通过接口电路与DDR3存储器相连,并通过外部系统总线与TCP通信模块中的片上系统相连,所述TCP通信模块由片上系统及驻机软件组成,所述片上系统设有以太网接口。

【技术特征摘要】
1.一种网格接收机的数据缓存与发送方法,采用一种网格接收机的数据缓存与发送装置,包括数据缓存模块和TCP通信模块,所述数据缓存模块包括FPGA和DDR3存储器,所述FPGA通过接口电路与DDR3存储器相连,并通过外部系统总线与TCP通信模块中的片上系统相连,所述TCP通信模块由片上系统及驻机软件组成,所述片上系统设有以太网接口;所述接口电路由控制线、数据通路和时钟线组成;所述FPGA上设有供所述片上系统读取DDR3存储器数据的FIFO接口;所述TCP通信模块包括管理单元、控制通道和数据通道三部分;所述TCP通信模块的管理单元包括监听器、消息响应器、通道映射表和通道工厂;所述TCP通信模块的控制通道包括指令分离器和准数据通道链表;所述TCP通信模块的数据通道包括一个发送代理;采用DDR3存储器的异步读写,通过FPGA的流驱动作为驻机软件搬移数据的硬件控制接口,采用TCP通信模块进行数据发送,其特征是,数据缓存与发送过程主要包含三个阶段:缓存,网格接收机接收的数据由FPGA写入DDR3存储器中进行缓存,并由FPGA利用接口总线的空闲时间将数据输送到FIFO接口;搬移,所述驻机软件中,有一个频谱数据搬移线程专门对数据帧进行搬移,该线程执行以下步骤:步骤一,判断扫描参数列表是否为空,为空就休眠50毫秒继续执行步骤一,否则取出列表头节点;步骤二,根据...

【专利技术属性】
技术研发人员:杨青孙发力李树芳何鹏
申请(专利权)人:中国电子科技集团公司第四十一研究所
类型:发明
国别省市:山东;37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1