CN105991585B - 一种无线通信实现方法及系统 - Google Patents
一种无线通信实现方法及系统 Download PDFInfo
- Publication number
- CN105991585B CN105991585B CN201510080361.6A CN201510080361A CN105991585B CN 105991585 B CN105991585 B CN 105991585B CN 201510080361 A CN201510080361 A CN 201510080361A CN 105991585 B CN105991585 B CN 105991585B
- Authority
- CN
- China
- Prior art keywords
- wireless communication
- thread
- signaling
- rtx
- related work
- 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
Landscapes
- Mobile Radio Communication Systems (AREA)
- Communication Control (AREA)
Abstract
本发明提供一种无线通信实现方法及系统。所述无线通信实现方法包括:基于RTX实现实时性要求较高的通信系统低层协议相关工作,所述低层协议相关工作包括物理层协议以及物理层会聚协议层状态机相关工作;基于Windows实现实时性要求相对较低的通信系统高层协议相关工作,所述通信系统高层协议相关工作包括MAC层协议以及网络层协议相关工作;创建共享内存以及事件体以实现所述通信系统低层协议与所述通信系统高层协议之间的信息同步与交互。本发明的技术方案充分利用了RTX的实时扩展特性,能大大增强了基于Windows系统实现的无线通信系统的实时性与稳定性。
Description
技术领域
本发明涉及一种计算机技术,特别是涉及一种无线通信实现方法及系统。
背景技术
目前,无线通信通常采用软件无线电技术。软件无线电是在通用、标准、模块化的硬件平台上,用软件定义和实现通信协议的一种新的设计方法。采用的技术以及平台的不同,软件无线电有不同的实现方式。传统软件无线电是基于编程的FPGA和DSP实现,其处理实时性可满足现代高速无线协议处理的计算和实时要求。但是该实现方式的主要缺点是具有硬件依赖性,并且要具有嵌入式和硬件结构的知识,开发周期很长。近年来随着通用处理器处理(GPP)能力的极大提高,基于GPP实现的软件无线电,即虚拟无线电,获得学术界和工业界的广泛关注。目前应用比较广泛的虚拟无线电主要基于两种操作系统,一种是基于Linux实现的虚拟无线电,另一种是基于Windows实现的虚拟无线电。前者的代表是GNURadio,后者的代表是微软的SORA。但虚拟无线电技术也存在一定的缺点,其中主要缺点是实时性以及稳定性问题,现代无线通信协议对实时性和稳定性要求高,例如802.11a协议中,MAC层状态机的CSMA/CD算法,要求从检测信道空闲到接入信道的时延尽可能小,要求收发状态切换在微秒级,ACK帧反馈时间在16us内。目前,使用比较广泛的虚拟无线电平台是GNU Radio,其系统架构是由很多总线异步处理单元组成,导致时间抖动和延迟,延迟达到36.9ms。微软的SORA是基于Windows实现的虚拟无线电平台,充分利用了Windows系统的优点,但是仍然存在实时性问题。Windows无法为SORA中基于定时器的中断提供高精度定时服务。Windows提供1ms的时钟分辨率,无法提供高精度定时。在SORA中有很多进程具有相同优先级,系统采用轮转的方式执行相同优先级的进程,无法保证实时性,同时,时间片轮转调度策略也导致时延的不确定性。
鉴于此,如何提高虚拟无线电技术的实时性以满足现代无线通信协议对实时性的高要求成为了本领域技术人员亟待解决的问题。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种无线通信实现方法及系统,用于解决现有技术中虚拟无线电技术的实时性不能满足现代无线通信协议对实时性的高要求的问题。
为实现上述目的及其他相关目的,本发明提供一种无线通信实现方法,所述无线通信实现方法包括:基于RTX实现实时性要求较高的通信系统低层协议相关工作,所述低层协议相关工作包括物理层协议以及物理层会聚协议层状态机相关工作;基于Windows实现实时性要求相对较低的通信系统高层协议相关工作,所述通信系统高层协议相关工作包括MAC层协议以及网络层协议相关工作;创建共享内存以及事件体以实现所述通信系统低层协议与所述通信系统高层协议之间的信息同步与交互。
可选地,所述信息包括数据和控制信令。
可选地,所述物理层会聚协议层状态机相关工作的具体实现包括:创建载波侦听线程、接收线程、发送线程以及空闲线程实现所述状态机相关工作。
可选地,所述载波侦听线程、接收线程、发送线程以及空闲线程具有最高优先级。
可选地,所述状态机通过接收信令、发送信令、接收结束信令以及发送结束信令实现状态切换。
可选地,所述接收信令包括向PLCP层传递物理信道信号强度的信令、向PLCP层指示信道是否空闲的信令以及向PLCP层传递接收数据的信令。
可选地,所述发送信令包括向物理层实体指示开始接收MAC层数据的信令、向MAC层传递信道是否空闲的信令以及MAC层发布开始发送数据的信令。
可选地,所述接收结束信令包括发布数据接收结束的信令。
可选地,所述发送结束信令包括发布数据发送结束的信令。
本发明还提供一种无线通信实现系统,所述无线通信实现系统包括:RTX通信模块,所述RTX通信模块用于实现无线通信系统低层协议相关工作,所述低层协议相关工作包括物理层以及物理层汇聚层状态机相关工作;Windows通信模块,所述Windows通信模块用于实现无线通信系统中高层协议相关工作,所述高层协议相关工作包括MAC层以及网络层相关工作;数据交互接口模块,用于创建共享内存以及事件体以实现所述RTX通信模块与所述Windows通信模块之间的信息同步与交互。
可选地,所述信息包括数据和控制信令。
可选地,所述物理层会聚协议层状态机相关工作的具体实现包括:创建载波侦听线程、接收线程、发送线程以及空闲线程实现所述状态机相关工作。
可选地,所述系统包括两个以上内核,所述载波侦听线程、接收线程以及空闲线程占用一个内核,所述发送线程占用一个内核。
可选地,所述载波侦听线程、接收线程、发送线程以及空闲线程具有最高优先级。
可选地,所述RTX通信模块还用于对RCB的管理。
如上所述,本发明的一种无线通信实现方法及系统,具有以下有益效果:在RTX实时扩展系统中实现通信系统中实时性要求较高的低层通信协议,在Windows系统中实现通信系统中实时性要求相对较低的高层通信协议。不同系统中实现的通信协议模块之间通过共享内存和事件体实现信息的交互,包括数据交互和控制信令交互,交互包括数据共享和数据同步。RTX中实现的通信系统部分模块用来处理无线通信中的低层协议部分,能够满足无线通信协议物理层数据量大、处理过程时间需具有可控性和稳定性的特点,以及PLCP层状态机微秒级别的切换要求。本发明的一种无线通信实现方法及系统大大增强了Windows系统无线通信操作的实时性与稳定性,提高了Windows系统中无线通信的性能。
附图说明
图1显示为本发明的无线通信实现方法的一实施例的流程示意图。
图2显示为本发明的无线通信实现方法的一实施例的流程示意图。
图3显示为本发明的无线通信实现方法的一实施例的线程切换示意图。
图4显示为本发明的无线通信实现系统的一实施例的模块示意图。
图5显示为本发明的无线通信实现系统的一实施例的系统结构示意图。
元件标号说明
1 无线通信实现系统
11 RTX通信模块
12 数据交互接口模块
13 Windows通信模块
S1~S3 步骤
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
本发明提供一种无线通信实现方法。在一个实施例中,如图1所示,所述无线通信实现方法包括:
步骤S1,基于RTX实现实时性要求较高的通信系统低层协议相关工作,所述低层协议相关工作包括物理层协议以及物理层会聚协议层状态机相关工作。具体地,所述信息包括数据和控制信令。RTX(Real Time Extension)实时扩展系统是在Windows平台上扩展的一个实时子系统。RTX对Windows系统进行了实时性扩展,能够提供实时性保障。这不同于一般的实时性系统,它充分利用windows系统丰富的开发工具,强大的高级开发语言,广泛的应用范围,以及友好的人机交互界面等优点。RTX子系统具有如下特点:1,能够提供高精度定时服务,RTX提供的最小定时周期是100us,而windows提供的最小定时周期是1ms。2,具有丰富的优先级,RTX提供0到127个优先级别,充分保证对实时性要求不同的进程具有不同的优先级。而windows只有0到31个优先级别。3,具有确定的调度策略,RTX的调度策略总是运行准备就绪的优先级最高的线程,如果有就绪的多个线程的优先级相同,就运行等待时间最长的那个线程。RTX具有实时性的进程调度策略。4,RTX和windows可以并行运行在硬件平台上,只有少量后台服务程序在RTX系统中,大部分后台程序都在windows系统中。5,.RTX实现中断隔离,windows的线程和设备不能中断实时子系统RTSS,windows线程不能屏蔽RTX管理的设备,RTX能屏蔽所有windows的中断。6,RTX实现关闭处理程序,在windows系统出现正常关闭和非正常关闭时,RTX能够使损害程度降到最低。现代无线通信协议存在以下特点:1,物理层数据吞吐量大,计算量大,缓存有限,需要提供实时性和稳定性。2,现代无线通信协议要求反馈帧的物理层处理过程所需时间具有可控性和稳定性。3,物理层汇聚协议层(PLCP)状态机的CSMA/CD技术,即带冲突检测的载波监听多路访问技术,要求从检测到信道空闲到接入信道的时间尽量短,要求时间是微秒(us)级别。Windows是毫秒(ms)级别。4,物理层汇聚协议层(PLCP)状态机的状态切换,如收发状态切换要求在微秒(us)级别。Windows无法提供稳定的切换延迟。5,现代无线通信协议规定接收机在接收数据后,在有限的时限内发送一个反馈帧,该时限在微秒(us)级别。如802.11a要求在16us内发送ACK。基于上述原因,本发明的技术方案在实时操作系统RTX中,实现物理层的全部算法以及PLCP层的状态机。PLCP(Physical Layer Convergence Procedure,物理层会聚协议)是映射ATM信元到物理媒体的规范,定义特定的管理信息。
在一个实施例中,所述物理层会聚协议层状态机相关工作的具体实现包括:创建载波侦听线程、接收线程、发送线程以及空闲线程实现所述状态机相关工作。所述载波侦听线程、接收线程、发送线程以及空闲线程具有最高优先级。所述状态机通过接收信令、发送信令、接收结束信令以及发送结束信令实现状态的切换,其中接收信令向PLCP层传递物理信道信号强度的信令、向PLCP层指示信道是否空闲的信令以及向PLCP层传递接收数据的信令;发送信令包括向物理层实体指示开始接收MAC层数据的信令、向MAC层传递信道是否空闲的信令以及MAC层发布开始发送数据的信令;接收结束信令包括发布数据接收结束的信令;发送结束信令包括发布数据发送结束的信令。在一个实施例中,为了保证所述状态机的严格实时性,创建的状态机中的接收状态线程、载波侦听线程以及空闲线程占用一个RTX内核,发送线程占用另外一个RTX内核,并将优先级设置为最高级。在一个实施例中,物理层处理过程用到的一些库,流式处理算法以及SSE扩展指令集的支持库等也基于RTX子系统实现。在一个实施例中,所述PLCP层状态机采用了带冲突检测的载波监听多路访问技术。在一个实施例中,所述状态机采用了PLCP(Physical Layer Convergence Procedure)层协议,即物理层会聚协议。物理层会聚协议是映射ATM信元到物理媒体的规范,定义特定的管理信息。创建状态机中的状态线程实现所述PLCP层状态机的相关工作,所述状态线程包括接收线程、发送线程、载波侦听线程以及空闲线程。所述状态线程为具有最高的优先级的RTX线程。创建的RTX线程运行在内核模式中。
步骤S2,基于Windows实现实时性要求相对较低的通信系统高层协议相关工作,所述通信系统高层协议相关工作包括MAC层协议以及网络层协议相关工作。具体地,将无线通信中实时性要求不高的部分由Windows系统实现,所述无线通信中实时性要求不高的部分包括MAC(Media Access Control,媒体访问控制)层以及网络层相关工作,实时性要求相对较低的通信系统高层协议相关工作由Windows内核实现。在一个实施例中,所述Windows系统通过创建Windows内核进程来实现所述无线通信系统高层协议相关工作。所述Windows内核进程也可称为Windows系统进程,运行在Windows内核模式中。所述无线通信中实时性要求不高的部分还包括应用层相关工作。所述应用层相关工作由Windows用户进程实现,所述Windows用户进程运行在Windows的用户模式中。
步骤S3,创建共享内存以及事件体以实现所述通信系统低层协议与所述通信系统高层协议之间的信息同步与交互。在一个实施例中,RTX系统提供了和Windows系统进程间通信的机制,通过共享内存实现不同系统中进程间的数据通信,通过事件体实现数据同步。共享内存是一段命名的物理内存区域,这段内存可以映射到任何进程中。进程间通过共享内存的名字实现内存共享,通过共享内存的虚拟地址实现对共享内存的读写。事件体是Windows实现互斥机制所用到的一种内核对象,多个进程通过命名的事件体实现同步。RTX系统和Windows系统基于共享内存实现数据读写,基于事件体实现控制同步。通过共享内存,实现数据的共享。RTX和Windows系统中的进程或线程都可以通过共享内存的名字打开共享内存,返回该共享内存的虚拟地址。通过虚拟地址,可以读写共享内存。RTX和Windows系统通过命名的事件体实现对共享内存的互斥访问。
在一个实施例中,Windows系统中的通信协议进程创建共享内存(Shm)和事件体(Event1,Event2),创建RTX系统中的进程(或线程)。RTX系统中的通信协议进程打开共享内存和事件体。在一个实施例中,如图2所示,一个RTX进程(或线程)与Windows进程(或线程)进行数据交互的实例如下所述:首先,Windows中通信协议进程进入等待状态直到Event1有信号,因为Event1创建时设为无信号,此进程挂起。然后,RTX中通信协议进程打开共享内存和事件体Event1,Event2,循环往共享内存中写数据,写完之后设置Event1有信号,并将此进程挂起,即RTX通信协议进程进入等待状态直到Event2有信号。当收到Event1信号,处在另一个内核中的Windows通信协议进程从挂起状态转到执行状态,系统自动设置Event1为无信号,同时开始读取共享内存的数据。Windows通信协议进程读完数据后设置Event2有信号。当收到Event2信号,RTX无线通信协议进程从挂起状态转成执行状态,系统自动设置Event2为无信号,然后判断循环是否结束,结束则退出,否则开始写共享内存。Windows无线通信协议进程判断循环是否结束,结束则退出,否则进入等待状态,直到RTX无线通信协议进程设置Event1有信号。如此循环交互,直到数据读写结束。
在一个实施例中,基于RTX实现虚拟无线电PLCP层状态机。如图3所示,整个处理过程主要由载波侦听、接收、发送处理单元构成,各处理单元在RTX系统中由独立的线程实现。载波侦听单元和接收单元在RTX系统的一个内核中实现,发送线程在RTX系统中的另一个内核实现。所述状态机通过接收信令、发送信令、接收结束信令以及发送结束信令实现状态的切换,其中接收信令向PLCP层传递物理信道信号强度的信令、向PLCP层指示信道是否空闲的信令以及向PLCP层传递接收数据的信令;发送信令包括向物理层实体指示开始接收MAC层数据的信令、向MAC层传递信道是否空闲的信令以及MAC层发布开始发送数据的信令;接收结束信令包括发布数据接收结束的信令;发送结束信令包括发布数据发送结束的信令。当有数据要发送,载波侦听线程检测信道是否空闲。一旦检测到信道空闲,载波侦听线程通过发送控制信号切换到发送线程,实现数据发送。数据发送处理完成后,发送线程通过状态函数模块判断目标状态,通过发送控制信号切换到目标状态线程(载波侦听线程或接收线程)。接收数据过程与之相似。在通信系统中,各处理状态之间的切换有严格的实时性要求。如IEEE802.11g协议规定接收端收到数据后的16us内须发送一个ACK反馈信号。收发状态切换须在5us以内完成。即接收线程完成接收数据处理后,发送状态切换控制信号,随后协议处理状态切换到发送线程以发送ACK反馈信号。
本发明还提供一种无线通信实现系统。在一个实施例中,如图4所示,所述无线通信实现系统1包括:RTX通信模块11、数据交互接口模块12以及Windows通信模块13。其中:
RTX通信模块11用于实现无线通信中实时性要求较高的工作,所述实时性要求较高的工作包括无线通信系统低层协议相关工作,所述低层协议相关工作包括物理层以及物理层汇聚层状态机相关工作。RTX是在Windows平台上扩展的一个实时子系统。RTX对Windows系统进行了实时性扩展,能够提供实时性保障。这不同于一般的实时性系统,它充分利用windows系统丰富的开发工具,强大的高级开发语言,广泛的应用范围,以及友好的人机交互界面等优点。RTX子系统具有如下特点:1,能够提供高精度定时服务,RTX提供的最小定时周期是100us,而windows提供的最小定时周期是1ms。2,具有丰富的优先级,RTX提供0到127个优先级别,充分保证对实时性要求不同的进程具有不同的优先级。而windows只有0到31个优先级别。3,具有确定的调度策略,RTX的调度策略总是运行准备就绪的优先级最高的线程,如果有就绪的多个线程的优先级相同,就运行等待时间最长的那个线程。RTX具有实时性的进程调度策略。4,RTX和windows可以并行运行在硬件平台上,只有少量后台服务程序在RTX系统中,大部分后台程序都在windows系统中。5,.RTX实现中断隔离,windows的线程和设备不能中断实时子系统RTSS,windows线程不能屏蔽RTX管理的设备,RTX能屏蔽所有windows的中断。6,RTX实现关闭处理程序,在windows系统出现正常关闭和非正常关闭时,RTX能够使损害程度降到最低。现代无线通信协议存在以下特点:1,物理层数据吞吐量大,计算量大,缓存有限,需要提供实时性和稳定性。2,现代无线通信协议要求反馈帧的物理层处理过程所需时间具有可控性和稳定性。3,PLCP层状态机的CSMA/CD技术,即带冲突检测的载波监听多路访问技术,要求从检测到信道空闲到接入信道的时间尽量短,要求时间是微秒(us)级别。Windows是毫秒(ms)级别。4,PLCP层状态机的状态切换,如收发状态切换要求在微秒(us)级别。Windows无法提供稳定的切换延迟。5,现代无线通信协议规定接收机在接收数据后,在有限的时限内发送一个反馈帧,该时限在微秒(us)级别。如802.11a要求在16us内发送ACK。基于上述原因,本发明的技术方案在RTX通信模块11中创建RTX进程以实现物理层的全部算法以及MAC层的状态机。
在一个实施例中,所述物理层会聚协议层状态机相关工作的具体实现包括:创建载波侦听线程、接收线程、发送线程以及空闲线程实现所述状态机相关工作。所述载波侦听线程、接收线程、发送线程以及空闲线程具有最高优先级。在一个实施例中,为了保证所述状态机的严格实时性,创建的状态机中的接收状态线程、载波侦听线程以及空闲线程占用一个RTX内核,发送线程占用另外一个RTX内核,并将优先级设置为最高级。在一个实施例中,状态机通过接收信令、发送信令、接收结束信令以及发送结束信令实现状态的切换,其中接收信令向PLCP层传递物理信道信号强度的信令、向PLCP层指示信道是否空闲的信令以及向PLCP层传递接收数据的信令;发送信令包括向物理层实体指示开始接收MAC层数据的信令、向MAC层传递信道是否空闲的信令以及MAC层发布开始发送数据的信令;接收结束信令包括发布数据接收结束的信令;发送结束信令包括发布数据发送结束的信令。在一个实施例中,物理层处理过程用到的一些库,流式处理算法以及SSE扩展指令集的支持库等也基于RTX子系统实现。在一个实施例中,所述PLCP层状态机采用了带冲突检测的载波监听多路访问技术。在一个实施例中,所述状态机采用了PLCP(Physical Layer ConvergenceProcedure)层协议,即物理层会聚协议。物理层会聚协议是映射ATM信元到物理媒体的规范,定义特定的管理信息。创建状态机中的状态线程实现所述PLCP层状态机的相关工作,所述状态线程包括接收线程、发送线程、载波侦听线程以及空闲线程。所述状态线程为具有最高的优先级的RTX线程。创建的RTX线程运行在内核模式中。
在一个实施例中,基于RTX实现虚拟无线电PLCP层状态机的整个处理过程主要由载波侦听、接收、发送处理单元构成,各处理单元在RTX系统中由独立的线程实现。载波侦听单元和接收单元在RTX系统的一个内核中实现,发送线程在RTX系统中的另一个内核实现。所述状态机通过接收信令、发送信令、接收结束信令以及发送结束信令实现状态的切换,其中接收信令向PLCP层传递物理信道信号强度的信令、向PLCP层指示信道是否空闲的信令以及向PLCP层传递接收数据的信令;发送信令包括向物理层实体指示开始接收MAC层数据的信令、向MAC层传递信道是否空闲的信令以及MAC层发布开始发送数据的信令;接收结束信令包括发布数据接收结束的信令;发送结束信令包括发布数据发送结束的信令。当有数据要发送,载波侦听线程检测信道是否空闲。一旦检测到信道空闲,载波侦听线程通过发送控制信号切换到发送线程,实现数据发送。数据发送处理完成后,发送线程通过状态函数模块判断目标状态,通过发送控制信号切换到目标状态线程(载波侦听线程或接收线程)。接收数据过程与之相似。在通信系统中,各处理状态之间的切换有严格的实时性要求。如IEEE802.11g协议规定接收端收到数据后的16us内须发送一个ACK反馈信号[8]。收发状态切换须在5us以内完成。即接收线程完成接收数据处理后,发送状态切换控制信号,随后协议处理状态切换到发送线程以发送ACK反馈信号。
在一个实施例中,所述RTX通信模块11还用于对RCB的管理。RCB(Radio controlboard)是一种射频控制板卡,也是一种转接板,提供一个对PC的高速PCIe接口。一端通过PCIe总线连接到主机,另一端连接射频板。主要用于将射频板接收到的无线数据快速传输到PC上的转接装置。所述RTX通信模块11还用于实现对RCB相关的管理工作。
Windows通信模块13用于实现无线通信中实时性要求相对较低工作,所述实时性要求相对较低的工作包括无线通信高层通信协议相关工作,所述高层通信协议相关工作包括MAC层以及网络层相关工作。具体地,将无线通信中实时性要求不高的部分由Windows系统实现,所述无线通信中实时性要求不高的部分包括MAC(Media Access Control,媒体访问控制)层以及网络层相关工作,实时性要求相对较低的通信系统高层协议相关工作由Windows通信模块3实现。在一个实施例中,在Windows通信模块3中,所述Windows系统通过创建Windows内核进程来实现所述无线通信系统高层协议相关工作。所述Windows内核进程也可称为Windows系统进程,运行在Windows内核模式中。所述无线通信中实时性要求不高的部分还包括应用层相关工作。所述应用层相关工作由Windows用户进程实现,所述Windows用户进程运行在Windows的用户模式中。
数据交互接口模块12分别与RTX通信模块11以及Window通信模块13相连,用于创建共享内存以及事件体以实现所述RTX通信模块与所述Windows通信模块之间的信息同步与交互。具体地,数据交互接口模块12通过创建共享内存,并利用事件体以实现RTX通信模块11创建的所述RTX进程与Windows通信模块13创建的所述Windows进程间无线通信信息的交互。所述信息包括数据和控制信令。在一个实施例中,数据交互接口模块12提供了RTX进程和Windows系统进程间通信的机制,通过共享内存实现不同系统中进程间的数据通信,通过事件体实现数据同步。数据交互接口模块12通过共享内存和事件体实现消息的共享和同步。共享内存是一段命名的物理内存区域,这段内存可以映射到任何进程中。进程间通过共享内存的名字实现内存共享,通过共享内存的虚拟地址实现对共享内存的读写。事件体是Windows实现互斥机制所用到的一种内核对象,多个进程通过命名的事件体实现同步。RTX通信模块11创建的RTX系统进程和Window通信模块13创建的Windows系统进程基于共享内存实现数据读写,基于事件体实现控制同步。通过共享内存,实现数据的共享。RTX和Windows系统中的进程都可以通过共享内存的名字打开共享内存,返回该共享内存的虚拟地址。通过虚拟地址,可以读写共享内存。RTX和Windows系统中的进程通过命名的事件体实现对共享内存的互斥访问。
在一个实施例中,数据交互接口模块12创建共享内存(Shm)和事件体(Event1,Event2),创建RTX系统中的进程。RTX系统中的通信协议进程打开共享内存和事件体。一个RTX通信模块11创建的RTX进程与Windows通信模块13创建的Windows进程进行数据交互的实例如下所述:首先,Windows中通信协议进程进入等待状态直到Event1有信号,因为Event1创建时设为无信号,此进程挂起。然后,RTX中通信协议进程打开共享内存和事件体Event1,Event2,循环往共享内存中写数据,写完之后设置Event1有信号,并将此进程挂起,即RTX通信协议进程进入等待状态直到Event2有信号。当收到Event1信号,处在另一个内核中的Windows通信协议进程从挂起状态转到执行状态,系统自动设置Event1为无信号,同时开始读取共享内存的数据。Windows通信协议进程读完数据后设置Event2有信号。当收到Event2信号,RTX无线通信协议进程从挂起状态转成执行状态,系统自动设置Event2为无信号,然后判断循环是否结束,结束则退出,否则开始写共享内存。Windows无线通信协议进程判断循环是否结束,结束则退出,否则进入等待状态,直到RTX无线通信协议进程设置Event1有信号。如此循环交互,直到数据读写结束。
在一个实施例中,数据交互接口模块12还用于不同的RTX通信模块11创建的所述RTX进程通过共享内存实现相关数据的交互,即数据交互接口模块12的共享内存以及相关访问机制还用于实现不同的所述RTX进程之间相关数据的交互。在一个实施例中,一个RTX通信模块11创建的RTX进程1(通信协议进程1)与另一个RTX通信模块11创建的进程2(通信协议进程2)进行数据交互的实例如下所述:首先,RTX中通信协议进程1进入等待状态直到Event1有信号,因为Event1创建时设为无信号,此进程挂起。然后,RTX中通信协议进程2打开共享内存和事件体Event1,Event2,循环往共享内存中写数据,写完之后设置Event1有信号,并将此进程挂起,即RTX通信协议进程2进入等待状态直到Event2有信号。当收到Event1信号,处在另一个内核中的RTX通信协议进程1从挂起状态转到执行状态,系统自动设置Event1为无信号,同时开始读取共享内存的数据。RTX通信协议进程1读完数据后设置Event2有信号。当收到Event2信号,RTX无线通信协议进程2从挂起状态转成执行状态,系统自动设置Event2为无信号,然后判断循环是否结束,结束则退出,否则开始写共享内存。RTX无线通信协议进程1判断循环是否结束,结束则退出,否则进入等待状态,直到RTX无线通信协议进程2设置Event1有信号。如此循环交互,直到数据读写结束。
在一个实施例中,无线通信实现系统的结构如图5所示,其中,RTX通信模块11用于实现无线PHY层(即无线物理层)、RCB管理器以及协议控制状态机(即PLCP层状态机)相关工作。RCB(Radio control board)是一种射频控制板卡,也是一种转接板,提供一个对PC的高速PCIe接口。一端通过PCIe总线连接到主机,另一端连接射频板。主要用于将射频板接收到的无线数据快速传输到PC上的转接装置。RCB管理器用于对实现对RCB相关的管理工作。Windows通信模块13用于实现执行网络层(TCP/IP)以及无线MAC层相关工作。数据交互接口模块12用于实现RTX通信模块11与Windows通信模块13之间的相关数据的交互,所述相关数据的交互包括数据交互以及控制交互。RTX通信模块11、数据交互接口模块12以及Windows通信模块13都工作在内核模式中,其中,Windows通信模块13还用于与用户模式下的应用层进行通信。RTX通信模块11还用于与底层硬件(包括PC总线)的通信。
针对本发明技术方案中需实现两部分基带协议处理:物理层处理和协议控制状态机,即对RTX通信模块11的实时性进行了测试,并与通常的Windows系统下的无线通信实现的同一功能模块进行比较。对于物理层,分别测试FFT、交织、解交织、编码、调制、以及译码这些物理层关键模块。测试都是基于Intel Core i7-3770,主频为3.40GHz的处理器环境下测得。在不断读写硬盘的情况下,测试传输处理一个OFDM符号各个物理层模块的用时。测试100万次,保证误差在1e-6级别。测试结果表明,传输处理一个OFDM符号,每个物理层模块的平均用时本发明的方案和现有Windows系统中并无太大差异。但在最大值上,Windows系统都远远高于RTX系统。因此,本发明的基于RTX的信号处理过程具有稳定性和可预测性,能保证了通信协议物理层基于RTX增强的实时性。同时,对本发明中的数据交互接口模块12进行相应的性能测试。RTX通信模块11每次向共享内存写400B的数据,Windows通信模块13每次读取共享内存中的400B的数据。为保证误差在百万分之一以下,通过循环测试100万次交互时延.。测试结果表明,RTX通信模块11和Windows通信模块13之间的交互时延绝大部分集中在100us以内,最高时延接近100ms。其主要原因是由于Windows系统的非实时性导致的,特别是不确定的进程调度策略。该时延可基本满足高层协议处理时延要求。对现有的Windows系统中通信协议进程交互时延进行测试,测试结果表明Windows中无线协议进程间的交互时延大部分集中在10us以下,最高时延仍然接近100ms。虽然Windows系统中的进程占用了更多的内核,但是不稳定性和时间抖动是多核无法解决的。因此,Windows系统无法实现实时性要求较高的通信协议处理。同时,对RTX通信模块11创建的线程间切换时延的测试。测试结果表明RTX通信模块11创建的线程间的交互时延全部在10us以内。因此,本发明的基于RTX实现无线通信协议的无线通信实现方法及系统,可满足802.11等通信系统低层协议处理和PLCP层状态机低时延要求。
综上所述,本发明的一种无线通信实现方法及系统是将无线通信系统分成由RTX实现的低层通信协议以及由Windows实现的高层通信协议,两者间通过共享内存和事件体进行数据共享和同步。RTX通信模块用来处理无线通信中对实时性要求较高的低层通信协议,能够满足无线通信协议物理层数据量大、处理过程时间需具有可控性和稳定性的特点,以及PLCP层状态机微秒级别的切换要求。本发明的一种无线通信实现方法及系统大大增强了Windows系统无线通信操作的实时性与稳定性,提高了在Windows系统中无线通信的性能。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
Claims (15)
1.一种无线通信实现方法,其特征在于,所述无线通信实现方法包括:
基于RTX实现实时性要求较高的通信系统低层协议相关工作,所述低层协议相关工作包括物理层协议以及物理层会聚协议层状态机相关工作;
基于Windows实现实时性要求相对较低的通信系统高层协议相关工作,所述通信系统高层协议相关工作包括MAC层协议以及网络层协议相关工作;
创建共享内存以及事件体以实现所述通信系统低层协议与所述通信系统高层协议之间的信息同步与交互。
2.根据权利要求1所述的无线通信实现方法,其特征在于:所述信息包括数据和控制信令。
3.根据权利要求1所述的无线通信实现方法,其特征在于:所述物理层会聚协议层状态机相关工作的具体实现包括:创建载波侦听线程、接收线程、发送线程以及空闲线程实现所述状态机相关工作。
4.根据权利要求3所述的无线通信实现方法,其特征在于:所述载波侦听线程、接收线程、发送线程以及空闲线程具有最高优先级。
5.一种无线通信实现系统,其特征在于:所述无线通信实现系统包括:
RTX通信模块,所述RTX通信模块用于实现无线通信系统中低层协议相关工作,所述低层协议相关工作包括物理层以及物理层汇聚层状态机相关工作;
Windows通信模块,所述Windows通信模块用于实现无线通信系统中高层协议相关工作,所述高层协议相关工作包括MAC层以及网络层相关工作;
数据交互接口模块,用于创建共享内存以及事件体以实现所述RTX通信模块与所述Windows通信模块之间的信息同步与交互。
6.根据权利要求5所述的无线通信实现系统,其特征在于:所述信息包括数据和控制信令。
7.根据权利要求5所述的无线通信实现系统,其特征在于:所述物理层会聚协议层状态机相关工作的具体实现包括:创建载波侦听线程、接收线程、发送线程以及空闲线程实现所述状态机相关工作。
8.根据权利要求7所述的无线通信实现系统,其特征在于:所述系统包括两个以上内核,所述载波侦听线程、接收线程以及空闲线程占用一个RTX内核,所述发送线程占用一个RTX内核。
9.根据权利要求7所述的无线通信实现系统,其特征在于:所述载波侦听线程、接收线程、发送线程以及空闲线程具有最高优先级。
10.根据权利要求7所述的无线通信实现系统,其特征在于:所述状态机通过接收信令、发送信令、接收结束信令以及发送结束信令实现状态切换。
11.根据权利要求10所述的无线通信实现系统,其特征在于:所述接收信令包括向PLCP层传递物理信道信号强度的信令、向PLCP层指示信道是否空闲的信令以及向PLCP层传递接收数据的信令。
12.根据权利要求10所述的无线通信实现系统,其特征在于:所述发送信令包括向物理层实体指示开始接收MAC层数据的信令、向MAC层传递信道是否空闲的信令以及MAC层发布开始发送数据的信令。
13.根据权利要求10所述的无线通信实现系统,其特征在于:所述接收结束信令包括发布数据接收结束的信令。
14.根据权利要求10所述的无线通信实现系统,其特征在于:所述发送结束信令包括发布数据发送结束的信令。
15.根据权利要求5所述的无线通信实现系统,其特征在于:所述RTX通信模块还用于对射频控制板卡RCB的管理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510080361.6A CN105991585B (zh) | 2015-02-13 | 2015-02-13 | 一种无线通信实现方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510080361.6A CN105991585B (zh) | 2015-02-13 | 2015-02-13 | 一种无线通信实现方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105991585A CN105991585A (zh) | 2016-10-05 |
CN105991585B true CN105991585B (zh) | 2019-05-07 |
Family
ID=57041501
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510080361.6A Active CN105991585B (zh) | 2015-02-13 | 2015-02-13 | 一种无线通信实现方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105991585B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108572635A (zh) * | 2018-07-30 | 2018-09-25 | 天津中德应用技术大学 | 基于共享内存池和改进型时间片轮转法的工业网络节点 |
CN109947533B (zh) * | 2019-03-11 | 2023-11-17 | 中国科学院上海高等研究院 | Windows实时性增强的虚拟无线电实现装置、方法、介质、及终端 |
CN109889226B (zh) * | 2019-03-18 | 2021-05-11 | 中国科学院上海高等研究院 | 基于rtx的双向通信软件无线电实现装置及方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101324852A (zh) * | 2008-07-22 | 2008-12-17 | 北京航空航天大学 | 实时操作系统及其实时化方法 |
US20090055013A1 (en) * | 2007-08-21 | 2009-02-26 | Asm Japan K.K. | Method for controlling semiconductor-processing apparatus |
CN102346687A (zh) * | 2011-09-21 | 2012-02-08 | 南京航空航天大学 | 基于Windows驱动程序的实时系统 |
CN103957372A (zh) * | 2014-05-13 | 2014-07-30 | 吉林建筑大学 | 基于Windows+RTX的实时图像采集处理系统 |
-
2015
- 2015-02-13 CN CN201510080361.6A patent/CN105991585B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090055013A1 (en) * | 2007-08-21 | 2009-02-26 | Asm Japan K.K. | Method for controlling semiconductor-processing apparatus |
CN101324852A (zh) * | 2008-07-22 | 2008-12-17 | 北京航空航天大学 | 实时操作系统及其实时化方法 |
CN102346687A (zh) * | 2011-09-21 | 2012-02-08 | 南京航空航天大学 | 基于Windows驱动程序的实时系统 |
CN103957372A (zh) * | 2014-05-13 | 2014-07-30 | 吉林建筑大学 | 基于Windows+RTX的实时图像采集处理系统 |
Non-Patent Citations (4)
Title |
---|
Windows 2000_XP_RTX的实时性分析与测试;刘晓川等;《舰船电子工程》;20071220;第27卷(第6期);第135-138页 * |
Windows实时扩展技术研究;时未东等;《计算机工程》;20111205;第37卷(第23期);第63-65,68页 * |
基于RTX的实时处理系统设计;张前福等;《微电子学与计算机》;20120805;第29卷(第8期);第58-61,65页 * |
基于RTX的实时网络应用研究;皇甫祯等;《测控技术》;20080118;第27卷(第1期);第67-69页 * |
Also Published As
Publication number | Publication date |
---|---|
CN105991585A (zh) | 2016-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109976925B (zh) | 一种基于混合多系统核间实时通信的方法和系统 | |
US20200241927A1 (en) | Storage transactions with predictable latency | |
EP3754511A1 (en) | Multi-protocol support for transactions | |
CN106155960B (zh) | 基于gpio握手和edma的uart串口通信方法 | |
CN106790599B (zh) | 一种基于多核无锁环形缓冲区的共生虚拟机通信方法 | |
CN104506379B (zh) | 网络数据捕获方法和系统 | |
EP2638467B1 (en) | Lock-less and zero copy messaging scheme for telecommunication network applications | |
US10476697B2 (en) | Network-on-chip, data transmission method, and first switching node | |
EP3593253B1 (en) | Communication method and device for virtual base stations | |
CN105991585B (zh) | 一种无线通信实现方法及系统 | |
US9480077B2 (en) | Methods and systems for a generic multi-radio access technology | |
CN106227591B (zh) | 在异构多核片上系统上进行无线通信调度的方法和装置 | |
CN109412683A (zh) | 一种在fc网络上实现冗余传输的方法 | |
CN109412897A (zh) | 基于多核处理器及fpga的共享mac实现系统及方法 | |
Salvat et al. | Open radio access networks (O-RAN) experimentation platform: Design and datasets | |
CN103533090A (zh) | 单个物理网口模拟为多个逻辑网口的映射方法与装置 | |
CN107608806A (zh) | 一种虚拟机间快速访问传输数据的系统及方法 | |
CN105718349B (zh) | 跨管芯接口监听或全局观察消息排序 | |
CN106788842A (zh) | 一种ptp报文的处理方法及soc | |
CN115794721A (zh) | 一种基于多核的PCIe网卡及其工作方法 | |
Gallo et al. | On the flexibility of the IEEE 802.11 technology: Challenges and directions | |
Grunenberger et al. | Wireless card virtualization: From virtual NICs to virtual MAC machines | |
CN109889226A (zh) | 基于rtx的双向通信软件无线电实现装置及方法 | |
CN114579483B (zh) | 一种基于软件实现外设的sdp芯片及方法 | |
CN110618962A (zh) | Ft-m6678芯片的多核网络并发访问方法、系统及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |