雷宇婷 任 童 卿王浩 孫偉琦
(西華大學,四川 成都 610039)
在現代雷達、通信、宇航、儀表、電視廣播,遙控遙測和電子對抗等系統中,一個能在一定頻率范圍內提供一系列高準確度和高穩定度的信號頻率源有著廣泛的應用價值,同時也是眾多應用電子系統實現高性能的關鍵因素之一。隨著應用頻率和精度要求的不斷提高,傳統的晶體振蕩器直接輸出頻率不能滿足要求。
傳統的晶體振蕩器直接輸出頻率不能滿足要求,因此大量的頻率合成(FS)技術得以廣泛應用。頻率合成通過對一個或多個高穩定度和精準度的參考頻率源進行加、減、乘、除運算得到所需的頻率。頻率合成(FS)的方法按其工作模式可以分為:模擬合成和數字合成兩種;按其實現的手段可以大致分為:直接合成和鎖相環合成兩種。
由于DDS 頻率轉換速度快,頻率分辨率高,以及在頻率轉換時可保持相位的連續,易于實現多種調制功能,全數字化,可編程,易于微處理器控制,易于單片集成,體積小,價格低,功耗小,生產一致性好,因此,近30年來,隨著超大規模集成(Very Large Scale Integration,簡稱:VLSI)、復雜可編程邏輯器件(Complex Programmable Logic Device,簡稱:CPLD)、現場可編程門陣列(Field Programmable Gate Array,簡稱:FPGA)等技術的出現以及對DDS 理論的進一步探討,使得DDS 得到了飛速的發展[2]。廣泛應用于電子測量、調頻通信、電子對抗等領域。近年來,已有DDS 技術的波形發生器陸續被研制、生產和投入應用,可以說直接數字頻率合成的興起也標志著第三代頻率合成技術的形成。
設計一個DDS 信號源發生器,有頻率增(UP)和頻率減(DOWN)兩個鍵,按UP 時頻率步進增加,按DOWN時頻率步進減小,通過對電路的調節使其的頻率在可控的范圍之內按照規定的步驟進行調節來實現。要求:1.輸出信號的頻率范圍為100Hz~1500Hz,步進為100Hz。擴大輸出信號的頻率范圍為25Hz~1575Hz,步進為25Hz。2.輸出信號無明顯失真。
(1)了解相關內容,篩選并確定課程設計題目;
(2)收集相關資料,消化吸收所需要的知識;
(3)確定設計思路,整理出不同方案,分析各個方案的可行性;
(4)畫出系統的流程圖,選擇相應元器件,確定參數;
(5)按照流程圖分別設計出各個單元電路,并對相應的模塊分別測試對出現的問題進行分析,調試;
(6)將各個單元模塊連接在一起整體調試。
(1)高性能計算機;
(2)數字電路基本知識(了解并掌握可逆計數器、加法器、鎖存器、累加器等);
(3)模擬電路的基本知識;
(4)Proteus 的使用方法。
參考元器件:74LS283、74HC574、AT28C16、DAC0832/AD7520、NE5532/TL082。
通過查閱大量相關技術資料,并結合自己的實際知識,我主要提出了兩種技術方案來實現系統功能。下面我分析這兩種方案它們的特點,然后闡述我最終選擇方案的原因。
2.1.1 方案一
用單片機來控制和實現DDS 信號源的設計,用單片機和外圍開關電路作頻率控制字和相位累加器,并用單片機的輸出對ROM 進行訪問,而讀出ROM 的正弦函數表中的數據,在將ROM 中讀出的數據進行D/A 轉換,輸出模擬量,模擬量通過低通濾波器濾波后輸出隨需的正弦波。

圖1 555 時鐘脈沖電路

圖2 按鍵消抖電路
2.1.2 方案二
多諧振蕩器電路產生脈沖信號,通過不同頻率的相位累加器來查函數表ROM 來實現函數的輸出,相位累加器是以頻率控制字的大小為基準進行累加,再由相位累加器的輸出對函數表ROM 進行查表,查表所得的結果將輸出送到D/A 轉換器,經D/A 轉換器輸出梯形波形,之后經過低通濾波器進行濾波則可得到所需頻率的正弦信號波。
方案一采用89C51 單片機為核心實現,單片機處理速度使DDS 的頻率范圍非常有限,加上單片機本身端口較少,對于一個外部頻率選擇鍵盤輸入、ROM 地址查表輸出以及LED 數碼管顯示的系統來說,端口資源變得非常緊張。而且我現在也才剛開始學習單片機對單片機的一些基本知識了解的不夠。

