專利名稱:Aal2公共部分子層發(fā)送端裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于電信領(lǐng)域,具體地說涉及電信領(lǐng)域里與ATM應(yīng)用相關(guān)的一種實現(xiàn)AAL2公共部分子層發(fā)送端功能的硬件裝置。
AAL2-CPS的發(fā)送端功能包括1、接收高層發(fā)往不同ATM鏈路上的CPS業(yè)務(wù)數(shù)據(jù)單元(CPS-SDU),加上CPS分組頭組成CPS分組(CPS-Packet);2、按照I.363.2協(xié)議中規(guī)定的格式把若干個CPS分組封裝成47字節(jié)的數(shù)據(jù)包,在前面附加一個STF(即開始域)字節(jié)形成CPS協(xié)議數(shù)據(jù)單元(CPS-PDU),然后加上5字節(jié)的信元頭形成ATM信元(如果ATM處理單元可生成信元頭中的校驗字節(jié),則此字節(jié)空置);3、將形成的ATM信元傳給ATM分接/復(fù)接單元。如果47字節(jié)數(shù)據(jù)包中的剩余位置不足以裝入一個完整的CPS分組,可把此CPS分組的前一部分裝入,而后一部分則裝入下一個去往相同ATM鏈路的47字節(jié)數(shù)據(jù)包中。
本發(fā)明的目的即是采用硬件邏輯電路來實現(xiàn)ITU-T的I.363.2協(xié)議中規(guī)定的AAL2發(fā)送端功能,提高處理效率。
(1)本發(fā)明所述的AAL2發(fā)送端硬件裝置是通過FPGA(現(xiàn)場可編程門陣列)設(shè)計或是ASIC(專用集成電路)設(shè)計實現(xiàn)的,它以硬件邏輯電路作為載體,既可以以獨立的芯片形態(tài)出現(xiàn),也可以與其它功能裝置相集成,即與其它功能裝置一起包含在一個芯片中。
(2)該裝置主要由輸入控制模塊、數(shù)據(jù)預(yù)處理模塊、封裝控制模塊、發(fā)送控制模塊和定時模塊組成(參見
圖1)。
(3)該裝置的外部接口包括與ATM層之間采用UTOPIA LEVEL1(Universal Test and Operations PHY Interface for ATM LEVEL1)規(guī)范接口,與高層(即AAL2業(yè)務(wù)應(yīng)用層)之間采用共享存儲器接口,與層管理之間則提供地址、數(shù)據(jù)和控制信號,可通過外部處理器訪問本裝置。
下面分別描述各主要模塊的操作及功能。一、輸入控制模塊輸入控制模塊是從高層接收AAL2處理系統(tǒng)產(chǎn)生的數(shù)據(jù),每次接收的數(shù)據(jù)塊最大長度為18個雙字(一個雙字即4個字節(jié)),包括8字節(jié)VPI(虛通路標識)、VCI(虛通道標識)、CID(連接標識號)、UUI(用戶-用戶信息)、LI(長度指示)及1至64字節(jié)的用戶數(shù)據(jù),通過為每個數(shù)據(jù)塊設(shè)置標志位指示數(shù)據(jù)塊是否可讀。當接收使能信號到來時,輸入控制模塊首先檢測當前數(shù)據(jù)塊可讀標志位(假設(shè)1表示高層數(shù)據(jù)有效,0表示無效)若標志位為1,則讀取該數(shù)據(jù)塊,并產(chǎn)生輸入給數(shù)據(jù)預(yù)處理模塊各子模塊的使能信號,把讀取的數(shù)據(jù)塊中各部分數(shù)據(jù)送入相應(yīng)子模塊進行處理;若標志位為0,地址指針跳轉(zhuǎn)到下一個數(shù)據(jù)塊存放區(qū)檢測標志位。一個讀時鐘周期可讀取數(shù)據(jù)塊中的一個雙字或兩個雙字(當數(shù)據(jù)總線寬度為32位時是一個雙字,數(shù)據(jù)總線寬度為64位時是兩個雙字),接收完一個完整數(shù)據(jù)塊后(根據(jù)數(shù)據(jù)塊參數(shù)中的長度指示),修改標志位和讀指針,等待下一次接收使能信號有效。二、數(shù)據(jù)預(yù)處理模塊該模塊包含三個子模塊VPI/VCI處理子模塊、CPS分組頭(CPS-PH)創(chuàng)建子模塊、CPS-SDU轉(zhuǎn)換子模塊。
VPI/VCI處理子模塊結(jié)構(gòu)見圖2。
在VPI/VCI處理子模塊中,VPI、VCI被封裝成5字節(jié)的信元頭。為支持多個AAL2虛連接,并考慮VPI/VCI值的可變性,則信元封裝緩存區(qū)的基地址不能由VPI/VCI按固定組合邏輯產(chǎn)生。為此,在VPI/VCI處理子模塊中引入了一個存儲器方式的映射表,在每次系統(tǒng)復(fù)位后由層管理接口(如某個外部控制器或處理器)對表格進行初始化,而在封裝過程中,表格中的數(shù)據(jù)由VPI/VCI作為地址索引讀出,經(jīng)過相應(yīng)運算產(chǎn)生子模塊中狀態(tài)表地址,狀態(tài)表中則記錄封裝緩存區(qū)各個區(qū)域的狀態(tài)(是否裝有未滿的信元及下次封裝起始位)。這樣對表格寫入不同的數(shù)據(jù)可使狀態(tài)表對應(yīng)不同的VPI/VCI值,而由狀態(tài)表地址即可推算出封裝緩存區(qū)對應(yīng)區(qū)的基地址,從而完成VPI/VCI值到狀態(tài)表地址和封裝緩存區(qū)的基地址之間的映射。
在CPS-PH創(chuàng)建子模塊中,將CID、UUI、LI經(jīng)過多項式編碼,生成差錯控制比特,并將它們封裝成CPS-PH。具體的實現(xiàn)方法是假設(shè)M(x)是所有位上都為1的幀,其多項式表示為M(x)=xm+xm-1+...+x1+x0;校驗和的生成多項式為G(x),階數(shù)為r,預(yù)先求得M(x)校驗和xrM(x)/G(x)=xr(xm+xm-1+...+x1+x0)/G(x)=xrxm/G(x)xrxm-1/G(x)...+xrx1/G(x)xrx0/G(x)從上式可以看出,所有位上都為1的幀的校驗和等于多項式分別為xm、xm-1、...、x0的各階校驗和的異或,因此將一個存有所有各階校驗和的表預(yù)置在存儲器中,則實際幀(假設(shè)可表示為amxm+am-1xm-1+...+alx1+a0x0,其中am、a0比特位為1,其它可為1或0)的校驗和是比特位為1所對應(yīng)的各單階CRC經(jīng)簡單的異或運算得到,因此使用簡單的與門和異或門就可求實現(xiàn)校驗和的計算,速度很快,一個時鐘周期即可完成。CPS-PH創(chuàng)建子模塊構(gòu)成參見圖3。
在CPS-SDU轉(zhuǎn)換子模塊中有一塊16*32位(或8*64位)的緩存區(qū),通過四選一(或八選一)多路轉(zhuǎn)換器把32位(或64位)的CPS-SDU轉(zhuǎn)換成與下層接口相匹配的8位格式,并將其存放在信元封裝緩存區(qū)中等待封裝處理??蓞⒁妶D4。三、封裝控制模塊在封裝控制模塊中創(chuàng)建STF,并將各個域封裝進ATM信元。該模塊產(chǎn)生封裝緩存區(qū)的寫允許與地址信號,根據(jù)狀態(tài)表輸出的狀態(tài)字來決定分配給信元各個域的封裝時隙。在封裝好一個完整信元后向發(fā)送控制模塊發(fā)出發(fā)送請求,封裝過程結(jié)束后刷新VPI/VCI處理子模塊中的狀態(tài)表和定時模塊中時間表對應(yīng)單元的信息以供下次封裝處理時使用,并向輸入控制模塊發(fā)出接收允許。圖5是該模塊的結(jié)構(gòu)框圖。四、定時模塊定時模塊的結(jié)構(gòu)圖參見圖6。定時模塊中設(shè)置了一個16位的計數(shù)器在系統(tǒng)工作期間循環(huán)計數(shù),由封裝控制模塊在封裝了一個未滿信元過程結(jié)束時將計數(shù)器值寫入時間表,這相當于為該信元標記了當前時間標簽,時間表的各個單元與VPI/VCI處理子模塊的狀態(tài)表對應(yīng)。輪詢機制依次從時間表中讀出每個信元的時間標簽,與計數(shù)器當前值比較,如果差值大于設(shè)定值,輪詢暫停,向發(fā)送控制單元發(fā)出到時指示,同時傳送該到時信元所處封裝緩存區(qū)的基地址。五、發(fā)送控制模塊發(fā)送控制模塊的功能是發(fā)送ATM信元,它由來自封裝控制模塊的發(fā)送請求或定時模塊的到時指示觸發(fā)。發(fā)送控制模塊的結(jié)構(gòu)框圖參見圖7。
當發(fā)送請求有效時,表示有一個ATM信元已封裝完成且ATM處理單元的先入先出接收緩存器可以接收一個完整的信元,則根據(jù)封裝控制單元同時傳送的基地址開始連續(xù)發(fā)送53字節(jié)的信元。
當?shù)綍r指示有效時,表示有一個不完整的信元到時需要發(fā)送,則根據(jù)定時模塊同時傳送的基地址與參數(shù),發(fā)送尾部填零的信元。發(fā)送完成后將時間表、狀態(tài)表相應(yīng)單元重新置數(shù)。發(fā)送信元的時序遵循UTOPIA LEVEL1接口規(guī)范。
本發(fā)明有益效果本裝置可以在單個硬件芯片上實現(xiàn),且由于是純硬件方式,單個芯片能夠處理成千上萬個AAL2連接的發(fā)送端功能,處理的業(yè)務(wù)量可以高達每秒數(shù)百兆比特,克服了用軟件方式實現(xiàn)時處理速度相對較慢、效率不高等缺點;可以根據(jù)應(yīng)用系統(tǒng)的需求選擇合適的FPGA芯片或是ASIC規(guī)模;可大大降低系統(tǒng)實現(xiàn)成本。
圖2是VPI/VCI處理子模塊結(jié)構(gòu)框圖。
圖3是CPS-PH創(chuàng)建子模塊結(jié)構(gòu)框圖。
圖4是CPS-SDU轉(zhuǎn)換子模塊結(jié)構(gòu)框圖。
圖5是封裝控制模塊的結(jié)構(gòu)框圖。
圖6是定時模塊的結(jié)構(gòu)框圖。
圖7是發(fā)送控制模塊的結(jié)構(gòu)框圖。
在第三代移動通信系統(tǒng)的無線網(wǎng)絡(luò)控制器設(shè)備中,Iub接口、Iu接口和Iur接口都要用到AAL2功能,我們在實現(xiàn)AAL2發(fā)送端裝置時,采用了Altera公司的FPGA芯片,型號為EPT10K50EQC208-3,按照本發(fā)明的技術(shù)方案進行設(shè)計,設(shè)計結(jié)果是該裝置共占用FPGA芯片的4個嵌入式陣列塊(EAB)和1800個邏輯單元(LE),約占芯片總邏輯資源的70%。這個用EPT10K50EQC208-3型FPGA芯片實現(xiàn)的AAL2發(fā)送端裝置可以同時支持近萬個AAL2連接。
權(quán)利要求
1.AAL2公共部分子層發(fā)送端裝置,其特征在于(1)該裝置主要由輸入控制模塊、數(shù)據(jù)預(yù)處理模塊、封裝控制模塊、輸出控制模塊和定時模塊組成;(2)該裝置的外部接口包括與ATM層之間采用UTOPIA LEVEL1(Universal Test and Operations PHY Interface for ATM LEVEL1)規(guī)范接口,與高層(即AAL2業(yè)務(wù)應(yīng)用層)之間采用共享存儲器接口,與層管理之間則提供地址、數(shù)據(jù)和控制信號,可通過外部處理器訪問本裝置。
2.根據(jù)權(quán)利要求1所述的AAL2公共部分子層發(fā)送端裝置,其特征在于(1)輸入控制模塊通過共享存儲器與高層接口,共享存儲器中緩存多個數(shù)據(jù)塊,可以支持不同ATM虛通路(VP)、虛通道(VC)中的多個AAL2連接。每個數(shù)據(jù)塊由信元頭控制信息及用戶數(shù)據(jù)單元組成,信元頭控制信息中含有VPI(虛通路標識)、VCI(虛通道標識)、CID(連接標識號)、UUI(用戶-用戶信息)、LI(長度指示),用戶數(shù)據(jù)單元則包含1至64字節(jié)長度的用戶數(shù)據(jù);(2)輸入控制模塊有一個接收使能信號線,當信號線為有效電平時,則該模塊檢查共享存儲器中的當前數(shù)據(jù)塊可讀標志,若標志置為“可讀”,則讀取該數(shù)據(jù)塊,并產(chǎn)生輸入給數(shù)據(jù)預(yù)處理模塊各子模塊的使能信號(即使得相應(yīng)的使能線為有效電平),把讀取的數(shù)據(jù)塊中各部分數(shù)據(jù)送入相應(yīng)子模塊進行處理;若標志置為“不可讀”,地址指針跳轉(zhuǎn)到下一個數(shù)據(jù)塊存放區(qū)重復(fù)上述過程。當接收完一個完整數(shù)據(jù)塊后(根據(jù)數(shù)據(jù)塊參數(shù)中的長度指示),修改標志位和讀指針,等待下一次接收使能信號有效。
3.根據(jù)權(quán)利要求1所述的AAL2公共部分子層發(fā)送端裝置,其特征在于(1)數(shù)據(jù)預(yù)處理模塊含有VPI/VCI處理子模塊,它處理輸入控制模塊讀取的信元頭控制信息中的VPI/VCI字段,據(jù)此產(chǎn)生5字節(jié)的信元頭,為支持多個AAL2連接處理,該子模塊有一個狀態(tài)表記錄封裝緩存區(qū)中各個區(qū)域的狀態(tài)(是否裝有未滿的信元、下次封裝起始位等),并引入一個存儲器方式的映射表用于保存VPI/VCI與狀態(tài)表地址之間的映射關(guān)系,可由外部控制器或處理器對其進行初始化,狀態(tài)表地址經(jīng)運算得到封裝緩存區(qū)對應(yīng)區(qū)的基地址;(2)數(shù)據(jù)預(yù)處理模塊含有CPS-PH(分組頭)創(chuàng)建子模塊,它處理輸入控制模塊讀取的信元頭控制信息中的CID、UUI、LI字段,經(jīng)過多項式編碼,生成差錯控制比特(CRC),并將它們封裝成CPS-PH(CPS分組頭),CRC通過以下方法得到假設(shè)多項式M(x)=xm+xm-1+...+x1+x0表示所有比特位都為1的幀,預(yù)先求出對應(yīng)于xm、xm-1、...x0的各階校驗和,將一個存有各階CRC值的表預(yù)置在存儲器中,則實際幀的校驗和是比特位為1所對應(yīng)的各階CRC經(jīng)簡單的異或運算得到,只需一個時鐘周期即可完成;(3)數(shù)據(jù)預(yù)處理模塊含有CPS-SDU(業(yè)務(wù)數(shù)據(jù)單元)轉(zhuǎn)換子模塊,它把32位(或64位)的CPS-SDU轉(zhuǎn)換成與下層UTOPIA接口相匹配的8位格式,并將其存放在信元封裝緩存區(qū)中等待封裝處理。
4.根據(jù)權(quán)利要求1所述的AAL2公共部分子層發(fā)送端裝置,其特征在于封裝控制模塊在封裝過程結(jié)束后刷新VPI/VCI處理子模塊中的狀態(tài)表和定時模塊中時間表對應(yīng)單元的信息,以供下次封裝處理使用,并向輸入控制模塊發(fā)出接收允許信號。
5.根據(jù)權(quán)利要求1所述的AAL2公共部分子層發(fā)送端裝置,其特征在于(1)定時模塊含有一個存儲器方式的時間表,并設(shè)置了一個16位的計數(shù)器在系統(tǒng)工作期間循環(huán)計數(shù),時間表的各表項與VPI/VCI處理子模塊的狀態(tài)表各表項對應(yīng),由封裝控制模塊在封裝了一個未滿信元過程結(jié)束時將計數(shù)器值寫入時間表,即為每個生成的未滿信元貼上一個時間標簽。時間表的表項中還保存信元發(fā)送狀態(tài)指示;(2)定時模塊使用一個模M計數(shù)器(M為表長),采用輪詢機制檢查時間表中的各個表項,如果信元發(fā)送狀態(tài)指示是待發(fā)送狀態(tài),則讀出當前表項的時間標簽,與當前計數(shù)器值比較,如果差值大于設(shè)定值則表示已經(jīng)超時,輪詢暫停,向發(fā)送控制單元發(fā)出到時指示,同時傳送到時信元所處封裝緩存區(qū)的基地址;如果信元發(fā)送狀態(tài)指示是非待發(fā)狀態(tài),則輪詢下一個表項;(3)定時模塊當發(fā)送控制單元發(fā)送完畢信元后將時間表項的信元發(fā)送狀態(tài)指示置為非待發(fā)狀態(tài),繼續(xù)下一個輪詢處理過程。
6.根據(jù)權(quán)利要求1所述的AAL2公共部分子層發(fā)送端裝置,其特征在于(1)發(fā)送控制模塊如果收到封裝控制模塊的發(fā)送請求信號,從相應(yīng)基地址開始讀出一個完整的信元并發(fā)往ATM復(fù)接單元,發(fā)送時序遵循UTOPIA LEVEL1標準接口規(guī)范;(2)發(fā)送控制模塊如果收到定時模塊的到時指示,則根據(jù)基地址和剩余長度指示,將信元凈荷的剩余空間填滿后再發(fā)往ATM復(fù)接單元,發(fā)送時序都遵循UTOPIA LEVEL1標準接口規(guī)范;(3)發(fā)送控制模塊信元發(fā)送完成后將時間表、狀態(tài)表相應(yīng)單元重新置數(shù)。
全文摘要
本發(fā)明是通過FPGA(現(xiàn)場可編程門陣列)設(shè)計或是ASIC(專用集成電路)設(shè)計、采用硬件邏輯電路來實現(xiàn)ITU-T I.363.2協(xié)議中規(guī)定的ATM適配層2(AAL2)公共部分子層(CPS)發(fā)送端(或稱信源端)功能。本發(fā)明提出的裝置主要由輸入控制模塊、數(shù)據(jù)預(yù)處理模塊、封裝控制模塊、輸出控制模塊和定時模塊組成;本裝置針對多個AAL2連接采用了不同的緩沖區(qū)域分別緩存并輪詢處理高層輸入數(shù)據(jù);通過狀態(tài)表機制和時間標簽法實現(xiàn)CPS-SDU的輸出緩沖控制及發(fā)送控制,而且通過“單階校驗”預(yù)置表的方法使得對AAL2連接分組頭的校驗和計算只需單個時鐘周期即可完成。
文檔編號H04L1/00GK1373614SQ0113672
公開日2002年10月9日 申請日期2001年10月22日 優(yōu)先權(quán)日2001年10月22日
發(fā)明者黃河, 馬晨欣, 何紅永 申請人:信息產(chǎn)業(yè)部電信傳輸研究所, 國家數(shù)字交換系統(tǒng)工程技術(shù)研究中心