黃 宇 ,柏正堯 ,董 亮 ,2,侯觀慶 ,陸 宗
(1.云南大學 信息學院,昆明 650091;2.中國科學院云南天文臺,昆明 650011)
傳統數據采集系統的硬件設計長期存在以下難以避及的問題:龐大的硬件設計工作量但僅有很少的一部分與實際應用相關;更換核心芯片后需要對部分外圍電路進行重新設計所體現出較差的系統擴展性;長期存在于ADC采樣率、主控FPGA處理能力以及主板總線數據傳輸率之間的兼容性以及硬件驅動的編寫等。為解決上述問題,NI公司在模塊化儀器的基礎之上提出了一種將虛擬儀器技術與Xilinx FPGA技術相結合的技術方案。值得一提的是,該技術方案為數據采集系統提供了一種快速的圖形化設計方法,大大提升了開發效率。考慮到較高的數據生成率,本文所設計的數據采集系統采用時間交替采樣算法并利用具有較高數據傳輸率的PXI架構進行硬件搭建以及通過讀取FIFO待寫入元素數量進行數據擁塞的相關控制。所設計的高速數據采集系統可以實現頻率在0~900 MHz、功率在-70~0 dBm范圍內信號的高精度測量以及頻率在0.9~1.5 GHz、功率在-40~0 dBm范圍內信號相對有限精度下的工程測量。
本文所設計的高速數據采集系統是基于PXI所構建的,主要實現射頻前端高速的同步數據采集、數據上傳以及PC端相應的信號處理等功能。該系統硬件平臺主要包括下位機和上位機2個部分,其中下位機以NI PXI機箱為主構架,主要完成高速ADC同步采樣模塊、與之相匹配的FPGA主控模塊等NI FlexRIO設備的控制、協調以及同PC的數據交互工作[1];上位機由PC承擔,主要完成采集信號的存儲以及相應的高速信號處理工作。該系統硬件結構如圖1所示。

圖1 高速數據采集系統硬件結構框圖Fig.1 Block diagram of the data acquisition system hardware structure
系統軟件設計在LabVIEW環境下使用圖形化編程語言進行,主要分為下位機和上位機2個部分。下位機的功能由PXI架構的NI FlexRIO設備承擔,對主控FPGA模塊進行編程來配置高速信號同步采集及匹配速率上傳;上位機的功能由PC承擔,主要完成采集信號的存儲及相應的信號處理工作。
FPGA模塊的主要功能是通過對高速ADC采樣模塊I/O資源的配置及上傳速率的控制來達到頻率在0~900 MHz、功率在-70~0 dBm范圍內信號的高精度測量及0.9~1.5 GHz、-40~0 dBm范圍內信號相對有限精度下測量的預定性能指標。該模塊軟件部分共分為配置循環、采樣循環及數據上傳循環3個部分,通過LabVIEW FPGA Module對FPGA進行圖形化編程及相關部署,大大提升系統開發效率。
參考FPGA模塊的技術文檔,此循環通過對User Command、User Data 0&Data 1等信號的參數配置來完成上位機對高速采樣ADC模塊的配置,此舉使得ADC模塊能夠根據實際的工程所需及時做出相應的改變。
鑒于NI 5771高速ADC同步采樣模塊配備有雙通道采樣,為達到更高的采樣率,本系統考慮采用文獻[2]中提出的時間交替采樣算法TIS(time-interleaved sampling)。
時間交替采樣可簡述為采用同一采樣時鐘的N個并行ADC對1個模擬輸入信號g(t)進行采樣,采樣間隔設為T,則單片AD采集的序列為

若相鄰使得各ADC以固定的時間差依次對同一模擬信號進行采樣,將N片ADC所采樣的數字輸出按相同順序進行拼接,此舉提升了模擬信號一個周期內的采樣點數,從而實現了N倍于單片ADC的采樣率[3],理想情況下時間交替采樣的數學模型為

然而TIS算法在傳統高速數據采集系統的硬件實現上存在通道失配、時延誤差及增益誤差等難以避及的問題,這些誤差很大程度上影響系統的性能指標。本設計的ADC采樣模塊中所采用的2塊相同型號的芯片經過了通道校正,PXI架構中有用于多版同步的觸發總線、參考時鐘和服務于精確定時的星形觸發總線,此硬件結構十分有利于TIS算法的低誤差實現[4]。
ADC采樣模塊NI 5771有2個通道,每個通道有8個端子,可將每個通道的前4個端子即AI 1 N-7~N-4&AI 0 N-7~N-4 組成一個通道,AI 1 N-3~N&AI 0 N-3~N組成另一個通道,這樣新形成的2個通道之間自然存在2π/2=π相位差,進而完成時間交替采樣在ADC模塊的配置以倍乘采樣率。其圖形化編程如圖2所示。
本系統包括微信公眾號客戶端和管理后臺兩部分。微信公眾號客戶端采用PHP語言開發;管理后臺采用B/S模式搭建,開發工具選用Visual Studio 2015,兼容IE 7.0以上所有版本瀏覽器;數據庫選用SQL Server 2008 R2。

圖2 時間交替采樣的圖形化編程Fig.2 Configuration of time-interleaved sampling
新形成的2個通道工作于NI 5771 CLIP所定義的采樣時鐘187.5 MHz下,兩通道通過按名稱捆綁這一模塊將各自的數字輸出進行拼接形成U128類型的數據,進而達到倍乘采樣率的目的。
考慮到高采樣率伴隨著高數據生成率,本系統3.0 GS/s的采樣率,8 bit量化,每秒生成3.0 GB龐大的數據量,縱使采用適用于高速數據傳輸的PXI架構和DMA(直接內存訪問)技術也很難滿足需求。鑒于本系統對實時性要求不高及設備成本等因素,所選用的PXI機箱NI 1073的x1 PCI總線用于數據傳輸的帶寬僅為208 MB/s,因而控制采樣數據以合適的速率上傳是FPGA模塊的主要任務之一。
采樣數據的觸發與上傳是由空閑、等待觸發、采樣和暫停這4個狀態控制,這4個狀態之間的切換如圖3所示。