圖3 DDS 信號源原理框圖
方案二采用 可逆計數器、加法器、鎖存器、累加器等傳統的硬件電路組合來實現,可以鍛煉我對數模電知識的掌握能力,學以致用。但是其可靠性差、靈活性小、線路復雜容易出錯、結果精確度也不高。
考慮到這次課程設計是對數模電知識及上機能力結合的一次考驗和檢測,對于方案一我現在也才剛開始學習單片機對單片機的一些基本知識了解的不夠。方案二可以鍛煉我對數模電知識的掌握能力,學以致用。我對于硬件電路組合相對比較熟悉,于是我選擇方案二。
本節主要介紹系統各單元模塊的具體功能、電路結構、工作原理、以及各個單元模塊之間的聯接關系;同時本節也會對相關電路中的參數計算、元器件選擇以及核心器件進行必要說明。
本系統主要分為四個模塊,他們分別是:頻率控制字產生電路、低通濾波電路、時鐘脈沖產生電路和消抖電路四大部分組成,各單元模塊功能及相關元器件的具體說明如下。
3.1.1 頻率控制字產生電路
使用十六進制可逆計數器74HC193 產生0~15 的頻率控制字,預置數的四個腳(15、1、10、9腳)統一置低電平(接地),預置數腳(11 腳)接高電平,計數增和計數減(5 腳和4 腳)分別接兩個按鍵,復位端(14腳)接復位電路,輸出端(3、2、6、7 腳)接到下一級電路,進位和借位端(12 腳和13 腳)不接。此電路可以通過按鍵來使輸出端產生想要的頻率關鍵字。
3.1.2 低通濾波電路
低通濾波電路因為運放輸出的信號中含有許多噪聲信號,我們可以采用低通濾波器來濾除輸出信號中的高頻分量。對D/A 轉換器輸出的階梯波S(t)進行頻譜分析可知,S(t)中除了主頻f0 外,還存在fc,2fc,兩邊的f0 處的非諧波分量,幅值包括為辛格函數。因此必須在D/A 轉換器的輸出端接頻率為fc/2 的低通濾波器,即可取出主頻f0。
3.1.3 時鐘脈沖產生電路
由555 定時器和外接元件R5、R6 和C 構成的多諧振蕩器,2 腳與6 腳直接相連,電路沒有穩態,只有兩個暫穩態,電路也不需要外加觸發信號,利用電源通過R5、R6 向電容C 充電,使電路產生震蕩,電容在1/3VCC 和2/3VCC 之間充電和放電,形成時鐘脈沖電路[3]。NE555 組成的多諧振蕩器電路產生一個時鐘信號如圖1 所示。
由于頻率要求在100HZ 到1500HZ 之間,而ROM 函數表中放了256 個正弦函數數據,故NE555 和電阻電容組成的應為頻率為25.6KHZ 的脈沖電路,此脈沖電路給74HC574 脈沖,來實現相位累加,而相位累加器中每次加的數字由計數器的輸出結果控制,故計數器的輸出結果不同,最后輸出的波形頻率也會不同,從而實現了頻率的控制則:
電路中給定C4 用陶瓷電容102,C5 用陶瓷電容103,需要的輸出方波的頻率為f=25.6KHZ,則:

需要占空比為q=50%的方波,即R6=R5

可以推得:

3.1.4 消抖電路
由于按鍵存在機械抖動,導致電平出現抖動從而使計數器的計數出現抖動跳變[4],多以需要對按鍵加上消抖電路。電阻R3、R4 以及C1、C2 來形成消抖的基本電路,電阻的阻值確定在幾百歐就可以,如圖2 所示。
DDS 的基本原理采用74HC193 可逆加減計數器,用它的輸出結果作為加法器74HC283 的一路加法項,將74H C283 的輸出結果送到寄存器74HC574,再把74HC574 的輸出結果一路送到加法器的另一路加法項,與74HC283 組成相位累加器,一路送到ROM 的地址單元對ROM 函數表進行訪問,讀出ROM 表中的函數值,將函數值送到DA0832進行D/A 轉換,是數字信號轉換模擬信號,最后經過有TL082 和電阻電容組成的低通濾波輸出正弦波。
3.2.1 DDS 基本原理
74HC193 是輸出作為頻率控制字模塊。兩片74HC283和一片74HC574 組成的部分作為相位累加器,構成相位累加器的模塊。ROM 則是存儲正弦函數,構成ROM 函數表模塊。DAC0832 則是D/A 轉換,而構成D/A 轉換模塊。TL082 和相關的電阻電容作為低通濾波器對輸出進行濾波,而構成濾波模塊,其總體設計原理方框圖如圖3 所示。

圖4 相位累加電路

圖5 E2PRM

