《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 模擬設(shè)計(jì) > 設(shè)計(jì)應(yīng)用 > 基于PCI Express接口的數(shù)據(jù)采集存儲(chǔ)系統(tǒng)設(shè)計(jì)
基于PCI Express接口的數(shù)據(jù)采集存儲(chǔ)系統(tǒng)設(shè)計(jì)
摘要: 數(shù)據(jù)采集與存儲(chǔ)系統(tǒng)是信號(hào)與信息處理系統(tǒng)的重要組成部分。隨著雷達(dá)對(duì)抗技術(shù)和軟件無(wú)線電技術(shù)的發(fā)展,,很多應(yīng)用都需要對(duì)數(shù)據(jù)進(jìn)行高速采集和大容量實(shí)時(shí)存儲(chǔ),,而目前市場(chǎng)上同時(shí)具備上述兩種功能的采集系統(tǒng)還不多見(jiàn),為此,,本文提出了一種基于PCI Express總線接口的,、具備可擴(kuò)展性能、并可大容量存儲(chǔ)數(shù)據(jù)的采集系統(tǒng),。該系統(tǒng)的最高采樣速率可達(dá)80 MHz,,利用計(jì)算機(jī)并通過(guò)PCI Express總線和采集卡、Raid磁盤(pán)陣列相連后,,便可通過(guò)主機(jī)軟件界面實(shí)現(xiàn)對(duì)硬件設(shè)備的控制,。
Abstract:
Key words :

 引言

    數(shù)據(jù)采集與存儲(chǔ)系統(tǒng)是信號(hào)與信息處理系統(tǒng)的重要組成部分。隨著雷達(dá)對(duì)抗技術(shù)和軟件無(wú)線電技術(shù)的發(fā)展,,很多應(yīng)用都需要對(duì)數(shù)據(jù)進(jìn)行高速采集和大容量實(shí)時(shí)存儲(chǔ),,而目前市場(chǎng)上同時(shí)具備上述兩種功能的采集系統(tǒng)還不多見(jiàn),為此,,本文提出了一種基于PCI Express總線接口的,、具備可擴(kuò)展性能、并可大容量存儲(chǔ)數(shù)據(jù)的采集系統(tǒng),。該系統(tǒng)的最高采樣速率可達(dá)80 MHz,,利用計(jì)算機(jī)并通過(guò)PCI Express總線和采集卡、Raid磁盤(pán)陣列相連后,,便可通過(guò)主機(jī)軟件界面實(shí)現(xiàn)對(duì)硬件設(shè)備的控制,。


1 系統(tǒng)結(jié)構(gòu)
    方案總體上分為三個(gè)部分:高速信號(hào)采集卡、主機(jī),、Raid磁盤(pán)陣列,,他們之間可通過(guò)PCIExpress總線連接。其系統(tǒng)結(jié)構(gòu)如圖1所示,。

 

    本系統(tǒng)的高速信號(hào)采集卡主要由信號(hào)調(diào)制電路,、數(shù)據(jù)采集模塊、采集時(shí)鐘控制模塊,、數(shù)據(jù)緩存和邏輯控制模塊,、PCI Express總線接口控制等部分組成。其中邏輯控制模塊負(fù)責(zé)接收來(lái)自PCIExpress接口的主機(jī)控制信息以及采樣時(shí)鐘頻率的控制信號(hào),,并向系統(tǒng)的其它部分發(fā)送相關(guān)的控制命令,。在進(jìn)行數(shù)據(jù)采集時(shí),,A/D轉(zhuǎn)換芯片的輸出在經(jīng)過(guò)信號(hào)處理后,可在數(shù)據(jù)緩存模塊的控制下存入FPGA內(nèi)部FIFO中,;然后再通過(guò)PCI Express總線通過(guò)主機(jī)內(nèi)存轉(zhuǎn)存到Raid磁盤(pán)陣列,。


