數(shù)字式移相信號發(fā)生器的設計_第1頁
數(shù)字式移相信號發(fā)生器的設計_第2頁
數(shù)字式移相信號發(fā)生器的設計_第3頁
數(shù)字式移相信號發(fā)生器的設計_第4頁
數(shù)字式移相信號發(fā)生器的設計_第5頁
已閱讀5頁,還剩154頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第第4章章 數(shù)字式移相信號發(fā)生器的設計數(shù)字式移相信號發(fā)生器的設計第第4章章 數(shù)字式移相信號發(fā)生器的設計數(shù)字式移相信號發(fā)生器的設計4.1 設計任務設計任務4.2 設計方案論證設計方案論證4.3 系統(tǒng)硬件設計系統(tǒng)硬件設計4.4 系統(tǒng)軟件設計系統(tǒng)軟件設計4.5 系統(tǒng)設計總結系統(tǒng)設計總結第第4章章 數(shù)字式移相信號發(fā)生器的設計數(shù)字式移相信號發(fā)生器的設計4.1 4.1 設計任務設計任務設計一個數(shù)字式移相信號發(fā)生器,示意圖如圖4.1所示,設計基本要求如下: (1) 頻率范圍:20 Hz20 kHz,頻率步進為20 Hz,輸出頻率可預置。(2) A、B輸出的正弦信號峰峰值可分別在0.35 V范圍內變化。(3)

2、 相位差范圍為0359,相位差步進為1,相位差值可預置。(4) 數(shù)字顯示預置的頻率和相位差值。第第4章章 數(shù)字式移相信號發(fā)生器的設計數(shù)字式移相信號發(fā)生器的設計圖4.1 數(shù)字式移相信號發(fā)生器第第4章章 數(shù)字式移相信號發(fā)生器的設計數(shù)字式移相信號發(fā)生器的設計 4.2 4.2 設計方案論證設計方案論證4.2.1 方案1以MCU為核心的實現(xiàn)方案波形的生成及對頻率和相位的控制均由單片機編程實現(xiàn)。波形生成程序生成正弦波信號在一個周期內的波形數(shù)據(jù),這些數(shù)據(jù)循環(huán)輸出至D/A轉換器,通過在輸出數(shù)據(jù)指令之間插入NOP指令實現(xiàn)對頻率的控制,原理框圖如圖4.2所示。第第4章章 數(shù)字式移相信號發(fā)生器的設計數(shù)字式移相信號發(fā)

3、生器的設計圖4.2 以MCU為核心的實現(xiàn)方案原理框圖單片機D / A濾波器幅度控制正弦波信號輸出AD / A濾波器幅度控制正弦波信號輸出B第第4章章 數(shù)字式移相信號發(fā)生器的設計數(shù)字式移相信號發(fā)生器的設計此方法產生的信號頻率范圍、步進值取決于所采用的每個周期的輸出點數(shù)及單片機執(zhí)行指令的時間(與單片機的結構及選用的晶體振蕩頻率等有關)。此方案的優(yōu)點是硬件電路簡單,所用器件少,可相對容易地產生各種波形,在低頻區(qū)基本上能實現(xiàn)所要求的功能;缺點是控制較復雜,精度不易滿足,生成波形的頻率范圍小,特別是難以生成高頻波形。例如,對輸出信號頻率fmax=20 kHz而言,因為移相分辨率為1,則一個周期至少要采樣

4、360個點,即MCU發(fā)送波形幅度數(shù)據(jù)的速度fcp fmax360即fcp7.2 MHz,則前后發(fā)送2個波形幅度數(shù)據(jù)的時間間隔Tmax0.1388 s,但是MCU的指令執(zhí)行周期一般有幾個s,從而MCU發(fā)送信號一個周期的波形數(shù)據(jù)一般要幾十個s。故以MCU為核心的實現(xiàn)方案難以產生高頻波形。第第4章章 數(shù)字式移相信號發(fā)生器的設計數(shù)字式移相信號發(fā)生器的設計4.2.2 方案2MCU與FPGA相結合的實現(xiàn)方案該方案采用DDS(Direct Digital Synthesis,直接數(shù)字頻率合成)技術產生數(shù)字式移相正弦波信號。信號生成主要由FPGA部分實現(xiàn),F(xiàn)PGA部分主要包括相位累加器和波形查找表(波形查找表

5、也可以由FPGA外部的存儲器實現(xiàn))。該方案利用單片機(MCU)作為控制芯片,由MCU產生頻率控制字和相位控制字并送給FPGA。這樣,需要高速運行的電路均由FPGA實現(xiàn),大大減輕了對MCU速度的要求。由此可見,該實現(xiàn)方案更具有可行性,而且能很好地體現(xiàn)技術的先進性。1. 系統(tǒng)框圖采用MCU和FPGA相結合的方案的整體系統(tǒng)框圖如圖4.3所示。 第第4章章 數(shù)字式移相信號發(fā)生器的設計數(shù)字式移相信號發(fā)生器的設計圖4.3 采用MCU與FPGA相結合的實現(xiàn)方案原理框圖(a)波形查找表在FPGA內部; (b)波形查找表在FPGA外部濾波、穩(wěn)幅、調壓輸出D / A濾波、穩(wěn)幅、調壓輸出D / AFPGAMCUAT

