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

基于PCI Express總線的高速光纖接口卡的設(shè)計與實現(xiàn)

2011-07-02 10:48:14李佩玥章明朝隋永新楊懷江
電子技術(shù)應(yīng)用 2011年5期
關(guān)鍵詞:設(shè)計

陳 雪 ,李佩玥 ,章明朝 ,隋永新 ,楊懷江

(1.中國科學(xué)院長春光學(xué)精密機械與物理研究所,吉林 長春130033;2.中國科學(xué)院研究生院,北京100039)

在遠程實時控制、高速數(shù)據(jù)交換、高速光纖組網(wǎng)等領(lǐng)域,如何實現(xiàn)數(shù)據(jù)的高速實時采集和遠程傳輸已經(jīng)成為關(guān)鍵問題。目前的解決方案大都基于PCI總線,并利用電纜進行遠程傳輸。這種方式的共享總線,可達到的理論極限速率為133 Mb/s,遠不能滿足需求。而且在遠距離傳輸時損耗高,抗電磁干擾性低,信息容易被竊取。

與PCI總線相比,第三代高性能I/O總線——PCI Express(以下簡稱PCI-E)總線在總線結(jié)構(gòu)上采取了根本性的變革。一是由并行總線變?yōu)榇锌偩€,二是采用點到點的互連。PCI-E總線×1通路數(shù)據(jù)傳輸率達0.5 Gb/s,32通路時可高達可達到16 Gb/s,大大高于目前任何一種總線,可以滿足當前及將來一段時期高速設(shè)備的帶寬需求。同時,由于總線變成鏈路,PCI-E引腳數(shù)大大減少,平均帶寬大幅提升[1]。

與電纜等其他通信介質(zhì)相比,光纖通信具有傳輸速度快、損耗低、容量大、占用帶寬低、抗電磁干擾的優(yōu)點,非常適合于遠程高速數(shù)據(jù)傳輸。

由此,本文提出了基于PCI Express總線的高速光纖通信方式。在分析PCI Express協(xié)議、LocalLink協(xié)議和Aurora協(xié)議的基礎(chǔ)上,使用Virtex 5 XC5VLX50T FPGA進行接口卡的硬件設(shè)計,實現(xiàn)了PCI-E的DMA控制和光纖遠程傳輸,滿足了大容量數(shù)據(jù)的高速實時傳輸需求。

1 系統(tǒng)框圖

高速光纖接口卡主要分為PCI-E金手指、FPGA、光模塊、配置 PROM、時鐘管理、電源管理6個模塊,如圖1。

當主機通過板卡向外發(fā)送數(shù)據(jù)時,數(shù)據(jù)經(jīng)PCI-E插槽傳給FPGA的PCI-E差分接收端,并經(jīng)DMA控制后,被大量取出,放入發(fā)送FIFO中進行緩存。在發(fā)送FIFO控制邏輯下,F(xiàn)IFO數(shù)據(jù)被轉(zhuǎn)化為16 bit的LocalLink格式傳給 Aurora IP(Intelligence Property)核。Aurora IP 核通過GTP差分發(fā)送端將數(shù)據(jù)傳送給光模塊。數(shù)據(jù)經(jīng)過光模塊的電光轉(zhuǎn)化后,由光纖傳出板卡。主機通過板卡接收外界數(shù)據(jù)的過程與上述過程基本相反,如圖1。

FPGA是板卡的核心器件。在此選用Xilinx公司Virtex-5系列XC5VLX50T芯片。FPGA負責實現(xiàn)板卡的主要邏輯,包括:(1)PCI Express的物理層、數(shù)據(jù)鏈路層、事務(wù)層的實現(xiàn);(2)PCI Express的 DMA控制;(3)控制發(fā)送、接收緩沖;(4)LocalLink鏈路接口;(5)利用 Aurora協(xié)議實現(xiàn)光纖接口。

LocalLink接口是一種點對點的高效同步連接協(xié)議,可以連接用戶設(shè)計與系統(tǒng)級Xilinx IP核。在PCI-E高速板卡的設(shè)計中,Xilinx提供的Aurora核和PCI-E核均采用LocalLink接口與用戶邏輯進行通信[2]。

2 系統(tǒng)實現(xiàn)

2.1 PCI-E接口實現(xiàn)

以往PCI-E的實現(xiàn)主要使用專用接口芯片(如PEX-8311)或使用FPGA編程實現(xiàn)PCI-E各層。第一種方法利用接口芯片實現(xiàn)物理層、數(shù)據(jù)鏈路層和事務(wù)層的邏輯控制,但使用芯片多、成本高。第二種方法具有靈活的可編程性,但是開發(fā)難度比較大,開發(fā)周期長。因此,Xilinx為PCI-E設(shè)計提供了第三種快速高效的解決方案,即利用Virtex-5芯片內(nèi)嵌的Rocket I/O模塊、硬核端點PCI-E模塊及可選的軟核IP,大大降低了PCI-E的開發(fā)難度。

板卡設(shè)計中,使用IP核Endpoint Block Plus for PCI Express,并配置其為×4 PCI-E通路,傳統(tǒng) INTx中斷,僅使用BAR0區(qū)用作程序中的控制寄存器區(qū)。該IP核與PCI Express V1.1規(guī)范完全兼容,達到2.5 Gb/s的線速率, 支持×1、×4、×8多種通路, 支持 32vector的 MSI中斷,且具有時鐘補償、自動時鐘恢復(fù)、8B/10B編碼、流控等多種功能[3]。

2.2 PCI-E高速DMA控制

PCI Express端點有PIO和DMA兩種數(shù)據(jù)傳輸方式。PIO方式是由CPU通過根復(fù)合器發(fā)起的讀寫操作,由于需要CPU的發(fā)起,所以速度和效率不是很高。DMA方式直接對內(nèi)存進行讀寫,由本地PCI Express端點發(fā)出,其效率比PIO模式高出很多倍。DMA傳輸?shù)幕玖鞒倘鐖D2。

圖2 PCI-E DMA發(fā)送、接收數(shù)據(jù)過程圖

當主機通過板卡向外發(fā)送數(shù)據(jù)時,主機的PCI Express端口向板卡寫大量數(shù)據(jù)。如圖2(a)所示,可分為以下幾步:

①主機向板卡發(fā)送MWR(存儲器寫)TLP(事務(wù)層包),依次寫入要發(fā)送數(shù)據(jù)的地址、總長度len_sum,及控制寄存器的發(fā)送開始位,從而啟動DMA發(fā)送。

②板卡根據(jù)①中的地址和總長度,發(fā)送MRD(存儲器讀)請求,申請讀取長度為len_temp的有效數(shù)據(jù)。注意讀請求申請的長度len_temp不得大于主機PCI-E設(shè)備控制寄存器中Max Read Request Size所設(shè)定的長度,否則將不會返回正確長度的CPLD(帶有數(shù)據(jù)的完成)。

圖1 板卡系統(tǒng)框圖

③主機返回len_temp長度的CPLD。重復(fù)過程②和③,直至板卡總共收到len_sum長度的數(shù)據(jù),DMA過程完成,置位中斷標志寄存器的XMIT_COMP標志位。

④主機發(fā)送MRD,讀取中斷標志寄存器的值。

⑤板卡收到讀取中斷標志寄存器的請求后,返回中斷標志寄存器的值,并立即將中斷標志寄存器清0。

當主機通過板卡接收外界數(shù)據(jù)時,主機的PCI–E端口從板卡讀大量數(shù)據(jù)。如圖2(b)所示,可分為以下幾步:

①主機向板卡發(fā)送MWR,依次寫入主機中準備存放數(shù)據(jù)的地址、控制寄存器的接收開始位,從而啟動DMA傳輸。

②當接收FIFO中收到不少于某一定量的數(shù)據(jù)后,板卡通過多個MRD將這些數(shù)據(jù)寫入主機,完成一個包的DMA傳輸。注意每次寫請求的長度不得大于主機PCI-E設(shè)備控制寄存器中Max Payload所設(shè)定的長度,否則將不能完整寫入數(shù)據(jù)。

重復(fù)②直至寫入MAX_PACK_COUNT個包或超時時間到達,置位中斷標志寄存器的RECV_COMP位,并將收到包的總個數(shù)保存到接收包個數(shù)寄存器。

③主機發(fā)送存儲器讀請求,讀取中斷標志寄存器。

④板卡收到讀取中斷標志寄存器的請求后,返回中斷標志寄存器的值,并立即將中斷標志寄存器清0。

⑤主機發(fā)送存儲器讀請求,讀取接收包個數(shù)寄存器的值。

⑥板卡返回CPLD,攜帶數(shù)據(jù)為接收包的個數(shù)。

DMA控制邏輯的組成如圖3所示。

接收狀態(tài)機負責根據(jù)板卡從主機接收到的TLP包類型進行相應(yīng)的處理,并將欲發(fā)送給光纖的數(shù)據(jù)存入發(fā)送FIFO。根據(jù)圖2可見,接收狀態(tài)機需要處理的事務(wù)包括 MWR、MRD、CPLD。

