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