張雪鈺王洪凱焦新泉*劉東海孫 周
(1.中北大學(xué)儀器科學(xué)與動(dòng)態(tài)測(cè)試教育部重點(diǎn)實(shí)驗(yàn)室,山西太原 030051;2.北京航天長(zhǎng)征飛行器研究所,北京 100076;3.北京機(jī)電工程總體設(shè)計(jì)部,北京 100039)
在遙測(cè)系統(tǒng)中,采編器主要實(shí)現(xiàn)對(duì)遙測(cè)系統(tǒng)中分布的大量溫度、壓力、沖擊、噪聲等傳感器產(chǎn)生的模擬量參數(shù)的采集與分析[1]。在采編器自測(cè)系統(tǒng)中,模擬量信號(hào)源可模擬傳感器輸出信號(hào)并提供標(biāo)準(zhǔn)信號(hào)。結(jié)合設(shè)計(jì)要求,需實(shí)現(xiàn)32 路0~28 V 波形、頻率、相位、占空比可調(diào)的電壓輸出,除方波外頻率在1 Hz~10 Hz,方波在1 kHz~10 kHz,電壓調(diào)節(jié)精度為0.1%。傳統(tǒng)信源卡采用專(zhuān)用DDS 芯片[2],參數(shù)固定,且通道數(shù)少,無(wú)法滿(mǎn)足多種信號(hào)輸出;采用DA 芯片與模擬開(kāi)關(guān)陣列相結(jié)合的方式可實(shí)現(xiàn)多路可調(diào)節(jié)信號(hào)發(fā)生源,但該類(lèi)信號(hào)源電路設(shè)計(jì)較為復(fù)雜,且存在一定的通道干擾,為簡(jiǎn)化設(shè)計(jì)并達(dá)到設(shè)計(jì)要求,采用AD5504 4 通道模數(shù)轉(zhuǎn)換器進(jìn)行DA 轉(zhuǎn)換,結(jié)合VHDL 語(yǔ)言與上位機(jī)實(shí)現(xiàn)程控多路模擬電壓的輸出,經(jīng)測(cè)試,滿(mǎn)足設(shè)計(jì)要求且可靠性高。
模擬量信號(hào)源板卡采用模塊化設(shè)計(jì),包括FPGA控制模塊、電源模塊、接口模塊和信號(hào)源模塊,其整體框圖如圖1 所示。電源轉(zhuǎn)換模塊負(fù)責(zé)背板電源的轉(zhuǎn)換;接口模塊采用33 M 的PCI 總線實(shí)現(xiàn)上位機(jī)與板卡的通信;信號(hào)源模塊通過(guò)數(shù)模隔離芯片、DA 轉(zhuǎn)換模塊和方波控制模塊來(lái)實(shí)現(xiàn)多通道0~28 V 可調(diào)模擬電壓輸出,各通道可通過(guò)上位機(jī)對(duì)每個(gè)通道的波形、相位、頻率、幅度進(jìn)行配置,多路信號(hào)源的切換由FPGA 內(nèi)部寄存器進(jìn)行控制。

圖1 系統(tǒng)整體框圖
為使數(shù)字信號(hào)與模擬信號(hào)完全隔離[3],避免信號(hào)串?dāng)_,采用4 通道數(shù)字隔離器ADUM1400 作為隔離芯片,其內(nèi)部采用高速CMOS 與變壓器技術(shù)相結(jié)合,功耗低,集成度高,它提供4 個(gè)獨(dú)立的隔離通道,互不干擾。FPGA 輸出的信號(hào)均隔離后再輸出,數(shù)字端采用3.3 V 和DGND,模擬端采用A5V 和AGND。隔離電路如圖2 所示。

