一种基于轮询/中断的实时虚拟无线电数据的同步方法技术

技术编号:14345902 阅读:23 留言:0更新日期:2017-01-04 17:05
本发明专利技术提供一种基于轮询/中断的实时虚拟无线电数据的同步方法,包括虚拟无线电系统中物理层状态机在PCI设备中的相关FPGA中写入收发指令;PCI设备中的FPGA判断为发送指令还是接收指令;若是接收指令,FPGA接收数据并将接收的数据传输到PC中的环形队列中,并通过轮询或中断,读取环形队列中的有效数据;若是发送指令,每当环形队列中存储N个有效BLOCK数据块时,FPGA将PC中的环形队列中的有效数据读取到FPGA中的DMA数据区。本发明专利技术的基于轮询/中断的实时虚拟无线电数据的同步方法解决了基于RTX和Windows的虚拟无线电系统中PC与RCB之间数据同步问题。

【技术实现步骤摘要】

本专利技术涉及虚拟无线电数据同步的
,特别是涉及一种基于轮询/中断的实时虚拟无线电数据的同步方法
技术介绍
硬件与PC中的应用程序之间的数据同步问题是虚拟无线电系统的难点之一。目前,有轮询和中断两种数据同步方法。现有技术中,最常用的是基于轮询的数据同步方法,如为申请号201410484793.9,专利技术名称是《基于RTX实施扩展子系统的PCI总线数据同步方法》的中国专利技术专利中公开一种基于RTX实时扩展子系统的PCI总线数据同步方法,包括以下步骤,步骤(1)、将上位机安装XP操作系统、下位机安装RTX实时扩展子系统;步骤(2)、将RTX实时扩展子系统内开发PCI设备的驱动,以便进行PCI总线上的实时数据传输,数据传输采用DMA模式;步骤(3)、在RTX实时扩展子系统内的PCI设备的驱动中建立软中断机制;步骤(4)、上位机的XP操作系统与下位机的RTX实时扩展子系统,根据建立的建立软中断机制,实现数据同步通信。但是该方法中,RTX需要不断轮询底层硬件的标志,本质上还是轮询的方式,没有充分发挥RTX的实时特性。基于中断的数据同步方法是通过开发PC中的驱动程序实现的。如申请号为201210004050.8,专利技术名称为《软件无线电系统中基于PCI总线的数据同步方法及系统》的中国专利技术专利公开一种软件无线电系统中基于PCI总线的数据同步方法,所述软件无线电系统包括处理器模块、射频模块和连接在所述处理器模块和所述射频模块之间的接口控制模块,其中,所述处理器模块和所述接口控制模块之间通过PCI总线相连,所述方法包括以下步骤:所述接口控制模块根据所述射频模块的时钟生成时间信息;所述接口控制模块根据所述时间信息产生中断,并通过所述PCI总线向所述处理器模块发送中断信号;所述处理器模块的中断响应程序根据所述中断信号接收所述时间信息,并触发软件无线电系统中相应的无线系统物理层调制或解调程序以及高层协议栈程序,并根据所述时间信息进行处理;通过所述PCI总线完成相应数据的读和/或写操作,并在所述接口控制模块进行缓存,以根据所述时间信息通过所述射频模块完成数据的接收和/或发送。该方法的优点是能够显著提高处理器的利用率;缺点是实现复杂,由于在通用操作系统下实现,容易被硬件中断和高优先级的线程中断,无法提供实时的数据同步。
技术实现思路
鉴于以上所述现有技术的缺点,本专利技术的目的在于提供一种基于轮询/中断的实时虚拟无线电数据的同步方法,用于解决基于RTX和Windows的虚拟无线电系统中主机(PC)与射频板卡(RCB)之间数据同步问题。为实现上述目的及其他相关目的,本专利技术提供一种基于轮询的实时虚拟无线电数据的同步方法,PC中的环形队列用于存储若干个BLOCK数据块,每个BLOCK数据块包括32对IQ两路采样数据,每一路数据的最后一个无效位组成信息位;第一个信息位是标志位,表示数据是否有效,第二个信息位是天线号,用于表明发送/接收数据的天线;最后一个信息位是时间戳,用于在接收数据时记录采样的时间点;所述基于轮询的实时虚拟无线电数据的同步方法包括以下步骤:步骤S11、虚拟无线电系统中物理层状态机根据收发指令,在PCI设备中的相关FPGA中的寄存器中写入收发指令;步骤S12、PCI设备中的FPGA检测寄存器中的指令,判断为发送指令还是接收指令;若是接收指令,转入步骤S13;若是发送指令,转入步骤S14;步骤S13、FPGA接收数据并将接收的数据传输到PC中的环形队列中,并在接收的数据大小首次超过一个BLOCK数据块的大小时触发中断;PC响应该中断,开启轮询线程,不断轮询环形队列,读取环形队列中的有效数据并传递到下一个通信模块或者上层协议进行后续的处理;步骤S14、每当环形队列中存储N个有效BLOCK数据块时,PC就在FPGA中写入一个标志;FPGA根据该标志,将PC中的环形队列中的有效数据读取到FPGA中的DMA数据区,并在规定时间发送反馈帧。根据上述的基于轮询的实时虚拟无线电数据的同步方法,其中:每一个BLOCK数据块的大小为128Bytes,采样的位宽是16bits。根据上述的基于轮询的实时虚拟无线电数据的同步方法,其中:所述步骤S13中,FPGA将接收的数据打包成BLOCK数据块,并设置每一个BLOCK的第一个I路的最后一位为0,同时设置BLOCK数据块的天线号和时间戳。根据上述的基于轮询的实时虚拟无线电数据的同步方法,其中:所述环形队列初始化时全部位都为1;所述步骤S13中,在读取环形队列中BLOCK数据块的数据后,将BLOCK数据块的所有位设置为1。根据上述的基于轮询的实时虚拟无线电数据的同步方法,其中:PC和FPGA中分别设定有超时时间T;如果FPGA在超时时间T内检测不到数据,就停止接收数据;如果PC在超时时间T内检测不到数据,则中断轮询线程。同时,本专利技术还提供一种基于中断的实时虚拟无线电数据的同步方法,PC中的环形队列用于存储若干个BLOCK数据块,每个BLOCK数据块包括32对IQ两路采样数据,每一路数据的最后一个无效位组成信息位;第一个信息位是标志位,表示数据是否有效,第二个信息位是天线号,用于表明发送/接收数据的天线;最后一个信息位是时间戳,用于在接收数据时记录采样的时间点;所述基于中断的实时虚拟无线电数据的同步方法包括以下步骤:步骤S21、虚拟无线电系统中物理层状态机根据收发指令,向PCI设备中的相关FPGA的寄存器中写入收发指令,并设置中断间隔;步骤S22、PCI设备中的FPGA检测寄存器中的指令,判断为发送指令还是接收指令;若是接收指令,转入步骤S23;若是发送指令,转入步骤S24;步骤S23、FPGA接收数据并将接收的数据传输到PC中的环形队列中,并当接收的数据达到设定的中断间隔时,触发中断;PC响应该中断,并读取环形队列中的有效数据,传输到下一个通信模块或者上层协议进行后续处理;步骤S24、每当环形队列中存储N个有效数据块时,PC就在FPGA中写入一个标志;FPGA根据该标志,将PC中的环形队列中的有效数据读取到FPGA中的DMA数据区,并在规定时间发送反馈帧。根据上述的基于中断的实时虚拟无线电数据的同步方法,其中:每一个BLOCK数据块的大小为128Bytes,采样的位宽是16bits。根据上述的基于中断的实时虚拟无线电数据的同步方法,其中:所述中断间隔为100个BLOCK数据块的大小。根据上述的基于中断的实时虚拟无线电数据的同步方法,其中:所述步骤S23中,FPGA将接收的数据打包成BLOCK数据块,并设置每一个BLOCK的第一个I路的最后一位为0;同时设置该BLOCK数据块的天线号和时间戳。根据上述的基于中断的实时虚拟无线电数据的同步方法,其中:环形队列在初始化时全部位都为1;所述步骤S23中,从环形队列中读取BLOCK数据块中的有效数据后,将BLOCK数据块的所有位设置为1。如上所述,本专利技术的基于轮询/中断的实时虚拟无线电数据的同步方法中:基于轮询的数据同步方式有以下有益的技术效果:(11)轮询线程基于实时操作系统RTX(RealTimeeXtension)实现,能够屏蔽所有的Windows硬件中断和高优先级的中断,从而减少轮询线程被挂起的概率,进而减少有效数据本文档来自技高网
...
一种基于轮询/中断的实时虚拟无线电数据的同步方法