6、89C51鍵盤顯示(a)濾波、穩(wěn)幅、調壓輸出D / A濾波、穩(wěn)幅、調壓輸出D / A波形存儲器MCU鍵盤顯示(b)波形存儲器FPGA第第4章章 數(shù)字式移相信號發(fā)生器的設計數(shù)字式移相信號發(fā)生器的設計2. 系統(tǒng)功能劃分在本系統(tǒng)中,單片機主要用來實現(xiàn)輸出信號的頻率和相位差的設置,輸出信號的頻率和相位差的顯示,向FPGA提供頻率控制字和相位控制字; FPG主要用來實現(xiàn)DDS技術。系統(tǒng)中,除了單片機和FPGA以外,還有波形查找表電路、模/數(shù)轉換電路、低通濾波器電路、信號穩(wěn)幅輸出及幅度調節(jié)電路、直流穩(wěn)壓電源電路等。 第第4章章 數(shù)字式移相信號發(fā)生器的設計數(shù)字式移相信號發(fā)生器的設計 4.3 4.3 系統(tǒng)硬件

7、設計系統(tǒng)硬件設計4.3.1 DDS設計技術1. DDS技術的發(fā)展歷史1971年,美國學者J.Tierncy、C.M.Rader和B.Gold提出了以全數(shù)字技術從相位概念出發(fā)直接合成所需波形的一種新的頻率合成原理。隨著電子技術的發(fā)展和水平的提高,一種新的頻率合成技術直接數(shù)字頻率合成(DDS,Direct Digital Synthesis)技術得到了飛速發(fā)展。DDS技術是一種把一系列數(shù)字形式的信號通過D/A轉換而成模擬形式的信號合成技術,目前使用最廣泛的一種DDS方式是利用高速存儲器作查找表,然后通過高速D/A轉換輸出已經用數(shù)字形式存入存儲器的正弦波。第第4章章 數(shù)字式移相信號發(fā)生器的設計數(shù)字式

8、移相信號發(fā)生器的設計DDS技術具有輸出信號頻率切換時間短,輸出信號頻率穩(wěn)定度高,輸出信號的頻率和初相位可以快速程控切換,輸出相位可連續(xù)改變,可編程以及靈活性大等優(yōu)點,它以有別于其他頻率合成方法的優(yōu)越性能和特點成為現(xiàn)代頻率合成技術中的佼佼者。DDS廣泛用于接收機本振、信號發(fā)生器、儀器儀表、通信系統(tǒng)、雷達系統(tǒng)等,尤其適合跳頻無線通信系統(tǒng)的應用。第第4章章 數(shù)字式移相信號發(fā)生器的設計數(shù)字式移相信號發(fā)生器的設計2. DDS的基本原理DDS技術將輸出波形的一個完整周期的幅度值都順序地存放在波形存儲器中,通過控制相位增量產生頻率、相位可控制的波形。DDS電路一般包括基準時鐘、相位增量寄存器、相位累加器、波

9、形存儲器、D/A轉換器和低通濾波器(LPF)等模塊,如圖4.4所示。第第4章章 數(shù)字式移相信號發(fā)生器的設計數(shù)字式移相信號發(fā)生器的設計圖4.4 DDS的基本原理圖波形存儲器地址寄存器相位累加器相位增量寄存器D / A時鐘CPUfcp低通濾波器DDS 發(fā)生器信號輸出第第4章章 數(shù)字式移相信號發(fā)生器的設計數(shù)字式移相信號發(fā)生器的設計相位增量寄存器寄存頻率控制數(shù)據(jù),相位累加器完成相位累加的功能,波形存儲器存儲波形數(shù)據(jù)的一個周期幅度值數(shù)據(jù),D/A轉換器將數(shù)字量形式的波形幅值數(shù)據(jù)轉化為所要求合成頻率的模擬量形式信號,低通濾波器可濾除高次諧波分量。整個系統(tǒng)在統(tǒng)一的時鐘下工作,從而保證所合成信號的精確度。累加器

10、由N位加法器與N位累加寄存器級聯(lián)構成。每來一個時鐘脈沖fcp,加法器將頻率控制字M與累加寄存器輸出的累加相位數(shù)據(jù)相加,把相加后的結果送至累加寄存器的數(shù)據(jù)輸入端。累加寄存器將加法器在上一個時鐘脈沖作用后所產生的新相位數(shù)據(jù)反饋到加法器的輸入端,以使加法器在下一個時鐘脈沖的作用下繼續(xù)與頻率控制字相加。 第第4章章 數(shù)字式移相信號發(fā)生器的設計數(shù)字式移相信號發(fā)生器的設計這樣,相位累加器在時鐘作用下,不斷對頻率控制字進行線性相位累加。由此可以看出,相位累加器在每一個時鐘脈沖輸入時,把頻率控制字M累加一次,相位累加器輸出的數(shù)據(jù)就是合成信號的相位,當相位累加器累加滿量時就會產生一次溢出,完成一個周期性的動作,

11、這個周期就是DDS合成信號的周期,累加器的溢出頻率就是DDS輸出的信號頻率。用相位累加器輸出的數(shù)據(jù)作為波形存儲器的相位取樣地址,這樣就可把存儲在波形存儲器內的波形抽樣值(二進制編碼)讀出,完成相位到幅度值的轉換。波形存儲器的輸出送到D/A轉換器,D/A轉換器將數(shù)字量形式的波形幅度值轉換成所要求合成頻率的模擬量形式信號。低通濾波器用于濾除不需要的取樣分量,以便輸出頻譜純凈的正弦波信號。第第4章章 數(shù)字式移相信號發(fā)生器的設計數(shù)字式移相信號發(fā)生器的設計 DDS在相對帶寬、頻率轉換時間、高分辨率、相位連續(xù)性、正交輸出以及集成化等一系列性能指標方面遠遠超過了傳統(tǒng)頻率合成技術所能達到的水平,為系統(tǒng)提供了優(yōu)