圖6 D/A 轉換電路
圖中相位累加器可在每一個時鐘周期來臨時將頻率控制字所決定的相位增量M 累加一次,如果記數大于,則自動溢出,而只保留后面的N 位數字于累加器中。正弦查詢表ROM 用于實現從相位累加器輸出的相位值到正弦幅度值的轉換[5],然后送到DAC 中將正弦幅度值的數字量轉變為模擬量,最后通過濾波器輸出一個很純凈的正弦波信號。
由于相位累加器是N 比特的模2 加法器,正弦查詢表ROM 中存儲一個周期的正弦波幅度量化數據,所以頻率控制字M 取最小值1 時,每個2n 時鐘周期輸出一個周期的正弦波。所以此時有:

圖7 仿真結果

式中f0 為輸出信號的頻率,fc 為時鐘頻率,n 為累加器的位數。
更一般的情況,頻率控制字是m 時,每2n/m 個時鐘周期輸出一個周期的正弦波。所以此時有:

式中f0 為輸出信號的頻率,fc 為時鐘頻率,n 為累加器的位數,m 為頻率控制字。這個是DDS 系統最基本的公式之一。由此可以得出輸出信號的最小頻率(分辨率)為:

輸出信號的最大頻率為:

DAC 每信號周期輸出的最少點數為:

當 N 比較大時,對于很大范圍內的 M 值,DDS 系統都可以在一個周期內輸出足夠的點,保證輸出波形失真很小。
3.2.2 器件選擇
(1)需要產生15 個不同的頻率控制字,則選用16 可逆計數器74HC193
(2)相位累加器采用加法器與寄存器結合的方式,選用市面常用的74HC283 兩片級聯成八位加法器,寄存器選用8 為寄存器74HC574。
(3)存放正弦函數表采用可電擦除的E2PROM,本次選用AT28C64。
(4)D/A 轉化器采用市面常見的DAC0832。同時選用與DAC0832 配合使用的運算放大器TL082。
3.3.1 相位累加器及鎖存器
如圖4,此電路中的74HC283 為四位二進制超前進位全加器[6],不能滿足設計要求,可以通過兩片組合成八位加法器,如圖把U2 的進位端輸出(9 腳)接到U3 的進位輸入端(7 腳)即可。U2 的A 輸入端接上級電路的四位輸出,U3 的A 輸入端接低電平。兩片分別四位輸出組合成八位輸出接到八位寄存器74HC574 的輸入端,再從寄存器的八位輸出端反接回來到U2 和U3 的B 輸入端,這樣就形成了相位累加的過其中可以通過寄存器74HC574 的時鐘控制端(11腳)的頻率來控制累加的快慢。此時可以在寄存器的輸出端的各個管腳上測得不同頻率的方波。

圖8
3.3.2 正弦函數表
ROM 中存放的是正弦函數的數據表,由前面的相位累加器的輸出的一路送給了ROM,每一個脈沖對ROM 進行一次訪問,并完成一次輸出,其輸出為數字量,這些數字量的不同組成了正弦函數表,其函數表內存放了256 個正弦函數點,這些點是按照一個周期內正弦波平分成256 個角度計算得出。利用編碼器在存儲器芯片里燒制程序。所燒制的程序不同,產生的波形好壞有分,選取盡可能多的點采樣。輸出的波形就會越好[7]。
查表法指的是將0 到90 度對應的正弦值存儲到內存中,當輸入角度后,程序按照用戶輸入的角度查找表中相應的正弦值。由于輸出頻率范圍100HZ~1500HZ,且進步為100HZ,再由前面的相位累加器的位寬為8 位,即A=8,所以應該將一個周期的正弦波分解成28 個點,即256。28C64存儲芯片中存放了256 個點,28C64 的輸出是8 位的數字量,即原理框圖中的D=8,這8 位數字表示的是ROM 中存放的數據被訪問時的輸出大小,設D 為離散正弦函數值,則這些點的計算步驟如下:

