软件无线电系统中基于pci总线的数据同步方法及系统的制作方法

文档序号:7886727阅读:262来源:国知局
专利名称:软件无线电系统中基于pci总线的数据同步方法及系统的制作方法
技术领域
本发明涉及无线通信技术领域,特别设计一种软件无线电系统中基于PCI总线的数据同步方法及系统。
背景技术
近年来,软件无线电技术的出现备受关注。它突破了传统通信平台扩展性差、功能单一、开发成本高的局限性,它把硬件作为无线通信的基本平台,尽可能多的用软件实现无线通信功能。软件无线电的主要优点是它的灵活性。在软件无线电中,诸如信道带宽、调制以及编码等可以动态调整,以适应不同的标准和环境、网络通信负荷以及用户需求的变化。 软件无线电中主要组成部分为射频单元,基带处理单元以及连接它们的接口单元。基带处理部分由软件实现,并运行在处理器模块上,从而在接口单元上的传输的基带采样数据,这样对速率和延时都有较高的要求,由此接口单元的设计就尤为关键。PCI Express于2005年已经成为了 PC体系中标准总线,它提供了 PC体系结构中以通用处理器模块为核心的连接。从而在基于通用处理器模块的软件无线电平台中,由于 PCIExpress为最广泛使用的总线,其成为了接口单元的可能性方案。但由于此总线为基于包交换的而不是基于电路交换的,从实时性角度来看,基于此接口设计软件无线电架构很难保证数据传输的实时性,具体为以下两点1)由于很多无线系统尤其是蜂窝系统规定了严格的帧格式,在空中接口需要保证严格的时序关系,对于发送的数据来说,这就需要特定的数据必须在特定时间产生在射频单元接口上,对于接收的数据来说,特定的时间数据有特别的含义,必须实时的接收下来。2)射频端和运行在通用处理器模块的程序需要时间上的同步,需要通过 PCI-Express把射频端的时间信息通过PCI-Express传递给处理器模块端。这样处理器模块上运行的程序,在特定的时间处理,预先产生相应时间的数据,或者在合适的时间处理合适时间信息的数据。

