為適應日益復雜的系統(tǒng)芯片SoC(System on Chip)設計,新一代芯片設計和驗證語言SystemVerilog應運而生,并在2005年11月被美國電“ target=“_blank“>P> 為適應日益復雜的系統(tǒng)芯片SoC(System on Chip)設計,新一代芯片設計和驗證語言SystemVerilo
引言
本文提出了一種基于PCI Express總線接口的、具備可擴展性能、并可大容量存儲數據的采集系統(tǒng)。該系統(tǒng)的最高采樣速率可達80 MHz,利用計算機并通過PCI Express總線和采集卡、Raid磁盤陣列相連后,便可通過主機軟件界面實現對硬件設備的控制。
1 系統(tǒng)結構
方案總體上分為三個部分:高速信號采集卡、主機、Raid磁盤陣列,他們之間可通過PCIExpress總線連接。其系統(tǒng)結構如圖1所示。
本系統(tǒng)的高速信號采集卡主要由信號調制電路、數據采集模塊、采集時鐘控制模塊、數據緩存和邏輯控制模塊、PCI Express總線接口控制等部分組成。其中邏輯控制模塊負責接收來自PCIExpress接口的主機控制信息以及采樣時鐘頻率的控制信號,并向系統(tǒng)的其它部分發(fā)送相關的控制命令。在進行數據采集時,A/D轉換芯片的輸出在經過信號處理后,可在數據緩存模塊的控制下存入FPGA內部FIFO中;然后再通過PCI Express總線通過主機內存轉存到Raid磁盤陣列。
2 系統(tǒng)實現
2.1 數據采集
本系統(tǒng)中的數據轉換芯片采用ADI公司生產的AD9430流水型轉換器。它是一種單片低功耗12位高速ADC器件,采用3.3 V單一電源供電,具有最大的高速轉換率(能夠達到210 MSPS),并在較寬的頻帶范圍內仍然具有較好的動態(tài)特性。另外,片內還集成了高性能的采樣保持放大器、參考電壓源和數據時鐘輸出信號??蔀橄到y(tǒng)提供更加簡捷的解決方案。
AD9430有兩種數據輸出接口模式,即3.3VCOMS輸出和LVDS輸出。AD9430正常工作后,每個時鐘周期進行一次A/D轉換,當通過內部緩沖采樣保持器和編碼之后,可將轉換結果鎖存到輸出寄存器。
通常高速數據采集都是建立在高速高精度采樣的基礎之上,而高速采樣必須得到高質量時鐘信號的保障。采樣時鐘發(fā)生電路是高速AD采樣的基礎模塊。本系統(tǒng)選用可程控時鐘源SY89429AZC來產生AD9430的采樣時鐘,并通過對SY89429AZC芯片S_CLOCK、S_DATA、S_LOAD三個引腳信號線的控制,來程控輸出40MHz~200MHz精確采樣時鐘。圖2所示是SY89429AZC的三線控制時序圖。
TTL引腳S_DATA為配置串行移位寄存器的輸入端,串行寄存器可在每一個S_CLOCK信號的上升沿對S_DATA信號進行取值。另有一配置鎖存器可在S_LOAD信號為高電平時鎖存串行移位寄存器的內容。這樣,通過設置S_DATA信號的值(即T2…T0,N1,N0,M8…M0的數值)以及三信號線的時序,便可控制SY89429AZC時鐘芯片輸出精確的采樣時鐘。
2.2 FPGA邏輯控制
邏輯控制模塊要實現的主要功能是解析上位機控制信息并發(fā)送控制命令,同時要程控采樣時鐘頻率,還要對采集數據流進行處理和傳輸。其中數據流邏輯控制模塊中的功能組成直接關系到高速采集信號能否實時可靠的傳輸。圖3所示為數據流的邏輯控制結構框圖。
本設計選用Cyclone II系列芯片EP2C5Q208。此芯片為208腳PQFP封裝,用戶可用I/O資源高達158個,差分通道數為58個,其內部邏輯資源、M4K存儲資源、內部PLL數量完全能夠滿足本系統(tǒng)設計的需要。
由于AD轉換芯片AD94301的采樣精度為12位,而PEX8311接口芯片可支持8位、16位、32位數據位。因此,為了更加有效的提高數據傳輸的效率,同時也為了使數據采集速率獲得相對提升,設計中的PEX8311采用32位數據位模式進行數據傳輸。這樣,在本方案的FPGA數據流邏輯控制中,不僅要進行數據的緩存以及數據傳輸邏輯的控制,還要進行數據位的變換擴展,即由12位數據擴展為32位數據。為了實現數據位由12位到32位的轉換,應先把解串后的12位采樣數據進行數據分流模塊,以把12位數據交替存儲到兩個FIFO中緩存。圖4所示是經數據分流模塊交替產生12位數據的仿真示意圖。
高速數據采集系統(tǒng)中的數據傳輸速率與A/D轉換器的采集速度很難保持一致。為了協調數據采集與數據傳輸之間的速度差異,一般都在兩者之間加入數據緩存器進行緩沖,使前端的數據采集與數據傳輸可以異步工作。通常的做法是在A/D轉換后將數據送至外置的FIFO或雙口RAM中進行緩存。但這樣無疑會增加布線密度,同時降低數據傳輸的可靠性。EP2C5Q208 Cyclone II系列FPGA提供了多達26塊的M4K RAM,而且PCI Ex-press總線的傳輸速率也大于數據采集速率,所以,可在FPGA內部設置FIFO空間來實現對數據的緩存。這樣,從FIFO讀出的兩組12位數據經過符號位擴展模塊后,即可擴展變換為32位數據并由FPGA并行輸出到PCI Express接口模塊。
2.3 PCI Express接口控制
由于數據采集速率隨著芯片技術的進步而不斷提高,而大量的數據必須傳輸至主機進行處理。這些傳輸都由那些將設備連接到主機內存的數據總線完成。因此,數據總線傳輸的速率常常成為整個數據采集系統(tǒng)的瓶頸,這也是許多儀器帶有昂貴板載內存的主要原因之一。而PCI Ex-press的出現,可使測量設備至主機內存的數據傳輸速率達到一個前所未有的高度。
PCI Express又稱3GIO,即第三代輸入/輸出接口的意思。串行數據傳輸可使數據傳輸速率達到驚人的2.5 Gbps (PCI Express 1.0規(guī)范),且采用全雙工數據傳輸,并可擴展為×1、×4、×8、×16通道模式。
以PCI Express×1來計算,扣除數據校驗冗余8 bit10 bit,有效數據傳輸率可以達到200 Mbyte,理論上可以提供100 MHz采樣速率和雙字節(jié)以內的采樣精度的傳輸帶寬。
目前,實現PCI Express總線接口控制的方法有兩種:一種是采用FPGA/CPLD來實現。目前,Altera等專業(yè)FPGA公司都提供了多種PCI Express總線接口實現方案,并提供了相應的MegaCore。但是這種方案設計難度大,調試困難;另一種是采用專用接口芯片,如利用PLX公司的PEX8311來實現局部總線與PCI Express總線的連接。目前,無論從技術還是成本來看,第二種方案都是比較理想的選擇。
PEX8311芯片符合PCI Express 1.0基本規(guī)范,它支持主模式、從模式以及DMA三種數據傳輸方式。PEX8311芯片的主要特性如下:
◇集成有單通道、全雙工2.5 Gbit/s傳輸的PCI Express端口;
◇可配置局部總線寬度,支持8位、16位和32位的總線方式;
◇支持數據總線、地址總線獨立和復用總線操作模式;
◇雙通道高性能的DMA數據傳輸可支持數據塊模式、分散/集中模式、硬連線數據傳輸模式和命令模式;
◇支持PCI Express規(guī)范中的端點和根復合體模式;
◇芯片小型封裝,適合緊湊的電路板設計。
本方案中主要使用DMA方式中的命令模式。在命令模式下,可以通過一對硬連線“DREQ”和“DACK”來控制傳輸,每一個DMA通道都有一對這樣的信號。當FIFO在被寫滿或讀空時,命令模式將暫停操作。而當FIFO狀態(tài)改變以后,又可繼續(xù)行進數據傳輸。
2.4 Raid磁盤陣列
從存儲容量、讀寫速度和單位成本等方面綜合考慮,可以考慮利用多個硬盤組成Raid磁盤陣列來作為長時高速采集系統(tǒng)的存儲載體。即把多塊容量、性能、品牌一致的硬盤組合起來形成一個硬盤組,從而提供比單個硬盤更高的讀寫速率,以解決數據存儲容量的速度問題。該方式的磁盤容量可以達到驚人的T字節(jié)級別,可充分滿足系統(tǒng)長時間高速采集的需要。本系統(tǒng)采用Raid磁盤陣列控制卡,最高可連接8塊SATA II硬盤,本系統(tǒng)掛接了4塊西數500GSATAⅡ硬盤。用硬盤讀寫速度測試軟件IOmeter可以測得:在256KByte塊傳輸模式下,磁盤寫入速度可以達400MB/s以上,而這也符合系統(tǒng)DMA方式的數據傳輸模式,所以,在磁盤寫入速度方面,該方式完全可以滿足系統(tǒng)應用需求。
3 性能測試
PLX SDK是由PLX公司提供的專門針對該公司生產的PCI Express接口芯片的軟件開發(fā)工具包。當安裝完PLXSDK軟件后,再把PEX8311開發(fā)板插入PCI Express插槽中,就可以用PLXMon對PEX8311的DMA模式下的數據傳輸進行設置和分析。圖5所示是本系統(tǒng)的性能測試界面圖。
4 結束語
基于PCI Express總線技術和Raid磁盤技術研制的高速大容量數據存儲系統(tǒng),其最高采樣速率可達210MHz,存儲容量為2TB。如果要擴展存儲容量,只需更換Raid磁盤陣列控制卡并增加硬盤數量即可。通過實際使用表明,該系統(tǒng)可以在50MHz采樣率下穩(wěn)定、可靠、持續(xù)不間斷的完成數據的采集和存儲,而且操作方便,擴展性強,具有一定的工程應用價值和參考價值。
評論