【技术保护点】
一种基于轮询的实时虚拟无线电数据的同步方法,其特征在于:PC中的环形队列用于存储若干个BLOCK数据块,每个BLOCK数据块包括32对IQ两路采样数据,每一路数据的最后一个无效位组成信息位;第一个信息位是标志位,表示数据是否有效,第二个信息位是天线号,用于表明发送/接收数据的天线;最后一个信息位是时间戳,用于在接收数据时记录采样的时间点;所述基于轮询的实时虚拟无线电数据的同步方法包括以下步骤:步骤S11、虚拟无线电系统中物理层状态机根据收发指令,在PCI设备中的相关FPGA中的寄存器中写入收发指令;步骤S12、PCI设备中的FPGA检测寄存器中的指令,判断为发送指令还是接收指令;若是接收指令,转入步骤S13;若是发送指令,转入步骤S14;步骤S13、FPGA接收数据并将接收的数据传输到PC中的环形队列中,并在接收的数据大小首次超过一个BLOCK数据块的大小时触发中断;PC响应该中断,开启轮询线程,不断轮询环形队列,读取环形队列中的有效数据并传递到下一个通信模块或者上层协议进行后续的处理;步骤S14、每当环形队列中存储N个有效BLOCK数据块时,PC就在FPGA中写入一个标志;FPGA根据该标志,将PC中的环形队列中的有效数据读取到FPGA中的DMA数据区,并在规定时间发送反馈帧。...

