本站小編為你精心準備了CPCI總線接口設計方法參考范文,愿這些范文能點燃您思維的火花,激發(fā)您的寫作靈感。歡迎深入閱讀并收藏。
摘要:
隨著科學技術不斷發(fā)展,新一代嵌入式前端處理中總線速率和CPU處理器技術在多種裝備設計制造中不斷得到廣泛應用。本文立足于在對cpci總線標準進行深入研究的基礎上,對基于FPGA的CPCI總線接口設計方法進行了進一步的學習探討,并對其接口設計功能進行了簡單分析,希望可以在以后的工作中提供一些借鑒作用。
關鍵詞:
FPGA;CPCI;總線接口
PCI工業(yè)計算機廠商聯(lián)盟制定的CPCI規(guī)范,在嵌入式應用和工業(yè)中得到了廣泛的應用。在軟件功能、邏輯以及電氣方面其能夠很好的兼容于PCI標準。在本次設計探討中選擇了FPGA芯片和CPCI協(xié)議轉換芯片PCI9030,將簡化的PCI接口邏輯設計完成,并且保證了具有32bit數(shù)據(jù)寬度、33MHz總線周期的PCI從設備模塊的接口功能的實現(xiàn),將大量的邏輯資源節(jié)省了下來。
1基于FPGA的CPCI總線接口設計的系統(tǒng)分析
現(xiàn)在設計CPCI總線接口與設計PCI接口采用了相同的方法,一般都會選擇兩種方案,也就是專用總線接口和可編程邏輯器件。其中可編程邏輯器件主要是以PCI協(xié)議為根據(jù)使PCI總線接口控制器得以實現(xiàn),然而由于PCI協(xié)議具有非常高的復雜性,因此其具有較長的周期和較大的開發(fā)難度,并且無法在較短的時間內保證系統(tǒng)穩(wěn)定的實現(xiàn)。目前很多開發(fā)者都是選擇現(xiàn)成的PCI接口器件,其具有很高的通用性和較低的成本,并且可以對數(shù)據(jù)傳輸進行優(yōu)化,將相應的配置空間提供出來,因此其屬于一種不僅省時而且省力的方案。選擇FPGA+PCI接口芯片構建本系統(tǒng),其主要由Altera的FPGA芯片和PCI9030共同組成。選擇EP2C35F672I8器件作為FPGA芯片,其能夠利用硬件描述語言將控制時序信號形成,完成讀寫地址總線和數(shù)據(jù)總線,從而實現(xiàn)與CPCI數(shù)據(jù)總線的通信工作。PCI9030一共提供了3種物理總線接口,也就是PCI總線接口、串行EEPROM接口以及LOCAL總線接口,其同時還包括若干個中斷發(fā)生器、可編程片選信號、可編程GPIO接口以及LOCAL總線地址到PCI總線空間。
2基于FPGA的CPCI總線接口設計分析
利用橋片PCI9030FPGA就可以連接CPCI總線,其內部在進行高速數(shù)據(jù)緩沖的時候主要是采用異步雙口RAM來實現(xiàn)的。橋片的信號一共包括本地總線信號、串行EEPROM接口信號以及PCI總線信號。其中的J1、J2的總線信號可以與PCI總線信號實現(xiàn)相互連接,因此不必對其進行特殊處理。由于選擇的是與SPI接口規(guī)范相符合的串行EEPROM接口,因此能夠對相應的IP包進行調用。與本地功能設備的接口使用本地總線信號,其具有簡單的操作和簡單時序的特點。J1上的INTA必須要連接外設板卡的中斷引腳,這樣才能夠確保可靠有效的中斷信號。PCI9030器件需要3.3V的工作電壓,然而其提供的VIO信號可以自適應3.3V和5.0V的接口電平。為了能夠使卡板上總線受到的CPCI總線的信號線分支的影響得以減輕,就必須要選擇串聯(lián)電阻的方式對總線信號進行匹配。需要設計65×(1±0.1)ΩPCB的布線特征阻抗以及10Ω的匹配電阻[1]。
3基于FPGA的CPCI總線接口設計的功能分析
使用PLX—Mon軟件工具來對CPCI板卡進行調試,該PLX—Mon軟件工具主要是PLX公司生產(chǎn)的。將PLX—Mon軟件安裝在Windows主板中,能夠更加便利的進行調試。在PLX-Mon的安裝文件夾中找到EEPROM配置文件,然后加載EEPROM配置文件,將計算機主板啟動“。PCI板卡上電之后,EEPROM對橋片進行配置,從而完成系統(tǒng)用于識別PCI卡的vendorID和deviceID兩個參數(shù)的配置。另外該標識也用于應用程序對PCI板卡進行定位。與此同時還應該為Local端的4個Space配置相應的屬性參數(shù)和基地址。啟動系統(tǒng)之后,根據(jù)相關提示將對應的板卡驅動安裝好,就可以完成整個的系統(tǒng)架構。進而以功能要求為依據(jù)進行固件程序和軟件的編寫。軟件程序是基于Vxworks操作系統(tǒng)下的CPCI板卡的軟件開發(fā),該軟件的開發(fā)是整個軟件程序開發(fā)的基礎。以PCI9030為例,主要有以下幾個步驟。第一,將BSP包制作出來,主要是對CP9030init.c文件和PCI驅動程序進行增加,并且進行內存映射,用內存讀寫的方式來訪問CPCI板卡[2]。本文使用的是映射Localspace0Local,在實際操作中可以在S0~S3中進行選擇。在配置寄存器列表的0x18地址單元中存放S0的基地址。第二,用戶程序。也就是讀寫操作端口地址,端口地址包括FPGA里設計的端口地址(偏移量)和S0的基地址(adress)。要獲取端口地址可以使用PciConfigInLong。使用指針操作進行PCI端口操作,這是由于其使用的是內存讀寫。第三,中斷操作,將LocalConfigRegister列表的基地址得出來。
4結語
作為新型的開放式工業(yè)計算機標準,CPCI總線是工業(yè)設備和計算機諸多經(jīng)廣泛驗證經(jīng)驗融合的結果,基于FPGA的CPCI總路線接口設計結合了歐式卡組裝技術和PCI總線技術,其能夠完全兼容傳統(tǒng)的PCI系統(tǒng),使設備的抗惡劣環(huán)境能力得到大幅提高,其在故障管理、故障切換和冗余設計中也留有很大的空間,因此應用的非常廣泛,在項目中發(fā)揮了廣泛的用途。
參考文獻
[1]李國勝.基于CPCI總線的高速數(shù)據(jù)記錄系統(tǒng)設計[J].計算機與網(wǎng)絡.2011(19).
[2]陳立萬,黃青龍,劉萬里.基于FPGA的數(shù)據(jù)采集系統(tǒng)的設計[J].合肥工業(yè)大學學報(自然科學版).2011(03).
作者:蔣曉 單位:中國電科技集團公司第三十八研究所