專利名稱:軟件無線電系統(tǒng)中基于pci總線的數(shù)據(jù)同步方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及無線通信技術(shù)領(lǐng)域,特別設(shè)計(jì)一種軟件無線電系統(tǒng)中基于PCI總線的數(shù)據(jù)同步方法及系統(tǒng)。
背景技術(shù):
近年來,軟件無線電技術(shù)的出現(xiàn)備受關(guān)注。它突破了傳統(tǒng)通信平臺(tái)擴(kuò)展性差、功能單一、開發(fā)成本高的局限性,它把硬件作為無線通信的基本平臺(tái),盡可能多的用軟件實(shí)現(xiàn)無線通信功能。軟件無線電的主要優(yōu)點(diǎn)是它的靈活性。在軟件無線電中,諸如信道帶寬、調(diào)制以及編碼等可以動(dòng)態(tài)調(diào)整,以適應(yīng)不同的標(biāo)準(zhǔn)和環(huán)境、網(wǎng)絡(luò)通信負(fù)荷以及用戶需求的變化。 軟件無線電中主要組成部分為射頻單元,基帶處理單元以及連接它們的接口單元。基帶處理部分由軟件實(shí)現(xiàn),并運(yùn)行在處理器模塊上,從而在接口單元上的傳輸?shù)幕鶐Р蓸訑?shù)據(jù),這樣對(duì)速率和延時(shí)都有較高的要求,由此接口單元的設(shè)計(jì)就尤為關(guān)鍵。PCI Express于2005年已經(jīng)成為了 PC體系中標(biāo)準(zhǔn)總線,它提供了 PC體系結(jié)構(gòu)中以通用處理器模塊為核心的連接。從而在基于通用處理器模塊的軟件無線電平臺(tái)中,由于 PCIExpress為最廣泛使用的總線,其成為了接口單元的可能性方案。但由于此總線為基于包交換的而不是基于電路交換的,從實(shí)時(shí)性角度來看,基于此接口設(shè)計(jì)軟件無線電架構(gòu)很難保證數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性,具體為以下兩點(diǎn)1)由于很多無線系統(tǒng)尤其是蜂窩系統(tǒng)規(guī)定了嚴(yán)格的幀格式,在空中接口需要保證嚴(yán)格的時(shí)序關(guān)系,對(duì)于發(fā)送的數(shù)據(jù)來說,這就需要特定的數(shù)據(jù)必須在特定時(shí)間產(chǎn)生在射頻單元接口上,對(duì)于接收的數(shù)據(jù)來說,特定的時(shí)間數(shù)據(jù)有特別的含義,必須實(shí)時(shí)的接收下來。2)射頻端和運(yùn)行在通用處理器模塊的程序需要時(shí)間上的同步,需要通過 PCI-Express把射頻端的時(shí)間信息通過PCI-Express傳遞給處理器模塊端。這樣處理器模塊上運(yùn)行的程序,在特定的時(shí)間處理,預(yù)先產(chǎn)生相應(yīng)時(shí)間的數(shù)據(jù),或者在合適的時(shí)間處理合適時(shí)間信息的數(shù)據(jù)。
發(fā)明內(nèi)容
本發(fā)明旨在至少解決現(xiàn)有技術(shù)中存在的技術(shù)問題之一。為此,本發(fā)明的一個(gè)目的在于提出一種軟件無線電系統(tǒng)中基于PCI總線的數(shù)據(jù)同步方法。本發(fā)明的另一目的在于提出一種軟件無線電系統(tǒng)中基于PCI總線的數(shù)據(jù)同步系統(tǒng)。為了實(shí)現(xiàn)上述目的,本發(fā)明第一方面實(shí)施例提出了一種軟件無線電系統(tǒng)中基于 PCI總線的數(shù)據(jù)同步方法,所述軟件無線電系統(tǒng)包括處理器模塊、射頻模塊和連接在所述處理器模塊和所述射頻模塊之間的接口控制模塊,其中,所述處理器模塊和所述接口控制模塊之間通過PCI總線相連,所述方法包括以下步驟所述接口控制模塊根據(jù)所述射頻模塊的時(shí)鐘生成時(shí)間信息;所述接口控制模塊根據(jù)所述時(shí)間信息產(chǎn)生中斷,并通過所述PCI總線向所述處理器模塊發(fā)送中斷信號(hào);所述處理器模塊的中斷響應(yīng)程序根據(jù)所述中斷信號(hào)接收所述時(shí)間信息,并觸發(fā)軟件無線電系統(tǒng)中相應(yīng)的無線系統(tǒng)物理層調(diào)制或解調(diào)程序以及高層協(xié)議棧程序,并根據(jù)所述時(shí)間信息進(jìn)行處理;通過所述PCI總線完成相應(yīng)數(shù)據(jù)的讀和/或?qū)懖僮?,并在所述接口控制模塊進(jìn)行緩存,以根據(jù)所述時(shí)間信息通過所述射頻模塊完成數(shù)據(jù)的接收和/或發(fā)送。根據(jù)本發(fā)明實(shí)施例的軟件無線電系統(tǒng)中基于PCI總線的數(shù)據(jù)同步方法,保證處理器模塊上進(jìn)行的處理與射頻模塊時(shí)間同步,即由處理器模塊處理的每個(gè)單位數(shù)據(jù)(每個(gè)數(shù)據(jù)為在通信系統(tǒng)最小處理時(shí)間單位中產(chǎn)生的數(shù)據(jù))都經(jīng)過可以預(yù)設(shè)的時(shí)間間隔由射頻模塊進(jìn)行發(fā)送,或者經(jīng)過預(yù)設(shè)的時(shí)間間隔發(fā)送至處理器,從而能夠?qū)崿F(xiàn)數(shù)據(jù)的同步性,進(jìn)而實(shí)現(xiàn)數(shù)據(jù)的同步收發(fā)。且同步時(shí)間可控,具有高的靈活性,實(shí)用性強(qiáng)。另外,根據(jù)本發(fā)明上述實(shí)施例的軟件無線電系統(tǒng)中基于PCI總線的數(shù)據(jù)同步方法還可以具有如下附加的技術(shù)特征根據(jù)本發(fā)明的一個(gè)實(shí)施例,發(fā)送數(shù)據(jù)過程進(jìn)一步包括接口控制模塊根據(jù)所述射頻模塊的時(shí)鐘生成時(shí)間信息;每當(dāng)所述時(shí)間信息達(dá)到預(yù)設(shè)時(shí)間閾值時(shí),所述接口控制模塊向所述處理器模塊發(fā)出中斷信號(hào);所述處理器模塊從所述接口控制模塊中讀取所述時(shí)間信息,且所述處理器模塊在接收到第K*H+C個(gè)中斷信號(hào)之后,所述處理器模塊生成數(shù)據(jù),其中,所述H、K為正整數(shù),所述C為自然數(shù);所述處理器模塊在接收到第K*H+M個(gè)中斷信號(hào)之后,所述處理器模塊將生成的所述數(shù)據(jù)寫入所述接口控制模塊,其中,所述M為不小于C的自然數(shù);以及所述接口控制模塊在產(chǎn)生第K*H+N個(gè)中斷信號(hào)之后,將所述數(shù)據(jù)發(fā)送至所述射頻模塊,并通過所述射頻模塊發(fā)送,其中,所述N為不小于M的自然數(shù)。根據(jù)本發(fā)明的一個(gè)實(shí)施例,還包括所述射頻模塊接收數(shù)據(jù);所述接口控制模塊從所述射頻模塊讀取所述射頻模塊接收的數(shù)據(jù);所述處理器模塊在接收到第K1*H1+C1個(gè)中斷信號(hào)之后,所述處理器模塊接收所述接口控制模塊發(fā)送的數(shù)據(jù),其中,所述Kl和Hl為正整數(shù),所述Cl為自然數(shù);以及在所述處理器模塊接收到第K1*H1+M1個(gè)中斷信號(hào)之后,所述處理器模塊對(duì)接收的所述數(shù)據(jù)進(jìn)行處理,其中所述Ml為不小于Cl的自然數(shù)。根據(jù)本發(fā)明的一個(gè)實(shí)施例,所述PCI總線為PCI-E總線。根據(jù)本發(fā)明的一個(gè)實(shí)施例,所述預(yù)設(shè)時(shí)間閾值與所述H的乘積為通信系統(tǒng)最小處理時(shí)間單位。根據(jù)本發(fā)明第二方面的實(shí)施例提出了一種軟件無線電系統(tǒng)中基于PCI總線的數(shù)據(jù)同步系統(tǒng),包括處理器模塊、射頻模塊和接口控制模塊,其中,所述接口控制模塊設(shè)置在所述處理器模塊和所述射頻模塊之間且所述接口控制模塊通過PCI總線與所述處理器模塊相連,其中,所述接口控制模塊用于根據(jù)所述射頻模塊的時(shí)鐘生成時(shí)間信息,并根據(jù)所述時(shí)間信息產(chǎn)生中斷,以通過所述PCI總線向所述處理器模塊發(fā)送中斷信號(hào),以及所述接口控制模塊用于對(duì)數(shù)據(jù)進(jìn)行緩存,以根據(jù)所述時(shí)間信息通過所述射頻模塊完成數(shù)據(jù)的接收和 /或發(fā)送,所述處理器模塊用于根據(jù)所述中斷信號(hào)接收所述時(shí)間信息,并觸發(fā)軟件無線電系統(tǒng)中相應(yīng)的無線系統(tǒng)物理層調(diào)制或解調(diào)程序以及高層協(xié)議棧程序,并根據(jù)所述時(shí)間信息進(jìn)行處理,以及通過所述PCI總線完成相應(yīng)數(shù)據(jù)的讀和/或?qū)懖僮?。根?jù)本發(fā)明實(shí)施例的軟件無線電系統(tǒng)中基于PCI總線的數(shù)據(jù)同步系統(tǒng),保證處理器模塊上進(jìn)行的處理與射頻模塊時(shí)間同步,即由處理器模塊處理的每個(gè)單位數(shù)據(jù)(每個(gè)數(shù)據(jù)為在通信系統(tǒng)最小處理時(shí)間單位中產(chǎn)生的數(shù)據(jù))都經(jīng)過可調(diào)整的時(shí)間間隔由射頻模塊進(jìn)行發(fā)送,或由射頻模塊接收的數(shù)據(jù)經(jīng)過可調(diào)整的時(shí)間間隔達(dá)到處理器進(jìn)行處理,從而能夠?qū)崿F(xiàn)數(shù)據(jù)的同步性,進(jìn)而實(shí)現(xiàn)數(shù)據(jù)的同步收發(fā)。另外,該系統(tǒng)的同步時(shí)間可控,具有高的靈活性,實(shí)用性強(qiáng)。另外,根據(jù)本發(fā)明上述實(shí)施例的軟件無線電系統(tǒng)中基于PCI總線的數(shù)據(jù)同步系統(tǒng)還可以具有如下附加的技術(shù)特征在本發(fā)明的一個(gè)實(shí)施例中,所述接口控制模塊用于根據(jù)所述射頻模塊的時(shí)鐘生成時(shí)間信息,并每當(dāng)所述時(shí)間信息達(dá)到預(yù)設(shè)時(shí)間閾值時(shí)向所述處理器模塊發(fā)出中斷信號(hào),所述處理器模塊用于從所述接口控制模塊中讀取所述時(shí)間信息,且在接收到第K*H+C個(gè)中斷信號(hào)之后生成數(shù)據(jù),在接收到第K*H+M個(gè)中斷信號(hào)之后將生成的所述數(shù)據(jù)寫入所述接口控制模塊,其中,所述H、K為正整數(shù),所述C為自然數(shù),所述M為不小于C的自然數(shù),且所述射頻模塊還用于在產(chǎn)生第K*H+N個(gè)中斷信號(hào)之后將所述數(shù)據(jù)發(fā)送至所述射頻模塊并通過所述射頻模塊發(fā)送,其中,所述N為不小于M的自然數(shù)。在本發(fā)明的一個(gè)實(shí)施例中,所述接口控制模塊進(jìn)一步包括PCI協(xié)議模塊,用于產(chǎn)生PCI的協(xié)議層和物理層協(xié)議以為所述PCI總線和TLP層的用戶提供接口 ;定時(shí)模塊,用于根據(jù)所述射頻模塊的時(shí)鐘生成時(shí)間信息,且以預(yù)定時(shí)間間隔觸發(fā)中斷信號(hào);DMA引擎模塊, 用于在數(shù)據(jù)發(fā)送時(shí),根據(jù)所述數(shù)據(jù)的起始地址和數(shù)據(jù)量以發(fā)起讀請(qǐng)求事務(wù)包,并從PCI協(xié)議模塊接收應(yīng)答包以進(jìn)行發(fā)送,在數(shù)據(jù)接收時(shí),將發(fā)起寫請(qǐng)求事務(wù)包以接收數(shù)據(jù)并寫入處理器中;發(fā)存儲(chǔ)器控制模塊,所述發(fā)存儲(chǔ)器控制模塊具有第一存儲(chǔ)器,所述第一存儲(chǔ)器由所述發(fā)存儲(chǔ)器控制模塊控制,用于存儲(chǔ)即將發(fā)送的數(shù)據(jù);以及收存儲(chǔ)器控制模塊,所述收存儲(chǔ)器控制模塊具有第二存儲(chǔ)器,所述第二存儲(chǔ)器由所述收存儲(chǔ)器控制模塊控制,用于存儲(chǔ)已接收的數(shù)據(jù)。在本發(fā)明的一個(gè)實(shí)施例中,所述第一存儲(chǔ)器和所述第二存儲(chǔ)器為雙端口存儲(chǔ)器。在本發(fā)明的一個(gè)實(shí)施例中,所述第一存儲(chǔ)器和所述第二存儲(chǔ)器具有環(huán)狀存儲(chǔ)地址。本發(fā)明的附加方面和優(yōu)點(diǎn)將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發(fā)明的實(shí)踐了解到。
本發(fā)明的上述和/或附加的方面和優(yōu)點(diǎn)從結(jié)合下面附圖對(duì)實(shí)施例的描述中將變得明顯和容易理解,其中圖1為本發(fā)明實(shí)施例的軟件無線電系統(tǒng)中基于PCI總線的數(shù)據(jù)同步方法的流程圖;圖2為本發(fā)明一個(gè)實(shí)施例的軟件無線電系統(tǒng)中基于PCI總線的數(shù)據(jù)同步方法的詳細(xì)流程圖;圖3為本發(fā)明實(shí)施例的軟件無線電系統(tǒng)中基于PCI總線的數(shù)據(jù)同步系統(tǒng)的結(jié)構(gòu)圖;圖4為本發(fā)明實(shí)施例的軟件無線電系統(tǒng)中基于PCI總線的數(shù)據(jù)同步系統(tǒng)的接口控制模塊的具體結(jié)構(gòu)圖5為本發(fā)明一個(gè)實(shí)施例的軟件無線電系統(tǒng)中基于PCI總線的數(shù)據(jù)同步系統(tǒng)的硬件平臺(tái)結(jié)構(gòu)圖;圖6為本發(fā)明一個(gè)實(shí)施例的軟件無線電系統(tǒng)中基于PCI總線的數(shù)據(jù)同步系統(tǒng) PC(處理器模塊)的功能示意圖;圖7為本發(fā)明一個(gè)實(shí)施例的軟件無線電系統(tǒng)中基于PCI總線的數(shù)據(jù)同步系統(tǒng)的數(shù)據(jù)發(fā)送時(shí)序圖;以及圖8為本發(fā)明一個(gè)實(shí)施例的軟件無線電系統(tǒng)中基于PCI總線的數(shù)據(jù)同步系統(tǒng)的數(shù)據(jù)接收時(shí)序圖。
具體實(shí)施例方式下面詳細(xì)描述本發(fā)明的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號(hào)表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實(shí)施例是示例性的,僅用于解釋本發(fā)明,而不能理解為對(duì)本發(fā)明的限制。在本發(fā)明的描述中,需要理解的是,術(shù)語“縱向”、“橫向”、“上”、“下”、“前”、“后”、 “左”、“右”、“豎直”、“水平”、“頂”、“底” “內(nèi)”、“外”等指示的方位或位置關(guān)系為基于附圖所示的方位或位置關(guān)系,僅是為了便于描述本發(fā)明和簡(jiǎn)化描述,而不是指示或暗示所指的裝置或元件必須具有特定的方位、以特定的方位構(gòu)造和操作,因此不能理解為對(duì)本發(fā)明的限制。此外,術(shù)語“第一”、“第二”僅用于描述目的,而不能理解為指示或暗示相對(duì)重要性。在本發(fā)明的描述中,除非另有規(guī)定和限定,需要說明的是,術(shù)語“安裝”、“相連”、 “連接”應(yīng)做廣義理解,例如,可以是機(jī)械連接或電連接,也可以是兩個(gè)元件內(nèi)部的連通,可以是直接相連,也可以通過中間媒介間接相連,對(duì)于本領(lǐng)域的普通技術(shù)人員而言,可以根據(jù)具體情況理解上述術(shù)語的具體含義。以下結(jié)合附圖首先描述根據(jù)本發(fā)明實(shí)施例的軟件無線電系統(tǒng)中基于PCI總線的數(shù)據(jù)同步方法。在描述本發(fā)明實(shí)施例的軟件無線電系統(tǒng)中基于PCI總線的數(shù)據(jù)同步方法之前,首先描述本發(fā)明實(shí)施例的軟件無線電系統(tǒng),包括處理器模塊、射頻模塊和連接在處理器模塊和射頻模塊之間的接口控制模塊,其中,處理器模塊和接口控制模塊之間通過PCI總線相連,例如PCI總線為PCI-E總線。以下方法描述中均以PCI-E總線為例進(jìn)行說明。本發(fā)明實(shí)施例的軟件無線電系統(tǒng)中基于PCI總線的數(shù)據(jù)同步方法的原理為接口控制模塊根據(jù)射頻模塊的時(shí)鐘進(jìn)行計(jì)數(shù),產(chǎn)生時(shí)間信息,根據(jù)時(shí)間信息并以預(yù)設(shè)的時(shí)間間隔通過PCI總線向處理器模塊發(fā)送中斷信號(hào),在處理器模塊中中斷響應(yīng)程序接收來自接口控制模塊的中斷,觸發(fā)相應(yīng)的線程,如接收時(shí)間信息、觸發(fā)相應(yīng)無線系統(tǒng)物理層調(diào)制或解調(diào)程序以及高層協(xié)議棧程序并根據(jù)時(shí)間信息做處理、觸發(fā)DMA操作等,然后通過PCI總線完成相應(yīng)數(shù)據(jù)讀寫操作,并通過射頻模塊完成數(shù)據(jù)收發(fā)。參考圖1,本發(fā)明實(shí)施例的軟件無線電系統(tǒng)中基于PCI總線的數(shù)據(jù)同步方法,包括如下步驟步驟S101,所述接口控制模塊根據(jù)所述射頻模塊的時(shí)鐘生成時(shí)間信息。
步驟S102,所述接口控制模塊根據(jù)所述時(shí)間信息產(chǎn)生中斷,并通過所述PCI總線向所述處理器模塊發(fā)送中斷信號(hào)。步驟S103,所述處理器模塊的中斷響應(yīng)程序根據(jù)所述中斷信號(hào)接收所述時(shí)間信息,并觸發(fā)軟件無線電系統(tǒng)中相應(yīng)的無線系統(tǒng)物理層調(diào)制或解調(diào)程序以及高層協(xié)議棧程序,并根據(jù)所述時(shí)間信息進(jìn)行處理。步驟S104,通過所述PCI總線完成相應(yīng)數(shù)據(jù)的讀和/或?qū)懖僮?,并在所述接口控制模塊進(jìn)行緩存,以根據(jù)所述時(shí)間信息通過所述射頻模塊完成數(shù)據(jù)的接收和/或發(fā)送。根據(jù)本發(fā)明實(shí)施例的軟件無線電系統(tǒng)中基于PCI總線的數(shù)據(jù)同步方法能夠保證處理器模塊進(jìn)行處理與射頻模塊收發(fā)數(shù)據(jù)時(shí)間同步,從而能夠保證數(shù)據(jù)的實(shí)時(shí)發(fā)送和接收。為了對(duì)本發(fā)明上述實(shí)施例有更深入的理解,以下結(jié)合具體例子對(duì)本發(fā)明的原理進(jìn)行詳細(xì)描述參考圖2,如對(duì)于從處理器模塊處理后的數(shù)據(jù)并由射頻模塊向外發(fā)送數(shù)據(jù)的過程進(jìn)一步包括步驟S201,接口控制模塊根據(jù)所述射頻模塊的時(shí)鐘生成時(shí)間信息。即接口控制模塊和射頻模塊采用同源時(shí)鐘,接口控制模塊根據(jù)同源時(shí)鐘進(jìn)行計(jì)時(shí),由此產(chǎn)生時(shí)間信息??梢岳斫猓摃r(shí)間信息與射頻模塊的時(shí)鐘對(duì)應(yīng)。步驟S202,每當(dāng)時(shí)間信息達(dá)到預(yù)設(shè)時(shí)間閾值時(shí),接口控制模塊向處理器模塊發(fā)出中斷信號(hào)。在本發(fā)明的一個(gè)示例中,預(yù)設(shè)時(shí)間閾值為讀寫時(shí)間單位,記為△〖,即根據(jù)時(shí)間信息,并在每間隔At時(shí)間后向處理器模塊發(fā)送中斷信號(hào)。步驟S203,所述處理器模塊從所述接口控制模塊中讀取所述時(shí)間信息,且所述處理器模塊在接收到第K*H+C個(gè)中斷信號(hào)之后,所述處理器模塊生成數(shù)據(jù),其中,所述H、K為正整數(shù),所述C為自然數(shù)。在本發(fā)明的一個(gè)示例中,預(yù)設(shè)時(shí)間閾值(At)與H的乘積為通信系統(tǒng)最小處理時(shí)間單位,即每個(gè)Δ t*H時(shí)間完整的生成一個(gè)數(shù)據(jù),換言之,每個(gè)At時(shí)間生成數(shù)據(jù)的1/H份(每隔At時(shí)間產(chǎn)生一個(gè)中斷信號(hào)),所以在Δ t*H時(shí)間之后,完整數(shù)據(jù)生成完成。步驟S204,所述處理器模塊在接收到第K*H+M個(gè)中斷信號(hào)之后,所述處理器模塊將生成的所述數(shù)據(jù)寫入所述接口控制模塊,其中,所述M為不小于C的自然數(shù)。例如,假設(shè)以第K*H個(gè)中斷為起始點(diǎn)開始計(jì)時(shí),則在H個(gè)中斷以后,S卩(K+l) *H個(gè)中斷之后,處理器模塊可將在第(K-I) *H至第K*H個(gè)中斷之間生成的數(shù)據(jù)(一個(gè)完成的數(shù)據(jù))通過PCI-E總線寫入接口控制模塊??梢岳斫獾氖?,在步驟S203中生成的數(shù)據(jù)以及將生成的數(shù)據(jù)寫入接口控制模塊也可能在同一個(gè)中斷時(shí)間內(nèi)完成,與中斷的間隔時(shí)間相關(guān),因此,只要保證M為不小于C的自然數(shù)即可,本領(lǐng)域的技術(shù)人員可以根據(jù)處理速度、數(shù)據(jù)量的大小以及中斷間隔時(shí)間判斷出上述的生成數(shù)據(jù)以及將生成的數(shù)據(jù)發(fā)送至接口控制模塊是否可以在同一個(gè)中斷間隔內(nèi)完成。需要說明的是,在上述方式中將每個(gè)完整的數(shù)據(jù),即在每個(gè)最小處理時(shí)間單位上處理的數(shù)據(jù)劃分為H份,并在每個(gè)中斷時(shí),發(fā)送完整的數(shù)據(jù)的1/H,由此,在經(jīng)過H個(gè)中斷之后,將得到完整的數(shù)據(jù)。但是在其它示例中,通過增加中斷間隔時(shí)間的方式,也可以在一個(gè)終端內(nèi)對(duì)數(shù)據(jù)進(jìn)行完整的發(fā)送,本發(fā)明的實(shí)施例對(duì)此并沒有限制。
步驟S205,所述接口控制模塊在產(chǎn)生第K*H+N個(gè)中斷信號(hào)之后,將所述數(shù)據(jù)發(fā)送至所述射頻模塊,并通過所述射頻模塊發(fā)送,其中,所述N為不小于M的自然數(shù)。和步驟S104 類似,即,假設(shè)C為0時(shí),將上述步驟S104中在接口控制模塊產(chǎn)生第(K+1)*H個(gè)中斷信號(hào)時(shí), 接口控制模塊接收到的第K*H個(gè)中斷信號(hào)與(K+l) *H中斷信號(hào)之間接收來自于處理器模塊的數(shù)據(jù)發(fā)送給射頻模塊,從而通過射頻模塊發(fā)送該數(shù)據(jù)。根據(jù)上述的實(shí)施例,由于射頻模塊和接口控制模塊采用同源時(shí)鐘,所以經(jīng)過射頻模塊在接口控制模塊產(chǎn)生第(K+2)*H中斷時(shí)向外發(fā)送的數(shù)據(jù)始終為接口控制模塊產(chǎn)生第 K*H個(gè)中斷時(shí)的數(shù)據(jù),而由于產(chǎn)生第(K+2)*H個(gè)中斷與產(chǎn)生第K*H個(gè)中斷時(shí)的間隔時(shí)間一定,即2H* At時(shí)間或者大于2H* At的時(shí)間,因此實(shí)現(xiàn)發(fā)送數(shù)據(jù)的同步。以上描述為處理器模塊發(fā)送數(shù)據(jù)的過程,而在本發(fā)明的另一示例中,當(dāng)處理器模塊接收數(shù)據(jù)時(shí),包括以下步驟第一步,射頻模塊接收數(shù)據(jù)。第二步,接口控制模塊從射頻模塊讀取射頻模塊接收的數(shù)據(jù)。第三步,處理器模塊在接收到第K1*H1+C1個(gè)中斷信號(hào)之后,所述處理器模塊接收所述接口控制模塊發(fā)送的數(shù)據(jù),其中,所述Kl和Hl為正整數(shù),所述Cl為自然數(shù),可以理解的是,該實(shí)施例中的K1、H1、C1的含義與所述實(shí)施例中K、H和C的含義類似,為了減少冗余, 不做贅述。第四步,在處理器模塊接收到第K1*H1+M1個(gè)中斷信號(hào)之后,所述處理器模塊對(duì)接收的所述數(shù)據(jù)進(jìn)行處理,其中,所述Ml為不小于Cl的自然數(shù)。通過調(diào)整中斷時(shí)間間隔,可以控制處理模塊接收到數(shù)據(jù)的時(shí)間,因此實(shí)現(xiàn)接收數(shù)據(jù)的同步。根據(jù)本發(fā)明實(shí)施例的軟件無線電系統(tǒng)中基于PCI總線的數(shù)據(jù)同步方法,保證處理器模塊上進(jìn)行的處理與射頻模塊時(shí)間同步,即由處理器模塊處理的每個(gè)單位數(shù)據(jù)(每個(gè)數(shù)據(jù)為在通信系統(tǒng)最小處理時(shí)間單位中產(chǎn)生的數(shù)據(jù))都經(jīng)過可以預(yù)設(shè)的時(shí)間間隔由射頻模塊進(jìn)行發(fā)送,或者經(jīng)過預(yù)設(shè)的時(shí)間間隔發(fā)送至處理器,從而能夠?qū)崿F(xiàn)數(shù)據(jù)的同步性,進(jìn)而實(shí)現(xiàn)數(shù)據(jù)的同步收發(fā)。且同步時(shí)間可控,具有高的靈活性,實(shí)用性強(qiáng)。另外,射頻模塊接收的每個(gè)單位數(shù)據(jù)(每個(gè)數(shù)據(jù)為在通信系統(tǒng)最小處理時(shí)間單位中產(chǎn)生的數(shù)據(jù))都經(jīng)過固定的時(shí)間間隔發(fā)送到處理器模塊進(jìn)行處理,從而保證了數(shù)據(jù)的同步接收。參考圖3,根據(jù)本發(fā)明實(shí)施例的軟件無線電系統(tǒng)中基于PCI總線的數(shù)據(jù)同步系統(tǒng) 200包括處理器模塊210、射頻模塊220和接口控制模塊230,其中接口控制模塊230設(shè)置在處理器模塊210和射頻模塊220之間且接口控制模塊 230通過PCI總線與處理器模塊210相連,在本發(fā)明的一個(gè)示例中,例如PCI總線為PCI-E 總線。接口控制模塊230用于根據(jù)射頻模塊220的時(shí)鐘生成時(shí)間信息,并根據(jù)時(shí)間信息產(chǎn)生中斷,以通過PCI總線向處理器模塊210發(fā)送中斷信號(hào),以及接口控制模塊230用于對(duì)數(shù)據(jù)進(jìn)行緩存,以根據(jù)時(shí)間信息通過射頻模塊220完成數(shù)據(jù)的接收和/或發(fā)送。處理器模塊210用于根據(jù)中斷信號(hào)接收時(shí)間信息,并觸發(fā)軟件無線電系統(tǒng)中相應(yīng)的無線系統(tǒng)物理層調(diào)制或解調(diào)程序以及高層協(xié)議棧程序,并根據(jù)時(shí)間信息進(jìn)行處理,以及通過所述PCI總線完成相應(yīng)數(shù)據(jù)的讀和/或?qū)懖僮鳌?br>
為了對(duì)本發(fā)明上述實(shí)施例有更清楚的理解,以下結(jié)合具體例子對(duì)本發(fā)明的系統(tǒng)做詳細(xì)描述再次參考圖3,作為一個(gè)具體的示例,射頻模塊220用于產(chǎn)生時(shí)鐘,接口控制模塊 230用于根據(jù)射頻模塊220的時(shí)鐘生成時(shí)間信息,并每當(dāng)時(shí)間信息達(dá)到預(yù)設(shè)時(shí)間閾值時(shí)向處理器模塊210發(fā)出中斷信號(hào)。即接口控制模塊230和射頻模塊220采用同源時(shí)鐘,接口控制模塊230根據(jù)同源時(shí)鐘進(jìn)行計(jì)時(shí),由此產(chǎn)生時(shí)間信息??梢岳斫猓摃r(shí)間信息與射頻模塊220的時(shí)鐘對(duì)應(yīng)。在該實(shí)施例中,預(yù)設(shè)時(shí)間閾值為讀寫時(shí)間單位,記為△ t,即根據(jù)時(shí)間信息,并在每間隔At時(shí)間后接口控制模塊230向處理器模塊210發(fā)送中斷信號(hào)。處理器模塊210用于從接口控制模塊230中讀取時(shí)間信息,且在接收到第K*H+C 個(gè)中斷信號(hào)之后生成數(shù)據(jù),在接收到第K*H+M個(gè)中斷信號(hào)之后將生成的數(shù)據(jù)寫入接口控制模塊230中,其中,H、K為正整數(shù),所述C為自然數(shù),M為不小于C的自然數(shù)。在本發(fā)明的一個(gè)示例中,預(yù)設(shè)時(shí)間閾值(At)與H的乘積為通信系統(tǒng)最小處理時(shí)間單位,即每個(gè)At*H時(shí)間完整的生成一個(gè)數(shù)據(jù),換言之,每個(gè)At時(shí)間生成數(shù)據(jù)的1/H份(每隔At時(shí)間產(chǎn)生一個(gè)中斷信號(hào)),所以在Δ t*H時(shí)間之后,完整數(shù)據(jù)生成完成。在該實(shí)施例中,假設(shè)C為0,則以第K*H個(gè)中斷為起始點(diǎn)開始計(jì)時(shí),則在H個(gè)中斷以后,S卩(K+1)*H個(gè)中斷之后,處理器模塊210將在第(K-I) *H至第K*H個(gè)中斷之間生成的數(shù)據(jù)(一個(gè)完成的數(shù)據(jù))通過PCI-E總線寫入接口控制模塊230中。需要說明的是,上述方式將每個(gè)完整的數(shù)據(jù),即在每個(gè)最小處理時(shí)間單位上處理的數(shù)據(jù)劃分為H份,并在每個(gè)中斷時(shí),發(fā)送完整的數(shù)據(jù)的1/H份,由此,在經(jīng)過H個(gè)中斷之后,將得到完整的數(shù)據(jù)。其中,射頻模塊220還用于在產(chǎn)生第K*H+N個(gè)中斷信號(hào)之后將數(shù)據(jù)發(fā)送至射頻模塊220并通過射頻模塊220發(fā)送,其中,N為不小于M的自然數(shù)。也就是說,在接口控制模塊230產(chǎn)生第(K+1)*H個(gè)中斷信號(hào)時(shí),接口控制模塊230可接收到的第K*H個(gè)中斷信號(hào)與 (K+1) *H中斷信號(hào)之間接收來自于處理器模塊210的數(shù)據(jù)發(fā)送給射頻模塊220,從而通過射頻模塊220發(fā)送該數(shù)據(jù)??梢岳斫獾氖牵幚砥髂K210中生成的數(shù)據(jù)以及將生成的數(shù)據(jù)寫入接口控制模塊230也可能在同一個(gè)中斷時(shí)間內(nèi)完成,與中斷的間隔時(shí)間相關(guān),因此,只要保證M為不小于C的自然數(shù)即可,本領(lǐng)域的技術(shù)人員可以根據(jù)處理速度、數(shù)據(jù)量的大小以及中斷間隔時(shí)間判斷出上述的生成數(shù)據(jù)以及將生成的數(shù)據(jù)發(fā)送至接口控制模塊230是否可以在同一個(gè)中斷間隔內(nèi)完成由上可知,由于射頻模塊220和接口控制模塊230采用同源時(shí)鐘,所以經(jīng)過射頻模塊220在接口控制模塊230產(chǎn)生第K*H+N中斷時(shí)向外發(fā)送的數(shù)據(jù)始終為接口控制模塊230 產(chǎn)生第K*H+C個(gè)中斷時(shí)的數(shù)據(jù),而由于產(chǎn)生第K*H+N個(gè)中斷與產(chǎn)生第K*H+C個(gè)中斷時(shí)的間隔時(shí)間一定,因此實(shí)現(xiàn)發(fā)送數(shù)據(jù)的同步。在本發(fā)明的另一示例中,當(dāng)處理器模塊210接收數(shù)據(jù)時(shí),包括通過射頻模塊220接收數(shù)據(jù)。接口控制模230塊從射頻模塊220讀取射頻模塊220接收的數(shù)據(jù)。處理器模塊210在接收到第K1*H1+C1個(gè)中斷信號(hào)之后,可以接收到接口控制模塊 230發(fā)送的數(shù)據(jù),其中,所述Kl、Hl為正整數(shù),所述Cl為自然數(shù)。在處理器模塊210接收到第K1*H1+M1個(gè)中斷信號(hào)之后,對(duì)接收的數(shù)據(jù)進(jìn)行處理,其中所述Ml為不小于Cl的自然數(shù)。即從射頻模塊220接收到數(shù)據(jù)之后,經(jīng)過從第K1*H1+C1 到第K1*H1+M1的中斷的時(shí)間由處理器模塊210進(jìn)行處理,因此實(shí)現(xiàn)接收數(shù)據(jù)的同步。參考圖4,在本發(fā)明的一個(gè)示例中,接口控制模塊230進(jìn)一步包括PCI協(xié)議模塊231,用于產(chǎn)生PCI的協(xié)議層和物理層協(xié)議以為所述PCI總線和TLP 層的用戶提供接口。即實(shí)現(xiàn)了 PCI (PCI-Express)的物理層和底層協(xié)議,提供了一個(gè)和 PCI-Express總線連接的接口,和TLP層的用戶接口。定時(shí)模塊232,用于根據(jù)射頻模塊220的時(shí)鐘生成時(shí)間信息,且以預(yù)定時(shí)間間隔 (At)觸發(fā)中斷信號(hào)。即以和射頻模塊220同源的時(shí)鐘計(jì)時(shí),產(chǎn)出定時(shí)信息,并以一固定的時(shí)間間隔(At)通過PCI-Express觸發(fā)中斷。此定時(shí)信息寄存器可以由處理器模塊210通過PCI-Express讀出,或在包含在DMA傳輸?shù)拿總€(gè)數(shù)據(jù)塊(收據(jù))的頭幾個(gè)字節(jié)傳輸給處理器模塊210。DMA引擎模塊233,用于在數(shù)據(jù)發(fā)送時(shí),根據(jù)數(shù)據(jù)的起始地址和數(shù)據(jù)量以發(fā)起讀請(qǐng)求事務(wù)包,并從PCI協(xié)議模塊231接收應(yīng)答包以進(jìn)行發(fā)送,在數(shù)據(jù)接收時(shí),將發(fā)起寫請(qǐng)求事務(wù)包以接收數(shù)據(jù)并寫入處理器模塊210中。也就是說,對(duì)于發(fā)送過程,根據(jù)要讀取的起始地址和數(shù)據(jù)量,不斷的發(fā)起讀請(qǐng)求事務(wù)包,然后從PCI (PCI-Express)協(xié)議模塊231接收應(yīng)答包,應(yīng)答包中含有數(shù)據(jù)信息,進(jìn)行拆包操作,將純數(shù)據(jù)信息提取出來,發(fā)送給發(fā)送儲(chǔ)存器控制模塊234。對(duì)于接收過程,將連續(xù)不斷的發(fā)起寫請(qǐng)求事務(wù)包,將從收存儲(chǔ)器控制模塊235 接收的數(shù)據(jù),打上包頭,經(jīng)PCI協(xié)議模塊231接口寫入處理器模塊210的適當(dāng)?shù)牡刂飞?。發(fā)存儲(chǔ)器控制模塊234,所述發(fā)存儲(chǔ)器控制模塊234具有第一存儲(chǔ)器RAM-A,第一存儲(chǔ)器RAM-A由所述發(fā)存儲(chǔ)器控制模塊234控制,用于存儲(chǔ)即將發(fā)送的數(shù)據(jù)。在本發(fā)明的示例中,第一存儲(chǔ)器RAM-A為雙端口存儲(chǔ)器。也就是說,發(fā)存儲(chǔ)器控制模塊234控制一個(gè)雙端口存儲(chǔ)器RAM-A,一端口專為寫端口,將發(fā)送的數(shù)據(jù)存儲(chǔ)到RAM-A中,另一端口專為讀端口,將讀出的數(shù)據(jù)發(fā)送到射頻模塊220的端口上。在該示例中,第一存儲(chǔ)器RAM-A具有環(huán)狀存儲(chǔ)地址,換言之,第一存儲(chǔ)器RAM-A地址可視作環(huán)狀,即讀到最大地址,又從零開始,寫到最大地址,又從零開始。需理解,上述讀端口的時(shí)鐘為射頻模塊220的采樣時(shí)鐘。并且讀操作為不間斷的過程,數(shù)據(jù)不間斷發(fā)送到射頻模塊220中。收存儲(chǔ)器控制模塊235,收存儲(chǔ)器控制模塊具有第二存儲(chǔ)器RAM-B,第二存儲(chǔ)器 RAM-B由收存儲(chǔ)器控制模塊235控制,用于存儲(chǔ)已接收的數(shù)據(jù),在本發(fā)明的示例中,第二存儲(chǔ)器RAM-B為雙端口存儲(chǔ)。即收存儲(chǔ)器控制模塊235控制一個(gè)雙端口存儲(chǔ)器RAM-B,一端口專為讀端口,將接收的數(shù)據(jù)存儲(chǔ)從RAM-B讀出,另一端口專為寫端口,將射頻模塊220接收的數(shù)據(jù)寫入到射頻模塊220的端口上,在該示例中,第二存儲(chǔ)器RAM-B具有環(huán)狀存儲(chǔ)地址, 即存儲(chǔ)器地址視作環(huán)狀,寫端口的時(shí)鐘為射頻模塊220的端口采樣時(shí)鐘。并且寫操作為不間斷的過程,將射頻模塊220的數(shù)據(jù)不間斷的寫入到RAM-B中。在本發(fā)明的一個(gè)示例中,處理器模塊210的處理過程如下1、在處理器模塊210上運(yùn)行PCI驅(qū)動(dòng)程序,以處理響應(yīng)接口控制模塊230通過PCI 總線的中斷,處理器模塊210通過PCI接口收發(fā)數(shù)據(jù)。2、在處理器模塊210上中斷響應(yīng)程序觸發(fā)單個(gè)或多個(gè)線程的運(yùn)行。3、被中斷觸發(fā)的程序之一即為觸發(fā)DMA引擎模塊233,觸發(fā)DMA引擎模塊233接收數(shù)據(jù),或出發(fā)DMA引擎模塊233發(fā)送數(shù)據(jù)。4、在處理器模塊210被中斷觸發(fā)的程序之一即為接收時(shí)間信息程序,此時(shí)間信息接收可以通過讀取定時(shí)模塊232中存儲(chǔ)的時(shí)間,或時(shí)間信息包含在DMA引擎模塊233接收的數(shù)據(jù)的數(shù)據(jù)塊頭部,隨每次DMA引擎模塊233接收數(shù)據(jù)過程得到。每次中斷觸發(fā)時(shí)的時(shí)間信息可由上次中斷觸發(fā)時(shí)的時(shí)間信息加上中斷觸發(fā)間隔時(shí)間(At)獲得。5、在處理器模塊210被中斷觸發(fā)的程序之一即為觸發(fā)相應(yīng)的物理層調(diào)制或解調(diào)程序,或高層協(xié)議棧,根據(jù)接收的時(shí)間信息,做相應(yīng)的處理。6、處理器模塊210可包括一個(gè)存儲(chǔ)器,處理器模塊210內(nèi)程序在存儲(chǔ)器里維持了兩個(gè)環(huán)狀的存儲(chǔ)單元,即接收存儲(chǔ)單元和發(fā)送存儲(chǔ)單元。為了對(duì)本發(fā)明實(shí)施例的軟件無線電系統(tǒng)中基于PCI總線的數(shù)據(jù)同步系統(tǒng)有更深入的理解,以下結(jié)合具體的例子對(duì)本發(fā)明實(shí)施例的軟件無線電系統(tǒng)中基于PCI總線的數(shù)據(jù)同步系統(tǒng)的工作原理做詳細(xì)描述,具體如下如圖5所示,為本發(fā)明一個(gè)實(shí)施例的軟件無線電系統(tǒng)中基于PCI總線的數(shù)據(jù)同步系統(tǒng)的硬件平臺(tái)結(jié)構(gòu)圖。硬件由三部分組成PC(通用臺(tái)式機(jī)),帶PCI接口(PCI-Express 接口)的Xilinx FPGA(FPGA)版,射頻板RF。PC和XiIinx FPGA版之間用 PCI (PCI-Express) 總線連接,RF射頻版與Xilinx FPGA版之間用并口線連接。以實(shí)現(xiàn)某一特定系統(tǒng)為例,以 LTE 5M數(shù)據(jù)卡為例,這樣RF射頻板為L(zhǎng)TE 5M數(shù)據(jù)卡,其采樣時(shí)鐘為7. 68MHz,其中物理層及高層協(xié)議在PC中實(shí)現(xiàn),運(yùn)行的LTE 5M物理層處理和高層協(xié)議棧,而Xilinx FPGA板卡主要負(fù)責(zé)實(shí)施數(shù)據(jù)傳輸,保證射頻板RF和物理層以及協(xié)議棧在時(shí)間上的同步。假設(shè)最小傳輸單位為一子幀,即假設(shè)通信系統(tǒng)最小處理時(shí)間單位為1毫秒,則在1 毫秒內(nèi)能夠傳輸一子幀,H取10,則Δ t為100微秒。另外假設(shè)系統(tǒng)采樣率為7. 68M,量化為14bit,因此32bit即可表示IQ兩路,因此一個(gè)buffer的大小為3072byte。開啟2個(gè) 307200byte大小的循環(huán)buffer分別用來讀寫。在接口控制模塊230上實(shí)現(xiàn)PCI-Express協(xié)議的底層協(xié)議。定時(shí)模塊232是以7. 68M的時(shí)鐘,即每過IOOus,每過768拍,通過PCI接口,觸發(fā)一個(gè)中斷信息。DMA-TX和DMA-RX分別為在FPGA上實(shí)現(xiàn)的DMA引擎模塊233,其功能是在PC端程序通過PCI-Express配置了 DMA起始地址和數(shù)據(jù)長(zhǎng)度寄存器后,觸發(fā)DMA傳輸,即連續(xù)的 TLP包的收發(fā),TLP包的打包和拆包工作由DMA程序完成,并將數(shù)據(jù)存儲(chǔ)或從相應(yīng)的雙端口 RAM中讀出。PC上程序的功能由圖6可見,當(dāng)K毫秒中斷發(fā)生時(shí),K為整數(shù)時(shí),并行4個(gè)線程的程序?qū)?huì)執(zhí)行。對(duì)于發(fā)送數(shù)據(jù)有兩個(gè)線程,一個(gè)功能為首先讀指針后移,然后觸發(fā)K-I毫秒數(shù)據(jù)的發(fā)送DMA過程,另一個(gè)功能為觸發(fā)產(chǎn)生K毫秒數(shù)據(jù)的過程;接收數(shù)據(jù)的兩個(gè)線程,一個(gè)功能為接收K-0. 1毫秒的數(shù)據(jù),另一功能為觸發(fā)處理K-I毫秒數(shù)據(jù)的程序。注意在非整毫秒的中斷發(fā)生時(shí),只會(huì)發(fā)生讀DMA和寫DMA操作。參考圖7,為本發(fā)明一個(gè)實(shí)施例的軟件無線電系統(tǒng)中基于PCI總線的數(shù)據(jù)同步系統(tǒng)的數(shù)據(jù)發(fā)送時(shí)序圖,圖中示出了三段數(shù)據(jù)的處理(數(shù)據(jù)D1、數(shù)據(jù)D2和數(shù)據(jù)D3),K毫秒中斷501觸發(fā)時(shí),K毫秒觸發(fā)的數(shù)據(jù)Dl產(chǎn)生要在Κ+1毫秒才完成,Κ+1毫秒中斷502觸發(fā)DMA 傳輸后,綜合傳輸延遲,在K+2毫秒中斷503時(shí)可以同步的出現(xiàn)在射頻模塊220的接口上。
圖8為本發(fā)明一個(gè)實(shí)施例的軟件無線電系統(tǒng)中基于PCI總線的數(shù)據(jù)同步系統(tǒng)的數(shù)據(jù)接收時(shí)序圖。κ毫秒中斷601的數(shù)據(jù)Dll要在K+1毫秒中斷602時(shí)才能開始處理,K+2毫秒中斷603時(shí)才能處理完。從圖7和圖8可以分析出,采用本發(fā)明實(shí)施例的軟件無線電系統(tǒng)中基于PCI總線的數(shù)據(jù)同步系統(tǒng),數(shù)據(jù)可以同步的產(chǎn)生,發(fā)送到射頻模塊220端口上,接收的數(shù)據(jù)可以在固定延時(shí)的時(shí)刻得到處理。根據(jù)本發(fā)明實(shí)施例的軟件無線電系統(tǒng)中基于PCI總線的數(shù)據(jù)同步方法,保證處理器模塊上進(jìn)行的處理與射頻模塊時(shí)間同步,即由處理器模塊處理的每個(gè)單位數(shù)據(jù)(每個(gè)數(shù)據(jù)為在通信系統(tǒng)最小處理時(shí)間單位中產(chǎn)生的數(shù)據(jù))都經(jīng)過固定的時(shí)間間隔由射頻模塊進(jìn)行發(fā)送,從而實(shí)現(xiàn)了數(shù)據(jù)的同步發(fā)送。另外,射頻模塊接收的每個(gè)單位數(shù)據(jù)(每個(gè)數(shù)據(jù)為在通信系統(tǒng)最小處理時(shí)間單位中產(chǎn)生的數(shù)據(jù))都經(jīng)過固定的時(shí)間間隔發(fā)送到處理器模塊進(jìn)行處理,從而保證了數(shù)據(jù)的同步接收。在本說明書的描述中,參考術(shù)語“一個(gè)實(shí)施例”、“一些實(shí)施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實(shí)施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)包含于本發(fā)明的至少一個(gè)實(shí)施例或示例中。在本說明書中,對(duì)上述術(shù)語的示意性表述不一定指的是相同的實(shí)施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)可以在任何的一個(gè)或多個(gè)實(shí)施例或示例中以合適的方式結(jié)合。盡管已經(jīng)示出和描述了本發(fā)明的實(shí)施例,本領(lǐng)域的普通技術(shù)人員可以理解在不脫離本發(fā)明的原理和宗旨的情況下可以對(duì)這些實(shí)施例進(jìn)行多種變化、修改、替換和變型,本發(fā)明的范圍由權(quán)利要求及其等同物限定。
權(quán)利要求
1.一種軟件無線電系統(tǒng)中基于PCI總線的數(shù)據(jù)同步方法,其特征在于,所述軟件無線電系統(tǒng)包括處理器模塊、射頻模塊和連接在所述處理器模塊和所述射頻模塊之間的接口控制模塊,其中,所述處理器模塊和所述接口控制模塊之間通過PCI總線相連,所述方法包括以下步驟所述接口控制模塊根據(jù)所述射頻模塊的時(shí)鐘生成時(shí)間信息;所述接口控制模塊根據(jù)所述時(shí)間信息產(chǎn)生中斷,并通過所述PCI總線向所述處理器模塊發(fā)送中斷信號(hào);所述處理器模塊的中斷響應(yīng)程序根據(jù)所述中斷信號(hào)接收所述時(shí)間信息,并觸發(fā)軟件無線電系統(tǒng)中相應(yīng)的無線系統(tǒng)物理層調(diào)制或解調(diào)程序以及高層協(xié)議棧程序,并根據(jù)所述時(shí)間信息進(jìn)行處理;通過所述PCI總線完成相應(yīng)數(shù)據(jù)的讀和/或?qū)懖僮?,并在所述接口控制模塊進(jìn)行緩存, 以根據(jù)所述時(shí)間信息通過所述射頻模塊完成數(shù)據(jù)的接收和/或發(fā)送。
2.如權(quán)利要求1所述的軟件無線電系統(tǒng)中基于PCI總線的數(shù)據(jù)同步方法,其特征在于, 發(fā)送數(shù)據(jù)過程進(jìn)一步包括接口控制模塊根據(jù)所述射頻模塊的時(shí)鐘生成時(shí)間信息;每當(dāng)所述時(shí)間信息達(dá)到預(yù)設(shè)時(shí)間閾值時(shí),所述接口控制模塊向所述處理器模塊發(fā)出中斷信號(hào);所述處理器模塊從所述接口控制模塊中讀取所述時(shí)間信息,且所述處理器模塊在接收到第K*H+C個(gè)中斷信號(hào)之后,所述處理器模塊生成數(shù)據(jù),其中,所述H、K為正整數(shù),所述C為自然數(shù);所述處理器模塊在接收到第K*H+M個(gè)中斷信號(hào)之后,所述處理器模塊將生成的所述數(shù)據(jù)寫入所述接口控制模塊,其中,所述M為不小于C的自然數(shù);以及所述接口控制模塊在產(chǎn)生第K*H+N個(gè)中斷信號(hào)之后,將所述數(shù)據(jù)發(fā)送至所述射頻模塊,并通過所述射頻模塊發(fā)送,其中,所述N為不小于M的自然數(shù)。
3.如權(quán)利要求1所述的軟件無線電系統(tǒng)中基于PCI總線的數(shù)據(jù)同步方法,其特征在于, 還包括所述射頻模塊接收數(shù)據(jù);所述接口控制模塊從所述射頻模塊讀取所述射頻模塊接收的數(shù)據(jù)并進(jìn)行緩存;所述處理器模塊在接收到第K1*H1+C1個(gè)中斷信號(hào)之后,所述處理器模塊接收所述接口控制模塊發(fā)送的數(shù)據(jù),其中所述Kl、Hl為正整數(shù),所述Cl為自然數(shù);以及在所述處理器模塊接收到第K1*H1+M1個(gè)中斷信號(hào)之后,所述處理器模塊對(duì)接收的所述數(shù)據(jù)進(jìn)行處理,其中,所述Ml為不小于Cl的自然數(shù)。
4.如權(quán)利要求1-3任一項(xiàng)所述的軟件無線電系統(tǒng)中基于PCI總線的數(shù)據(jù)同步方法,其特征在于,所述PCI總線為PCI-E總線。
5.如權(quán)利要求2-4任一項(xiàng)所述的軟件無線電系統(tǒng)中基于PCI總線的數(shù)據(jù)同步方法,其特征在于,所述預(yù)設(shè)時(shí)間閾值與所述H的乘積為通信系統(tǒng)最小處理時(shí)間單位。
6.一種軟件無線電系統(tǒng)中基于PCI總線的數(shù)據(jù)同步系統(tǒng),其特征在于,包括處理器模塊、射頻模塊和接口控制模塊,其中,所述接口控制模塊設(shè)置在所述處理器模塊和所述射頻模塊之間且所述接口控制模塊通過PCI總線與所述處理器模塊相連,其中,所述接口控制模塊用于根據(jù)所述射頻模塊的時(shí)鐘生成時(shí)間信息,并根據(jù)所述時(shí)間信息產(chǎn)生中斷,以通過所述PCI總線向所述處理器模塊發(fā)送中斷信號(hào),以及所述接口控制模塊用于對(duì)數(shù)據(jù)進(jìn)行緩存,以根據(jù)所述時(shí)間信息通過所述射頻模塊完成數(shù)據(jù)的接收和/或發(fā)送,所述處理器模塊用于根據(jù)所述中斷信號(hào)接收所述時(shí)間信息,并觸發(fā)軟件無線電系統(tǒng)中相應(yīng)的無線系統(tǒng)物理層調(diào)制或解調(diào)程序以及高層協(xié)議棧程序,并根據(jù)所述時(shí)間信息進(jìn)行處理,以及通過所述PCI總線完成相應(yīng)數(shù)據(jù)的讀和/或?qū)懖僮鳌?br>
7.根據(jù)權(quán)利要求6所述的軟件無線電系統(tǒng)中基于PCI總線的數(shù)據(jù)同步系統(tǒng),其特征在于,所述接口控制模塊用于根據(jù)所述射頻模塊的時(shí)鐘生成時(shí)間信息,并每當(dāng)所述時(shí)間信息達(dá)到預(yù)設(shè)時(shí)間閾值時(shí)向所述處理器模塊發(fā)出中斷信號(hào),所述處理器模塊用于從所述接口控制模塊中讀取所述時(shí)間信息,且在接收到第K*H+C 個(gè)中斷信號(hào)之后生成數(shù)據(jù),在接收到第K*H+M個(gè)中斷信號(hào)之后將生成的所述數(shù)據(jù)寫入所述接口控制模塊,其中,所述H、K為正整數(shù),所述C為自然數(shù),所述M為不小于C的自然數(shù),且所述射頻模塊還用于在產(chǎn)生第K*H+N個(gè)中斷信號(hào)之后將所述數(shù)據(jù)發(fā)送至所述射頻模塊并通過所述射頻模塊發(fā)送,其中,所述N為不小于M的自然數(shù)。
8.如權(quán)利要求6所述的軟件無線電系統(tǒng)中基于PCI總線的數(shù)據(jù)同步系統(tǒng),其特征在于, 所述接口控制模塊進(jìn)一步包括PCI協(xié)議模塊,用于產(chǎn)生PCI的協(xié)議層和物理層協(xié)議以為所述PCI總線和TLP層的用戶提供接口 ;定時(shí)模塊,用于根據(jù)所述射頻模塊的時(shí)鐘生成時(shí)間信息,且以預(yù)定時(shí)間間隔觸發(fā)中斷信號(hào);DMA引擎模塊,用于在數(shù)據(jù)發(fā)送時(shí),根據(jù)所述數(shù)據(jù)的起始地址和數(shù)據(jù)量以發(fā)起讀請(qǐng)求事務(wù)包,并從PCI協(xié)議模塊接收應(yīng)答包以進(jìn)行發(fā)送,在數(shù)據(jù)接收時(shí),將發(fā)起寫請(qǐng)求事務(wù)包以接收數(shù)據(jù)并寫入處理器中;發(fā)存儲(chǔ)器控制模塊,所述發(fā)存儲(chǔ)器控制模塊具有第一存儲(chǔ)器,所述第一存儲(chǔ)器由所述發(fā)存儲(chǔ)器控制模塊控制,用于存儲(chǔ)即將發(fā)送的數(shù)據(jù);以及收存儲(chǔ)器控制模塊,所述收存儲(chǔ)器控制模塊具有第二存儲(chǔ)器,所述第二存儲(chǔ)器由所述收存儲(chǔ)器控制模塊控制,用于存儲(chǔ)已接收的數(shù)據(jù)。
9.如權(quán)利要求8所述的軟件無線電系統(tǒng)中基于PCI總線的數(shù)據(jù)同步系統(tǒng),其特征在于, 所述第一存儲(chǔ)器和所述第二存儲(chǔ)器為雙端口存儲(chǔ)器。
10.如權(quán)利要求9所述的軟件無線電系統(tǒng)中基于PCI總線的數(shù)據(jù)同步系統(tǒng),其特征在于,所述第一存儲(chǔ)器和所述第二存儲(chǔ)器具有環(huán)狀存儲(chǔ)地址。
全文摘要
本發(fā)明提出了一種軟件無線電系統(tǒng)中基于PCI總線的數(shù)據(jù)同步方法及系統(tǒng),該方法包括如下步驟接口控制模塊根據(jù)射頻模塊的時(shí)鐘生成時(shí)間信息并根據(jù)時(shí)間信息產(chǎn)生中斷,并通過PCI總線向處理器模塊發(fā)送中斷信號(hào);處理器模塊的中斷響應(yīng)程序根據(jù)中斷信號(hào)接收時(shí)間信息,并觸發(fā)軟件無線電系統(tǒng)中相應(yīng)的無線系統(tǒng)物理層調(diào)制或解調(diào)程序以及高層協(xié)議棧程序,并根據(jù)時(shí)間信息進(jìn)行處理;通過PCI總線完成相應(yīng)數(shù)據(jù)的讀和/或?qū)懖僮?,并在接口控制模塊進(jìn)行緩存,以根據(jù)時(shí)間信息通過射頻模塊完成數(shù)據(jù)的接收和/或發(fā)送。本發(fā)明的實(shí)施例保證處理器模塊進(jìn)行處理與射頻模塊收發(fā)數(shù)據(jù)時(shí)間同步,從而能夠保證數(shù)據(jù)的實(shí)時(shí)發(fā)送和接收。
文檔編號(hào)H04L7/00GK102571317SQ201210004050
公開日2012年7月11日 申請(qǐng)日期2012年1月6日 優(yōu)先權(quán)日2012年1月6日
發(fā)明者江海, 趙明, 齊心 申請(qǐng)人:江海