圖2 ADUM1400 隔離電路
為滿(mǎn)足電壓輸出范圍,同時(shí)考慮到減少外圍偏置放大電路的設(shè)計(jì),選擇ADI 公司的12 位分辨率的4通道數(shù)模轉(zhuǎn)換器AD5504 作為DA 芯片,分辨率可達(dá)30/(212-1)=0.007 3 V,滿(mǎn)足設(shè)計(jì)要求。DA 轉(zhuǎn)換電路如圖3 所示。芯片的數(shù)字供電電壓為5 V,模擬部分參考電壓VDD 比需求電壓大至少0.5 V,本設(shè)計(jì)采用30 V 供電,通過(guò)控制芯片的R_SEL 引腳,可以選擇輸出電壓為0~30 V 或0~60 V,寬輸出電壓使得芯片外圍無(wú)需再增加電壓放大電路。輸入為SPI 串行接口,F(xiàn)PGA 通過(guò)SYNC、SCLK、SDI 與AD5504 通信,輸出包含4 個(gè)通道,為了降低輸出阻抗,提高帶負(fù)載能力,需對(duì)輸出電壓進(jìn)行跟隨緩沖。

圖3 DA 轉(zhuǎn)換電路
由圖3 可知,AD5504 不需要外部模擬開(kāi)關(guān)陣列的配合,4 通道的選擇輸出或同時(shí)輸出,通過(guò)控制芯片內(nèi)部寄存器的值來(lái)實(shí)現(xiàn),因此簡(jiǎn)化了電路,同時(shí)也大大降低了通道之間的串?dāng)_[4]。其內(nèi)部結(jié)構(gòu)圖如圖4 所示。在單個(gè)芯片封裝中包含4 個(gè)DAC,4 個(gè)輸出放大器和一個(gè)精密基準(zhǔn)電壓源,內(nèi)部為雙緩沖結(jié)構(gòu),該結(jié)構(gòu)使數(shù)據(jù)可以串行加載,并在下一次更新前,輸出不受影響,同時(shí)可以以并行方式驅(qū)動(dòng)所有開(kāi)關(guān),最大程度的減少各開(kāi)關(guān)之間的時(shí)間偏移,減少毛刺并改善失真性能。其LDAC 引腳可配置4 通道同步輸出,雙緩沖的結(jié)構(gòu)使數(shù)據(jù)依次載入一級(jí)緩沖后,同時(shí)更新所有通道的輸出緩沖器,達(dá)到同時(shí)輸出的目的。設(shè)計(jì)時(shí)多片芯片共用時(shí)鐘、數(shù)據(jù)和CLR 信號(hào),而SYNC 和LDAC 信號(hào)單獨(dú)連接FPGA 的不同引腳[5]。輸出電壓由輸入DAC 的二進(jìn)制碼決定:

式中:D是載入DAC 寄存器的二進(jìn)制編碼的十進(jìn)制等效值。AD5504(12 位)即為0~4 095。

圖4 AD5504 內(nèi)部結(jié)構(gòu)圖
由于輸出波形中包含方波,若直接經(jīng)采樣保持電路輸出,方波邊沿時(shí)間即為采樣時(shí)間,為十幾微秒,不能保證方波邊沿的完整性[6],因此采用模擬單刀雙擲開(kāi)關(guān)ADG333A 切換來(lái)實(shí)現(xiàn)方波的輸出。通道切換電路如圖5 所示。

