基于DDS的高精度信號發生器的設計_第1頁
基于DDS的高精度信號發生器的設計_第2頁
基于DDS的高精度信號發生器的設計_第3頁
基于DDS的高精度信號發生器的設計_第4頁
基于DDS的高精度信號發生器的設計_第5頁
已閱讀5頁,還剩29頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

基于DDS的高精度信號發生器的設計摘要頻率源是雷達、通信、電子對抗與電子系統實現高性能指標的關鍵,很多現代電子設備和系統的功能都直接依賴于所用頻率源的性能,因此頻率源被人們喻為眾多電子系統的“心臟”。直接數字頻率合成(DDS)是近年來發展起來的一種新的頻率合成技術。其主要優點是相對帶寬很寬、頻率轉換時間極短(可小于20ns)、頻率分辨率很高、全數字化結構便于集成、輸出相位連續、頻率、相位和幅度均可實現程控。因此,能夠與計算機緊密結合在一起,充分發揮軟件的作用。作為應用,現在己有DDS產品用于接收機本振、信號發生器、通信系統、雷達系統、跳頻通信系統等。本系統采用AT89C52單片機和AD9851為核心,輔以必要的模擬,數字電路,構成了一個基于DDS技術的信號發生器。該軟件系統采用4*4鍵盤操作,以菜單形式進行顯示,操作方便簡單,軟件增加了許多功能。它通過啟動DDS把內存緩存區的數據讀出送到DDS后輸出相應的頻率,并把數據轉換為BCD碼,通過數碼管進行顯示。該系統體積小、穩定度、精度極高,方便攜帶,適用于當代的尖端的通信系統和精密的高精度儀器以及高頻無線傳輸系統等。關鍵詞:信號發生器,DDS,AT89C52,AD9851DDS-basedHighPrecisionSignalGereratorABSTRACTThefrequencysourceistheradar,thecorrespondence,theelectroniccountermeasureandtheelectronicsystemrealizationhighperformancetargetkey,theverymanymodernelectronicinstallationandthesystemfunctionalldirectlyreliesoninusesthefrequencysourcetheperformance,thereforethefrequencysourceisexplainedbythepeopleforthemultitudinouselectronicsystem;theheart;.Thedirectdigitalfrequencysynthesizes(DDS)isonekindofnewfrequencysynthesistechnologywhichtherecentyearsdeveloped.ltsmainmeritistherelativebandwidthisverywide,thefrequencyswitchingtimeisextremelyshort(maysmallthan100ns),thefrequencyresolutionisveryhigh,theentiredigitizedstructureisadvantageousfortheintegration,theoutputphasecontinuously,thefrequency,thephaseandthescopemayrealizetheprogramcontrol.Therefore,canunifycloselyinwiththecomputertogether,fullydisplaysthesoftwarethefunction.Astheapplication,hadtheDDSproducttouseinthereceiverlocaloscillation,thesignalgeneratingdevice,thecommunicationssystem,theradarsystem,thefrequency-hoppingcommunicationssystemnowandsoon.ThissystemusestheAT89C52andAD9851areacore,auxiliarybynecessitysimulation,digitalcircuit,constitutedonebasedontheDDStechnologysinewavesignalgeneratingdevice.Thissoftwaresystemusesthe4*4keyboardoperation,carriesonthedemonstrationbythemenuform,theeaseofoperationissimple,thesoftwareincreasedmanyfunctions.ItthroughstartsDDS,afterdeliversthememorybufferareadataread-outDDStooutputthecorrespondingfrequency,andthedataconversionistheBCDcode,carriesonthedemonstrationthroughtheLEDdisplay.Thissystemvolumesmall,thestability,theprecisionareextremelyhigh,facilitatethecarryhome,issuitableincontemporary[onlinetranslation]andsoonacmecommunicationssystemandpreciseprecisioninstrumentaswellashighfrequencywirelesstransmissionsystem.KEYWORDS:SignalGererator,DDS,AT89C52,AD9851目錄摘要 IABSTRACT II目錄 III1緒論 11.1頻率合成技術概述 11.2直接數字頻率合成技術的應用與現狀 21.3信號發生器概況 31.3.1信號發生器分類 41.3.2各類信號發生器特點 41.4系統設計方案 61.5本文研究的主要內容 71.6本章小節 72直接數字頻率合成 82.1存儲器與波形數據 82.2波形發生器的系統組成 82.3采用DDS方式的波形發生器 82.3.1相位累加器 92.3.2查詢表ROM 102.3.3數模轉換器 102.4DDS輸出頻譜 102.5DDS設計中的參數選擇 112.6本章小節 113硬件設計 123.1總體介紹 123.2微控制器 133.3DDS模塊 143.4顯示模塊 163.5低通濾波器的設計 163.6本章小結 184軟件實現 194.1主監控程序模塊 194.2鍵盤掃描模塊 204.2.1鍵盤簡述 204.2.24*4矩陣鍵盤的編程方法 214.3頻率控制字的送入模塊 224.4數碼管顯示程序的編程方法 234.5本章小結 255結束語 26致謝 27參考文獻 28附錄 301緒論1.1頻率合成技術概述頻率合成是指一個或多個頻率穩定度和精確度很高的參考信號源通過頻率域的線性計算,產生具有同樣穩定度和精確度的大量離散頻率的過程。實現頻率合成的電路叫頻率合成器,頻率合成器是現在電子技術的重要組成部分。在通信,雷達、導航等技術中,頻率合成器既是發射機的激勵信號源,又是接收機的本地振蕩器。在電子對抗設備中,它可以作為干擾信號發生器,在測試設備中,可作為標準信號源,因此頻率合成器被人成為許多電子系統的心臟。隨著電子技術的不斷展,對頻率合成器的要求越來越高,頻率合成器的主要性能指標有;(a)輸出頻率范圍頻率范圍是指頻率合成器輸出最低頻率和輸出最高頻率之間的變化范圍,它包含中心頻率和帶寬兩個方面的含義[1]。(b)頻率穩定度頻率穩定度是指規定的時間間隔內,頻率合成器輸出頻率偏離標準值的數值,他分長期、短期和瞬間穩定度三種。(c)頻率間隔頻率間隔是指兩個輸出頻率之間的最小間隔,也稱頻率分辨率。(d)頻率轉換時間頻率轉換時間是指輸出頻率由一個頻率轉換到另一個頻率的時間。(e)頻率純度頻率純度以雜散分量和相位噪聲來衡量。雜散又稱寄生信號,分為諧波分量和非諧波分量兩種。主要由頻率合成過程中的非線性失真產生,相位噪聲是衡量輸出信號相位抖動的大小的參數[2]。(f)調制性能調制性能是指頻率合成器的輸出具有調幅(AM),調頻(FM),調相(PM)等功能。頻率合成器的實現方法有三種:直接模擬頻率合成、間接頻率合成、直接數字頻率合成。直接模擬頻率合成技術是一種早期的頻率合成技術,它用一個或幾個參考頻率源經諧波發生器變成一系列諧波,再經混頻、分頻、倍頻和濾波等處理產生大量的離散頻率[3]。這種方法的優點是頻率轉換時間短、相位噪聲低,但由于采用大量的混頻、分頻、倍頻和濾波等途徑,使頻率合成器的體積大,成本高,結構復雜,容易產生雜散分量,且難于抑制。間接頻率合成技術又稱鎖相式頻率合成,它是利用鎖相技術實現頻率的加、減、乘、除。其優點是由于鎖相環路相當于一窄帶跟蹤濾波器,因此能很好地選擇所需頻率的信號,抑制雜散分量,且.避免了大量使用濾波器,十分有利于集成化和小型化。此外,一個設計良好的壓控振蕩器具有高的短期頻率穩定性,而標準頻率源具有高的長期頻率穩定度,鎖相式頻率合成器把這兩者結合在一起,使其合成信號的長期頻率穩定度和短期頻率穩定度都很高。但鎖相式頻率合成器的頻率轉換時間較長,單環頻率合成器的頻率間隔不可能做得很小[4]。直接數字頻率合成(DDS—DigitalDirectFrequencySynthesis)技術是一種全新的頻率合成方法,是頻率合成技術的一次革命。這種技術首先由美國學者J.Tierny,C.M.Rader和B.Gold三人于1971首次提出,但限于當時的技術和工藝水平,DDS技術僅僅在理論上進行了一些探討,而沒有應用到實際中去。DDS是一種全數字化的頻率合成器、由相位累加器、波形ROM、D/A轉換器和低通濾波器構成。時鐘頻率給定后,輸出信號的頻率取決于頻率控制字,頻率分辨率取決于累加器位數,相位分辨率取決于ROM的地址線位數,幅度量化噪聲取決于ROM的數據位字長和D/A轉換器位數。DDS有如下優點:(1)頻率分辨率高,輸出頻點多;(2)頻率切換速度快;(3)頻率切換時相位連續;可以輸出寬帶正交信號;(4)輸出相位噪聲低,對參考頻率源的相位噪聲有改善作用;(5)可以產生任意波形;(6)全數字化實現,便于集成,體積小,重量輕。隨著微電子技術的飛速發展,目前市場上性能優良的DDS產品不斷推出,如美國QUALCMOMM公司的Q2334,Q2220等DDS芯片;美國STANFORD公司的STEL-1175,STEL-1180等DDS芯片;美國AD公司的AD7008,AD9850等DDS芯片。這些DDS芯片的時鐘頻率從幾十兆赫茲到幾百兆赫茲不等[5]。1.2直接數字頻率合成技術的應用與現狀由于DDS的特點以及一些公司不斷推出的DDS芯片和產品,DDS技術被廣泛應用于雷達、通信、電子對抗和儀器儀表等領域。事物都帶有兩面性。DDS的全數字結構也給它帶來了兩個缺點,一個是輸出雜散較大,另一個是輸出帶寬受到限制。DDS有三個雜散源:相位截斷、幅度量化和D/A轉換器的非理想特性[6]。DDS輸出帶寬受限是由于數字器件的工作頻率不能很高以及DDS本質上是一個分頻器引起的。為了克服DDS輸出雜散大的缺點,國內外學者對DDS輸出頻譜特性進行了大量研究,HenryT.Nicholc-A:和ElenrvSamueli等人用誤差信號分析法來分析相位截斷誤差,他們建立了相位截斷誤差的數學模型,利用數論對相位截斷誤差的譜線位置和功率進行了較為精確的研究。根據他們的研究結果,只要知道了相位累加器字長、波形ROM地址線位數和頻率控制字,就可預測出相位截斷誤差的潛線位置和幅度。國內學者采用嚴格的數學方法,分析了理想DDS的頻譜結構,推導出了相位誤差信號的譜函數并分析了其分布規律,得到了相位截斷條件下DDS雜散分布的規律性。還有一種波形分析法,它根據DDS中相位累加器的周期性以及實際DDS的結構,得到DDS輸出波形的數學描述,然后對得到的波形進行Fourier級數分析[7]。波形分析法簡單、直接、計算量大,但借助于計算機和FFT技術,這一分析方法還是相當有效的。在分析DDS輸出頻譜特性的基礎上提出了一些降低雜散功率的方法,歸納起來有三種:優化設計波形ROM和相位累加器、用隨機抖動法提高無雜散動態范圍、以過采樣的方法降低帶內誤差功率[8]。為了提高DDS輸出頻率,一方面一些半導體公司利用目前最先進的半導體集成技術不斷提高DDS芯片本身的工作頻率[9],另一方面很多學者和單位把DDS技術和其它方法組合起來以擴展輸出頻率。例如當輸出信號頻率高而帶寬較窄時,可以利用移相技術或混頻濾波法擴展DDS輸出頻率。在組合式頻率合成技術中,DDS+PLL組合式頻率合成器是一種擴展DDS頻率的有效方法,它兼顧DDS和PLL兩者的優點。DDS+PLL組合方式分DDS激勵PLL的鎖相倍頻方式和PLL內插DDS的方式。DDS是一項充滿生命力的技術,其發展速度和應用范圍之廣是驚人的,從七十年代到今天,西方國家從未間斷過對DDS技術及其應用的研究,一批批成功的DDS芯片和DDS應用產品正在逐步獲得國際市場的青睞[10]。我國對DDS的研究剛剛起步,存在大量的艱巨工作要做,如精確分析DDS的雜散頻譜特性,研究DDS雜散功率降低方法以及擴展DDS的輸出帶寬,以發揮其頻率分辨率高、頻率切換快、相位噪聲低和全數字化等優點,使DDS技術在國內得到廣泛應用。1.3信號發生器概況信號發生器是一種歷史最為悠久的測量儀器。早在二十年代,當電子設備剛開始出現時,它就出現了。隨著通信和雷達技術的發展,四十年代出現了主要用于測試各種接收機的標準信號發生器,使信號發生器從定性分析的測試儀器成為定量分析的測量儀器,同時,還出現了可用來測試脈沖電路或用作脈沖調制器的脈沖信號發生器。由于早期的信號發生器機械結構比較復雜,功率比較大,電路比較簡單(與數字儀器、示波器等相比),因此,發展速度較慢。直到1964年才出現了第一臺全晶體管的信號發生器。自六十年代以來,信號發生器有了迅速的發展,出現了函數發生器、掃頻信號發生器、合成信號發生器、程控信號發生器等各種新的種類,而且,各類信號發生器的主要性能指標也都有了大幅度的提高。與此同時,各類信號發生器在簡化機械結構,體積小型化、功能多樣化等各方面也取得了顯著的進展。信號發生器是一種常用的信號源,被廣泛應用于電子電路、自動控制和科學試驗等各個領域。它是一種為電子測量和計量工作提供符合嚴格技術要求的電信號設備。如:在測試、研究或調試電子電路及設備時,為測定電路的一些電參量,如測量頻率響應、噪聲系數、為電壓表定度等,都要求提供符合所定技術條件的電信號,以模擬在實際工作中使用的待測設備的激勵信號。另外,當要求進行系統的穩態特性測量時,需使用振幅、頻率已知的正弦信號源。1.3.1信號發生器分類信號發生器是許多電子設備特別是測試設備必備的一部分,用以輸入基準源信號給被測設備,通過接收被測設備返回的信息,來分析研究被檢測設備的情況。廣義的信號發生器有許多種類,如光纖傳感器中光纖陀螺儀的發光二極管等。狹義上講,信號發生器是指電子設備中的純粹電信號發生器。對本論文來講,我們將范圍縮小到正弦電信號發生器上[11]。我們衡量或評定一個信號發生器的精度時,主要是對其中最基本和最重要的部分即正弦信號進行檢測。檢驗正弦信號性能的重要指標是頻率準確度和頻率穩定度、信噪比和諧波畸變[12]。信號發生器大致可分為兩類:模擬振蕩式和數字式,具體如圖1.1所示。圖1.1信號信號發生器分類1.3.2各類信號發生器特點各類信號發生器輸出信號精度不一樣,適合于不同的需求情況。按照不同的精度要求來選用信號發生器,既可以滿足技術指標上的要求,又可以最大限度地控制成本。下面將對圖1.1所列的各種信號發生器逐類進行工作原理分析和優缺點比較。(a)首先介紹模擬振蕩式信號發生器[13],振蕩器是一種可自動地將直流電源的能量轉換為一定波形的交變振蕩能量的裝置。振蕩器的種類有很多,從振蕩電路中有源器件的特性和形成振蕩的原理來看,可把振蕩器分為反饋式振蕩器和負阻式振蕩器兩類。前者是利用有源器件和選頻電路根據正反饋原理所組成的振蕩電路,后者是把一個呈負阻特性的二端有源器件直接與振蕩點錄像連接。按照輸出信號又可以分為正弦波振蕩器和非正弦波振蕩器(張馳振蕩器)。一個簡單的電容反饋三端式模擬振蕩式信號發生器基本原理如圖1.2,振蕩器輸出的正弦波工作頻率近似等于并聯回路的諧振頻率。模擬振蕩式信號發生器是最簡單的一種信號發生器。優點是器件數量少,線路簡單,制造成本低,易于調試。缺點是難以獲得很高的輸出信號精度和穩定度。一般只用于一些對精度要求不太高的設備中[14]。圖1.2模擬振蕩式信號發生器(b)數模轉換型信號發生器基本原理是:首先將連續正弦信號抽樣并量化使之成為數字正弦信號存入ROM或EPROM中,然后通過查表周期地讀出這些數字樣值并送往D/A轉換器[15],最后經模擬低通濾波器平滑后,輸出所需要的模擬正弦信號,其基本工作框圖如下圖1.3所示:圖1.3模數轉換型基本結構現在在理論上對數模轉換型信號發生器進行精度分析,采用這種數字方式時,設每周期正弦信號的等間隔抽樣點數為N,讀ROM表的時鐘頻為FR,則所產生的正弦信號頻率f=FR/N[16],因為N是確定的值,所以所產生正弦信號的頻率準確度與穩定度完全由讀碼頻率決定,而讀碼頻率可由晶體振蕩器通過數字分頻得到,晶體振蕩器的輸出精度能達到幾十個PPM,因此數模轉換型信號發生器有較高的頻率準確度和穩定度。但是檢驗正弦信號的重要指標除了頻率準確度和頻率穩定度外,還有信噪比和諧波畸變兩項。數模轉換型信號發生器的噪比和諧波畸變主要取決于數模轉換器的位數和精度,由于高位的數模轉換器制造困難,造價較高,使得該類高精度的信號發生器制造成本很高,而且也限制了信號發生器精度的進一步提高。本文所設計的信號發生器就屬于此類型。(c)Σ-△數字調制信號發生器有ROM型和DSP型之分[17],是一種高精度信號發生器,用到了Σ-△數字調制技術。該類發生器能較好地解決正弦信號所有四個指標精度問題,而且也比較穩定。當然,相對于數模轉換型信號發生器,該類型發生器制造成本非常高。另外,采用DSP方式生成數字正弦信號時,是利用DSP硬件技術來實時模擬Σ-△調制器的響應,因此可以實時產生不同頻率的正弦信號。Σ-△調制又稱為總和增量調制,是數字通訊系統中的一種波形編碼技術。Σ-△調制技術是當今地質勘探界所有24位大型遙測地震儀器系統的核心技術,它是伴隨著高位ADC的發展而發展起來的。Σ-△調制器同以往的均勻量化(PCM),A/D轉換器的量化過程有所不同,它不是直接根據抽樣數值的每個樣值的大小進行量化編碼,而是根據前一樣值與后一樣值之差即所謂增量的大小進行量化編碼。Σ-△調制器以極高的抽樣頻率對輸入的模擬信號進行抽樣,并對兩個抽樣之間的插值進行低位量化,從而得到用低位數碼表示的數字信號,即Σ-△代碼[18]。1.4系統設計方案方案一:用分立元件組成的函數發生器。通常是單函數發生器且頻率不高,其工作不很穩定,不易調試。方案二:可以由晶體管、運放IC等通用器件制作,更多的則是用專門的函數信號發生器IC產生。早期的函數信號發生器IC,如:L8038,BA205,XR2207/2209等,功能較少,精度不高,頻率上限只有300kHz,無法產生更高頻率的信號,調節方式也不夠靈活,頻率和占空比不能獨立調節[19],二者互相影響。方案三:采用傳統的直接頻率合成器對模擬信號進行頻率合成。使用這種方法,可以使頻率合成速度快、噪聲低,但需要以引入大量分頻、倍頻、混頻和濾波電路為代價,這就使得電路復雜、體積龐大、成本高,電路調試困難[20]。而且,這種設計方法只能實現標準波形的頻率合成,對于我們所要求的對標準波形的線性疊加卻無法實現。方案四:采用鎖相環式頻率合成器對模擬信號進行頻率合成。采用這種方法,避免了使用大量的分頻、倍頻和濾波電路,使電路大大減化。但是,由于鎖相環本身是一個惰性環節,頻率轉換時間較長,無法實現高精度的高頻合成。而且,通過模擬手段產生的信號幅度、頻率等參數很不穩定,并且電路同樣無法實現對標準波形的線性疊加。方案五:自行設計的基于FPGA芯片的解決方案[21]。采用直接數字頻率合成技術(DirectDigitalFrequencySynthesis簡稱DDS或DDFS,將所需的波形量化數據先存于存儲器中,通過鎖相環構成的頻率合成器產生所需頻率的脈沖驅動地址計數器,這樣在存儲器的數據線上會以所需頻率出現波形數據,該數據經數模轉換及濾波整形后,即得到相應的波形。DDS技術的實現依賴于高速、高性能的數字器件。可編程邏輯器件以其速度高、規模大、可編程,以及有強大EDA軟件支持等特性,十分適合實現DDS技術。但是就FPGA的制造工藝而言,FPGA在掉電后數據會丟失,上電后必須進行一次配置,因此FPGA在應用中需要為電路配置一定的程序。并且,FPGA器件作為一個數字邏輯器件,競爭和冒險正是數字邏輯器件較為突出的問題,因此,在使用時必須注意毛刺的產生、清除及抗干擾,這就增大了電路和程序的復雜程度和可實施性。方案六:利用專用的直接數字合成DDS芯片函數發生器。能產生任意波形并達到很高的頻率[22],并且能很好的進行編程,使用方便有效。為了達到高精度,高穩定的正弦信號輸出我們選擇了第六種方案。1.5本文研究的主要內容了解一些信號發聲器和頻率合成的的基本知識,并了解DDS的相關原理并利用單片機和DDS芯片來制作高精度的信號發生器。在這過程中加深對矩陣鍵盤原理的理解及運用,并了解濾波器的相關知識。1.6本章小節本章首先對頻率合成技術的發展做了簡單回顧,接著重點介紹了DDS的應用和現狀。接下來對信號發生器也做了一些概述,并對信號發生器進行了分類介紹。最后對本文的主要研究內容進行了闡述。2直接數字頻率合成2.1存儲器與波形數據如果一個存儲器(這里以ROM為例)有n條地址線,則這個存儲器的存儲空間為2n。假如在2n個存儲單元內存放了一個周期的正弦波形數據,則每個單元內的數據就表示正弦值的大小,這種存儲器稱為波形數據存儲器。如果重復地從0~2n-1單元讀出波形數據存儲器中的數據,在波形數據存儲器的輸出端就會得到周期的正弦序列:如果將周期的正弦序列輸入到D/A轉換器,則會在D/A轉換器的輸出端得到連續的正弦電壓或電流。輸出正弦序列的周期是由讀出數據的時鐘頻率決定的。設CLK為加于波形數據存儲器的時鐘,該時鐘的周期為T0,則其頻率為fclk=1/T0。顯然,時鐘頻率越高,讀取波形數據存儲器內一個周期的數據所用的時間就越短,因而D/A轉換器得到的正弦信號的頻率就越高。2.2波形發生器的系統組成如圖2.1所示為波形發生器的系統組成,時鐘fclk加于二進制計數器,生成波形數據存儲器所需的地址信號,地址信號的產生頻率正比于時鐘頻率。計數器的輸出在0~2n一1之間周而復始地變化,從而使波形數據存儲器輸出周期的正弦序列,D/A轉換器則輸出連續的模擬正弦電壓(或電流)波形[23]。圖2.1波形發生器的系統組成2.3采用DDS方式的波形發生器在實際問題中,如果連續改變時鐘頻率fclk的值,就可以得到一個頻率連續變化的周期信號。用LRC組成的雖然可以得到一個連續變化的時鐘,但其頻率穩定性很不好,且不可能得到一個寬范圍變化的時鐘信號。如果用晶體振蕩器作為時鐘,可以得到穩定度極高的時鐘,但又不能滿足頻率可變的要求。如圖2.2所示的電路既解決了頻率穩定度的問題,又能靈活地改變頻率變化范圍,這就是DDS方式的波形發生器。可以看出,地址加法器和數據鎖存器組成DDS電路。加法器有兩個數據輸入端,一個為DATA(在此稱為頻率數據),另一個為與數據存儲器相連的B。為說明方便,假設地址加法器數據寬度為11,波形數據存儲器有8條地址線[24]。圖2.2采用DDS方式的波形濾波器DDS電路工作原理如下:在頻率數據DATA的控制下,地址加法器的輸出結果為DATA+B,因此,在時鐘fclk的作用下,數據鎖存器的數據將每次增加DATA。也就是說,DATA控制了地址加法器輸出的遞增速率。此例中,DATA最小為1,最大為23一1=7。在時鐘頻率fclk不變的情況下,DATA的大小控制了D10-DO從最小到最大變化所用的時間。DATA大,每次運算的結果較前一次的數據增長就大,因而地址數據循環一周(從D10-DO最小到D10-DO最大)所需時間就短,這意味著D/A轉換器輸出的波形頻率就高。反之則相反。如果將數據D10-DO分為兩部分:取高8位D10-D3與波形數據存儲器相連(假設波形數據存儲器的地址線共有8條),將D2-DO空下不用,這樣,即使在DATA為最大(DATA=7)的情況下,D10-D3的數據增長也不會大于1,從而能夠做到在逐一地從波形數據存儲器讀取數據,保證輸出數據的精度。DATA的變化控制了D10-D3的數據變化速率,相當于DATA一定,而時鐘fclk改變。DDS的基本結構包括相位累加器、正弦查y表ROM、數模轉換器(DAC)以及低通濾波器等,如圖2-1所示其中相位累加器和正弦查詢表ROM合稱為數控振蕩器CNCO。下面將予以介紹。2.3.1相位累加器相位累加器是DDS最基本的組成部分,用于實現相位的累加并存儲其累加結果。若當前相位累加器的值為Σn,經過一個時鐘周期后變為Σn+1,則滿足:Σn+1=Σn+FCW(2-1)由式(2-2)可見,Σn為一等差數列,不難得出:Σn=n*FCW+Σ0(2-2)其中Σ0為相位類加器的初始相位值。相位累加器的基本結構如圖2-3所示,它由一個Abits加法器和一個Abits寄存器構成,寄存器通常采用A個D觸發器來構成。在此基礎上,有人提出了改進的相位累加器結構,如圖2-4所示,該結構降低了輸出頻譜對相位累加器初始狀態值的依賴程度,可降低雜散幅度約4dB。圖2.3相位累加器基本結構圖2.4改進的相位累加器結構2.3.2查詢表ROMDDS查詢表ROM所存儲的數據是每一個相位所對應的一進制數字正弦幅值,在每一個時鐘周期內,相位累加器輸出序列的高P位對其進行尋址,最后輸出為該相位對應的一進制正弦幅值序列。可以看出ROM的存儲量為2PXS比特。其中P為相位累加器的輸出位數,S為ROM的輸出位數。若P=12,S=8,可以算出ROM的容量為32768比特。在一塊DDS芯片上集成這么大的ROM會使成本提高,功耗增大,日可靠性下降,所以就有了許多的壓縮ROM容量的方法。而且容量壓縮了還可以使用更大的P和S值,進而使DDS的雜散性能提高。2.3.3數模轉換器DAC數模轉換器的作用是將數字信號轉變成模擬信號。而實際上由于DAC分辨率有限,其輸出信號并不能真正地連續可變,所以只能輸出階梯模擬信號。DAC有電壓和電流輸出兩種,美國ADI公司的DDS芯片內部都集成有DAC,稱為complete-DDS,這種結構簡化了DDS的系統設計。如果沒有集成DAC,例如Qualcomm公司的某些芯片,此時為系統正確地選擇DAC是一個十分關鍵的問題,因為DAC的性能直接決定整個系統的性能。2.4DDS輸出頻譜理想的DDS滿足:(a)相位累加器的輸出我;全部用來作尋址ROM的地址碼,即A=P(如圖2-1);(b)ROM存儲的幅度值沒有量化誤差,即DAC的分辨率為無窮大;(c)DAC不存在轉換誤差,完全理想。在上述條件下,整個DDS相當于一理想的采樣一保持電路。理想DDS的輸出頻譜。除所需要的頻率外,在頻率為nf0士f0的地方還有不需要的頻譜分量,如圖2-5所示。圖2-5想采樣的DDS輸出頻譜圖我們可以發現理想DDS的輸出即為所需的基頻信號,并且在所有譜線中幅度最大,另外我們還注意到在nf0處沒有譜線。在典型的DDS應用中,DDS后通常接有一個低通濾波器LPF,用它來濾除一階鏡像。而實際中LPF都有一個過渡帶的問題,所以為了更好地消除一階鏡像帶來的雜散,一般將DDS的輸出頻率限制在0~40%f0內。由于孔徑失真帶來的SIN(X)/X包絡,使得DDS的輸出幅度在Nyquist帶寬內有大約3.92dB的下降。因此有的公司推出DDS芯片(如ADI的AD9858)中含有一個特性為X/SIN(X)的預失真波濾波器,它可以把DDS的輸出幅度波動限制在0.1dB內。DDS輸出的頻譜實際上沒有圖2-5那樣純凈,而是有許多多余的譜線,了解這個在DDS的設計中是十分必要的。2.5DDS設計中的參數選擇波形數據存儲器的全部數據被讀出一次的頻率為:f=(fclkxDATA)/2m式中:f:波形數據存儲器輸出信號的頻率;fclk:系統的時鐘頻率;m:地址加法器的數據寬度;DATA:頻率控制字。2.6本章小節本章介紹了存儲器和波形發生器的工作原理,在此基礎引出了DDS信號發生器,介紹了DDS信號發生器的工作原理,并分塊介紹了其內部結構,最后描述了它的頻譜和參數選擇,對直接數字頻率合成技術(DDS)有了深入的了解。3硬件設計3.1總體介紹該系統是一種輸出信號的頻率隨時間在一定范圍內反復變化的正弦信號發生器。它是一種信號激勵裝置,用它所產生的正弦波來檢測被測系統的頻率響應,包括幅頻響應和相頻響應。當然,只要在波表存儲器中存儲其他類型的波表數據,就可以產生相應類型的信號,如方波、三角波、鋸齒波等。本系統由CPU(AT89C52),DDS芯片、濾波器、鍵盤、LED顯示器等單元組成,原理圖如圖3.1,其PCB圖如附圖Ⅲ-1。圖3.1整體原理圖3.2微控制器系統選用Atmel公司的AT89C52芯片來進行設計。其芯片引腳圖如圖3.2[25]。圖3.2AT89C52的引腳圖AT89C52單片機屬于AT89C51單片機的增強型[26],與Intel公司的80C52在引腳排列、硬件組成、擴工作特性和指令系統等方面完全兼容[27]。其主要工作特性是:·片內程序存儲器內含8KB的Flash程序存儲器,可擦寫壽命為1000次;·片內數據存儲器內含256字節的RAM;·具有3個可編程定時/計數器;·中斷系統具有8個中斷源、6個中斷矢量、2級優先權的中斷結構;·串行口是具有一個可編程串行通信口;·具有一個數據指針DPTR;·低功耗工作模式有空閑模式和掉電模式;·具有可編程的3級程序鎖定位;·工作電源電壓為5(士0.2)V,且典型值為5V,是低電壓單片機;·最高工作頻率為24MHz。與AT89C51相比,增加了如下功能:·程序存儲器由4KB增加到8KB;·片內RAM由128字節增加到256字節;·定時/計數器由2個增加到3個;·P.0和P1.1口增加了第二功能;·中斷系統由6個中斷源增加到8個,中斷矢量由7個增加到6個。選用DIP封裝形式。該系統CPU硬件資源分配如下:·信號幅度P0.0~P0.7;·鍵盤輸入P1.0~P1.5;·掃速信號P2.0~P2.3;·點頻/掃頻控制信號P2.7(0為點頻狀態,1為掃頻狀態);·顯示輸出P3.0,P3.1,Pl.7(P3.0為控制線,P3.1為時鐘線,Pl.7為數據線);·檔位控制字P3.2-P3.4;·定時/計數器0工作在定時方式;·定時/計數器1工作在計數方式;·程序區EA接高電平,對ROM的讀操作從內部程序存儲器開始;·數據區選用內部數據區。3.3DDS模塊DDS模塊AD9851引腳圖及接線如圖3.3。AD9851是ADI公司采用先進的DDS技術推出的高集成度DDS頻率合成器,它內部包括可編程DDS系統、高性能DAC及高速比較器,能實現全數字編程控制的頻率合成和時鐘發生。AD9851接口功能控制簡單,可以用8位并行口或串行口直接輸入頻率、相位等控制數據。32位頻率控制字,在180MHz時鐘下,輸出頻率分辨率達0.0372Hz。先進的CMOS工藝使AD9851不僅性能指標一流,而且功耗低,在3.3V供電時,功耗僅為155Mw。圖3.3AD9851引腳及接線圖各引腳介紹:·D0~D7:8位數據輸入口,可給內部寄存器裝入40位控制數據;·PGND:6倍參考時鐘倍頻器的地;·PVCC:6倍參考時鐘倍頻器電源;·W—CLK:字裝入信號,上升沿有效;·FQ—UD:頻率更新控制信號,時鐘上升沿確認輸入數據有效;·REFCLOCK:外部參考時鐘輸入;·AGND:模擬地;·AVDD:模擬電源(+5V);·DGND:數字地;·DVDD:數字電源(+5V);·RSET:外部復位連接端;·VOUTN:內部比較器負向輸出端;·VOUTP:內部比較器正向輸出端;·VINN:內部比較器負向輸入端;·VINP:內部比較器正向輸入端;·DACBP:DAC旁路連接端;·IOUTB:互補DAC輸出;·IOUT:內部DAC輸出端;·RESET:復位端。3.4顯示模塊顯示模塊硬件原理圖如圖3.4所示。本系統采用8段數碼顯示管。四位整數部分和一位小數部分,數碼管的輸入與AT89C52的P2口相連,采用P3.3~P3.7與數碼管的公共段相連來進行選擇,由于AT89C52的驅動不夠,所以在P3口后接放大器,再對數碼管進行驅動.圖3.4顯示模塊原理圖3.5低通濾波器的設計需在其信號輸出端接一個低通濾波器。濾波器可以分為有源和無源濾波器。有源濾波器的設計引入了有源元件—集成運算放大器,由于運算放大器具有近似理想的特性,且可以省去電感,因此可以得到接近理論預測的頻響應特性,并能減小體積。但由于受到運放帶寬的限制,有源濾波器的濾波頻帶一般不很高。[38]無源濾波器采用分立元件進行設計,其頻率范圍比較寬,因此一般用于高頻設計。低通濾波器可以分為巴特沃什濾波、切比雪夫濾波、貝賽爾濾波和橢圓濾波等。特沃什低通濾波器的通帶和阻帶都是平坦的,但是其過渡帶太過平緩;切比雪夫低通濾器的通帶是等波紋抖動的,阻帶是平坦的,過渡帶比巴特沃什稍陡;貝賽爾低通濾波器切比雪夫低通剛好相反,通帶平坦,阻帶是等波紋抖動的;橢圓低通濾波器的通帶和阻都是抖動的,但是其過渡帶下降迅速,過渡帶很窄。[39]在本系統中,采用了具有較窄過渡帶特性的橢圓濾波器,并采用7階橢圓低通濾波。根據系統要求輸出信號的頻率可達60MHz,設定其通帶為60MHz,且7階濾波具有下降速度更快的過渡帶,可以有效的濾除1OOMHz以上的高頻干擾。考慮到實際的橢圓濾波器的設計與理論分析是有所不同的,在本設計中采用理論分析與測量濾波器的實際頻譜特性相結合的方法,在實際的調試中逐漸改變濾波器的元件值,以使頻譜特性達到最佳。首先,按照低通橢圓濾波器的理論設計方法,采用查歸一化濾波器手冊的方法設計出原始的7階橢圓低通濾波器,初步確定元件值。已知要求從0到60兆赫的衰減不大于0.2分貝,而100兆赫以上衰減大于75分貝。計算出選擇因數為:ΩS=WS/WC=fs/fc=100/60=1.667(3.1)查橢圓函數濾波器的歸一化元件值表,選n=7,p=20%(相應Ar=0.177分貝),Qs=1.667,此時As=76.62分貝,指標均能滿足,且有富余。查得歸一化參數后,應用綜合標定公式C=1/wcRLC(3.2)計算出實際元件值。其次,對理論濾波器進行改進。由于電容和電感元件的特性并不是理想的,這一點在高頻中尤其突出,所以需要改進。在實際設計中,在PCB板上把濾波器連接好,用頻率特性測試儀對連接好的濾波器進行測量,如果幅頻特性不好,則調整電容的值,再次測量濾波器的幅頻特性,如此反復,直到該濾波器的特性滿足要求為止。經過實驗調整,該7階橢圓低通濾波器的電路參數如圖3.5所示。在Protel中進行濾波器特性仿真,得到特性曲線如圖3.6所示。圖3.5低通濾波器的電路圖圖3.6低通濾波器的特性曲線3.6本章小結本章詳細介紹了AT89C52和DDS芯片AD9851,并說明了它們的連接,接下來介紹了顯示模塊的電路,最后詳細分析了低通濾波器的設計過程。通過這章完成了硬件的設計。4軟件實現系統監控程序是控制單片機系統按照預定操作方式運轉的程序,是整個系統程序的框架。在本系統中,單片機的主要任務是在操作者按下不同的按鍵后,執行相應的任務,各個任務執行的先后順序取決于鍵碼。根據這樣的功能和操作方法,程序總體結構采用鍵碼分析作業調度型,即作業調度完全服從操作者的意圖,操作者通過鍵盤發出作業調度命令,監控程序接收到控制命令后,通過分析啟動對應的作業。系統軟件設計采用模塊化設計[48]的方法,它是把一個功能完整的較大的程序分解為若干個功能相對獨立的較小的程序模塊,對各個程序模塊分別進行設計、編程和調試,最后把各個調試好的程序模塊聯成一個大的程序。模塊化程序設計的優點是單個功能明確設計和調試比較方便、容易完成。一個模塊可以為多個程序所共享。模塊化編程的具體體現是把各個功能相對獨立的模塊作為子函數,主程序是一個不斷循環檢測結構。當系統上電自檢、初始化后,進入信號輸出的循環,并自動查詢面板按鍵的狀態,以檢測用戶可能輸入的指令,確定程序將要執行的功能。在系統工作中,串行口是一種非常方便可行的通訊方式,PC機可以通過串行口向本系統發出命令[28]。本系統軟件由主監控程序模塊、鍵盤掃描模塊、頻率控制字的送入模塊、數碼管顯示模塊構成。其中主監控程序是系統軟件的主程序,是整個系統軟件的核心,上電復位后系統首先進入監控主程序。它的任務是識別命令、解釋命令,并獲得完成該命令的相應模塊的入口,起著引導儀器進入正常工作狀態,協調各部分軟件有條不紊地工作的重要作用[29]。4.1主監控程序模塊程序開始后,運行初始化程序,包括初始化單片機AT89C52、初始化AD9851、初始化LED顯示模塊等。然后掃描鍵盤狀態,檢查到有鍵按下就運行鍵值處理程序,對按鍵值進行查表處理,然后執行相應的子程序。輸入的信號相關信息通過運行LED顯示程序,在數碼管上顯示正確的輸入數據和提示字符。在按下執行鍵后,AT89C52計算出所需信號的數據或控制命令,將其傳送到AD9851,輸出最終信號。接下來返回主程序,繼續掃描鍵盤,等待下一次命令的輸入[30]。初始化程序完成具體工作如下:1.設置PSW的RSO,RS1均為0,選擇第一組寄存器作為當前工作寄存器。2.設置堆棧指針SP=70H。3.調用LED初始化程序。4.設置30H為鍵盤輸入值存放區。5.初始化并行口通信,允許并行口中斷,允許定時器0中斷。6.轉鍵盤掃描程序系統主監控程序框圖如圖4.1所示。對AD9851進行初始化控制時,對AD9851寫入控制字。一旦設定后,AD9851將保持設定狀態不變,直到重新進行設置[31]。圖4.1系統主監控程序流程4.2鍵盤掃描模塊4.2.1鍵盤簡述單片機使用的鍵盤分為獨立式和矩陣式兩種。本系統采用矩陣式鍵盤。鍵盤采用標準4*4鍵盤,除了0~9的10個數字鍵外,還有小數點,刪除鍵和菜單鍵等。其分布圖如圖4.2所示。其結構如圖4.3所示:圖4.2矩陣式鍵盤外觀分布圖圖4.3行列式鍵盤結構圖矩陣鍵盤又稱行列式鍵盤,它是利用4條I/O線作為列線組成的鍵盤。在行線和列線的每一個交叉點上,設置一個按鍵。這樣鍵盤中的按鍵的個數就是4*4個這種行列式鍵盤結構。能夠有效地利提高單片機系統中I/O口的利用率。圖4.3為矩陣鍵盤的結構圖,行線接P0.4~P0.7,列線接P0.0~P0.3,行線另一端懸空,列線的另外一端通過上拉電阻與+5V電源相連。當某一個按鍵按下時,該鍵所連接的行線和列線接通時端口產生低電平0[32]。4.2.24*4矩陣鍵盤的編程方法(a)先讀取鍵盤的狀態,得到按鍵的特征編碼。先從P0口的高四位輸出低電平,低四位輸出高電平,從P0口的低四位讀取鍵盤狀態。再從P0口的低四位輸出低電平,高四位輸出高電平,從P0口的高四位讀取鍵盤狀態。將兩次讀取的結果結合起來就可以得到當前按鍵的特征編碼。使用上述方法我們得到16個建的特征編碼。舉例說明如何得到按鍵的特征編碼:假設2鍵被按下,找其按鍵的特征編碼。從P0口的高四位輸出低電平,即P0.4~P0.7為數輸出口,低四位輸出高電平,即P0.0~P0.3為輸入口。讀P0口的低四位狀態為1101,其值為0DH。再從P0口的高四位輸出高電平,即P0.4~P0.7為輸入口,低四位輸出低電平,即P0.0~P0.3為輸出口。讀P0口的高四位狀態為1110,其值為E0H。將兩次讀出的P0口狀態值進行邏輯或運算就得到其按鍵的特征編碼為EDH。用同樣的方法可以得到其它15個按鍵的特征編碼。(b)根據按鍵的特征編碼,查表得到按鍵的順序編碼。將用上述方法得到的16個按鍵的特征編碼按圖2按鍵排列的順序排成一張特征編碼與順序編碼的對應關系表,然后用當前讀得的特征編碼來查表,當表中有該特征編碼時,它所在的位置就是對應的順序編碼。(c)矩陣鍵盤按鍵值查找程序的具體編程這個演示程序的具體功能有:(a)識別鍵盤有無按鍵按下,若無建就返回。(b)如果有按鍵按下,找出具體的按鍵值(順序碼)。矩陣鍵盤按鍵查找程序鍵值存入30H單元KEY-SCAN:;識別鍵盤有無鍵按下子程序MOVP0,#0F0H;置列線為0,行線為1MOVA,P0;讀P0口ANLA,#0F0H;讀取高四位MOVB,A;暫存到BMOVP1,#0FH;置列線為1,行線為0MOVA,P0;讀P0口ANLA,#0FH;讀取低四位ORLA,B;將高四位與低四位邏輯或運算重新組合CJNEA,#0FFH,KEY-IN1;0FFH為無按鍵按下RETKEY-IN1:;識別具體按鍵值子程序MOVB,A;將按鍵的特征編碼暫存與BMOVDPTR,#KEYABLEMOVR3,#0FFHKEY-IN2:INCR3;順序碼加1MOVA,R3MOVCA,@A+DPTR;查表CJNEA,B,KEY-IN3;比較,若相同則找到按鍵的特征編碼MOVA,R3;找到特征編碼后,取順序碼MOV30H,A;存入30H單元RETKEY-IN3:CJNEA,#00H,KEY-IN2;未完繼續查RET;00H為結束碼;特征編碼與順序編碼的對應關系KEY-TABLE:DB0EEH,0EDH,0EBH,0E7H,0DEH;1,2,3,4,5,順序碼DB0DDH,0DBH,0D7H,0BEH,0BDH;6,7,8,9,0,順序碼DB0BBH,0B7H,07EH,07DH,07BH,077H;?,TAB,←,→,DEL,EXE,順序碼DB00H;順序碼4.3頻率控制字的送入模塊 通過單片機P1口將40位的數據傳輸AD9851,由于并行傳輸一次只能送八位,所以要通過編程分5次將其送入,其中單片機的P3.0口分別與AD9851的FQ-UD和W-CLK連接,在第一個W-CLK上升沿裝入8位數據,并把指針向下一個輸入寄存器,連續5個W-CLK上升沿后,W-CLK的邊沿就不再起作用,直到復位信號或FQ-UD上升沿把40位數據從輸入寄存器輸入道頻率、相位數據寄存器,從而更新DDS輸出頻率和相位,同時把地址指針復位到第一個數據寄存器[33]。并列傳輸程序:40位數據已存放在7FH~76H中:MOVR0,#7FH;設置計數器CLRP3.0;將W-CLK置低CLRP3.1;將FQ-UD置低MOVTOMD,#21H;定時器0,方式1MOVTH0,#0FFH;定時間隔10uSMOVTL0,#0FBHSETBTR0;啟動定時器SETBET0;開定時器0中斷SETBEA;開總體中斷AJMP¥;就地循環等待中斷T0F:CLRTR0;關閉定時器MOVTH0,#0FFH;重新賦值MOVTL0,#0FBHMOVP1,@R0;取出要傳送的八位數據DECR0;再取下一個CJNER0,#74H,LL3;判斷是否送完,75H中放的是最高8位,未送完轉到LL3SETBTR0;啟動定時器CPLP3.1;FQ-UD置高MOVR0,#7FH;循環傳送40位數據AJMPLL4LL3:SETBTR0CPLP3.0;輸出周期為20uS的脈沖CLRP3.1;保證FQ-UD為低LL4:RETI4.4數碼管顯示程序的編程方法數碼管不同位顯示的時間隔可以通過調整延時程序的延時長短來完成[34]。數碼管顯示的時間間隔也能夠確定數碼管顯示時的亮度,若顯示的時間過長,顯示時數碼管的亮度將亮些,若顯示的時間間隔短,顯示時數碼管的亮度將暗些。若顯示的時間間隔過長的話,數碼管顯示時將產生閃爍現象。所以,在調整顯示的時間間隔時,即要考慮到顯示時數碼管的亮度,又要數碼管顯示時產生閃爍現象[35]。根據要使用的數碼管的具體位置來確定掃描初值和掃描方向,根據使用數碼管的個數來確定掃描的個數。準備好要顯示的數據,放入相應的顯示單元中。5位數碼管顯示子程序;從左到右一次點亮8個數碼管DIPLAY:MOVR1,#07FH;掃描初值送入R1MOVR2,#08H;掃描位數送入R2MOVR0,#30H;開始填充顯示單元DIP1:MOVA,@R0;顯示內容送入AMOVDPTR,#TABLE;獲得表頭MOVCA,@A+DPTR;查表獲得顯示數據MOVP2,A;顯示單元數據MOVP3,R1;開始顯示當前位MOVA,R1;準備顯示下一位RRAMOVR1,AINCR0;取下一個單元地址LCALLDELAY2MS;延時2MSDJNZR2,DISPI;重復顯示下一個RET;顯示完成,返回因鍵值顯示只需用一位數碼管可將上面的顯示程序進行優化,得到下面的顯示程序鍵值顯示子程序KEY-PLAER:MOVA,30H;鍵值數據送入AMOVDPTR,#TABLE;取段碼表地址MOVCA,@A+DPTR;查顯示數據對應段碼MOVP2,A;段碼送入P0口CLRP3.7;第一個數碼管顯示CALLDELAY2MSSETBP3.7RETTABLE:DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,9

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論