12、于模擬信號源的性能。DDS輸出的信號頻率可以由下式給定:NcpfMfMf20(4.1) 第第4章章 數(shù)字式移相信號發(fā)生器的設計數(shù)字式移相信號發(fā)生器的設計 式中: fcp為系統(tǒng)時鐘頻率, f為信號頻率分辨率,f0為輸出信號頻率,M為頻率控制字,N為相位累加器的位數(shù)??梢?,通過設定相位累加器的位數(shù)、頻率控制字和系統(tǒng)時鐘的值,就可以產生任意信號頻率的輸出?;贒DS技術的數(shù)字式移相信號發(fā)生器的主要模塊框圖如圖4.5所示。 第第4章章 數(shù)字式移相信號發(fā)生器的設計數(shù)字式移相信號發(fā)生器的設計圖4.5 基于DDS技術的數(shù)字式移相信號發(fā)生器主要模塊框圖寄存器相 位累加器寄存器Address1相 位加法器寄存器

13、寄存器Address2頻率控制字相位控制字第第4章章 數(shù)字式移相信號發(fā)生器的設計數(shù)字式移相信號發(fā)生器的設計3.參數(shù)確定1)確定系統(tǒng)時鐘頻率fcp 不妨設輸出信號最高頻率為fmax 、最高頻率fmax下的最少采樣點數(shù)為Smin,則有 fcpfmaxSmin(4.2)由式(4.2)確定系統(tǒng)時鐘頻率fcp的下限值。同時又要滿足輸出信號頻率分辨率計算公式(4.3) fmaxSmin=20 kHz360=7.2 MHz,即fcp7.2 MHz,為了方便獲得時鐘脈沖,取fcp=10 MHz 。 Ncpff2第第4章章 數(shù)字式移相信號發(fā)生器的設計數(shù)字式移相信號發(fā)生器的設計2) 確定相位累加器的位數(shù)N因為信號

14、頻率分辨率f=fcp/2N, 所以2N=fc/f,即 因為218=262 144 ,219=524 288,而218500 000219,所以,相位累加器的位數(shù)N的最小值應為19 bit。一方面,N的最小值19 bit已大于2 Byte,另一方面,考慮適當提高系統(tǒng)的頻率分辨率,所以綜合這兩個方面,取N=24。5000001052010102010256HzMHzN第第4章章 數(shù)字式移相信號發(fā)生器的設計數(shù)字式移相信號發(fā)生器的設計由 此 可 見 , 系 統(tǒng) 的 頻 率 分 辨 率 為 f = 1 0 MHz/224=0.596 Hz。此時輸出信號的頻率分辨率為0.596 Hz,而題目要求為20 H

15、z,因此本設計已遠遠超過了設計任務提出的要求,從而提高了系統(tǒng)的精度。 3) 確定頻率控制字M的位數(shù)由式(4.1)可以求得頻率控制字為 247002102fffMNcp第第4章章 數(shù)字式移相信號發(fā)生器的設計數(shù)字式移相信號發(fā)生器的設計由上式可知,頻率控制字M的最大值出現(xiàn)在輸出信號頻率f0 max=20 kHz的時候,則Mmax=22420103/107=33 554.432。由于215=32 768,216=65 536,而21533 554.432216,因此取頻率控制字M的位數(shù)為16 bit。系統(tǒng)中的24 bit相位累加器實現(xiàn)對頻率控制字的累加,為了實現(xiàn)這種累加而將16 bit的頻率控制字擴展

16、為24 bit,擴展的具體方法是在上述16 bit頻率控制字前面(左邊)添加8個邏輯0就可以了。第第4章章 數(shù)字式移相信號發(fā)生器的設計數(shù)字式移相信號發(fā)生器的設計4) 確定波形存儲器的地址位數(shù)W 本系統(tǒng)決定存儲信號一個周期的幅度值采樣點數(shù)為1024,因此波形存儲器的地址位數(shù)W=10。5) 確定量化字長D信號一個周期的幅度值采樣量化字長D對輸出信號的失真度影響很大,本系統(tǒng)決定取量化字長D=10 bit。這樣的話,系統(tǒng)中的D/A轉換器的字長也應該是10 bit。6) 確定相位控制字K的位數(shù)如果“相位加法器”采用10 bit加法器實現(xiàn),即以“相位累加器”的輸出結果之高10位作為被加數(shù),相位控制字K作為

17、加數(shù),則有3601024=K第第4章章 數(shù)字式移相信號發(fā)生器的設計數(shù)字式移相信號發(fā)生器的設計式中: 是相位差,K是相位差為時對應的相位控制字。K的最大值出現(xiàn)在取最大值359時,即則相位控制字K的位數(shù)取10 bit就能滿足設計任務關于移相的要求(分辨率為1,移相范圍是0359)。若“相位加法器”采用24 bit加法器實現(xiàn),則上述10 bit的相位控制字應擴展成24 bit,具體擴展方法是在上述10 bit相位控制字后面(右邊)添加14個邏輯0就可以了。(4.5) 451283601024K55.102145359128maxK第第4章章 數(shù)字式移相信號發(fā)生器的設計數(shù)字式移相信號發(fā)生器的設計4.

