李鴻松,武 錦,李澤宏,周 磊,季爾優
(1.電子科技大學電子科學與工程學院,成都 610054;2.中國科學院微電子研究所,北京 100029)
示波器是一種功能眾多的電子測量測試儀器,可以將肉眼看不見的模擬信號轉換為肉眼可見的波形圖像,便于人們研究和分析處理模擬信號。虛擬儀器是以計算機軟件為核心,功能可以由用戶自由定義、修改和設計,具有虛擬面板的一種新型儀器模式。基于虛擬儀器的思想,本文提出了一種基于FPGA和國產ADC芯片的虛擬示波器的硬件結構設計和實現方案。該方案以FPGA作為主邏輯控制單元,當硬件電路檢測到模擬信號輸入時,經過模擬前端處理和AD轉換,在時鐘信號控制下將轉換后的數字信號同步到FPGA控制的存儲單元中,最后通過PCIE接口傳輸至上位機完成信號處理、分析、測量、顯示等功能。
虛擬儀器是一種新型儀器模式,通過電子儀器與計算機應用深層次結合而成,比傳統儀器和一般智能儀器具有更強大的功能,是儀器發展的又一次飛躍。虛擬示波器就是虛擬儀器的一種,可以實現傳統示波器大部分的功能,而且在很大程度上有著傳統示波器無法比擬的優點,比如豐富齊全的功能、使用簡單靈活和低廉的價格等。
本次設計是基于數據采集上的虛擬儀器系統方案來完成實現的虛擬示波器功能,通過FPGA與ADC完成數據采集并借助于上位機來完成各種信號的處理、分析、顯示和存儲等功能[1],其硬件結構如圖1所示。

圖1 系統硬件結構
本文采用FPGA在整個硬件電路作為主邏輯控制單元完成外部輸入信號的采集工作。當硬件電路檢測有外部模擬信號進入時,首先通過模擬前端信號處理電路完成對信號的衰減放大等處理,能夠使該輸入信號幅值滿足ADC轉換電路的輸入要求;之后ADC將其接收到的模擬信號轉換為數字信號并在時鐘信號的控制下同步輸入到FPGA控制電路的存儲單元中;最后通過PCIE接口將數據傳輸至計算機,再由相應的應用軟件完成信號的處理和參數測量、頻譜分析、波形顯示等工作。
模擬前端處理就是一個信號調理電路處理的過程,是指把來自傳感器或外界輸入的模擬信號經過衰減、放大和濾波等操作后,轉換為可用于數據采集、分析處理和計算顯示等其他目的,且更容易存儲、處理的數字信號的電路過程。其電路的作用有兩個:一是通過衰減和放大電路將被測模擬信號的幅值調整至符號ADC芯片要求范圍以內,保證ADC采樣測試有較大的動態范圍;二是為了不對被測模擬信號產生其他影響,同時需要保證調理電路有高的輸入阻抗[2-3]。
本文設計的模擬前端信號調理電路結構如圖2所示。由于在數據采集過程中信號大小是未知的,為了防止因采樣信號過大損壞信號調理電路中的其他器件,在采樣信號進入前加入了由兩個二極管組成的輸入保護電路。衰減網絡主要是利用電阻分壓,再加上用于頻率補償的電阻和電容組成[4],并通過繼電器來選擇多少大小的衰減。同時增加直流偏置模塊對被測信號偏置電壓進行調節,進而實現波形顯示偏置調節。選用了一款低噪聲、低功耗全差分放大器LMH5401將衰減后的被測單端信號轉換為差分信號,再通過一個可調增益放大器實現信號的放大,最后通過低通濾波器去除掉高頻分量和干擾的噪聲進入到ADC模數轉換器中。

圖2 模擬前端結構
2.2.1 ADC芯片簡介
ADC模數轉換器是將連續的模擬信號轉換為離散數字信號的器件,也是測試測量領域中關于數據采集硬件系統的核心器件[5]。本次設計選用全國產的ADC芯片AAD08D2250,是采用硅基工藝制造的高速寬帶模數轉換器。該芯片可將差分420 mV輸入模擬信號轉換成8 bit數字信號,芯片內包含2個最高工作在2.5 GS/s的子ADC,可工作在交織和非交織模式,在對數據進行2倍解復用(Demux)之后通過LVDS接口輸出。輸出信號包括1路時鐘(2或4分頻)、32路數據輸出以及2路超量程比特輸出,均為LVDS電平標準。芯片采用+4.6 V/+3.3 V/+1.8 V電源供電,總功耗約為4.2 W。芯片有144個引腳,為增強型導熱焊盤LQFP封裝,芯片封裝及引腳如圖3所示。

圖3 AAD08D2250封裝結構
管腳INI_P/INI_N和INI_Q/INI_Q為2路模擬信號輸入通道,單路輸入時最高采樣率為2.5 GS/s,雙路輸入時交織狀態下最高采樣率為5 GS/s;I1A-I8A和Q1A-Q8A、I1B-I8B、Q1B-Q8B為32對差分數據輸出端口;SDOUT和SDIN、SCLK、LDN為4線SPI接口,用于對ADC芯片的功能配置及性能校準。
2.2.2 ADC芯片特點
AAD08D2250高速寬帶模數轉換器電路結構如圖4所示。根據虛擬示波器的性能要求,其主要性能指標如下。

