王 培,熊躍軍,劉 倩,龔承岳,石陽波
(長(zhǎng)沙學(xué)院,湖南 長(zhǎng)沙 410022)
在電子信息技術(shù)飛速發(fā)展的時(shí)代,在科研研究實(shí)驗(yàn)中示波器作為一種實(shí)用性的測(cè)量工具是必不可少的。示波器的主要功能就是通過接收不可見的電信號(hào),將之轉(zhuǎn)化為人們所熟知的圖形,供科研人員研究。本文設(shè)計(jì)的微型示波器可分為2 個(gè)部分,分別為硬件設(shè)備和應(yīng)用程序,與各大高校使用的示波器有所區(qū)別。目前,大多數(shù)實(shí)驗(yàn)室所配置的示波器基本都是大型的、笨重的、結(jié)構(gòu)復(fù)雜、功能煩瑣。微型示波器相較于大型的示波器而言,具有體積小、便于運(yùn)輸、結(jié)構(gòu)簡(jiǎn)單、使用方法簡(jiǎn)易等優(yōu)勢(shì)。利用現(xiàn)場(chǎng)可編程邏輯門陣列(Field Programmable Gate Array,F(xiàn)PGA)技術(shù)設(shè)計(jì)的微型示波器比較于大型傳統(tǒng)的示波器而言,不論是在設(shè)計(jì)難易、設(shè)計(jì)開銷,還是在使用難易等方面都具有很大的優(yōu)勢(shì)[1,2]。
本系統(tǒng)是以FPGA 的開發(fā)板為核心設(shè)計(jì)而成,主要由高速AD 模塊、FPGA 開發(fā)板及程序三部分組成。高速AD 模塊主要由高速AD 芯片(AD9280)、衰減電路(衰減到0 ~2 V)、模擬電壓輸入接口(-5 ~5 V)外加電源模塊(±5 V,3V3)構(gòu)成。首先,高速AD/DA 模塊會(huì)在模擬電壓輸入接口接收外部模擬信號(hào),模擬信號(hào)經(jīng)過衰減電路,再由AD9280芯片采用二進(jìn)制數(shù)據(jù)采集,進(jìn)行模擬-數(shù)字信號(hào)的轉(zhuǎn)換。FPGA開發(fā)板對(duì)數(shù)據(jù)進(jìn)行接收處理,獲得基本參數(shù)。FPGA 開發(fā)板及程序由數(shù)據(jù)抽樣存貯模塊以及液晶顯示器(Liquid Crystal Display,LCD)顯示模塊分別對(duì)數(shù)據(jù)進(jìn)行抽樣、處理和儲(chǔ)存,完成界面繪制、波形變化繪制和數(shù)據(jù)變化顯示。
微型示波器的工作流程如圖1 所示。當(dāng)開發(fā)板接通電源時(shí),F(xiàn)PGA 會(huì)通過Verilog 代碼對(duì)開發(fā)板進(jìn)行配置,實(shí)現(xiàn)對(duì)開發(fā)板的初始化設(shè)置,此時(shí)外部的高速高精度A/D 模塊開始采集模擬數(shù)據(jù)。然后實(shí)驗(yàn)所需要的檢測(cè)模擬信號(hào)通過運(yùn)算放大器AD8065進(jìn)行放大,以達(dá)到AD9280 元件的檢測(cè)要求,再被32MSPS 模數(shù)轉(zhuǎn)換器AD9280 轉(zhuǎn)換為開發(fā)板可識(shí)別的數(shù)字信號(hào)。進(jìn)入FPGA 后,該數(shù)字信號(hào)分成2 路,一路輸入到測(cè)量模塊,用于測(cè)量信號(hào)的幅值;另一路將數(shù)據(jù)寫到雙口隨機(jī)存取存儲(chǔ)器(Random Access Memory,RAM)中,在此過程還要不停地判斷觸發(fā)條件,一旦滿足觸發(fā)條件,就記錄此時(shí)的RAM 地址用于繪制波形[3]。軟件方面最重要的就是在于與硬件之間進(jìn)行數(shù)據(jù)交互,通過添加IP 核接口實(shí)現(xiàn) Nios II 處理器與外設(shè)之間的信息傳輸,自定義IP 核封裝Avalon-MM 接口,Nios II 處理器使用一些通信協(xié)議保持與自定義的IP 核進(jìn)行溝通,如Avalon-MM 總線協(xié)議,實(shí)現(xiàn)硬件加速模塊與軟核數(shù)據(jù)的通信。Nios II 處理器可以接收觸發(fā)電平、抽樣率、波形的縮放比例等控制參數(shù)[4]。

