黃江鵬,崔永俊
(中北大學電子測試技術國家重點實驗室;儀器科學與動態(tài)測試教育部重點實驗室,山西太原030051)
航空航天電子測量技術領域中,多數(shù)電參量采用信號源作為激勵。以往采用FPGA和直接數(shù)字頻率合成DDS原理實現(xiàn)模擬信號源的設計中,多用D/A轉換芯片(AD768/AD9744)和多路模擬開關(ADG1208)實現(xiàn)多通道模擬量的輸出[1]。為解決該類信號源電路設計的復雜性問題,本文基于FPGA和PCI技術,巧妙選用AD5628進行設計,結合VB、VC上位機軟件編譯來實現(xiàn)48路模擬信號源的輸出,在簡化電路設計基礎上降低硬件實現(xiàn)成本,并且大幅提高了該信號源的可靠性。
該信號源采用模塊化設計思想,主要由電源模塊和信號源模塊兩部分構成。電源模塊主要為測試臺背板和信號源模塊分別提供定制±9 V、+5 V線性電源輸出和+5 V隔離電源。信號源模塊包括FPGA中央邏輯控制模塊、D/A轉換模塊、信號源偏置放大模塊、信號輸出模塊,各功能模塊在FPGA控制下共同實現(xiàn)48路模擬量的輸出。系統(tǒng)的總體方案設計框圖如圖1所示。
測試臺上電復位后,上位機將發(fā)送8位十六進制命令字,其中包括板卡號信息、寄存器地址通道信息及幅值信息,經(jīng)過PCI總線接口打包成40位二進制數(shù)傳給背板,背板通過判斷并解析所收到相應命令信息后,經(jīng)422總線差分傳輸至信號源模塊中的FPGA中央邏輯控制中心,F(xiàn)PGA控制實現(xiàn)對高精度D/A轉換芯片AD5628進行數(shù)模轉換與通道選擇,最后經(jīng)偏置和放大電路完成48路模擬量信號的輸出。
圖1 系統(tǒng)總體方案設計框圖
該模塊是PCI總線和FPGA控制模塊的中轉站。將PCI卡設計成可插型板卡,方便與計算機的PCI卡槽相連,從而實現(xiàn)上位機與底層硬件電路的各命令信息和狀態(tài)信息的通信[2]。設計采用PLX Tech公司的PCI9054,可支持32 bit/33 MHz PCI總線橋芯片,在突發(fā)狀態(tài)下能夠實現(xiàn) PCI的全速數(shù)據(jù)傳輸,滿足系統(tǒng)傳輸速率491.52 kbit/s的要求。
本設計對于模擬信號源的輸出信號要求其抗干擾能力突出、精度高,同時適用于光纖傳輸高帶寬、低延遲、對距離不敏感、拓撲靈活、支持多種上層協(xié)議等特點。在以往光電轉換電路中光電轉換模塊多采用光電轉換器OCM3443、OCM3723來實現(xiàn)相應低速、高速傳輸電路,其PCB板布線復雜,成本較高。本文通過設計2個接口CON6(等價于6個焊盤),巧妙實現(xiàn)了高低速復用光接口的功能,采用OCM3723芯片同時實現(xiàn)信號的高低速傳輸,在低成本的同時簡化了電路設計冗余。以數(shù)據(jù)中轉模塊為例,上位機下發(fā)命令經(jīng)由PCI總線接收轉發(fā)差分信號至光接口的RD+和RD-端接收。根據(jù)系統(tǒng)傳輸速率不同而選通不同管腳以實現(xiàn)功能,若選低速,則CON6中管腳1與5、2與6用0Ω電阻選通,P1、P2連接至FPGA的I/O口;若選高速,則CON6中管腳1與3,2與4用0Ω電阻選通,后接DS92LV1023和DS92LV1224外圍電路。如圖2所示為系統(tǒng)采用低速通道的外圍電路設計。
圖2 OCM3723外圍電路設計
2.3.1 隔離電路分析設計
在硬件電路設計中,常用的隔離技術有光隔離、磁隔離和電容隔離等。相對于光耦隔離器而言,磁隔離具有集成度高、功耗低、使用方便和可靠性強的優(yōu)點,設計使用ADI公司基于磁隔離的通用型四通道數(shù)字隔離器AD-uM1400,采用5 V供電,由半導體工藝構成微型線圈,線圈之間加絕緣層,與變壓器相類似[3]。其中,經(jīng)FPGA發(fā)出的信號 D0,SCLK0,/SYCN0,/LDC0連接至 ADuM1400的3.3 V 端,經(jīng)過該芯片隔離后輸出信號 DIN0、CLK0、NC0、LDAC0至后續(xù)電路,各4路信號分別相互隔離、互不干擾。其電路設計如圖3所示。
圖3 ADuM1400隔離芯片電路原理圖
2.3.2 數(shù)模轉換分析設計
DAC芯片是系統(tǒng)波形重構過程中的核心,理論上使用分辨率越高的DAC,輸出波形的精度也就越高[4]。經(jīng)計算,要實現(xiàn)系統(tǒng)精度指標必須選用至少8位分辨率的DAC,而實際的DAC輸出必須考慮到DAC外圍電路和外界條件所產(chǎn)生誤差的影響,輸出的信號無法達到DAC芯片所描述的精度[5],設計中選用12位分辨率的高精度AD5628芯片,并根據(jù)芯片性能要求,采用溫漂系數(shù)為5 ppm/℃的配置電阻來提高輸出信號的精度。
AD5628是低功耗、8通道、12位緩沖電壓輸出DAC,采用2.7~5.5 V單電源供電,內(nèi)置一片內(nèi)基準電壓源,內(nèi)部增益為2。上電時,片內(nèi)基準電壓源關閉,因而可以使用外部基準電壓源。其中,內(nèi)部基準電壓源通過VHDL硬件語言編譯操作實現(xiàn)使能。DAC的輸入編碼為二進制數(shù)。設計中采用內(nèi)部基準電壓源為2.5 V的芯片,并使用該芯片的內(nèi)部基準電壓,滿量程可達到5 V,理論輸出電壓值的計算公式如式(1),電路原理圖如圖4所示。
式中:D是載入DAC寄存器的二進制編碼的十進制等效值;N是分辨率。
圖4 數(shù)模轉換芯片電路原理圖
本設計中 AD5628,D∈ (0,4 095),N=12。
假設上位機向AD5628發(fā)送命令為X“800”,對應十進制的值D=2 048,則輸出的電壓大小VOUT=2×2.5×=2.5 V 。
2.3.3 調(diào)理電路分析設計
根據(jù)數(shù)模轉換芯片線性和運放芯片“軌對軌”特性,之前應用中線性芯片兩端輸出的模擬量精度相對較低,即0 V和5 V精度達不到設計要求。為解決該精度問題[6],采用偏置基準為2.5 V的穩(wěn)壓芯片LM236和運放芯片OPA4243來設計電路,如圖5所示。VOUT0為AD5628所輸出的0~5 V電壓,A、B、C三點電壓值設為VA、VB、VC,其中VA=2.5 V,根據(jù)集成運放的“虛短”和“虛斷”特性,計算公式如下
即經(jīng)偏置電路后,VCH0∈(-2.5 V,2.5 V)。
圖5 偏置電路原理圖
放大電路采用OPA4227運放芯片,該芯片工作模式為“軌對軌”,采用-9 V~9 V供電,放大倍數(shù)為A=1+,在實際電路中,選取R150=5.1 kΩ,R151=10 kΩ,使得放大倍數(shù)A≈3,保證A點輸出電壓VA∈(-7.5~7.5 V),達到幅值的放大要求。由于這樣輸出模擬量紋波較大,因此后面接RC濾波電路,提高信號精度。其電路設計如圖6所示。
圖6 放大電路原理圖
采用VHDL語言在FPGA內(nèi)部實現(xiàn)對D/A轉換的控制,AD5628接口采用3線串行接口(SYNC、SCLK和DIN),其典型寫序列的時序圖參見圖7。串行時鐘頻率最高可以達到50 MHz,設計中FPGA晶振時鐘頻率采用40 MHz,因而AD5628能與其兼容。
當SYNC=“0”時,啟動寫序列;在SCLK脈沖的下降沿將DIN線的數(shù)據(jù)寫入32位移位寄存器,在第32個時鐘下降沿,最后一位數(shù)據(jù)被讀入。在該階段,SYNC線可以保持在低電平或置為高電平。但無論哪種情況,在下一個寫序列之前必須保持SYNC至少15 ns的高電平,設計中等待了2個時鐘(系統(tǒng)時鐘為40 MHz),這樣才能保證SYNC下降沿啟動下一個寫序列。
圖7 AD5628串行寫入操作
輸入移位寄存器為32位寬(31~0)。對系統(tǒng)中使用的AD5628而言,(31~28)是無關位,程序中設為“0000”,(27~24)是命令位C3~C0(參見表1),可以看出,在往DAC中寫入數(shù)據(jù)時,程序中應寫為“0011”;(23~20)是4位DAC地址A3~A0,最后是12位數(shù)據(jù)字,用來控制D/A輸出電壓幅值的大小,該12位數(shù)據(jù)位在SCLK的第32個下降沿被送入DAC寄存器。
表1 命令定義
若現(xiàn)上位機向某寄存器發(fā)送X“A80”,則程序中C3~C0=0011,相應地址的12位數(shù)據(jù)為101010000000,從而通過式(1)計算出轉換成模擬量的幅值。
文中信號源實現(xiàn)的關鍵是對系統(tǒng)程控調(diào)幅的設計。以往設計中信號源主要是通過往寄存器中燒入相應幅值信息的抽樣值,或在硬件嵌套多個DAC提供參考電壓來完成。本文提出一種程控實現(xiàn)方法實現(xiàn)對幅值的控制。采用程控調(diào)幅的方法具有速度快、步進小、可擴展性高的優(yōu)點,更適合多通道信號源的設計。上位機下發(fā)中低12 bit即為幅值程控系數(shù),在FPGA內(nèi)部調(diào)用IPCore,經(jīng)減法器、乘法器和加法器后生成12 bit調(diào)制后數(shù)字量,輸出至數(shù)模轉換芯片AD5628。其示意圖如圖8所示。
圖8 調(diào)幅設計示意圖
上位機開始界面上點擊“系統(tǒng)復位”、“單機測試”后,在彈出的界面窗口有多路選擇輸出電壓,默認取值為中間值,如圖9a所示。使用高精度萬用表進行多次測量,對模擬量進行標定后,保證上位機發(fā)送的命令使最終輸出的電壓值誤差達到最小。
用示波器測量的紋波如圖9b所示。系統(tǒng)上電后,不發(fā)送命令的情況下對系統(tǒng)進行紋波測試,將示波器耦合模式調(diào)為交流模式,所測紋波的峰峰值為84 mV,精度滿足設計要求。
在上位機界面分別點擊發(fā)送6 V和-6 V直流量,用示波器所測相應幅值的直流量波形如圖9c、9d所示,用多功能萬用表測量值分別為6.002 V和-5.998 V,完全滿足了設計需求。
圖9 測試結果(截圖)
本文以Xinlix公司Spartan-3系列的XC3S400和Analog Devices公司的 AD5628 為硬件平臺,VB6.0、VC++為軟件開發(fā)平臺,將FPGA和PCI技術有機的結合起來,利用FPGA集成度高、速度快和現(xiàn)場可編程的優(yōu)點,通過上位機對信號幅值進行調(diào)控,有序地實現(xiàn)了多路信號源系統(tǒng)的設計。實驗結果證明該系統(tǒng)運行良好,信號源輸出的信號具有高精度、穩(wěn)定性好以及多路并行輸出的優(yōu)點。
[1]安震,張會新,盧一男,等.基于PCI總線與FPGA多通道模擬信號源的系統(tǒng)設計[J].計算機測量與控制,2012,20(9):2558-2560.
[2] PCI 9054 Date Book[EB/OL].[2013-09-20].http://wenku.baidu.com/link?url=e29UElfgITRgBHL5qX40lUmZ7FjVCFexYfmmfNbPGoa e-cVQfXgTsZTrPpPUE7MEWlGpbPIb8-69MkkG4UEeEnPWSHWC0dPZ pQxtew9Us-7.
[3]邸麗霞.基于FPGA的高速圖像數(shù)據(jù)采集存儲系統(tǒng)設計[J].電視技術,2013,37(13):49-52.
[4]胡小燕.基于PCI+FPGA的任意波形發(fā)生器的研究與設計[J].電子質(zhì)量,2010(4):24-26.
[5]于曉光,張彥軍.基于FPGA的數(shù)字量變換器的設計[J].通信技術,2010,43(1):203-204.
[6]王紅亮,黃洋文.基于FPGA的可程控多路信號源設計[J].火力與指揮控制,2010,35(6):97.