本課題是在課題組已實現(xiàn)的高速串行通信平臺的基礎(chǔ)上,進(jìn)一步引伸,設(shè)計開源的PCI軟核通信模塊替代Xilinx公司提供的LogiCORE PCI核,力求在從模式下,做到占用資源更少,傳輸速度更快,也為以后實現(xiàn)更完整的功能提供平臺。 本文以此為背景,基于FPGA平臺,搭建以開源的PCI軟核為核心的串行通信接口平臺,使其成為PCI總線與用戶邏輯之間的橋梁,使用戶邏輯避開與復(fù)雜的PCI總線協(xié)議。本課題采用Spartan-II FPGA芯片XC2S200-6FG456C系統(tǒng)開發(fā)板作為串行通信接口的硬件實驗平臺,實現(xiàn)了支持配置讀/寫交易、單數(shù)據(jù)段讀/寫、突發(fā)模式讀/寫、命令/地址譯碼功能和數(shù)據(jù)傳送錯誤檢測與處理功能的PCI軟核。 本文主要闡述了以PCI軟核為核心的串行通信平臺的實現(xiàn),首先介紹了PCI軟核的編程語言、軟件工具和硬件實驗平臺Spartan-II FPGA芯片XC2S200-6FG456C系統(tǒng)開發(fā)板。然后,介紹了PCI總線命令、PCI軟核所支持的功能、PCI軟核兩側(cè)信號的定義、PCI軟核配置模塊以及探討了PCI軟核的狀態(tài)機接收、發(fā)送數(shù)據(jù)等過程,分析了PCI軟核的數(shù)據(jù)收發(fā)功能仿真,主要包括配置讀/寫交易、單數(shù)據(jù)段模式讀/寫和突發(fā)模式讀/寫的仿真圖形,并闡述了管腳約束的操作流程。最后介紹PCI軟核模塊的WDM驅(qū)動,內(nèi)容包括驅(qū)動程序簡介、驅(qū)動程序的開發(fā)、中斷處理、驅(qū)動程序與應(yīng)用程序之間的通信以及應(yīng)用程序操作。最后,對PCI軟核的各種性能進(jìn)行了比較分析。整個模塊設(shè)計緊湊,完成在實驗平臺上的數(shù)據(jù)發(fā)送。 設(shè)計選用硬件描述語言VerilogHDL,在開發(fā)工具Xilinx ISE7.1中完成整個系統(tǒng)的設(shè)計、綜合、布局布線,利用Modelsim進(jìn)行功能及時序仿真,使用DriverWorks為PCI軟核編寫WinXP下的驅(qū)動程序,用VC++6.0編寫相應(yīng)的測試應(yīng)用程序。之后,將FPGA設(shè)計下載到Spanan-II FPGA芯片XC2S200-6FG456C系統(tǒng)開發(fā)板中運行。 文章最后指出工作中的不足之處和需要進(jìn)一步完善的地方。
標(biāo)簽:
FPGA
PCI
軟核
上傳時間:
2013-04-24
上傳用戶:sc965382896