18、誤差分析1) 失真度 輸出信號失真度除受D/A轉換器本身的噪聲影響外,還與采樣點數(shù)和D/A字長有著密切的關系。設q為均勻量化間隔,則其近似數(shù)學關系為式中:S為一個周期中輸出的點數(shù),D為量化字長,q=2-(D-1)。%1001)/sin(/6122SSqTHD(4.6) 第第4章章 數(shù)字式移相信號發(fā)生器的設計數(shù)字式移相信號發(fā)生器的設計2) 相位舍位引起的誤差在DDS中,相位累加寄存器的位數(shù)N一般會大于波形存儲器的尋址位數(shù)W,這使得采用相位寄存器的輸出信號尋址波形存儲器時,其N-W個位必須舍去,如此不可避免地會產生誤差,該誤差是DDS輸出雜散的主要原因。總的信噪比是(4.7)3) 相位量化誤差由于

19、波形是經過一系列有限的離散采樣點轉化而來的,因此勢必存在相位量化誤差,通過增加采樣點數(shù)可減小此誤差。NWdBSNR4420 .46244. 0lg)(第第4章章 數(shù)字式移相信號發(fā)生器的設計數(shù)字式移相信號發(fā)生器的設計5. 實現(xiàn)器件的選擇原則一般選用FPGA/CPLD器件作為DDS的實現(xiàn)器件。對于D/A轉換器的選擇,首先要考慮到D/A轉換器的轉換速率,要實現(xiàn)所需的頻率,D/A的轉換速度要大于fmaxSmin。然后根據(jù)D/A轉換器字長所帶來的誤差,決定D/A的位數(shù)。由此選擇D/A轉換器的型號。第第4章章 數(shù)字式移相信號發(fā)生器的設計數(shù)字式移相信號發(fā)生器的設計4.3.2 MCU電路在本系統(tǒng)中,單片機主要

20、用來實現(xiàn)輸出信號的頻率和相位差的設置,輸出信號的頻率和相位差的顯示,向FPGA提供頻率控制字和相位控制字。所以,MCU電路包括單片機芯片、鍵盤模塊、顯示模塊三個部分。單片機芯片采用AT89C51,鍵盤模塊采用4行3列的矩陣式鍵盤,考慮到節(jié)省MCU的I/O資源,顯示模塊由串行輸入接口驅動芯片PS7219及6個LED數(shù)碼管組成。單片機部分的電路如圖4.6所示。 第第4章章 數(shù)字式移相信號發(fā)生器的設計數(shù)字式移相信號發(fā)生器的設計圖4.6 MCU電路RST1LOAD2DIN3CLK4DIG75DIG66DIG57DIG48DIG39DIG210DIG111GND12CONDIG8DOUTSDPSGSFS

21、ESDSCSBSAV+U2PS7219P1.01P1.1P1.2P1.3P1.4P1.5P1.6P1.7RST9P3.0 RXDP3.1 TXDP3.2 INT0P3.3INT1P2.021P2.122P2.223P2.324P2.425P2.526P2.627P2.728PSEN29ALE/PROG30EA/VPP31P0.732P0.633P0.534P0.435P0.336P0.237P0.138P0.039VC40U1QR11.0592 MHzS1310 k41011S1S12C130 pFC230pFC310 FR110 k5 VLOADCLKSELRESET5 Vdata0data

22、1data2data3data4data5data6data7data8data9data10data11data12data13data14data15RESETLOADDINCLKP3.4 T0P3.5 T1P3.6 WRP3.7 RDXTAL2XTAL1GNDAT89C512345678RESETDINCONPD10121416182011131517191234567abcdefg8dp9GNDabfcgdedpLED6DIG61234567abcdefg8dp9GNDabfcgdedpLED5DIG51234567abcdefg8dp9GNDabfcgdedpLED4DIG41234

23、567abcdefg8dp9GNDabfcgdedpLED3DIG31234567abcdefg8dp9GNDabfcgdedpLED2DIG21234567abcdefg8dp9GNDabfcgdedpLED1DIG103691472585 V1314151617181920212223245 VC410 FC50.1 F第第4章章 數(shù)字式移相信號發(fā)生器的設計數(shù)字式移相信號發(fā)生器的設計1. AT89C51簡介AT89C51是一個低功耗高性能CMOS 8位單片機,AT89C51的主要特性如下:(1) 兼容MCS-51指令系統(tǒng)。(2) 有32個雙向I/O口。(3) 有兩個16位可編程定時/計數(shù)器

24、。(4) 有1個串行中斷。(5) 有兩個外部中斷源。第第4章章 數(shù)字式移相信號發(fā)生器的設計數(shù)字式移相信號發(fā)生器的設計(6) 可直接驅動LED。(7) 有低功耗空閑和掉電模式。(8) 有4K可反復擦寫(1000次)Flash ROM。(9) 有1個可編程UARL通道。(10) 024 MHz全靜態(tài)操作。(11) 有1288 bit內部RAM。(12) 共有6個中斷源。(13) 有3級加密位。(14) 具有軟件設置睡眠和喚醒功能。第第4章章 數(shù)字式移相信號發(fā)生器的設計數(shù)字式移相信號發(fā)生器的設計2. 矩陣鍵盤簡介S1S10為數(shù)字鍵09,S11為系統(tǒng)進入信號頻率設置工作狀態(tài)功能鍵,S12為系統(tǒng)進入信號

25、相位差設置工作狀態(tài)功能鍵。另外,S11和S12可實現(xiàn)對LED數(shù)碼管顯示內容的選擇切換,按下S11表示6個LED數(shù)碼管顯示頻率,按下S12表示6個LED數(shù)碼管顯示相位差。注意,鍵盤功能的實現(xiàn)必須結合軟件編程才能完成。第第4章章 數(shù)字式移相信號發(fā)生器的設計數(shù)字式移相信號發(fā)生器的設計3. PS7219簡介PS7219是一個高性能、低價格的多位LED顯示驅動器。PS7219是武漢力源公司的產品,它在性能上完全兼容國外的產品MAX7219, 并且還增添了位閃等功能。其接口采用流行的同步串行外設接口(SPI),可與任何一種單片機方便接口,并可同時驅動8位共陰LED數(shù)碼管或64個獨立LED發(fā)光二極管。PS7

26、219A型內置一個可靠的P監(jiān)控電路,可為外部提供一個脈寬大于140 ms、觸發(fā)門限典型值為4.63 V的高電平復位信號。第第4章章 數(shù)字式移相信號發(fā)生器的設計數(shù)字式移相信號發(fā)生器的設計PS7219內部具有158 bit RAM功能控制寄存器,可方便尋址,對每位數(shù)字可單獨控制,刷新不需重寫整個顯示器。顯示亮度可數(shù)字控制,每位都具有閃爍使能控制位。引腳CON置高電平,可禁止所有顯示,達到降低功耗的效果,但同時并不影響對控制寄存器的修改。PS7219還有一個掉電模式、一個允許用戶選擇從1位數(shù)顯示到8位數(shù)顯示的掃描界限寄存器和一個強迫所有LED接通的測試模式。N個PS7219級聯(lián),可實現(xiàn)N8位LED數(shù)

27、碼管的顯示。PS7219的應用很廣泛,例如條形圖顯示、7段顯示、工業(yè)控制、儀表控制面板、LED模型顯示等。我們設計的PS7219的LED數(shù)碼管段碼表如表4.1所示。第第4章章 數(shù)字式移相信號發(fā)生器的設計數(shù)字式移相信號發(fā)生器的設計表4.1 LED數(shù)碼管段碼表 表略第第4章章 數(shù)字式移相信號發(fā)生器的設計數(shù)字式移相信號發(fā)生器的設計 PS7219的特點如下:(1) 可提供復位信號(PS7219A型)。(2) 500 kHz串行接口(16位控制字)。(3) +4.5+5.5 V工作電壓。(4) 驅動共陰極LED顯示。(5) 單個LED控制,掃描界限控制。(6) 按位進行BCD譯碼/不譯碼數(shù)字控制。(7)

28、 兼容國外的產品MAX7219。第第4章章 數(shù)字式移相信號發(fā)生器的設計數(shù)字式移相信號發(fā)生器的設計(8) 16級亮度數(shù)字控制。(9) 上電LED全熄。(10) 提供閃位功能。(11) 全亮功能測試。(12) 內部自帶時鐘電路,無需任何外部元件。(13) 24腳加寬DIP封裝。第第4章章 數(shù)字式移相信號發(fā)生器的設計數(shù)字式移相信號發(fā)生器的設計4.3.3 FPGA電路我們選擇ALTERA公司的FPGA,芯片型號為EP1K30TC144-3。該芯片具有如下特點。1. 高密度典型門為30 000個,可用門為119 000個,邏輯單元為1728個,嵌入式陣列塊(EAB)為6個,24 576位內部RAM,可用

29、I/O為102個。2. 低功耗和多電壓I/O接囗該器件的核心電壓為2.5 V供電,功耗小,支持高電壓I/O接囗,引腳可以與2.5 V、3.3 V、5 V電壓器件兼容,并且可以進行擺率控制和漏極開路輸出。第第4章章 數(shù)字式移相信號發(fā)生器的設計數(shù)字式移相信號發(fā)生器的設計3. 增強型嵌入式結構每個EAB有以25616、5128、10244、20482位任意組合的RAM,可做單口RAM,也可設計成雙口RAM。4. 時鐘鎖定和時鐘自舉該器件為設計人員提供了可供選擇的時鐘鎖定(Clock Lock)和時鐘自舉(Clock Boost)電路。這兩種電路都含有鎖相環(huán)(PLL)。時鐘鎖定電路為一個同步的PLL,

30、可減小器件內的時鐘延遲和偏移。時鐘自舉電路提供了一個時鐘乘法器,可以很容易地實現(xiàn)時域邏輯乘法并減小對資源的占用。第第4章章 數(shù)字式移相信號發(fā)生器的設計數(shù)字式移相信號發(fā)生器的設計 EP1K30TC144-3能夠滿足多功能、低功耗、低成本、高性能的系統(tǒng)設計要求。FPGA電路的設計我們采用手頭已有的FPGA適配板(由湖南長沙三知電子有限公司生產)來實現(xiàn),該FPGA適配板包含F(xiàn)PGA芯片EP1K30TC144-3、下載電路、FPGA配置存儲器、FPGA內核電源模塊等。當給FPGA配置存儲器下載配置文件后,該FPGA適配板只要接入+5V電源就可以正常工作于用戶應用系統(tǒng)中(嵌入用戶系統(tǒng)中)。第第4章章 數(shù)

31、字式移相信號發(fā)生器的設計數(shù)字式移相信號發(fā)生器的設計 FPGA與單片機的連接框圖如圖4.7所示。FPGA的時鐘信號clk采用40 MHz四引腳石英晶體多諧振蕩器信號源,由FPGA對40 MHz信號進行四分頻,得到10 MHz的信號,將此10 MHz的信號作為FPGA芯片內部電路的同步時鐘信號,時鐘周期為0.1 s。FPGA配置存儲器選用EPC1441。EPC1441是OTP(One Time Program)型串行PROM,采用PDIP8封裝,有440 8001位,3.3 V/5 V供電。用編程器對EPC1441進行編程下載配置信息時,要在其第2和第5腳之間接一個300 pF的電容器。 第第4章

32、章 數(shù)字式移相信號發(fā)生器的設計數(shù)字式移相信號發(fā)生器的設計圖4.7 FPGA與單片機的連接框圖16 bitADDRESS1ADDRESS2 FPGA適配板clkconsel10 bit10 bit325V40 MHzAT89C5141第第4章章 數(shù)字式移相信號發(fā)生器的設計數(shù)字式移相信號發(fā)生器的設計4.3.4 波形查找表電路波形查找表的設計在FPGA內部的實現(xiàn)具有一定的難度,相對于外部存儲器電路而言,成本較高。我們將正弦查找表放置在外部的EPROM存儲器中。首先要解決正弦信號在一個周期內的采樣問題,采樣值的個數(shù)根據(jù)相位差要求(相位差范圍為0359,相位差步進為1)至少要有360個,而該設計考慮到實

33、現(xiàn)更高的移相精度,擬采用1024個采樣點,且波形查找表設計為10位數(shù)字量輸出。這樣的話,可以確定正弦查找表為102410位的結構,存儲了正弦波在一個周期內波形的1024個采樣點。這樣,相位差分辨率實際已達到3601024=0.3515,超出了題目要求的移相精度范圍。第第4章章 數(shù)字式移相信號發(fā)生器的設計數(shù)字式移相信號發(fā)生器的設計可以通過C語言編程來獲得正弦查找表的采樣值,并將10 bit的采樣值分別存放在兩塊8 bit的27C16存儲器中,其中1塊27C16存放采樣值的低8位,另1塊27C16存放采樣值的高2位。C語言程序源代碼如下。#includestdafx.h#includestdio.

34、h#includemath.h main() int i; float s; for (i=0;i1024;i+)第第4章章 數(shù)字式移相信號發(fā)生器的設計數(shù)字式移相信號發(fā)生器的設計 s=sin(atan(1)*8*i/1024); s=(s+1)*1023/2; printf(i=%d,%d;t,i,(int)s); return 0; 該C語言程序運行結果如下:波形查找表電路如圖4.8所示。 略第第4章章 數(shù)字式移相信號發(fā)生器的設計數(shù)字式移相信號發(fā)生器的設計圖4.8 波形查找表電路和D/A轉換電路A08A17A26A35A44A53A62A71A823A922A1019E/P18OE20VPP

35、21D09D110D211D313D414D515D616D717U427C16A08A17A26A35A44A53A62A71A823A922A1019E/P18OE20VPP21D09D110D211D313D414D515D616D717U527C16BIT11BIT22BIT33BIT44BIT55BIT66BIT77BIT88BIT99BIT1010NC11NC12NC13NC14PD15INT/EXT16REFin17FSA18BW19AGAND20Iout21Iout22BYP23+VA24NC25DGAD26+VD27CLK28U6DAC900R32 kC80.1 F5 VC7

36、R2250 C60.1F5 VD15.0conselenresetCLKCLKEPADDRESS1ADDRESS2FPGA模塊D0D1D2D3D4D5D6D7D8D9CONSEL40 MHzU3326174U7LF351R43261574U8LF351R77.5kR6R815 kVCCVCCR5250 R94 k0.1F5 V5 V15 k5 V250 VCCVCC5第第4章章 數(shù)字式移相信號發(fā)生器的設計數(shù)字式移相信號發(fā)生器的設計4.3.5 D/A轉換電路我們采用TI公司(美國德州儀器公司)的10位高速數(shù)/模轉換器DAC900,它是權電流型D/A轉換器,其轉換時間為30 ns,在外部適當?shù)倪B接