发明内容
本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明的一个目的在于提出一种软件无线电系统中基于PCI总线的数据同步方法。本发明的另一目的在于提出一种软件无线电系统中基于PCI总线的数据同步系统。为了实现上述目的,本发明第一方面实施例提出了一种软件无线电系统中基于 PCI总线的数据同步方法,所述软件无线电系统包括处理器模块、射频模块和连接在所述处理器模块和所述射频模块之间的接口控制模块,其中,所述处理器模块和所述接口控制模块之间通过PCI总线相连,所述方法包括以下步骤所述接口控制模块根据所述射频模块的时钟生成时间信息;所述接口控制模块根据所述时间信息产生中断,并通过所述PCI总线向所述处理器模块发送中断信号;所述处理器模块的中断响应程序根据所述中断信号接收所述时间信息,并触发软件无线电系统中相应的无线系统物理层调制或解调程序以及高层协议栈程序,并根据所述时间信息进行处理;通过所述PCI总线完成相应数据的读和/或写操作,并在所述接口控制模块进行缓存,以根据所述时间信息通过所述射频模块完成数据的接收和/或发送。根据本发明实施例的软件无线电系统中基于PCI总线的数据同步方法,保证处理器模块上进行的处理与射频模块时间同步,即由处理器模块处理的每个单位数据(每个数据为在通信系统最小处理时间单位中产生的数据)都经过可以预设的时间间隔由射频模块进行发送,或者经过预设的时间间隔发送至处理器,从而能够实现数据的同步性,进而实现数据的同步收发。且同步时间可控,具有高的灵活性,实用性强。另外,根据本发明上述实施例的软件无线电系统中基于PCI总线的数据同步方法还可以具有如下附加的技术特征根据本发明的一个实施例,发送数据过程进一步包括接口控制模块根据所述射频模块的时钟生成时间信息;每当所述时间信息达到预设时间阈值时,所述接口控制模块向所述处理器模块发出中断信号;所述处理器模块从所述接口控制模块中读取所述时间信息,且所述处理器模块在接收到第K*H+C个中断信号之后,所述处理器模块生成数据,其中,所述H、K为正整数,所述C为自然数;所述处理器模块在接收到第K*H+M个中断信号之后,所述处理器模块将生成的所述数据写入所述接口控制模块,其中,所述M为不小于C的自然数;以及所述接口控制模块在产生第K*H+N个中断信号之后,将所述数据发送至所述射频模块,并通过所述射频模块发送,其中,所述N为不小于M的自然数。根据本发明的一个实施例,还包括所述射频模块接收数据;所述接口控制模块从所述射频模块读取所述射频模块接收的数据;所述处理器模块在接收到第K1*H1+C1个中断信号之后,所述处理器模块接收所述接口控制模块发送的数据,其中,所述Kl和Hl为正整数,所述Cl为自然数;以及在所述处理器模块接收到第K1*H1+M1个中断信号之后,所述处理器模块对接收的所述数据进行处理,其中所述Ml为不小于Cl的自然数。根据本发明的一个实施例,所述PCI总线为PCI-E总线。根据本发明的一个实施例,所述预设时间阈值与所述H的乘积为通信系统最小处理时间单位。根据本发明第二方面的实施例提出了一种软件无线电系统中基于PCI总线的数据同步系统,包括处理器模块、射频模块和接口控制模块,其中,所述接口控制模块设置在所述处理器模块和所述射频模块之间且所述接口控制模块通过PCI总线与所述处理器模块相连,其中,所述接口控制模块用于根据所述射频模块的时钟生成时间信息,并根据所述时间信息产生中断,以通过所述PCI总线向所述处理器模块发送中断信号,以及所述接口控制模块用于对数据进行缓存,以根据所述时间信息通过所述射频模块完成数据的接收和 /或发送,所述处理器模块用于根据所述中断信号接收所述时间信息,并触发软件无线电系统中相应的无线系统物理层调制或解调程序以及高层协议栈程序,并根据所述时间信息进行处理,以及通过所述PCI总线完成相应数据的读和/或写操作。根据本发明实施例的软件无线电系统中基于PCI总线的数据同步系统,保证处理器模块上进行的处理与射频模块时间同步,即由处理器模块处理的每个单位数据(每个数据为在通信系统最小处理时间单位中产生的数据)都经过可调整的时间间隔由射频模块进行发送,或由射频模块接收的数据经过可调整的时间间隔达到处理器进行处理,从而能够实现数据的同步性,进而实现数据的同步收发。另外,该系统的同步时间可控,具有高的灵活性,实用性强。另外,根据本发明上述实施例的软件无线电系统中基于PCI总线的数据同步系统还可以具有如下附加的技术特征在本发明的一个实施例中,所述接口控制模块用于根据所述射频模块的时钟生成时间信息,并每当所述时间信息达到预设时间阈值时向所述处理器模块发出中断信号,所述处理器模块用于从所述接口控制模块中读取所述时间信息,且在接收到第K*H+C个中断信号之后生成数据,在接收到第K*H+M个中断信号之后将生成的所述数据写入所述接口控制模块,其中,所述H、K为正整数,所述C为自然数,所述M为不小于C的自然数,且所述射频模块还用于在产生第K*H+N个中断信号之后将所述数据发送至所述射频模块并通过所述射频模块发送,其中,所述N为不小于M的自然数。在本发明的一个实施例中,所述接口控制模块进一步包括PCI协议模块,用于产生PCI的协议层和物理层协议以为所述PCI总线和TLP层的用户提供接口 ;定时模块,用于根据所述射频模块的时钟生成时间信息,且以预定时间间隔触发中断信号;DMA引擎模块, 用于在数据发送时,根据所述数据的起始地址和数据量以发起读请求事务包,并从PCI协议模块接收应答包以进行发送,在数据接收时,将发起写请求事务包以接收数据并写入处理器中;发存储器控制模块,所述发存储器控制模块具有第一存储器,所述第一存储器由所述发存储器控制模块控制,用于存储即将发送的数据;以及收存储器控制模块,所述收存储器控制模块具有第二存储器,所述第二存储器由所述收存储器控制模块控制,用于存储已接收的数据。在本发明的一个实施例中,所述第一存储器和所述第二存储器为双端口存储器。在本发明的一个实施例中,所述第一存储器和所述第二存储器具有环状存储地址。本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。


