基于18位數(shù)模轉(zhuǎn)換器AD760的波形發(fā)生器的設(shè)計
信號發(fā)生器既可以構(gòu)成獨(dú)立的信號源,也可以是高性能網(wǎng)絡(luò)分析儀、頻譜儀及其它自動測試設(shè)備的組成部分。信號發(fā)生器的關(guān)鍵技術(shù)是多種高性能儀器的支撐技術(shù),因?yàn)樗軌蛱峁└哔|(zhì)量的精密信號源及掃頻源,可使相應(yīng)系統(tǒng)的檢測過程大大簡化,降低檢測費(fèi)用并極大地提高檢測精度。但是目前的產(chǎn)品體積大,精度低,無法滿足用戶對精度和便攜性要求高的波形發(fā)生器的需求。
AD760是AD公司開發(fā)的一種具有自校正功能的16/18位DAC器件,片內(nèi)帶有電壓基準(zhǔn),雙緩沖寄存器和輸出放大器[1]。特別是在采用AD760的18位數(shù)據(jù)輸入時能夠獲得很高的精度。本文針對高精度波形發(fā)生器的開發(fā),進(jìn)行了以AD760為核心的波形發(fā)生器的軟硬件系統(tǒng)設(shè)計。
2.系統(tǒng)結(jié)構(gòu)及功能
2.1總體結(jié)構(gòu)
高精度波形發(fā)生器分為上層應(yīng)用軟件和下層軟硬件兩大部分。其中上層軟件提供人機(jī)交互界面即操作員控制臺,用于選擇波形,生成波形數(shù)據(jù),以及串口通訊控制和人機(jī)通訊;下層硬件為I/O控制器,由CPU,DAC,計數(shù)器,定時器等模塊組成(可以考慮模塊的擴(kuò)展),主要是用于對上層波形數(shù)據(jù)的接收,存儲,同時可以單獨(dú)使用,通過CPU向DAC發(fā)送所需波形數(shù)據(jù)。如下圖所示:
3.單片機(jī)設(shè)計部分
3.1 硬件設(shè)計
波形發(fā)生器由以下部分組成:
1. 波形存儲器:存儲各種波形數(shù)據(jù)。
2. 波形發(fā)生器:將波形存儲器中的波形數(shù)據(jù)轉(zhuǎn)換成模擬信號輸出,D/A轉(zhuǎn)換器和放大器組成。
3. 控制器:接收輸入波形的數(shù)據(jù),并將波形數(shù)據(jù)寫入波形存儲器;及控制其他部分工作。
硬件設(shè)計如下圖所示,設(shè)計時考慮盡量采用最少硬件來完成,縮小儀器的體積,使其達(dá)到便攜的要求。為使儀器的精度也達(dá)到要求,在設(shè)計時著重注意了以下幾個方面:
硬件設(shè)計流程圖
DAC溫度飄:影響信號精度的重要原因來自DAC器件的溫度漂移,其中內(nèi)部基準(zhǔn)10V±0.01V,DAC的增益漂移為25PPM/℃,用AD587L外部基準(zhǔn)電壓更換內(nèi)部基準(zhǔn),可使PPM=5/℃,DAC增益漂移=10 PPM/℃??刂骗h(huán)境的溫度變化如果小于1℃,可將因?yàn)闇囟绕贫苡绊懙木瓤刂圃?.001%以內(nèi)。所以在使用時應(yīng)使信號發(fā)生器系統(tǒng)盡量處于一個相對恒定溫度環(huán)境中。
電源噪聲:要保證精度達(dá)到10V±0.003%的要求,即最低精度要達(dá)30uV,因而對電源噪聲要求極高,要求電源噪聲越小越好,因而模擬電源采用直流電池組,數(shù)字電源與模擬電源采用光偶隔離。
PCB布線:數(shù)字、模擬分離、大面積的模擬零電位鋪地,模擬信號線盡量采用粗線。在印制板的各個關(guān)鍵部位配置適當(dāng)退耦電容。
硬件系統(tǒng)主要由單片機(jī),D/A轉(zhuǎn)換器件AD760,存儲器,和通訊接口芯片SP3223E。單片機(jī)采用的是美國CYGNAL公司的C8051F310,該芯片有16Kflash存儲器,采用高速、流水線結(jié)構(gòu)的8051兼容的CIP-51內(nèi)核,與標(biāo)準(zhǔn)的8051結(jié)構(gòu)相比指令執(zhí)行速度有很大的提高[2]。在一個標(biāo)準(zhǔn)的8051中,除MUL和DIV以外所有指令都需要12或24個系統(tǒng)指令周期,最大系統(tǒng)時鐘頻率為12-24MHz。而對于CIP-51內(nèi)核,70%的指令的執(zhí)行時間為1或2個系統(tǒng)時鐘周期,只有4條指令的執(zhí)行時間大于系統(tǒng)時鐘周期。C8051F310的工作電壓是3V,本身帶有串行通訊口,但是其電平為TTL電平,需要轉(zhuǎn)換為RS232標(biāo)準(zhǔn)電平后才能和PC機(jī)通訊,所以串口通訊接口采用SP3223芯片。
A/D轉(zhuǎn)換器采用18位AD公司的AD760AQ,該芯片具有自校準(zhǔn)功能,自校準(zhǔn)后,性能達(dá)到了以下指標(biāo):
1. 內(nèi)部基準(zhǔn)電壓:10V±0.01V 25PPM/℃
2. 單極性電壓輸出(內(nèi)含運(yùn)放):0~10V
3. 輸出電流:0~5mA
4. 輸出建立典型時間:10us
AD760內(nèi)部功能及管腳分布如下圖所示。其中的7~14腳具有雙重功能:當(dāng)采用字節(jié)加載模式,AD760的7~14腳分別是D15~D8,D7~D0的輸入腳;當(dāng)采用串行輸入加載模式時,它的12腳為18/16位選擇,13腳為MSB/LSB選擇(即決定是MSB(高位)在前還是LSB(低為)在前),14腳為SIN,串行數(shù)據(jù)輸入腳。本論文采用的18位的串行輸入模式。
AD760內(nèi)部功能及管腳分布如下圖
AD760采用的是18位串行模式,與單片機(jī)接口只要3根線,其中的SIN為D/A轉(zhuǎn)換數(shù)據(jù)串行輸入,CS為時鐘信號,LDAC為控制信號,具體的工作時序如下:
AD760串行傳輸方式時序圖
4. PC機(jī)軟件設(shè)計方案
上層軟件是基于Windosw2000平臺用VC編寫可視化人機(jī)交互界面的軟件,完成的功能包括允許用戶編輯、繪制所需波形、設(shè)置輸出信號的幅度、頻率,通過RS232 口將數(shù)據(jù)送給單片機(jī),也可對波形進(jìn)行顯示,存儲。如下圖所示:
程序流程圖
用戶在計算機(jī)上輸入數(shù)據(jù)點(diǎn)或描述波形的表達(dá)式,由軟件實(shí)現(xiàn)對輸入波形的量化處理,得到波形數(shù)據(jù),經(jīng)計算機(jī)轉(zhuǎn)換成任意波形發(fā)生器硬件所要求的格式,存入波形數(shù)據(jù)存儲器中。在控制電路的控制下,地址發(fā)生器以一定的速率、方式把波形數(shù)據(jù)存儲區(qū)中的波形數(shù)據(jù)送給DA芯片,經(jīng)轉(zhuǎn)換產(chǎn)生量化的數(shù)字電壓波形,再經(jīng)過濾波等信號處理,由功放送出用戶所需要幅值和頻率的模擬信號。
工作時,通過人機(jī)對話選擇波形,選擇適當(dāng)?shù)墓ぷ鲄?shù),由單片機(jī)選擇存在存儲區(qū)中的相應(yīng)波形文件,經(jīng)AD760輸出相應(yīng)的波形。波形的編輯與修改由計算機(jī)完成,然后通過接口傳輸給便攜儀器。初始設(shè)定一系列波形后,波形發(fā)生器部分可作為便攜儀器獨(dú)立使用。此后還可通過計算機(jī)編輯,增刪波形,再由串口寫入波形發(fā)生器的存儲單元。
5. 性能指標(biāo)測試
用FLUKE 8842A臺式數(shù)字多用表對系統(tǒng)的精度指標(biāo)進(jìn)行測試,具體如下: 模擬電源是用了兩個12v的直流電池串聯(lián)經(jīng)過DC-CD轉(zhuǎn)換后輸出的15v電源,數(shù)字電源是5v直流。同樣為了讓AD760的溫度趨于穩(wěn)定,在10分中后測量。測試數(shù)據(jù)為:輸出波形的波峰值為9.9981v;波谷值為0.18mv;波形的頻率為800Hz。第二次測試,得到的數(shù)據(jù)和第一次的有略微的差異,分析可能的原因是和電池的電量減少有關(guān)系。噪聲的測定值:其中給出的值已經(jīng)是減去了調(diào)零時的初值。電源的負(fù)極0:0.21-0.22mv。電源的+~0:0.24mv。AD760的25腳(參考電壓輸入)為:0.21mv-0.22mv。此時ad760的23腳(信號輸出)為0.25mv。實(shí)驗(yàn)數(shù)據(jù)表明,精度大于0.0025%。各項(xiàng)指標(biāo)達(dá)到了原始的設(shè)計要求。
結(jié)束語
本文所設(shè)計的高精度波形發(fā)生器,通過軟硬件結(jié)合的方法,簡化了硬件設(shè)備,實(shí)現(xiàn)了波形參數(shù)的獨(dú)立變化,通過VC編寫的軟件人機(jī)交互性強(qiáng),操作方便。波形參數(shù)(幅度、頻率,周期)可以在一定的范圍內(nèi)可控制變化,通用性好,具有較強(qiáng)的移植性和很高的性價比。對于不同的需求,可以使用具有支持熱插拔的1394和USB接口來代替RS232接口。
參考文獻(xiàn):
1. 劉書明、劉斌 編著 高性能模數(shù)與數(shù)模轉(zhuǎn)換器件[M]。西安電子科技大學(xué)出版社,2000
2. 潘琢金 施國君 編著 C8051FXXX高速SOC單片機(jī)原理及應(yīng)用。北京航空航天大學(xué)出版社,2002