亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

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

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

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

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

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

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

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

        1 系統(tǒng)框圖

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

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

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

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

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

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

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

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

        2.2 PCI-E高速DMA控制

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

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

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

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

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

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

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

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

        ⑤板卡收到讀取中斷標(biāo)志寄存器的請(qǐng)求后,返回中斷標(biāo)志寄存器的值,并立即將中斷標(biāo)志寄存器清0。

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

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

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

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

        ③主機(jī)發(fā)送存儲(chǔ)器讀請(qǐng)求,讀取中斷標(biāo)志寄存器。

        ④板卡收到讀取中斷標(biāo)志寄存器的請(qǐng)求后,返回中斷標(biāo)志寄存器的值,并立即將中斷標(biāo)志寄存器清0。

        ⑤主機(jī)發(fā)送存儲(chǔ)器讀請(qǐng)求,讀取接收包個(gè)數(shù)寄存器的值。

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

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

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

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

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

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

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

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

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

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

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

        3 軟件仿真和性能測(cè)試

        在板卡的開(kāi)發(fā)設(shè)計(jì)過(guò)程中,對(duì)其進(jìn)行了軟件仿真及實(shí)際性能測(cè)試。

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

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

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

        圖5 接收DMA仿真波形

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

        經(jīng)過(guò)測(cè)試,該接口卡可以實(shí)現(xiàn)數(shù)據(jù)的高速、實(shí)時(shí)、穩(wěn)定傳輸。該光纖接口卡在高速數(shù)據(jù)遠(yuǎn)程采集、遠(yuǎn)程實(shí)時(shí)控制、高速數(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開(kāi)發(fā)指南——DSP、嵌入式與高速設(shè)計(jì)篇[M].北京:人民郵電出版社,2008.

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

        猜你喜歡
        設(shè)計(jì)
        二十四節(jié)氣在平面廣告設(shè)計(jì)中的應(yīng)用
        何為設(shè)計(jì)的守護(hù)之道?
        《豐收的喜悅展示設(shè)計(jì)》
        流行色(2020年1期)2020-04-28 11:16:38
        基于PWM的伺服控制系統(tǒng)設(shè)計(jì)
        電子制作(2019年19期)2019-11-23 08:41:36
        基于89C52的32只三色LED搖搖棒設(shè)計(jì)
        電子制作(2019年15期)2019-08-27 01:11:50
        基于ICL8038的波形發(fā)生器仿真設(shè)計(jì)
        電子制作(2019年7期)2019-04-25 13:18:16
        瞞天過(guò)?!律O(shè)計(jì)萌到家
        設(shè)計(jì)秀
        海峽姐妹(2017年7期)2017-07-31 19:08:17
        有種設(shè)計(jì)叫而專(zhuān)
        Coco薇(2017年5期)2017-06-05 08:53:16
        從平面設(shè)計(jì)到“設(shè)計(jì)健康”
        商周刊(2017年26期)2017-04-25 08:13:04
        国产视频一区二区三区观看| 国产又爽又黄的激情精品视频| 国产精品网站夜色| 最新日韩精品视频免费在线观看| 国产精品无套一区二区久久 | 日本亚洲欧美在线观看| 亚洲av色在线观看网站| 亚洲av无一区二区三区| 免费网站看v片在线18禁无码| 巨大欧美黑人xxxxbbbb| av日本一区不卡亚洲午夜| 男女av免费视频网站| 亚洲国产日韩精品一区二区三区| 日韩一级特黄毛片在线看| 成人国产自拍在线播放| 亚洲高清一区二区三区在线播放 | 亚洲精品一区二区| 精品一区二区av天堂| 麻豆国产成人av高清在线| 国产精品美女久久久免费 | 蜜桃视频网站在线免费观看| 国产精品一区二区三区卡| 性一交一乱一伧国产女士spa| 国产人成亚洲第一网站在线播放| 国产精品中文字幕日韩精品| 狠狠摸狠狠澡| 无码人妻精品一区二区三18禁 | 欧美在线综合| 黄片午夜免费观看视频国产| 婷婷亚洲岛国热超碰中文字幕| 亚洲精品92内射| 少妇的诱惑免费在线观看| 亚洲国产日韩一区二区三区四区| 国产午夜福利精品一区二区三区| 免费一区二区三区久久| 日本在线中文字幕一区二区| 久久综合噜噜激激的五月天| 国产婷婷一区二区三区| 丁香九月综合激情| 午夜一区二区视频在线观看| 看av免费毛片手机播放|