999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

ATCA架構中多網口后板的高效設計

2013-08-13 08:13:34
電子技術應用 2013年1期
關鍵詞:設計

王 江

(上海貝爾股份有限公司 P&RD,上海 200125)

先進的電信計算平臺ATCA(Advanced Telecom Computing Architecture)是國際工業計算機制造者聯合會PICMG(PCI Industrial Computer Manufacturer's Group)標準歷史上最重大的革新。它的設計初衷是針對電信運營級應用,為下一代通信及數據網絡應用提供一個高性價比、模塊化、兼容性強、擴展性好的硬件構架,為新一代電信運營設備提供一個“可靠、可用、適用”的解決方案。

ATCA不僅能因其總線的開放性而降低電信設備總體部署成本,而且最大限度地提升了不同廠商產品之間的兼容性。ATCA設備在降低網絡建設和維護成本的同時,還可以通過更換板卡快速支持新應用和新業務,靈活性更強。由于這些優點,ATCA架構不僅在電信運營領域得到了廣泛應用,也逐漸在儀器儀表、軍事和航空航天等領域受到關注。

1 多網口后板的設計所面臨的問題

符合ATCA標準的系統由一個或多個熱插拔線卡(即模塊)組成,這些線卡也稱為現場可替換單元FRU(Field Replacable Unit)。在基于ATCA的網絡設備中,為了提供數量多且性能高的網絡接口,往往在前板安裝先進的網絡處理器NPU(Network Process Unit)或CPU,而在同槽位的后板(RTM)上布置多個網絡接口連接器(如RJ45或者SFP插槽),用于連接外部網線或光纖。

RJ45接口最高支持1 000 Mb/s的以太網速率,接口電纜是銅電纜,不適應電信設備“光進銅退”的發展趨勢。而 SFP(Small Form-factor Pluggable transceiver)插槽由于既能容納RJ45接口的電模塊(Copper SFP),也能容納FiberJack接口的光模塊(Fiber SFP),靈活性好,速率可達10 Gb/s,因此越來越得到設計師的青睞。但是如何管理這些SFP模塊,對設計師而言,在硬件和軟件方面,面臨如下問題:

(1)硬件方面:因為 ATCA標準[1]規定,前板通往后板和背板的連接器分為 3個區域:區域 1、區域 2和區域3。其中,區域1用于電源和管理信號,連接到背板;區域2負責前板之間的數據通路,也連接到后板;區域3用于前后板的連接,信號自定義,而前后板的連接無需經過背板,采用共面互連技術。區域3最多允許安放3個高速連接器,因為前后板之間的連接信號數量有限,所以在利用這些互聯信號時需要精打細算。互連信號越少,就越能節省昂貴的高速連接器,降低產品成本。按照SFP標準[2],每個SFP模塊都提供了一個符合I2C標準的管理接口,通過I2C接口,系統可以獲得模塊的型號、參數和工作狀態等信息。

圖1 多網口后板的管理通道設計

圖2 優化的后板管理設計

如果把每個模塊的I2C接口總線都連接到如圖1所示的前板,則會造成浪費。因為一個I2C接口需要占用2個互連引腳,I2C占用的互連引腳越多,留給其他模塊的互連引腳就越少,而實際上有相當多的互連引腳被用于傳輸以太網的收發信號,才能保證足夠的數據通路帶寬。

另外,所有同類型SFP模塊的I2C接口的器件地址都是相同的,而I2C標準[3]規定每條I2C總線上不能存在兩個相同的器件地址,所以當它們與CPU相連時,必須經過I2C復用器(因為處理器通常沒有足夠的I2C總線接口)。I2C復用器可以采用專用的芯片實現(如PHILIPS公司的PCA9548A,支持將一個I2C接口擴展為8個I2C接口),也可以用CPLD或者FPGA實現。

(2)軟件方面:I2C是一種低速串行總線,頻率一般為100 kHz或 400 kHz。以 100 kHz為例,如果不考慮器件的響應時間,讀取一個字節大約耗費40個I2C時鐘周期(約0.4 ms)。因為處理器和I2C復用器之間只有一個I2C接口相連,處理器不得不通過逐個輪詢的方式去查詢各個SFP模塊的狀態變化,占用了大量的CPU資源;如果用中斷方式,SFP模塊標準中又沒有定義模塊的中斷引腳,硬件架構上不提供支持。所以,如何有效管理各個SFP模塊而又盡可能低地耗費CPU指令是軟硬件設計面對的一大難題。對以上問題,本文提出下面的優化解決方案。

2 優化的解決方案

為了解決硬件和軟件面臨的設計難題,本文從硬件架構入手,借助于CPLD或FPGA芯片,輔以高效的軟件設計,開發出了一套行之有效的解決方案。

2.1 硬件設計

為了減少I2C接口所占用的前后板互連引腳數目,本文將執行I2C復用功能的芯片放到了后板上,這樣只有一條I2C總線通過互連區域3(即只占用2根互連引腳),極大地節省了互連引腳的數目。另一方面,I2C復用器不采用商業專用芯片,而是采用CPLD或者FPGA,可為軟件設計提供較佳的靈活性 (如提供中斷機制)。在本設計中,采用了FPGA。

假設后板上安放了8個SFP插槽,與優化前的設計相比,優化后的設計節省了14個互連引腳。為了進一步提升處理器訪問后板SFP模塊的速率,本文用PCIe總線取代I2C總線,如圖2所示。連接FPGA和處理器,PCIe總線占用4根互連引腳,雖然比I2C總線多占2個引腳,但是速率提升到了 2.5 Gb/s,遠高于 I2C的速率,使處理器和I2C復用器之間的速率瓶頸問題得以解決。選擇PCIe的另一個好處是:如果采用中斷方式,則PCIe不需要專用的中斷引腳,因為它是依賴帶內消息中斷的。此外,連接FPGA和8個SFP插槽的8組I2C總線互相獨立,所以FPGA可以并行地訪問8個SFP模塊,比串行訪問的效率提升了8倍。

2.2 軟件設計

如何處理高速處理器與低速外圍總線之間的關系,是軟件設計的主要任務。處理器的速度一般在幾百到上千兆赫茲,而I2C總線的速度一般最高為400 kHz(普通的只有100 kHz),兩者完全不在一個數量級上。所以,FPGA不但要承擔擴展I2C總線的任務,而且要承擔管理低速總線設備的任務,使處理器有更多的時間處理計算量大、優先級高的任務。因此,軟件設計的主要工作在FPGA上。

FPGA中集成了2個成熟的IP核:一個是PCIe內核,工作于從設備(End Point)模式,1路通道(x1 Lane);另一個是 I2C內核,工作于主設備(Master)模式,各條總線互相獨立。FPGA軟件的設計需要考慮兩方面的因素:一是高效,盡可能降低CPU的負擔;二是支持熱插拔,因為SFP模塊隨時都可能被插入或拔出,導致I2C總線上正在運行的協議隨時會被中斷而產生異常。

FPGA中的寄存器設計以及與SFP模塊之間的控制連線如圖3所示。根據SFP標準[2],每個模塊會引出一個存在(Prt)信號和一個使能(En)信號,FPGA中的使能(En)寄存器通過使能信號控制每個模塊是否工作。存在(Prt)寄存器通過讀取存在信號反映每個 SFP插槽中是否插入了SFP模塊。重啟寄存器用于重啟各條I2C總線,特別是當I2C協議正在總線上運行時,模塊被突然拔出,I2C總線因為缺少客戶端的響應而產生異常,此時會在中斷狀態寄存器反映異常情況,并且自動重啟I2C總線,以便下次模塊插入時可以正常工作。CPU也可以主動設置指令寄存器來重啟某條I2C總線。

圖3 FPGA管理SFP模塊框圖

地址寄存器和數據寄存器成對出現,每一對寄存器對應一條I2C總線。當處理器需要讀取SFP模塊內的一個寄存器時,可以將寄存器地址設置到地址寄存器,再設置指令寄存器為讀操作。如果操作正常,則操作完成后,FPGA會把讀取的數據存放在對應的數據寄存器中;如果操作出現異常,則FPGA會設置中斷狀態寄存器的相關比特位反映異常情況;當處理器需要寫SFP模塊內的一個寄存器時,先把待寫數據寫入數據寄存器,并將寄存器地址寫入地址寄存器,再設置指令寄存器為寫操作。如果寫操作異常,FPGA也會設置中斷狀態寄存器的相關比特位反映異常情況。

中斷狀態寄存器反映了每條I2C總線的工作狀態以及模塊本身的狀態,例如:I2C總線工作是否正常、讀寫操作是否成功完成、模塊被拔出或者插入等。中斷屏蔽寄存器定義了各個狀態變化是否要觸發中斷上報機制。

指令寄存器在不同比特位針對每條I2C總線設置了讀、寫、輪詢和重啟4種指令(讀寫和重啟指令在前文中已有描述)。輪詢指令是指:如果SFP模塊存在且使能,則FPGA會不停地讀取SFP模塊中的寄存器(寄存器地址由地址寄存器指定),并將讀回的數據存放在數據寄存器中,供處理器隨時調用;同時可以設置中斷,如果本次讀的數值不同于上次讀的數值,則產生中斷并通知處理器。輪詢功能為系統軟件監測后板對外的以太網接口的鏈路狀態提供了強大的支持。因為在系統運行過程中,以太網鏈路可能被斷開或連接,鏈接狀態隨時可能變化。例如,速率從百兆變為十兆,或從千兆變為百兆;模式從全雙工變為半雙工。

許多SFP模塊的鏈路狀態可以從其中的一個物理層狀態寄存器獲得。假設處理器通過直接輪詢這個寄存器來獲得鏈路信息。如果I2C工作頻率為100 kHz,則讀取一個寄存器耗時約0.4 ms(8個SFP模塊共耗費約3.2 ms);在一個主頻為1 GHz的處理器中,輪詢一次占用的CPU資源高達3 200 000個CPU時鐘周期,處理器為了及時獲得模塊和鏈路狀態,不得不頻繁地(如每隔0.1 s)去輪詢一次,明顯降低了處理器的工作效率。然而,模塊和鏈路狀態不是一直在變化的,可能數小時或者幾周有一次變化,但是處理器如果不能及時捕獲這一次變化,就可能給系統運行造成致命的后果。例如鏈路斷開了沒有及時發現,仍然誤認為連接,將導致實際業務的中斷。而為了偶然出現的一次狀態變化,而頻繁地去輪詢查看低速設備的狀態,耗費大量的CPU資源是不值得的。

因此,在新的軟件設計中,由FPGA接管處理器的輪詢任務,以中斷方式上報給處理器,使處理器只要在系統初始化時去獲得SFP模塊和鏈路狀態,運行過程中幾乎不需要在I2C總線上浪費任何CPU資源。

另外,對某些中斷類型,例如模塊的插拔、鏈路狀態等,FPGA設計了防止“中斷風暴”的功能。“中斷風暴”是指短時間內有大量的中斷產生,直接影響處理器的效率甚至業務。例如有時SFP模塊或網線沒有插緊或者對端設備的網線虛插,可能引發狀態的頻率變化,觸發大量中斷產生。

因為在系統軟件中,中斷的優先級大于任何線程或任務,當中斷過多時,處理器就忙于處理中斷而無暇顧及正常的數據處理和業務。而FPGA會根據“中斷風暴寄存器”規定的時間間隔,統計相同類型的中斷數量,上報第一個發生的中斷和最后一個發生的中斷,隱瞞中間過程產生的中斷,從而提高了處理器效率。時間間隔的設置需要根據應用仔細權衡,一般設置為50 ms左右。此外,運行在處理器上的軟件發現某類中斷頻繁上報時,還可以通過設置中斷屏蔽寄存器禁止這類中斷,并輸出消息提醒用戶。

圖4是針對一個SFP模塊的FPGA的軟件流程。首先,FPGA讀入模塊的存在寄存器和使能寄存器,然后判斷模塊是否存在和使能,如果模塊不存在或者不使能則跳過;否則,根據指令寄存器中的指令進行相關操作。如果沒有設置指令,則跳過;如果是寫指令,則根據地址寄存器和數據寄存器的值進行寫操作;如果是讀指令,則根據地址寄存器中的數值進行讀操作,并將讀取的數值存放在數據寄存器中;如果設置了輪詢,則不斷地讀取設定的寄存器,更新數據寄存器中的數值。每種操作完成后都會調用中斷子程序,例如讀取存在寄存器后,FPGA會把當前數值和前一次的值進行比較,如果不同,則根據中斷屏蔽寄存器的設置觸發中斷;輪詢操作時數據寄存器的數值發生更新也可觸發中斷。

圖4 FPGA軟件流程圖

本設計采用軟、硬件相結合(包括SFP模塊頻繁插拔、鏈路狀態頻繁變化等),經過長時間連續集成測試,同時觀察CPU的利用率,后板模塊管理任務所占的CPU利用率始終低于0.1%,而且處理器沒有漏過任何一次模塊和鏈路的狀態變化。測試證明,優化后的設計不但可以長時間可靠工作,而且大幅度降低了處理器在管理多網口后板上的指令開銷,提高了處理器的利用率。本文介紹的優化后的后板的軟、硬件設計架構不但適合于ATCA標準的后板,也可以應用到CompactPCI標準和其他自定義后板的設計中。

[1]PICMG.PICMG R3.0 advancedTCA base specification[Z].2008.

[2]SFF Committee.SFF-8472 specification for diagnostic monitoring interface for optical transceivers[EB/OL]Rev 11,2010.9,ftp://ftp.seagate.com/sff/SFF-8472.PDF.

[3]PHILIPS.The I2C-bus specification version 2.1[Z].2000.

猜你喜歡
設計
二十四節氣在平面廣告設計中的應用
河北畫報(2020年8期)2020-10-27 02:54:06
何為設計的守護之道?
現代裝飾(2020年7期)2020-07-27 01:27:42
《豐收的喜悅展示設計》
流行色(2020年1期)2020-04-28 11:16:38
基于PWM的伺服控制系統設計
電子制作(2019年19期)2019-11-23 08:41:36
基于89C52的32只三色LED搖搖棒設計
電子制作(2019年15期)2019-08-27 01:11:50
基于ICL8038的波形發生器仿真設計
電子制作(2019年7期)2019-04-25 13:18:16
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
從平面設計到“設計健康”
商周刊(2017年26期)2017-04-25 08:13:04
主站蜘蛛池模板: 男女男精品视频| 亚洲视频欧美不卡| 五月六月伊人狠狠丁香网| 亚洲国产中文在线二区三区免| h网址在线观看| 国产毛片高清一级国语| 999精品色在线观看| 亚洲综合九九| 中文字幕资源站| 亚洲手机在线| 久久动漫精品| 欧美日韩在线亚洲国产人| 国产xxxxx免费视频| 99视频精品在线观看| 99精品福利视频| 日韩毛片在线播放| 久久精品亚洲热综合一区二区| 午夜三级在线| 波多野结衣视频网站| 国产理论最新国产精品视频| 热99re99首页精品亚洲五月天| 午夜精品久久久久久久无码软件 | 国产人在线成免费视频| 国产特级毛片aaaaaa| 怡春院欧美一区二区三区免费| 成人福利在线视频| 婷婷六月激情综合一区| 亚洲第一视频网| 国产综合精品一区二区| 久久午夜夜伦鲁鲁片不卡| 久久亚洲国产视频| 99热这里只有精品免费| 四虎成人在线视频| 四虎影视永久在线精品| 精品在线免费播放| 亚洲欧美日韩另类在线一| 日本妇乱子伦视频| 亚洲天堂网在线视频| 国产十八禁在线观看免费| 久草国产在线观看| 欧美一级高清片欧美国产欧美| 国产香蕉在线| 国产男人的天堂| 91国内外精品自在线播放| 亚洲妓女综合网995久久 | 国产女人18水真多毛片18精品 | 韩国自拍偷自拍亚洲精品| 中文字幕亚洲无线码一区女同| 毛片网站免费在线观看| 欧美激情综合| 中文字幕亚洲精品2页| 国产青榴视频| 日本道综合一本久久久88| 色婷婷视频在线| 精品少妇人妻av无码久久| 亚洲av日韩av制服丝袜| 日韩欧美中文| 香蕉eeww99国产在线观看| 欧美精品黑人粗大| 亚洲性网站| 狠狠v日韩v欧美v| 欧美在线观看不卡| 国产精品人莉莉成在线播放| 亚洲天堂网在线观看视频| 亚洲综合极品香蕉久久网| 亚洲欧美日韩成人高清在线一区| 成人免费一区二区三区| 99久久精品免费观看国产| 久久精品国产精品一区二区| 麻豆精品国产自产在线| 九月婷婷亚洲综合在线| 18禁黄无遮挡网站| 午夜国产精品视频黄| 成人福利在线视频免费观看| 狠狠综合久久| 国产91无码福利在线| 美女亚洲一区| 久草视频精品| 国产精品久久久久无码网站| 国产内射一区亚洲| 3p叠罗汉国产精品久久| 青青草综合网|