CN109947533B - Windows实时性增强的虚拟无线电实现装置、方法、介质、及终端 - Google Patents
Windows实时性增强的虚拟无线电实现装置、方法、介质、及终端 Download PDFInfo
- Publication number
- CN109947533B CN109947533B CN201910178708.9A CN201910178708A CN109947533B CN 109947533 B CN109947533 B CN 109947533B CN 201910178708 A CN201910178708 A CN 201910178708A CN 109947533 B CN109947533 B CN 109947533B
- Authority
- CN
- China
- Prior art keywords
- module
- data
- receiving
- core
- hardware
- 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 82
- 230000006854 communication Effects 0.000 claims abstract description 56
- 238000004891 communication Methods 0.000 claims abstract description 53
- 238000012545 processing Methods 0.000 claims description 158
- 230000005540 biological transmission Effects 0.000 claims description 71
- 230000008569 process Effects 0.000 claims description 34
- 239000000872 buffer Substances 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 11
- 230000003139 buffering effect Effects 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 8
- 230000007175 bidirectional communication Effects 0.000 description 7
- 238000011161 development Methods 0.000 description 7
- 238000003491 array Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000002708 enhancing effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000002513 implantation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本申请提供Windows实时性增强的虚拟无线电实现装置、方法、介质、及终端,本申请采用了RTX针对Windows实时性扩展特性,设计了一种基于Windows操作系统可增强实时性的双向通信系统实现方法。本方法通过使用中断的方式实现硬件板卡与通用处理器时钟对齐,拥有基于Windows通信系统的优点,同时也可提升通信系统的实时性,具有良好的应用前景。
Description
技术领域
本申请涉及通信技术领域,特别是涉及Windows实时性增强的虚拟无线电实现装置、方法、介质、及终端。
背景技术
随着移动信息系统领域的扩大和技术复杂度不断提高,为了克服技术复杂度而带来的问题,以及满足应用多样性的需求特别是军事通信对宽带技术的需求,科学家们提出了在通用硬件平台上利用不同软件编程方法--软件无线电。目前软件无线电有两种实现方式:基于可编程FPGA和DSP实现的软件无线电和基于通用处理器(GPP)实现的虚拟无线电。传统的基于FPGA和DSP实现的软件无线电优点是计算速度快、实时性强等。但是通用性不强,测试环境复杂,用户交互界面不友好,可移植性较差、硬件的依赖性对开发人员提出了很高的要求。基于通用处理器实现的虚拟无线电随着统一处理器处理能力的极大提升,受到了学术界和工业界的广泛关注。虚拟无线电开发成本低、开发周期短、具备良好的灵活性。虚拟无线电中的双向通信系统主要有基于Linux操作系统,和基于Windows操作系统两种。基于Linux的双向操作系统缺点是用户少,覆盖不广泛以及操作复杂。然而基于Windows操作系统的双向通信交互系统,因为Windows操作系统本身实时性不强的特点,不能保证通信系统的实时性的要求未能广泛应用。
申请内容
鉴于以上所述现有技术的缺点,本申请的目的在于提供Windows实时性增强的虚拟无线电实现装置、方法、介质、及终端用于解决现有技术中的问题。
为实现上述目的及其他相关目的,本申请的第一方面提供一种基于RTX的软件无线电通信装置,所述装置包括:射频前端模块,用于接收外部数据和/或将数据发送至外部;数据处理模块,用于处理数据;数据传输模块,其包括无限状态机、第一存储模块,用于控制所述射频前端模块和数据处理模块之间的数据传输;其中,所述无限状态机在接收到请求接收传输自所述射频前端模块的数据的接收请求信号时,检测所述第一存储模块的使用状态;若检测到所述第一存储模块处于未被占用的状态,则接受该接收请求,以将待接收数据写入所述第一存储模块中,以供所述数据处理模块获取并处理所述待接收数据;若检测到所述第一存储模块处于被占用的状态,则在移走所述第一存储模块中的当前数据后,接受该接收请求,以将待接收数据写入所述第一存储模块中,以供所述数据处理模块获取并处理所述待接收数据。
于本申请的第一方面的一些实施例中,所述数据传输模块包括第二存储模块;其中:所述无限状态机将传输自所述数据处理模块的待发送数据写入所述第二存储模块中,并发出发送请求信号,以将所述第二存储模块中的待发送数据发送至所述射频前端模块。
于本申请的第一方面的一些实施例中,所述射频前端模块布设于第一硬件模块上;所述数据处理模块布设于第二硬件模块上;所述数据传输模块分布布设于所述第一硬件模块和第二硬件模块上。
于本申请的第一方面的一些实施例中,所述第一硬件模块包括FPGA硬件板块,所述第二硬件模块包括多核CPU的通用处理器。
于本申请的第一方面的一些实施例中,布设于所述第一硬件模块上的所述数据传输模块包括:第一缓存模块,用于缓存来自射频前端模块的数据;第二缓存模块,用于缓存发送至射频前端模块的数据;接收控制器,用于控制射频前端模块的数据接收,并向所述无限状态机发送所述接收请求信号;发送控制器,用于控制射频前端模块的数据发送,并接收来自所述无限状态机的所述发送请求信号;IP内核模块。
于本申请的第一方面的一些实施例中,布设于所述第二硬件模块上的所述数据传输模块包括所述第一存储模块和第二存储模块,还包括:接口模块,其与所述IP内核模块通过数据总线相连,以传输所述第一硬件模块和第二硬件模块之间的数据。
于本申请的第一方面的一些实施例中,所述数据处理模块包括:接收物理层处理模块,用于获取并处理所述第一存储模块中的数据;发送物理层处理模块,用于将处理后的数据发送至所述第二存储模块中;接收MAC层处理模块,用于对经所述接收物理层处理模块处理后的数据进行MAC层及更高层处理;发送MAC层处理模块,用于对数据进行MAC层及更高层处理后发送至所述发送物理层处理模块。
于本申请的第一方面的一些实施例中,所述射频前端模块包括:接收天线模块,用于接收外部数据并传输至所述数据传输模块;发送天线模块,用于将来自所述数据传输模块的数据发送至外部。
于本申请的第一方面的一些实施方式中,所述数据传输模块还包括接收控制器、发送控制器、第二存储模块;所述数据处理模块包括接收物理层处理模块和发送物理层处理模块;所述无限状态机包括:第一核模块,用于接收来自接收控制器的接收请求信号,且用于通过所述接口模块将发送请求信号发送至发送控制器,且用于在接受接收请求前向第二核模块发送检测所述第一存储模块的使用状态的中断信号,还用于在收到发送请求信号后向第三核模块发送将数据写入第二存储模块的中断信号;第二核模块,用于控制接收物理层处理模块;第三核模块,用于控制发送物理层处理模块。
为实现上述目的及其他相关目的,本申请的第二方面提供一种Windows实时性增强的通信方法,应用于软件无线电通信装置中的无限状态机;所述软件无线电通信装置还包括:射频前端模块、数据处理模块、以及数据传输模块;所述数据传输模块包括第一存储模块;所述方法包括:在接收到请求接收传输自所述射频前端模块的数据的接收请求信号时,检测所述第一存储模块的使用状态;若检测到所述第一存储模块处于未被占用的状态,则接受该接收请求,以将待接收数据写入所述第一存储模块中,以供所述数据处理模块获取并处理所述待接收数据;若检测到所述第一存储模块处于被占用的状态,则在移走所述第一存储模块中的当前数据后,接受该接收请求,以将待接收数据写入所述第一存储模块中,以供所述数据处理模块获取并处理所述待接收数据。
为实现上述目的及其他相关目的,本申请的第三方面提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述Windows实时性增强的通信方法。
为实现上述目的及其他相关目的,本申请的第四方面提供一种电子终端,包括:处理器及存储器;所述存储器用于存储计算机程序,所述处理器用于执行所述存储器存储的计算机程序,以使所述终端执行所述Windows实时性增强的通信方法。
如上所述,本申请的基于RTX的软件无线电通信装置、方法、介质、及终端,具有以下有益效果:本申请采用了RTX针对Windows实时性扩展特性,设计了一种基于Windows操作系统可增强实时性的双向通信系统实现方法。本方法通过使用中断的方式实现硬件板卡与通用处理器时钟对齐,拥有基于Windows通信系统的优点,同时也可提升通信系统的实时性,具有良好的应用前景。
附图说明
图1显示为本申请一实施例中基于RTX的软件无线电通信装置的示意图。
图2显示为本申请一实施例中无限状态机FSM的结构示意图。
图3显示为本申请一实施例中数据接收过程的流程示意图。
图4显示为本申请一实施例中数据发送过程的流程示意图。
图5A显示为本申请一实施例中第一核模块(C0)的多个状态的示意图。
图5B显示为本申请一实施例中第一核模块(C0)的多个状态的示意图。
图6显示为本申请一实施例中第二核模块(C1)的多个状态的示意图。
图7显示为本申请一实施例中第三核模块(C2)的多个状态的示意图。
图8显示为本申请一实施例中Windows实时性增强的通信方法的流程示意图。
图9显示为本申请一实施例中电子终端的结构示意图。
具体实施方式
以下通过特定的具体实例说明本申请的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本申请的其他优点与功效。本申请还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本申请的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,在下述描述中,参考附图,附图描述了本申请的若干实施例。应当理解,还可使用其他实施例,并且可以在不背离本申请的精神和范围的情况下进行机械组成、结构、电气以及操作上的改变。下面的详细描述不应该被认为是限制性的,并且本申请的实施例的范围仅由公布的专利的权利要求书所限定。这里使用的术语仅是为了描述特定实施例,而并非旨在限制本申请。空间相关的术语,例如“上”、“下”、“左”、“右”、“下面”、“下方”、“下部”、“上方”、“上部”等,可在文中使用以便于说明图中所示的一个元件或特征与另一元件或特征的关系。
在本申请中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”、“固持”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。
再者,如同在本文中所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文中有相反的指示。应当进一步理解,术语“包含”、“包括”表明存在所述的特征、操作、元件、组件、项目、种类、和/或组,但不排除一个或多个其他特征、操作、元件、组件、项目、种类、和/或组的存在、出现或添加。此处使用的术语“或”和“和/或”被解释为包括性的,或意味着任一个或任何组合。因此,“A、B或C”或者“A、B和/或C”意味着“以下任一个:A;B;C;A和B;A和C;B和C;A、B和C”。仅当元件、功能或操作的组合在某些方式下内在地互相排斥时,才会出现该定义的例外。
传统的双向通信软件无线电系统采用的是基于DSP和FPGA的方式,这种方式实时性强、计算速度快,目前已经应用于无线网接入系统。但是,基于DSP和FPGA的传统的双向通信软件无线电系统通用性不强、测试环境复杂、用户界面不友好、可植入性差、硬件的依赖对开发人员要求很高。
因此,基于虚拟无线电的双向通信系统应运而生。基于虚拟无线电的双向通信系统开发成本低、周期短、无需可编程器件,在通用GPP上开发即可,开发人员能相对快速熟悉体系架构和开发环境,其次升级快捷,灵活性高。
基于Linux实现的虚拟无线电双向通信系统是一种较典型的虚拟无线电双向通信系统,但该虚拟无线电双向通信系统往往需要较强的Linux开发工具知识,界面不友好,开发工具少且难以快速掌握。
基于Windows实现的虚拟无线电双向通信系统也是一种典型的虚拟无线电双向通信系,该虚拟无线电双向通信系统虽然摆脱了硬件的依赖性,且用户界面良好,容易入门,具有广大的用户量,但却难以满足通信协议严格的实时性要求而无法被广泛应用。
为了解决这些现有技术中的难题,本申请提出基于RTX的软件无线电通信装置、方法、介质、及终端,采用了RTX针对Windows实时性扩展特性,设计了一种基于Windows操作系统可增强实时性的双向通信系统实现方法。本方法通过使用中断的方式实现硬件板卡与通用处理器时钟对齐,拥有基于Windows通信系统的优点,同时也可提升通信系统的实时性,具有良好的应用前景。下文,将结合具体的实施例来说明本申请的技术方案的工作原理。
如图1所示,展示本申请一实施例中基于RTX的软件无线电通信装置的示意图。于本实施例中,双向通信软件无线电系统主要包括:数据处理模块11、数据传输模块12、以及射频前端模块13。需要说明的是,在图1中,虚线箭头用于表示控制信号的传输方向,实线箭头用于表示数据信号的传输方向。
于本实施例中,数据处理模块11位于多核PC上,数据传输模块12跨越硬件板卡和多核PC,射频前端模块13位于硬件板卡上。所述多核PC例如为多核CPU的通用处理器,硬件板卡例如为通用FPGA硬件板卡。
数据处理模块11
数据处理模块11位于多核PC上,主要包括接收物理层处理模块111(RX PHY)、发送物理层处理模块112(TX PHY)、接收MAC层处理模块113(RX MAC)、发送MAC层处理模块114(TX MAC)、以及未图示的更高层的通信协议层处理模块。更高层的通信协议层包括网络层协议、应用层协议、会话层协议等等。于本实施例中,物理层的数据处理进程在RTX的子系统RTSS中进行,通信高层协议进程在Win32子系统中进行。
发送过程中物理层协议处理包括对上层信源编码、信道编码、多路访问、调制的过程;接收过程中物理层协议处理则是相反的过程,相对应的转换有信源解码、信道解码、多路访问、解调的过程。
数据传输模块12
数据传输模块12跨越硬件板卡和多核PC,位于所述硬件板卡上的模块部分与位于多核PC上的模块部分通过PCIE总线连接。数据传输模块12中的无限状态机121(FSM)、用做接收功能的第一存储模块122(RAM)、用作发送功能的第二存储模块123(RAM)、PCIE接口124位于多核PC上;数据传输模块12中的PCIE IP CORE 125、第一缓存模块126(FIFO)、第二缓存模块127(FIFO)、接收控制器128(RxCtr)、发送控制器129(TxCtr)位于硬件板卡上。硬件板卡与多核PC通过PCIE总线相连,其可基于DMA方式或者PIO方式进行数据及控制信号的传输。
无限状态机121(FSM)控制着PCIE IP CORE 125向RAM中读写数据、物理层处理将数据从RAM中读写、以及物理层数据的处理操作。第一存储模块122(RAM)是数据从PCIE接口124读写的缓冲区,受无限状态机121(FSM)的控制。PCIE IP CORE 125与PCIE接口124相连接,以发送数据和控制信号,其受无限状态机121(FSM)的控制。第一缓存模块126(FIFO)和第二缓存模块127(FIFO)是先进先出的缓冲器,射频前端收到的信号和准备放的信号都先存储在这一模块再进行下一步动作。接收控制器128(RxCtr)控制射频前端的接收以及接收后发送信号,发送控制器129(TxCtr)控制射频前端的发送以及接收PC端的发送信号。
射频前端模块13
射频前端模块13主要包括接收天线模块131(RX)和发送天线模块132(TX),主要用于接收来自天线的数据,以及用于将数据发送至天线中。
上文,就本申请中基于RTX的软件无线电通信装置的结构做了详细的解释与说明。本申请的主要思想旨在无限状态机通过中断方式控制数据收发以及数据处理的过程,来提升软件无线电系统的实时性。下文,将分别从数据发送过程和数据接收过程来详细说明无限状态机的工作原理。
如图2所示,展示本申请一实施例中无限状态机FSM的结构示意图。于本实施例中,无限状态机21(FSM)使用了3个核模块,其分别为:第一核模块(C0)、第二核模块(C1)、及第三核模块(C2)。需要说明的是,出于说明性目的而提供以上示例,并且以上示例不应被理解成是限制性的,即无限状态机21(FSM)所使用的核数量并不限于3个,整个过程也基于1个或者更多的核来完成。
在一实施例中,无限状态机21(FSM)用于实现如下功能:接收通过PCIE接口22的来自于硬件板卡的数据信号;通过PCIE接口22向硬件板卡发送数据信号;在接收数据信号前令第二核模块(C1)检测第一存储模块23(RAM)的使用状态;在收到发送请求信号后向第三核模块(C2)发送将数据写入第二存储模块24(RAM)的中断信号;控制接收物理层处理模块25(RX PHY)的数据处理;控制发送物理层处理模块26(TX PHY)的数据处理。
具体而言,无限状态机21(FSM)的第一核模块(C0)用于接收通过PCIE接口22的来自于硬件板卡的数据信号,通过PCIE接口22向硬件板卡发送数据信号,在接收数据信号前令第二核模块(C1)检查第一存储模块RAM是否可用,以及在收到发送请求信号后向第三核模块(C2)发送将数据写入第二存储模块24(RAM)的中断信号。无限状态机21(FSM)的第二核模块(C1)用于控制接收物理层处理模块25(RX PHY)的数据处理。无限状态机21(FSM)的第三核模块(C2)用于控制发送物理层处理模块26(TX PHY)的数据处理。
下文将结合图1和图2来说明第一核模块(C0)、第二核模块(C1)、第三核模块(C2)的工作原理:
在接收数据的情况下,第一核模块(C0)是产生中断的核心部分,PCIE接口向第一核模块(C0)传入Rx接收信号,第一核模块(C0)产生一个中断,在此过程中,检查RAM是否被占用,若被占用,发送中断给第二核模块(C1),通知第二核模块(C1)将RAM中的数据进行搬移,若RAM可用,则响应中断,此时,硬件板卡中的FIFO可向RAM中写数据。FIFO向RAM中数据写结束,第一核模块(C0)发送信号给第二核模块(C1),通知第二核模块(C1)控制将数据从RAM中搬移并进行物理层处理。需要说明的是,在接收数据的情况下所使用的RAM是指位于数据接收流程中的RAM。
为便于本领域技术人员理解,现结合图3中的流程图对无限状态机在数据接收中的工作流程做进一步的解释说明。结合图1和图3可知:接收天线模块RF开始接收信号,将数据存放至第一缓存模块FIFO中。接收控制器RxCtr给无限状态机中的第一核模块(C0)发送Rx INT的中断信息。第一核模块(C0)接收到该中断信息后向第二核模块(C1)发送通知其准备接收数据的Rx INT中断信息。第二核模块(C1)检测第一存储模块(RAM)的使用状态,并在检测结束后向第一核模块(C0)发送一个中断响应信号。第一核模块(C0)向接收控制器RxCtr发送已做好数据接收准备的通知信号。接收控制器RxCtr在接收到通知信号后,用DMA方式向第一存储模块(RAM)中写数据。数据写入完成后,第二核模块(C1)令接收物理层处理模块(RX PHY)将第一存储模块(RAM)中的数据进行物理层处理,处理结束后通知第四核模块(C3)取出数据对数据做MAC层及更高层的数据处理工作。
在发送数据的情况下,第三核模块(C2)接收到上层传入的数据,进行物理层数据处理,处理完毕通知第一核模块(C0),向RAM中写数据。C0产生中断,向PCIE接口发送Tx发送信号,通知硬件板卡准备接收数据,并向第三核模块(C2)发出等待数据写完的中断信号,写数据完毕后,第三核模块(C2)向第一核模块(C0)的中断做出响应,硬件板卡中的FIFO从RAM中读取数据。需要说明的是,在发送数据的情况下所使用的RAM是指位于数据发送流程中的RAM。
为便于本领域技术人员理解,现结合图4中的流程图对无限状态机在数据发送中的工作流程做进一步的解释说明。结合图1和图4可知:第四核模块(C3)对数据进行MAC层操作结束后,通知第三核模块(C2)取走数据并对数据进行物理层操作。第三核模块(C2)进行物理层操作结束后将数据搬移至第二存储模块(RAM)中,并在数据搬移结束后向第一核模块(C0)发送Tx INT中断信息。第一核模块(C0)向硬件板卡中的接收控制器(Tx Ctr)发送通知信号。接收控制器(Tx Ctr)通过DMA方式从第二存储模块(RAM)中读取数据。读取结束后,向发送天线模块RF发送数据。
如图5A和5B所示,展示本申请一实施例中第一核模块(C0)的多个状态的示意图。于本实施例中,第一核模块(C0)共有4个状态,分别为:中断处理状态、Tx物理层处理状态、Rx物理层处理状态、以及Win32进程处理状态。
在一实施例中,第一核模块(C0)的中断处理状态主要包括中断处理接收状态和中断处理发送状态,中断处理接收状态包括在接收状态时来自硬件板卡中的接收控制器RxCtr的中断(Rx INT)以及在发送状态时接收来自C3核的中断(Tx INT)。中断处理发送状态包括给第二核模块(C1)和第三核模块(C2)发送的中断信息。也即,第一核模块(C0)在Rx物理层处理状态、Tx物理层处理状态、或者Win32进程处理状态下一旦收到中断Rx INT或是中断Tx INT,便立马转向中断处理状态。
如图5A所示,第一核模块(C0)在收到中断(Rx INT)并处理完射频前端模块中RX的中断信息后,转向Tx物理层处理状态;若此时没有TxPhy数据处理,或TxPhy数据处理结束,则转向Rx物理层处理状态;若此时没有Rx物理层数据处理,或Rx物理层数据处理结束,则进入Win32进程处理状态。需要说明的是,本实施例中第一核模块(C0)的状态变化过程由图5A中的虚线箭头表示。
如图5B所示,第一核模块(C0)在收到中断(Tx INT)并处理完射频前端模块中Rx的中断信息后,转向Rx物理层处理状态;若此时没有RxPhy数据处理,或RxPhy数据处理结束,则转向Tx物理层处理状态;若此时没有Tx物理层数据处理,或Tx物理层数据处理结束,则进入Win32进程处理状态。。需要说明的是,本实施例中第一核模块(C0)的状态变化过程由图5B中的虚线箭头表示。
如图6所示,展示本申请一实施例中第二核模块(C1)的多个状态的示意图。于本实施例中,第二核模块(C1)共有4个状态,其分别为:Rx DMA控制状态、Rx物理层处理状态、Tx物理层处理状态、以及Win32进程处理状态。
第二核模块(C1)的主要功能是Rx DMA控制,Rx DMA控制结束后,也即硬件板卡中接收控制器Rx Ctr对PC核中RAM进行DMA写数据结束后,第二核模块(C1)转入Rx物理层处理状态;Rx物理层处理状态结束后进如Tx物理层处理状态;若此时没有Tx物理层处理,或是Tx物理层处理结束,则进入Win 32进程处理状态。在Rx物理层处理状态、Tx物理层处理状态、以及Win32进程处理状态这3种状态下只有收到中断Rx INT,则第二核模块(C1)立刻转向RxDMA控制状态。
如图7所示,展示本申请一实施例中第三核模块(C2)的多个状态的示意图。于本实施例中,第三核模块(C2)共有4个状态,其分别为:Tx DMA控制状态、Rx物理层处理状态、Tx物理层处理状态、以及Win32进程处理状态。
第三核模块(C2)的主要功能是Tx DMA控制。Tx DMA控制结束后,也即硬件板卡中发送控制器Tx Ctr对PC核中RAM进行DMA读数据结束后,第三核模块(C2)转入Tx物理层处理状态;Tx物理层处理状态结束后进如Rx物理层处理状态;若此时没有Rx物理层处理,或是Rx物理层处理结束,则进入Win 32进程处理状态;在Rx物理层处理状态、Tx物理层处理状态、以及Win32进程处理状态这3种状态下只要收到中断Tx INT,立马转向Tx DMA控制状态。
应理解以上装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,例如将射频前端模块、数据处理模块、以及数据传输模块集成到同一物理实体上,也可如上文中的实施例所展示的在物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,数据传输模块可以为单独设立的处理元件,也可以集成在上述装置的某一个芯片中实现,此外,也可以以程序代码的形式存储于上述装置的存储器中,由上述装置的某一个处理元件调用并执行以上数据传输模块的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(digital signal processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(Central Processing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
如图8所示,展示本申请一实施例中Windows实时性增强的通信方法的流程示意图。于本实施例中,所述方法应用于软件无线电通信系统中的无限状态机;所述软件无线电通信系统还包括:射频前端模块、数据处理模块、以及数据传输模块;所述数据传输模块包括第一存储模块;所述方法包括步骤S81、步骤S82、步骤S83。
在步骤S81中,在接收到请求接收传输自所述射频前端模块的数据的接收请求信号时,检测所述第一存储模块的使用状态。
在步骤S82中,若检测到所述第一存储模块处于未被占用的状态,则接受该接收请求,以将待接收数据写入所述第一存储模块中,以供所述数据处理模块获取并处理所述待接收数据。
在步骤S83中,若检测到所述第一存储模块处于被占用的状态,则在移走所述第一存储模块中的当前数据后,接受该接收请求,以将待接收数据写入所述第一存储模块中,以供所述数据处理模块获取并处理所述待接收数据。
在一实施例中,所述方法还包括步骤S84。
在步骤S84中,所述数据传输模块包括第二存储模块;所述方法包括:将传输自所述数据处理模块的待发送数据写入所述第二存储模块中,并发出发送请求信号,以将所述第二存储模块中的待发送数据发送至所述射频前端模块。
需要说明的是,本实施例中Windows实时性增强的通信方法的实施方式,与上文中基于RTX的软件无线电通信装置的实施方式类似,故不再赘述。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过计算机程序相关的硬件来完成。前述的计算机程序可以存储于一计算机可读存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
如图9所示,展示本申请一实施例中电子终端的结构示意图。本实例提供的电子终端,包括:处理器91、存储器92、收发器93、通信接口94和系统总线95;存储器92和通信接口94通过系统总线95与处理器91和收发器93连接并完成相互间的通信,存储器92用于存储计算机程序,通信接口94和收发器93用于和其他设备进行通信,处理器91用于运行计算机程序,使电子终端执行如上Windows实时性增强的通信方法的各个步骤。
上述提到的系统总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该系统总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。通信接口用于实现数据库访问装置与其他设备(例如客户端、读写库和只读库)之间的通信。存储器可能包含随机存取存储器(Random Access Memory,简称RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
综上所述,本申请提供基于RTX的软件无线电通信装置、方法、介质、及终端,本申请采用了RTX针对Windows实时性扩展特性,设计了一种基于Windows操作系统可增强实时性的双向通信系统实现方法。本方法通过使用中断的方式实现硬件板卡与通用处理器时钟对齐,拥有基于Windows通信系统的优点,同时也可提升通信系统的实时性,具有良好的应用前景。所以,本申请有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本申请的原理及其功效,而非用于限制本申请。任何熟悉此技术的人士皆可在不违背本申请的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本申请所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本申请的权利要求所涵盖。
Claims (16)
1.一种Windows实时性增强的通信装置,其特征在于,所述装置包括:
射频前端模块,用于接收外部数据和/或将数据发送至外部;
数据处理模块,用于处理数据;
数据传输模块,其包括无限状态机、第一存储模块,用于控制所述射频前端模块和数据处理模块之间的数据传输;
所述数据传输模块还包括接收控制器、发送控制器、第二存储模块;所述数据处理模块包括接收物理层处理模块和发送物理层处理模块;
所述无限状态机包括:
第一核模块,用于接收来自接收控制器的接收请求信号,且用于通过接口模块将发送请求信号发送至发送控制器,且用于在接受接收请求前向第二核模块发送检测所述第一存储模块的使用状态的中断信号,还用于在收到发送请求信号后向第三核模块发送将数据写入第二存储模块的中断信号;
第二核模块,用于控制接收物理层处理模块;
第三核模块,用于控制发送物理层处理模块;
其中,所述无限状态机的第一核模块用于接收所述射频前端模块的数据的接收请求信号,所述无限状态机在接收到请求接收传输自所述射频前端模块的数据的接收请求信号时,检测所述第一存储模块的使用状态;若检测到所述第一存储模块处于未被占用的状态,则所述无限状态机的第二核模块接受该接收请求,以将待接收数据写入所述第一存储模块中,以供所述数据处理模块获取并处理所述待接收数据;若检测到所述第一存储模块处于被占用的状态,则所述无限状态机的第二核模块在移走所述第一存储模块中的当前数据后,接受该接收请求,以将待接收数据写入所述第一存储模块中,以供所述数据处理模块获取并处理所述待接收数据;
所述数据传输模块包括第二存储模块;其中:所述无限状态机将传输自所述数据处理模块的待发送数据写入所述第二存储模块中,并发出发送请求信号,以通过所述无限状态机的第三核模块将所述第二存储模块中的待发送数据发送至所述射频前端模块。
2.根据权利要求1所述的装置,其特征在于,包括:
所述射频前端模块布设于第一硬件模块上;所述数据处理模块布设于第二硬件模块上;
所述数据传输模块分布布设于所述第一硬件模块和第二硬件模块上。
3.根据权利要求2所述的装置,其特征在于,所述第一硬件模块包括FPGA硬件板块,所述第二硬件模块包括多核CPU的通用处理器。
4.根据权利要求2所述的装置,其特征在于,布设于所述第一硬件模块上的所述数据传输模块包括:
第一缓存模块,用于缓存来自射频前端模块的数据;
第二缓存模块,用于缓存发送至射频前端模块的数据;
接收控制器,用于控制射频前端模块的数据接收,并向所述无限状态机发送所述接收请求信号;
发送控制器,用于控制射频前端模块的数据发送,并接收来自所述无限状态机的所述发送请求信号;
IP内核模块。
5.根据权利要求4所述的装置,其特征在于,布设于所述第二硬件模块上的所述数据传输模块包括所述第一存储模块和第二存储模块,还包括:
接口模块,其与所述IP内核模块通过数据总线相连,以传输所述第一硬件模块和第二硬件模块之间的数据。
6.根据权利要求1所述的装置,其特征在于,所述数据处理模块包括:
接收物理层处理模块,用于获取并处理所述第一存储模块中的数据;
发送物理层处理模块,用于将处理后的数据发送至所述第二存储模块中;
接收MAC层处理模块,用于对经所述接收物理层处理模块处理后的数据进行MAC层及更高层处理;
发送MAC层处理模块,用于对数据进行MAC层及更高层处理后发送至所述发送物理层处理模块。
7.根据权利要求1所述的装置,其特征在于,所述射频前端模块包括:
接收天线模块,用于接收外部数据并传输至所述数据传输模块;
发送天线模块,用于将来自所述数据传输模块的数据发送至外部。
8.一种Windows实时性增强的通信方法,其特征在于,应用于软件无线电通信装置中的无限状态机;所述软件无线电通信装置还包括:射频前端模块、数据处理模块、以及数据传输模块;所述数据传输模块包括第一存储模块;所述数据传输模块还包括接收控制器、发送控制器、第二存储模块;所述数据处理模块包括接收物理层处理模块和发送物理层处理模块;所述无限状态机包括:第一核模块,用于接收来自接收控制器的接收请求信号,且用于通过接口模块将发送请求信号发送至发送控制器,且用于在接受接收请求前向第二核模块发送检测所述第一存储模块的使用状态的中断信号,还用于在收到发送请求信号后向第三核模块发送将数据写入第二存储模块的中断信号;第二核模块,用于控制接收物理层处理模块;第三核模块,用于控制发送物理层处理模块;所述方法包括:
所述无限状态机的第一核模块在接收到请求接收传输自所述射频前端模块的数据的接收请求信号时,检测所述第一存储模块的使用状态;
若检测到所述第一存储模块处于未被占用的状态,则所述无限状态机的第二核模块接受该接收请求,以将待接收数据写入所述第一存储模块中,以供所述数据处理模块获取并处理所述待接收数据;
若检测到所述第一存储模块处于被占用的状态,则所述无限状态机的第二核模块在移走所述第一存储模块中的当前数据后,接受该接收请求,以将待接收数据写入所述第一存储模块中,以供所述数据处理模块获取并处理所述待接收数据;
所述数据传输模块包括第二存储模块;所述方法包括:
将传输自所述数据处理模块的待发送数据写入所述第二存储模块中,并发出发送请求信号,以通过所述无限状态机的第三核模块将所述第二存储模块中的待发送数据发送至所述射频前端模块。
9.根据权利要求8所述的方法,其特征在于,所述射频前端模块布设于第一硬件模块上;所述数据处理模块布设于第二硬件模块上;所述数据传输模块分布布设于所述第一硬件模块和第二硬件模块上。
10.根据权利要求9所述的方法,其特征在于,所述第一硬件模块包括FPGA硬件板块,所述第二硬件模块包括多核CPU的通用处理器。
11.根据权利要求9所述的方法,其特征在于,布设于所述第一硬件模块上的所述数据传输模块包括:
第一缓存模块,用于缓存来自射频前端模块的数据;
第二缓存模块,用于缓存发送至射频前端模块的数据;
接收控制器,用于控制射频前端模块的数据接收,并向所述无限状态机发送所述接收请求信号;
发送控制器,用于控制射频前端模块的数据发送,并接收来自所述无限状态机的所述发送请求信号;
IP内核模块。
12.根据权利要求11所述的方法,其特征在于,布设于所述第二硬件模块上的所述数据传输模块包括所述第一存储模块和第二存储模块,还包括:
接口模块,其与所述IP内核模块通过数据总线相连,以传输所述第一硬件模块和第二硬件模块之间的数据。
13.根据权利要求8所述的方法,其特征在于,所述数据处理模块包括:
接收物理层处理模块,用于获取并处理所述第一存储模块中的数据;
发送物理层处理模块,用于将处理后的数据发送至所述第二存储模块中;
接收MAC层处理模块,用于对经所述接收物理层处理模块处理后的数据进行MAC层及更高层处理;
发送MAC层处理模块,用于对数据进行MAC层及更高层处理后发送至所述发送物理层处理模块。
14.根据权利要求8所述的方法,其特征在于,所述射频前端模块包括:
接收天线模块,用于接收外部数据并传输至所述数据传输模块;
发送天线模块,用于将来自所述数据传输模块的数据发送至外部。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求8至14中任一项所述Windows实时性增强的通信方法。
16.一种电子终端,其特征在于,包括:处理器及存储器;
所述存储器用于存储计算机程序;
所述处理器用于执行所述存储器存储的计算机程序,以使所述终端执行如权利要求8至14中任一项所述Windows实时性增强的通信方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910178708.9A CN109947533B (zh) | 2019-03-11 | 2019-03-11 | Windows实时性增强的虚拟无线电实现装置、方法、介质、及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910178708.9A CN109947533B (zh) | 2019-03-11 | 2019-03-11 | Windows实时性增强的虚拟无线电实现装置、方法、介质、及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109947533A CN109947533A (zh) | 2019-06-28 |
CN109947533B true CN109947533B (zh) | 2023-11-17 |
Family
ID=67009432
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910178708.9A Active CN109947533B (zh) | 2019-03-11 | 2019-03-11 | Windows实时性增强的虚拟无线电实现装置、方法、介质、及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109947533B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1367586A (zh) * | 2001-08-16 | 2002-09-04 | 金纯� | 通用蓝牙外接式模块 |
WO2016078401A1 (zh) * | 2014-11-21 | 2016-05-26 | 中兴通讯股份有限公司 | 一种基带与射频联合的时序调整方法与装置 |
CN105991585A (zh) * | 2015-02-13 | 2016-10-05 | 中国科学院上海高等研究院 | 一种无线通信实现方法及系统 |
CN109286597A (zh) * | 2017-07-20 | 2019-01-29 | 北京中科晶上科技股份有限公司 | 一种基带芯片 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8565811B2 (en) * | 2009-08-04 | 2013-10-22 | Microsoft Corporation | Software-defined radio using multi-core processor |
-
2019
- 2019-03-11 CN CN201910178708.9A patent/CN109947533B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1367586A (zh) * | 2001-08-16 | 2002-09-04 | 金纯� | 通用蓝牙外接式模块 |
WO2016078401A1 (zh) * | 2014-11-21 | 2016-05-26 | 中兴通讯股份有限公司 | 一种基带与射频联合的时序调整方法与装置 |
CN105991585A (zh) * | 2015-02-13 | 2016-10-05 | 中国科学院上海高等研究院 | 一种无线通信实现方法及系统 |
CN109286597A (zh) * | 2017-07-20 | 2019-01-29 | 北京中科晶上科技股份有限公司 | 一种基带芯片 |
Non-Patent Citations (3)
Title |
---|
基于PCI Express总线的多天线射频收发系统设计;邱剑等;《微电子学》;20131220(第06期);全文 * |
基于RTX的虚拟无线电高速数据接口实时性研究;闻达等;《科学技术与工程》;20170928(第27期);全文 * |
基于RTX的高速实时数据采集系统;闻达等;《仪表技术与传感器》;20170715(第07期);第84-92页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109947533A (zh) | 2019-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108628684B (zh) | 一种基于dpdk的报文处理方法及计算机设备 | |
US11206066B2 (en) | Method of transmitting sounding reference signal and electronic device therefor | |
CN107728936B (zh) | 用于传输数据处理请求的方法和装置 | |
US10572410B2 (en) | Function-specific communication on a multi-drop bus for coexistence management | |
US11853767B2 (en) | Inter-core data processing method, system on chip and electronic device | |
CN105468548B (zh) | 串行外围接口的通信 | |
US20230140279A1 (en) | Inter-processor communication method, electronic assembly, and electronic device | |
US20240205170A1 (en) | Communication method based on user-mode protocol stack, and corresponding apparatus | |
WO2022251998A1 (zh) | 支持多协议栈的通信方法及系统 | |
CN109947533B (zh) | Windows实时性增强的虚拟无线电实现装置、方法、介质、及终端 | |
CN110597643B (zh) | 核间通信方法、处理器以及电子设备 | |
CN102413247A (zh) | 终端死机现场的恢复方法及装置 | |
US11119790B2 (en) | Low latency clock-based control via serial bus | |
CN106933646B (zh) | 一种创建虚拟机的方法及装置 | |
CN111427806A (zh) | 一种双核amp系统共用串口的方法、存储介质及智能终端 | |
CN114780353B (zh) | 一种文件日志监控方法、系统及计算设备 | |
US20230180194A1 (en) | Multimode chip and terminal device | |
CN109800194A (zh) | 基于Linux系统的SDIO接口数据传输方法及装置 | |
CN116610648A (zh) | 日志保存方法、装置、电子设备及存储介质 | |
CN114338567A (zh) | Sdio接口数据传输方法及装置、sdio接口设备 | |
CN116601616A (zh) | 一种数据处理装置、方法及相关设备 | |
CN114286434B (zh) | 一种全双工iab上行传输方法和设备 | |
CN113271663B (zh) | 通信方法、装置、终端设备及无线接入网设备 | |
CN109039392B (zh) | 一种蓝牙设备 | |
CN112015346A (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 |