圖1 微型示波器工作流程
本次設(shè)計(jì)的硬件設(shè)備包括3 部分,分別是LCD液晶屏、FPGA 開發(fā)板和高速AD/DA 模塊,其中高速AD/DA 模塊負(fù)責(zé)對(duì)模擬信號(hào)進(jìn)行采集、模擬信號(hào)輸出、數(shù)字化處理和數(shù)字信號(hào)數(shù)據(jù)傳輸;FPGA 開發(fā)板負(fù)責(zé)與高速AD 模塊進(jìn)行數(shù)據(jù)對(duì)接,同時(shí)與LCD液晶屏進(jìn)行數(shù)據(jù)交互;LCD 液晶屏負(fù)責(zé)示波器的面板,主要是進(jìn)行測(cè)量參數(shù)的實(shí)時(shí)變化顯示、波形變化顯示以及控制功能輸入口。系統(tǒng)的硬件設(shè)計(jì)框架如圖2 所示[1]。相較于其他的開發(fā)方式,如單片機(jī)和嵌入式,以FPGA 為核心的開發(fā)方式的優(yōu)點(diǎn)在于內(nèi)部可嵌入軟核,增強(qiáng)開發(fā)板的數(shù)據(jù)處理能力,還有時(shí)鐘周期小、內(nèi)部延時(shí)小、自定義集成電路等。一個(gè)FPGA 芯片可以快速進(jìn)行數(shù)據(jù)采集、數(shù)據(jù)處理、數(shù)據(jù)交互和數(shù)據(jù)緩存與傳輸,不僅可以提高設(shè)備的穩(wěn)定性,還可以減少不必要的浪費(fèi)[2]。模擬信號(hào)首先經(jīng)過信號(hào)調(diào)理電路(衰減電路)進(jìn)行降壓處理,AD 轉(zhuǎn)換電路對(duì)外部模擬信號(hào)進(jìn)行采樣處理,將模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),由FPGA 將AD 模塊轉(zhuǎn)化的數(shù)字信號(hào)進(jìn)行存貯和處理,再將信號(hào)的參數(shù)和波形繪制呈現(xiàn)在LCD液晶屏上。

圖2 硬件主體框架
高速AD 模塊是一款以AD9280 為核心芯片的模塊。AD9280 芯片由亞德諾半導(dǎo)體技術(shù)有限公司主導(dǎo)設(shè)計(jì),具有高性能、低功耗的特點(diǎn)[5]。
AD9280 內(nèi)部采用多級(jí)差分流水線架構(gòu),能夠分級(jí)快速處理數(shù)據(jù),從一個(gè)分級(jí)階段到一個(gè)更高級(jí)的階段,每個(gè)階段都可以提高采集的精度,達(dá)到百萬級(jí)采樣速率且保持低溫低功率運(yùn)行,如圖3 所示。AD9280 芯片輸出的數(shù)字信號(hào)的數(shù)據(jù)格式是以直列二進(jìn)制輸出格式表示。不同于其他元件,AD9280 含有很多可編程硬件部件,而且這些硬件部件有電壓電流、負(fù)載變化、溫度、濕度等其他可影響因素?zé)o關(guān)的特性,運(yùn)行速度極快。