發(fā)送狀態(tài)機負責從接收FIFO中取數(shù)據(jù),并根據(jù)DMA控制的狀態(tài),發(fā)送相應(yīng)的TLP包給主機。根據(jù)圖2可見,接收狀態(tài)機需要處理的事務(wù)包括MWR、MRD、CPLD。

中斷處理可以產(chǎn)生MSI或INTx兩種模式的中斷[1]。具體模式可以通過配置MSI控制寄存器的值來選擇。板卡中定義的中斷有XMIT_COMP、RECV_COMP。板卡收到主機的讀中斷請求后,要及時清除中斷標志,以防止中斷再次誤觸發(fā)。主機根據(jù)讀取到的中斷標志寄存器的值進入相應(yīng)的中斷處理程序進行處理。

錯誤處理可以將DMA控制模塊中產(chǎn)生的錯誤匯報給 PCI-E IP核,包括非轉(zhuǎn)發(fā) UR(Unexpected Request)錯誤、轉(zhuǎn)發(fā)UR錯誤、超時錯誤等。

發(fā)送FIFO及接收FIFO均為異步FIFO,除進行數(shù)據(jù)緩存外,還完成了數(shù)據(jù)寬度32 bit和16 bit之間的相互轉(zhuǎn)化及時鐘域的變化。

2.3 光纖通道實現(xiàn)

光纖通道通過Aurora協(xié)議實現(xiàn)。Aurora協(xié)議是一種可升級、小型鏈路層協(xié)議,可以用來進行點到點的串行鏈路數(shù)據(jù)傳輸,同時消除了其他串行協(xié)議的資源不足、效率低等問題。Aurora是一個開放的協(xié)議,可以在包括FPGA、ASIC、ASSP在內(nèi)的任何硅器件技術(shù)中實現(xiàn)。Aurora支持光纖、TCP/IP、以太網(wǎng)等高層協(xié)議[4]。

在Xilinx的FPGA器件中,可以通過IP核GTP Aurora實現(xiàn)。其不僅定義了Aurora協(xié)議的物理接口,而且定義了包結(jié)構(gòu)、數(shù)據(jù)提取和流量控制等。IP核生成文件中包含有效鏈路的初始化程序、發(fā)生過量錯誤的鏈路相關(guān)程序、嵌入其他協(xié)議包的推薦程序等。

在本文的高速光纖網(wǎng)卡設(shè)計中,采用125 MHz參考時鐘,進行1通道帶流量控制的全雙工幀接口通信,可達到1.25 Gb/s線速率。

3 軟件仿真和性能測試

在板卡的開發(fā)設(shè)計過程中,對其進行了軟件仿真及實際性能測試。

軟件仿真中,利用Modelsim前仿真功能,對設(shè)計的正確性進行驗證;利用其后仿真功能,分析布局布線對設(shè)計的影響。仿真時,將Xilinx提供的下行端口(Downstream port model)測試平臺與自己的設(shè)計相連。下行端口模型的用途是模擬主機PCI-E端口,為生成下行 PCI Express TLP流量提供源機制,以驅(qū)動客戶設(shè)計,同時提供目標機制,以在仿真環(huán)境中接收來自客戶設(shè)計的上行 PCI Express TLP[5]。后仿真中,發(fā)現(xiàn)布局布線會對功能有一定的影響。對關(guān)鍵路徑進行修改后得到的最終發(fā)送和接收的DMA仿真波形如圖4和圖5所示。由圖可見,設(shè)計實現(xiàn)了預(yù)期的功能,且通過DMA,有效提高了PCI-E的數(shù)據(jù)速率。

實際性能測試中,將插有Agilent 1310 nm雙向單模SFP光模塊(極限速率1.25 Gb/s)的兩塊高速光纖網(wǎng)卡分別插入兩臺服務(wù)器Dell Power Edge R310的PCI-E插槽中,并使用chipscope對關(guān)鍵信號進行邏輯分析。通過連續(xù)發(fā)送大批量數(shù)據(jù),對板卡進行性能測試。測試結(jié)果表明,板卡可以穩(wěn)定地達到700 Mb/s的通信速率,滿足設(shè)計要求。

圖4 發(fā)送DMA仿真波形

圖5 接收DMA仿真波形

板卡的速度瓶頸主要在于光纖接口。若要提高板卡速率,可以使用更高速的光模塊或使用多個光纖鏈路。

