基于ASIC+FPGA的IPv6路由器PoS接口設(shè)計(jì)
根據(jù)目前的技術(shù)水平,可選擇如下方案:光電轉(zhuǎn)換模塊由專(zhuān)用的光電器件完成,串并轉(zhuǎn)換、定時(shí)處理、HDLC/SDH等物理層處理功能由專(zhuān)用電路完成,而PPP處理由FPGA完成。
3 關(guān)鍵電路的選型及說(shuō)明
物理層處理電路采用PMC公司的PM5380,它是一款新型的PoS/ATM專(zhuān)用處理電路,支持8路獨(dú)立的ATM/PoS接口。該電路具有極高的集成度,將定時(shí)提取模塊、串行轉(zhuǎn)換模塊、段開(kāi)銷(xiāo)處理模塊、通道開(kāi)銷(xiāo)處理模塊、路開(kāi)銷(xiāo)處理模塊和HDLC處理模塊等集成到一起,功能非常強(qiáng)大。其內(nèi)部結(jié)構(gòu)見(jiàn)圖3。
PM5380的設(shè)計(jì)符合IETF PPP工作組提出的PPP over SDH/SONET規(guī)范;支持8路全雙工155Mbit/s的STM-1接口,并帶有數(shù)據(jù)和時(shí)鐘恢復(fù)(CDR)電路;完全符合Utopia-2接口規(guī)范,支持多地址和奇偶校驗(yàn);對(duì)PoS應(yīng)用提供相當(dāng)于Utopia-2的系統(tǒng)接口,16位總線寬度,支持包傳送和字節(jié)傳送,內(nèi)置8個(gè)FIFO緩存對(duì)應(yīng)接口的數(shù)據(jù);提供串行的155Mbit/s的接口與光器件對(duì)接,并且都是差分線路;提供一個(gè)通用的八位微處理器接口來(lái)完成PM5380的初始化配置、工作控制以及狀態(tài)監(jiān)測(cè);支持線路環(huán)回、串行環(huán)回和并行環(huán)回;單電源3.3VCMOS制作工藝,輸入兼容PECL和TTL電平,輸出為T(mén)TL電平。在本設(shè)計(jì)中,需要通過(guò)處理機(jī)配置相應(yīng)的寄存器,使PM5380工作于PoS模式。
FPGA選用Xilinx公司VIRTEX-II PRO,該電路是300萬(wàn)門(mén)級(jí)的FPGA,其高速I(mǎi)/O模塊可提供多達(dá)16路Rocket I/O,內(nèi)置Power PC核提供高性能的數(shù)字時(shí)鐘管理,并且具有強(qiáng)大的開(kāi)發(fā)軟件支持。
4 實(shí)現(xiàn)方案
圖4為155Mbit/s PoS接口的實(shí)現(xiàn)方案圖。在輸入方向上,從光纖傳入的信號(hào)經(jīng)光電轉(zhuǎn)換后送入PM5380,完成定時(shí)處理、幀同步,從輸入比特流中提取出SDH幀并進(jìn)而恢復(fù)出PPP幀,并按接口緩存于內(nèi)部8個(gè)FIFO中。輸入鏈路處理模塊輪詢(xún)讀取PM5380的FIFO,獲得PPP幀并完成PPP相關(guān)處理,恢復(fù)出IP報(bào)文并且完成查IP地址表的工作,將協(xié)議報(bào)文交處理機(jī),而普通的數(shù)據(jù)報(bào)文合路輸入FIFO,進(jìn)而通過(guò)FPGA的Rocket I/O(高速I(mǎi)/O)送轉(zhuǎn)發(fā)處理。
在輸出方向上,從轉(zhuǎn)發(fā)過(guò)來(lái)的數(shù)據(jù)報(bào)文 經(jīng)Rocket I/O送FPGA內(nèi)部,在輸出鏈路處理模塊中完成與協(xié)議報(bào)文的合路并且封裝成PPP幀,然后根據(jù)內(nèi)部報(bào)文格式中的出接口號(hào)來(lái)判斷送往ASIC的哪個(gè)接口;ASIC完成SDH幀的映射,最后經(jīng)電光轉(zhuǎn)換通過(guò)光纖送到外部SDH網(wǎng)絡(luò)。
5 FPGA設(shè)計(jì)
圖5中的虛線框內(nèi)為輸入FPGA設(shè)計(jì)原理。輸入FPGA的輪詢(xún)接收模塊從PM5380的FIFO中輪詢(xún)讀取8個(gè)外部接口的數(shù)據(jù),并將完整的PPP包緩存;分揀模塊查本地IP表,將協(xié)議報(bào)文緩存于協(xié)議FIFO并經(jīng)處理機(jī)送交主控處理,需轉(zhuǎn)發(fā)的數(shù)據(jù)報(bào)文送轉(zhuǎn)發(fā)FIFO。圖中的MPM5380管理模塊負(fù)責(zé)產(chǎn)生處理機(jī)管理PM5380時(shí)所需要的時(shí)序,CPU模塊負(fù)責(zé)和860的交互,時(shí)鐘模塊產(chǎn)生系統(tǒng)時(shí)鐘,它們是公共模塊。
圖6示出輸出FPGA設(shè)計(jì)原理。從轉(zhuǎn)發(fā)過(guò)來(lái)的數(shù)據(jù)經(jīng)Rocket I/O后緩存于輸出FIFO,合路模塊將數(shù)據(jù)報(bào)文和從處理機(jī)下發(fā)的協(xié)議報(bào)文合路送發(fā)送模塊按照PM5380要求的時(shí)序?qū)懙较鄳?yīng)接口的FIFO中發(fā)送,但這里必須嚴(yán)格滿(mǎn)足PM5380的寫(xiě)時(shí)序要求。
6 結(jié)束語(yǔ)
本文根據(jù)IPv6路由器155Mbit/s PoS接口的需求,提出并實(shí)現(xiàn)了一種基于ASIC+FPGA的設(shè)計(jì)方案。目前該方案已經(jīng)在國(guó)家數(shù)字交換系統(tǒng)工程技術(shù)研究中心開(kāi)發(fā)的IPv6路由器中得到實(shí)現(xiàn),測(cè)試后的系統(tǒng)性能穩(wěn)定,達(dá)到了預(yù)期的設(shè)計(jì)目標(biāo)。
評(píng)論