專利名稱:一種使用硬件產(chǎn)生擴(kuò)頻碼的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于擴(kuò)頻通信的收發(fā)信機(jī)領(lǐng)域,具體來說是一種擴(kuò)頻碼實(shí)現(xiàn)的方法和裝置,尤其涉及一種使用硬件實(shí)現(xiàn)擴(kuò)頻碼產(chǎn)生的方法和裝置。
在碼分多址移動通信系統(tǒng)中,使用互相正交的擴(kuò)頻碼來區(qū)分不同的信道,同時碼分多址移動通信系統(tǒng)能夠靈活地支持可變速率的業(yè)務(wù),即每個信道所承載的業(yè)務(wù)速率在一定的范圍內(nèi)是可變的,這就要求擴(kuò)頻碼在通信的過程中應(yīng)該是隨著承載業(yè)務(wù)速率變化而不斷變化的。
在現(xiàn)有方法中一般采用軟件的方法實(shí)現(xiàn)擴(kuò)頻碼的產(chǎn)生,然后存放在RAM中,供擴(kuò)頻電路讀取。采用這種方法,需要使用一塊RAM儲存所有的擴(kuò)頻碼,這就需要很大的RAM空間。比如在WCDMA中,下行鏈路的發(fā)送端需要一塊512×512Bit的RAM。
如果每個用戶分配一塊RAM,這將非常不合理,需要配備相當(dāng)數(shù)量的RAM,導(dǎo)致資源極大浪費(fèi);如果考慮所有用戶共用一塊RAM,就需要設(shè)計比較復(fù)雜的外圍電路來控制這種共享,比如要考慮如何同時接收并處理很多用戶的請求信號,如何同時分配有限的輸出端口給很多用戶等等問題;在共用一塊RAM的時候,如果把該RAM放在現(xiàn)場可編程門陣列(FPGA)的芯片內(nèi)部,也將帶來一個非常大的開銷(比如WCDMA的下行鏈路發(fā)送端需要256kBit芯片內(nèi)部RAM);倘若把RAM放在芯片的外部,由于RAM要和芯片進(jìn)行通信,使得上述外圍電路的問題更加復(fù)雜,比如需要考慮如何在RAM和芯片之間有限的外部端口上進(jìn)行有效的通信,等等。
本發(fā)明的目的在于,所提供的方法和裝置可以使用硬件資源方便靈活地產(chǎn)生擴(kuò)頻碼,擴(kuò)頻碼可以由硬件即時產(chǎn)生,并且隨著擴(kuò)頻碼的改變(在承載變速率業(yè)務(wù)的時候)而即時改變,無需設(shè)計復(fù)雜的電路就可以非常方便地輸出,提供給擴(kuò)頻運(yùn)算。
采用本發(fā)明所述方法產(chǎn)生擴(kuò)頻碼,不需要占用很大RAM,因此省去了由于RAM的介入帶來的復(fù)雜控制電路;同時,還可以根據(jù)不同的需要即時生成擴(kuò)頻碼,當(dāng)需要對擴(kuò)頻碼做出改變時,毋須中斷擴(kuò)頻運(yùn)算,即可實(shí)現(xiàn)有效改變。
本發(fā)明是這樣實(shí)現(xiàn)的,硬件產(chǎn)生擴(kuò)頻碼的方法包括以下步驟a)根據(jù)系統(tǒng)高層分配的擴(kuò)頻因子(SF)、擴(kuò)頻碼序號(C)以及擴(kuò)頻碼地址長度(N)生成擴(kuò)頻碼地址(ADD),所述擴(kuò)頻碼序號(C)與擴(kuò)頻碼地址(ADD)根據(jù)如下關(guān)系式一一對映ADD=C×2N/SFb)根據(jù)所述擴(kuò)頻碼地址進(jìn)行循環(huán)迭代計算,由第一時鐘控制寄存器單元串行輸出擴(kuò)頻碼。
一種使用硬件產(chǎn)生擴(kuò)頻碼的裝置,包括擴(kuò)頻碼地址生成電路和擴(kuò)頻碼生成電路,所述擴(kuò)頻碼地址生成電路包括第三時鐘和由N個寄存器組成的N位移位寄存器,所述移位寄存器根據(jù)第三時鐘信號的個數(shù),輸出擴(kuò)頻碼地址;所述擴(kuò)頻碼生成電路包括2N位寄存器單元,其中N為系統(tǒng)確定的擴(kuò)頻碼地址長度,所述第m位寄存器單元包括第m位異或門,用于進(jìn)行異或運(yùn)算,生成擴(kuò)頻碼;第m位D觸發(fā)器,用于根據(jù)第一時鐘輸出信號,置入所述異或門的運(yùn)算結(jié)果,然后通過輸出隊(duì)列串行輸出擴(kuò)頻碼。
下面,參照附圖,對于熟悉本技術(shù)領(lǐng)域的人員而言,從對本發(fā)明方法的詳細(xì)描述中,本發(fā)明的上述和其他目的、特征和優(yōu)點(diǎn)將顯而易見。
圖1為本發(fā)明的第一步驟生成擴(kuò)頻碼地址的流程圖;圖2為本發(fā)明的第二步驟生成擴(kuò)頻碼的流程圖;圖3為根據(jù)本發(fā)明第一步驟的一個所述例;圖4為根據(jù)本發(fā)明第二步驟的一個所述例;圖5為WCDMA上行鏈路中采用本發(fā)明第二步驟的一個實(shí)施例的結(jié)構(gòu)示意圖。
容易看出,本發(fā)明所述的采用硬件產(chǎn)生擴(kuò)頻碼的方法可以劃分為兩個步驟,首先是將輸入的擴(kuò)頻碼序號和擴(kuò)頻因子轉(zhuǎn)換為擴(kuò)頻碼的地址,其次是根據(jù)得到的擴(kuò)頻碼地址得到擴(kuò)頻碼。
該方法的輸入是擴(kuò)頻碼的序號(Code Number)、擴(kuò)頻因子(SF)和時鐘信號(CLK);輸出是擴(kuò)頻碼的輸出(Spreading Code);同時根據(jù)需要還可以有一些控制信號(如復(fù)位等信號)。
第一步的目的是計算擴(kuò)頻碼的地址,它和擴(kuò)頻碼的序號是一一對應(yīng)的關(guān)系,它們符合下面的計算關(guān)系式ADDspreading Code=Cspreading Code×2N/SF(1)其中,CSpreading Code代表擴(kuò)頻碼的序號,二進(jìn)制數(shù);ADDSpreading Code代表擴(kuò)頻碼的N bit有效地址,二進(jìn)制數(shù);SF為擴(kuò)頻因子;N表示系統(tǒng)決定的擴(kuò)頻碼地址長度,根據(jù)系統(tǒng)不同而取值不同。
計算式(1)實(shí)際上就是把擴(kuò)頻碼的序列號左移了(N-log2(SF))位。
結(jié)合附圖1,具體步驟如下,該流程首先從塊10初始化開始,該初始化過程包括,為接下來各步驟提供互不相同的第一、第二、第三時鐘信號,以及第一次用于比較的擴(kuò)頻碼地址,接著進(jìn)入塊11,讀取系統(tǒng)上一級高層分配的擴(kuò)頻因子(SF)以及擴(kuò)頻因子最大長度(SFMAX),與此同時在塊12讀取來自系統(tǒng)高層分配的擴(kuò)頻碼序號,接著程序進(jìn)入塊13,進(jìn)行計算,即根據(jù)N=log2(SFmsx)得到地址長度(N),塊14中根據(jù)第三時鐘對塊12讀取的擴(kuò)頻碼序號進(jìn)行移位,在塊15中通過第三時鐘對移位次數(shù)進(jìn)行計數(shù),并在每次累加計數(shù)后進(jìn)入塊16判斷計數(shù)值,如果移位次數(shù)不等于(N-log2(SF)),回到塊14,繼續(xù)根據(jù)第三時鐘信號對擴(kuò)頻碼的序號進(jìn)行移位,一旦當(dāng)移位次數(shù)達(dá)到(N-log2(SF))時,塊17輸出擴(kuò)頻碼地址。
第二步驟是承接第一步驟的,輸入擴(kuò)頻碼的地址(包含序列號和擴(kuò)頻因子的信息)和一個時鐘信號,由時鐘信號控制串行輸出擴(kuò)頻碼。
參照附圖2,第二步驟的流程從塊20根據(jù)初始化提供的第二時鐘信號,讀入擴(kuò)頻碼地址開始,接著進(jìn)入塊21,根據(jù)第一步驟得到的擴(kuò)頻碼地址,判斷該擴(kuò)頻碼地址是否與上一次的擴(kuò)頻碼地址一致,首次比較的上一次擴(kuò)頻碼地址由塊10初始化時的第一次用于比較的擴(kuò)頻碼地址提供,如果兩地址一致,回到塊20,再次讀入擴(kuò)頻碼地址,即表示業(yè)務(wù)速率等影響擴(kuò)頻碼發(fā)生改變的因素未發(fā)生變化,來自系統(tǒng)高層的擴(kuò)頻因子和擴(kuò)頻碼序號保持不變,即擴(kuò)頻碼沒有發(fā)生改變,此時不必重新生成擴(kuò)頻碼;如果不一致,進(jìn)入塊22,根據(jù)初始化提供的第一時鐘信號,將循環(huán)迭代計算得到的異或結(jié)果賦值給寄存器單元,接著在塊23中,將寄存器單元的值送入擴(kuò)頻碼輸出隊(duì)列,塊24中串行輸出擴(kuò)頻碼,最后結(jié)束程序。
需要進(jìn)一步解釋的是,循環(huán)迭代計算的方法具體如下第0位寄存器單元中的值恒為0,第m位寄存器單元中的值為第(m mod 2x)位寄存器單元的輸出與第(x-1)位擴(kuò)頻碼地址進(jìn)行異或的結(jié)果。m的取值為1到(2N-1),x的取值根據(jù)下式確定2x-1≤m<2x,取值范圍為1到N。
結(jié)合附圖3,給出本發(fā)明第一步驟方法的實(shí)現(xiàn)結(jié)構(gòu)示意圖。由于關(guān)系式(1)實(shí)際上將擴(kuò)頻碼的序號向左移位,所以采用移位寄存器來生成擴(kuò)頻碼地址。由N個寄存器組成的N位移位寄存器,其中每個移位寄存器都與第三時鐘信號線和RST信號控制線相連,RST信號控制線用來選擇移位寄存器的移位、置數(shù)或輸出三種狀態(tài),移位寄存器根據(jù)第三時鐘信號發(fā)出的信號進(jìn)行移位,LSB~MSB表示來自系統(tǒng)高層分配的擴(kuò)頻碼序號(二進(jìn)制數(shù))的低位到高位,計數(shù)器統(tǒng)計第三時鐘的個數(shù),當(dāng)時鐘的個數(shù)(即移位次數(shù))等于(N-log2(SF))時,停止移位,將移位寄存器的值并行輸出,即為擴(kuò)頻碼地址。
附圖4為實(shí)現(xiàn)本發(fā)明第二步驟的結(jié)構(gòu)示意圖,由2N位寄存器單元組成的一個串行輸出擴(kuò)頻碼電路,寄存器單元的位數(shù)從右至左,由先到后,第0位寄存器單元就是一個“0”,即高電平;第m位寄存器單元包括第m位異或門和第m位D觸發(fā)器,第m位異或門與第(m mod 2x)位寄存器單元的輸出端以及第(x-1)位移位寄存器的輸出端相連;第m位D觸發(fā)器與所述第m位異或門的輸出端相連。異或門用于進(jìn)行異或運(yùn)算,生成擴(kuò)頻碼;D觸發(fā)器用于根據(jù)第一時鐘,置入所述異或門的運(yùn)算結(jié)果,并把所述運(yùn)算結(jié)果送入擴(kuò)頻碼輸出隊(duì)列,然后通過擴(kuò)頻碼輸出隊(duì)列串行輸出擴(kuò)頻碼??梢詫?shí)現(xiàn)一邊產(chǎn)生擴(kuò)頻碼,一邊輸出擴(kuò)頻碼,進(jìn)行擴(kuò)頻運(yùn)算。其中m的范圍取1~(2N-1),x的取值滿足2x-1≤m<2x當(dāng)?shù)谝粫r鐘信號發(fā)出的第一個時鐘到來時,第0位寄存器單元的輸出已經(jīng)有效,且永遠(yuǎn)置為0,并可直接輸出;同時計算第1位輸出;在第二個時鐘到來的時候,第1位寄存器單元的輸出有效,同時計算第2位、第3位輸出;這樣,依此類推,在第x個時鐘到來的時候,計算第2x-1位到(2x-1)位的輸出;當(dāng)N個時鐘之后輸出的擴(kuò)頻碼信號達(dá)到穩(wěn)定。
圖5給出一個WCDMA上行鏈路中采用本方法產(chǎn)生擴(kuò)頻碼的較佳實(shí)施例的電原理圖。
在WCDMA上行鏈路中,擴(kuò)頻碼的最大長度為256比特,擴(kuò)頻碼地址長度是8比特。輸出信號為256bit的擴(kuò)頻碼,由第一時鐘CLK1控制串行輸出,在進(jìn)行擴(kuò)頻的時候,擴(kuò)頻碼的輸出頻率為3.84MHz。
下面結(jié)合該實(shí)施例說明如何通過寄存器實(shí)現(xiàn)擴(kuò)頻碼地址生成擴(kuò)頻碼的工作過程,其中N=Log2(SFMAX)=8。
1)讀取擴(kuò)頻碼的地址add7,…,add1,add0;2)第0位寄存器單元就是一個“0”,即高電平,同時送入擴(kuò)頻碼輸出隊(duì)列;3)第1個時鐘到來的時候,第1位寄存器單元的值為第0位寄存器單元的的值和第0位地址add0進(jìn)行異或的結(jié)果,同時送入擴(kuò)頻碼輸出隊(duì)列;4)第1個時鐘到來的時候,從擴(kuò)頻碼輸出隊(duì)列輸出擴(kuò)頻碼的第0位;5)第x個時鐘到來的時候,第m位寄存器單元的值為第(m mod 2x)位寄存器單元的值和第(x-1)位地址addx-1進(jìn)行異或的結(jié)果,其中2x-1≤m<2x,即m=2x-1~(2x-1),同時送入擴(kuò)頻碼輸出隊(duì)列;6)第x個時鐘到來的時候,從擴(kuò)頻碼輸出隊(duì)列輸出擴(kuò)頻碼的第(x-1)位;7)第8個時鐘到來的之后,全部256位(28)寄存器單元的值不會再發(fā)生改變,除非擴(kuò)頻碼地址發(fā)生改變;8)根據(jù)第一時鐘繼續(xù)從擴(kuò)頻碼輸出隊(duì)列串行輸出剩余的擴(kuò)頻碼;9)當(dāng)擴(kuò)頻碼地址發(fā)生改變,比如說擴(kuò)頻因子或者擴(kuò)頻碼序列號發(fā)生了改變(這種改變的原因可能是用戶進(jìn)行了切換或者申請的業(yè)務(wù)速率發(fā)生了改變等等),重復(fù)上述過程;由于擴(kuò)頻碼地址發(fā)生改變總是出現(xiàn)在256位擴(kuò)頻碼全部輸出的時候,因此可以實(shí)現(xiàn)一邊產(chǎn)生擴(kuò)頻碼,一邊輸出擴(kuò)頻碼,無須中斷輸出。
下面用圖表的形式給出本發(fā)明提供的方法應(yīng)用于其他系統(tǒng)的不同參數(shù)
本發(fā)明實(shí)現(xiàn)了采用硬件資源實(shí)現(xiàn)擴(kuò)頻碼的產(chǎn)生,并且能夠支持多種業(yè)務(wù)速率。在業(yè)務(wù)速率發(fā)生改變的時候,擴(kuò)頻碼也要相應(yīng)地發(fā)生變化,本發(fā)明可以對擴(kuò)頻碼進(jìn)行即時調(diào)整,提高了擴(kuò)頻設(shè)備的靈活性。
使用這種方法可以節(jié)省512×512Bit的RAM,同時可以省去比較復(fù)雜的外圍電路的設(shè)計。
前面提供了對較佳實(shí)施例的描述,以使本領(lǐng)域內(nèi)的任何技術(shù)人員可使用或利用本發(fā)明。對這些實(shí)施例的各種修改對本領(lǐng)域內(nèi)的技術(shù)人員是顯而易見的,可把這里所述的總的原理應(yīng)用到其他實(shí)施例而不使用創(chuàng)造性。因而,本發(fā)明將不限于這里所示的實(shí)施例,而應(yīng)依據(jù)符合這里所揭示的原理和新特征的最寬范圍。
權(quán)利要求
1.一種使用硬件產(chǎn)生擴(kuò)頻碼的方法,所述方法包括步驟a)根據(jù)系統(tǒng)高層分配的擴(kuò)頻因子(SF)、擴(kuò)頻碼序號(C)以及擴(kuò)頻碼地址長度(N)生成擴(kuò)頻碼地址(ADD),將所述擴(kuò)頻碼序號(C)與擴(kuò)頻碼地址(ADD)根據(jù)如下關(guān)系式一一對映ADD=C×2N/SFb)根據(jù)所述擴(kuò)頻碼地址進(jìn)行循環(huán)迭代計算,由第一時鐘控制寄存器單元串行輸出擴(kuò)頻碼。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還涉及一個初始化,所述初始化過程包括a′)為待生成擴(kuò)頻碼的讀入擴(kuò)頻碼地址提供第二時鐘信號;b′)提供第一個用于判斷的初始化擴(kuò)頻碼地址;c′)為寄存器單元和擴(kuò)頻碼輸出提供第一時鐘信號;d′)為產(chǎn)生擴(kuò)頻碼地址進(jìn)行的擴(kuò)頻碼序號移位提供第三時鐘信號。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述步驟a)進(jìn)一步包括根據(jù)第三時鐘信號,對擴(kuò)頻碼序號(C)進(jìn)行移位,所述移位次數(shù)等于(N-log2(SF))時,并行輸出擴(kuò)頻碼地址。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述步驟b)進(jìn)一步包括a″)根據(jù)所述第二時鐘信號,讀入所述擴(kuò)頻碼地址;b″)讀入的所述擴(kuò)頻碼地址與上一次的擴(kuò)頻碼地址進(jìn)行比較;c″)如果兩地址一致,返回步驟a″),讀取下一擴(kuò)頻碼地址;d″)如果兩地址不一致,寄存器單元根據(jù)第一時鐘信號進(jìn)行循環(huán)迭代計算;f″)將所述循環(huán)迭代后置入寄存器單元中的值送入擴(kuò)頻碼輸出隊(duì)列;g″)根據(jù)所述第一時鐘信號,串行輸出擴(kuò)頻碼。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述循環(huán)迭代計算包括第0位寄存器單元的值恒為0,第m位寄存器單元中的值為第(m mod 2x)位寄存器單元的輸出與所述第(x-1)位擴(kuò)頻碼地址進(jìn)行異或的結(jié)果。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述m的取值為1到(2N-1)。
7.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述x的取值范圍為1~N,并滿足下式2x-1≤m<2x;
8.根據(jù)權(quán)利要求4所述的方法,其特征在于,根據(jù)所述步驟b″)進(jìn)行首次比較時,所述上一次的擴(kuò)頻碼地址為所述初始化的擴(kuò)頻碼地址。
9.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述第一時鐘、所述第二時鐘與所述第三時鐘互不相等。
10.一種使用硬件產(chǎn)生擴(kuò)頻碼的裝置,其特征在于,包括擴(kuò)頻碼地址生成電路和擴(kuò)頻碼生成電路,所述擴(kuò)頻碼地址生成電路包括第三時鐘和由N個寄存器組成的N位移位寄存器,所述移位寄存器根據(jù)第三時鐘信號的個數(shù),輸出擴(kuò)頻碼地址;所述擴(kuò)頻碼生成電路包括2N位寄存器單元,其中N為系統(tǒng)確定的擴(kuò)頻碼地址長度,所述第m位寄存器單元包括第m位異或門,用于進(jìn)行異或運(yùn)算,生成擴(kuò)頻碼;第m位D觸發(fā)器,用于根據(jù)第一時鐘輸出信號,置入所述異或門的運(yùn)算結(jié)果,然后通過輸出隊(duì)列串行輸出擴(kuò)頻碼。
11.根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述第m位異或門與第(m mod 2x)位寄存器單元的輸出端以及第(x-1)位移位寄存器的輸出端相連;第m位D觸發(fā)器與所述第m位異或門的輸出端相連。
12.根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述擴(kuò)頻碼地址生成電路還包括一個計數(shù)器,用來計算第一時鐘的個數(shù);一個控制信號線,用于控制移位寄存器進(jìn)行移位或置數(shù)。
13.根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述第一時鐘和第三時鐘不相同。
14.根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述m的范圍滿足0<m≤(2N-1)
15.根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述x的范圍滿足下式2x-1≤m<2x
16.根據(jù)權(quán)利要求14所述的裝置,其特征在于,第0位寄存器單元的輸出恒定為0,它不包含異或門。
全文摘要
一種使用硬件產(chǎn)生擴(kuò)頻碼的方法,所述方法包括步驟:a)根據(jù)系統(tǒng)內(nèi)高層分配的擴(kuò)頻因子和擴(kuò)頻碼序號生成擴(kuò)頻碼地址;b)根據(jù)所述擴(kuò)頻碼地址,由時鐘控制串行輸出擴(kuò)頻碼。采用本發(fā)明的方法可以根據(jù)不同的需要即時生成擴(kuò)頻碼,當(dāng)需要對擴(kuò)頻碼做出改變時,毋須中斷擴(kuò)頻運(yùn)算,即可實(shí)現(xiàn)有效改變。
文檔編號H04B1/69GK1384614SQ0111278
公開日2002年12月11日 申請日期2001年4月27日 優(yōu)先權(quán)日2001年4月27日
發(fā)明者張劍宇 申請人:上海大唐移動通信設(shè)備有限公司