經(jīng)過測試,該接口卡可以實現(xiàn)數(shù)據(jù)的高速、實時、穩(wěn)定傳輸。該光纖接口卡在高速數(shù)據(jù)遠程采集、遠程實時控制、高速數(shù)據(jù)交換、高速光纖網(wǎng)絡(luò)通信等領(lǐng)域,將有廣闊的應(yīng)用前景。

[1]馬鳴錦,朱劍冰,何紅旗,等.PCI、PCI-X和 PCI Express的原理及體系結(jié)構(gòu)[M].北京:清華大學(xué)出版社,2007.

[2]Xilinx.LocalLink Interface Specification SP006.July 25,2005.

[3]Xilinx.Endpoint Block Plus v1.9 for PCI Express DS551.2008(9),19.

[4]田耘,胡斌,徐文波.Xilinx ISE Design Suite 10.x FPGA開發(fā)指南——DSP、嵌入式與高速設(shè)計篇[M].北京:人民郵電出版社,2008.

[5]Xilinx.LogiCORE IP Endpoint Block Plus v1.9 for PCI Express User Guide UG341.2008(9),19.

猜你喜歡
設(shè)計
二十四節(jié)氣在平面廣告設(shè)計中的應(yīng)用
河北畫報(2020年8期)2020-10-27 02:54:06
何為設(shè)計的守護之道?
《豐收的喜悅展示設(shè)計》
流行色(2020年1期)2020-04-28 11:16:38
基于PWM的伺服控制系統(tǒng)設(shè)計
電子制作(2019年19期)2019-11-23 08:41:36
基于89C52的32只三色LED搖搖棒設(shè)計
電子制作(2019年15期)2019-08-27 01:11:50
基于ICL8038的波形發(fā)生器仿真設(shè)計
電子制作(2019年7期)2019-04-25 13:18:16
瞞天過海——仿生設(shè)計萌到家
設(shè)計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設(shè)計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
從平面設(shè)計到“設(shè)計健康”
商周刊(2017年26期)2017-04-25 08:13:04
主站蜘蛛池模板: 国内精品久久久久久久久久影视| 国产精品午夜福利麻豆| 国产成人精品2021欧美日韩| 91精品亚洲| 狠狠躁天天躁夜夜躁婷婷| 91成人在线观看| 夜夜拍夜夜爽| 毛片久久网站小视频| 天天躁夜夜躁狠狠躁躁88| 色噜噜综合网| 亚洲有码在线播放| 国产精品福利一区二区久久| 97影院午夜在线观看视频| lhav亚洲精品| 狠狠色丁婷婷综合久久| 亚洲欧美综合另类图片小说区| 国产福利大秀91| 日韩一区二区三免费高清| 无码AV动漫| 欧美va亚洲va香蕉在线| 久久这里只有精品23| 综合色88| 456亚洲人成高清在线| 五月婷婷精品| 激情网址在线观看| 久久91精品牛牛| 伊人网址在线| 99无码中文字幕视频| 久久公开视频| av在线人妻熟妇| 在线无码av一区二区三区| 人妻91无码色偷偷色噜噜噜| 伊人国产无码高清视频| 熟妇无码人妻| 中文一级毛片| 色香蕉网站| 国产精品手机在线观看你懂的| 女同国产精品一区二区| a在线亚洲男人的天堂试看| 国产亚洲欧美在线视频| 国产青榴视频| 国产黄色片在线看| 91免费在线看| 国产美女精品一区二区| 中国一级毛片免费观看| 久久鸭综合久久国产| 欧美日韩国产精品va| 久久国产高潮流白浆免费观看| 不卡无码网| 国产网站免费| 欧美国产日韩在线| 天天摸夜夜操| 国产日韩欧美在线视频免费观看| 久久亚洲美女精品国产精品| 亚洲熟女偷拍| 国产成人1024精品下载| 亚洲精品国产综合99| 欧美va亚洲va香蕉在线| 免费激情网站| 97亚洲色综久久精品| 人妻21p大胆| 一级成人a做片免费| 久久免费视频6| 中文字幕永久视频| www成人国产在线观看网站| 伊人久久青草青青综合| 999国内精品视频免费| 国产一区二区三区日韩精品| 国产欧美日韩一区二区视频在线| 亚洲人成网站观看在线观看| 亚洲精品午夜天堂网页| 国产欧美精品午夜在线播放| 日本亚洲国产一区二区三区| 国产成人你懂的在线观看| 人妻无码中文字幕第一区| 99久久国产综合精品女同 | 午夜视频日本| 亚洲无码视频喷水| 91九色国产porny| 波多野结衣第一页| 国产成人精品一区二区| 99久久国产自偷自偷免费一区|