王立瑩,左延智
(1.中國電子科技集團(tuán)公司第五十四研究所,河北 石家莊 050081;2.北京跟蹤與通信技術(shù)研究所,北京 100094)
經(jīng)過多年的發(fā)展,我國數(shù)據(jù)通信設(shè)備制造業(yè)堅持技術(shù)引進(jìn)和技術(shù)開發(fā)相結(jié)合,已經(jīng)實現(xiàn)了網(wǎng)絡(luò)設(shè)備的整機(jī)國內(nèi)設(shè)計和整機(jī)國內(nèi)集成,并廣泛應(yīng)用于各行業(yè)信息系統(tǒng)建設(shè)中[1]。但國內(nèi)生產(chǎn)的網(wǎng)絡(luò)設(shè)備中,核心電子元器件主要采用國外產(chǎn)品,高端芯片等核心要素受制于人,網(wǎng)絡(luò)裝備總體自主化程度低[2]。電子元器件是數(shù)據(jù)通信設(shè)備的基礎(chǔ),是保證數(shù)據(jù)通信設(shè)備可靠運行的基本單元[3]。電子元器件性能指標(biāo)、質(zhì)量與可靠性以及供貨保障能力直接關(guān)系到數(shù)據(jù)通信設(shè)備的性能、研制生產(chǎn)進(jìn)程以及產(chǎn)品的售后保障能力等[4]。我國電子元器件產(chǎn)業(yè)受各種因素的影響,在元器件的門類、品種、性能和質(zhì)量可靠性方面與國外產(chǎn)品相比都有較大差距,成為制約我國通信行業(yè)發(fā)展的瓶頸之一[5]。
核心元器件采用國外產(chǎn)品,關(guān)鍵技術(shù)受制于人,致使網(wǎng)絡(luò)設(shè)備在本質(zhì)屬性上存在嚴(yán)重的安全隱患[6]。首先,在網(wǎng)絡(luò)空間對抗日趨激烈的背景下,西方國家有意愿有能力利用芯片內(nèi)部可能存在的后門密碼、數(shù)據(jù)包監(jiān)測和惡意攻擊等,操控網(wǎng)絡(luò)與信息系統(tǒng)、破壞關(guān)鍵業(yè)務(wù)數(shù)據(jù)、竊取核心機(jī)密信息及干擾網(wǎng)絡(luò)運行,甚至致癱設(shè)備和網(wǎng)絡(luò),給國家和國防信息系統(tǒng)構(gòu)成安全威脅;其次,各發(fā)達(dá)國家均把核心電子元器件作為影響國家安全的戰(zhàn)略資源加以控制,把限制核心電子元器件的出口作為一項基本國策[7]。例如美國政府制定嚴(yán)格的政策和相關(guān)措施限制高新技術(shù)及產(chǎn)品出口;美國商務(wù)部制定商品管制清單,規(guī)定符合相關(guān)性能指標(biāo)的產(chǎn)品嚴(yán)禁出口到相關(guān)國家和地區(qū)[8]。西方國家還可通過對核心元器件、標(biāo)準(zhǔn)規(guī)范和核心技術(shù)專利的壟斷,形成對網(wǎng)絡(luò)與信息系統(tǒng)裝備供應(yīng)鏈的安全威脅。尤其對于我國國防信息化裝備,有必要且急切需要實現(xiàn)交換設(shè)備的自主可控。
交換機(jī)國產(chǎn)化的關(guān)鍵是國產(chǎn)化核心電子元器件的應(yīng)用,但也應(yīng)清楚地認(rèn)識到國產(chǎn)芯片的不足,與國外芯片相比,在性能、體積、功耗、集成度、可靠性、成本及配套軟件等方面都有一定的差距[9]。尤其是交換機(jī)內(nèi)部集成電路的增多導(dǎo)致了交換機(jī)上電復(fù)位的復(fù)雜性,為了降低使用國產(chǎn)芯片對交換機(jī)功能、性能指標(biāo)的影響,保證千兆以太網(wǎng)交換機(jī)的穩(wěn)定運行,要充分考慮硬件性能、穩(wěn)定性、可靠性及擴(kuò)展性等因素,在設(shè)備上電啟動和運行過程中支持對部分芯片或模塊的復(fù)位[10],并提供不同的復(fù)位時序用以滿足交換機(jī)內(nèi)部不同芯片的啟動順序及復(fù)位時間要求[11],提高整個系統(tǒng)的可靠性,以彌補(bǔ)國產(chǎn)器件的不足。因此,對以太網(wǎng)交換機(jī)復(fù)位系統(tǒng)的研究就非常有必要,本文從千兆以太網(wǎng)交換機(jī)的邏輯組成介紹出發(fā),討論千兆以太網(wǎng)交換機(jī)復(fù)位系統(tǒng)的設(shè)計方法和設(shè)計過程。
千兆以太網(wǎng)交換機(jī)主要由以太網(wǎng)交換模塊、CPU模塊、邏輯控制FPGA模塊、千兆以太網(wǎng)模塊及時鐘模塊等組成,如圖1所示。
圖1 以太網(wǎng)交換機(jī)邏輯組成Fig.1 Logic composition of ethernet switch
以太網(wǎng)交換模塊作為千兆以太網(wǎng)交換機(jī)的核心,主要完成業(yè)務(wù)數(shù)據(jù)路由交換功能,設(shè)計選用蘇州盛科公司的萬兆以太網(wǎng)交換芯片CTC6048,對外提供SGMII Serdes接口、數(shù)據(jù)通道接口、控制接口及管理接口等[12]。CPU模塊完成交換機(jī)的控制與協(xié)議處理,是各種路由協(xié)議運行的平臺,國產(chǎn)CPU芯片[13]采用中國科學(xué)院計算研究所的64位處理器芯片龍芯2F[14]。千兆以太網(wǎng)模塊實現(xiàn)千兆以太網(wǎng)線路接口,用于用戶業(yè)務(wù)接入。邏輯控制FPGA模塊主要實現(xiàn)各種可編程控制和業(yè)務(wù)處理邏輯,為設(shè)備提供復(fù)位控制、時鐘變換和寄存器維護(hù)管理等功能,選用上海傲格芯公司的AG10KF256[15]。時鐘模塊主要為相關(guān)功能單元提供時鐘參考,選用成都振芯科技公司的時鐘芯片。
在復(fù)位電路設(shè)計時,需要綜合考慮各芯片對復(fù)位的要求,如復(fù)位高低電平、復(fù)位順序及復(fù)位脈沖寬度等,且在設(shè)計中需實現(xiàn)以上形式組合多變的復(fù)合設(shè)計。通過合理選擇器件、邏輯設(shè)計,實現(xiàn)電路的需求。
以太網(wǎng)交換機(jī)內(nèi)需要復(fù)位信號的模塊包括CPU模塊、時鐘模塊、千兆以太網(wǎng)模塊及以太網(wǎng)交換模塊等,各模塊的復(fù)位邏輯主要由FPGA完成,具體復(fù)位電路邏輯如圖2所示。
圖2 復(fù)位電路邏輯框圖Fig.2 Logic block diagram of reset circuit
以太網(wǎng)交換機(jī)中大多數(shù)芯片的復(fù)位都需要在供電和參考時鐘穩(wěn)定后進(jìn)行,在供電穩(wěn)定后,首先要復(fù)位時鐘芯片,然后完成時鐘芯片的初始化配置,在時鐘芯片輸出時鐘穩(wěn)定后,再復(fù)位其他芯片。
時鐘芯片支持多種復(fù)位方式,包括上電復(fù)位、異步RESET管腳復(fù)位和寄存器軟復(fù)位,本設(shè)計采用FPGA直接控制時鐘芯片的異步RESET管腳完成時鐘芯片的復(fù)位,根據(jù)時鐘芯片的異步復(fù)位時序要求,需要保證低電平脈沖≥50 ns。該復(fù)位信號采用“1-0-1”電平方式,先保持CLOCK_RST高電平10 ms,然后低電平脈沖10 ms,然后置高,完成一次時鐘芯片的復(fù)位操作。
在時鐘芯片復(fù)位后等待10 ms再開始時鐘芯片的配置過程,讓時鐘芯片復(fù)位生效,在時鐘芯片配置完成并輸出時鐘穩(wěn)定后,再復(fù)位其他芯片,該過程主要取決于配置芯片時間和VCO的校準(zhǔn)時間,配置芯片時間不大于5 ms,VCO的校準(zhǔn)時間如下:
(1)
根據(jù)參考時鐘頻率、輸出時鐘頻率等因素,可獲得R取值1,cal_div取值2,fREFIN為25 MHz,根據(jù)式(1)計算VCO校準(zhǔn)時間為0.352 ms。整個配置芯片時間加上VCO校準(zhǔn)時間不大于10 ms,該過程取值10 ms。
千兆以太網(wǎng)芯片要求的復(fù)位時序為“0-1-0-1”電平方式,其中tW為在上電和時鐘穩(wěn)定后NRESET可配置的時間,不小于2 ms;tREC為恢復(fù)時間,不大于105 ms;tW(RL)為低電平脈沖時間,不小于100 ms;tWAIT為NRESET置高后可以訪問SMI接口時間,不小于105 ms。參照復(fù)位時序要求,本設(shè)計中千兆以太網(wǎng)芯片的GE_PHY_RST復(fù)位信號先保持GE_PHY_RST低電平40 ms,然后置高電平150 ms,再低電平保持110 ms,然后置高,完成千兆以太網(wǎng)芯片的復(fù)位。
龍芯2F的復(fù)位時序要求在CPU_RST拉低之前,相關(guān)的時鐘信號、測試信號和初始化信號都必須有效,CPU_RST低電平脈沖要求至少一個時鐘周期。本設(shè)計中CPU_RST復(fù)位信號采用“1-0-1”電平方式,先保持CPU_RST高電平40 ms,然后低電平保持到以太網(wǎng)PHY芯片復(fù)位完成,保證CPU初始化程序運行前以太網(wǎng)PHY芯片的SMI接口工作正常,低電平時間取370 ms,然后置高。
CTC6048的復(fù)位信號主要包括全局復(fù)位信號RST_B、PCI接口復(fù)位信號PCIRESET_N、DDRDL復(fù)位信號DLRESET和CPU寄存器訪問接口復(fù)位信號SURST_B。本設(shè)計中RST_B、PCIRESET_N、SURST_B信號采用“1-0-1”電平方式,先保持高電平40 ms,然后低電平保持370 ms,然后置高,與CPU_RST一致。DLRESET信號采用“0-1-0”電平方式,先保持低電平40 ms,然后高電平保持370 ms,然后拉低。
FPGA復(fù)位模塊信號主要包括CPU接口、SPI接口和復(fù)位信號等,復(fù)位模塊頂層原理如圖3所示。
圖3 復(fù)位模塊頂層原理Fig.3 Top level principle of reset module
FPGA程序主要包括時鐘分頻、計數(shù)器、時鐘芯片初始化配置及CPU軟復(fù)位寄存器等,完成時鐘芯片的初始化、各芯片的上電復(fù)位及軟件復(fù)位控制等功能。
FPGA通過SPI接口間接訪問配置時鐘芯片內(nèi)部寄存器,時鐘芯片配置程序流程實際是全部寄存器配置的寫入流程組合,單個寄存器配置流程:① FPGA將要配置的寄存器地址寫入地址寄存器;② FPGA將要寫入寄存器的數(shù)據(jù)寫入寫數(shù)據(jù)寄存器;③ 開始寫操作;④ 將并行的地址、數(shù)據(jù)串行的寫入時鐘芯片SPI接口。通過時鐘芯片配置程序,完成需要配置的時鐘芯片寄存器的寫操作,實現(xiàn)時鐘芯片的整個配置流程。
上電復(fù)位程序參照上電復(fù)位時序,通過計數(shù)控制各芯片復(fù)位信號的高低電平。在設(shè)備上電初始化過程中或設(shè)備正常工作中,為了增加設(shè)備的可靠性,增加了部分芯片的自檢程序或狀態(tài)監(jiān)控程序。當(dāng)CPU判斷到特定接口或芯片發(fā)生故障,可以通過軟件控制FPGA完成相應(yīng)芯片的復(fù)位。CPU與FPGA間互聯(lián)接口為Local Bus總線,CPU可以通過該接口訪問控制FPGA內(nèi)相應(yīng)的復(fù)位控制寄存器,完成復(fù)位。通過將各芯片的上電復(fù)位信號和相應(yīng)軟復(fù)位信號進(jìn)行“與”“或”組合,可以得到既保留上電復(fù)位時序又可以通過CPU控制的復(fù)位信號。復(fù)位程序流程如圖4所示。
圖4 復(fù)位程序流程Fig.4 Reset procedure flow
本設(shè)計采用上海傲格芯FPGA芯片AG10KF256,整個設(shè)計采用VHDL硬件描述語言來實現(xiàn),在Quartus II 11.1開發(fā)軟件上完成設(shè)計、綜合及布局布線。通過上海傲格芯的開發(fā)軟件Supra完成工程轉(zhuǎn)換和編譯,并使用ModelSim進(jìn)行時序仿真。交換機(jī)復(fù)位時序如圖5所示。在圖5中,先完成了時鐘芯片的復(fù)位,然后開始時鐘芯片的初始化配置。在時鐘芯片輸出時鐘穩(wěn)定后,實現(xiàn)了CPU、交換芯片及千兆以太網(wǎng)芯片的上電復(fù)位過程。在CPU正常工作后,通過CPU接口訪問控制FPGA內(nèi)復(fù)位控制寄存器,分別控制了GE_PHY0_RST和RST_B復(fù)位,實現(xiàn)了交換機(jī)內(nèi)芯片的軟復(fù)位功能。
圖5 交換機(jī)復(fù)位時序仿真Fig.5 Simulation of switch reset sequence
本文從千兆以太網(wǎng)交換機(jī)的邏輯組成出發(fā),研究了以太網(wǎng)交換機(jī)復(fù)位系統(tǒng)的實現(xiàn)原理,分析了軟硬件設(shè)計的實現(xiàn)過程,提出了以太網(wǎng)交換機(jī)的上電復(fù)位及軟件復(fù)位方案,并最終給出了一種適用于千兆以太網(wǎng)交換機(jī)的復(fù)位系統(tǒng)。通過FPGA實現(xiàn)交換機(jī)的復(fù)位,具有處理速度快、方便靈活和可擴(kuò)展性好的特點。該設(shè)計滿足千兆以太網(wǎng)交換機(jī)的國產(chǎn)化需求,上電復(fù)位結(jié)合軟件復(fù)位方案可以推廣到其他交換設(shè)備中,能提高整個設(shè)備的可靠性,有著很好的應(yīng)用效果。