存放正弦函數表的器件選擇可電擦除的E2PROM[8],它為存儲容量:64 KB。共十六位輸入,去其低八位作為相位尋址線,共給片內寫入256 個正弦函數點供氣查詢輸出。其他腳接低電平。
3.3.3 運用D/A 轉換器
如圖6,D/A 轉換選擇的是通用的DAC0832,并采用其經典接法與運放相接,其中八位數字量輸入端接上級E2PROM 的八位輸出,IOUT1 和IOUT2 接運算放大器將電流量轉換成電壓量,最終從運放的1 腳輸出。D/A 轉換器的作用是把合成的正弦數字量轉換成模擬量。正弦幅度S(n)經過D/A 轉換器后變為包絡為正弦波的階梯波S(t)。需要注意的是,器對D/A 轉換器的分辨率有一定的要求,D/A 轉換器的分辨率越高,合S(t)臺階數就越多,輸出的波形精確度就越高。最后可以測得正弦波。
運用計算機使用Proteus 對電路進行了仿真調試即仿真軟件的介紹。
Proteus 軟件是Lab Center Electronics 公司出版的EDA工具軟件,不僅具有其它EDA 工具軟件的仿真功能,還能仿真單片機及外圍器件。它是比較好的仿真單片機及外圍器件的工具。雖然國內推廣剛起步,但已受到單片機愛好者、從事單片機教學的教師、致力于單片機開發應用的科技工作者的青睞。
Proteus 軟件具有其它EDA 工具軟件(例:multisim)的功能。這些功能是:原理布圖、PCB 自動或人工布線和SPICE 電路仿真,在其繪制好原理圖后,調入已編譯好的目標代碼文件:*.HEX,可以在其的原理圖中看到模擬的實物運行狀態和過程。是單片機課堂教學的先進助手。不僅可將許多單片機實例功能形象化,也可將許多單片機實例運行過程形象化。前者可在相當程度上得到實物演示實驗的效果,后者則是實物演示實驗難以達到的效果。它的元器件、連接線路等卻和傳統的單片機實驗硬件高度對應。這在相當程度上替代了傳統的單片機實驗教學的功能,例:元器件選擇、電路連接、電路檢測、電路修改、軟件調試、運行結果等。課程設計、畢業設計是學生走向就業的重要實踐環節。由于其提供了實驗室無法相比的大量的元器件庫,提供了修改電路設計的靈活性、提供了實驗室在數量、質量上難以相比的虛擬儀器、儀表,因而也提供了培養學生實踐精神、創造精神的平臺。隨著科技的發展,“計算機仿真技術”已成為許多設計部門重要的前期設計手段。它具有設計靈活,結果、過程的統一的特點。可使設計時間大為縮短、耗資大為減少,也可降低工程制造的風險。相信在單片機開發應用中Proteus 也能茯得愈來愈廣泛的應用。
使用Proteus 軟件進行單片機系統仿真設計,是虛擬仿真技術和計算機多媒體技術相結合的綜合運用,有利于培養學生的電路設計能力及仿真軟件的操作能力;在單片機課程設計和全國大學生電子設計競賽中,我們使用 Proteus開發環境對學生進行培訓,在不需要硬件投入的條件下,學生普遍反映,對單片機的學習比單純學習書本知識更容易接受,更容易提高。實踐證明,在使用 Proteus 進行系統仿真開發成功之后再進行實際制作,能極大提高單片機系統設計效率。因此,Proteus 有較高的推廣利用價值。
4.2.1 運用Proteus 仿真
在Proteus 中的仿真結果如圖7 所示,由上圖結果顯示說明了方案三的可行性和正確性,且也說明數字直接合成技術在信號源的設計上可以使用。仿真結果說明用可逆計數器頻率控制字,用加法器和鎖存器及脈沖電路構成的相位累加器,用ROM 和后面的D/A 轉換電路及濾波電路作為輸出部分來實現DDS 信號源的設計是可行的。
(1)輸出的最低頻率可以達到100KZ,最該頻率可以達到1500HZ,它們的幅度可在2.5v-3v 之間。
(2)頻率的步進為100HZ 當UP 鍵按下時頻率加100HZ,當DOWN 鍵按下時頻率減100HZ,復位鍵按下時頻率為0HZ。
(3)電路實測效果良好,達到設計要求,輸出的波形無明顯的失真
4.2.2 注意事項
輸出的波形無明顯的失真,但輸出的波形會有一點毛刺現象,以及在頻率范圍內,頻率的穩定度比較低,而且頻率較大時會出現失真現象,這與取樣點的選取有關,而且制作的脈沖電路產生的頻率也不是很穩定,而使得輸出頻率會有微小的波動,但可以忽略。
這個設計方案原理比較簡單,元器件不太多,實現起來也不算太難。布線如果位置不合適會對系統產生干擾。從仿真到實物制作過程中,遇到了很多問題,這些問題也說明了僅僅依靠仿真結果是不可靠的,我們應該通過實物的制作來查找仿真與實際中間的差距以及一些系統因素、人為因素等,來檢驗設計思路的正確性和完善性。該電路PCB 圖如圖8 所示。
多諧振蕩器電路產生脈沖信號,通過不同頻率的相位累加器來查函數表ROM 來實現函數的輸出,相位累加器是以頻率控制字的大小為基準進行累加,再由相位累加器的輸出對函數表ROM 進行查表,查表所得的結果將輸出送到D/A 轉換器,經D/A 轉換器輸出梯形波形,之后經過低通濾波器進行濾波則可得到所需頻率的正弦信號波。
本次課程設計選用8 位的相位寄存器,即N 取8。則可以算出響應的參數:

頻率控制字為從1~15。
系統結果說明用可逆計數器頻率控制字,用加法器和鎖存器及脈沖電路構成的相位累加器,用ROM 和后面的D/A轉換電路及濾波電路作為輸出部分來基本實現DDS 信號源的設計是可以的。