【技术特征摘要】
1.一种基于轮询的实时虚拟无线电数据的同步方法,其特征在于:PC中的环形队列用于存储若干个BLOCK数据块,每个BLOCK数据块包括32对IQ两路采样数据,每一路数据的最后一个无效位组成信息位;第一个信息位是标志位,表示数据是否有效,第二个信息位是天线号,用于表明发送/接收数据的天线;最后一个信息位是时间戳,用于在接收数据时记录采样的时间点;所述基于轮询的实时虚拟无线电数据的同步方法包括以下步骤:步骤S11、虚拟无线电系统中物理层状态机根据收发指令,在PCI设备中的相关FPGA中的寄存器中写入收发指令;步骤S12、PCI设备中的FPGA检测寄存器中的指令,判断为发送指令还是接收指令;若是接收指令,转入步骤S13;若是发送指令,转入步骤S14;步骤S13、FPGA接收数据并将接收的数据传输到PC中的环形队列中,并在接收的数据大小首次超过一个BLOCK数据块的大小时触发中断;PC响应该中断,开启轮询线程,不断轮询环形队列,读取环形队列中的有效数据并传递到下一个通信模块或者上层协议进行后续的处理;步骤S14、每当环形队列中存储N个有效BLOCK数据块时,PC就在FPGA中写入一个标志;FPGA根据该标志,将PC中的环形队列中的有效数据读取到FPGA中的DMA数据区,并在规定时间发送反馈帧。2.根据权利要求1所述的基于轮询的实时虚拟无线电数据的同步方法,其特征在于:每一个BLOCK数据块的大小为128Bytes,采样的位宽是16bits。3.根据权利要求1所述的基于轮询的实时虚拟无线电数据的同步方法,其特征在于:所述步骤S13中,FPGA将接收的数据打包成BLOCK数据块,并设置每一个BLOCK的第一个I路的最后一位为0,同时设置BLOCK数据块的天线号和时间戳。4.根据权利要求1所述的基于轮询的实时虚拟无线电数据的同步方法,其特征在于:所述环形队列初始化时全部位都为1;所述步骤S13中,在读取环形队列中BLOCK数据块的数据后,将BLOCK数据块的所有位设置为1。5.根据权利要求1所述的基于轮询的实时虚拟无线电数据的同步方法,其特征在于:PC和FPGA中分别设定有超时时间T;如果FPGA在超时时间T内检测不到数据,就停止接收...

【专利技术属性】
技术研发人员:陈达李志伟陆小凡李明齐
申请(专利权)人:中国科学院上海高等研究院
类型:发明
国别省市:上海;31

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

1