基于DSP的低頻頻率特性測(cè)試儀
初始化包含DSP初始化、AD7008初始化以及AD8369的初始化。DSP的初始化主要是對(duì)中斷向量的定義,內(nèi)部時(shí)鐘的設(shè)置,外部等待時(shí)間的設(shè)置以及內(nèi)部空間SRAM/DRAM的映射等,這些都是通過對(duì)DSP內(nèi)部專用寄存器的設(shè)置來完成的。AD7008的初始化可通過設(shè)置控制寄存器來完成。AD8369的初始化是把AD8369的放大倍數(shù)降為最小-10 dB,可以減少信號(hào)源電路的射頻功放的功率,也可以保護(hù)增益與相位檢測(cè)電路中增益鑒相器AD8302,使AD8302的輸入信號(hào)功率保持為最低,防止輸入信號(hào)功率過大損壞器件。
3.1.2 HPI中斷服務(wù)程序設(shè)計(jì)
HPI口是連接單片機(jī)與DSP的接口,通過HPI口,主機(jī)也就是單片機(jī)可以向DSP寫數(shù)據(jù),也可以從DSP的RAM單元讀取數(shù)據(jù);同時(shí)通過HPI口控制寄存器提供的中斷位,以及HPI的中斷信號(hào)中斷單片機(jī),主機(jī)和單片機(jī)可以實(shí)現(xiàn)很好的對(duì)話。并且,根據(jù)單片機(jī)來的數(shù)據(jù),進(jìn)行相應(yīng)操作。其流程圖如圖9所示。本文引用地址:http://m.butianyuan.cn/article/150898.htm
AD7008單頻工作的目的是為了檢測(cè)輸入信號(hào)的幅度范圍,從而設(shè)置輸入AD8369的增益倍數(shù)。AD7008以起始頻率為頻率點(diǎn)進(jìn)行單頻工作,輸入信號(hào)的幅度檢測(cè)由AD8307來完成,檢測(cè)結(jié)果由ADS8364的C通道進(jìn)行數(shù)據(jù)轉(zhuǎn)換,供DSP采集。當(dāng)采集到的數(shù)據(jù)個(gè)數(shù)達(dá)到系統(tǒng)設(shè)置值后,DSP對(duì)數(shù)據(jù)進(jìn)行處理,判斷出輸入信號(hào)的幅度,以設(shè)置檢測(cè)電路中AD8369(2、3)的增益。
3.1.3 AD中斷服務(wù)程序設(shè)計(jì)
在AD中斷服務(wù)子程序中,主要是對(duì)采樣數(shù)據(jù)的讀取,如果是ADS8364的C通道的數(shù)據(jù)則是對(duì)輸入信號(hào)進(jìn)行幅度判斷:如果是ADS8364的A,B通道的數(shù)據(jù)則是進(jìn)行幅度相位的測(cè)量。測(cè)量結(jié)束后,將處理好的數(shù)據(jù)送單片機(jī)顯示。其流程圖如圖10所示。
通過C通道判斷以后,就設(shè)置好了檢測(cè)電路中的AD8369(2、3),完成了掃頻測(cè)試前的準(zhǔn)備工作,AD7008可以開始掃頻工作了。按照起始頻率、頻率步長(zhǎng)、單頻點(diǎn)持續(xù)時(shí)間等對(duì)AD7008相應(yīng)寄存器進(jìn)行設(shè)置,使AD7008輸出滿足要求的掃頻信號(hào);緊接著啟動(dòng)ADS8364的A、B兩通道進(jìn)行數(shù)據(jù)的轉(zhuǎn)換,其轉(zhuǎn)換的是AD8302的增益和相位檢測(cè)電壓:DSP在中斷服務(wù)子程序中對(duì)ADS8364進(jìn)行數(shù)據(jù)采集。并做以下工作:接收采集數(shù)據(jù),判斷單頻點(diǎn)采集到的數(shù)據(jù)量,進(jìn)行單頻點(diǎn)數(shù)據(jù)的數(shù)字濾波和簡(jiǎn)單計(jì)算處理,判斷掃描頻率點(diǎn)數(shù)是否達(dá)到要求,決定掃頻是否結(jié)束,將數(shù)據(jù)轉(zhuǎn)換成圖形顯示格式送單片機(jī)顯示。
3.1.4 1s中斷服務(wù)程序設(shè)計(jì)
1s中斷服務(wù)程序較為簡(jiǎn)單,就是照看看門狗,看門狗是系統(tǒng)穩(wěn)定運(yùn)行的重要部件,由于系統(tǒng)的高速運(yùn)行,外界的干擾以及程序內(nèi)部的有關(guān)問題,都有可能導(dǎo)致系統(tǒng)的運(yùn)行不穩(wěn)定,甚至出現(xiàn)死機(jī)的情況。設(shè)置看門狗就是在系統(tǒng)出現(xiàn)意外而導(dǎo)致運(yùn)行紊亂、死機(jī)時(shí),自動(dòng)恢復(fù)運(yùn)行的保證。在系統(tǒng)出現(xiàn)上述情況時(shí),當(dāng)時(shí)間超過1 s時(shí),看門狗將自動(dòng)重新啟動(dòng)系統(tǒng)。相關(guān)內(nèi)容在系統(tǒng)硬件設(shè)計(jì)部分有涉及。
3.2 CPLD軟件設(shè)計(jì)
CPLD的軟件設(shè)計(jì)使用MAXIM公司的MAX+PLUSII開發(fā)工具,使用VHDL語言進(jìn)行編程。這部分程序主要是對(duì)來自DSP的信號(hào)進(jìn)行譯碼后,對(duì)各個(gè)器件進(jìn)行控制,使整個(gè)系統(tǒng)協(xié)調(diào)工作,完成測(cè)量任務(wù)。其設(shè)計(jì)流程圖如圖11所示。
圖12是CPLD對(duì)AD7008控制時(shí)序的仿真結(jié)果。從圖中可以看到,當(dāng)IOS和IOSTRB信號(hào)為低電平(這時(shí)DSP選中IO空間)時(shí),CPLD芯片對(duì)DSP的高位地址(ADD15~ADD9)進(jìn)行譯碼,當(dāng)高位地址為00H時(shí),選中AD7008芯片,并在DSP讀寫信號(hào)RW為低時(shí),DDSWRB變?yōu)榈碗娖?,即?duì)AD7008進(jìn)行寫入操作;當(dāng)高位地址為78H時(shí),CPLD使DDSRESET信號(hào)變?yōu)榈碗娖剑磳?duì)AD7008進(jìn)行復(fù)位操作;當(dāng)高位地址為01H時(shí),CPLD使DDSFUD信號(hào)變?yōu)楦唠娖剑駝t變?yōu)榈碗娖?,此信?hào)在上升沿對(duì)AD7008內(nèi)部存貯器進(jìn)行更新操作??梢钥闯?,仿真結(jié)果符合要求。
圖13是CPLD對(duì)模數(shù)轉(zhuǎn)換芯片ADS8364的仿真結(jié)果,同樣,當(dāng)IOS和IOSTRB信號(hào)為低電平(這時(shí)DSP選中10空間)時(shí),CPLD芯片對(duì)DSP的高位地址(ADD15~ADD9)進(jìn)行譯碼,當(dāng)高位地址為20H時(shí),ADCRESETB信號(hào)輸出低電平,對(duì)AD8364進(jìn)行復(fù)位操作;當(dāng)高位地址為30H時(shí),ADCCSB信號(hào)輸出低電平,對(duì)ADS8364進(jìn)行片選;當(dāng)最高四位地址(ADD15~ADD12)為0CH時(shí),由ADD11、ADD10、ADD9三位譯碼決定HOLDC、HOLDB、HOLDA的輸出電平;這3個(gè)信號(hào)分別控制ADS8364的3個(gè)采樣通道的轉(zhuǎn)換。由圖可以看出,其仿真結(jié)果符合要求。
4 測(cè)量結(jié)果
掃頻范圍0.004 7 Hz~5 MHz,可以在全頻段內(nèi)任意設(shè)置掃頻寬度,分辨率為0.004 7 Hz,輸出電平范圍-55~+18 dBm,掃頻步長(zhǎng)可以在0.004 7 Hz~0.5 MHz范圍內(nèi)自行調(diào)整;輸出阻抗50 Ω,相位測(cè)量精度小于0.1°,幅度測(cè)量精度小于0.5 dB,不平坦度+/-0.25 dB,電控衰減并數(shù)字顯示衰減量,能在全頻范圍內(nèi)自動(dòng)步進(jìn)測(cè)量,可預(yù)置測(cè)量范圍及步進(jìn)頻率值。能顯示幅頻特性和相頻特性曲線,并能根據(jù)選擇,放大局部曲線,可以用對(duì)數(shù)坐標(biāo)和線性坐標(biāo)顯示,并配有文字標(biāo)注。
5 結(jié)束語
該系統(tǒng)設(shè)計(jì)可以方便地測(cè)量未知網(wǎng)絡(luò)中低頻率的相頻特性和幅頻特性,并在LED上顯示。適用于科研、教學(xué)以及生產(chǎn)領(lǐng)域等方面,與傳統(tǒng)的頻率測(cè)試儀相比,用直接數(shù)字頻率合成(DDS)技術(shù)為頻率特性測(cè)試儀實(shí)現(xiàn)數(shù)字化開辟了道路,利用液晶顯示器技術(shù)使頻率特性測(cè)試儀小型化成為可能。此測(cè)試儀有很強(qiáng)的應(yīng)用價(jià)值,可取代傳統(tǒng)的頻率測(cè)試儀。
評(píng)論