張 斐 徐世杰
基于AT89C51單片機(jī)控制的DDS方式的方波信號發(fā)生系統(tǒng)主要由主控制器模塊、方波信號發(fā)生模塊、led顯示模塊、按鍵模塊、X4050(看門狗及EEPROM)組成。系統(tǒng)結(jié)構(gòu)框圖如圖1所示。DDS技術(shù)是一種直接數(shù)字頻率合成技術(shù),AT89C51單片機(jī)通過SPI模式從X5045讀出系統(tǒng)預(yù)置的頻率參數(shù),通過并行總線P1口送入AD9850,產(chǎn)生預(yù)置的方波信號,并且在led數(shù)碼管上顯示出來;當(dāng)需要改變載波頻率時(shí),通過預(yù)置按鍵和上下按鍵設(shè)定為間隔為9kHz(531~1602kHz)方波,為發(fā)射機(jī)提供載波信號。
圖1 系統(tǒng)結(jié)構(gòu)框圖
單片機(jī)作為系統(tǒng)設(shè)計(jì)的核心部分,在系統(tǒng)功能實(shí)現(xiàn)過程中起到了決定性的作用。AT89C51是51系列單片機(jī)中的一員,與其他51單片機(jī)都高度兼容,易于程序的移植;其單片機(jī)內(nèi)部有4kbytes的Flash用來存儲程序,可以反復(fù)擦寫使用1000次;它用來隨機(jī)存取數(shù)據(jù)的RAM存儲器大小為128bytes,內(nèi)置的中央處理器CPU為8位,同時(shí)還有Flash存儲單元。AT89C51單片機(jī)中有一個(gè)高增益反向放大器在振蕩器的內(nèi)部,引腳XTAL1為放大器的輸入端,XTAL2是該放大器的輸出端,該放大器外接石英晶體或陶瓷諧振器共同構(gòu)成自激振蕩器。外接的石英晶體兩端與電容C1、C2分別接地后接在放大器的反饋回路中形成并聯(lián)振蕩電路。電容C1、C2取值的大小會稍微影響振蕩器的穩(wěn)定性,因?yàn)橥饨邮⒕w,選取的電容值為30pF。AT89C51有強(qiáng)大的I/O口分別是(P0.0-P0.7)~(P3.0-P3.7)構(gòu)成了4個(gè)并行I/O接口,可以完成數(shù)據(jù)的傳送和控制,其P3口除具有一般I/O口功能外還有串行、中斷、定時(shí)器等第二功能。
單片機(jī)與其他器件的連接如圖2所示,單片機(jī)與AD9850接口電路采用并行接口方式,P1口作為數(shù)據(jù)接口,P3.3、P3.1和 P3.0與 AD9850的 W_CLK、FQ_UD和RESET相連作為控制引腳;單片機(jī)與X5045采用SPI總線方式通信,P3.5(T1)、P3.7(RD) 和 P3.4(T0) 與X5045的SI、SO和SCK連接進(jìn)行通信,P3.2、P3.6和 RESET與 X5045的 CS、WP和RESET相連作為控制引腳;單片機(jī)的P0.0-P0.7與數(shù)碼管的A-G相連,P2.0-P2.3通過4個(gè)三極管與4個(gè)數(shù)碼管的COM口相連來控制數(shù)碼管的通斷;單片機(jī)的P2.4、P2.5和P2.6與三個(gè)按鍵相連實(shí)現(xiàn)對頻率的設(shè)置,K_CON為設(shè)置按鍵,長按3~5秒后數(shù)碼管上的預(yù)置頻率閃動(dòng)時(shí),按K_UP或K_DOWN按鍵在(531~1602kHz)調(diào)節(jié)頻率,調(diào)節(jié)好后再按K_CON按鍵確定后即可輸出所調(diào)的頻率。
AD9850是美國AD公司采用DDS技術(shù)在1996年推出的高集成度的頻率合成器,它采用CMOS工藝制作,工作溫度范圍為-40~80 ℃,在3.3V供電下功耗為155mW,它采用28腳SSOP封裝形式。圖3為其組成原理框圖。圖中虛線內(nèi)包含了由微控制器、相位控制字、頻率控制字、相位累加器、加法器、相位寄存器、正弦查詢表、DAC、LPF組成的一個(gè)完整的可編程DDS系統(tǒng),可編程DDS系統(tǒng)和高速比較器的配合應(yīng)用實(shí)現(xiàn)了全數(shù)字編程控制的頻率合成??删幊藾DS系統(tǒng)的核心是一個(gè)由加法器和N(32)位相位寄存器組成的相位累加器,每當(dāng)過來一個(gè)外部參考時(shí)鐘信號時(shí),相位寄存器便以步長M遞增,其輸出與相位控制字經(jīng)加法器相加后便輸出到正弦查詢表地址上;正弦查詢表內(nèi)部包含一個(gè)完整的正弦波周期的數(shù)字幅度信息,一個(gè)地址對應(yīng)一個(gè)正弦波中0°~360°的一個(gè)相位點(diǎn);正弦查詢表把送過來地址的相位信息一一映射成正弦波幅度信號,經(jīng)DAC驅(qū)動(dòng)輸出對應(yīng)的模擬量,經(jīng)過2N/M個(gè)外部參考時(shí)鐘后相位寄存器就返回到初始狀態(tài)一次,從而使整個(gè)DDS系統(tǒng)輸出一個(gè)正弦波。該正弦波周期TO=Tc2N/M,頻率fout=Mfc/2N,fc、Tc分別為外部參考時(shí)鐘的頻率和周期。
圖3 AD9850組成框圖
總之,信號經(jīng)過32位的相位累加器后被截?cái)喑?4位輸入到正弦查詢表,經(jīng)過查詢表的輸出后被截?cái)喑?0位輸入到DAC,DAC輸出兩個(gè)互補(bǔ)的電流。該電流經(jīng)過DAC滿量程輸出通過一個(gè)外接電阻RSET調(diào)節(jié),經(jīng)過LPF濾波后接到高速比較器上即可輸出一個(gè)抖動(dòng)很小的方波。
AD9850在外接上100MHz的有源晶振和單片機(jī)控制寫入頻率相位控制字之后就可產(chǎn)生一個(gè)頻率和相位都可編程控制的模擬正弦波,此正弦波經(jīng)過系統(tǒng)內(nèi)置的高速比較器轉(zhuǎn)換后變成方波輸出。
系統(tǒng)通過單片機(jī)C語言模塊化編程方案,具有可讀性高、移植性好等優(yōu)點(diǎn)。軟件由主程序、X5045驅(qū)動(dòng)程序、AD9850驅(qū)動(dòng)程序、LED顯示程序、按鍵掃描程序組成。主程序的功能是:系統(tǒng)初始化,接收按鍵并做初步處理,調(diào)用各個(gè)子程序。程序流程如圖4所示。各子程序功能如下:X5045程序進(jìn)行看門狗功能及EEPROM的數(shù)據(jù)讀寫。AD9850驅(qū)動(dòng)程序計(jì)算頻率控制字及寫控制字。LED顯示子程序?qū)存I選擇的頻率數(shù)值轉(zhuǎn)換為數(shù)碼管上顯示字符的相應(yīng)代碼。按鍵掃描子程序判斷是否有鍵按下,有則稍等并進(jìn)行按鍵處理,否則返回等待。
圖4 程序流程圖
本文設(shè)計(jì)的DDS頻率合成器電路最大程度地發(fā)揮了各個(gè)器件的優(yōu)勢,可以為PDM發(fā)射機(jī)提供穩(wěn)定的載波頻率,具有工作穩(wěn)定、電路簡單、成本低、易于實(shí)現(xiàn)等優(yōu)點(diǎn),它的狀態(tài)直接決定了發(fā)射機(jī)播出質(zhì)量。通過對DDS頻率合成器軟硬件電路設(shè)計(jì)的分析和說明,希望對技術(shù)維護(hù)人員有所幫助。
參考文獻(xiàn):
[1]張國光.基于DDS的高精度多路信號發(fā)生系統(tǒng)研究[J].電子測量技術(shù),2014,37(4):125-129.
[2]藍(lán)天,張金林.直接數(shù)字頻率合成器DDS的優(yōu)化設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2007(5):42-44.
[3]薛峰,吳利民,吳巍.一種高性能的DDS芯片AD9850及其應(yīng)用[J].無線電通信技術(shù),1999(4):10-11.