2 系統(tǒng)實(shí)現(xiàn)
2.1 數(shù)據(jù)采集
    本系統(tǒng)中的數(shù)據(jù)轉(zhuǎn)換芯片采用ADI公司生產(chǎn)的AD9430流水型轉(zhuǎn)換器。它是一種單片低功耗12位高速ADC器件,,采用3.3 V單一電源供電,,具有最大的高速轉(zhuǎn)換率(能夠達(dá)到210 MSPS),并在較寬的頻帶范圍內(nèi)仍然具有較好的動(dòng)態(tài)特性,。另外,,片內(nèi)還集成了高性能的采樣保持放大器、參考電壓源和數(shù)據(jù)時(shí)鐘輸出信號(hào),??蔀橄到y(tǒng)提供更加簡(jiǎn)捷的解決方案。
    AD9430有兩種數(shù)據(jù)輸出接口模式,,即3.3VCOMS輸出和LVDS輸出,。AD9430正常工作后,每個(gè)時(shí)鐘周期進(jìn)行一次A/D轉(zhuǎn)換,,當(dāng)通過(guò)內(nèi)部緩沖采樣保持器和編碼之后,,可將轉(zhuǎn)換結(jié)果鎖存到輸出寄存器。
    通常高速數(shù)據(jù)采集都是建立在高速高精度采樣的基礎(chǔ)之上,,而高速采樣必須得到高質(zhì)量時(shí)鐘信號(hào)的保障,。采樣時(shí)鐘發(fā)生電路是高速AD采樣的基礎(chǔ)模塊。本系統(tǒng)選用可程控時(shí)鐘源SY89429AZC來(lái)產(chǎn)生AD9430的采樣時(shí)鐘,,并通過(guò)對(duì)SY89429AZC芯片S_CLOCK,、S_DATA、S_LOAD三個(gè)引腳信號(hào)線的控制,,來(lái)程控輸出40MHz~200MHz精確采樣時(shí)鐘,。圖2所示是SY89429AZC的三線控制時(shí)序圖。

    TTL引腳S_DATA為配置串行移位寄存器的輸入端,,串行寄存器可在每一個(gè)S_CLOCK信號(hào)的上升沿對(duì)S_DATA信號(hào)進(jìn)行取值,。另有一配置鎖存器可在S_LOAD信號(hào)為高電平時(shí)鎖存串行移位寄存器的內(nèi)容。這樣,,通過(guò)設(shè)置S_DATA信號(hào)的值(即T2…T0,,N1,N0,,M8…M0的數(shù)值)以及三信號(hào)線的時(shí)序,,便可控制SY89429AZC時(shí)鐘芯片輸出精確的采樣時(shí)鐘。

2.2 FPGA邏輯控制
    邏輯控制模塊要實(shí)現(xiàn)的主要功能是解析上位機(jī)控制信息并發(fā)送控制命令,同時(shí)要程控采樣時(shí)鐘頻率,,還要對(duì)采集數(shù)據(jù)流進(jìn)行處理和傳輸,。其中數(shù)據(jù)流邏輯控制模塊中的功能組成直接關(guān)系到高速采集信號(hào)能否實(shí)時(shí)可靠的傳輸。圖3所示為數(shù)據(jù)流的邏輯控制結(jié)構(gòu)框圖,。

 

    本設(shè)計(jì)選用Cyclone II系列芯片EP2C5Q208,。此芯片為208腳PQFP封裝,用戶可用I/O資源高達(dá)158個(gè),,差分通道數(shù)為58個(gè),其內(nèi)部邏輯資源,、M4K存儲(chǔ)資源,、內(nèi)部PLL數(shù)量完全能夠滿足本系統(tǒng)設(shè)計(jì)的需要。
    由于AD轉(zhuǎn)換芯片AD94301的采樣精度為12位,,而PEX8311接口芯片可支持8位,、16位、32位數(shù)據(jù)位,。因此,,為了更加有效的提高數(shù)據(jù)傳輸?shù)男剩瑫r(shí)也為了使數(shù)據(jù)采集速率獲得相對(duì)提升,,設(shè)計(jì)中的PEX8311采用32位數(shù)據(jù)位模式進(jìn)行數(shù)據(jù)傳輸,。這樣,在本方案的FPGA數(shù)據(jù)流邏輯控制中,,不僅要進(jìn)行數(shù)據(jù)的緩存以及數(shù)據(jù)傳輸邏輯的控制,,還要進(jìn)行數(shù)據(jù)位的變換擴(kuò)展,即由12位數(shù)據(jù)擴(kuò)展為32位數(shù)據(jù),。為了實(shí)現(xiàn)數(shù)據(jù)位由12位到32位的轉(zhuǎn)換,,應(yīng)先把解串后的12位采樣數(shù)據(jù)進(jìn)行數(shù)據(jù)分流模塊,以把12位數(shù)據(jù)交替存儲(chǔ)到兩個(gè)FIFO中緩存,。圖4所示是經(jīng)數(shù)據(jù)分流模塊交替產(chǎn)生12位數(shù)據(jù)的仿真示意圖,。
    高速數(shù)據(jù)采集系統(tǒng)中的數(shù)據(jù)傳輸速率與A/D轉(zhuǎn)換器的采集速度很難保持一致。為了協(xié)調(diào)數(shù)據(jù)采集與數(shù)據(jù)傳輸之間的速度差異,,一般都在兩者之間加入數(shù)據(jù)緩存器進(jìn)行緩沖,,使前端的數(shù)據(jù)采集與數(shù)據(jù)傳輸可以異步工作。通常的做法是在A/D轉(zhuǎn)換后將數(shù)據(jù)送至外置的FIFO或雙口RAM中進(jìn)行緩存,。但這樣無(wú)疑會(huì)增加布線密度,,同時(shí)降低數(shù)據(jù)傳輸?shù)目煽啃浴P2C5Q208 Cyclone II系列FPGA提供了多達(dá)26塊的M4K RAM,,而且PCI Ex-press總線的傳輸速率也大于數(shù)據(jù)采集速率,,所以,可在FPGA內(nèi)部設(shè)置FIFO空間來(lái)實(shí)現(xiàn)對(duì)數(shù)據(jù)的緩存。這樣,,從FIFO讀出的兩組12位數(shù)據(jù)經(jīng)過(guò)符號(hào)位擴(kuò)展模塊后,,即可擴(kuò)展變換為32位數(shù)據(jù)并由FPGA并行輸出到PCI Express接口模塊。
