PCI Express總線(xiàn)接口板的設計與實(shí)現
PEX831l提供兩個(gè)串行E2PROM接口,在系統上電后讀取配置信息。SPI串行E2PROM是PCI Ex―press的配置E2PROM。它主要用來(lái)控制PCI Express的性能。SPI串行E2PROM可以用來(lái)預配置片上8 KB共享緩存。MicrOWire串行E2PROM是本地配置E2PROM,它用來(lái)控制本地總線(xiàn)行為,并分配合適的地址范圍。
本地總線(xiàn)部分是此次設計中的重點(diǎn)。PEX8311與CPLD相連的部分包括LA地址總線(xiàn)、LAD數據總線(xiàn)、LBE字節使能信號、Lw/R讀寫(xiě)信號等。
本地總線(xiàn)端的數據使用的是8位數據,在這種模式下LBE1和LBE0提供地址線(xiàn)線(xiàn)[1:O]。CPLD用來(lái)控制PEX8311的讀寫(xiě)操作和數據傳送。
SRAM用于存放用戶(hù)的數據和代碼,為程序的運行和保存臨時(shí)文件提供空間。SRAM的數據/地址線(xiàn)與PEX8311相連,SRAM的管理由CPLI實(shí)現。XRl6C854.是一款通用的串口通信控制器。它帶有128位的FIFOs和獨立的接收/發(fā)送FIFO計數器,完成最基本的串行通信功能。其數據/地址由PEX8311提供,讀/寫(xiě)/片選由CPLD控制。RS 422收發(fā)器要求傳輸速率高達10 Mb/s,選擇MAXII公司的M_AXl3087ECPLD如何設計實(shí)現PEX8311本地總線(xiàn)控制對整個(gè)功能的實(shí)現起著(zhù)至關(guān)重要的作用。PEX8311通過(guò)本地總線(xiàn)與本地設備進(jìn)行通信。它支持3種本地總線(xiàn)數據傳輸方式:?jiǎn)沃芷谀J健?周期突發(fā)模式、連續突發(fā)模式。下面簡(jiǎn)要介紹如何用CPLD實(shí)現單周期模式。
圖6為PEX8311的單周期讀寫(xiě)的VHDL語(yǔ)言時(shí)序控制狀態(tài)機設計。狀態(tài)O為空閑狀態(tài),如本地總線(xiàn)請求信號LHOLD被置為1,則轉到狀態(tài)1,否則停留在狀態(tài)O。狀態(tài)1為總線(xiàn)保持狀態(tài),在此狀態(tài)下應將本地總線(xiàn)響應信號LHOLDA置為1。如ADS信號為O且LW/R為1轉到狀態(tài)2;如ADS信號為l且Lw/R和BLAST都為0轉到狀態(tài)3,這次操作為單周期讀。狀態(tài)2為單周期寫(xiě)狀態(tài),在此狀態(tài)下要置READY信號為0,以表示寫(xiě)數據有效,在BLAST為O時(shí)轉到狀態(tài)3。狀態(tài)3為讀寫(xiě)完成操作狀態(tài),當LHOLD被置為O時(shí),表明PEX831l不再請求本地總線(xiàn),轉到狀態(tài)O,當BLAST為0且LHOLD為1時(shí),表明PEX8311還要進(jìn)行讀寫(xiě)數據,則轉到狀態(tài)1繼續。
3.3 PCI Express接口板的PCB設計
PCI Express接口板的PCB設計應遵循高速信號布線(xiàn)設計的要求。每個(gè)信號面都應有一個(gè)完整的地平面作為參考面,這樣的設計使信號走線(xiàn)都有最佳的電流回流途徑,有效地控制串擾、EMC和信號線(xiàn)的阻抗,保證信號質(zhì)量。PCB板上差分阻抗為100 Q±10 Q,符合PCI Express規范的要求。單端阻抗為50 Q±10 Q。PCI Express接口的物理連接由2對差分線(xiàn)對組成,信號線(xiàn)的數據傳輸率位2.5 Gb/s。所以必須對信號的走線(xiàn)進(jìn)行嚴格的控制。從PEX8311的輸出信號引腳到PCI Express接口的金手指的走線(xiàn)長(cháng)度不能超過(guò)25.4 mm。差分線(xiàn)對內的2條信號線(xiàn)最好嚴格等長(cháng),公差不能超過(guò)土0.127 mm,走線(xiàn)途徑基本相同。SRAM的頻率較高,所以要注意布線(xiàn)的長(cháng)度和路徑,以保證信號的完整性。實(shí)驗證明這樣的PCB設計充分滿(mǎn)足PCIExpr。ess接口信號的傳輸要求。
4 PCI Express接口板驅動(dòng)程序及軟件開(kāi)發(fā)
PCI Express總線(xiàn)與PCI總線(xiàn)在軟件層是完全兼容的,因此PCI Explress接口板驅動(dòng)程序的開(kāi)發(fā)過(guò)程與.PCI設備驅動(dòng)程序的開(kāi)發(fā)過(guò)程是相同的。
在Windows操作系統下,微軟公司提供了DDK開(kāi)發(fā)工具,同時(shí)其他公司也提供了開(kāi)發(fā)工具,如VtoolsD,Driverworks,WinDriver等。用DDK進(jìn)行開(kāi)發(fā),需要了解操作系統內核知識,開(kāi)發(fā)難度大,周期比較長(cháng)。用其他公司的開(kāi)發(fā)軟件,不用了解DDK的核心知識,開(kāi)發(fā)驅動(dòng)相對要快。其中JUNGO公司的WinDriver開(kāi)發(fā)工具,在用戶(hù)級(ring 3)進(jìn)行核心驅動(dòng)開(kāi)發(fā),時(shí)間短,并且產(chǎn)生的驅動(dòng)程序穩定高效,支持不同的操作系統,可移植性強。用戶(hù)接口函數可采用Microsoft Visual C++6.0進(jìn)行開(kāi)發(fā),提供標準的動(dòng)態(tài)庫函數,可供VB,Vc,Delphi等工具開(kāi)發(fā)的應用程序調用。用戶(hù)通過(guò)用戶(hù)接口函數對板卡上的資源進(jìn)行調度和訪(fǎng)問(wèn)。該設計采用驅動(dòng)程序開(kāi)發(fā)工具WinDriver,進(jìn)行相應模塊的驅動(dòng)程序開(kāi)發(fā),實(shí)現在 Win―dows操作系統下的安裝和配置。
5 結 語(yǔ)
經(jīng)測試,該接口板在單字讀寫(xiě)模式下,執行程序死循環(huán),CPU占用率80%以上,數據傳送速率6 Mb/s;在突發(fā)讀寫(xiě)模式下,執行內存塊復制,CPU占用率80%以上,數據傳送速率60 Mb/s;在DMA突發(fā)讀寫(xiě)模式下,執行直接存儲,CPU占用率10%,數據傳送速率240 Mb/s。通過(guò)與普通PCI19054接口板的對比,PCIE。xpreSS接口板具有明顯優(yōu)勢。這里介紹了PCI Ex-press接口板的軟硬件設計。提供了PCI Express接口板設計模板,為日后軍用CPCI總線(xiàn)功能模板向PCI-ExpreSS總線(xiàn)的過(guò)渡提供設計參考。
評論