圖3 多級(jí)差分流水線架構(gòu)
此外,通過所研究的時(shí)序波形可以發(fā)現(xiàn),如圖4所示,AD9280 芯片在處理采集的數(shù)據(jù)時(shí),并不是第一時(shí)間進(jìn)行數(shù)據(jù)處理,而是要經(jīng)過25 ns 的等待時(shí)間才接收數(shù)據(jù)。時(shí)鐘輸入是從AVDD 引腳通過內(nèi)部緩沖與一個(gè)逆變器進(jìn)入。該特性允許AD9280 芯片適應(yīng)+5 V 或+3.3 V 互補(bǔ)金屬氧化物半導(dǎo)體(Complementary Metal Oxide Semiconductor,CMOS)邏輯門電路輸入信號(hào),流水線架構(gòu)可以在輸入時(shí)鐘的上升和下降邊緣上運(yùn)行;驅(qū)動(dòng)時(shí)鐘輸入的邏輯是高速或高級(jí)CMOS(HC/HCT,AC/ACT)邏輯,以確保最小化占空比的變化。此外,CMOS 邏輯提供了對(duì)稱的電壓閾值水平和足夠的上升與下降時(shí)間來支持AD9280 芯片達(dá)到32 MSPS 的采樣頻率[7]。
AD9280 芯片用一個(gè)超出范圍的信號(hào)(OTR)表示一個(gè)溢出狀態(tài),可用來確定測(cè)量電壓是否低或高溢出,只有OTR 信號(hào)為低電位時(shí),AD9280 芯片才會(huì)正常運(yùn)行,于此可以判斷所得數(shù)據(jù)是否正確。因此,在模擬數(shù)據(jù)輸入端口需要設(shè)計(jì)一個(gè)電壓衰減電路,降低電壓至有效范圍之內(nèi)。

圖4 AD9280 時(shí)序波形分析
由3PD9780 芯片構(gòu)成的高速DA 模塊,是一種電流輸出數(shù)模轉(zhuǎn)換器(Digital to Analog Converter,DAC),是由思瑞浦公司研發(fā)的一款以大量P 溝道金屬氧化物半導(dǎo)體(Positive Channel Metal Oxide Semiconductor,PMOS)電流源陣列組成的芯片。該陣列被分成32 個(gè)相等的電流,能夠提供高達(dá)20 mA 的總電流,構(gòu)成5個(gè)最高有效值(Most Significant Bit,MSBs)。其余的3 個(gè)MSB 也采用了相等加權(quán)的電流源,其總和等于一個(gè)MSB 電流源的7/8。使用電流源實(shí)現(xiàn)上下位有助于保持DAC 的高輸出阻抗(即>100 kW)。所有這些電流源都通過PMOS 差動(dòng)電流開關(guān)切換到2 個(gè)輸出節(jié)點(diǎn)中的一個(gè)或另一個(gè)。這些開關(guān)是基于一種新的架構(gòu),大大提高了失真性能。由這8 個(gè)數(shù)據(jù)輸入(MSB)引腳和一個(gè)時(shí)鐘輸入引腳組成輸入數(shù)據(jù),具有8 位數(shù)據(jù)位,且3PD9780 芯片支持高達(dá)125 MSPS 的時(shí)鐘速率。3PD9780 的工作原理比較簡(jiǎn)單,只需要輸入一個(gè)時(shí)鐘信號(hào),給定合理的參考電壓,則會(huì)產(chǎn)生差分電流信號(hào)。經(jīng)過一個(gè)7 階低通濾波器,再經(jīng)過2 個(gè)AD8066 將差分電流信號(hào)變?yōu)閱味诵盘?hào)并放大。3PD9780 的原理如圖5所示。

