<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > PCI Express總線接口板的設(shè)計(jì)與實(shí)現(xiàn)

          PCI Express總線接口板的設(shè)計(jì)與實(shí)現(xiàn)

          作者: 時(shí)間:2009-07-16 來源:網(wǎng)絡(luò) 收藏

          PEX831l提供兩個(gè)串行E2PROM接口,在系統(tǒng)上電后讀取配置信息。SPI串行E2PROM是 Ex―press的配置E2PROM。它主要用來控制 的性能。SPI串行E2PROM可以用來預(yù)配置片上8 KB共享緩存。MicrOWire串行E2PROM是本地配置E2PROM,它用來控制本地行為,并分配合適的地址范圍。
          本地部分是此次設(shè)計(jì)中的重點(diǎn)。PEX8311與CPLD相連的部分包括LA地址、LAD數(shù)據(jù)總線、LBE字節(jié)使能信號(hào)、Lw/R讀寫信號(hào)等。
          本地總線端的數(shù)據(jù)使用的是8位數(shù)據(jù),在這種模式下LBE1和LBE0提供地址線線[1:O]。CPLD用來控制PEX8311的讀寫操作和數(shù)據(jù)傳送。
          SRAM用于存放用戶的數(shù)據(jù)和代碼,為程序的運(yùn)行和保存臨時(shí)文件提供空間。SRAM的數(shù)據(jù)/地址線與PEX8311相連,SRAM的管理由CPLI實(shí)現(xiàn)。XRl6C854.是一款通用的串口通信控制器。它帶有128位的FIFOs和獨(dú)立的接收/發(fā)送FIFO計(jì)數(shù)器,完成最基本的串行通信功能。其數(shù)據(jù)/地址由PEX8311提供,讀/寫/片選由CPLD控制。RS 422收發(fā)器要求傳輸速率高達(dá)10 Mb/s,選擇MAXII公司的M_AXl3087ECPLD如何設(shè)計(jì)實(shí)現(xiàn)PEX8311本地總線控制對(duì)整個(gè)功能的實(shí)現(xiàn)起著至關(guān)重要的作用。PEX8311通過本地總線與本地設(shè)備進(jìn)行通信。它支持3種本地總線數(shù)據(jù)傳輸方式:單周期模式、4周期突發(fā)模式、連續(xù)突發(fā)模式。下面簡要介紹如何用CPLD實(shí)現(xiàn)單周期模式。
          圖6為PEX8311的單周期讀寫的VHDL語言時(shí)序控制狀態(tài)機(jī)設(shè)計(jì)。狀態(tài)O為空閑狀態(tài),如本地總線請(qǐng)求信號(hào)LHOLD被置為1,則轉(zhuǎn)到狀態(tài)1,否則停留在狀態(tài)O。狀態(tài)1為總線保持狀態(tài),在此狀態(tài)下應(yīng)將本地總線響應(yīng)信號(hào)LHOLDA置為1。如ADS信號(hào)為O且LW/R為1轉(zhuǎn)到狀態(tài)2;如ADS信號(hào)為l且Lw/R和BLAST都為0轉(zhuǎn)到狀態(tài)3,這次操作為單周期讀。狀態(tài)2為單周期寫狀態(tài),在此狀態(tài)下要置READY信號(hào)為0,以表示寫數(shù)據(jù)有效,在BLAST為O時(shí)轉(zhuǎn)到狀態(tài)3。狀態(tài)3為讀寫完成操作狀態(tài),當(dāng)LHOLD被置為O時(shí),表明PEX831l不再請(qǐng)求本地總線,轉(zhuǎn)到狀態(tài)O,當(dāng)BLAST為0且LHOLD為1時(shí),表明PEX8311還要進(jìn)行讀寫數(shù)據(jù),則轉(zhuǎn)到狀態(tài)1繼續(xù)。

          3.3 的PCB設(shè)計(jì)
          PCI 的PCB設(shè)計(jì)應(yīng)遵循高速信號(hào)布線設(shè)計(jì)的要求。每個(gè)信號(hào)面都應(yīng)有一個(gè)完整的地平面作為參考面,這樣的設(shè)計(jì)使信號(hào)走線都有最佳的電流回流途徑,有效地控制串?dāng)_、EMC和信號(hào)線的阻抗,保證信號(hào)質(zhì)量。PCB板上差分阻抗為100 Q±10 Q,符合PCI Express規(guī)范的要求。單端阻抗為50 Q±10 Q。PCI Express接口的物理連接由2對(duì)差分線對(duì)組成,信號(hào)線的數(shù)據(jù)傳輸率位2.5 Gb/s。所以必須對(duì)信號(hào)的走線進(jìn)行嚴(yán)格的控制。從PEX8311的輸出信號(hào)引腳到PCI Express接口的金手指的走線長度不能超過25.4 mm。差分線對(duì)內(nèi)的2條信號(hào)線最好嚴(yán)格等長,公差不能超過土0.127 mm,走線途徑基本相同。SRAM的頻率較高,所以要注意布線的長度和路徑,以保證信號(hào)的完整性。實(shí)驗(yàn)證明這樣的PCB設(shè)計(jì)充分滿足PCIExpr。ess接口信號(hào)的傳輸要求。

          4 PCI Express驅(qū)動(dòng)程序及軟件開發(fā)
          PCI Express總線與PCI總線在軟件層是完全兼容的,因此PCI Explress接口板驅(qū)動(dòng)程序的開發(fā)過程與.PCI設(shè)備驅(qū)動(dòng)程序的開發(fā)過程是相同的。
          在Windows操作系統(tǒng)下,微軟公司提供了DDK開發(fā)工具,同時(shí)其他公司也提供了開發(fā)工具,如VtoolsD,Driverworks,WinDriver等。用DDK進(jìn)行開發(fā),需要了解操作系統(tǒng)內(nèi)核知識(shí),開發(fā)難度大,周期比較長。用其他公司的開發(fā)軟件,不用了解DDK的核心知識(shí),開發(fā)驅(qū)動(dòng)相對(duì)要快。其中JUNGO公司的WinDriver開發(fā)工具,在用戶級(jí)(ring 3)進(jìn)行核心驅(qū)動(dòng)開發(fā),時(shí)間短,并且產(chǎn)生的驅(qū)動(dòng)程序穩(wěn)定高效,支持不同的操作系統(tǒng),可移植性強(qiáng)。用戶接口函數(shù)可采用Microsoft Visual C++6.0進(jìn)行開發(fā),提供標(biāo)準(zhǔn)的動(dòng)態(tài)庫函數(shù),可供VB,Vc,Delphi等工具開發(fā)的應(yīng)用程序調(diào)用。用戶通過用戶接口函數(shù)對(duì)板卡上的資源進(jìn)行調(diào)度和訪問。該設(shè)計(jì)采用驅(qū)動(dòng)程序開發(fā)工具WinDriver,進(jìn)行相應(yīng)模塊的驅(qū)動(dòng)程序開發(fā),實(shí)現(xiàn)在 Win―dows操作系統(tǒng)下的安裝和配置。

          5 結(jié) 語
          經(jīng)測試,該接口板在單字讀寫模式下,執(zhí)行程序死循環(huán),CPU占用率80%以上,數(shù)據(jù)傳送速率6 Mb/s;在突發(fā)讀寫模式下,執(zhí)行內(nèi)存塊復(fù)制,CPU占用率80%以上,數(shù)據(jù)傳送速率60 Mb/s;在DMA突發(fā)讀寫模式下,執(zhí)行直接存儲(chǔ),CPU占用率10%,數(shù)據(jù)傳送速率240 Mb/s。通過與普通PCI19054接口板的對(duì)比,PCIE。xpreSS接口板具有明顯優(yōu)勢。這里介紹了PCI Ex-press接口板的軟硬件設(shè)計(jì)。提供了PCI Express接口板設(shè)計(jì)模板,為日后軍用CPCI總線功能模板向PCI-ExpreSS總線的過渡提供設(shè)計(jì)參考。


          上一頁 1 2 下一頁

          關(guān)鍵詞: Express PCI 總線 接口板

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();