圖5 波形輸出電路
ADG333A 的模擬電壓輸入可達(dá)32 V,通道導(dǎo)通典型時(shí)間為90 ns,而關(guān)斷時(shí)間為80 ns,可以滿(mǎn)足方波高低電平的快速切換[7]。其中IN 管腳為AB 通道選擇管腳,通過(guò)控制IN 管腳的電平,可切換AB通道輸出方波的上下限值至D 接口輸出,從而實(shí)現(xiàn)方波的輸出。若輸出波形為其他波形時(shí),IN 管腳置1,波形從ADG33A 的A 通道輸出。波形輸出后還需經(jīng)過(guò)一階低通濾波器來(lái)抑制雜波,保證波形的平滑輸出,為減小輸出阻抗提高信號(hào)源的驅(qū)動(dòng)能力,模擬開(kāi)關(guān)輸出后增加運(yùn)放跟隨電路。ADA4625_1 工作電壓可達(dá)36 V,軌到軌輸出,壓擺率為48 V/μs,滿(mǎn)足方波快速變換要求。
DA 轉(zhuǎn)換器AD5504 使用3 線串行接口與FPGA 通信,串行數(shù)據(jù)通過(guò)SDI 引腳輸入16 位控制字至移位寄存器。表1 為AD5504 輸入寄存器控制字格式,其輸入移位寄存器為16 位位寬,包含一個(gè)讀寫(xiě)控制位,3 位地址位和12 位DAC 數(shù)據(jù)位,第15 位為讀寫(xiě)控制位,R/W 為1 則為讀模式,為0 為寫(xiě)模式。DB14-DB12 為地址位,用于輸入寄存器的選擇,若A2A1A0為111,則為控制寄存器。控制寄存器用于設(shè)置DAC輸出通道的狀態(tài),一個(gè)寫(xiě)控制器操作必須接另一個(gè)寫(xiě)操作,第2 個(gè)寫(xiě)操作可以是寫(xiě)入DAC 輸入寄存器或空的寫(xiě)操作。通過(guò)FPGA 控制輸入寄存器的地址和數(shù)據(jù)寫(xiě)入來(lái)實(shí)現(xiàn)AD5504 的通道切換及DA 轉(zhuǎn)換。

表1 輸入寄存器控制字格式
AD5504 的寫(xiě)操作時(shí)序圖如圖6 所示。SCLK為串行時(shí)鐘信號(hào),最高支持16.667 MHz,在該時(shí)鐘的上升沿將數(shù)據(jù)通過(guò)SDI 引腳依次寫(xiě)入AD5504 內(nèi)部的16 位移位寄存器中[8]。SYNC 為幀同步信號(hào),空閑時(shí)該信號(hào)為低電平,在每次數(shù)據(jù)寫(xiě)入操作之前,需要將該信號(hào)拉高20 ns,在該信號(hào)的下降沿啟動(dòng)寫(xiě)操作。SDI 為數(shù)字信號(hào)輸入端。系統(tǒng)上電以后,上位機(jī)下發(fā)啟動(dòng)信號(hào)源指令,設(shè)定值被寫(xiě)入FPGA 內(nèi)部的寄存器中,然后模擬量信號(hào)源模塊調(diào)用內(nèi)部寄存器中的數(shù)據(jù)[9],當(dāng)LDAC 有效時(shí)將得到的通道地址和對(duì)應(yīng)的數(shù)據(jù)緩存到相應(yīng)的寄存器中,當(dāng)LDAC無(wú)效時(shí)輸出信號(hào)。

圖6 寫(xiě)操作時(shí)序圖
輸入寄存器3 位地址位對(duì)應(yīng)的功能如表2 所示。

表2 地址位定義
DA 轉(zhuǎn)換控制邏輯主要為FPGA 接收上位機(jī)指令并識(shí)別,將上位機(jī)下傳的波形參數(shù)及采樣值經(jīng)FPGA 緩存下載至SRAM[10],并在收到啟動(dòng)信源指令時(shí)對(duì)波形數(shù)據(jù)進(jìn)行讀取、DA 轉(zhuǎn)換、通道切換等操作。上位機(jī)通過(guò)用戶(hù)配置的波形、頻率、相位等參數(shù),采用波形函數(shù)對(duì)配置波形進(jìn)行采樣量化[11],通過(guò)PCI 的DMA 模式突發(fā)下傳至FPGA 并存入SRAM 中。其中各通道的波形信息存在SRAM 的前256 KB 中,波形參數(shù)存儲(chǔ)在后96 個(gè)存儲(chǔ)單元內(nèi),每個(gè)通道含3 種參數(shù)控制字:相位、頻率、占空比。因此32 通道的波形參數(shù)共96 B,相位范圍為0~360,頻率范圍根據(jù)波形決定,占空比范圍為0~100,波形存儲(chǔ)格式如圖7 所示。