圖3 采樣循環控制狀態切換框圖Fig.3 Switching of the sampling loop control states
采樣數據以匹配速率上傳的核心在于數據緩沖區可寫入元素數量的判斷,當數據緩沖區無法存儲一次采樣所生成的數據量時,即可中斷前端ADC的采樣以避免數據溢出。當數據緩沖區可容納至少一次采樣所生成的數據量時,再次開啟前端ADC的采樣,往復循環即可實現采樣數據的匹配速率上傳。本設計采用塊內存定義的FIFO來實現DMA方式的數據上傳,使用FIFO方法節點來判斷數據緩沖區的可寫入元素數量。
考慮到從PXI機箱NI 1073上傳到PC的最大帶寬僅能達到208 MB/s,最適合傳輸的數據類型為U64,故而對從采樣循環所接收的數據進行一定的處理,從而以相匹配的數據類型、傳輸速率進行上傳[1]。在本循環中,配置上傳時鐘為25 MHz,將從采樣循環所接收的U128類型數據解捆綁形成適合上傳的U64類型數據進行乒乓上傳即可。
上位機的主要功能由PC機所承擔,其程序在LabVIEW環境下搭建[5],程序框圖如圖4所示。

圖4 上位機程序框圖Fig.4 Block diagram of the host computer structure
考慮到采樣點數及噪底功率等因素,將本系統的采樣點數設置為20480,頻率分辨率可達到45.8 kHz,下面從信號測量及誤差分析2個方面對所設計的高速率數據采集系統進行性能分析。
本系統對噪聲,500 MHz、-70 dBm的信號以及1.3 GHz、-20 dBm的信號進行測量,結果如圖5所示。


圖5 使用所設計高速數據采集系統進行信號測量的測試結果Fig.5 Measurement of signals used the system designed
圖5(a)為沒有外部輸入僅有噪聲時的功率譜,750 MHz為系統分頻所產生的串擾信號,說明該系統可對0~1.5 GHz的信號進行測量,噪底功率最低下探至-82~-76 dBm;圖(b)為外部輸入為 500 MHz、-70 dBm時的功率譜,說明該系統可對該信號進行較高精度的測量;圖(c)為外部輸入為1.3 GHz、-20 dBm時的功率譜,由于ADC模塊內嵌有3dB帶寬為900 MHz的網格濾波器,故而在對頻率在900 MHz以上信號的測量只能滿足有限的工程應用。
鑒于高速ADC模塊中集成有1個3 dB帶寬為900 MHz的網格濾波器,故此處只對頻率處于0~900MHz信號的測量進行誤差分析,結果如圖6所示。


圖6 0~900 MHz信號的頻率、功率測量誤差圖Fig.6 Error of frequency&power measured within 900MHz
圖6說明0~900 MHz信號的頻率測量誤差處于-0.1~0.1 MHz區間內,以300 MHz信號為例的功率測量誤差處于-1~1 dBm區間內。
由此得出,本系統可實現0~900 MHz信號的高精度測量及0.9~1.5 GHz信號測量的有限工程應用。
系統設計、搭建完成后,在中科院云南天文臺得以實地工程測試。在測試過程中,將本系統及1臺頻譜儀通過1個二功分連接到40 m射電望遠鏡上以形成實驗對照,所接收天文信號的功率譜如圖7所示。

圖7 所接收天文信號的功率譜Fig.7 Power spectrum displayed on the system designed and the spectrum analyzer
圖7(b)表明,頻譜儀接收的天文信號頻率為70.32 MHz、功率為-29.79 dBm,與此同時所設計的高速數據采集系統的功率譜中可檢測出與前者頻率、功率極為相近的信號,可認為兩者為同一信號,進而驗證了所設計數據采集系統功能的正確性。
本文采用PXI架構搭建高速數據采集系統,在下位機通過主控FPGA模塊來完成時間交替采樣算法在ADC采樣模塊的相關配置以達到倍乘采樣率的目的,與此同時FPGA模塊控制采樣數據的上傳速率以協調高數據生成率和低傳輸帶寬之間的矛盾;在上位機實現數據存儲及功率譜的快速計算。本系統的軟件設計均在LabVIEW環境下使用圖形化編程語言完成,此舉大大加速了系統的開發效率。本系統可實現頻率在0~900 MHz、功率在-70~0dBm范圍內信號的高精度測量以及頻率在0.9~1.5 GHz、功率在-40~0 dBm范圍內信號的有限精度測量。該系統在云南天文臺得以實際應用于工程測試,測試結果驗證了所設計高速數據采集系統的功能正確性。
[1]李攀.陣列信號同步采集系統的設計與實現[D].武漢:華中科技大學,2013.
[2]W C Black Jr,D A Hodges.Time-interleaved converter array[J].IEEE Journal of Solid-state Circuits,1980,15(6):1022-1030.
[3]黃炳國,張在琛.超高速1bit采樣系統的硬件設計及仿真[J].電子測量與儀器學報,2009(S1):269-273.
[4]易敏,蘇淑靖,季偉,等.基于FPGA的高速時間交替采樣系統[J].電子技術應用,2015,41(1):71-74.
[5]章佳榮,王璨,趙國宇.精通LabVIEW虛擬儀器程序設計與案例實現[M].北京:北京人民郵電出版社,2013.