圖5 3PD9780 的原理
為了搭建微型示波器系統(tǒng),提出一種不同于其他系統(tǒng)的示波器,極大程度地發(fā)揮了FPGA 的優(yōu)勢(shì),采用并行模式并創(chuàng)造了多個(gè)模塊,以達(dá)到能夠在一個(gè)時(shí)鐘周期內(nèi)進(jìn)行多級(jí)數(shù)據(jù)處理的目的,主要分4 個(gè)層次:數(shù)據(jù)處理區(qū)、驅(qū)動(dòng)層、數(shù)據(jù)交互區(qū)以及用戶界面(User Interface,UI)。軟件設(shè)計(jì)結(jié)構(gòu)如圖6 所示。

圖6 軟件設(shè)計(jì)結(jié)構(gòu)
UI 界面主要是實(shí)現(xiàn)AD 采集的波形數(shù)據(jù)以及波形變化的顯示,再者識(shí)別觸摸點(diǎn)并發(fā)送識(shí)別的觸摸坐標(biāo)至數(shù)據(jù)處理模塊。
數(shù)據(jù)交互層通過Avalon-MM 接口模塊實(shí)現(xiàn)Nios II 處理器與各個(gè)模塊之間的數(shù)據(jù)交換,保持交換數(shù)據(jù)的準(zhǔn)確性以及速率[7]。
數(shù)據(jù)處理層包含參數(shù)測(cè)量、AD 數(shù)據(jù)采集、先進(jìn)先出隊(duì)列(First In First Out,F(xiàn)IFO)暫緩模塊以及數(shù)據(jù)存儲(chǔ)模塊,主要是實(shí)現(xiàn)對(duì)AD 采集信號(hào)的數(shù)據(jù)進(jìn)行測(cè)量、高精度采集以及存儲(chǔ)和傳輸像素?cái)?shù)據(jù),保證數(shù)據(jù)的完整性、有序性。
驅(qū)動(dòng)層作為系統(tǒng)必不可少的一部分,主要是對(duì)FPGA 的IO 口進(jìn)行配置,使得軟件程序可對(duì)LCD 實(shí)現(xiàn)操作;其中的時(shí)鐘模塊是用來控制各個(gè)模塊的運(yùn)行,保證各個(gè)模塊互不相擾,可以正常運(yùn)行。
本文主要進(jìn)行對(duì)系統(tǒng)的可行性以及測(cè)量數(shù)據(jù)與一般示波器的對(duì)比測(cè)試,系統(tǒng)演示和測(cè)量數(shù)據(jù)對(duì)比(圖7、表1)表明,微型示波器系統(tǒng)可以實(shí)現(xiàn)系統(tǒng)的正常運(yùn)行,擁有一般示波器的功能,且測(cè)試數(shù)據(jù)的誤差很小,滿足一般需求。

圖7 GWINSTEK 示波器與本系統(tǒng)比較數(shù)據(jù)

表1 測(cè)量數(shù)據(jù)對(duì)比
本系統(tǒng)通過與GWINSTEK 示波器進(jìn)行數(shù)據(jù)比較,使用信號(hào)發(fā)生器生成一系列測(cè)試信號(hào),考慮到信號(hào)發(fā)生器損耗、老化、測(cè)試連接線等問題,對(duì)二者的數(shù)據(jù)進(jìn)行比較分析得出結(jié)論如下。本系統(tǒng)的電壓測(cè)量誤差0.1 ~0.02Vpp,頻率測(cè)量在0.001 kHz 范圍內(nèi),系統(tǒng)性能良好。
本文介紹了基于FPGA 的微型示波器的設(shè)計(jì)方案和實(shí)現(xiàn),通過FPGA 硬件和Quartus Prime 集成開發(fā)環(huán)境的聯(lián)合應(yīng)用,可以實(shí)現(xiàn)對(duì)大多數(shù)電信號(hào)進(jìn)行測(cè)試,并且通過與GWINSTEK 示波器檢測(cè)對(duì)比,說明本系統(tǒng)可以媲美大多數(shù)的大型示波器。