0 引言
WCDMA支持高速率傳輸,并且同時滿足不同速率和質量要求的業務復用。這就要求信道編解碼模塊必須采用一種靈活的業務復用方案,高效、動態的進行多信道處理。而由于終端設備在功耗、實時性及存儲要求等方面的特殊性,使整個系統的實現變得更加復雜。
隨著DSP處理器和大規模FPGA技術在近些年的高速發展,DSP+FPGA的硬件架構能完全支持上述這些復雜技術的實現。但由于該硬件架構需要相應的軟件支持才能發揮它們的性能,所以尋求一種有效的軟件方案是實現整個信道編解碼模塊的關鍵。本文結合WCDMA一幀多時隙[3]的特點,給出了一種基于時隙來靈活調度各處理模塊的中斷任務處理方案,該方案充分發揮DSP在任務實時調度方面的優勢,使整個系統的硬件資源得到最大的利用,執行效率得到盡可能的提升,并且系統功耗在一定程度上能得到有效降低。
1 WCDMA終端側信道編解碼的描述
終端側信道編解碼模塊包含上行編碼復用鏈路和下行解碼復用鏈路。
根據3GPP TS25.212協議,WCDMA系統上行鏈路復用和信道編碼的過程為:傳輸塊經過CRC校驗后進行信道編碼,編碼后的數據進行第一次交織和速率匹配,然后對多個傳輸信道的數據復用并進行第二次交織,最后映射到相應的物理信道。如果進行多碼傳輸,則在傳輸信道復用以后還需進行物理信道的數據分割。
每個數據塊集從上層到達傳輸信道的時間間隙(TTI)上都附有相關的處理參數(TFI)。信道編解碼模塊根據TFI的信息查表計算出關于從CRC開始到速率匹配的各個環節的處理參數。當有多個傳輸信道復用到物理信道時,物理層對不同傳輸信道的TFI信息進行排序得到傳輸格式組合(TFCI),它描述了各個傳輸信道的復用關系。同時經過速率匹配的多個傳輸信道的數據按照TFCI進行相應的串行復用處理,組成一個編碼合成傳輸信道(CCTrCH),并進行第二次交織后把CCTrCH映射到物理信道。
下行鏈路的解碼復用鏈和上行鏈路的復用鏈結構大致相同,只是對應上行鏈路每個編碼模塊,下行鏈路都提供一種相應的逆處理模塊。與上行鏈路不一致的是速率匹配模塊和無線幀合并模塊所處的位置不同于上行鏈路,并增加了固定或可變比特位置的DTX處理。
2 基于時隙的任務調度研究
本文給出的基于時隙的任務調度方案是基于DSP+FPGA的硬件架構之上。DSP實現任務的控制與調度,FPGA完成各處理子模塊的具體實現,并且這些模塊為各信道所共享。
2.1 基于時隙的任務調度方案原理描述
根據WCDMA信道編解碼的協議說明,信息流分成為多個傳輸塊以TTI周期為單位進行發送和接受,整個信息流的處理由DSP根據接受的中斷觸發不同的任務來完成。在本方案*采用兩個DSP中斷:一個是時隙(Slot)中斷,中斷周期為667us;另一個是幀(Frame)中斷,中斷周期為10ms。兩個中斷有不同的優先級,時隙中斷的優先級高于幀中斷。本文基于時隙的任務調度方案就是以這兩個中斷為參考,周期性的定位出時隙任務。
時隙中斷的主要任務是通過中斷觸發將10ms分為15等分,每次中斷根據上下行編解碼流程的不同環節,調度運行FPGA中不同的功能子模塊,對于在一個577us時間內不能完成的功能子模塊,監控其運行的狀態以控制整個流程的運行。幀中斷的任務就是通過中斷觸發,周期性地把一個TTI周期以10ms幀為單位進行劃分。
2.2 WCDMA終端側編解碼模塊執行機制
在一個TTI周期為10ms的通路中上行編碼各階段所占用的時隙分配如表1。該TTI周期所需的信道編碼參數在該slot 0確定,并且由傳輸格式半靜態參數和動態參數計算出Turbo或卷積的編碼參數和速率匹配參數。
表1 WCDMA終端側上行編碼鏈路流程時隙分配
Slot 1-Slot 11進行多個信道的卷積編碼或Turbo編碼,多個信道共享Turbo編碼器和卷積編碼器,DSP在每個slot中斷查詢編碼器的狀態,當有編碼器處于空閑狀態并且有信道需要進行編碼時,DSP調度編碼器為該信道服務。
Slot 12-slot 13進行第一次交織和速率匹配,第一次交織有三個獨立的模塊,可以同時進行三個信道的交織,DSP根據各個信道的處理流程控制使用。
Slot 14進行CCTrCH的復用和第二次交織。
當上行傳輸信道TTI不等于10ms時,上行處理流程有些變化。TTI中的第一幀按照表1進行相關流程動作,在TTI后面的幾幀中,由于CRC校驗和Turbo編碼或卷積編碼已經在第一幀中完成,所以只要進行第一次交織與速率匹配、第二次交織與信道復用。
在一個TTI等于10ms的下行鏈路中,解碼各階段所占用的時隙分配如表2。各時隙的執行調度機制與上行編碼鏈路類似。
表2 WCDMA終端側下行解碼鏈路流程時隙分配
當TTI不等于10ms時, 首先在TTI中的第一幀中必須進行參數計算與內存分配,然后在TTI的前面幾幀中進行第二次解交織與信道解復用、第一次解交織與速率匹配,在該TTI最后的一幀中才進行Viterbi解碼或Turbo解碼,以及CRC校驗和數據輸出。
在整個上下行鏈路并行處理的過程中,由于各子處理單元是通過FPGA模塊化實現的,某一時刻未被調用的子模塊,DSP都將關閉它們的時鐘,使其處于休眠狀態,當它們被再一次調用時,DSP重新啟動時鐘。這樣通過節省各模塊的執行時間使系統功耗得到降低。
3 方案實現與性能測試
在實現過程中我們采用以TEAK[5]為內核的DSP處理芯片,這一方面有利于最后ASIC的集成,另外作為一款32位的處理器,它具有靈活多樣的尋址方式,提供巨大的處理能力。FPGA采用Xilinx公司的VirtexII XC2V6000[6],它具有豐富的資源,強大的輸入輸出能力。
根據本方案針對這個系統所提出的流程結構和執行機制,本文列出了上行鏈路的數據處理流程圖(見圖1)。根據上行數據處理的特點,將整個上行鏈路的信道解碼過程分割為三個主要環節:卷積編碼或TURBO編碼、第一次交織和第二次交織。經過CRC處理的數據塊根據TFCI的編碼方式分別輸入給卷積編碼器或者TURBO編碼器;經編碼后的數據寫入第一次交織器輸入緩沖區,第一次交織器有3個獨立的模塊,可以同時進行三路傳輸信道的交織。在把數據從第一次交織輸出緩沖區寫入第二次交織輸入緩沖區的過程完成了CCTrCH的復用。
圖1 WCDMA終端側信道編解碼上行鏈路信號流圖
FPGA完成信道解碼中的各個具體模塊的實現,并且每個功能模塊提供相應的控制接口。DSP通過這些控制接口對各硬件模塊進行參數配置、任務調度,從而控制多個下行傳輸信道的解碼過程,并能夠最大限度的調度各個功能模塊為多個傳輸信道服務,這樣實現了各個功能模塊為多個傳輸信道所共享,提高同時處理多路下行信道的能力。整個流程充分考慮到了DSP和FPGA各自的優缺點,通過軟硬件的相互配合,協同處理來提高整個系統的性能。
下行鏈路和上行類似,DSP完成任務調度和模塊配置,FPGA完成下行各解碼子模塊的具體實現。
最后,我們采用對兩種業務進行復用來實現平臺的環回測試。整個平臺通過把上行鏈路的第二次交織輸出緩沖區與下行鏈路的第二次解交織輸入緩沖區進行連接,實現上行編碼鏈路和下行解碼鏈路的環回。兩個業務中一個是速率為12.2kbps,TTI為20ms,采用卷積編碼的低速率話音業務;一個是速率為384kbps,TTI為10ms,采用Turbo編碼的高速率業務。整個測試過程連續進行了兩個小時,結果語音環回聲音清晰,高速率數據環回測試誤碼率小于10e-6,這樣的結果完全滿足了3GPP所規定的實現要求。
測試表明本方案不僅在高速率業務的處理上符合規范要求,而且對不同類型的業務復用處理有較強的適應能力,達到了WCDMA的基本性能要求。同時,由于在運行過程中對空閑子模塊采用了休眠處理,使整個系統模塊在運行過程中大大降低功耗,充分考慮了移動終端的特殊要求。
4 結束語
通過靈活調度業務復用中各個環節的處理子模塊,本文提出的基于時隙的任務調度方案實現了WCDMA終端側信道編解碼的處理。作為一個ASIC的驗證平臺,利用本方案,可以降低系統的功耗,增加模塊的可擴展性,從而更有利于系統的開發和維護。
評論
查看更多