基于FPGA的實(shí)時(shí)可編程高精度信號(hào)源設(shè)計(jì)
摘要:以16 位高精度D/A轉(zhuǎn)換器為核心構(gòu)建波形重構(gòu)電路,將單片機(jī)和FPGA 組合實(shí)現(xiàn)總體控制,完成了基于FPGA的實(shí)時(shí)可編程高精度信號(hào)源設(shè)計(jì)。利用單片機(jī)集成的16 位高精度A/D 構(gòu)建了一個(gè)閉環(huán)控制系統(tǒng),提高了系統(tǒng)的整體精度。此外,應(yīng)用USB 總線技術(shù)完成波形數(shù)據(jù)和命令的實(shí)時(shí)下載,實(shí)現(xiàn)了信號(hào)源的實(shí)時(shí)可編程。對(duì)測(cè)試結(jié)果進(jìn)行分析,信號(hào)源精度達(dá)到0.01%,滿足設(shè)計(jì)要求,且系統(tǒng)穩(wěn)定可靠。
1 引言
信號(hào)源作為一種電子測(cè)量和計(jì)量設(shè)備,通??僧a(chǎn)生大量的標(biāo)準(zhǔn)信號(hào)和用戶定義信號(hào)。由于它具有高精度、高穩(wěn)定性、可重復(fù)性和易操作性等特點(diǎn),而被廣泛用于自動(dòng)控制系統(tǒng)、震動(dòng)激勵(lì)、通訊和儀器儀表領(lǐng)域。它不僅可以模擬各種復(fù)雜信號(hào),還可對(duì)頻率、幅值、相移、波形進(jìn)行動(dòng)態(tài)、及時(shí)的控制,并能與其它儀器進(jìn)行通訊,組成自動(dòng)測(cè)試系統(tǒng)。在各種實(shí)驗(yàn)應(yīng)用和實(shí)驗(yàn)測(cè)試處理中,既可根據(jù)使用者的要求,作為激勵(lì)源來(lái)仿真各種測(cè)試信號(hào),并提供給被測(cè)電路,以滿足測(cè)量或各種實(shí)際需要,也可作為一種測(cè)量?jī)x器來(lái)完成一定的測(cè)試功能。然而,由于應(yīng)用背景的不同和對(duì)測(cè)試、測(cè)量技術(shù)要求的提高,對(duì)信號(hào)源的頻率精度、幅值精度、信號(hào)形式等要求也越來(lái)越高,因此開發(fā)高精度信號(hào)源具有重大的意義。
所設(shè)計(jì)的高精度信號(hào)源可對(duì)存儲(chǔ)測(cè)試系統(tǒng)、數(shù)據(jù)采集系統(tǒng)及導(dǎo)彈匹配裝置進(jìn)行測(cè)試,并可檢測(cè)目標(biāo)設(shè)備的工作狀態(tài)和各項(xiàng)性能指標(biāo),為及時(shí)查找被測(cè)物體在運(yùn)作中可能發(fā)生故障的原因,提供有效的測(cè)試手段,為產(chǎn)品設(shè)計(jì)與問(wèn)題故障分析提供依據(jù)。
2 系統(tǒng)總體方案設(shè)計(jì)
測(cè)試系統(tǒng)通過(guò)USB 接口與計(jì)算機(jī)相連,由計(jì)算機(jī)軟件生成數(shù)據(jù)并完成下載,實(shí)現(xiàn)波形實(shí)時(shí)可控輸出。系統(tǒng)原理框圖如圖1 所示。
信號(hào)源的工作過(guò)程如下:計(jì)算機(jī)發(fā)出命令和波形數(shù)據(jù),通過(guò)USB 總線傳送給USB 接口芯片,經(jīng)高速串行總線下傳到單片機(jī)C8051F060,單片機(jī)對(duì)其接收到的指令和波形數(shù)據(jù)詮釋后下傳給FPGA,由FPGA 完成數(shù)據(jù)存儲(chǔ)、D/A 轉(zhuǎn)換、功能指示及其他邏輯控制。D/A 轉(zhuǎn)換后的模擬信號(hào)經(jīng)調(diào)理電路后輸入到32 選1 開關(guān)電路進(jìn)行選通,再經(jīng)運(yùn)放跟隨和自激振蕩消除電路處理后即可輸出。信號(hào)輸出的同時(shí)再輸入到反饋信號(hào)選擇電路,由C8051F060 自帶的16 位AD 采集反饋信號(hào),與理論值進(jìn)行比較并動(dòng)態(tài)調(diào)整,組成閉環(huán)控制系統(tǒng),以提高輸出信號(hào)的精度。
3 系統(tǒng)實(shí)現(xiàn)
硬件實(shí)現(xiàn)主要包括元器件的選擇、波形重構(gòu)電路設(shè)計(jì)、信號(hào)調(diào)理技術(shù)、降噪技術(shù)等多種硬件處理技術(shù)。根據(jù)上述方案,主控制芯片選用全集成混合信號(hào)在片系統(tǒng)單片機(jī)C8051F060,FLASH 存儲(chǔ)器還具有重新編程能力,可在線調(diào)試。C8051F060 自帶16 位ADC,可采集反饋信號(hào),符合信號(hào)源的需要,組成閉環(huán)控制系統(tǒng),大大提高了系統(tǒng)的精度。設(shè)計(jì)中選用AD768 型D/A 轉(zhuǎn)換器,它具有16 位的分辨率,理論精度為1/216=0.002%,滿足該信號(hào)源0.01%的精度要求。該器件具有良好的直流和交流特性,最大數(shù)據(jù)更新速率為30MSPS,片上集成2.5 V 帶隙參考電壓,可保證輸出電壓的精度和穩(wěn)定性。AD768 特殊的內(nèi)部結(jié)構(gòu)使其具有優(yōu)越的動(dòng)態(tài)精確度,并且單線控制,操作方便。
軟件設(shè)計(jì)主要是指計(jì)算機(jī)產(chǎn)生各種控制命令和波形數(shù)據(jù),制定相關(guān)通信協(xié)議,按照既定協(xié)議把命令和數(shù)據(jù)實(shí)時(shí)下傳給單片機(jī),保證計(jì)算機(jī)與單片機(jī)之間的正確通信。USB 串行總線每次下傳8 位數(shù)據(jù),但要求信號(hào)源精度為0.01%,用8 位數(shù)據(jù)不能達(dá)到要求,故選用了AD768.首先由計(jì)算機(jī)產(chǎn)生16 位的波形數(shù)據(jù),并把每個(gè)16 位數(shù)據(jù)分離成3 個(gè)8 位數(shù)據(jù),其他空余位用來(lái)標(biāo)識(shí)高低位。在D/A 轉(zhuǎn)換前,控制模塊單片機(jī)C8051F060 和FPGA 的工作之一就是要把它們還原成原來(lái)的16 位數(shù)據(jù),也就是數(shù)據(jù)的二次編碼,這樣AD768 收到的就是二次編碼后完整的16 位數(shù)據(jù)。
4 閉環(huán)控制系統(tǒng)的實(shí)現(xiàn)
閉環(huán)控制系統(tǒng)是指從輸出端到輸入端帶有反饋通道的控制系統(tǒng),亦稱為反饋控制系統(tǒng),如圖2 所示。該系統(tǒng)能對(duì)輸出量與參考輸入量進(jìn)行比較,并將它們的偏差作為控制手段,以保持兩者之間的預(yù)定關(guān)系。在該系統(tǒng)中,控制單元與受控對(duì)象之間不僅有順向作用,而且還有逆向聯(lián)系。作為輸入信號(hào)與反饋信號(hào)之差的誤差信號(hào)被傳送到控制單元,以便減小誤差,并使系統(tǒng)的輸出達(dá)到期望值。
采用反饋可使系統(tǒng)的響應(yīng)對(duì)外部干擾和系統(tǒng)內(nèi)部的參數(shù)變化不敏感,系統(tǒng)可達(dá)到較高的控制精度和較強(qiáng)的抗干擾能力。對(duì)于給定的被控對(duì)象,就有可能采用不太精密且成本較低的元件來(lái)構(gòu)成比較精確的控制系統(tǒng),這在開環(huán)情況下,是不可能做到的。閉環(huán)控制主要通過(guò)對(duì)反饋信號(hào)進(jìn)行回采校正實(shí)現(xiàn)。在模擬信號(hào)的輸出端增設(shè)反饋、校正模塊,可任意選擇某一路信號(hào)進(jìn)行反饋,由C8051F060 集成ADC 采集。反饋采集命令和反饋通道都是由計(jì)算機(jī)發(fā)出。在此使用SAR ADC0,其初始化和采集流程圖見(jiàn)圖3。
將反饋電壓采集回來(lái)的電壓通過(guò)單片機(jī)的串口上傳到計(jì)算機(jī),與給定值比較,進(jìn)行輸入校正,直至其輸出精度達(dá)到0.01%.反饋閉環(huán)控制使該信號(hào)源的響應(yīng)對(duì)外部干擾和系統(tǒng)內(nèi)部的參數(shù)變化不敏感,達(dá)到了較高的控制精度和較強(qiáng)的抗干擾能力。
5 測(cè)試結(jié)果及分析
對(duì)信號(hào)源的輸出測(cè)量主要包括幅值精度測(cè)量和通道干擾測(cè)量。前者主要測(cè)量信號(hào)輸出的線性度及硬件輸出的重復(fù)性,即利用單片機(jī)生成波形數(shù)據(jù),在FPGA 控制下,啟動(dòng)D/A 轉(zhuǎn)換并穩(wěn)定后保持10 s,利用高精度萬(wàn)用表對(duì)信號(hào)輸出的幅值進(jìn)行測(cè)量。
5.1 線性度測(cè)量
當(dāng)為波形重構(gòu)電路提供的波形數(shù)據(jù)按線性規(guī)律變化時(shí),在理論上波形輸出應(yīng)為一條直線。在波形重構(gòu)電路中,采用的AD768 理論步長(zhǎng)為65 536.當(dāng)波形數(shù)據(jù)在從0~65 535 變化時(shí),最終的信號(hào)幅值將在- 12.5~+12.5 V 之間變化。對(duì)波形數(shù)據(jù)從0 開始以6 為公差進(jìn)行自加,其中的一次典型測(cè)量所獲得的數(shù)據(jù)擬合后見(jiàn)圖4.經(jīng)計(jì)算,當(dāng)以6 個(gè)理論步長(zhǎng)自加時(shí),信號(hào)輸出幅值的平均變化為2.28 mV,則輸出精度為2.58mV/25 V≈0.009 12%.對(duì)應(yīng)于圖4 可算得信號(hào)輸出幅值的平均變化為2.32 mV,則輸出精度為2.32mV/25 V≈0.009 28%,實(shí)際精度接近理論精度,滿足了設(shè)計(jì)要求。
5.2 重復(fù)性測(cè)量
重復(fù)性測(cè)量旨在測(cè)試信號(hào)源輸出的重復(fù)性,通過(guò)為波形重構(gòu)電路提供循環(huán)的波形數(shù)據(jù)來(lái)考察信號(hào)源的輸出能力。其典型數(shù)據(jù)擬合波形見(jiàn)圖5.由該圖可見(jiàn),該信號(hào)源有較好的一致性輸出能力。
6 結(jié)束語(yǔ)
所設(shè)計(jì)的高精度信號(hào)源將單片機(jī)、FPGA、信號(hào)調(diào)理等技術(shù)進(jìn)行了有機(jī)的結(jié)合,構(gòu)建了一個(gè)閉環(huán)控制自檢系統(tǒng),能提供正弦、方波、三角、鋸齒及不規(guī)則信號(hào)。利用USB 總線技術(shù),可實(shí)現(xiàn)計(jì)算機(jī)數(shù)據(jù)和命令的實(shí)時(shí)下載,信號(hào)源功能均通過(guò)計(jì)算機(jī)發(fā)出命令下傳給硬件實(shí)現(xiàn),具有實(shí)時(shí)可編程的優(yōu)點(diǎn)。經(jīng)實(shí)驗(yàn)測(cè)量,信號(hào)源輸出信號(hào)精度可達(dá)0.01%,且信號(hào)線形度和輸出重復(fù)性較好,滿足設(shè)計(jì)要求,運(yùn)行良好,性能穩(wěn)定。
參考文獻(xiàn):[1].C8051F060 datasheethttp://www.dzsc.com/datasheet/C8051F060+_1095791.html.
[2].AD768 datasheethttp://www.dzsc.com/datasheet/AD768+_1055462.html.
[3].12.5datasheethttp://www.dzsc.com/datasheet/12.5_2510485.html.