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