圖4 AAD08D2250內部結構
(1)分辨率:8 bit;
(2)采樣精度:雙通道模式1~2.5 GS/s,單通道模式2~5 GS/s;
(3)輸入信號帶寬:3.5 GHz;
(4)ENOB:6.4 bit;
(5)功耗:4.2 W;
(6)芯片封裝形式:LQFP。
2.3.1 PCIE總線簡介
隨著高速串行計算機擴展總線標準(PCIE)技術的發展逐漸成熟,同時為了滿足高速率的數據傳輸要求,越來越多的數據采集設備使用了PCIE接口進行數據傳輸[6]。PCIE總線采用的是高速差分信號線連接發送端和接收端而成,其總線鏈路結構如圖5所示。PCIE總線上的數據發送端和數據接收端分別連接在PCIE鏈路的兩端,形成一個數據傳輸通道。除了總線鏈路外,PCIE總線在發送和接收數據時還被劃分為多個層次。PCIE的總線層次結構與網絡協議相仿,但與一般的計算機網絡協議不同的是PCIE總線采用硬件邏輯來實現不同層次的功能[7]。

圖5 PCIE總線的物理鏈路結構框圖
由圖5所示,在PCIE總線物理鏈路的每個數據通路(Lane)中,包含2組發送和接收的差分信號。其中發送端的發送鏈路同時也是接收端的接收鏈路,由一組差分信號連接發送端的TX部分與接收端的RX部分組成;而發送端的接收鏈路同時也是接收端的發送鏈路,使用另一組差分信號連接發送端的RX部分與接收端的TX部分組成[8]。每一個PCIE鏈路都可以由單個或多個Lane組成。
2.3.2 PCIE總線的層次結構
PCIE總線采用了串行通信連接方式,在其發送和接收時數據使用數據包(Packet)來進行數據傳輸,很大程度上去除了在PCI總線中存在的某些邊帶信號,如INTx和PME#等信號。如圖6所示為PCIE總線的層次結構,通過其層次結構可知數據包在PCIE總線的收發過程中需要依次通過包括設備核心層、事務層、數據鏈路層和物理層等在內的多個層次[7]。

圖6 PCIE總線的層次結構框圖
在某種程度上PCIE的層次結構類似于網絡的層次結構,但是PCIE總線的每個層次結構都是通過硬件邏輯來完成實現的。在PCIE總線收發數據的層次結構中,首先報文數據通過發送端設備的核心層中產生,依次經過事務層的封裝、數據鏈路層的可靠性處理和物理層封裝后發送至其他設備。接收端設備的物理層接收到數據報文后經數據鏈路層、事務層處理,最后到達核心層。其中在發送數據時事務層將來自PCIE總線中的核心層的數據封裝為TLP(Transaction Layer Packet)后發送至數據鏈路層;然而在接收數據時事務層的流程與發送數據時恰好相反,是將數據鏈路層中接收到的數據報文發至PCIE總線的核心層。數據鏈路層將來自事務層的數據報文添加Sequence Number前綴和CRC后綴進行可靠性處理,保證數據在發送過程中能夠完整可靠地進入到其他設備接收端的數據鏈路層。物理層是PCIE總線的層次結構中的最底層,它將需要PCIE通信的設備連接在一起,同時也是PCIE體系結構中最重要、最難以實現的組成部分,它為數據通信的PCIE設備間提供可靠的傳送介質,為數據報文的收發提供一個合法可靠的物理系統環境。
2.3.3 PCIE接口實現
PCIE的物理鏈路可以由單條或多條Lane組成,當前PCIE可以支持1、2、4、8、16和32個Lane,而總線上的每一個Lane與外部設備間的數據交換速率和帶寬與PCIE總線版本相關,以×1為例,PCIE 1.0的吞吐量為250 MB/s,而PCIE 4.0的吞吐量高達2 GB/s,在性能上提升了近8倍[8]。為滿足需求,本文采用的是×8寬度的PCIE 2.0鏈路結構,其電路設計結構如圖7所示。

圖7 PCIE接口外圍電路設計
隨著頻率的提高,對于PCI并行接口傳輸出現問題:高速傳輸的時候,并行的連線直接干擾異常嚴重,而且隨著頻率的提高,干擾越來越不可跨越。而在PCIE總線的每一個物理鏈路中的數據通路中有2條低壓差分信號線,一條用于發送,另外一條用于接收。相同內容通過一正一反的差分信號傳輸,干擾可以很快被發現和糾正,從而可以將傳輸頻率大幅提升,同時PCIE接口是串行全雙工通信,那么從頻率提高所得到的收益大于一次傳輸多個bit的收益,而且在PCB設計時布線更簡單,也可使用更多Lane整合成為更高帶寬的線路。
通過DG1022U函數發生器依次輸出一個峰峰值為183 mV的500 kHz正弦波信號、5 MHz方波信號和500 kHz三角波信號為該系統提供輸入采樣信號,其測試結果與原始信號對比如圖8、9、10所示,圖片上方為實際測量結果,下方為真實信號參數。

圖8 正弦波信號虛擬示波器測試對比結果

圖10 三角波信號虛擬示波器測試結果
從上述實際測量結果可知本次設計的虛擬示波器能夠基本實現傳統示波器的測試功能,且實際測量的信號頻率大小和幅值大小與真實值基本相同。為了觀測實際測量結果與輸入信號的誤差情況,給定幅值為400 mV、頻率大小為500 kHz~100 MHz的輸入信號進行測試,實驗結果見表1。
通過測試驗證,本文基于國產ADC設計的虛擬示波器能夠實現高速高精度采樣,并具有穩定性好、抗干擾能力強等特點。該系統單路最高采樣4 GS/s,雙路使用最高采樣2 GS/s,同時具有PCIE接口可直接與PC端連接進行數據傳輸,便于后續的信號處理、數據分析判斷和顯示以及數據存儲。