PRMA協(xié)議的無線網(wǎng)絡(luò)控制芯片設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
PRMA多址接入?yún)f(xié)議就是一種以時(shí)分多址為基礎(chǔ),結(jié)合話音的統(tǒng)計(jì)模型有效提高系統(tǒng)容量的一種方法。PRMA協(xié)議是G00dman等學(xué)者早在1989年提出的。伴隨著第三代移動(dòng)通信技術(shù)的發(fā)展,PRMA協(xié)議又一次獲得了人們的關(guān)注,其與CDMA的聯(lián)合多址技術(shù),即CDMA/PRMA多址接入?yún)f(xié)議,使系統(tǒng)容量得到明顯提高。
1 PRMA協(xié)議介紹
PRMA(Packet Reservation Multiple Access)協(xié)議,即分組預(yù)約多址協(xié)議,是利用人們?cè)谕ㄔ掃^程中的空閑期來增加系統(tǒng)容量的。據(jù)統(tǒng)計(jì),人們?cè)谕ㄔ掃^程中,傳輸話音的帶寬占總帶寬的35%~50%,另外約50%的帶寬都是空閑的。PRMA 協(xié)議的內(nèi)容是將時(shí)間軸分為時(shí)隙,若干個(gè)時(shí)隙組成一幀。每一幀中的時(shí)隙被分為兩類:一類是被預(yù)約的時(shí)隙,另一類是可用的空閑時(shí)隙。時(shí)隙的類別是根據(jù)在時(shí)隙末尾接收到的基站應(yīng)答信息來確定的。每個(gè)移動(dòng)臺(tái)在話音突發(fā)開始時(shí),采用ALOHA協(xié)議來競(jìng)爭(zhēng)可用的空閑時(shí)隙。若移動(dòng)臺(tái)競(jìng)爭(zhēng)成功,則它就預(yù)定了后續(xù)幀中相同的時(shí)隙。在后續(xù)幀中,它將不會(huì)與其它移動(dòng)臺(tái)的分組發(fā)生碰撞。當(dāng)一個(gè)話音突發(fā)傳輸結(jié)束后,該移動(dòng)臺(tái)將釋放預(yù)約的時(shí)隙,使該時(shí)隙從預(yù)約狀態(tài)變成可用狀態(tài)。釋放的方法就是在預(yù)約的時(shí)隙內(nèi)不傳輸任何信息,基站檢測(cè)到該空閑時(shí)隙后,就會(huì)指明該時(shí)隙為可用時(shí)隙。圖1是PRMA系統(tǒng)的工作示例。
圖1中,各時(shí)隙內(nèi)的Rx表示該時(shí)隙已經(jīng)被節(jié)點(diǎn)x預(yù)約,而I表示該節(jié)點(diǎn)還未被預(yù)約。對(duì)于每一個(gè)時(shí)隙,如果有兩個(gè)或兩個(gè)以上的節(jié)點(diǎn)同時(shí)發(fā)送,那么在基站處必然導(dǎo)致碰撞發(fā)生,如第I幀的時(shí)隙2。如果發(fā)送終端處標(biāo)記為“一”,則表示相應(yīng)的時(shí)隙是空閑的,沒有節(jié)點(diǎn)發(fā)送信息。由圖1可見,在第I幀,時(shí)隙2處,節(jié)點(diǎn)6、4碰撞,基站無法識(shí)別信息,因而節(jié)點(diǎn)6和4收不到基站的應(yīng)答,所以預(yù)約第I+1幀的時(shí)隙2沒有成功。在第I幀的時(shí)隙3處,節(jié)點(diǎn)3沒有發(fā)送信息,表示節(jié)點(diǎn)3要釋放該時(shí)隙,因此第I+1幀的時(shí)隙3不再處于預(yù)約狀態(tài)。節(jié)點(diǎn)6和4在第I+1幀的時(shí)隙3和4分別接入成功,并且預(yù)約了第I+2幀的時(shí)隙3和4。
經(jīng)過仿真分析,如果物理信道總數(shù)為20,即l幀被時(shí)分為20個(gè)時(shí)隙,采用PRMA協(xié)議后,系統(tǒng)可容納的用戶總數(shù)最多可達(dá)37個(gè)。然而,若只采用TDMA協(xié)議,最多可容納的用戶數(shù)是20個(gè),系統(tǒng)容量得到明顯提高。
CDMA/PRMA協(xié)議的基本思想與PRMA協(xié)議類似,只是在cDMA/PRMA協(xié)議中,基站無法檢測(cè)到碰撞事件的發(fā)生,基站只能根據(jù)多址干擾,即MAI,來判斷信道狀態(tài)并確定是否允許時(shí)隙的預(yù)約。這樣,在每個(gè)時(shí)隙里,系統(tǒng)所允許的用戶數(shù)不再是一個(gè),而是多個(gè)(如5~7個(gè))。當(dāng)然,各用戶采用的碼字必須不同。
2 PRMA專用控制芯片的設(shè)計(jì)
2.1 處理器的選擇
顯然,實(shí)現(xiàn)PRMA協(xié)議幾乎不需要什么復(fù)雜的算法,而主要依靠程序的控制,因此選擇單片機(jī)。在系統(tǒng)中,由于信道的通信速率較高,如幾百Kbps,單片機(jī)是不能勝任的,因此,選用了32位的嵌入式處理器。嵌入式處理器有很多種,但是處理內(nèi)核主要有以下4種:MIPs內(nèi)核(64位)、ColdFire內(nèi)核、PowerPC內(nèi)核和ARM內(nèi)核。
PowerPC處理器由于其較強(qiáng)的處理能力,在電信級(jí)的高端產(chǎn)品中應(yīng)用較多;而ARM處理器由于其優(yōu)異的功耗性能,因此在便攜式設(shè)備中應(yīng)用廣泛。圖2是幾款處理器的性能對(duì)比.(該圖引自EEMBC總裁Markus Levy的文章。)
圖2中,條狀圖對(duì)應(yīng)的單位是Telemark。該單位的含義與傳統(tǒng)衡量處理器處理能力的單位Dhrystone的含義類似,是對(duì)處理器處理能力的一種定義。曲線的單位則是Telemark對(duì)功率的歸一化,即Telemark/mW。顯然,MPC7455的絕對(duì)處理能力是最強(qiáng)的,但是考慮到功耗后,ARMl020E的性能顯然是最優(yōu)的。我們最終選用的是ARM9處理器。
考慮到與傳輸系統(tǒng)的接口以及對(duì)接入系統(tǒng)的調(diào)試方便,設(shè)計(jì)中除了實(shí)現(xiàn)PRMA協(xié)議外,還包括基帶收發(fā)系統(tǒng)。顯然,基帶收發(fā)系統(tǒng)應(yīng)該使用FPGA實(shí)現(xiàn)。這樣,設(shè)計(jì)可采用如下兩種方案:方案①,擴(kuò)展的FPGA器件掛接在ARM處理器的外部擴(kuò)展總線上;方案②,選用A1tera公司的SoPC系統(tǒng)。
SoPC系統(tǒng),即可編程片上系統(tǒng),將處理器內(nèi)核與FPGA集成于一體。目前,ALtera公司的SoPC系統(tǒng)主要有兩類:一類是硬核SoPC系統(tǒng),另一類是軟核SoPC系統(tǒng)。硬核SoPC系統(tǒng)采用的是ARM處理器。該處理器固化在芯片內(nèi),是不能被重新加載的。軟核SoPC系統(tǒng)采用的是Altera公司的N10s或N10S.II內(nèi)核。該內(nèi)核在每次上電或復(fù)位時(shí)與FPGA內(nèi)部的邏輯電路一起重新加載。采用SoPc系統(tǒng)的好處在于用戶可根據(jù)實(shí)際需要在FPGA內(nèi)部添加外圍設(shè)備,方便系統(tǒng)設(shè)計(jì)。同時(shí),Altera公司免費(fèi)提供一些常用外圍設(shè)備的IP核,如:網(wǎng)卡控制器、串口控制器、USB控制器等等。通過使用Altera的QUARTUS-II和SoPC開發(fā)軟件,可以在soPc系統(tǒng)上輕松地構(gòu)建專用控制芯片。
另外,在SoPC系統(tǒng)內(nèi),處理器內(nèi)核與FPGA間采用標(biāo)準(zhǔn)系統(tǒng)總線,如上述硬核soPc系統(tǒng)內(nèi)部采用的是ARM公司的AMBA-AHB總線。這樣,處理器和FPGA間的數(shù)據(jù)交換速率要比上述方案①快許多。在我們的設(shè)計(jì)中,采用了Altera公司的EXPAl處理器。該處理器的內(nèi)核為ARM922T。
2.2 PRMA協(xié)議的實(shí)現(xiàn)
2.2.1 幀結(jié)構(gòu)的設(shè)計(jì)
根據(jù)系統(tǒng)要求,采用TDD的雙工方式,每幀設(shè)置20個(gè)時(shí)隙,每時(shí)隙分為上行和下行兩個(gè)微時(shí)隙;系統(tǒng)采用上下行對(duì)稱鏈路,信道傳輸速率為512kbps,每個(gè)微時(shí)隙內(nèi)共有256位。幀及上行時(shí)隙結(jié)構(gòu)如圖3所示。
圖3中,ux為上行時(shí)隙;Dx為下行時(shí)隙;TB為發(fā)信機(jī)輸出功率上升下降保護(hù)時(shí)間; Raddr為接收臺(tái)地址; Tx—addr為發(fā)射臺(tái)地址;Control為控制比特;Pay load為業(yè)務(wù)負(fù)載;GP為保護(hù)間隔; TR為收發(fā)轉(zhuǎn)換時(shí)間。
與TDMA多址接入技術(shù)不同,PRMA是一種面向分組的多址接入技術(shù),因此,分組頭的開銷是不可避免的。由圖3可見,收發(fā)地址域分別有6位,因此網(wǎng)絡(luò)最多可識(shí)別64個(gè)用戶。顯然,這樣的網(wǎng)絡(luò)容量是遠(yuǎn)遠(yuǎn)不夠的。如果采用IPV4的尋址方式,網(wǎng)絡(luò)容量雖可以達(dá)到要求,但是收發(fā)地址域就要占用64位的開銷,這是無法接受的。因此,對(duì)分組頭的壓縮是必須設(shè)法解決的問題。
根據(jù)理論仿真結(jié)果,一個(gè)基站最多可以同時(shí)接入37個(gè)用戶通信,因此,6位的地址識(shí)別域?qū)τ谝粋€(gè)小區(qū)而言是足夠的。在網(wǎng)絡(luò)中,當(dāng)一個(gè)移動(dòng)臺(tái)發(fā)起呼叫或被呼時(shí),該小區(qū)的基站首先將其在全網(wǎng)內(nèi)的唯一識(shí)別地址(如IPv4地址)寫入自己的數(shù)據(jù)庫(kù)中,同時(shí)為其分配一個(gè)本小區(qū)內(nèi)唯一的臨時(shí)地址(6位)。移動(dòng)臺(tái)與基站通信時(shí),使用6位的臨時(shí)地址,當(dāng)分組進(jìn)入支撐網(wǎng)絡(luò)后,則使用全網(wǎng)內(nèi)的唯一地址。地址碼的轉(zhuǎn)換在基站處完成。
控制域共有4位,由左到右,分別將其標(biāo)記為C.0、C.1、C.2和C.3。在上行信道中,用C.0和C.1標(biāo)記該時(shí)隙為業(yè)務(wù)時(shí)隙,如C.0C.1=00.C.2和C.3則預(yù)留給以后的功能擴(kuò)展。
下行信道的時(shí)隙結(jié)構(gòu)與上行信道的時(shí)隙結(jié)構(gòu)基本相同,只是控制域的含義不同。C.0表示上行信道接入的分組是否正確,C.1表 示是否預(yù)約下一幀的該時(shí)隙。C.2和C.3預(yù)留給以后的功能擴(kuò)展。
由于信道速率為512kbps,因此6位的保護(hù)時(shí)間最多可以提供3.5km的傳播時(shí)延保護(hù)。
2.2.2 網(wǎng)絡(luò)同步的設(shè)計(jì)
在每個(gè)超幀里,設(shè)置一個(gè)專用的同步廣播信道,基站利用該信道廣播一個(gè)特定的同步訓(xùn)練序列。當(dāng)移動(dòng)臺(tái)進(jìn)入基站的服務(wù)區(qū)時(shí),即可檢測(cè)到該同步訓(xùn)練序列,完成開環(huán)同步。
當(dāng)移動(dòng)臺(tái)發(fā)起呼叫時(shí),首先向基站發(fā)出隨機(jī)接入分組。隨機(jī)接入突發(fā)的時(shí)隙格式如圖4所示。Rx_addr標(biāo)記為基站地址,如全網(wǎng)定義地址“000000”為所有基站的空中接口地址,而在支撐網(wǎng)絡(luò)內(nèi),各基站使用全網(wǎng)唯一的IPv4地址。控制域的C.0和C.1設(shè)置為“01”,指示該分組為接入突發(fā)分組。Pay_load域只使用48位。該信息為主呼臺(tái)的全網(wǎng)唯一地址(附有1 6位的校驗(yàn)保護(hù))。Pay 10ad域的其它位合并給GP域。
當(dāng)基站接收到隨機(jī)接入突發(fā)后,將Rx_MAC_addr記錄入數(shù)據(jù)庫(kù)中,為其分配一個(gè)本小區(qū)內(nèi)的6位地址。同時(shí),基站根據(jù)接收到的訓(xùn)練序列相關(guān)峰的位置可以計(jì)算出移動(dòng)臺(tái)與其的傳播時(shí)延。將上述兩信息在隨后的下行信道中一同發(fā)給主呼移動(dòng)臺(tái),完成網(wǎng)絡(luò)的閉環(huán)同步。
2.2.3 時(shí)隙狀態(tài)寄存器的設(shè)計(jì)
在PRMA系統(tǒng)中,每一個(gè)時(shí)隙有兩種狀態(tài),即可用狀態(tài)和預(yù)約狀態(tài)。當(dāng)節(jié)點(diǎn)還沒有預(yù)約到信道時(shí),它只能在可用時(shí)隙處競(jìng)爭(zhēng);當(dāng)節(jié)點(diǎn)預(yù)約到信道后,它不能再去競(jìng)爭(zhēng)信道,只能在自己的預(yù)約信道上傳輸數(shù)據(jù)。因此,每個(gè)節(jié)點(diǎn)對(duì)時(shí)隙狀態(tài)的準(zhǔn)確跟蹤和識(shí)別是全網(wǎng)正確工作的基礎(chǔ)。時(shí)隙狀態(tài)寄存器就是起到這樣的作用。圖5是系統(tǒng)的時(shí)隙
Idle狀態(tài)即該時(shí)隙還未被預(yù)約,預(yù)約(Resetred)狀態(tài)表示該時(shí)隙已被預(yù)約。每個(gè)接入節(jié)點(diǎn)要跟蹤每一個(gè)下行信道,分析控制域的C.1位,判斷該時(shí)隙在下一幀的狀態(tài),完成時(shí)隙狀態(tài)的跟蹤。在每一個(gè)上行信道起始處,各接入節(jié)點(diǎn)判斷當(dāng)前時(shí)隙的狀態(tài),以決定是否發(fā)送分組。
時(shí)隙狀態(tài)寄存器為每一個(gè)時(shí)隙保留3位空間。我們定義:“000”表示信道空閑;“001”表示信道被其它節(jié)點(diǎn)預(yù)約;“Oll”表示信道被本節(jié)點(diǎn)預(yù)約。其它狀態(tài)預(yù)留給以后的功能擴(kuò)展。
2.2.4 分組緩存的設(shè)計(jì)
話音是對(duì)時(shí)延有嚴(yán)格要求的業(yè)務(wù)。在系統(tǒng)中,采用的話音編碼器每20ms輸出1個(gè)分組,話音時(shí)延最大不能超過40ms。顯然,每個(gè)節(jié)點(diǎn)設(shè)置2個(gè)語(yǔ)音分組緩存就足夠了。我們將這兩個(gè)語(yǔ)音分組緩存分別標(biāo)記為VB1和VB2。
如果VBl和VB2已滿,假設(shè)VBl中的分組為競(jìng)爭(zhēng)接入的分組,VB2中的分組為排隊(duì)等待分組。這時(shí)第三個(gè)語(yǔ)音分組到達(dá),那么該分組就直接緩存在VB1中,第一個(gè)語(yǔ)音分組被丟棄掉,同時(shí)VB2中的分組成為競(jìng)爭(zhēng)接入分組。
2.2.5 分組緩存狀態(tài)寄存器的設(shè)計(jì)
如上所述,每個(gè)分組緩存可能是空的,也可能已被占用,其中的分組可能是接入分組,也可能是等待分組,還有可能被丟棄掉。因此,要對(duì)分組緩存的狀態(tài),包括其緩存分組的狀態(tài)予以跟蹤。圖6為分組緩存狀態(tài)轉(zhuǎn)移圖,圖7為緩存狀態(tài)寄存器的結(jié)構(gòu)。
圖6、7中,Bs為緩存狀態(tài)位,“1”表示緩存已滿,“0”表示緩存空閑,即Idle。As為接入狀態(tài)位,“1”表示當(dāng)前分組為接入分組,“0”表示當(dāng)前分組為等待分組。Drop Counter為丟棄計(jì)數(shù)器。當(dāng)Bs=l后,每個(gè)時(shí)隙到達(dá)時(shí),Drop Counter計(jì)數(shù)器就累加1。當(dāng)DropCounter累加到門限值時(shí),當(dāng)前分組就被丟棄掉,緩存恢復(fù)為Idle狀態(tài)。當(dāng)然,系統(tǒng)還需要一個(gè)寄存器存儲(chǔ)分組丟棄門限值(drop threshold)。
2.2.6 幣點(diǎn)狀態(tài)寄存器
綜上所述,接入節(jié)點(diǎn)的狀態(tài)可能是空閑狀態(tài)(即Idle,無等待分組傳輸)、競(jìng)爭(zhēng)狀態(tài)(即:Compete,有分組等待傳輸,但還未預(yù)約到信道)及預(yù)約狀態(tài)(即Reserve,有分組等待傳輸且已經(jīng)預(yù)約到信道)。接入節(jié)點(diǎn)的狀態(tài)轉(zhuǎn)移如圖8所示。
由于衰落、噪聲和干擾等因素的存在,無線信道是極不可靠的,常常產(chǎn)生誤比特,有時(shí)甚至出現(xiàn)誤幀的情況。當(dāng)節(jié)點(diǎn)處于預(yù)約狀態(tài)時(shí),由于上傳的分組錯(cuò)誤較多,基站無法識(shí)別該分組,那么隨后的下行信道就會(huì)空閑,該節(jié)點(diǎn)就丟棄了對(duì)該時(shí)隙的預(yù)約權(quán),由預(yù)約狀態(tài)轉(zhuǎn)移為競(jìng)爭(zhēng)狀態(tài)。
圖8中,Wp表示等待分組的數(shù)目,在目前的系統(tǒng)中可取0、1、2三個(gè)數(shù)值。C.0是下行信道控制域的第0位。節(jié)點(diǎn)狀態(tài)寄存器只需占用2位,區(qū)分節(jié)點(diǎn)的上述3種狀態(tài)。
2.2.7 節(jié)點(diǎn)的行為
時(shí)隙狀態(tài)、緩存狀態(tài)和節(jié)點(diǎn)狀態(tài)的轉(zhuǎn)移都發(fā)生在由Dx到U(x+1)的收發(fā)轉(zhuǎn)換時(shí)間(TR)處。無論U(x+1) 處是否發(fā)送了分組,節(jié)點(diǎn)都要分析Dx處基站發(fā)出的分組頭,刷新時(shí)隙狀態(tài)。另外,處理器還要檢測(cè)高層是否有語(yǔ)音分組發(fā)給自己,刷新Wp及緩存狀態(tài),如果Drop Cou“ter數(shù)值已經(jīng)達(dá)到Drop Threshold時(shí),相應(yīng)的分組應(yīng) 該被丟棄掉,置Bs位為0。結(jié)合Dx處下行分組的C.0位 及Wp值,節(jié)點(diǎn)狀態(tài)發(fā)生相應(yīng)的改變。
在每個(gè)上行時(shí)隙Ux前,節(jié)點(diǎn)首先判斷時(shí)隙x的狀 態(tài)。如果該時(shí)隙被其它節(jié)點(diǎn)預(yù)約,則節(jié)點(diǎn)等待;如果該 時(shí)隙被自己預(yù)約,則準(zhǔn)備傳輸,假如此時(shí)緩存已經(jīng)為空,即節(jié)點(diǎn)已經(jīng)處于空閑狀態(tài),那么Ux將空閑,節(jié)點(diǎn)釋放對(duì)x時(shí)隙的預(yù)約權(quán);如果該時(shí)隙未被預(yù)約,且節(jié)點(diǎn) 處于競(jìng)爭(zhēng)狀態(tài),那么節(jié)點(diǎn)將準(zhǔn)備競(jìng)爭(zhēng)該時(shí)隙。
2.2.8基帶收發(fā)器
由于PRMA是全網(wǎng)同步系統(tǒng),因此需要高穩(wěn)定度高精度的時(shí)鐘源。實(shí)際中,我們采用了16.384MHz、O.1×1 0-6時(shí)鐘源。由于分組在VBx中并不包含信道需要的訓(xùn)練序列和TB時(shí)間等,因此在串并轉(zhuǎn)換器與發(fā)送緩存間加入了輸出控制模塊。同樣,接收到的數(shù)據(jù)通過輸入控制后,將訓(xùn)練序列等物理層的協(xié)議開銷就屏蔽掉,進(jìn)入接收緩存的數(shù)據(jù)是PRMA接入控制系統(tǒng)所需要的數(shù)據(jù),如圖9所示。
EXPA 1系統(tǒng)的內(nèi)部總線采用的是ARM公司的AHB總線。該總線通過橋按器與FPGA相連。我們?cè)贔PGA內(nèi)部設(shè)計(jì)的AHB SLAVE接口(AHB從接口)就是與該橋接器相連,完成AHB橋接器與FPGA數(shù)據(jù)交換的功能。
3 幾點(diǎn)說明
上述內(nèi)容是針對(duì)PRMA系統(tǒng)中移動(dòng)節(jié)點(diǎn)側(cè)接入控制芯片的討論。由于篇幅的限制,關(guān)于基站側(cè)接入系統(tǒng)的設(shè)計(jì)不再論述。
通過實(shí)驗(yàn)測(cè)試,系統(tǒng)可以完成PRMA的功能要求,而且進(jìn)行一些改進(jìn)后,系統(tǒng)性能可以得到提高。例如:在上行分組的Control域內(nèi)利用C.3位向基站指示下一幀的該時(shí)隙是否繼續(xù)預(yù)約,這樣就可以減少信道空閑造成的浪費(fèi)。
由于使用了SoPC芯片,因此在系統(tǒng)上不需要太多的外設(shè)開銷,系統(tǒng)設(shè)計(jì)十分精簡(jiǎn)。而且,如果使用更大容量的SoPC芯片,如EXPA4或EXPA10,那么完全可以將中頻部分也集成于該芯片內(nèi)。