專利名稱:用于控制軟件定義無線電設(shè)備中事件排序和定時的事件排序器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及軟件定義無線電設(shè)備以及用于無線電設(shè)備和其它應
用的軟件通信架構(gòu)(SCA)。
背景技術(shù):
由于在處理能力和編程技術(shù)上的優(yōu)勢,軟件定義的移動無線通信 設(shè)備(例如,無線電設(shè)備)的數(shù)量繼續(xù)增長。不依賴于硬件和電路組 件來執(zhí)行例如頻率、調(diào)制、帶寬、安全功能以及波形要求的任務,這 些功能由軟件無線電設(shè)備中的軟件模塊或組件完成。也就是說,使用 軟件無線電設(shè)備之后,模擬信號被轉(zhuǎn)換至上述功能可以使用數(shù)字信號 處理來實現(xiàn)的數(shù)字領(lǐng)域。
由于無線電設(shè)備的大部分功能夠由軟件控制,所以軟件無線電設(shè) 備通??梢允褂孟鄬藴实奶幚砥骱陀布M件來實現(xiàn)。這不但可以降 低設(shè)備硬件成本,而且可以在升級設(shè)備時提供更大的靈活性,這是因 為新的通信波形模塊能夠相對容易地載入到設(shè)備中而且不需要更換 新的硬件組件。
一種利用了上述優(yōu)點和特征的具體類型的軟件無線電設(shè)備為聯(lián) 合戰(zhàn)術(shù)無線電(JTR) 。 JTR無線電設(shè)備包括相對標準的無線電設(shè)備 和處理硬件,以及合適的波形軟件模塊以用于無線電設(shè)備將要使用的 通信波形。JTR還使用符合軟件通信架構(gòu)(SCA)規(guī)范(參見 www.JTRS.saalt.mil)的操作系統(tǒng)軟件,該SCA規(guī)范在此整體引入作 為參考。SCA為一個開放式架構(gòu)框架,其規(guī)定了硬件組件和軟件組件
集成到單個設(shè)備中另 一種越來越多地使用軟件組件來與不同波形或協(xié)議進行通信 的移動無線通信設(shè)備是蜂窩通信設(shè)備。也就是,現(xiàn)在許多蜂窩設(shè)備被 設(shè)計為使用多個在世界范圍內(nèi)使用的蜂窩標準進行操作,例如全球移
動通信系統(tǒng)(GSM)和個人通信服務(PCS)。
聯(lián)合戰(zhàn)術(shù)無線電系統(tǒng)(JTRS)軟件組件架構(gòu)(SCA)經(jīng)?;?公共對象請求中介體系結(jié)構(gòu)(CORBA)定義一系列接口和協(xié)議,以 實施軟件定義無線電(SDR)技術(shù)。部分地,JTRS及其SCA和一族 軟件可再編程無線電設(shè)備一起使用。這樣,SCA是一組用于實現(xiàn)軟件 可再編程數(shù)字無線電設(shè)備的特定的規(guī)則、方法和設(shè)計標準。
JTRS SCA規(guī)范由JTRS聯(lián)合規(guī)劃辦公室(JPO )出版。JTRS SCA 被構(gòu)建為提供不同JTRS SCA應用之間應用軟件的可移值性,利用商 業(yè)標準來減少開發(fā)成本,通過重復使用設(shè)計模塊的能力減少新波形的 開發(fā)時間,以及構(gòu)建演化的商業(yè)框架和結(jié)構(gòu)。
由于JTRS SCA旨在獨立于具體實現(xiàn),所以它不是一個系統(tǒng)規(guī) 范,而是約束系統(tǒng)設(shè)計使其達到所希望JTRS目標的一系列規(guī)則。 JTRS SCA的軟件框架定義了操作環(huán)境(OE )并且對具體應用程序從 操作環(huán)境中所使用的服務和接口進行了規(guī)定。SCAOE包括核心框架 (CF) 、 CORBA中間件以及基于可移植操作系統(tǒng)接口 (POSIX)的 操作系統(tǒng)(OS )及其相關(guān)板支持封裝。JTRS SCA還提供了 一個積木 式結(jié)構(gòu)(在API附錄中定義),用于對應用軟件組件之間的應用程序 編程接口 (API)進行定義。
JTRS SCA核心框架(CF)是一個架構(gòu)性的概念,它定義了用 于嵌入式分布計算機通信系統(tǒng)中軟件應用程序組件的部署、管理、互 聯(lián)和互通的開放式軟件接口和簡檔(profile)的基本"核心,,集。接口 可以在JTRS SCA規(guī)范中定義。然而,開發(fā)人員可以實現(xiàn)一些接口 一些接口可以由非核心應用程序(即,波形等)實現(xiàn); 一些接口可以 由硬件設(shè)備提供商來實現(xiàn)。用于JTRS無線電設(shè)備和SCA的規(guī)范通 常需要指令和數(shù)據(jù)(紅和黑)處理系統(tǒng)的接口。無線電平臺可以包括 多處理器嵌入式系統(tǒng),包括現(xiàn)場可編程門陣列(FPGA)。寬頻帶網(wǎng)絡波形還需要對事件以及協(xié)同的無線電和調(diào)制解調(diào)器 配置的高度控制。這種控制通常必須同步到微秒以內(nèi)。通常在這種類 型的無線電設(shè)備中,無線電設(shè)備硬件和調(diào)制解調(diào)器硬件的配置和控制 在軟件中完成。然而,這種程度的控制只能在控制定時上提供一定程 度的準確性。
基于上述背景,本發(fā)明的目的在于以更加準確的方式在軟件定義 無線電設(shè)備中對事件進行控制,對無線電電路中的事件進行更高程度 的控制,并且減少更高級別的軟件處理的實時事件的數(shù)量。
發(fā)明內(nèi)容
根據(jù)本發(fā)明的一個非限制性的例子,軟件定義無線電設(shè)備包括無 線電電路以及可以和無線電電路一起操作的可執(zhí)行無線電軟件系統(tǒng)。 操作環(huán)境定義為允許波形應用與無線電電路一起操作以便發(fā)送和接 收語音和數(shù)據(jù)。處理器包括事件排序器,并可操作用于對無線電電路 中事件的序列和定時進行控制。
在另一個方面,事件排序器包括用于保持一系列事件的事件存儲
器,例如事件隊列或事件CAM。事件隊列或CAM可以以任何順序 訪問,或者可以連接事件隊列和事件CAM的組合使得兩者可以相互 饋送。事件存儲器中包含的每個事件可以包括事件指令,該指令具有 用于識別將要發(fā)生的事件動作的數(shù)值。分數(shù)的位時間值可以表示事件 的時間。事件排序器可以包括時間比較器,用于促使事件在適當時間 觸發(fā)。事件排序器還可以包括用于確定將要運行的事件程序的處理 器。事件排序器還可以包括保存有事件標簽的標簽寄存器,所迷事件 標簽標示出將要運行的事件程序并且可用于讀取標簽寄存器以及確 定哪個事件程序?qū)\行。存儲器、計時器和中斷控制器可以與處理 器一起操作,從而能夠在某個指定時間生成中斷以允許處理器讀取標
簽寄存器。事件排序器還可用于對無線電電路和相關(guān)聯(lián)的調(diào)制解調(diào)器 控制電路的配置進行協(xié)同。便攜式外殼能夠容納無線電電路和處理 器,并且可以配置為手持使用。在另一個方面,無線電電路和可執(zhí)行無線電軟件系統(tǒng)可以與無線
電電路一起操作,其符合軟件通信架構(gòu)(SCA)規(guī)范并且定義了一個 操作環(huán)境,其允許波形應用程序與無線電電路一起操作以便發(fā)送和接 收語音和數(shù)據(jù)?,F(xiàn)場可編程門陣列(FPGA)可以與無線電電路一起
操作,并包括用于控制無線電電路中事件排序和定時的事件排序器。 這個事件排序器包括排序器組件和處理器組件,在排序器組件中保存 有事件和事件標簽,而處理器組件與排序器組件一起操作用于識別事 件標簽以及運行由事件標簽標識的事件程序。 還提出了本發(fā)明的方法方面。
本發(fā)明的其它目的、特征和優(yōu)點將從下文結(jié)合附圖所作的詳細說 明中變得更加清楚。
圖1示出了作為手持無線電設(shè)備的便攜式無線通信設(shè)備的透視 圖,該便攜式無線通信設(shè)備可以包括根據(jù)本發(fā)明的一個非限制性實施
例的事件排序器。
圖2示出了用在軟件無線電設(shè)備中的典型的無線電電路的高級框圖。
圖3示出了根據(jù)本發(fā)明的一個非限制性實施例的排序器硬件的 高級框圖。
圖4示出了根據(jù)本發(fā)明的一個非限制性實施例的事件排序器的 高級框圖,其中顯示了CPU組件、外部組件以及排序器組件。
具體實施例方式
下面將參照附圖對本發(fā)明進行更完整地描述,這些附圖示出了本 發(fā)明的優(yōu)選實施例。然而,本發(fā)明可以體現(xiàn)為不同的形式,本發(fā)明不 應當被解釋為僅限于這里所描述的實施例。提供這些實施例的目的在 于使得對于本發(fā)明的公開得以詳盡和完整,并且將本發(fā)明的范圍徹底 傳達給本領(lǐng)域的技術(shù)人員。其中,相同的標號表示相同的部件,標號中的首數(shù)字用于表示可替換實施例中的類似部件。
根據(jù)本發(fā)明的 一個非限制性實施例,事件排序器可以為基于硬件 的微編碼事件排序器,所述微編碼事件排序器被集成到處理軟件定義
無線電設(shè)備資源的現(xiàn)場可編程門陣列(FPGA)中。這使得寬頻帶網(wǎng) 絡波形的軟件能夠控制事件的排序和定時,并且通過將控制序列分配 給硬件結(jié)構(gòu),將無線電電路和相關(guān)聯(lián)的調(diào)制解調(diào)器的控制時間表"描 述,,至微秒以內(nèi)的準確度。
根據(jù)本發(fā)明的非限制性實施例,所述事件排序器和相關(guān)方法可用 于多處理器嵌入系統(tǒng)及其相關(guān)方法,也可以用于任何類型的無線電軟 件通信架構(gòu),例如用在大型計算機或包括具有附加的收發(fā)器的膝上型 電腦的小型計算機上,例如用于軍事和民用應用中,或者用在圖l所 示的便攜式無線通信設(shè)備20中。便攜式無線通信設(shè)備被例示為一個 無線電設(shè)備,該無線電設(shè)備可以包括作為內(nèi)部組件的收發(fā)器以及具有 天線24和控制把手的手持外殼22。液晶顯示器(LCD)或類似顯示 設(shè)備可以置于外殼上的適當位置上以便顯示。各種內(nèi)部組件,.包括用 于紅黑子系統(tǒng)的雙處理器系統(tǒng)以及符合SCA的軟件,與圖中示出的 無線電設(shè)備一起操作。雖然公開了便攜式或手持式的無線電設(shè)備,但 是所描述的架構(gòu)可以和任何處理器系統(tǒng)一起使用,其中所述處理器系 統(tǒng)與使用SCA的收發(fā)器和根據(jù)本發(fā)明非限制性示例的事件排序器一 起操作。根據(jù)本發(fā)明的非限制性示例,能夠包括事件排序器的無線電 設(shè)備的一個例子是由佛羅里達州墨爾本市的Harris公司制造的 Falcon III單人可攜帶的或戰(zhàn)術(shù)無線平臺。
例如用在如上所述軟件定義無線電設(shè)備中的基本無線電電路30 由框圖30進行概括表示(圖2),包括由標號32概括表示的共用無 線組件、紅色處理組件34以及黑色處理組件36,和調(diào)制解調(diào)器37 — 起操作。每個紅色處理組件34和黑色處理組件36包括對本領(lǐng)域普通 技術(shù)人員熟知的現(xiàn)場可編程門陣列34a和36a、數(shù)字信號處理器34b 和36b以及其它電路組件34c和36c。
圖3為表示與寬頻帶網(wǎng)絡調(diào)制解調(diào)器相關(guān)聯(lián)的事件排序器以及無線電控制排序器的硬件組件示例的高級方框圖,以標號50總的表 示。具有所需精確度的網(wǎng)絡中的同步和信令使得對空中協(xié)議和基于硬 件的事件排序器之間進行協(xié)調(diào)變得具有吸引力。這個電路中,開發(fā)出 一種硬件設(shè)備,允許使用相關(guān)的無線電設(shè)備和調(diào)制解調(diào)器配置對特定 間隔的不同事件進行編程。這些事件能夠安排為與任何所需定時相一 致。再有, 一旦未來事件的一個給定集合被編程到事件排序器中,其 它無線電資源就可以專注于其它的處理活動,或者為了節(jié)約能量而置 于休眠狀態(tài)。可使用不同序列硬件設(shè)備。
該系統(tǒng)包括系統(tǒng)計時器電路52,與用于多元信號處理的其它電 路一起操作。間隔時間計時器54可以輸出中斷,并從數(shù)字信號處理 器接收具有間隔計時器的時間間隔/ID (HOPCLK)作為MDSP。其 它操作和功能包括排序器控制/狀態(tài)58和RES排序器狀態(tài)機60,RES 排序器狀態(tài)機60接收作為腳本指針62的信號,包括事件63和ATTN 64。系統(tǒng)計時器電路52還可以與RES腳本分頁RAM66—起操作, 后者接收時間間隔超時的池切換(bank switch ) 。 RES控制68與接 收RES 69和數(shù)字信號處理器一起操作以作為MDSP收發(fā)器70,如圖 所示。MDM腳本頁RAM 74接收時間間隔超時的池切換并且與 WDSP處理器接口一起操作。作為PDU76和數(shù)據(jù)庫的接收器數(shù)據(jù)單 元,還與WDSPDMA信道、傳輸PDU 78和服務IDSTAT 80 —起操作。
現(xiàn)在對各種有源組件和其它事件排序器的處理進行解釋。系統(tǒng)時 間52典型地為64比特增量的無線系統(tǒng)時間。系統(tǒng)時間52被連接到 無線平臺以及每日時間(TOD)服務,并且能夠由MAC (媒體訪問 控制)和構(gòu)成事件排序器和調(diào)制解調(diào)器的硬件設(shè)備讀取。
間隔計時器54典型地為可編程的重復計時器或單次計時器。軟 件可以使用這個計時器來指示所關(guān)心的時間間隔的范圍。例如,可以 由計時器關(guān)閉而信號告知信標間隔的末端。間隔計時器硬件被屏蔽從 而軟件能夠在當前計時器關(guān)閉之前對下一個間隔計時器進行編程。 MDSP與間隔/ID和計時器一起操作。事件計時器可以是將用于當前間隔中的可編程單次計時器。它們
精確至系統(tǒng)時間的1微秒范圍以內(nèi)。每個事件63可以具有相關(guān)的腳 本頁RAM指針,用于在事件發(fā)生時執(zhí)行一些配置。例如, 一個給定 事件可以與一個RES頻率變化相關(guān)聯(lián)。事件計時器硬件被屏蔽從而 軟件可以在當前組事件計時器完成之前對下一組事件計時器進行編程。
腳本指針62典型地為指向排序器腳本頁RAM存儲器66的指針。 這些允許事件觸發(fā)一 系列配置指令。腳本頁RAM存儲器66為排序器 存儲器的池切換后的頁面,受到不同的事件63、 64的指向并與當前 時間間隔相關(guān)聯(lián)。池切換典型地出現(xiàn)在間隔時間計時器終止時。分頁 RAM 66被屏蔽從而軟件可以在當前時間間隔結(jié)束之前對下一個時間 間隔的指令進行編程。
可以包括緩存器76、 78和80以用于存儲接收發(fā)送數(shù)據(jù)、語音以 及調(diào)制解調(diào)器生成和消耗的信標。在調(diào)制解調(diào)器和WDSP之間進行
DMA的傳送是可能的。
如果在附加至事件排序器的硬件模塊中存在誤差指示,則可以使 用引注矢量(MDM/RES)作為要跳轉(zhuǎn)到的位置。當軟件遇到已經(jīng)出 現(xiàn)的錯誤時,無線電設(shè)備可以處于一個良好的配置中。
可以包含調(diào)制解調(diào)器,作為基于硬件的突發(fā)串式調(diào)制解調(diào)器。它 可以支持所有的數(shù)據(jù)、語音以及網(wǎng)絡支持所需的信令信號。這代表了 帶寬、頻謙效率和持續(xù)時間的配置。所述調(diào)制解調(diào)器指示出對于排序 器的給定操作何時完成以及是否已經(jīng)出現(xiàn)誤差,例如下溢或上溢。
RES控制68是典型的配置,控制在SPI控制總線68a上發(fā)送至 接收器和發(fā)送器的指令,指示給定指令序列何時完成以及是否已經(jīng)出 現(xiàn)錯誤。
事件排序器50可能具有應用編程接口 (API)。指令可以通過 API被寫到排序器中。指令可以使用排序器的不同實例來控制調(diào)制解 調(diào)器或RES。排序器的每個實例均可以被連接至相同的間隔和系統(tǒng)計 時器。它們的事件和頁RAM可以是不同的。各種呼叫包括停止和開始,停止用于停止事件排序器及其相關(guān)的 事件配置,開始用于開始事件排序器的時間間隔計時器和事件處理。 開始指令完成所屏蔽硬件的固有池切換以允許軟件在開始之前對初 始配置進行編程。
編程間隔計時器呼叫可以在時間中創(chuàng)建一個點,事件排序器將生
成中斷并且從一組屏蔽事件寄存器和頁腳本RAM切換到另一組。這 個指令可以在事件排序器運行時或停止時完成。間隔超時可以命令一
個回叫例程并且在計時器到期時執(zhí)行該例程。
設(shè)定的事件呼叫或指令是一個從間隔開始的微秒偏移,其指向一 個腳本并設(shè)置事件以在時間間隔中的一個特定點發(fā)生。事件時間典型
地參照間隔的開始并且精確至l微秒內(nèi)。當事件排序器正在運行時, 這個呼叫為下一個間隔的事件進行編程。當事件期滿時,事件排序器 使用腳本指針來對控制的實例執(zhí)行一 系列排序器指令。
如果受控實例聲明了引注線,則作為指向腳本的指針的設(shè)置Attn 指令便可以進行操作。事件排序器導航至頁RAM中的這個位置來執(zhí) 行一組預先配置的錯誤處理指令。
寫腳本存儲器指令可以作為原語進行操作,其允許軟件通過將一 組事件排序器指令和給定事件進行關(guān)聯(lián)來配置受控實例的特定配置。 可以基于與特定事件相關(guān)聯(lián)的指針將指令從腳本頁RAM 66讀取出 來。
事件排序器50可以作為IP內(nèi)核進行操作,該IP內(nèi)核為軟件無 線電設(shè)備中共用現(xiàn)場可編程門陣列(FPGA)的一部分。事件排序器 旨在用于這樣的應用中,即具有能夠?qū)κ录M行定時并且能夠用嚴格 的定時控制對FPGA資源進行控制的波形的FPGA部分是有益的。正 如下文將要解釋的,事件排序器包括兩個主要組件排序器事件隊列 和排序器CPU。排序器事件隊列包括經(jīng)過定時事件的有序隊列以及當 事件期滿時觸發(fā)中斷的比較器。
事件可以包括24比特的時間值和8比特的標記值。事件可以由 WDSP寫入隊列,并且在事件期滿時以先進/先出(FIFO)的方式從隊列中刪除。經(jīng)過排隊的事件可以以先進/先出(FIFO)的方式進行 處理,所以事件典型地按時間先后順序被寫入到隊列中。隊列中最早 的事件是當前的事件。當前的事件與系統(tǒng)時間相匹配時, 一個中斷被 發(fā)往CPU并且保存TAG數(shù)值。該事件從隊列中刪除,并帶進了新的 當前的事件。CPU已經(jīng)中斷,能夠讀取所保存的標記數(shù)值并執(zhí)行適當 的程序來處理該事件。
事件排序器CPU典型地為一個簡化的8比特CPU。它從到期事 件接收到中斷和若干系統(tǒng)錯誤和狀態(tài)。它能夠從大量的設(shè)備讀取數(shù)據(jù) 以及向這些設(shè)備寫入數(shù)據(jù),所述設(shè)備包括八進制數(shù)模轉(zhuǎn)換器、調(diào)制解 調(diào)器內(nèi)核以及關(guān)鍵線路(keyline)寄存器。它具有由WDSP進行寫 入操作的編程存儲器以及內(nèi)部RAM存儲器。
圖4中以標號100表示的事件排序器的一個非限制性的實施例包 括處理器或中央處理單元(CPU)組件102、排序器組件104和外部 組件106。排序器組件104包括作為事件存儲器110的存儲事件隊列、 時間比較器112,例如24位比較器,以及事件TAG寄存器114。如 圖示,還可以包括事件內(nèi)容可尋址存儲器(CAM) 110a。 CAM110a 可以保持可以以任何順序?qū)ぶ返氖录约笆录犃?,或者相互連接以 便互相反饋的事件隊列和事件CAM的組合。CPU組件包括CPU 120、 相關(guān)的PROM、 RAM、計時器、中斷控制器以及輸出輸入位寄存器。 作為CPU組件一部分的各個組件包括中斷寄存器122、輸入輸出位寄 存器124和126以及計時器控制128。 CPU 120可作為事件編程處理 器進行操作,并且具有到諸如HSSPI 130、調(diào)制解調(diào)器控制組件132 以及八進制DAC 134的外部組件的附加接口。另外,CPU將中斷驅(qū) 動至WDSP、 MDSP以及BIOP,并且控制關(guān)鍵線路(keyline)。外 部組件系統(tǒng)定時計數(shù)器136和WDSP 138顯示在圖4中。
事件隊列110包括一系列排序事件。例如,每個事件可以形成為 2 4比特分數(shù)的秒時間以及8比特的事件標簽。分數(shù)的比特時間的范圍 為0到9599999 ( 0x0到0x927BFF ),這個范圍代表0到1秒,其中 每個單位表示104.166納秒。標簽典型地為一個任意的8比特數(shù)值,處理器可以使用所述8比特數(shù)值來識別出當事件觸發(fā)時CPU應當運 行哪個程序。
事件典型地以其將要出現(xiàn)的順序被寫到事件隊列110中。仍在隊 列中的最早的事件是當前事件。當前事件的事件時間等于系統(tǒng)時間的 分數(shù)秒部分時,該當前事件被認為被觸發(fā)。觸發(fā)時,事件標簽寄存器 114可以栽入事件標簽和所觸發(fā)的事件排序器中斷。事件從隊列中刪 除,而下一個事件則變?yōu)楫斍笆录?。另外,如果在栽入新標簽之前?一個標簽沒有從標簽寄存器讀取,則觸發(fā)事件排序器上溢中斷。
時間比較器112促使當前事件在適當時間進行觸發(fā)。時間比較器 112將當前事件的事件時間和系統(tǒng)時間計數(shù)器136的分數(shù)秒時間進行 比較。由于系統(tǒng)時間的分數(shù)秒時間使用25比特,所以系統(tǒng)時間計數(shù) 器的最低有效位被忽略,該非限制性示例中的事件時間的分辨精度為 104.166納。當時間比較器112觸發(fā)時,當前事件標簽被栽入TAG寄 存器114中,而當前事件則從隊列110中被刪除。隊列中的下一個事 件成為新的當前事件。如果當前事件在CPU正在運行時觸發(fā),則出 現(xiàn)過速(overrun )錯誤。
當當前事件被觸發(fā)時,標簽觸發(fā)器114可以載入當前事件的事件
標簽。標簽寄存器可以由CPU讀取以便確定運行哪個程序。
排序器CPU或事件程序處理器120可以成形為簡單的8比特 CPU。它可以響應于中斷運行短的事件程序。在任何程序運行之后, CPU可以返回到休眠狀態(tài)并且等待下一個中斷。中斷可以由比較寄存 器和來自波形組件的若干錯誤條件生成。該CPU典型地具有它自己 的編程和數(shù)據(jù)存儲器121、中斷控制器和內(nèi)部計時器。該CPU具有到 HSSPI 130、八進制DAC134、調(diào)制解調(diào)器控制132以及輸入輸出位 寄存器124和126的接口。
中斷控制器可以具有多個中斷源,包括事件比較器112以及多個 錯誤和狀態(tài)信號。中斷控制器可以使用屏蔽寄存器,用于激活或去激 活中斷源。當中斷出現(xiàn)時,CPU讀取中斷寄存器,掃描這些位從而斷 定是什么導致了中斷,并且執(zhí)行合適的中斷處理例程。如果中斷來自比較器,則CPU讀取TAG寄存器114,并且使用TAG寄存器114 來確定運行哪個程序。
在一個非限制性實施例中,CPU從2048x8的CPU PROM獲得 代碼和數(shù)據(jù)表,其可以使用雙端口 RAM實現(xiàn)。WDSP可以連接到讀 /寫端口, CPU可以連接到只讀端口。 CPU PROM典型地由CPU讀 取。PROM可以由WDSP編程,并且可以在任何時間由WDSP修改, 包括當CPU正在活躍地運行時。典型地,PROM中的表可以頻繁地 升級從而反映出頻率和調(diào)制方案中的變化。CPU可以具有一個64x8 RAM,用于存儲和檢索數(shù)據(jù)。
CPU可以具有一個8比特的輸入位寄存器124,用于從如圖3所 示的波形組件獲得位狀態(tài)。CPU可以具有8比特的輸出位寄存器,用 于控制波形組件。這些輸出位可以包括去往各個處理器的中斷線路 (INT ) 。 BIOP可以設(shè)定一個HSSPI多路復用器使得控制和狀態(tài)被 路由至排序器CPU 120。這允許CPU響應于事件或告警條件對HSSPI 130進行讀和寫操作。
CPU也可以寫到八進制DAC 134。 CPU可以是不同八進制DAC 控制源中的一個,例如非限制性示例中5個的1個,并且軟件確保不 同的源不會發(fā)送相沖突的八進制DAC指令。CPU能夠控制8個八進 制DAC輸出中的任何一個。
CPU可以響應于排序器事件通過寫或觸發(fā)控制字而栽入新的調(diào) 制解調(diào)器配置。CPU可以具有一個內(nèi)建的計時器,其可用于向程序執(zhí) 行中插入延時。在一個非限制性例子中,計時器可以以52納秒的增 量延遲多達0.872秒。計時器可以具有一個3比特寄存器,該寄存器 典型地從最低有效字節(jié)寫到最高有效字節(jié)。在所指定時間期滿時,信 號可以被發(fā)送到中斷控制器和輸入位寄存器124。
WDSP接口典型地為16位異步并行接口。該接口可以具有大約 8個字的地址空間并且支持對字進行存取。數(shù)據(jù)傳送定時由波形內(nèi)核 確定。
可使用標準化寄存器命名約定以便于FPGA和軟件設(shè)計的操作。非IP內(nèi)核一部分的FPGA寄存器可以使用第一個字母來表示其所在 的FPGA,使用第二個字母來表示處理器接口。作為IP內(nèi)核一部分 的寄存器可以具有第一個字母I,并且第二個字母和第三個字母可具 體至該IP模塊。事件排序器的寄存器可以從IES開始。寄存器名稱 的剩余字母可以表示寄存器的功能。
事件排序器可使用無線電FPGA設(shè)計者IP內(nèi)核標準實現(xiàn)為IP內(nèi) 核。這個標準要求IP組塊具有自己的寄存器組塊和中斷發(fā)生器。也可 以將各個中斷源帶出設(shè)備從而避免分層中斷。
在本發(fā)明的 一個非限制性示例中,排序器CPU可具有用于操作數(shù) 據(jù)、程序分支、栽入和存儲的7個內(nèi)部寄存器。每個寄存器可以包括 用于在機器碼指令中對寄存器進行編碼的3比特寄存器號。所述排序 器CPU解碼和執(zhí)行從寄存器位置上的程序存儲器讀取的8比特操作 碼。每個操作碼可以包括獲取操作碼之后從存儲器讀取的零個、 一個 或兩個相關(guān)的操作數(shù)。
用于排序器CPU的匯編程序可以有助于產(chǎn)生事件排序器不同程 序。這個匯編程序可能類似于許多用于8比特微型計算機的商用匯編 程序。所述匯編程序可以將包含標號、指令、注釋以及匯編指令的源 文件轉(zhuǎn)換為包含原始機器碼程序的輸出文件。在一個非限制性的例子 中,所述匯編程序可以RUBY語言編寫,RUBY語言是一種可用于幾 乎所有流行計算平臺的免費發(fā)布的開源語言。所述匯編程序還能夠以 DOS可執(zhí)行的形式提供,以用于無線電開發(fā)環(huán)境中。所述匯編指令可 以從CPU的機器指令生成。
匯編程序和CPU可以鏈接至相同的指令集,從而對于CPU的任 何修改都需要對匯編程序進行修改。在某個點上向CPU和匯編程序添 加指令或從中去除指令可能是必須的或方便的。
CPU可以在模塊中的排序器的VHDL代碼中實現(xiàn),其對一個高
序半字節(jié)進行解碼以便確定指令的類型。其還可以對一些低序半字節(jié) 進行解碼以便確定實際指令以及參數(shù)和選項。
為了添加新的指令到CPU,系統(tǒng)可以確定如何將其與指令映像相符合。這可以通過添加一個用于新的更高序半字節(jié)代碼的新指令類 型解碼或通過將其作為現(xiàn)有指令類型的子類型進行添加得以實現(xiàn)。應 當為指令類型列表中的半字節(jié)解碼添加一個常數(shù)。用于執(zhí)行指令的實
際代碼可以在定義狀態(tài)機的進程中被定位。
權(quán)利要求
1. 一種軟件定義無線電設(shè)備,包括無線電電路和可以與所述無線電電路一起操作的可執(zhí)行無線電軟件系統(tǒng),并且定義了一個操作環(huán)境,所述操作環(huán)境允許波形應用與所述無線電電路一起操作以便發(fā)送和接收語音和數(shù)據(jù);以及處理器,包括事件排序器,用于控制所述無線電電路中事件的序列和定時。
2. 根據(jù)權(quán)利要求1所述的軟件無線電設(shè)備,其中,所述事件排 序器或者包括用于將一系列事件依次保持的事件隊列,或可以以任何 順序存取的用于保持事件的事件內(nèi)容可尋址存儲器(CAM)(事件 CAM),或者包括相互連接的能夠相互饋送的事件隊列和事件CAM 的組合。
3. 根據(jù)權(quán)利要求2所述的軟件無線電設(shè)備,其中包含在事件隊 列或事件CAM中的每個事件包括事件標簽,所述事件標簽具有用于 識別將要運行的事件程序的值。
4. 根據(jù)權(quán)利要求1所述的軟件無線電設(shè)備,其中所述事件排序 器包括時間比較器,用于使事件在預先選擇的時間觸發(fā)。
5. 根據(jù)權(quán)利要求1所述的軟件無線電設(shè)備,其中所述事件排序 器包括事件程序處理器,用于確定將要運行的事件程序。
6. 根據(jù)權(quán)利要求1所述的軟件無線電設(shè)備,還包括調(diào)制解調(diào)器 控制電路,其中,所述事件排序器可用于協(xié)同所述無線電電路和所述 調(diào)制解調(diào)器控制電路的配置。
7. —種用于控制軟件定義無線電設(shè)備的無線電電路中事件定時 的方法,所述方法包括載入波形應用,所述波形應用程序與所述無線電電路一起操作用 于發(fā)送和接收語音和數(shù)據(jù);以及通過事件排序器控制所述無線電電路中事件的定義和排序,所述 事件排序器包含在現(xiàn)場可編程門陣列(FPGA)中并且可以與所述無線電電路一起操作。
8. 根據(jù)權(quán)利要求7所述的方法,還包括將一系列事件依次保持 在所述事件排序器的事件隊列中。
9. 根據(jù)權(quán)利要求8所述的方法,還包括通過讀取所述事件排序 器中事件標簽的值來識別將要載入的事件程序。
10. 根據(jù)權(quán)利要求7所述的方法,還包括形成包含所述無線電電 路的便攜式無線通信設(shè)備。
全文摘要
一種軟件定義無線電設(shè)備,包括無線電電路和可執(zhí)行無線電軟件系統(tǒng),可執(zhí)行無線電軟件系統(tǒng)可以與無線電電路一起操作并且定義了一個操作環(huán)境,所述操作環(huán)境允許波形應用與所述無線電電路一起操作以便發(fā)送和接收語音和數(shù)據(jù)。諸如現(xiàn)場可編程門陣列(FPGA)的處理器可與所述無線電電路一起操作,且包括用于控制無線電電路中事件序列和定時的事件排序器。
文檔編號G06F17/50GK101416190SQ200780007773
公開日2009年4月22日 申請日期2007年1月18日 優(yōu)先權(quán)日2006年1月30日
發(fā)明者D·亨特爾伯格, L·帕倫, W·B·亨特 申請人:哈里公司