37、情況下(如圖4.8所示),輸入數(shù)字量與輸出電流之間的關系如表4.2所示。該系統(tǒng)的D/A轉換電路如圖4.8所示,圖中運放U7(芯片型號為LF351)將DAC900的輸出電流轉換為05 V的電壓信號,運放U8(芯片型號為LF351)構成加法器,其輸出電壓為5+5 V。 第第4章章 數(shù)字式移相信號發(fā)生器的設計數(shù)字式移相信號發(fā)生器的設計表4.2 DAC900的輸入輸出關系 第第4章章 數(shù)字式移相信號發(fā)生器的設計數(shù)字式移相信號發(fā)生器的設計4.3.6 低通濾波器電路由于在本系統(tǒng)中我們要濾除的頻率分量主要是D/A轉換器產生的高頻分量(如10 MHz), 與我們所要保留的信號頻率(小于等于20 kHz)相差很

38、遠,因此相對來說,濾波器在通帶內的平坦程度對我們而言比其衰減陡度更為重要。由于ButterWorth(巴特沃思)濾波器的元件值較為合乎實際情況,不像絕大多數(shù)的其他類型的濾波器對元件值要求那么苛刻,因此,我們采用巴特沃思二階低通濾波器。該低通濾波器由運放U10(芯片型號為LF351)構成,電路如圖4.9所示。該低通濾波器的截止頻率為40 kHz。第第4章章 數(shù)字式移相信號發(fā)生器的設計數(shù)字式移相信號發(fā)生器的設計圖4.9 低通濾波器電路和幅度調節(jié)電路2347 V CC156UoutC1050 pFR1130R1251R1051UinC9200 pFR131k32415A D 8176C130.01

