基于PCI Express接口的數(shù)據(jù) 采集存儲系統(tǒng)設(shè)計(jì)
TTL引腳S_DATA為配置串行移位寄存器的輸入端,串行寄存器可在每一個S_CLOCK信號的上升沿對S_DATA信號進(jìn)行取值。另有一配置鎖存器可在S_LOAD信號為高電平時鎖存串行移位寄存器的內(nèi)容。這樣,通過設(shè)置S_DATA信號的值(即T2…T0,N1,N0,M8…M0的數(shù)值)以及三信號線的時序,便可控制SY89429AZC時鐘芯片輸出精確的采樣時鐘。
2.2 FPGA邏輯控制
邏輯控制模塊要實(shí)現(xiàn)的主要功能是解析上位機(jī)控制信息并發(fā)送控制命令,同時要程控采樣時鐘頻率,還要對采集數(shù)據(jù)流進(jìn)行處理和傳輸。其中數(shù)據(jù)流邏輯控制模塊中的功能組成直接關(guān)系到高速采集信號能否實(shí)時可靠的傳輸。圖3所示為數(shù)據(jù)流的邏輯控制結(jié)構(gòu)框圖。
本設(shè)計(jì)選用Cyclone II系列芯片EP2C5Q208。此芯片為208腳PQFP封裝,用戶可用I/O資源高達(dá)158個,差分通道數(shù)為58個,其內(nèi)部邏輯資源、M4K存儲資源、內(nèi)部PLL數(shù)量完全能夠滿足本系統(tǒng)設(shè)計(jì)的需要。
由于AD轉(zhuǎn)換芯片AD94301的采樣精度為12位,而PEX8311接口芯片可支持8位、16位、32位數(shù)據(jù)位。因此,為了更加有效的提高數(shù)據(jù)傳輸?shù)男?,同時也為了使數(shù)據(jù)采集速率獲得相對提升,設(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ù)交替存儲到兩個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)行緩存。但這樣無疑會增加布線密度,同時降低數(shù)據(jù)傳輸?shù)目煽啃?。EP2C5Q208 Cyclone II系列FPGA提供了多達(dá)26塊的M4K RAM,而且PCI Ex-press總線的傳輸速率也大于數(shù)據(jù)采集速率,所以,可在FPGA內(nèi)部設(shè)置FIFO空間來實(shí)現(xiàn)對數(shù)據(jù)的緩存。這樣,從FIFO讀出的兩組12位數(shù)據(jù)經(jīng)過符號位擴(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蔀檎麄€數(shù)據(jù)采集系統(tǒng)的瓶頸,這也是許多儀器帶有昂貴板載內(nèi)存的主要原因之一。而PCI Ex-press的出現(xiàn),可使測量設(shè)備至主機(jī)內(nèi)存的數(shù)據(jù)傳輸速率達(dá)到一個前所未有的高度。
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來計(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來實(shí)現(xiàn)。目前,Altera等專業(yè)FPGA公司都提供了多種PCI Express總線接口實(shí)現(xiàn)方案,并提供了相應(yīng)的MegaCore。但是這種方案設(shè)計(jì)難度大,調(diào)試?yán)щy;另一種是采用專用接口芯片,如利用PLX公司的PEX8311來實(shí)現(xiàn)局部總線與PCI Express總線的連接。目前,無論從技術(shù)還是成本來看,第二種方案都是比較理想的選擇。
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方式中的命令模式。在命令模式下,可以通過一對硬連線“DREQ”和“DACK”來控制傳輸,每一個DMA通道都有一對這樣的信號。當(dāng)FIFO在被寫滿或讀空時,命令模式將暫停操作。而當(dāng)FIFO狀態(tài)改變以后,又可繼續(xù)行進(jìn)數(shù)據(jù)傳輸。
評論