本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中图1为本发明实施例的软件无线电系统中基于PCI总线的数据同步方法的流程图;图2为本发明一个实施例的软件无线电系统中基于PCI总线的数据同步方法的详细流程图;图3为本发明实施例的软件无线电系统中基于PCI总线的数据同步系统的结构图;图4为本发明实施例的软件无线电系统中基于PCI总线的数据同步系统的接口控制模块的具体结构图5为本发明一个实施例的软件无线电系统中基于PCI总线的数据同步系统的硬件平台结构图;图6为本发明一个实施例的软件无线电系统中基于PCI总线的数据同步系统 PC(处理器模块)的功能示意图;图7为本发明一个实施例的软件无线电系统中基于PCI总线的数据同步系统的数据发送时序图;以及图8为本发明一个实施例的软件无线电系统中基于PCI总线的数据同步系统的数据接收时序图。
具体实施例方式下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。在本发明的描述中,需要理解的是,术语“纵向”、“横向”、“上”、“下”、“前”、“后”、 “左”、“右”、“竖直”、“水平”、“顶”、“底” “内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。在本发明的描述中,除非另有规定和限定,需要说明的是,术语“安装”、“相连”、 “连接”应做广义理解,例如,可以是机械连接或电连接,也可以是两个元件内部的连通,可以是直接相连,也可以通过中间媒介间接相连,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。以下结合附图首先描述根据本发明实施例的软件无线电系统中基于PCI总线的数据同步方法。在描述本发明实施例的软件无线电系统中基于PCI总线的数据同步方法之前,首先描述本发明实施例的软件无线电系统,包括处理器模块、射频模块和连接在处理器模块和射频模块之间的接口控制模块,其中,处理器模块和接口控制模块之间通过PCI总线相连,例如PCI总线为PCI-E总线。以下方法描述中均以PCI-E总线为例进行说明。本发明实施例的软件无线电系统中基于PCI总线的数据同步方法的原理为接口控制模块根据射频模块的时钟进行计数,产生时间信息,根据时间信息并以预设的时间间隔通过PCI总线向处理器模块发送中断信号,在处理器模块中中断响应程序接收来自接口控制模块的中断,触发相应的线程,如接收时间信息、触发相应无线系统物理层调制或解调程序以及高层协议栈程序并根据时间信息做处理、触发DMA操作等,然后通过PCI总线完成相应数据读写操作,并通过射频模块完成数据收发。参考图1,本发明实施例的软件无线电系统中基于PCI总线的数据同步方法,包括如下步骤步骤S101,所述接口控制模块根据所述射频模块的时钟生成时间信息。
步骤S102,所述接口控制模块根据所述时间信息产生中断,并通过所述PCI总线向所述处理器模块发送中断信号。步骤S103,所述处理器模块的中断响应程序根据所述中断信号接收所述时间信息,并触发软件无线电系统中相应的无线系统物理层调制或解调程序以及高层协议栈程序,并根据所述时间信息进行处理。步骤S104,通过所述PCI总线完成相应数据的读和/或写操作,并在所述接口控制模块进行缓存,以根据所述时间信息通过所述射频模块完成数据的接收和/或发送。根据本发明实施例的软件无线电系统中基于PCI总线的数据同步方法能够保证处理器模块进行处理与射频模块收发数据时间同步,从而能够保证数据的实时发送和接收。为了对本发明上述实施例有更深入的理解,以下结合具体例子对本发明的原理进行详细描述参考图2,如对于从处理器模块处理后的数据并由射频模块向外发送数据的过程进一步包括步骤S201,接口控制模块根据所述射频模块的时钟生成时间信息。即接口控制模块和射频模块采用同源时钟,接口控制模块根据同源时钟进行计时,由此产生时间信息。可以理解,该时间信息与射频模块的时钟对应。步骤S202,每当时间信息达到预设时间阈值时,接口控制模块向处理器模块发出中断信号。在本发明的一个示例中,预设时间阈值为读写时间单位,记为△〖,即根据时间信息,并在每间隔At时间后向处理器模块发送中断信号。步骤S203,所述处理器模块从所述接口控制模块中读取所述时间信息,且所述处理器模块在接收到第K*H+C个中断信号之后,所述处理器模块生成数据,其中,所述H、K为正整数,所述C为自然数。在本发明的一个示例中,预设时间阈值(At)与H的乘积为通信系统最小处理时间单位,即每个Δ t*H时间完整的生成一个数据,换言之,每个At时间生成数据的1/H份(每隔At时间产生一个中断信号),所以在Δ t*H时间之后,完整数据生成完成。步骤S204,所述处理器模块在接收到第K*H+M个中断信号之后,所述处理器模块将生成的所述数据写入所述接口控制模块,其中,所述M为不小于C的自然数。例如,假设以第K*H个中断为起始点开始计时,则在H个中断以后,S卩(K+l) *H个中断之后,处理器模块可将在第(K-I) *H至第K*H个中断之间生成的数据(一个完成的数据)通过PCI-E总线写入接口控制模块。可以理解的是,在步骤S203中生成的数据以及将生成的数据写入接口控制模块也可能在同一个中断时间内完成,与中断的间隔时间相关,因此,只要保证M为不小于C的自然数即可,本领域的技术人员可以根据处理速度、数据量的大小以及中断间隔时间判断出上述的生成数据以及将生成的数据发送至接口控制模块是否可以在同一个中断间隔内完成。需要说明的是,在上述方式中将每个完整的数据,即在每个最小处理时间单位上处理的数据划分为H份,并在每个中断时,发送完整的数据的1/H,由此,在经过H个中断之后,将得到完整的数据。但是在其它示例中,通过增加中断间隔时间的方式,也可以在一个终端内对数据进行完整的发送,本发明的实施例对此并没有限制。
步骤S205,所述接口控制模块在产生第K*H+N个中断信号之后,将所述数据发送至所述射频模块,并通过所述射频模块发送,其中,所述N为不小于M的自然数。和步骤S104 类似,即,假设C为0时,将上述步骤S104中在接口控制模块产生第(K+1)*H个中断信号时, 接口控制模块接收到的第K*H个中断信号与(K+l) *H中断信号之间接收来自于处理器模块的数据发送给射频模块,从而通过射频模块发送该数据。根据上述的实施例,由于射频模块和接口控制模块采用同源时钟,所以经过射频模块在接口控制模块产生第(K+2)*H中断时向外发送的数据始终为接口控制模块产生第 K*H个中断时的数据,而由于产生第(K+2)*H个中断与产生第K*H个中断时的间隔时间一定,即2H* At时间或者大于2H* At的时间,因此实现发送数据的同步。以上描述为处理器模块发送数据的过程,而在本发明的另一示例中,当处理器模块接收数据时,包括以下步骤第一步,射频模块接收数据。第二步,接口控制模块从射频模块读取射频模块接收的数据。第三步,处理器模块在接收到第K1*H1+C1个中断信号之后,所述处理器模块接收所述接口控制模块发送的数据,其中,所述Kl和Hl为正整数,所述Cl为自然数,可以理解的是,该实施例中的K1、H1、C1的含义与所述实施例中K、H和C的含义类似,为了减少冗余, 不做赘述。第四步,在处理器模块接收到第K1*H1+M1个中断信号之后,所述处理器模块对接收的所述数据进行处理,其中,所述Ml为不小于Cl的自然数。通过调整中断时间间隔,可以控制处理模块接收到数据的时间,因此实现接收数据的同步。根据本发明实施例的软件无线电系统中基于PCI总线的数据同步方法,保证处理器模块上进行的处理与射频模块时间同步,即由处理器模块处理的每个单位数据(每个数据为在通信系统最小处理时间单位中产生的数据)都经过可以预设的时间间隔由射频模块进行发送,或者经过预设的时间间隔发送至处理器,从而能够实现数据的同步性,进而实现数据的同步收发。且同步时间可控,具有高的灵活性,实用性强。另外,射频模块接收的每个单位数据(每个数据为在通信系统最小处理时间单位中产生的数据)都经过固定的时间间隔发送到处理器模块进行处理,从而保证了数据的同步接收。参考图3,根据本发明实施例的软件无线电系统中基于PCI总线的数据同步系统 200包括处理器模块210、射频模块220和接口控制模块230,其中接口控制模块230设置在处理器模块210和射频模块220之间且接口控制模块 230通过PCI总线与处理器模块210相连,在本发明的一个示例中,例如PCI总线为PCI-E 总线。接口控制模块230用于根据射频模块220的时钟生成时间信息,并根据时间信息产生中断,以通过PCI总线向处理器模块210发送中断信号,以及接口控制模块230用于对数据进行缓存,以根据时间信息通过射频模块220完成数据的接收和/或发送。处理器模块210用于根据中断信号接收时间信息,并触发软件无线电系统中相应的无线系统物理层调制或解调程序以及高层协议栈程序,并根据时间信息进行处理,以及通过所述PCI总线完成相应数据的读和/或写操作。
为了对本发明上述实施例有更清楚的理解,以下结合具体例子对本发明的系统做详细描述再次参考图3,作为一个具体的示例,射频模块220用于产生时钟,接口控制模块 230用于根据射频模块220的时钟生成时间信息,并每当时间信息达到预设时间阈值时向处理器模块210发出中断信号。即接口控制模块230和射频模块220采用同源时钟,接口控制模块230根据同源时钟进行计时,由此产生时间信息。可以理解,该时间信息与射频模块220的时钟对应。在该实施例中,预设时间阈值为读写时间单位,记为△ t,即根据时间信息,并在每间隔At时间后接口控制模块230向处理器模块210发送中断信号。处理器模块210用于从接口控制模块230中读取时间信息,且在接收到第K*H+C 个中断信号之后生成数据,在接收到第K*H+M个中断信号之后将生成的数据写入接口控制模块230中,其中,H、K为正整数,所述C为自然数,M为不小于C的自然数。在本发明的一个示例中,预设时间阈值(At)与H的乘积为通信系统最小处理时间单位,即每个At*H时间完整的生成一个数据,换言之,每个At时间生成数据的1/H份(每隔At时间产生一个中断信号),所以在Δ t*H时间之后,完整数据生成完成。在该实施例中,假设C为0,则以第K*H个中断为起始点开始计时,则在H个中断以后,S卩(K+1)*H个中断之后,处理器模块210将在第(K-I) *H至第K*H个中断之间生成的数据(一个完成的数据)通过PCI-E总线写入接口控制模块230中。需要说明的是,上述方式将每个完整的数据,即在每个最小处理时间单位上处理的数据划分为H份,并在每个中断时,发送完整的数据的1/H份,由此,在经过H个中断之后,将得到完整的数据。其中,射频模块220还用于在产生第K*H+N个中断信号之后将数据发送至射频模块220并通过射频模块220发送,其中,N为不小于M的自然数。也就是说,在接口控制模块230产生第(K+1)*H个中断信号时,接口控制模块230可接收到的第K*H个中断信号与 (K+1) *H中断信号之间接收来自于处理器模块210的数据发送给射频模块220,从而通过射频模块220发送该数据。可以理解的是,处理器模块210中生成的数据以及将生成的数据写入接口控制模块230也可能在同一个中断时间内完成,与中断的间隔时间相关,因此,只要保证M为不小于C的自然数即可,本领域的技术人员可以根据处理速度、数据量的大小以及中断间隔时间判断出上述的生成数据以及将生成的数据发送至接口控制模块230是否可以在同一个中断间隔内完成由上可知,由于射频模块220和接口控制模块230采用同源时钟,所以经过射频模块220在接口控制模块230产生第K*H+N中断时向外发送的数据始终为接口控制模块230 产生第K*H+C个中断时的数据,而由于产生第K*H+N个中断与产生第K*H+C个中断时的间隔时间一定,因此实现发送数据的同步。在本发明的另一示例中,当处理器模块210接收数据时,包括通过射频模块220接收数据。接口控制模230块从射频模块220读取射频模块220接收的数据。处理器模块210在接收到第K1*H1+C1个中断信号之后,可以接收到接口控制模块 230发送的数据,其中,所述Kl、Hl为正整数,所述Cl为自然数。在处理器模块210接收到第K1*H1+M1个中断信号之后,对接收的数据进行处理,其中所述Ml为不小于Cl的自然数。即从射频模块220接收到数据之后,经过从第K1*H1+C1 到第K1*H1+M1的中断的时间由处理器模块210进行处理,因此实现接收数据的同步。参考图4,在本发明的一个示例中,接口控制模块230进一步包括PCI协议模块231,用于产生PCI的协议层和物理层协议以为所述PCI总线和TLP 层的用户提供接口。即实现了 PCI (PCI-Express)的物理层和底层协议,提供了一个和 PCI-Express总线连接的接口,和TLP层的用户接口。定时模块232,用于根据射频模块220的时钟生成时间信息,且以预定时间间隔 (At)触发中断信号。即以和射频模块220同源的时钟计时,产出定时信息,并以一固定的时间间隔(At)通过PCI-Express触发中断。此定时信息寄存器可以由处理器模块210通过PCI-Express读出,或在包含在DMA传输的每个数据块(收据)的头几个字节传输给处理器模块210。DMA引擎模块233,用于在数据发送时,根据数据的起始地址和数据量以发起读请求事务包,并从PCI协议模块231接收应答包以进行发送,在数据接收时,将发起写请求事务包以接收数据并写入处理器模块210中。也就是说,对于发送过程,根据要读取的起始地址和数据量,不断的发起读请求事务包,然后从PCI (PCI-Express)协议模块231接收应答包,应答包中含有数据信息,进行拆包操作,将纯数据信息提取出来,发送给发送储存器控制模块234。对于接收过程,将连续不断的发起写请求事务包,将从收存储器控制模块235 接收的数据,打上包头,经PCI协议模块231接口写入处理器模块210的适当的地址上。发存储器控制模块234,所述发存储器控制模块234具有第一存储器RAM-A,第一存储器RAM-A由所述发存储器控制模块234控制,用于存储即将发送的数据。在本发明的示例中,第一存储器RAM-A为双端口存储器。也就是说,发存储器控制模块234控制一个双端口存储器RAM-A,一端口专为写端口,将发送的数据存储到RAM-A中,另一端口专为读端口,将读出的数据发送到射频模块220的端口上。在该示例中,第一存储器RAM-A具有环状存储地址,换言之,第一存储器RAM-A地址可视作环状,即读到最大地址,又从零开始,写到最大地址,又从零开始。需理解,上述读端口的时钟为射频模块220的采样时钟。并且读操作为不间断的过程,数据不间断发送到射频模块220中。收存储器控制模块235,收存储器控制模块具有第二存储器RAM-B,第二存储器 RAM-B由收存储器控制模块235控制,用于存储已接收的数据,在本发明的示例中,第二存储器RAM-B为双端口存储。即收存储器控制模块235控制一个双端口存储器RAM-B,一端口专为读端口,将接收的数据存储从RAM-B读出,另一端口专为写端口,将射频模块220接收的数据写入到射频模块220的端口上,在该示例中,第二存储器RAM-B具有环状存储地址, 即存储器地址视作环状,写端口的时钟为射频模块220的端口采样时钟。并且写操作为不间断的过程,将射频模块220的数据不间断的写入到RAM-B中。在本发明的一个示例中,处理器模块210的处理过程如下1、在处理器模块210上运行PCI驱动程序,以处理响应接口控制模块230通过PCI 总线的中断,处理器模块210通过PCI接口收发数据。2、在处理器模块210上中断响应程序触发单个或多个线程的运行。3、被中断触发的程序之一即为触发DMA引擎模块233,触发DMA引擎模块233接收数据,或出发DMA引擎模块233发送数据。4、在处理器模块210被中断触发的程序之一即为接收时间信息程序,此时间信息接收可以通过读取定时模块232中存储的时间,或时间信息包含在DMA引擎模块233接收的数据的数据块头部,随每次DMA引擎模块233接收数据过程得到。每次中断触发时的时间信息可由上次中断触发时的时间信息加上中断触发间隔时间(At)获得。5、在处理器模块210被中断触发的程序之一即为触发相应的物理层调制或解调程序,或高层协议栈,根据接收的时间信息,做相应的处理。6、处理器模块210可包括一个存储器,处理器模块210内程序在存储器里维持了两个环状的存储单元,即接收存储单元和发送存储单元。为了对本发明实施例的软件无线电系统中基于PCI总线的数据同步系统有更深入的理解,以下结合具体的例子对本发明实施例的软件无线电系统中基于PCI总线的数据同步系统的工作原理做详细描述,具体如下如图5所示,为本发明一个实施例的软件无线电系统中基于PCI总线的数据同步系统的硬件平台结构图。硬件由三部分组成PC(通用台式机),带PCI接口(PCI-Express 接口)的Xilinx FPGA(FPGA)版,射频板RF。PC和XiIinx FPGA版之间用 PCI (PCI-Express) 总线连接,RF射频版与Xilinx FPGA版之间用并口线连接。以实现某一特定系统为例,以 LTE 5M数据卡为例,这样RF射频板为LTE 5M数据卡,其采样时钟为7. 68MHz,其中物理层及高层协议在PC中实现,运行的LTE 5M物理层处理和高层协议栈,而Xilinx FPGA板卡主要负责实施数据传输,保证射频板RF和物理层以及协议栈在时间上的同步。假设最小传输单位为一子帧,即假设通信系统最小处理时间单位为1毫秒,则在1 毫秒内能够传输一子帧,H取10,则Δ t为100微秒。另外假设系统采样率为7. 68M,量化为14bit,因此32bit即可表示IQ两路,因此一个buffer的大小为3072byte。开启2个 307200byte大小的循环buffer分别用来读写。在接口控制模块230上实现PCI-Express协议的底层协议。定时模块232是以7. 68M的时钟,即每过IOOus,每过768拍,通过PCI接口,触发一个中断信息。DMA-TX和DMA-RX分别为在FPGA上实现的DMA引擎模块233,其功能是在PC端程序通过PCI-Express配置了 DMA起始地址和数据长度寄存器后,触发DMA传输,即连续的 TLP包的收发,TLP包的打包和拆包工作由DMA程序完成,并将数据存储或从相应的双端口 RAM中读出。PC上程序的功能由图6可见,当K毫秒中断发生时,K为整数时,并行4个线程的程序将会执行。对于发送数据有两个线程,一个功能为首先读指针后移,然后触发K-I毫秒数据的发送DMA过程,另一个功能为触发产生K毫秒数据的过程;接收数据的两个线程,一个功能为接收K-0. 1毫秒的数据,另一功能为触发处理K-I毫秒数据的程序。注意在非整毫秒的中断发生时,只会发生读DMA和写DMA操作。参考图7,为本发明一个实施例的软件无线电系统中基于PCI总线的数据同步系统的数据发送时序图,图中示出了三段数据的处理(数据D1、数据D2和数据D3),K毫秒中断501触发时,K毫秒触发的数据Dl产生要在Κ+1毫秒才完成,Κ+1毫秒中断502触发DMA 传输后,综合传输延迟,在K+2毫秒中断503时可以同步的出现在射频模块220的接口上。
图8为本发明一个实施例的软件无线电系统中基于PCI总线的数据同步系统的数据接收时序图。κ毫秒中断601的数据Dll要在K+1毫秒中断602时才能开始处理,K+2毫秒中断603时才能处理完。从图7和图8可以分析出,采用本发明实施例的软件无线电系统中基于PCI总线的数据同步系统,数据可以同步的产生,发送到射频模块220端口上,接收的数据可以在固定延时的时刻得到处理。根据本发明实施例的软件无线电系统中基于PCI总线的数据同步方法,保证处理器模块上进行的处理与射频模块时间同步,即由处理器模块处理的每个单位数据(每个数据为在通信系统最小处理时间单位中产生的数据)都经过固定的时间间隔由射频模块进行发送,从而实现了数据的同步发送。另外,射频模块接收的每个单位数据(每个数据为在通信系统最小处理时间单位中产生的数据)都经过固定的时间间隔发送到处理器模块进行处理,从而保证了数据的同步接收。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
权利要求
1.一种软件无线电系统中基于PCI总线的数据同步方法,其特征在于,所述软件无线电系统包括处理器模块、射频模块和连接在所述处理器模块和所述射频模块之间的接口控制模块,其中,所述处理器模块和所述接口控制模块之间通过PCI总线相连,所述方法包括以下步骤所述接口控制模块根据所述射频模块的时钟生成时间信息;所述接口控制模块根据所述时间信息产生中断,并通过所述PCI总线向所述处理器模块发送中断信号;所述处理器模块的中断响应程序根据所述中断信号接收所述时间信息,并触发软件无线电系统中相应的无线系统物理层调制或解调程序以及高层协议栈程序,并根据所述时间信息进行处理;通过所述PCI总线完成相应数据的读和/或写操作,并在所述接口控制模块进行缓存, 以根据所述时间信息通过所述射频模块完成数据的接收和/或发送。
2.如权利要求1所述的软件无线电系统中基于PCI总线的数据同步方法,其特征在于, 发送数据过程进一步包括接口控制模块根据所述射频模块的时钟生成时间信息;每当所述时间信息达到预设时间阈值时,所述接口控制模块向所述处理器模块发出中断信号;所述处理器模块从所述接口控制模块中读取所述时间信息,且所述处理器模块在接收到第K*H+C个中断信号之后,所述处理器模块生成数据,其中,所述H、K为正整数,所述C为自然数;所述处理器模块在接收到第K*H+M个中断信号之后,所述处理器模块将生成的所述数据写入所述接口控制模块,其中,所述M为不小于C的自然数;以及所述接口控制模块在产生第K*H+N个中断信号之后,将所述数据发送至所述射频模块,并通过所述射频模块发送,其中,所述N为不小于M的自然数。
3.如权利要求1所述的软件无线电系统中基于PCI总线的数据同步方法,其特征在于, 还包括所述射频模块接收数据;所述接口控制模块从所述射频模块读取所述射频模块接收的数据并进行缓存;所述处理器模块在接收到第K1*H1+C1个中断信号之后,所述处理器模块接收所述接口控制模块发送的数据,其中所述Kl、Hl为正整数,所述Cl为自然数;以及在所述处理器模块接收到第K1*H1+M1个中断信号之后,所述处理器模块对接收的所述数据进行处理,其中,所述Ml为不小于Cl的自然数。
4.如权利要求1-3任一项所述的软件无线电系统中基于PCI总线的数据同步方法,其特征在于,所述PCI总线为PCI-E总线。
5.如权利要求2-4任一项所述的软件无线电系统中基于PCI总线的数据同步方法,其特征在于,所述预设时间阈值与所述H的乘积为通信系统最小处理时间单位。
6.一种软件无线电系统中基于PCI总线的数据同步系统,其特征在于,包括处理器模块、射频模块和接口控制模块,其中,所述接口控制模块设置在所述处理器模块和所述射频模块之间且所述接口控制模块通过PCI总线与所述处理器模块相连,其中,所述接口控制模块用于根据所述射频模块的时钟生成时间信息,并根据所述时间信息产生中断,以通过所述PCI总线向所述处理器模块发送中断信号,以及所述接口控制模块用于对数据进行缓存,以根据所述时间信息通过所述射频模块完成数据的接收和/或发送,所述处理器模块用于根据所述中断信号接收所述时间信息,并触发软件无线电系统中相应的无线系统物理层调制或解调程序以及高层协议栈程序,并根据所述时间信息进行处理,以及通过所述PCI总线完成相应数据的读和/或写操作。
7.根据权利要求6所述的软件无线电系统中基于PCI总线的数据同步系统,其特征在于,所述接口控制模块用于根据所述射频模块的时钟生成时间信息,并每当所述时间信息达到预设时间阈值时向所述处理器模块发出中断信号,所述处理器模块用于从所述接口控制模块中读取所述时间信息,且在接收到第K*H+C 个中断信号之后生成数据,在接收到第K*H+M个中断信号之后将生成的所述数据写入所述接口控制模块,其中,所述H、K为正整数,所述C为自然数,所述M为不小于C的自然数,且所述射频模块还用于在产生第K*H+N个中断信号之后将所述数据发送至所述射频模块并通过所述射频模块发送,其中,所述N为不小于M的自然数。
8.如权利要求6所述的软件无线电系统中基于PCI总线的数据同步系统,其特征在于, 所述接口控制模块进一步包括PCI协议模块,用于产生PCI的协议层和物理层协议以为所述PCI总线和TLP层的用户提供接口 ;定时模块,用于根据所述射频模块的时钟生成时间信息,且以预定时间间隔触发中断信号;DMA引擎模块,用于在数据发送时,根据所述数据的起始地址和数据量以发起读请求事务包,并从PCI协议模块接收应答包以进行发送,在数据接收时,将发起写请求事务包以接收数据并写入处理器中;发存储器控制模块,所述发存储器控制模块具有第一存储器,所述第一存储器由所述发存储器控制模块控制,用于存储即将发送的数据;以及收存储器控制模块,所述收存储器控制模块具有第二存储器,所述第二存储器由所述收存储器控制模块控制,用于存储已接收的数据。
9.如权利要求8所述的软件无线电系统中基于PCI总线的数据同步系统,其特征在于, 所述第一存储器和所述第二存储器为双端口存储器。
10.如权利要求9所述的软件无线电系统中基于PCI总线的数据同步系统,其特征在于,所述第一存储器和所述第二存储器具有环状存储地址。
全文摘要
本发明提出了一种软件无线电系统中基于PCI总线的数据同步方法及系统,该方法包括如下步骤接口控制模块根据射频模块的时钟生成时间信息并根据时间信息产生中断,并通过PCI总线向处理器模块发送中断信号;处理器模块的中断响应程序根据中断信号接收时间信息,并触发软件无线电系统中相应的无线系统物理层调制或解调程序以及高层协议栈程序,并根据时间信息进行处理;通过PCI总线完成相应数据的读和/或写操作,并在接口控制模块进行缓存,以根据时间信息通过射频模块完成数据的接收和/或发送。本发明的实施例保证处理器模块进行处理与射频模块收发数据时间同步,从而能够保证数据的实时发送和接收。
文档编号H04L7/00GK102571317SQ201210004050
公开日2012年7月11日 申请日期2012年1月6日 优先权日2012年1月6日
发明者江海, 赵明, 齐心 申请人:江海
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1