39、FC143.3 F7 V CCC113.3 FC120.01 FU 11 V CCR141kRP110 k UA輸 出 AU 10LF351 V CC第第4章章 數(shù)字式移相信號發(fā)生器的設計數(shù)字式移相信號發(fā)生器的設計4.3.7 穩(wěn)幅輸出電路為了保證穩(wěn)幅輸出,選用AD817構成穩(wěn)幅電路。AD817是一款低功耗、高速、寬帶運算放大器,具有很強的大電流驅動能力。(實際電路測試表明:當負載為100,輸出電壓峰峰值為10 V時,帶寬大于500 kHz,幅度變化小于1%。) 穩(wěn)幅輸出電路如圖4.9所示。4.3.8 系統(tǒng)總體硬件電路圖系統(tǒng)總體硬件電路圖如圖4.10所示。圖略第第4章章 數(shù)字式移相信號發(fā)生器的設

40、計數(shù)字式移相信號發(fā)生器的設計4.4 系統(tǒng)軟件設計系統(tǒng)軟件設計4.4.1 FPGA之VHDL程序設計及源程序FPGA的開發(fā)是在MAX+plus開發(fā)軟件平臺下及EDA實驗開發(fā)裝置上完成的。根據(jù)上面的分析不難編寫出VHDL源程序代碼。由系統(tǒng)硬件設計可知,F(xiàn)PGA適配板選用的上電自動配置芯片為EPC1441,配置芯片的編程是由普通編程器將*.POF文件燒進配置芯片EPC1441里來實現(xiàn)的。而*.POF文件是VHDL設計的源文件在編譯過程中由開發(fā)平臺自動產生的。配置芯片中的編程信息一般稱為配置信息。FPGA上電后,可主動從配置芯片中獲得配置信息。第第4章章 數(shù)字式移相信號發(fā)生器的設計數(shù)字式移相信號發(fā)生器

