基于Virtex-6的PCI Express高速采集卡設(shè)計
摘要:為了提高數(shù)據(jù)采集速率,適應大數(shù)據(jù)量交互處理要求,介紹了一種應用Virtex-6芯片的PCI Express高速采集卡設(shè)計。Virtex-6內(nèi)嵌PCIE協(xié)議硬核能完成完整的PCIE分層協(xié)議,實現(xiàn)與上位機通信。設(shè)計了DMA控制器,作為采集卡數(shù)據(jù)傳輸主控,實現(xiàn)基于PCI Express總線的DMA高速數(shù)據(jù)傳輸方案。主機軟件系統(tǒng)包括驅(qū)動程序和應用軟件2部分。經(jīng)實驗測試,該采集卡能完成時外部高速數(shù)據(jù)的實時采集,性能穩(wěn)定可靠。
關(guān)鍵詞:數(shù)據(jù)采集;PCI Express;FPGA;DMA
隨著計算機技術(shù)的發(fā)展,以及大數(shù)據(jù)量交互的需要,硬件系統(tǒng)對PC總線傳輸速率、數(shù)據(jù)完整性提出了越來越高的應用要求。傳統(tǒng)的PCI總線技術(shù)雖然經(jīng)過不斷的改進,開發(fā)出64 b,66 MHz的并行協(xié)議PCI-X標準,但由于并行總線整體設(shè)計難度以及造價高昂,主流的PCI技術(shù)已經(jīng)成為限制數(shù)據(jù)傳輸系統(tǒng)性能發(fā)揮的瓶頸。因此,第3代I/O技術(shù)PCI Express總線標準一經(jīng)推出即成為取代PCI總線的下一代標準,并得到迅速的發(fā)展。
PCI Express總線利用串行的連接特點能輕松的將數(shù)據(jù)整體傳輸速度提到一個更高的頻率,達到遠遠超出以往PC總線的傳輸速度,同時保證了數(shù)據(jù)的完整性。PCI Express連接采用點對點差分傳輸,可以被配置成最高x32的數(shù)據(jù)帶寬,其中:PCI Express Gen2.0標準的x1通道傳輸能力達到單向5 Gb/s。PCI Express總線設(shè)備可以通過主機橋接器芯片進行基于主機的傳輸,也可以通過交換器進行多點傳輸,這極大的拓展了PC總線的開發(fā)靈活性。Xilinx公司的Virtex-6系列FPGA芯片內(nèi)嵌了PCI Express協(xié)議硬核,支持x1,x2,x4和x8通道傳輸,為實現(xiàn)PCI Express總線解決方案單片集成提供了可能。
本文在研究PCI Express協(xié)議標準及其接口技術(shù)的基礎(chǔ)上,設(shè)計了基于Virtex-6 FPGA芯片的PCI Express高速數(shù)據(jù)采集卡,實現(xiàn)了外部系統(tǒng)與PC的數(shù)據(jù)交互。
1 系統(tǒng)總體設(shè)計
PCI Express采集系統(tǒng)組成框圖如圖1所示。
采集系統(tǒng)以FPGA作為采集卡的控制核心,外部數(shù)據(jù)經(jīng)數(shù)據(jù)接口傳入FPGA,F(xiàn)PGA通過內(nèi)部邏輯對高速數(shù)據(jù)進行必要的時序控制和相關(guān)處理后將數(shù)據(jù)存儲到片外的SDRAM進行緩存,然后采集卡在總線主控DMA控制器的控制下,通過PCIE x8通道將緩存的數(shù)據(jù)寫入計算機內(nèi)存。上位機由驅(qū)動軟件識別PCIExpress采集卡,并設(shè)置DMA控制寄存器,通過上層應用軟件接收硬件電路發(fā)送到內(nèi)存的數(shù)據(jù),并在每次傳輸結(jié)束是處理中斷。采用DMA模式傳輸實現(xiàn)了在實時數(shù)據(jù)高速采集的同時,不影響上位機對數(shù)據(jù)的處理工作,不僅提高了采集系統(tǒng)整體的采集速度,也保證了數(shù)據(jù)質(zhì)量,以及測試分析完整性。
數(shù)據(jù)接口模塊完成外部數(shù)據(jù)的差分接收,這有利于保證高速數(shù)據(jù)的傳輸質(zhì)量。Virtex-6 FPGA實時接收差分信號,并在Data Processor模塊中進行解碼然后根據(jù)一定時序通過高速FIFO緩存送入外部SDRAM存儲模塊。PCI Express IP Core為Virtex-6 FPGA內(nèi)部集成協(xié)議硬核,完成數(shù)據(jù)的分層打包,DMA控制器作為PCI Express總線傳輸?shù)闹骺?,實現(xiàn)了DMA方式傳輸。
2 采集卡硬件設(shè)計
2.1 基于IP Core的PCI Express接口設(shè)計
本采集卡采用Xilinx公司的Virtex-6系列FPGA芯片作為核心控制器。該款FPGA中內(nèi)置了PCI Express集成模塊和RocketIO GTP收發(fā)器,提供了符合《PCI Express基本規(guī)范v2.0》的PCI-E解決方案,單通道最高設(shè)計速度達到5 Gb/s。根據(jù)PCI-E總線的分層模型,Virtex-6集成端點模塊提供事務層(TL)、數(shù)據(jù)鏈路層(DLL)、物理層(PHYMAC)以及配置空間所具有的全部功能。通過使用Xilinx公司提供的PCI Express LogiCORE IP Endpoint Block Plus核,可實現(xiàn)符合PCI-E總線協(xié)議的數(shù)據(jù)傳輸。Endpoint Block Plus核在內(nèi)部例化了Virtex-6集成端點模塊,實現(xiàn)了集成端點模塊和GTP收發(fā)器之間的數(shù)據(jù)傳輸。集成硬核頂層模塊接口組成如圖2所示。
評論