雷宇婷 任 童 卿王浩 孫偉琦
(西華大學,四川 成都 610039)
在現(xiàn)代雷達、通信、宇航、儀表、電視廣播,遙控遙測和電子對抗等系統(tǒng)中,一個能在一定頻率范圍內(nèi)提供一系列高準確度和高穩(wěn)定度的信號頻率源有著廣泛的應(yīng)用價值,同時也是眾多應(yīng)用電子系統(tǒng)實現(xiàn)高性能的關(guān)鍵因素之一。隨著應(yīng)用頻率和精度要求的不斷提高,傳統(tǒng)的晶體振蕩器直接輸出頻率不能滿足要求。
傳統(tǒng)的晶體振蕩器直接輸出頻率不能滿足要求,因此大量的頻率合成(FS)技術(shù)得以廣泛應(yīng)用。頻率合成通過對一個或多個高穩(wěn)定度和精準度的參考頻率源進行加、減、乘、除運算得到所需的頻率。頻率合成(FS)的方法按其工作模式可以分為:模擬合成和數(shù)字合成兩種;按其實現(xiàn)的手段可以大致分為:直接合成和鎖相環(huán)合成兩種。
由于DDS 頻率轉(zhuǎn)換速度快,頻率分辨率高,以及在頻率轉(zhuǎn)換時可保持相位的連續(xù),易于實現(xiàn)多種調(diào)制功能,全數(shù)字化,可編程,易于微處理器控制,易于單片集成,體積小,價格低,功耗小,生產(chǎn)一致性好,因此,近30年來,隨著超大規(guī)模集成(Very Large Scale Integration,簡稱:VLSI)、復(fù)雜可編程邏輯器件(Complex Programmable Logic Device,簡稱:CPLD)、現(xiàn)場可編程門陣列(Field Programmable Gate Array,簡稱:FPGA)等技術(shù)的出現(xiàn)以及對DDS 理論的進一步探討,使得DDS 得到了飛速的發(fā)展[2]。廣泛應(yīng)用于電子測量、調(diào)頻通信、電子對抗等領(lǐng)域。近年來,已有DDS 技術(shù)的波形發(fā)生器陸續(xù)被研制、生產(chǎn)和投入應(yīng)用,可以說直接數(shù)字頻率合成的興起也標志著第三代頻率合成技術(shù)的形成。
設(shè)計一個DDS 信號源發(fā)生器,有頻率增(UP)和頻率減(DOWN)兩個鍵,按UP 時頻率步進增加,按DOWN時頻率步進減小,通過對電路的調(diào)節(jié)使其的頻率在可控的范圍之內(nèi)按照規(guī)定的步驟進行調(diào)節(jié)來實現(xiàn)。要求:1.輸出信號的頻率范圍為100Hz~1500Hz,步進為100Hz。擴大輸出信號的頻率范圍為25Hz~1575Hz,步進為25Hz。2.輸出信號無明顯失真。
(1)了解相關(guān)內(nèi)容,篩選并確定課程設(shè)計題目;
(2)收集相關(guān)資料,消化吸收所需要的知識;
(3)確定設(shè)計思路,整理出不同方案,分析各個方案的可行性;
(4)畫出系統(tǒng)的流程圖,選擇相應(yīng)元器件,確定參數(shù);
(5)按照流程圖分別設(shè)計出各個單元電路,并對相應(yīng)的模塊分別測試對出現(xiàn)的問題進行分析,調(diào)試;
(6)將各個單元模塊連接在一起整體調(diào)試。
(1)高性能計算機;
(2)數(shù)字電路基本知識(了解并掌握可逆計數(shù)器、加法器、鎖存器、累加器等);
(3)模擬電路的基本知識;
(4)Proteus 的使用方法。
參考元器件:74LS283、74HC574、AT28C16、DAC0832/AD7520、NE5532/TL082。
通過查閱大量相關(guān)技術(shù)資料,并結(jié)合自己的實際知識,我主要提出了兩種技術(shù)方案來實現(xiàn)系統(tǒng)功能。下面我分析這兩種方案它們的特點,然后闡述我最終選擇方案的原因。
2.1.1 方案一
用單片機來控制和實現(xiàn)DDS 信號源的設(shè)計,用單片機和外圍開關(guān)電路作頻率控制字和相位累加器,并用單片機的輸出對ROM 進行訪問,而讀出ROM 的正弦函數(shù)表中的數(shù)據(jù),在將ROM 中讀出的數(shù)據(jù)進行D/A 轉(zhuǎn)換,輸出模擬量,模擬量通過低通濾波器濾波后輸出隨需的正弦波。
圖1 555 時鐘脈沖電路
圖2 按鍵消抖電路
2.1.2 方案二
多諧振蕩器電路產(chǎn)生脈沖信號,通過不同頻率的相位累加器來查函數(shù)表ROM 來實現(xiàn)函數(shù)的輸出,相位累加器是以頻率控制字的大小為基準進行累加,再由相位累加器的輸出對函數(shù)表ROM 進行查表,查表所得的結(jié)果將輸出送到D/A 轉(zhuǎn)換器,經(jīng)D/A 轉(zhuǎn)換器輸出梯形波形,之后經(jīng)過低通濾波器進行濾波則可得到所需頻率的正弦信號波。
方案一采用89C51 單片機為核心實現(xiàn),單片機處理速度使DDS 的頻率范圍非常有限,加上單片機本身端口較少,對于一個外部頻率選擇鍵盤輸入、ROM 地址查表輸出以及LED 數(shù)碼管顯示的系統(tǒng)來說,端口資源變得非常緊張。而且我現(xiàn)在也才剛開始學習單片機對單片機的一些基本知識了解的不夠。
圖3 DDS 信號源原理框圖
方案二采用 可逆計數(shù)器、加法器、鎖存器、累加器等傳統(tǒng)的硬件電路組合來實現(xiàn),可以鍛煉我對數(shù)模電知識的掌握能力,學以致用。但是其可靠性差、靈活性小、線路復(fù)雜容易出錯、結(jié)果精確度也不高。
考慮到這次課程設(shè)計是對數(shù)模電知識及上機能力結(jié)合的一次考驗和檢測,對于方案一我現(xiàn)在也才剛開始學習單片機對單片機的一些基本知識了解的不夠。方案二可以鍛煉我對數(shù)模電知識的掌握能力,學以致用。我對于硬件電路組合相對比較熟悉,于是我選擇方案二。
本節(jié)主要介紹系統(tǒng)各單元模塊的具體功能、電路結(jié)構(gòu)、工作原理、以及各個單元模塊之間的聯(lián)接關(guān)系;同時本節(jié)也會對相關(guān)電路中的參數(shù)計算、元器件選擇以及核心器件進行必要說明。
本系統(tǒng)主要分為四個模塊,他們分別是:頻率控制字產(chǎn)生電路、低通濾波電路、時鐘脈沖產(chǎn)生電路和消抖電路四大部分組成,各單元模塊功能及相關(guān)元器件的具體說明如下。
3.1.1 頻率控制字產(chǎn)生電路
使用十六進制可逆計數(shù)器74HC193 產(chǎn)生0~15 的頻率控制字,預(yù)置數(shù)的四個腳(15、1、10、9腳)統(tǒng)一置低電平(接地),預(yù)置數(shù)腳(11 腳)接高電平,計數(shù)增和計數(shù)減(5 腳和4 腳)分別接兩個按鍵,復(fù)位端(14腳)接復(fù)位電路,輸出端(3、2、6、7 腳)接到下一級電路,進位和借位端(12 腳和13 腳)不接。此電路可以通過按鍵來使輸出端產(chǎn)生想要的頻率關(guān)鍵字。
3.1.2 低通濾波電路
低通濾波電路因為運放輸出的信號中含有許多噪聲信號,我們可以采用低通濾波器來濾除輸出信號中的高頻分量。對D/A 轉(zhuǎn)換器輸出的階梯波S(t)進行頻譜分析可知,S(t)中除了主頻f0 外,還存在fc,2fc,兩邊的f0 處的非諧波分量,幅值包括為辛格函數(shù)。因此必須在D/A 轉(zhuǎn)換器的輸出端接頻率為fc/2 的低通濾波器,即可取出主頻f0。
3.1.3 時鐘脈沖產(chǎn)生電路
由555 定時器和外接元件R5、R6 和C 構(gòu)成的多諧振蕩器,2 腳與6 腳直接相連,電路沒有穩(wěn)態(tài),只有兩個暫穩(wěn)態(tài),電路也不需要外加觸發(fā)信號,利用電源通過R5、R6 向電容C 充電,使電路產(chǎn)生震蕩,電容在1/3VCC 和2/3VCC 之間充電和放電,形成時鐘脈沖電路[3]。NE555 組成的多諧振蕩器電路產(chǎn)生一個時鐘信號如圖1 所示。
由于頻率要求在100HZ 到1500HZ 之間,而ROM 函數(shù)表中放了256 個正弦函數(shù)數(shù)據(jù),故NE555 和電阻電容組成的應(yīng)為頻率為25.6KHZ 的脈沖電路,此脈沖電路給74HC574 脈沖,來實現(xiàn)相位累加,而相位累加器中每次加的數(shù)字由計數(shù)器的輸出結(jié)果控制,故計數(shù)器的輸出結(jié)果不同,最后輸出的波形頻率也會不同,從而實現(xiàn)了頻率的控制則:
電路中給定C4 用陶瓷電容102,C5 用陶瓷電容103,需要的輸出方波的頻率為f=25.6KHZ,則:
需要占空比為q=50%的方波,即R6=R5
可以推得:
3.1.4 消抖電路
由于按鍵存在機械抖動,導致電平出現(xiàn)抖動從而使計數(shù)器的計數(shù)出現(xiàn)抖動跳變[4],多以需要對按鍵加上消抖電路。電阻R3、R4 以及C1、C2 來形成消抖的基本電路,電阻的阻值確定在幾百歐就可以,如圖2 所示。
DDS 的基本原理采用74HC193 可逆加減計數(shù)器,用它的輸出結(jié)果作為加法器74HC283 的一路加法項,將74H C283 的輸出結(jié)果送到寄存器74HC574,再把74HC574 的輸出結(jié)果一路送到加法器的另一路加法項,與74HC283 組成相位累加器,一路送到ROM 的地址單元對ROM 函數(shù)表進行訪問,讀出ROM 表中的函數(shù)值,將函數(shù)值送到DA0832進行D/A 轉(zhuǎn)換,是數(shù)字信號轉(zhuǎn)換模擬信號,最后經(jīng)過有TL082 和電阻電容組成的低通濾波輸出正弦波。
3.2.1 DDS 基本原理
74HC193 是輸出作為頻率控制字模塊。兩片74HC283和一片74HC574 組成的部分作為相位累加器,構(gòu)成相位累加器的模塊。ROM 則是存儲正弦函數(shù),構(gòu)成ROM 函數(shù)表模塊。DAC0832 則是D/A 轉(zhuǎn)換,而構(gòu)成D/A 轉(zhuǎn)換模塊。TL082 和相關(guān)的電阻電容作為低通濾波器對輸出進行濾波,而構(gòu)成濾波模塊,其總體設(shè)計原理方框圖如圖3 所示。
圖4 相位累加電路
圖5 E2PRM
圖6 D/A 轉(zhuǎn)換電路
圖中相位累加器可在每一個時鐘周期來臨時將頻率控制字所決定的相位增量M 累加一次,如果記數(shù)大于,則自動溢出,而只保留后面的N 位數(shù)字于累加器中。正弦查詢表ROM 用于實現(xiàn)從相位累加器輸出的相位值到正弦幅度值的轉(zhuǎn)換[5],然后送到DAC 中將正弦幅度值的數(shù)字量轉(zhuǎn)變?yōu)槟M量,最后通過濾波器輸出一個很純凈的正弦波信號。
由于相位累加器是N 比特的模2 加法器,正弦查詢表ROM 中存儲一個周期的正弦波幅度量化數(shù)據(jù),所以頻率控制字M 取最小值1 時,每個2n 時鐘周期輸出一個周期的正弦波。所以此時有:
圖7 仿真結(jié)果
式中f0 為輸出信號的頻率,fc 為時鐘頻率,n 為累加器的位數(shù)。
更一般的情況,頻率控制字是m 時,每2n/m 個時鐘周期輸出一個周期的正弦波。所以此時有:
式中f0 為輸出信號的頻率,fc 為時鐘頻率,n 為累加器的位數(shù),m 為頻率控制字。這個是DDS 系統(tǒng)最基本的公式之一。由此可以得出輸出信號的最小頻率(分辨率)為:
輸出信號的最大頻率為:
DAC 每信號周期輸出的最少點數(shù)為:
當 N 比較大時,對于很大范圍內(nèi)的 M 值,DDS 系統(tǒng)都可以在一個周期內(nèi)輸出足夠的點,保證輸出波形失真很小。
3.2.2 器件選擇
(1)需要產(chǎn)生15 個不同的頻率控制字,則選用16 可逆計數(shù)器74HC193
(2)相位累加器采用加法器與寄存器結(jié)合的方式,選用市面常用的74HC283 兩片級聯(lián)成八位加法器,寄存器選用8 為寄存器74HC574。
(3)存放正弦函數(shù)表采用可電擦除的E2PROM,本次選用AT28C64。
(4)D/A 轉(zhuǎn)化器采用市面常見的DAC0832。同時選用與DAC0832 配合使用的運算放大器TL082。
3.3.1 相位累加器及鎖存器
如圖4,此電路中的74HC283 為四位二進制超前進位全加器[6],不能滿足設(shè)計要求,可以通過兩片組合成八位加法器,如圖把U2 的進位端輸出(9 腳)接到U3 的進位輸入端(7 腳)即可。U2 的A 輸入端接上級電路的四位輸出,U3 的A 輸入端接低電平。兩片分別四位輸出組合成八位輸出接到八位寄存器74HC574 的輸入端,再從寄存器的八位輸出端反接回來到U2 和U3 的B 輸入端,這樣就形成了相位累加的過其中可以通過寄存器74HC574 的時鐘控制端(11腳)的頻率來控制累加的快慢。此時可以在寄存器的輸出端的各個管腳上測得不同頻率的方波。
圖8
3.3.2 正弦函數(shù)表
ROM 中存放的是正弦函數(shù)的數(shù)據(jù)表,由前面的相位累加器的輸出的一路送給了ROM,每一個脈沖對ROM 進行一次訪問,并完成一次輸出,其輸出為數(shù)字量,這些數(shù)字量的不同組成了正弦函數(shù)表,其函數(shù)表內(nèi)存放了256 個正弦函數(shù)點,這些點是按照一個周期內(nèi)正弦波平分成256 個角度計算得出。利用編碼器在存儲器芯片里燒制程序。所燒制的程序不同,產(chǎn)生的波形好壞有分,選取盡可能多的點采樣。輸出的波形就會越好[7]。
查表法指的是將0 到90 度對應(yīng)的正弦值存儲到內(nèi)存中,當輸入角度后,程序按照用戶輸入的角度查找表中相應(yīng)的正弦值。由于輸出頻率范圍100HZ~1500HZ,且進步為100HZ,再由前面的相位累加器的位寬為8 位,即A=8,所以應(yīng)該將一個周期的正弦波分解成28 個點,即256。28C64存儲芯片中存放了256 個點,28C64 的輸出是8 位的數(shù)字量,即原理框圖中的D=8,這8 位數(shù)字表示的是ROM 中存放的數(shù)據(jù)被訪問時的輸出大小,設(shè)D 為離散正弦函數(shù)值,則這些點的計算步驟如下:
存放正弦函數(shù)表的器件選擇可電擦除的E2PROM[8],它為存儲容量:64 KB。共十六位輸入,去其低八位作為相位尋址線,共給片內(nèi)寫入256 個正弦函數(shù)點供氣查詢輸出。其他腳接低電平。
3.3.3 運用D/A 轉(zhuǎn)換器
如圖6,D/A 轉(zhuǎn)換選擇的是通用的DAC0832,并采用其經(jīng)典接法與運放相接,其中八位數(shù)字量輸入端接上級E2PROM 的八位輸出,IOUT1 和IOUT2 接運算放大器將電流量轉(zhuǎn)換成電壓量,最終從運放的1 腳輸出。D/A 轉(zhuǎn)換器的作用是把合成的正弦數(shù)字量轉(zhuǎn)換成模擬量。正弦幅度S(n)經(jīng)過D/A 轉(zhuǎn)換器后變?yōu)榘j(luò)為正弦波的階梯波S(t)。需要注意的是,器對D/A 轉(zhuǎn)換器的分辨率有一定的要求,D/A 轉(zhuǎn)換器的分辨率越高,合S(t)臺階數(shù)就越多,輸出的波形精確度就越高。最后可以測得正弦波。
運用計算機使用Proteus 對電路進行了仿真調(diào)試即仿真軟件的介紹。
Proteus 軟件是Lab Center Electronics 公司出版的EDA工具軟件,不僅具有其它EDA 工具軟件的仿真功能,還能仿真單片機及外圍器件。它是比較好的仿真單片機及外圍器件的工具。雖然國內(nèi)推廣剛起步,但已受到單片機愛好者、從事單片機教學的教師、致力于單片機開發(fā)應(yīng)用的科技工作者的青睞。
Proteus 軟件具有其它EDA 工具軟件(例:multisim)的功能。這些功能是:原理布圖、PCB 自動或人工布線和SPICE 電路仿真,在其繪制好原理圖后,調(diào)入已編譯好的目標代碼文件:*.HEX,可以在其的原理圖中看到模擬的實物運行狀態(tài)和過程。是單片機課堂教學的先進助手。不僅可將許多單片機實例功能形象化,也可將許多單片機實例運行過程形象化。前者可在相當程度上得到實物演示實驗的效果,后者則是實物演示實驗難以達到的效果。它的元器件、連接線路等卻和傳統(tǒng)的單片機實驗硬件高度對應(yīng)。這在相當程度上替代了傳統(tǒng)的單片機實驗教學的功能,例:元器件選擇、電路連接、電路檢測、電路修改、軟件調(diào)試、運行結(jié)果等。課程設(shè)計、畢業(yè)設(shè)計是學生走向就業(yè)的重要實踐環(huán)節(jié)。由于其提供了實驗室無法相比的大量的元器件庫,提供了修改電路設(shè)計的靈活性、提供了實驗室在數(shù)量、質(zhì)量上難以相比的虛擬儀器、儀表,因而也提供了培養(yǎng)學生實踐精神、創(chuàng)造精神的平臺。隨著科技的發(fā)展,“計算機仿真技術(shù)”已成為許多設(shè)計部門重要的前期設(shè)計手段。它具有設(shè)計靈活,結(jié)果、過程的統(tǒng)一的特點。可使設(shè)計時間大為縮短、耗資大為減少,也可降低工程制造的風險。相信在單片機開發(fā)應(yīng)用中Proteus 也能茯得愈來愈廣泛的應(yīng)用。
使用Proteus 軟件進行單片機系統(tǒng)仿真設(shè)計,是虛擬仿真技術(shù)和計算機多媒體技術(shù)相結(jié)合的綜合運用,有利于培養(yǎng)學生的電路設(shè)計能力及仿真軟件的操作能力;在單片機課程設(shè)計和全國大學生電子設(shè)計競賽中,我們使用 Proteus開發(fā)環(huán)境對學生進行培訓,在不需要硬件投入的條件下,學生普遍反映,對單片機的學習比單純學習書本知識更容易接受,更容易提高。實踐證明,在使用 Proteus 進行系統(tǒng)仿真開發(fā)成功之后再進行實際制作,能極大提高單片機系統(tǒng)設(shè)計效率。因此,Proteus 有較高的推廣利用價值。
4.2.1 運用Proteus 仿真
在Proteus 中的仿真結(jié)果如圖7 所示,由上圖結(jié)果顯示說明了方案三的可行性和正確性,且也說明數(shù)字直接合成技術(shù)在信號源的設(shè)計上可以使用。仿真結(jié)果說明用可逆計數(shù)器頻率控制字,用加法器和鎖存器及脈沖電路構(gòu)成的相位累加器,用ROM 和后面的D/A 轉(zhuǎn)換電路及濾波電路作為輸出部分來實現(xiàn)DDS 信號源的設(shè)計是可行的。
(1)輸出的最低頻率可以達到100KZ,最該頻率可以達到1500HZ,它們的幅度可在2.5v-3v 之間。
(2)頻率的步進為100HZ 當UP 鍵按下時頻率加100HZ,當DOWN 鍵按下時頻率減100HZ,復(fù)位鍵按下時頻率為0HZ。
(3)電路實測效果良好,達到設(shè)計要求,輸出的波形無明顯的失真
4.2.2 注意事項
輸出的波形無明顯的失真,但輸出的波形會有一點毛刺現(xiàn)象,以及在頻率范圍內(nèi),頻率的穩(wěn)定度比較低,而且頻率較大時會出現(xiàn)失真現(xiàn)象,這與取樣點的選取有關(guān),而且制作的脈沖電路產(chǎn)生的頻率也不是很穩(wěn)定,而使得輸出頻率會有微小的波動,但可以忽略。
這個設(shè)計方案原理比較簡單,元器件不太多,實現(xiàn)起來也不算太難。布線如果位置不合適會對系統(tǒng)產(chǎn)生干擾。從仿真到實物制作過程中,遇到了很多問題,這些問題也說明了僅僅依靠仿真結(jié)果是不可靠的,我們應(yīng)該通過實物的制作來查找仿真與實際中間的差距以及一些系統(tǒng)因素、人為因素等,來檢驗設(shè)計思路的正確性和完善性。該電路PCB 圖如圖8 所示。
多諧振蕩器電路產(chǎn)生脈沖信號,通過不同頻率的相位累加器來查函數(shù)表ROM 來實現(xiàn)函數(shù)的輸出,相位累加器是以頻率控制字的大小為基準進行累加,再由相位累加器的輸出對函數(shù)表ROM 進行查表,查表所得的結(jié)果將輸出送到D/A 轉(zhuǎn)換器,經(jīng)D/A 轉(zhuǎn)換器輸出梯形波形,之后經(jīng)過低通濾波器進行濾波則可得到所需頻率的正弦信號波。
本次課程設(shè)計選用8 位的相位寄存器,即N 取8。則可以算出響應(yīng)的參數(shù):
頻率控制字為從1~15。
系統(tǒng)結(jié)果說明用可逆計數(shù)器頻率控制字,用加法器和鎖存器及脈沖電路構(gòu)成的相位累加器,用ROM 和后面的D/A轉(zhuǎn)換電路及濾波電路作為輸出部分來基本實現(xiàn)DDS 信號源的設(shè)計是可以的。