高精度波形發生器設計管理論文

時間:2022-06-25 08:40:00

導語:高精度波形發生器設計管理論文一文來源于網友上傳,不代表本站觀點,若需要原創文章可咨詢客服老師,歡迎參考。

高精度波形發生器設計管理論文

摘要:隨著電子技術的發展,在諸如測量、控制等領域,經常要求信號的幅度保持在某個高精度的整數值上。但由于一般數據轉換器在最小量化電平上的限制,其輸出的信號電平很難在整數值上得到較高的精度。針對該問題,介紹一種高性能的16位數據轉換器AD7846,使用TMS320VC54X系列DSP作為核心控制器,設計出幅度可精確至1mV的波形發生器。文中給出具體的硬件實現框圖以及用來產生波形的DSP匯編源程序。

關鍵詞:波形發生器高精度AD7846DSP

引言

隨著電子技術的發展,波形發生器已經廣泛的應用在通信、控制、測量等各個領域。在很多地方,如測試測量領域,需要輸出的波形能夠精確地定位在某一整數值上,但通常由于ADC參考電平的限制,使之很難達到所需的精度,給系統的調試及軟件設計帶來諸多不便。本文采用了高精度的電壓參考芯片ADR434為模數變換器提供參考電平,使波形發生器的最低可調電壓達到125μV,為精確地輸出數據值電壓及其相應波形提供了方便的硬件環境。本設計具有輸出精確,控制靈活方便等特點。

1系統設計

本系統采用TI公司生產的TMS320VC54X系列DSP作為核心控制器件,并采用Cypress工司生產的CY7C1021V(64K×16位RAM)來擴充DSP的外部數據存儲空間。在DSP與ADC及RAM之間的數據接口加入74LVC16245(16位總線變換器)以增加DSP的驅動能力,并用來隔斷器件間的干擾。DSP與DAC之間的邏輯控制采用CPLD實現,這樣可以方便系統的設計與調試,本文中采用的CPLD為Altera公司的EPM7064SLC84-10。

整個系統的方框圖如圖1所示。

2器件簡介

本系統所采用的數模轉換器為AD7846,它是美國AD(AnalogDevice)公司基于LC2MOS工藝生產的16位數模轉換器。它有VREF+和VREF-兩個參考電平輸入端以及一個片內放大器。標準情況下可以將其配置為單極性輸出(0~+5V,0~+10V)或雙極性輸出(±5V,±10V)。當然,改變VREF+VREF-兩個參考電平輸入端的電平,也可以改變其輸出的動態范圍。如本文中的采用高精度電壓參考芯片AD434提供參考電平,使D/A的動態范圍設置為±4.096V。

AD7846采用分段式結構。DAC鎖存器的高4位選通16個電阻串中的一段,段的兩端接有運放作為緩沖,運放的輸出反饋至12位的模數變換電路,并由該電路提供后12位分辨率。這種結構可以確保16位單調性,兩個緩沖運放間輸入失調電壓的高度匹配還確保了優良的積分非線性。

除了優良的精度指標外,AD7846與微處理器的連接也非常方便。它有16位數據I/O以及4根控制線(CS,R/W,LDAC以及CLR)。R/W與CS用來控制對I/O鎖存器的讀寫,LDAC信號用于多DAC系統中同步更新多片DAC數據,CLR用于將DAC的輸出復位至0V。

3AD7846參考電壓的設計

為了使系統的輸出波形在幅度上能夠精確到1mV,本文采用AD434為AD7846提供參考電壓。ADR434為AD公司生產的低噪聲、高精度、低溫漂的電壓參考芯片。它采用了AD公司的溫漂曲率修正專利技術,可以使其電壓對溫度的非線性達到最小。二者的具體連接如圖2所示。

圖2所示的連接方式使AD7846工作在雙極性輸出狀態下。AD434為D/A提供+4.096V的參考電平,D/A根據此電平經過雙極十六位線性分解,所得的最低可調電壓為4.096V/215=125μV。具體的編碼表如表1所列。

表1AD7846編碼表

DAC鎖存器中的二進制數模擬輸出VOUT/V

1111111111111111+4.096C(32767/32768)=+4.095875

1000000000001000+1.096V(8/32768)=+0.001

1000000000000001+4.096V(1/32768)=+0.000125

1000000000000000+4.096V(0/32768)=0

0111111111111111-4.096V(1/32768)=-0.000125

0000000000000000-4.096V(32768/32768)=-4.096

4邏輯控制及軟件實現

本文使用CPLD作為DSP控制D/A映射在DSP的I/O口,地址為4000H~7FFFH。AD7846一共有4根控制線,它們組成的控制邏輯如表2所列。

表2AD7846控制邏輯真值表

CSR/WLDACCLR功能

1XXX使DAC的I/O鎖存器呈高阻態

00XX數據(DB1~5DB0)裝入I/O鎖存器

01XXI/O鎖存器中的數據輸出到數據線上

XX01I/O鎖存器中的數據裝入DAC鎖存器

X0X0DAC鎖存器裝入數據000...000

X1X0DAC鎖存器裝入數據100...000

CPLD中燒入的邏輯圖如圖3所示。

對于波形的產生,通常有兩種方法。一種方法為使用算法計算輸出波形某點的幅度編碼值(如正弦波可通過泰勒級數展開得到),這種方法可直接精確地計算出每個角度的波形值,所占用的存儲空間小,但對于任意波形的輸出,所需的算法較為復雜,系統實時性也會受到影響。另一種方法為查表法,該方法可能需要占用較大的存儲空間,但軟件控制卻非常方便,實時性也更高。采用查表法的軟件控制可由如下代碼實現。

.mmregs

.globalmain

main:nop

ori:stm#SINtable,ar2;將數據表頭地址送入ar2

ld#13H,a;循環輸出20個樣點值

JUMP:portw*ar2+,4000h;AD4846被配置在I/O口的4000H~7FFFFH處

Rpt#1fffh;改變rpt的值可以改變正弦波的頻率

Nop

Sub#1d,a

BcJUMP,aneq

bori

SINtable;正弦波幅度編碼表

.word7FFFH.word0A78DH.word0CB3CH.word0EF8DH

.word0F9BCH.word0FFFFH.word0F9BCH.word0E78DH

.word0cB3CH.word0A78DH.word8000H.word5872H

.word34C3H.word1872H.word0643H.word0000H

.word0643H.word1872H.word34C3H.word5872H

.end

該段程序可使AD7846輸出標準正弦波,幅度范圍為±4.096V,頻率可通過改變rpt的值加以調節。若提供大量采樣點,可使其實時輸出高精度的任意波形。當然,利用DSP強大的運算處理能力,也可用軟件計算出所需波形的各點采樣值,這樣可以節省存儲空間,降低系統硬件成本。

結語

本系統已經過實際測量,系統各部分工作正常,AD7846可精確穩定地輸出所需波形。該方案不僅達到了很高的精度與系統實時性,還具有控制靈活方便等特點,是一種很好的波形發生器。