?? 新建 microsoft word 文檔.doc
字號(hào):
正弦波發(fā)生器(05年電子競賽試題)
2007年04月17日 下午 08:31
曾立 丁運(yùn)
本系統(tǒng)以51單片機(jī)及FPGA為控制核心,由正弦信號(hào)發(fā)生模塊、功率放大模塊、調(diào)幅(AM)、調(diào)頻(FM)模塊、數(shù)字鍵控(ASK,PSK)模塊以及測試信號(hào)發(fā)生模塊組成。采用數(shù)控的方法控制DDS芯片AD9851產(chǎn)生5Hz-20MHz正弦信號(hào),經(jīng)濾波、放大和功放模塊放大至6v并具有一定的驅(qū)動(dòng)能力。測試信號(hào)發(fā)生模塊產(chǎn)生的1kHz正弦信號(hào)經(jīng)過調(diào)幅(AM)模塊、調(diào)頻(FM)模塊,對高頻載波進(jìn)行調(diào)幅或調(diào)頻。二進(jìn)制基帶序列信號(hào)送入數(shù)字鍵控模塊,產(chǎn)生二進(jìn)制PSK或ASK信號(hào),同時(shí)對ASK信號(hào)進(jìn)行解調(diào),恢復(fù)出原始數(shù)字序列。另外,本系統(tǒng)還配備有液晶顯示屏、遙控鍵盤,提供了友好的人機(jī)交互界面。
ABSTRACT
This system is in the core of Micro-Processor and FPGA (Field Programmable Gate Array), consist of sine signal generating module, Power amplifier, Amplitude Modulator, Frequency Modulator, ASK/PSK module and test signal generating module. The AD9851 controlled by Micro-Process in digital way to generate sine signal with the bandwidth 5Hz to 20MHz adjustable per 1Hz. After processing by LPF & power amplifier, the output signal has a peak value of move than 6V. The sine signal at 1 KHz was send to AM and FM module to modulate the high frequency carrier waveform. The binary sequential was send to the relative module to generate ASK and PSK signal. At last demodulate module demodulate the ASK signal and got the same binary sequential as set before.
In order to provide a friendly user interface, the LCD and remote infrared control keyboard was introduced in this system.
一、????? 方案的設(shè)計(jì)和論證
題目要求產(chǎn)生1kHZ-10MHz正弦信號(hào),并在此基礎(chǔ)上,產(chǎn)生模擬調(diào)幅信號(hào)、模擬調(diào)頻信號(hào)、二進(jìn)制PSK、ASK信號(hào)。1kHZ-10MHz的正弦信號(hào)發(fā)生器是本設(shè)計(jì)的關(guān)鍵,以此為基礎(chǔ),對該信號(hào)進(jìn)行各種調(diào)制,得到題目要求的各種波形。
1.正弦信號(hào)產(chǎn)生部分
方案一:使用集成函數(shù)發(fā)生器芯片ICL8038。
ICL8038能輸出方波、三角波、正弦波和鋸齒波四種不同的波形,將他作為正弦信號(hào)發(fā)生器。它是電壓控制頻率的集成芯片,失真度很低。可輸入不同的外部電壓來實(shí)現(xiàn)不同的頻率輸出。為了達(dá)到數(shù)控的目的,可用高精度DAC來輸出電壓以控制正弦波的頻率。
方案二:鎖相環(huán)頻率合成器(PLL)
鎖相環(huán)頻率合成器(PLL)是常用的頻率合成方法。鎖相環(huán)由參考信號(hào)源、鑒相器、低通濾波器、壓控振蕩器幾個(gè)部分組成。通過鑒相器獲得輸出的信號(hào)FO與輸入信號(hào)Fi的相位差,經(jīng)低通濾波器轉(zhuǎn)換為相應(yīng)的控制電壓,控制VCO輸出的信號(hào)頻率,只有當(dāng)輸出信號(hào)與輸入信號(hào)的頻率于相位完全相等時(shí),鎖相環(huán)才達(dá)到穩(wěn)定。
如果在環(huán)路中加上分頻系數(shù)可程控的分頻器,即可獲得頻率程控的信號(hào)。??????? 由于輸出信號(hào)的頻率穩(wěn)定度取決于參考振蕩器信號(hào)fi ,參考信號(hào)fi 由晶振分頻得到,晶振的穩(wěn)定度相當(dāng)高,因而該方案能獲得頻率穩(wěn)定的信號(hào)。一般來說PLL的頻率輸出范圍相當(dāng)大,足以實(shí)現(xiàn)1kHz-10MHZ的正弦輸出。如果fi=100Hz只要分頻系數(shù)足夠精細(xì)(能夠以1步進(jìn)),頻率100Hz步進(jìn)就可以實(shí)現(xiàn)。
方案三:直接數(shù)字頻率合成(DDS)
DDS是一種純數(shù)字化方法。它現(xiàn)將所需正弦波一個(gè)周期的離散樣點(diǎn)的幅值數(shù)字量存入ROM中,然后按一定的地址間隔(相位增量)讀出,并經(jīng)DA轉(zhuǎn)換器形成模擬正弦信號(hào),再經(jīng)低通濾波器得到質(zhì)量較好的正弦信號(hào),DDS原理圖如下:
圖 1???? DDS原理圖
方案一(VOC)不能實(shí)現(xiàn)穩(wěn)定頻率信號(hào)的輸出并且難于數(shù)字控制。并且電容、電阻參數(shù)隨溫度等其他因素的影響,頻率穩(wěn)定度以及電路的穩(wěn)定度都較低,實(shí)現(xiàn)也較復(fù)雜,不予采納。雖然ICL8038可很好的實(shí)現(xiàn)頻率輸出的控制,但查看ICL8038的設(shè)計(jì)資料可知其頻率輸出范圍為0.01Hz~300kHz,不能達(dá)到題目的要求,故不予選用。PLL方案和DDS方案都能實(shí)現(xiàn)1kHz~10MHz的穩(wěn)定的信號(hào)輸出,且能達(dá)到100Hz頻率步進(jìn),但是PLL的動(dòng)態(tài)特性卻很差,在頻率改變時(shí),環(huán)路從不穩(wěn)定到穩(wěn)定的過程有時(shí)間延遲。相比較而言,DDS的頻率輸出范圍一般低于PLL,且雜散也大于PLL方案,但DDS信號(hào)源具有輸出頻率穩(wěn)定度高、精度更高、分辨率更高且易于程控等優(yōu)點(diǎn),且頻率改變不存在失調(diào)過程,盡管有雜散干擾,只需在輸出級加濾波器仍可以得到質(zhì)量很好的正弦波形。
對于DDS的實(shí)現(xiàn),采用可編程邏輯器件設(shè)計(jì),可以按題目的具體要求量身定做,靈活的發(fā)揮DDS信號(hào)源的各項(xiàng)優(yōu)良性能,但需加DA轉(zhuǎn)換器等外圍器件,設(shè)計(jì)工作量較大。采用集成DDS芯片只需少量外圍器件就能構(gòu)成一個(gè)完整的DDS信號(hào)源。集成芯片的電磁兼容性、抗干擾等各方面性能一般比可編程邏輯器件設(shè)計(jì)的DDS信號(hào)源性能要好。目前有許多可用作信號(hào)發(fā)生器的專用DDS集成芯片,如ADI公司推出的AD9851,其性能均能滿足本題的要求。
2.模擬幅度調(diào)制(AM)信號(hào)的產(chǎn)生
幅度調(diào)制是正弦載波信號(hào)的幅度隨調(diào)制信號(hào)做線形變換的過程。模擬幅度調(diào)制(AM)信號(hào)就是載波振幅按照調(diào)制信號(hào)的大小成線性變化的高頻振蕩,因此實(shí)現(xiàn)的原理就是把載波信號(hào)與調(diào)制信號(hào)相乘。
方案一:用高速DA轉(zhuǎn)換器實(shí)現(xiàn)
載波信號(hào)送入DA轉(zhuǎn)換器的參考電壓Vref端,調(diào)制信號(hào)通過AD采樣后,把轉(zhuǎn)換得到的數(shù)字量送到DA轉(zhuǎn)換器的數(shù)據(jù)輸入端,從而得到被調(diào)制信號(hào)調(diào)制的模擬調(diào)幅信號(hào)。但此方案需要雙極性的DAC,而且對DAC的速度也比較苛刻,設(shè)計(jì)起來難度較大,故不采用。
方案二:用高速模擬乘法器實(shí)現(xiàn)
采用AD835高速模擬乘法器,來實(shí)現(xiàn)模擬調(diào)制。模擬乘法器AD835的-3dB截止頻率為250MHz,能夠滿足題目的要求。但是AD835的差分輸入范圍僅為±1V,因此必須對輸入信號(hào)進(jìn)行預(yù)處理。
綜上所述,采用AD835集成高速模擬乘法器不但簡化了硬件電路,并且AD835具有很低的附加噪聲,在頻率f<10MHz時(shí)只有50 ,能夠大大提高系統(tǒng)的抗干擾能力以及穩(wěn)定度,可輕松實(shí)現(xiàn)題目要求,故采用此方案。??
對題目要求的10%~100%調(diào)制度的實(shí)現(xiàn),可預(yù)先在FPGA中建立10個(gè)不同調(diào)制度對應(yīng)的幅度表格,然后查詢各表格,將數(shù)據(jù)送給CA3338 AD轉(zhuǎn)換器輸出對應(yīng)幅度的1kHz的正弦波,處理后輸入AD835模擬乘法器后便可得到對應(yīng)調(diào)制度的AM調(diào)幅波形。
3.模擬頻率調(diào)制(FM)信號(hào)的產(chǎn)生
由于本系統(tǒng)采用DDS方案做信號(hào)源,因此用模擬方法實(shí)現(xiàn)頻率調(diào)制有一定困難,頻偏較難精確控制,且容易引入干擾。因此FM信號(hào)的產(chǎn)生可結(jié)合AD9851芯片用數(shù)字方法來實(shí)現(xiàn)。AD9851是通過寫頻率控制字FSW來控制輸出信號(hào)的頻率的,頻率控制字的值與輸出信號(hào)的頻率成正比。對輸入的1kHz信號(hào)經(jīng)過處理后進(jìn)行實(shí)時(shí)采樣,得到的數(shù)據(jù)正比于載波信號(hào)的頻率偏移量。把不同幅度采樣得到的數(shù)據(jù)對應(yīng)不同的頻率偏移量,不同的頻率偏移量又對應(yīng)不同的頻率控制字,可以作為表存儲(chǔ)在FPGA中。零點(diǎn)對應(yīng)中心頻率,幅度最大的點(diǎn)對應(yīng)正向最大頻偏對應(yīng)的頻率,而幅度最小的點(diǎn)對應(yīng)負(fù)向最大頻偏對應(yīng)的頻率,實(shí)時(shí)改變載波頻率。由于題目要求5kHz與10kHz頻偏,因此要制作兩個(gè)查詢表。
4.ASK、FSK信號(hào)的產(chǎn)生
????? 方案一:ASK的實(shí)現(xiàn):數(shù)字基帶序列和載波輸入相乘實(shí)現(xiàn)(FSK也可通過此方法實(shí)現(xiàn))。
???? 方案二:模擬開關(guān)實(shí)現(xiàn)
????? ASK、FSK是數(shù)字調(diào)制技術(shù),可采用的模擬開關(guān)來實(shí)現(xiàn)。將模擬地線和載波分別接到模擬開關(guān)的兩個(gè)輸入端,用數(shù)字基帶序列控制模擬開關(guān)的切換,即可以得到ASK信號(hào)。同樣的道理,將載波及其倒π相信號(hào)分別通入模擬開關(guān)的兩個(gè)輸入端,用數(shù)字基帶序列控制模擬開關(guān)的切換,可以得到PSK信號(hào)??紤]到載波頻率為100kHz,需要較高速的模擬開關(guān)。
????? 方案三:用FPGA內(nèi)調(diào)制實(shí)現(xiàn)。
????? 一般來說,模擬開關(guān)成本低于模擬乘法器,使用也更加方便,故采用方案二。同時(shí),利用FPGA,我們也實(shí)現(xiàn)了方案三。
二、????? 單元電路分析與硬件電路設(shè)計(jì)
1.正弦信號(hào)發(fā)生器
采用了直接數(shù)字頻率合成技術(shù),可采用ADI公司的DDS集成芯片AD9851。
AD9851由DDS電路、數(shù)據(jù)輸入寄存器、頻率相位數(shù)據(jù)寄存器、高速D/A轉(zhuǎn)換和比較器組成。其中高速DDS電路又由32位相位累加器和正弦查詢表組成。正弦查詢表內(nèi)存儲(chǔ)了一個(gè)周期正弦波的數(shù)字幅度信息,每個(gè)地址對應(yīng)正弦波中00~3600范圍的一個(gè)相位點(diǎn)。每送入一個(gè)時(shí)鐘脈沖信號(hào),查詢表就把形成的地址信息映射成正弦波幅度信號(hào),然后經(jīng)過D/A轉(zhuǎn)換器輸出模擬量。
AD9851系統(tǒng)時(shí)鐘的最高頻率可達(dá)180MHz。為了提高系統(tǒng)的電磁兼容能力,AD9851內(nèi)部集成了一個(gè)6倍頻器,降低了所需外接時(shí)鐘頻率。若外部介入的參考頻率選用20MHz,則經(jīng)AD9851內(nèi)部6倍頻后,系統(tǒng)時(shí)鐘頻率相當(dāng)于120MHz。由頻率合成公式可計(jì)算出,在此時(shí)鐘下的輸出頻率分辨率為:
Hz=0.0279Hz??? (1)
最大輸出頻率為系統(tǒng)時(shí)鐘頻率120MHz,遠(yuǎn)超出本題100Hz的步進(jìn)值,1kHz~10MHzs的要求。
AD9851內(nèi)部有5個(gè)8位輸入數(shù)據(jù)寄存器,其中32位用于裝載頻率控制字FSW。FPGA編寫時(shí)序通過對32位控制字的賦值可精確控制最終合成的信號(hào)頻率fo。FSW與fo之間的轉(zhuǎn)換公式為:
????? (2)
頻率控制字可向數(shù)據(jù)輸入寄存器連續(xù)裝入5次數(shù)據(jù),并行裝入到AD9851中。
AD9851生成的模擬信號(hào)由IOUT 、IOUTB端送出,該兩端對應(yīng)AD9851內(nèi)DA轉(zhuǎn)換器的差分電流輸出端,其滿度電流大小由接在RSET 端的電阻值大小決定。計(jì)算公式為:MAX(IOUT)=39.2/RSET 。AD9851設(shè)計(jì)資料上介紹,允許由IOUT 、IOUTB端送出的最大滿度電流為20mA,當(dāng)送出的滿度電流值為10mA時(shí),輸出信號(hào)的無雜散動(dòng)態(tài)范圍(SFDR)最好,因而本設(shè)計(jì)取IOUT=10mA,對應(yīng)的得取RSET=3.92kΩ。為了將電流轉(zhuǎn)換成為電壓,要在IOUT 、IOUTB輸出端各接一個(gè)電阻,為了獲得較好得無雜散動(dòng)態(tài)范圍,這兩個(gè)電阻值取為相等。綜合考慮,權(quán)衡各方面后,選取接在IOUT 、IOUTB端的電阻為75Ω,這樣,AD9851輸出信號(hào)的峰峰值為0.75V(0v―0.75v)。
考慮到后級的AM調(diào)制需要雙極性的載波,因而AD9851輸出需要隔直電容。經(jīng)典電路如下圖所示:
圖 2??? AD9851控制電路
由于DDS采用全數(shù)字技術(shù),因而不可避免會(huì)存在雜散干擾,直接影響輸出信號(hào)的質(zhì)量,所以需用濾波電路。由于輸出最高頻率為10M,因此濾波器的0.1dB增益平坦區(qū)至少要到10M,可采用截至頻率為40M的巴特沃斯二階濾波電路。為了獲得更好頻率特性曲線,在濾波這一級取增益為2,這樣還降低后級放大器的放大倍數(shù),于是增益帶寬積為20MHz,需要帶寬比較寬的運(yùn)放。信號(hào)最高頻率10MHz,幅值3V(6Vp-p),則要求集成運(yùn)放的壓擺率SR??? >??? 2πVom×f=188.4V/μs。Intersil公司的HA5020集成視頻運(yùn)算放大器,當(dāng)增益為+10時(shí)-3dB帶寬為60MHz,壓擺率為1100V/μs,滿足題目要求。
????? 考慮到題目擴(kuò)展要求50Ω負(fù)載時(shí)輸出電壓幅度為6V±1V,必須對濾波輸出進(jìn)行一定功率放大。由于上述濾波器輸出Vopp約為1.5V,因而放大倍率設(shè)置為4,而帶寬為10MHz,也得采用增益寬帶積大于40MHz的運(yùn)放。AD公司的AD811芯片的設(shè)計(jì)資料可知AD811當(dāng)±15V供電時(shí),增益為+10時(shí)仍有100MHz的-3dB帶寬。峰峰值為6V帶50Ω的負(fù)載,最大電流60mA。AD811最大電流輸出為100mA,可以滿足要求。根據(jù)AD811的芯片資料可知,放大倍率為3時(shí)為了達(dá)到預(yù)期的帶寬,應(yīng)選取的反饋電阻RG=635Ω。
2.AM調(diào)制??????
調(diào)幅就是使載波的振幅隨調(diào)制信號(hào)振幅的變化規(guī)律而變化。假定調(diào)制信號(hào)是簡諧振蕩,其數(shù)學(xué)表達(dá)式為:
???? (3)
如果用它來對載波 進(jìn)行調(diào)幅,那么,在理想情況下這已調(diào)波的振幅為:
???? (4)
其中 為比例常數(shù)。
因此,已調(diào)波可以用下式表示:
????? (5)
其中 即為調(diào)制度。取Vo=VΩ,則ma=ka。
將載波信號(hào)峰峰值調(diào)整至Vopp=1.5V,即載波為 ,而調(diào)制度為100%時(shí)調(diào)制信號(hào)1kHz的峰峰值為1.5V,直流電平為0.75V,因此調(diào)制信號(hào)為 式中 ;調(diào)制度為10%時(shí)峰峰值為75mV,調(diào)制信號(hào)為 理論上達(dá)到了題目的調(diào)制度范圍的要求。
AM調(diào)制采用高速模擬乘法器AD835,其帶寬為250M,它的-0.1dB增益平坦區(qū) > 10M,滿足題目要求。
AD835的系統(tǒng)框圖如下圖所示:
圖 3??? AD835的結(jié)構(gòu)框圖
其兩個(gè)差分輸入端X、Y分別接收兩路乘法信號(hào)的輸入,經(jīng)過乘法器后輸出兩路信號(hào)的乘積XY,然后與輸入的Z信號(hào)在加法器中實(shí)現(xiàn)相加,經(jīng)過一級驅(qū)動(dòng)后輸出。因此通過AD835模擬乘法器后,輸出信號(hào)的實(shí)際表達(dá)式為:W=X*Y+Z。對本題實(shí)現(xiàn),可將兩路差分輸入的一端接地,另一端接載波以及調(diào)制信號(hào)。而Z端接地,就可以實(shí)現(xiàn)乘法操作,電路原理圖如圖14所示:
圖 4??? 模擬乘法器接口電路
AD835的輸入電壓范圍為-1V~+1V,可以直接將隔直輸出的DDS信號(hào)作為載波信號(hào);而1kHz的正弦波則可結(jié)合FPGA經(jīng)CA3338數(shù)模轉(zhuǎn)換輸出,考慮到AD835的輸入動(dòng)態(tài)范圍,可將CA3338的參考電壓設(shè)為0.75V,但為了發(fā)揮CA3338良好的動(dòng)態(tài)特性,在設(shè)計(jì)中將參考電壓增大。綜合考慮選擇參考電壓為5V,DA輸出經(jīng)濾波后,用電阻分壓。將1kHz調(diào)制信號(hào)和載波信號(hào)輸入乘法器即可得到模擬調(diào)幅信號(hào)。但是濾波器的輸出會(huì)疊加一個(gè)直流電平,達(dá)不到100%的調(diào)制度,必須用一個(gè)移平電路來處理濾波輸出信號(hào),使其在100%的調(diào)制度時(shí)波谷在0電平的位置上。
考慮到后面的模擬調(diào)幅時(shí)采樣點(diǎn)數(shù)為32個(gè)點(diǎn),設(shè)計(jì)的1kHz波形一個(gè)周期的點(diǎn)數(shù)為32個(gè),輸出的波形有很大的階梯噪聲,必須經(jīng)過濾波輸出。
為實(shí)現(xiàn)100%的調(diào)制度所需的電平調(diào)整電路如圖17所示:
圖 5??? 調(diào)制信號(hào)的電平調(diào)整電路
3.FM調(diào)制輸出
FPGA以調(diào)制信號(hào)波形的數(shù)字量為地址,在頻率偏移量查找表中取得相應(yīng)的數(shù)據(jù),寫入AD9851中,從而產(chǎn)生頻率的偏移。題目要求有5kHz和10kHz兩級最大頻偏,需要構(gòu)造兩份表,表中數(shù)據(jù)預(yù)先計(jì)算好。頻偏為5kHz時(shí),頻率控制字為FSW,由公式: ,可算出FSW=178596。若一個(gè)周期取32個(gè)點(diǎn),則只需算出半個(gè)周期的16個(gè)點(diǎn)對應(yīng)的頻率控制字,從而得到5kHz的最大頻偏的頻偏表格。根據(jù)5kHz的頻偏時(shí)的頻率控制字為178596,這16個(gè)點(diǎn)對應(yīng)的頻率控制字的計(jì)算公式為: 。同理,10kHz的最大頻偏對應(yīng)的16個(gè)點(diǎn)對應(yīng)的頻率控制字的計(jì)算公式為: 。
????? 由上分析,得到的細(xì)化系統(tǒng)框圖為:
圖 6??? 細(xì)化的系統(tǒng)框圖
三、????? 軟件設(shè)計(jì)
1.單片機(jī)軟件設(shè)計(jì)
本設(shè)計(jì)采用51單片機(jī)結(jié)合FPGA的系統(tǒng)控制方案。
51單片機(jī)是系統(tǒng)的控制核心。其中運(yùn)行著鍵盤和顯示程序,供用戶輸入命令和查看數(shù)據(jù)。由于51單片機(jī)速度較慢,不能實(shí)現(xiàn)實(shí)時(shí)控制,其中按鍵子程序向FPGA發(fā)出各種命令和數(shù)據(jù),控制信號(hào)發(fā)生器的輸出頻率、各種調(diào)制信號(hào)的輸出等。
FPGA是系統(tǒng)控制的執(zhí)行機(jī)構(gòu)。FPGA直接控制AD9851,通過寫頻率控制字,控制輸出信號(hào)的頻率。同時(shí),F(xiàn)PGA還控制各種調(diào)制信號(hào)(AM、FM、ASK、PSK)的產(chǎn)生與切換。
2.FPGA軟件設(shè)計(jì)
1)AD9851的控制程序設(shè)計(jì)
???? 程序設(shè)計(jì)主要是對AD9851進(jìn)行頻率控制字賦值。在并口頻率和相位控制字的賦值模式下,由AD9851的datasheet查得,數(shù)據(jù)的建立和保持時(shí)間為3.5ns,同步寫時(shí)鐘為7ns,本設(shè)計(jì)要求AD9851產(chǎn)生的正弦波頻率改變時(shí)間小于31.25us,既FPGA 對AD9851寫頻率控制時(shí)間要求小于31.25us,該芯片滿足寫速度的要求。其寫時(shí)序?yàn)樵趯憰r(shí)鐘下,寫入1次控制字,4次8位頻率控制字。
????? FPGA對AD9851的寫頻率控制字要求能以32K的頻率連續(xù)賦值,以及僅進(jìn)行一起寫操作。采用狀態(tài)機(jī)來實(shí)現(xiàn)AD9851的寫操作程序。
2)模擬頻率調(diào)制FM和模擬幅度調(diào)制的程序設(shè)計(jì)
???????? 利用FPGA實(shí)現(xiàn)對AD9851載波的模擬頻率和幅度調(diào)制。對載波進(jìn)行模擬幅度調(diào)制,在FPGA內(nèi)部建立10張32個(gè)點(diǎn)DDS正弦波的表。每張表內(nèi)的數(shù)據(jù)對應(yīng)于不同的幅度的正弦波。對表數(shù)據(jù)的尋址,通過9根地址線控制。低5位地址由FPGA內(nèi)部地址計(jì)數(shù)器產(chǎn)生,高4位地址由單片機(jī)提供。單片機(jī)改變高位地址,就得到對應(yīng)的不同幅度正弦波。
對載波進(jìn)行模擬頻率調(diào)制,在FPGA內(nèi)部建立2張32個(gè)點(diǎn)32位正弦波地址幅度與頻偏映射表。不同的正弦波幅度對應(yīng)不同的頻偏。當(dāng)調(diào)制的正弦波的幅度發(fā)生變化時(shí),通過映射表送去相應(yīng)的頻偏數(shù)據(jù)。再與中心頻率的控制字相加,送往AD9851從而使產(chǎn)生正弦波的頻率改變,實(shí)現(xiàn)對正弦波的頻率調(diào)制。
3)調(diào)制波1K正弦波產(chǎn)生的程序設(shè)計(jì)
該部分程序用Verilog硬件描述語言編寫。產(chǎn)生固定的1K的正弦波,因?yàn)椴恍枰M(jìn)行頻率改變,所以可不采用DDS的方法設(shè)計(jì)。可設(shè)計(jì)一個(gè)存儲(chǔ)32個(gè)點(diǎn)的正弦撥數(shù)據(jù)的ROM,在設(shè)計(jì)一個(gè)32進(jìn)制的尋址記數(shù)器,實(shí)現(xiàn)不斷對ROM進(jìn)行尋址,計(jì)數(shù)時(shí)鐘32KHz,讀取一個(gè)周期32個(gè)點(diǎn)的數(shù)據(jù)需1us時(shí)間,通過DA,就產(chǎn)生一個(gè)連續(xù)的1K正弦波。
4)片內(nèi)二進(jìn)制PSK,ASK信號(hào)產(chǎn)生電路程序設(shè)計(jì)
在FPGA內(nèi)部建立一張160個(gè)點(diǎn)的正弦波數(shù)據(jù)表,通過計(jì)數(shù)器尋址,計(jì)數(shù)時(shí)鐘1.6M,通過DA就可產(chǎn)生100K的載波正弦波。另外建一張與上一張表產(chǎn)生的正弦波相移180度的數(shù)據(jù)表,從而就產(chǎn)生兩路相移180度的正弦波信號(hào)。
PSK,ASK的調(diào)制序列通過設(shè)計(jì)一個(gè)31序列產(chǎn)生器產(chǎn)生,PSK是通過31序列產(chǎn)生器產(chǎn)生的序列對兩路相移180度的正弦波進(jìn)行選通來調(diào)制,因?yàn)樵贔PGA內(nèi)部就有產(chǎn)生的正弦波的數(shù)據(jù),通過序列對兩張表的數(shù)據(jù)進(jìn)行選通,便使輸出波形實(shí)現(xiàn)PSK。ASK是通過31序列產(chǎn)生器產(chǎn)生的序列對一路正弦波進(jìn)行開關(guān)控制,序列碼為1時(shí),輸出正弦波通過,為0時(shí),輸出為0。這也可通過對一張正弦波數(shù)據(jù)表的數(shù)據(jù)選通來實(shí)現(xiàn)。由于是用10kbps的數(shù)據(jù)調(diào)制100K載波,為了實(shí)現(xiàn)調(diào)制波在相位為0時(shí)發(fā)生改變。在Verilog程序設(shè)計(jì)時(shí),用一個(gè)全局時(shí)鐘同時(shí)驅(qū)動(dòng)m序列產(chǎn)生器和正弦波表的計(jì)數(shù)器,使它們的時(shí)鐘頻率嚴(yán)格在全局時(shí)鐘的上沿時(shí)同時(shí)輸出,且輸出數(shù)據(jù)的頻率嚴(yán)格按1:160。
5)片外PSK,ASK調(diào)制電路設(shè)計(jì)
該部分程序用Verilog硬件描述語言編寫。設(shè)計(jì)一個(gè)狀態(tài)機(jī)實(shí)現(xiàn)對AD9851輸出正弦波同頻率的方波進(jìn)行計(jì)數(shù),當(dāng)計(jì)數(shù)10次時(shí),將由MCU發(fā)送過來的二機(jī)制代碼數(shù)據(jù)串口輸出,發(fā)送到模擬開關(guān),控制模擬開關(guān)的選通,實(shí)現(xiàn)對AD9851正弦波的調(diào)制。
6)MCU和FPGA的接口模塊
該部分程序用Verilog硬件描述語言編寫。51單片機(jī)對外圍器件的通訊采用總線型方式,其對外部存儲(chǔ)器的讀寫通過WR,RD信號(hào)線進(jìn)行,并通過P0,P2口進(jìn)行傳送數(shù)據(jù)和地址。FPGA與MCU的通訊就可以通過這種總線結(jié)構(gòu)。在FPGA與MCU的通訊中,只要MCU向FPGA寫數(shù)據(jù),51單片機(jī)的寫時(shí)序?yàn)榈刂锋i存信號(hào)ALE為高電平時(shí),P0口輸出數(shù)據(jù)有效,ALE下降沿將此地址打入地址鎖存器,此后,WR信號(hào)才有效,將P0口的數(shù)據(jù)送入相應(yīng)的外部RAM。
????? 因?yàn)槲覀兊?1單片機(jī)提供了P0口的鎖存地址,所以FPGA 不需要鎖存低位地址,不需要檢測ALE信號(hào),地址信號(hào)直接有P2口和鎖存器提供。FPGA檢測WR信號(hào)的上跳沿,在上跳沿時(shí),判斷地址信號(hào),如果是FPGA的地址,則將數(shù)據(jù)送入FPGA內(nèi)部相應(yīng)的寄存器,從而實(shí)現(xiàn)MCU與FPGA的通訊。為了使FPGA工作穩(wěn)定,采用FPGA內(nèi)部系統(tǒng)高頻時(shí)鐘采沿的方法來檢測WR的上跳沿。在高頻時(shí)鐘的上跳沿,將WR信號(hào)依次送入2個(gè)寄存器temp1,temp2,如果WR有個(gè)上跳沿,則在WR上跳沿延遲兩個(gè)高頻時(shí)鐘后,temp2為1,temp1為0,將WR的 上跳沿檢測到。
四、測試方法與數(shù)據(jù)
1.測量儀器
數(shù)字示波器:??????? Tektronix TDS1002;???????? 萬用表:FLUKE 17B
無限綜合測量儀:??? 新聯(lián)電子EE5113型;???????? 信號(hào)源:DF1651C
調(diào)制度測量儀:????? QF4143型
2.測試數(shù)據(jù)和結(jié)果
1).輸出頻率范圍測試
將輸出端開路,設(shè)置不同的頻率,對輸出電壓進(jìn)行測試,測試數(shù)據(jù)如下表:
表 1??? 輸出頻率范圍測試表格
設(shè)置頻率(Hz)
實(shí)測頻率(Hz)
實(shí)測Vp-p(V)
10
9.99
6.68
100
99.994
6.76
1k
999.997
6.76
10k
10.000K
6.76
100k
100.000K
6.70
1M
1.000M
6.64
5M
5.000M
6.30
10M
10.000M
5.60
13M
13.000M
5.00
15M
15.000M
4.42
18M
18.000M
3.28
20M
20.000M
2.90
由表可見,DDS輸出頻率精度很高,與晶振的穩(wěn)定度在同一數(shù)量級。輸出頻率范圍下限可以到很低,上限能夠達(dá)到題目的要求。
2).輸出電壓峰值及帶負(fù)載測試
依據(jù)題意,取負(fù)載50Ω,在不同的頻率下,測試數(shù)據(jù)如下表。
表 2??? 輸出電壓幅度測試表格
設(shè)置頻率(Hz)
Vpp(V)no load
Vpp(V) load
10
6.68
6.64
100
6.76
6.72
1k
6.76
6.72
10k
6.76
6.72
100k
6.74
6.70
1M
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -