PCI Express接口的數據采集存儲系統方案
邏輯控制模塊要實(shí)現的主要功能是解析上位機控制信息并發(fā)送控制命令,同時(shí)要程控采樣時(shí)鐘頻率,還要對采集數據流進(jìn)行處理和傳輸。其中數據流邏輯控制模塊中的功能組成直接關(guān)系到高速采集信號能否實(shí)時(shí)可靠的傳輸。圖3所示為數據流的邏輯控制結構框圖。
本設計選用Cyclone II系列芯片EP2C5Q208。此芯片為208腳PQFP封裝,用戶(hù)可用I/O資源高達158個(gè),差分通道數為58個(gè),其內部邏輯資源、M4K存儲資源、內部PLL數量完全能夠滿(mǎn)足本系統設計的需要。
由于A(yíng)D轉換芯片AD94301的采樣精度為12位,而PEX8311接口芯片可支持8位、16位、32位數據位。因此,為了更加有效的提高數據傳輸的效率,同時(shí)也為了使數據采集速率獲得相對提升,設計中的PEX8311采用32位數據位模式進(jìn)行數據傳輸。這樣,在本方案的FPGA數據流邏輯控制中,不僅要進(jìn)行數據的緩存以及數據傳輸邏輯的控制,還要進(jìn)行數據位的變換擴展,即由12位數據擴展為32位數據。為了實(shí)現數據位由12位到32位的轉換,應先把解串后的12位采樣數據進(jìn)行數據分流模塊,以把12位數據交替存儲到兩個(gè)FIFO中緩存。圖4所示是經(jīng)數據分流模塊交替產(chǎn)生12位數據的仿真示意圖。
高速數據采集系統中的數據傳輸速率與A/D轉換器的采集速度很難保持一致。為了協(xié)調數據采集與數據傳輸之間的速度差異,一般都在兩者之間加入數據緩存器進(jìn)行緩沖,使前端的數據采集與數據傳輸可以異步工作。通常的做法是在A(yíng)/D轉換后將數據送至外置的FIFO或雙口RAM中進(jìn)行緩存。但這樣無(wú)疑會(huì )增加布線(xiàn)密度,同時(shí)降低數據傳輸的可靠性。EP2C5Q208 Cyclone II系列FPGA提供了多達26塊的M4K RAM,而且PCI Ex-press總線(xiàn)的傳輸速率也大于數據采集速率,所以,可在FPGA內部設置FIFO空間來(lái)實(shí)現對數據的緩存。這樣,從FIFO讀出的兩組12位數據經(jīng)過(guò)符號位擴展模塊后,即可擴展變換為32位數據并由FPGA并行輸出到PCI Express接口模塊。
由于數據采集速率隨著(zhù)芯片技術(shù)的進(jìn)步而不斷提高,而大量的數據必須傳輸至主機進(jìn)行處理。這些傳輸都由那些將設備連接到主機內存的數據總線(xiàn)完成。因此,數據總線(xiàn)傳輸的速率常常成為整個(gè)數據采集系統的瓶頸,這也是許多儀器帶有昂貴板載內存的主要原因之一。而PCI Ex-press的出現,可使測量設備至主機內存的數據傳輸速率達到一個(gè)前所未有的高度。
PCI Express又稱(chēng)3GIO,即第三代輸入/輸出接口的意思。串行數據傳輸可使數據傳輸速率達到驚人的2.5 Gbps (PCI Express 1.0規范),且采用全雙工數據傳輸,并可擴展為×1、×4、×8、×16通道模式。
以PCI Express×1來(lái)計算,扣除數據校驗冗余8 bit10 bit,有效數據傳輸率可以達到200 Mbyte,理論上可以提供100 MHz采樣速率和雙字節以?xún)鹊牟蓸泳鹊膫鬏攷挕?/p>
目前,實(shí)現PCI Express總線(xiàn)接口控制的方法有兩種:一種是采用FPGA/CPLD來(lái)實(shí)現。目前,Altera等專(zhuān)業(yè)FPGA公司都提供了多種PCI Express總線(xiàn)接口實(shí)現方案,并提供了相應的MegaCore。但是這種方案設計難度大,調試困難;另一種是采用專(zhuān)用接口芯片,如利用PLX公司的PEX8311來(lái)實(shí)現局部總線(xiàn)與PCI Express總線(xiàn)的連接。目前,無(wú)論從技術(shù)還是成本來(lái)看,第二種方案都是比較理想的選擇。
評論