2.3 PCI Express接口控制
    由于數(shù)據(jù)采集速率隨著芯片技術(shù)的進(jìn)步而不斷提高,,而大量的數(shù)據(jù)必須傳輸至主機(jī)進(jìn)行處理,。這些傳輸都由那些將設(shè)備連接到主機(jī)內(nèi)存的數(shù)據(jù)總線完成。因此,,數(shù)據(jù)總線傳輸?shù)乃俾食33蔀檎麄€(gè)數(shù)據(jù)采集系統(tǒng)的瓶頸,,這也是許多儀器帶有昂貴板載內(nèi)存的主要原因之一。而PCI Ex-press的出現(xiàn),,可使測(cè)量設(shè)備至主機(jī)內(nèi)存的數(shù)據(jù)傳輸速率達(dá)到一個(gè)前所未有的高度,。
    PCI Express又稱3GIO,即第三代輸入/輸出接口的意思,。串行數(shù)據(jù)傳輸可使數(shù)據(jù)傳輸速率達(dá)到驚人的2.5 Gbps (PCI Express 1.0規(guī)范),,且采用全雙工數(shù)據(jù)傳輸,并可擴(kuò)展為×1,、×4,、×8、×16通道模式,。
    以PCI Express×1來(lái)計(jì)算,,扣除數(shù)據(jù)校驗(yàn)冗余8 bit\10 bit,有效數(shù)據(jù)傳輸率可以達(dá)到200 Mbyte,,理論上可以提供100 MHz采樣速率和雙字節(jié)以內(nèi)的采樣精度的傳輸帶寬,。
    目前,實(shí)現(xiàn)PCI Express總線接口控制的方法有兩種:一種是采用FPGA/CPLD來(lái)實(shí)現(xiàn),。目前,,Altera等專業(yè)FPGA公司都提供了多種PCI Express總線接口實(shí)現(xiàn)方案,并提供了相應(yīng)的MegaCore,。但是這種方案設(shè)計(jì)難度大,,調(diào)試?yán)щy;另一種是采用專用接口芯片,,如利用PLX公司的PEX8311來(lái)實(shí)現(xiàn)局部總線與PCI Express總線的連接,。目前,無(wú)論從技術(shù)還是成本來(lái)看,,第二種方案都是比較理想的選擇,。
    PEX8311芯片符合PCI Express 1.0基本規(guī)范,它支持主模式,、從模式以及DMA三種數(shù)據(jù)傳輸方式,。PEX8311芯片的主要特性如下:
    ◇集成有單通道,、全雙工2.5 Gbit/s傳輸?shù)腜CI Express端口;
    ◇可配置局部總線寬度,,支持8位,、16位和32位的總線方式;
    ◇支持?jǐn)?shù)據(jù)總線,、地址總線獨(dú)立和復(fù)用總線操作模式,;
    ◇雙通道高性能的DMA數(shù)據(jù)傳輸可支持?jǐn)?shù)據(jù)塊模式、分散/集中模式,、硬連線數(shù)據(jù)傳輸模式和命令模式,;
    ◇支持PCI Express規(guī)范中的端點(diǎn)和根復(fù)合體模式;
    ◇芯片小型封裝,,適合緊湊的電路板設(shè)計(jì),。
    本方案中主要使用DMA方式中的命令模式。在命令模式下,,可以通過(guò)一對(duì)硬連線“DREQ”和“DACK”來(lái)控制傳輸,每一個(gè)DMA通道都有一對(duì)這樣的信號(hào),。當(dāng)FIFO在被寫(xiě)滿或讀空時(shí),,命令模式將暫停操作。而當(dāng)FIFO狀態(tài)改變以后,,又可繼續(xù)行進(jìn)數(shù)據(jù)傳輸,。

2.4 Raid磁盤(pán)陣列

    從存儲(chǔ)容量、讀寫(xiě)速度和單位成本等方面綜合考慮,,可以考慮利用多個(gè)硬盤(pán)組成Raid磁盤(pán)陣列來(lái)作為長(zhǎng)時(shí)高速采集系統(tǒng)的存儲(chǔ)載體,。即把多塊容量、性能,、品牌一致的硬盤(pán)組合起來(lái)形成一個(gè)硬盤(pán)組,,從而提供比單個(gè)硬盤(pán)更高的讀寫(xiě)速率,以解決數(shù)據(jù)存儲(chǔ)容量的速度問(wèn)題,。該方式的磁盤(pán)容量可以達(dá)到驚人的T字節(jié)級(jí)別,,可充分滿足系統(tǒng)長(zhǎng)時(shí)間高速采集的需要。本系統(tǒng)采用Raid磁盤(pán)陣列控制卡,,最高可連接8塊SATA II硬盤(pán),,本系統(tǒng)掛接了4塊西數(shù)500GSATAⅡ硬盤(pán)。用硬盤(pán)讀寫(xiě)速度測(cè)試軟件IOmeter可以測(cè)得:在256KByte塊傳輸模式下,,磁盤(pán)寫(xiě)入速度可以達(dá)400MB/s以上,,而這也符合系統(tǒng)DMA方式的數(shù)據(jù)傳輸模式,所以,,在磁盤(pán)寫(xiě)入速度方面,,該方式完全可以滿足系統(tǒng)應(yīng)用需求。

 


3 性能測(cè)試
    PLX SDK是由PLX公司提供的專門(mén)針對(duì)該公司生產(chǎn)的PCI Express接口芯片的軟件開(kāi)發(fā)工具包。當(dāng)安裝完P(guān)LXSDK軟件后,,再把PEX8311開(kāi)發(fā)板插入PCI Express插槽中,,就可以用PLXMon對(duì)PEX8311的DMA模式下的數(shù)據(jù)傳輸進(jìn)行設(shè)置和分析。圖5所示是本系統(tǒng)的性能測(cè)試界面圖,。

 

4 結(jié)束語(yǔ)
    基于PCI Express總線技術(shù)和Raid磁盤(pán)技術(shù)研制的高速大容量數(shù)據(jù)存儲(chǔ)系統(tǒng),,其最高采樣速率可達(dá)210MHz,存儲(chǔ)容量為2TB,。如果要擴(kuò)展存儲(chǔ)容量,,只需更換Raid磁盤(pán)陣列控制卡并增加硬盤(pán)數(shù)量即可。通過(guò)實(shí)際使用表明,,該系統(tǒng)可以在50MHz采樣率下穩(wěn)定,、可靠、持續(xù)不間斷的完成數(shù)據(jù)的采集和存儲(chǔ),,而且操作方便,,擴(kuò)展性強(qiáng),具有一定的工程應(yīng)用價(jià)值和參考價(jià)值,。

 

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。