41、的設計1. FPGA完成的任務由前面的敘述可知,在系統(tǒng)中,F(xiàn)PGA主要實現(xiàn)DDS(直接數(shù)字頻率合成)的功能,F(xiàn)PGA應完成的任務具體描述如下。(1) 對輸入的40 MHz時鐘脈沖clk0進行四分頻,得到系統(tǒng)所需要的10 MHz同步時鐘信號clk。(2) 接收由單片機發(fā)送過來的16 bit頻率控制字和相位控制字。con=1且sel=1時接收頻率控制字,con=1且sel=0時接收相位控制字。(3) 主要運用DDS技術,產生兩個正弦查找表的地址掃描信號ADDRESS1和ADDRESS2。 第第4章章 數(shù)字式移相信號發(fā)生器的設計數(shù)字式移相信號發(fā)生器的設計2. FPGA的工作時序在設計時,采用同步信號

42、(時鐘脈沖clk的上升沿(rising_edge))實現(xiàn)同步清零、同步接收和輸出數(shù)據(jù)、同步加法運算等,這樣可以增強系統(tǒng)的抗干擾能力,提高系統(tǒng)的可靠性。3. FPGA芯片內部電路框圖根據(jù)前面的設計,不難畫出FPGA芯片內部的邏輯電路框圖,如圖4.11所示。圖中,REG1是頻率控制字輸入寄存器,REG2是相位控制字輸入寄存器,SUM是24 bit的相位累加器, ADDER24B是24 bit的相位加法器,REG3、 REG4是地址輸出寄存器,CLKGEN是四分頻器。第第4章章 數(shù)字式移相信號發(fā)生器的設計數(shù)字式移相信號發(fā)生器的設計圖4.11 FPGA芯片內部的邏輯電路框圖D15.0CLKCONSEL

43、K23.0REG25D15.0CLKCONSELH23.0REG14INPUTVCCCON14INPUTVCCSEL22CLKO CLKCLKGENINPUTVCCCLKO9OUTPUT41CLKEPOUTPUT42ADDRESS2DE123.0CLK1ADDRESS29.0REG424A23.0B23.0CLKOUT123.01ADDER24BOUTPUT40ADDRESS1ADDRESS19.0DEO23.0CLK123H23.0CLKCNRESETOUTO23.0SUM8REG3INPUTVCCD15.013INPUTVCCEN16INPUTVCCRESET182第第4章章 數(shù)字式移相信