圖7 波形存儲(chǔ)格式

圖8 波形輸出控制流程
波形控制流程圖如圖8 所示。參數(shù)字節(jié)的最高2 位為波形類(lèi)型選擇,11 為方波。由于方波的特殊性,進(jìn)行邏輯設(shè)計(jì)時(shí)分為波形為方波與其他波形[6],F(xiàn)PGA 在上位機(jī)下發(fā)啟動(dòng)指令后,F(xiàn)PGA 以1 000 個(gè)時(shí)鐘為周期進(jìn)行一路數(shù)據(jù)的讀取和輸出。FPGA 先從SRAM 初始地址依次讀出各路波形控制字并進(jìn)行判別,若判斷波形標(biāo)識(shí)符為“11”,將偶數(shù)通道的輸入端信號(hào)設(shè)置為幅值電壓,奇數(shù)通道為下限值,通過(guò)相位、頻率計(jì)數(shù)器與方波控制字比較的結(jié)果使ADG333A 的IN 引腳電平周期性變換[12],從而實(shí)現(xiàn)兩通道切換,實(shí)現(xiàn)方波頻率、相位、占空比的控制。若為其他波形,此時(shí)ADG333A 通道選擇端IN0,IN1,IN2,IN3 分別賦值低電平‘0’,使得對(duì)應(yīng)V0,V2,V4,V6 通道輸出波形。奇數(shù)通道均為0X0000。將SRAM內(nèi)的數(shù)據(jù)按照設(shè)定好的延時(shí)值被順序讀出,將讀出的波形數(shù)據(jù)轉(zhuǎn)入數(shù)模轉(zhuǎn)換模塊進(jìn)行數(shù)模轉(zhuǎn)換。
上位機(jī)波形設(shè)置界面和指令發(fā)送界面如圖9 所示。每個(gè)通道可配置的參數(shù)包括波形、頻率、相位、占空比和幅值。可選用已經(jīng)配置好的波形文件,也可以重新設(shè)置并生成新的通道。

圖9 上位機(jī)界面
在上位機(jī)設(shè)置通道分別輸出頻率、相位不同的正弦波、鋸齒波,占空比不同的方波,并用示波器進(jìn)行波形顯示,如圖10 所示,波形平滑無(wú)過(guò)沖現(xiàn)象,達(dá)到輸出要求。

圖10 輸出波形圖
將信源每路波形的設(shè)置參數(shù)通過(guò)上位機(jī)進(jìn)行配置,通過(guò)參數(shù)設(shè)置可對(duì)信號(hào)源的幅值進(jìn)行設(shè)置并生成通道。對(duì)其轉(zhuǎn)換誤差進(jìn)行測(cè)試并采用上位機(jī)輔助修正的方式,提高信號(hào)源精度,根據(jù)輸入數(shù)字信號(hào)值,計(jì)算出理論輸出電壓,采用萬(wàn)用表測(cè)量DA 輸出端電壓,記錄如表3 所示。

表3 AD5504 測(cè)試結(jié)果
標(biāo)定基本依據(jù)為最小二乘法[13]。令理論輸出電壓為Y,DA 轉(zhuǎn)換實(shí)際輸出值為X,則Y=AX+B。使用Origin 進(jìn)行繪圖求解線性系數(shù)A、B,圖11 為使用Origin 計(jì)算標(biāo)定系數(shù)的過(guò)程。

圖11 Origin 求解線性系數(shù)
基于FPGA 和PCI 總線的多通道信源卡,采用AD5504 結(jié)合上位機(jī)配置實(shí)現(xiàn)了32 路0~28 V程控電壓的輸出,簡(jiǎn)化了調(diào)理、運(yùn)放跟隨、放大的過(guò)程。實(shí)驗(yàn)結(jié)果表明,該信源卡輸出的電壓穩(wěn)定性好,失真小,已成功應(yīng)用于某等效器系統(tǒng)中,具有較高的使用價(jià)值。