44、號發(fā)生器的設計數(shù)字式移相信號發(fā)生器的設計4. FPGA的VHDL源程序FPGA的開發(fā)是在MAX+plus開發(fā)軟件平臺下及EDA實驗開發(fā)裝置上完成的。VHDL源程序代碼如下。(1) 輸入寄存器REG1: REG1.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL; 第第4章章 數(shù)字式移相信號發(fā)生器的設計數(shù)字式移相信號發(fā)生器的設計ENTITY REG1 IS PORT(D: IN STD_LOGIC_VECTOR(15 DOWNTO 0);

45、 CLK: IN STD_LOGIC; CON: IN STD_LOGIC; SEL: IN STD_LOGIC; M: OUT STD_LOGIC_VECTOR(23 DOWNTO 0);第第4章章 數(shù)字式移相信號發(fā)生器的設計數(shù)字式移相信號發(fā)生器的設計END ENTITY REG1;ARCHITECTURE ART OF REG1 IS BEGIN PROCESS(CLK,SEL,CON)IS BEGIN IF (CLKEVENT AND CLK=1) THEN IF CON=1 THEN IF SEL=1THEN第第4章章 數(shù)字式移相信號發(fā)生器的設計數(shù)字式移相信號發(fā)生器的設計M=0&0&0

46、&0&0&0&0&0&D; END IF; END IF; END IF; END PROCESS;END ARCHITECTURE ART; 第第4章章 數(shù)字式移相信號發(fā)生器的設計數(shù)字式移相信號發(fā)生器的設計(2) 輸入寄存器REG2: REG2.VHDUSE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY REG2 IS PORT(D: IN STD_LOGIC_VECTOR(15 DOWNTO 0); CLK: IN STD_LOGIC; CON: IN

47、STD_LOGIC; SEL: IN STD_LOGIC; K: OUT STD_LOGIC_VECTOR(23 DOWNTO 0); 第第4章章 數(shù)字式移相信號發(fā)生器的設計數(shù)字式移相信號發(fā)生器的設計END ENTITY REG2;ARCHITECTURE ART OF REG2 IS SIGNAL TEMP:STD_LOGIC_VECTOR(9 DOWNTO 0); BEGIN PROCESS(CLK,SEL,CON)IS BEGIN IF (CLKEVENT AND CLK=1) THEN IF CON=1 THEN IF SEL=0THEN第第4章章 數(shù)字式移相信號發(fā)生器的設計數(shù)字式移相

48、信號發(fā)生器的設計TEMP=D(9 DOWNTO 0); END IF; END IF; END IF; K=TEMP&0&0&0&0&0&0&0&0&0&0&0&0&0&0; END PROCESS;END ARCHITECTURE ART; 第第4章章 數(shù)字式移相信號發(fā)生器的設計數(shù)字式移相信號發(fā)生器的設計(3) 24 bit相位累加器SUM: SUM.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY SUM IS PORT(M: IN STD_LOGIC_VECTOR(23 D

49、OWNTO 0); CLK: IN STD_LOGIC; EN: IN STD_LOGIC; RESET: IN STD_LOGIC; OUT0:OUT STD_LOGIC_VECTOR(23 DOWNTO 0); 第第4章章 數(shù)字式移相信號發(fā)生器的設計數(shù)字式移相信號發(fā)生器的設計END ENTITY SUM;ARCHITECTURE ART OF SUM IS SIGNAL TEMP:STD_LOGIC_VECTOR(23 DOWNTO 0); BEGIN PROCESS(CLK,EN,RESET) IS BEGIN IF RESET=1THEN TEMP=000000000000000000

50、000000;第第4章章 數(shù)字式移相信號發(fā)生器的設計數(shù)字式移相信號發(fā)生器的設計ELSE IF CLKEVENT AND CLK=1THEN IF EN=1THEN TEMP=TEMP+M; END IF; END IF; END IF; OUT0=TEMP; END PROCESS;END ARCHITECTURE ART; 第第4章章 數(shù)字式移相信號發(fā)生器的設計數(shù)字式移相信號發(fā)生器的設計(4) 24 bit加法器ADDER24B: ADDER24B.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.

51、ALL;ENTITY ADDER24B IS PORT(A:IN STD_LOGIC_VECTOR(23 DOWNTO 0); B:IN STD_LOGIC_VECTOR(23 DOWNTO 0); 第第4章章 數(shù)字式移相信號發(fā)生器的設計數(shù)字式移相信號發(fā)生器的設計 CLK:IN STD_LOGIC; OUT1:OUT STD_LOGIC_VECTOR(23 DOWNTO 0);END ADDER24B;ARCHITECTURE ART OF ADDER24B IS SIGNAL S:STD_LOGIC_VECTOR(23 DOWNTO 0) ; BEGIN PROCESS(CLK) BEGIN

52、 第第4章章 數(shù)字式移相信號發(fā)生器的設計數(shù)字式移相信號發(fā)生器的設計IF(CLKEVENT AND CLK=1)THEN S=A+B; END IF; END PROCESS; OUT1=S; END ART; 第第4章章 數(shù)字式移相信號發(fā)生器的設計數(shù)字式移相信號發(fā)生器的設計(5) 四分頻器CLKGEN: CLKGEN.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY CLKGEN IS PORT(CLK0:IN STD_LOGIC; CLK:OUT STD_LOGIC);END ENTITY;ARCHITECTURE ART OF CLKGEN IS SIGNAL CNTER:INTEGER RANGE 0 TO 10#3#; 第第4章章 數(shù)字式移相信號發(fā)生器的設計數(shù)字式移相信號發(fā)生器的設計 BEGIN PROCESS(CLK0) IS BEGIN IF CLK0EVENT AND CLK0=1THEN IF CNTER=10#3# THEN CNTER=0; ELSE CNTER=CNTER+1; END IF; END IF; END PROCESS; 第第4章章 數(shù)字式移

溫馨提示

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

評論

0/150

提交評論