基于fpga的dds信號發(fā)生器的研究畢業(yè)論文_第1頁
已閱讀1頁,還剩29頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、<p><b>  第1章 緒 論</b></p><p><b>  1.1 課題背景</b></p><p>  頻率檢測是電子測量領(lǐng)域的最基本也是最重要的測量之一,頻率信號抗干擾強,易于傳輸,可以獲得較高的測量精度,所以頻率方法的研究越來越受到重視[1]。在頻率合成領(lǐng)域中,直接數(shù)字合成(Direct Digital Synth

2、esizer,簡稱:DDS)是近年來新的技術(shù), 它從相位的角度出發(fā)直接合成所需波形。 它是由美國人J.Tierncy首先提出來的,是一種以數(shù)字信號處理理論為基礎(chǔ),從相位概念出發(fā)直接合成所需波形的一種新的全數(shù)字技術(shù)的頻率合成方法[2]。其主要優(yōu)點有:頻率改變速度快、頻率分辨率高、輸出相位連續(xù)、可編程、全數(shù)字化便于集成等,目前使用最廣泛的一種DDS頻率合成方式是利用高速存儲器將正弦波的M個樣品存在其中,然后以查找的方式按均勻的速率把這些樣品

3、輸入到高速數(shù)模轉(zhuǎn)換器,變成所設(shè)定頻率的正弦波信號[3]。近30年來,隨著超大規(guī)模集成、現(xiàn)場可編程門陣列(Field Programmable Gate Array,簡稱:FPGA)、復(fù)雜可編程器件(Complex programmable Logic Device,簡稱:CPLD)等技術(shù)的出現(xiàn)以及對DDS理論上的進一步探討,使得DDS技術(shù)得到</p><p>  波形發(fā)生器即通常所說的信號發(fā)生器是一種常用的信號源

4、,和示波器、電壓表、頻率計等儀器一樣是最普遍、最基本也是應(yīng)用最廣泛的的電子儀器之一,幾乎所有電參量的測量都要用到波形發(fā)生器。不論是在生產(chǎn)還是在科研與教學上,波形發(fā)生器都是電子工程師信號仿真試驗的最佳工具。隨著現(xiàn)代電子技術(shù)的飛速發(fā)展,現(xiàn)代電子測量工作對波形發(fā)生器的性能提出了更高的要求,不僅要求能產(chǎn)生正弦波、方波等標準波形,還能根據(jù)需要產(chǎn)生任意波形,且操作方便,輸出波形質(zhì)量好,輸出頻率范圍寬,輸出頻率穩(wěn)定度、準確度及分辨率高,頻率轉(zhuǎn)換速度快

5、且頻率轉(zhuǎn)換時輸出波形相位連續(xù)等。而傳統(tǒng)波形發(fā)生器采用專用芯片,成本高,控制方式不靈活,已經(jīng)越來越不能滿足現(xiàn)代電子測量的需要,正逐步退出歷史舞臺??梢?,為適應(yīng)現(xiàn)代電子技術(shù)的不斷發(fā)展和市場要求,研究制作高性能的任意波形發(fā)生器十分有必要,而且意義重大。</p><p>  1.2 國內(nèi)外波形發(fā)生器發(fā)展現(xiàn)狀</p><p>  1.2.1 波形發(fā)生器的發(fā)展現(xiàn)狀</p><p

6、>  在70年代前,信號發(fā)生器主要有兩類:正弦波和脈沖波。這個時期的波形發(fā)生器多采用模擬電子技術(shù),而且模擬器件構(gòu)成的電路存在著尺寸大、價格貴、功耗大等缺點,并且要產(chǎn)生較為復(fù)雜的信號波形,則電路結(jié)構(gòu)非常復(fù)雜。在70年代后,微處理器的出現(xiàn),可以利用處理器、A/D和D/A,硬件和軟件使波形發(fā)生器的功能擴大,產(chǎn)生更加復(fù)雜的波形。這時期的波形發(fā)生器多以軟件為主,實質(zhì)是采用微處理器對DAC的程序控制,就可以得到各種簡單的波形。</p&g

7、t;<p>  90年代末,出現(xiàn)幾種真正高性能、高價格的波形發(fā)生器、但是HP公司推出了型號為HP770S的信號模擬裝置系統(tǒng),它由HP8770A任意波形數(shù)字化和HP1776A波形發(fā)生軟件組成。HP8770A實際上也只能產(chǎn)生8種波形,而且價格昂貴。</p><p>  到了二十一世紀,隨著集成電路技術(shù)的高速發(fā)展,出現(xiàn)了多種工作頻率可過GHz的DDS芯片,同時也推動了波形發(fā)生器的發(fā)展,2003年,Agil

8、ent的產(chǎn)品33220A能夠產(chǎn)生17種波形,最高頻率可達到20M,2005年的產(chǎn)品N6030A能夠產(chǎn)生高達500MHz的頻率,采樣的頻率可達1.25GHz。最近幾年來,隨著集成電路技術(shù)和器件水平的提高,國外一些公司先后推出各種各樣的DDS專用芯片,如Qualcomm公司的Q2230、Q2334,AD公司的AD9955、AD9850、AD9851、AD9852等[5]。</p><p>  1.2.2 國內(nèi)外波形

9、發(fā)生器產(chǎn)品比較</p><p>  頻率合成器被譽為電子系統(tǒng)的“心臟”,頻率源的發(fā)展直接關(guān)系到電子系統(tǒng)性能的發(fā)展。信號發(fā)生器是一種常用的信號源,廣泛應(yīng)用于通信、雷達、測控、電子對抗以及現(xiàn)代化儀器儀表等領(lǐng)域,是一種為電子測量工作提供符合嚴格技術(shù)要求的電信號設(shè)備,和示波器、電壓表、頻率計等儀器一樣是最普通、最基本也是應(yīng)用最廣泛的電子儀器之一,幾乎所有電參量的測量都要用到波形發(fā)生器[6]。</p><

10、;p>  早在1978年,由美國Wavetek公司和日本東亞電波工業(yè)公司公布了最高取樣頻率為5MHz,可以形成256點(存儲長度)波形數(shù)據(jù),垂直分辨率為8bit,主要用于振動、醫(yī)療、材料等領(lǐng)域的第一代高性能信號源,經(jīng)過將近30年的發(fā)展,伴隨著電子元器件、電路、及生產(chǎn)設(shè)備的高速化、高集成化,波形發(fā)生器的性能有了飛速的提高。變得操作越來越簡單而輸出波形的能力越來越強。波形操作方法的好壞,是由波形發(fā)生器控制軟件質(zhì)量保證的,編輯功能增加的

11、越多,波形形成的操作性越好。目前我國已經(jīng)開始研制信號發(fā)生器,并獲得了可喜的成果,但總的來說,我國波形發(fā)生器還沒有形成真正的產(chǎn)業(yè),并且我國目前在波形發(fā)生器的的種類和性能都與國外同類產(chǎn)品存在較大的差距,因此加緊對這類產(chǎn)品的研制顯得迫在眉睫[7]。</p><p>  1.2.3 研究波形發(fā)生器的目的及意義</p><p>  波形發(fā)生器是信號源的一種,主要給被測電路提供所需要的己知信號(各種

12、波形),然后用其它儀表測量感興趣的參數(shù)[8]。多功能波形發(fā)生器采用FPGA器件作為核心控制部件,精度高穩(wěn)定性好,得到波形平滑,特別是由于FPGA的高速度,能實現(xiàn)較高頻率的波形[9]。目前我國己經(jīng)開始研制波形發(fā)生器,并取得了可喜的成果。但總的來說,我國波形發(fā)生器還沒有形成真正的產(chǎn)業(yè)。就目前國內(nèi)的成熟產(chǎn)品來看,多為一些PC儀器插卡,獨立的儀器和VXI系統(tǒng)的模塊很少,并且我國目前在波形發(fā)生器的種類和性能都與國外同類產(chǎn)品存在較大的差距,因此加緊

13、對這類產(chǎn)品的研制顯得迫在眉睫。</p><p>  1.3 論文的主要工作與章節(jié)安排</p><p>  本文主要通過分析DDS的原理,進而得到DDS信號發(fā)生器的設(shè)計方案,然后通過選材等一系列設(shè)計來完成DDS信號發(fā)生器的研究。其中第二章主要介紹DDS的基本原理以及優(yōu)缺點。第三章則重點介紹了本次設(shè)計所采用的開發(fā)平臺。第四章是本問重點介紹的對象,里面主要包含了設(shè)計的具體思路包括系統(tǒng)的實現(xiàn)以及

14、系統(tǒng)工作流程情況。第五章是要是對實驗結(jié)果進行分析。</p><p>  第2章 DDS波形發(fā)生器的理論介紹</p><p>  2.1 DDS的基本原理與特點</p><p>  DDS即直接數(shù)字頻率合成技術(shù),是由美國學者J.Tiercy,M.Rader和B.Gold于1971年首次提出,是一種以數(shù)字信號處理理論為基礎(chǔ),從相位概念出發(fā)直接合成所需波形的一種新的全

15、數(shù)字技術(shù)的頻率合成方法。從1971年至今,DDS已從一個工程新事物逐漸發(fā)展成為一個重要的設(shè)計工具。與大家熟悉的直接式和間接式(PLL)頻率合成技術(shù)不同,DDS技術(shù)完全采用數(shù)字技術(shù)處理,屬于第三代頻率合成技術(shù)。DDS的主要優(yōu)點是它的輸出頻率、相位和幅度能夠在微控制器的控制下精確而快速的變換。DDS的應(yīng)用領(lǐng)域包括各類無線通信、有線通信、網(wǎng)絡(luò)通信,各類需要頻率信號的儀器、儀表、遙測、遙感設(shè)備、收音機和電視機等[10]。</p>

16、<p>  本節(jié)以正弦信號的產(chǎn)生為例,闡述DDS技術(shù)的基本原理。</p><p>  對于一個頻譜純凈的單頻正弦信號可以用下式來描述:</p><p><b> ?。?-1)</b></p><p><b>  其相位為</b></p><p><b>  (2-2)</b

17、></p><p>  顯然,該正弦信號相位和幅值均為連續(xù)變量。為了便于采用數(shù)字技術(shù),應(yīng)對連續(xù)的正弦信號進行離散化處理,即把相位和幅值均轉(zhuǎn)化為數(shù)字量。</p><p>  用頻率為fclk的基準時鐘對正弦信號進行抽樣 ,這樣,在一個參考時鐘周期T內(nèi),相位的變化量為 </p><p><b> ?。?-3)</b></p>&

18、lt;p>  由上式得到的△θ為模擬量,為了將其轉(zhuǎn)化為數(shù)字量,將2π切割成2N等份作為最小量化單位,從而得到△θ的數(shù)字量M為:</p><p><b> ?。?-4)</b></p><p>  將式(2-3)帶入(2-4)得</p><p><b> ?。?-5)</b></p><p> 

19、 式(2-5)表明,在參考時鐘頻fclk確定的情況下,輸出正弦信號的頻率fout決定于M的大小,并且與M呈線性關(guān)系。通過改變M的大小,就可以改變輸出正弦信號的頻率,因此,M也稱頻率控制字。當參考時鐘頻率取2N時,正弦信號的頻率就等于頻率控制字M。當M取1時,可以得到輸出信號的最小頻率步進為</p><p><b>  (2-6)</b></p><p>  由此可知,

20、只要N取值足夠大,就可以得到非常小的頻率步進值。</p><p>  將相位轉(zhuǎn)化為數(shù)字量以后,式(2-1)就可以描述為如下形式:</p><p><b>  (2-7)</b></p><p>  表示本周期相位值與前一個基準時鐘周期的相位值的累加。</p><p>  從式(2-7)可以看出,只要用頻率控制字M進行簡單

21、的累加運算,就可以得到正弦函數(shù)的當前相位值。而正弦信號的幅值就是正弦信號的當前相位值的函數(shù)。由于正弦函數(shù)為非線性函數(shù),很難實時計算,一般通過查表的方法來快速獲得函數(shù)值。</p><p>  有了上述理論分析,我們就可以得到一種用數(shù)字的方法獲得正弦信號的方法:先構(gòu)建一個N為的相位累加器,在每一個時鐘周期內(nèi),將相位累加器中的值與頻率控制字相加,得到當前的相位值。將當前的相位值作為ROM的地址,讀出ROM中的正弦波數(shù)據(jù)

22、,再通過D/A轉(zhuǎn)化成模擬信號。頻率控制字越大,相位累加器的輸出變化越快,ROM的地址變化也越快,輸出的正弦信號頻率越高。需要注意的是,受ROM容量的限制,ROM地址位數(shù)一般小于相位累加器的位數(shù),因此,把相位累加器輸出的高位作為ROM的地址。只需要改變頻率控制字,就可以改變輸出信號的頻率,因此,采用DDS技術(shù),對輸出信號頻率的控制十分簡單。DDS正弦信號發(fā)生器的基本原理框圖如圖2-1-1所示。</p><p>  

23、圖2-1 DDS正弦信號發(fā)生器基本原理框圖</p><p>  2.2 DDS信號的優(yōu)點與缺點</p><p>  2.2.1 DDS的優(yōu)點</p><p>  (l)輸出頻率相對帶寬較寬</p><p>  輸出頻率帶寬為50%fs(理論值),實際輸出帶寬仍可達到40%fs。</p><p>  (2)頻率轉(zhuǎn)換

24、時間短</p><p>  頻率時間等于頻率控制字的傳輸時間,也就是一個時鐘周期的時間。時鐘頻率越高,轉(zhuǎn)換時間越短。DDS的轉(zhuǎn)換時間可達納微秒級數(shù)量級,比使用其他的頻率合成方法都要短數(shù)個數(shù)量級。</p><p><b>  (3)頻率分辨率高</b></p><p>  若時鐘fs的頻率不變,DDS的頻率分辨率就是由相位累加器的位數(shù)N決定。只要

25、增加相位累加器的位數(shù)N即可獲得任意小的頻率分辨率。目前,大多數(shù)DDS的分辨率在1Hz數(shù)量級,許多小于1mHz甚至更小。</p><p><b>  (4)相位變化連續(xù)</b></p><p>  改變DDS輸出頻率,實際上改變的是每一個時鐘周期的相位增量,相位函數(shù)的曲線是連續(xù)的,只是在改變頻率的瞬間其頻率發(fā)生了突變,因而保持了信號相位的連續(xù)。</p>&

26、lt;p>  (5)輸出波形的靈活性</p><p>  只要在DDS內(nèi)部加上相應(yīng)控制如調(diào)頻控制FM,調(diào)相控制PM和調(diào)幅控制AM即可以方便靈活實現(xiàn)調(diào)頻,調(diào)頻和調(diào)幅等功能,產(chǎn)生FSK,PSK,ASK,MSK等信號。另外,只要在DDS的波形存儲器存放不同波形數(shù)據(jù),就可以實現(xiàn)各種波形的輸出,如三角波,鋸齒波和矩形波甚至是任意波形。當DDS的波形存儲器分別存放正弦和余弦函數(shù)表時,即可得到正交的兩路輸出。</p

27、><p>  2.2.2 DDS的缺點</p><p>  (1)輸出帶寬范圍有限</p><p>  由于DDS內(nèi)部DAC和波形存儲器(ROM)的工作速度有限,使得DDS輸出的最高頻率有限。目前市場上采用CMOS,TTL,EcL,工藝制作的DDS芯片,工作頻率一般在幾十MHz至400MHz左右。采用GaAS工藝的DDS芯片工作頻率可達2GHz以上。</p>

28、;<p><b>  (2)輸出散雜大</b></p><p>  由于DDS采用全數(shù)字結(jié)構(gòu),不可避免地引入了散雜。其來源主要由三個:相位累加器相位舍入誤差造成的散雜;幅度量化誤差造成的散雜和 DAC非理想特性造成的散雜。</p><p><b>  2.3 本章小結(jié)</b></p><p>  本章主要

29、介紹了DDS的原理。其中第一部分以正弦波為例子,對DDS原理在整個設(shè)中的重要意義進行講解。后一部分則是分析DDS的優(yōu)點以及缺點。</p><p>  第3章 開發(fā)平臺介紹</p><p>  硬件平臺FPGA介紹</p><p>  3.1.1 FPGA簡介</p><p>  自1985年Xilinx公司推出有史以來第一顆現(xiàn)場可程序化邏

30、輯組件至今,已經(jīng)歷了超過二十幾年的發(fā)展歷史。在發(fā)展過程中,以FPGA為代表的數(shù)字系統(tǒng)現(xiàn)場集成取得了驚人的發(fā)展:現(xiàn)場可程序化邏輯組件從最初的1200個可利用邏輯閘,發(fā)展到90年代的25萬個可利用邏輯閘。其后不到數(shù)年,著名FPGA廠商,包括Altera公司、Xilinx等公司,又陸續(xù)推出了內(nèi)建數(shù)百萬邏輯閘以上的FPGA芯片,將現(xiàn)場可程序化組件的整合度提高到一個新的水平。如今,各廠商不再盲目追加邏輯閘的數(shù)量,轉(zhuǎn)而努力消除過去FPGA弱勢之處,

31、以強化過的運算效能、更為節(jié)省的功耗,向各種運算領(lǐng)域撲天蓋地而來。</p><p>  縱觀現(xiàn)場可程序化邏輯組件的發(fā)展歷史,其之所以具有巨大的市場吸引力,在于FPGA不僅可以解決電子系統(tǒng)小型化、低功耗、高可靠性等問題,而且其開發(fā)周期短、開發(fā)軟件投入少、芯片價格不斷降低,促使FPGA在某些情況下得以取代ASIC的市場,特別是對小量、多樣,短開發(fā)期的產(chǎn)品需求,使FPGA成為首選。</p><p>

32、;  3.1.2 FPGA工作原理</p><p>  FPGA采用了邏輯單元陣列LCA(Logic Cell Array)這樣一個新概念,內(nèi)部包括可配置邏輯模塊CLB(Configurable Logic Block)、輸出輸入模塊IOB(Input Output Block)和內(nèi)部連線(Interconnect)三個部分。它的基本特點主要有:采用FPGA設(shè)計ASIC電路,用戶不需要投片生產(chǎn),就能得到合用的芯

33、片。 FPGA可做其它全定制或半定制ASIC電路的中試樣片。 FPGA內(nèi)部有豐富的觸發(fā)器和I/O引腳。FPGA是ASIC電路中設(shè)計周期最短、開發(fā)費用最低、風險最小的器件之一。FPGA采用高速CHMOS工藝,功耗很低,可以與CMOS、TTL電平兼容??v觀現(xiàn)場可程序化邏輯組件的發(fā)展歷史,其之所以具有巨大的市場吸引力,在于FPGA不僅可以解決電子系統(tǒng)小型化、低功耗、高可靠性等問題,而且其開發(fā)周期短、開發(fā)軟件投入少、芯片價格不斷降低,促使FPG

34、A在某些情況下得以取代ASIC的市場,特別是對小量、多樣,短開發(fā)期的產(chǎn)品需求,使FPGA成為首選[11]。</p><p>  FPGA是由存放在片內(nèi)RAM中的程序來設(shè)置其工作狀態(tài)的,因此,工作時需要對片內(nèi)的RAM進行編程。用戶可以根據(jù)不同的配置模式,采用不同的編程方式。 加電時,F(xiàn)PGA芯片將EPROM中數(shù)據(jù)讀入片內(nèi)編程RAM中,配置完成后,F(xiàn)PGA進入工作狀態(tài)。掉電后,F(xiàn)PGA恢復(fù)成白片,內(nèi)部邏輯關(guān)系消失,因

35、此,F(xiàn)PGA能夠反復(fù)使用。FPGA的編程無須專用的FPGA編程器,只須用通用的EPROM、PROM編程器即可。當需要修改FPGA功能時,只需換一片EPROM即可。這樣,同一片F(xiàn)PGA,不同的編程數(shù)據(jù),可以產(chǎn)生不同的電路功能。因此,F(xiàn)PGA的使用非常靈活[12]。</p><p>  軟件平臺Quartus II介紹</p><p>  圖3-2 Quartus II軟件界面</p&g

36、t;<p>  如圖3-2所示為Quartus II軟件的基本界面,Quartus II軟件是Altera的綜合開發(fā)工具,它集成了Altera的FPGA/CPLD開發(fā)流程中所涉及的所有工具和第三方軟件接口。Quartus II幾乎支持Altera現(xiàn)行的所有FPGA,在該集成開發(fā)環(huán)境中可以實現(xiàn)電路的設(shè)計、綜合、適配到最后形成下載文件以及在線配置FPGA,還能對電路進行功能仿真,對適配后形成的最終電路進行時序仿真。也就是說只要

37、有了Quartus II這個集成開發(fā)環(huán)境,就基本上可以完成Altera公司FPGA開發(fā)過程中的所有工作。另外,為了方便設(shè)計,Quartus II還提供了免費LPM模塊供用戶調(diào)用,如計數(shù)器、存儲器、加法器、乘法器等。除了這些免費的LPM模塊外,Altera公司還開發(fā)了有償IP核提供給有需要的用戶使用。這些LPM模塊和IP核都大大簡化了設(shè)計過程,縮短了開發(fā)周期。Quartus II支持多種輸入方式,常用的有:</p><

38、p> ?。?)原理圖輸入:這種方法最直觀,適合頂層電路的設(shè)計;</p><p> ?。?)硬件描述語言輸入:包括AHDL、VHDL及Verilog HDL輸入。采用硬件描述語言的優(yōu)點易于使用自頂向下的設(shè)計方法、易于模塊規(guī)劃和復(fù)用、移植性強、通用性好。</p><p>  (3)網(wǎng)表輸入:對于在其他軟件系統(tǒng)上設(shè)計的電路,可以采用這種設(shè)計方法,而不必重新輸入,Quartus II支持的網(wǎng)

39、表文件包括EDIF、VHDL及Verilog等格式。這種方法的優(yōu)點是可以充分利用現(xiàn)有的設(shè)計資源。</p><p><b>  本章小結(jié)</b></p><p>  本章主要對本次設(shè)計所選擇的開發(fā)平臺進行簡單介紹。FPGA因為其不僅可以解決電子系統(tǒng)小型化、低功耗、高可靠性等問題,而且其開發(fā)周期短、開發(fā)軟件投入少、芯片價格不斷降低,所以成為首選。軟件部分主要是對Quart

40、us II進行簡單的介紹。</p><p><b>  第4章 系統(tǒng)實現(xiàn)</b></p><p><b>  4.1 設(shè)計要求</b></p><p>  采用DDS技術(shù)設(shè)計一個信號發(fā)生器,其原理框圖如圖4-1所示:</p><p>  圖4-1 DDS信號發(fā)生器原理框圖</p>

41、<p><b>  設(shè)計要求如下:</b></p><p>  1、具有產(chǎn)生正弦波、方波、三角波三種周期性波形;</p><p>  2、輸出信號頻率范圍1Hz~5MHz,重復(fù)頻率可調(diào),頻率步進間隔小于等于1Hz;</p><p>  3、輸出信號幅值范圍0.5~10V(峰-峰值),信號幅值和直流偏移量可數(shù)控調(diào)節(jié);</p>

42、;<p>  4、具有穩(wěn)幅輸出功能,當負載變化時,輸出電壓幅度變化不大于±3%(負載電阻變化范圍:50Ω~正無窮);</p><p>  5、具有顯示輸出波形類型、重復(fù)頻率等功能。</p><p>  4.2 系統(tǒng)方案論證與比較</p><p>  4.2.1 產(chǎn)生DDS信號波形方案的選擇</p><p>  目前

43、主流的DDS信號發(fā)生器方案有兩種:</p><p>  方案一、采用專用DDS集成芯片實現(xiàn)的信號發(fā)生器;</p><p>  方案二、采用單片機+FPGA實現(xiàn)的DDS信號發(fā)生器。</p><p>  比較這兩種方案,專用DDS芯片內(nèi)部的波形數(shù)據(jù)存放在ROM型存儲器中,波形數(shù)據(jù)無法修改故而只能產(chǎn)生固定波形的信號,但系統(tǒng)比較容易實現(xiàn)。而采用單片機+FPGA實現(xiàn)的DDS信

44、號發(fā)生器則是將波形數(shù)據(jù)存儲器改為FPGA上的RAM行存儲器,波形信號能實時改變,在利用單片機系統(tǒng)進行控制和處理后,能實現(xiàn)DDS任意波形發(fā)生器,功能更加完善,更新更加方便。</p><p>  故本設(shè)計選用方案二。</p><p>  4.2.2 單片機處理器比較選擇</p><p>  方案一:采用AT89C51單片機處理電路,其擁有并行I/O口32個,對于實際應(yīng)

45、用來說遠遠不夠,且不具備自帶AD、DA,使得電路結(jié)構(gòu)復(fù)雜。</p><p>  方案二:C8051F360單片機內(nèi)部資源非常豐富,是目前功能最全、速度最快的51內(nèi)核SoC單片機之一,包括告訴8051微處理器內(nèi)核,擴充終端處理系統(tǒng),256字節(jié)內(nèi)部RAM,1024字節(jié)XRAM和32KB的閃速存儲器,多達39個I/O引腳,兩個內(nèi)部振蕩器和片內(nèi)調(diào)試電路,能很好的完成本系統(tǒng)所需的單線程,鍵盤功能分支程序控制。 </p

46、><p>  在本設(shè)計中選用方案二。</p><p>  4.3 系統(tǒng)理論分析及設(shè)計</p><p>  4.3.1 總體設(shè)計</p><p>  本設(shè)計采用單片機+FPGA實現(xiàn)的DDS信號發(fā)生器,整個DDS信號發(fā)生器由單片機子系統(tǒng)、FPGA子系統(tǒng)、模擬子系統(tǒng)三部分組成,系統(tǒng)原理框圖如下圖4-2所示:</p><p>

47、  圖4-2系統(tǒng)原理框圖</p><p>  4.3.2 主要技術(shù)參數(shù)的分析與確定</p><p>  DDS信號發(fā)生器的技術(shù)指標取決于DDS系統(tǒng)的時鐘頻率、相位累加器的位數(shù)、波形數(shù)據(jù)表的長度等參數(shù),下面對這些參數(shù)進行討論,以選擇適合的模擬電路元件以實現(xiàn)高質(zhì)量的DDS信號。</p><p><b>  1、輸出帶寬</b></p>

48、<p>  當頻率控制字M=1時,輸出信號的最低頻率為</p><p><b> ?。?-1)</b></p><p>  式中,為參考時鐘頻率,N為相位累加器的位數(shù)。當N取很大值時,最低輸出頻率可以認為達到DDS最低頻率的零頻。</p><p>  DDS的最高輸出頻率由參考時鐘周期和一個周期波形采樣點數(shù)決定,若采樣點數(shù)為X,則

49、最高輸出頻率為</p><p><b>  (4-2)</b></p><p><b>  2、頻率分辨率</b></p><p>  頻率分辨率由下式?jīng)Q定:</p><p><b> ?。?-3)</b></p><p>  在此式中,當N取值足夠大時

50、,DDS信號可以達到很高的信號分辨率。</p><p>  3、 DDS信號的質(zhì)量</p><p>  由于DDS信號發(fā)生器采用全數(shù)字設(shè)計,不可避免在采樣時會帶來D/A產(chǎn)生的幅度量化噪聲和相位累加運算截斷產(chǎn)生的相位噪聲。改善DDS信號質(zhì)量的主要方法有:增加波形存儲器和D/A的字寬;增加每個周期數(shù)據(jù)的樣本數(shù),提高外部參考時鐘頻率和通過低通濾波器來改善輸出信號質(zhì)量。</p>&l

51、t;p>  綜合上述討論和對器件成本以及硬件系統(tǒng)復(fù)雜度的考慮,DDS子系統(tǒng)的參數(shù)確定如下:</p><p>  參考時鐘頻率:40MHz;</p><p>  頻率控制字的位寬:32位;</p><p>  相位累加器的位寬:32位;</p><p>  波形存儲器的地址位寬:8位;</p><p>  波形存儲

52、器的數(shù)據(jù)位寬:8位。</p><p>  4.3.3 數(shù)字部分電路設(shè)計</p><p>  該DDS信號發(fā)生器的數(shù)字部分包括單片機子系統(tǒng)、FPGA、高速D/A轉(zhuǎn)換器、人機接口(128×64點陣式LCD模塊和4×4矩陣式鍵盤)。</p><p>  單片機子系統(tǒng)需要完成鍵盤輸入、液晶顯示、向FPGA傳送數(shù)據(jù)、輸出信號幅值和直流偏移量的數(shù)字控制等功

53、能。本設(shè)計中DDS信號發(fā)生器的鍵盤主要用于選擇信號波形、輸入頻率值、控制輸出信號幅值和直流偏移量。0~9鍵用于輸入頻率值,其中0~3鍵還用于選擇輸出波形;Hz鍵用于輸入給定頻率值的確認鍵;波形選擇鍵用于選擇波形;A+鍵用于增加信號幅值,A-鍵用于減少信號幅值,D+鍵用于增加直流偏移量,D-鍵用于減少直流偏移量。單片機控制程序包括主程序和鍵盤終端服務(wù)程序。主程序完成初始化和鍵值輸入處理功能,鍵盤終端服務(wù)程序只完成鍵值讀入功能。鍵盤終端中斷

54、程序完成鍵盤中斷服務(wù)。</p><p>  FPGA內(nèi)部的DDS子系統(tǒng)包括地址譯碼電路、LCD模塊接口、4×4鍵盤接口和DDS子系統(tǒng)。其中地址譯碼器用來產(chǎn)生外部數(shù)據(jù)存儲器和I/O接口的片選信號,LCD模塊LCD12864與單片機之間采用并行接口將單片機處理后的數(shù)據(jù)顯示出來,4×4鍵盤接口電路包括分頻電路、鍵盤掃描電路、行值編碼器和消抖電路實現(xiàn)按鍵轉(zhuǎn)換成二進制編碼、鍵值數(shù)據(jù)端口與單片機總線接口連

55、通、鍵值有效時的中斷信號和消抖功能,DDS子系統(tǒng)由頻率字寄存器、相位累加器、波形數(shù)據(jù)存儲器等幾部分組成以根據(jù)輸入控制要求產(chǎn)生多種波形信號。</p><p>  高速D/A轉(zhuǎn)換器采用AD公司的高速D/A轉(zhuǎn)換器AD9708,轉(zhuǎn)換速率為40MHz,含有一個輸入數(shù)據(jù)鎖存器和譯碼邏輯電路,用來完成波形重建功能。</p><p>  4.3.4 模擬部分電路設(shè)計</p><p&g

56、t;  該DDS信號發(fā)生器的模擬部分包括濾波電路、信號放大器電路和驅(qū)動電路。模擬電路將承擔輸出信號幅值、直流偏移量、驅(qū)動能力等指標的實現(xiàn)。</p><p>  濾波電路針對高速D/A輸出信號進行濾波,將輸出信號中高頻分量通過低通濾波器濾去,得到相對純凈的波形信號。根據(jù)DDS信號發(fā)生器的設(shè)計要求,輸出正弦信號的最高頻率為5MHz,故本DDS信號發(fā)生器的濾波電路采用截至頻率為5MHz的單片機集成低通濾波器LT6600

57、-5。另在LT6600-5的外部電路中需外接阻值較大的兩個電阻,以防治濾波器內(nèi)部差分電路增益過大引起的輸出波形飽和失真。</p><p>  信號放大電路由基本差分放大電路、反相放大器和數(shù)字電位器組成??紤]到差分輸出信號仍可能含有少量直流分量,在反相放大器后設(shè)計了一個直流偏移量調(diào)節(jié)電路,該直流偏移量調(diào)節(jié)電路由數(shù)字電位器實現(xiàn)。</p><p>  驅(qū)動電路將為DDS信號發(fā)生器提供穩(wěn)幅輸出能力

58、,即當負載電阻從50Ω~∞變化時,輸出電壓幅度變化不大與±3%。實際設(shè)計中我們采用了TI公司的THS3092高速集成運算放大器。</p><p>  4.4 FPGA內(nèi)部DDS子系統(tǒng)的設(shè)計</p><p>  FPGA內(nèi)部邏輯分為四個部分:地址譯碼電路、4X4鍵盤接口、DDS子系統(tǒng)、LCD模塊接口。下面主要介紹DDS子系統(tǒng)的設(shè)計。</p><p>  根

59、據(jù)DDS原理圖可知,DDS子系統(tǒng)由頻率字寄存器、相位累加器、波形數(shù)據(jù)存儲器幾個部分組成。根據(jù)設(shè)計題目要求,DDS信號發(fā)生器應(yīng)能產(chǎn)生多種波形,這就要求單片機可以向波形數(shù)據(jù)存儲器傳送不同的波形數(shù)據(jù),顯然,波形數(shù)據(jù)存儲器采用雙口RAM是最合適的。雙口RAM中的一個端口與單片機總線相連,接受來自單片機的256字節(jié)波形數(shù)據(jù),另一個端口與D/A轉(zhuǎn)換器相連。根據(jù)上述思路,可以得到圖4-3所示的DDS子系統(tǒng)頂層原理圖。圖中DLATCH8為8為地址鎖存器

60、、frew為頻率字寄存器、PHASE-ACC為相位累加器、LMP-RAM-DP為雙口RAM:</p><p>  圖4-3 DDS子系統(tǒng)頂層原理圖</p><p><b>  波形數(shù)據(jù)存儲器</b></p><p>  波形數(shù)據(jù)存儲器的功能是:一方面,單片機能夠通過并行總線將波形數(shù)據(jù)寫入存儲器,另一方面,在相位累加器輸出地址控制下將波形數(shù)據(jù)依

61、次送給高速D/A。在圖4-3所示的頂層原理圖中,波形數(shù)據(jù)存儲器采用了雙端口RAM,一個端口與單片機并行總線相連,另一個端口與相位累加器和高速D/A相連。</p><p>  圖4-3中的雙口屬于簡單的雙端口RAM,有一個獨立的寫端口和一個獨立的讀端口。對于寫端口來說,其信號來自單片機的并行總線。當單片機執(zhí)行外部數(shù)據(jù)存儲器寫指令時,并行總線上的數(shù)據(jù),地址,寫信號通過同步時鐘CLK1的上升沿送入雙口RAM的存儲體,完

62、成將波形數(shù)據(jù)寫入指定的存儲單元。對讀端口來說,其地址信號來自相位累加器輸出的高8位,讀使能信號直接接高電平,數(shù)據(jù)輸入送高速D/A轉(zhuǎn)換器。讀端口的輸入輸出信號也是與同步時鐘CLK1同步。假設(shè)忽略器件延時,CLK0為DDS子系統(tǒng)的參考時鐘,雙口RAM同步時鐘CLK1由CLK0反向得到,高速D/A時鐘信號DACLK與CLK相同。相位累加器的輸出地址在CLK0的上升沿時刻發(fā)生改變,由于CLK1與CLK0反相,保證在CLK1上升沿時刻,Addr[

63、31..24]于穩(wěn)定狀態(tài)。雙口RAM的輸出數(shù)據(jù)DACD[7..0]在CLK1上升沿時刻發(fā)生改變,由于高速D/A的時鐘信號DACLK與CLK1反相,保證了DACLK上升沿時刻,DAC[7..0]處于穩(wěn)定狀態(tài)。</p><p><b> ?。?)地址鎖存模塊</b></p><p>  C8051F360單片機P1口分時送出低8位地址和8位數(shù)據(jù)信息。通過FPGA內(nèi)部設(shè)計一

64、個8位鎖存器即可獲取低8位地址。地址鎖存器的VHDL程序為:</p><p><b>  port(</b></p><p>  clk:in std_logic;</p><p>  d:in std_logic_vector(7 downto 0);</p><p>  q:out std_logic_vector

65、(7 downto 0)</p><p><b>  );</b></p><p>  end DLATCH8;</p><p>  architecture one of DLATCH8 is</p><p><b>  begin</b></p><p>  proces

66、s(clk,d)</p><p><b>  begin</b></p><p>  if(clk='1')then</p><p><b>  q<=d;</b></p><p><b>  end if;</b></p><p>

67、;  end process;</p><p> ?。?)相位累加器模塊的設(shè)計</p><p>  相位累加器是DDS子系統(tǒng)的核心,由32位加法器與32位累加寄存器級聯(lián)構(gòu)成,對代表頻率大小的頻率控制字進行累加運算,輸出波形存儲器的地址。</p><p>  相位累加器的設(shè)計可以直接采用LPM宏單元庫中的LMP_ADD_SUB宏單元,也可以用VHDL語言自行設(shè)計。以下

68、就是采用VHDL語言實現(xiàn)的相位累加器源程序:</p><p>  library ieee;</p><p>  use ieee.std_logic_1164.all;</p><p>  use ieee.std_logic_unsigned.all;</p><p>  use ieee.std_logic_arith.all;<

69、/p><p>  entity phase_acc is</p><p><b>  port(</b></p><p>  clk:in std_logic; --系統(tǒng)時鐘</p><p>  freqin:in std_logic_vector(31 downto 0);

70、 --32位輸入頻率字</p><p>  romaddr:out std_logic_vector(7 downto 0)</p><p>  ); --8位相位累加器輸出</p><p>  end phase_acc;</p><p>  

71、architecture one of phase_acc is</p><p>  signal acc:std_logic_vector(31 downto 0);</p><p><b>  begin</b></p><p>  process(clk)</p><p><b>  begin</

72、b></p><p>  if(clk'event and clk='1')then</p><p>  acc<=acc+freqin; --頻率字累加,寄存</p><p><b>  end if;</b></p><p>  end p

73、rocess;</p><p>  romaddr<=acc(31 downto 24); --截斷輸出</p><p><b>  end one;</b></p><p>  語句acc<=acc+freqin實現(xiàn)頻率字累加功能,并且因為要在下一時鐘到來時才能進行下一次累加,所以也同時實現(xiàn)了累加

74、寄存器功能。最后語句romaddr<=acc(31 downto 24)實現(xiàn)相位截斷的功能,截取了32位相位地址碼的高8位。</p><p> ?。?)頻率字寄存器模塊</p><p>  由于DDS的頻率字采用32位字寬,因此,頻率字寄存器由4個8位寄存器構(gòu)成。講地址譯碼器產(chǎn)生的片選信號CS2與地址信號A1、A0配合進行再次譯碼就可以得到4個寄存器片選信號CS20~CS23。為了保

75、證數(shù)據(jù)的可靠傳送,片選信號CS20~CS23必須與寫信號相或后送入寄存器時鐘輸入端。單片機通過4次寫操作將32位頻率字送到頻率字寄存器。頻率字寄存器模塊的原理圖如圖4-4所示:</p><p>  圖4-4 頻率字接受模塊頂層圖</p><p>  4.5 單片機控制軟件設(shè)計</p><p>  DDS信號發(fā)生器采用FPGA等硬件來完成高速波形的產(chǎn)生任務(wù),其工作不

76、需要單片機過多的干預(yù)。單片機子系統(tǒng)只需完成鍵盤輸入、液晶顯示、向FPGA傳送數(shù)據(jù)、輸出信號的幅值和直流偏移量的數(shù)字控制等功能。從軟件的總體結(jié)構(gòu)來看,單片機控制軟件是一種單線程、鍵盤功能的分支程序。</p><p>  4.5.1 人機接口功能定義</p><p>  根據(jù)DDS信號發(fā)生器的功能設(shè)計了如圖4-5所示的3種LCD顯示頁面。頁面1為初始化顯示頁面,頁面2為波形選擇頁面,在給定頻

77、率輸入頁面中,7個小方框所顯示的位置用于顯示輸入給定的頻率值。給定的頻率范圍為0000000~9999999Hz。為了操作方便,允許輸入給定頻率的位數(shù)在1~7位之間,用Hz鍵結(jié)束。</p><p>  對于DDS信號發(fā)生器來說,鍵盤主要用于選擇信號波形、輸入頻率值、控制輸出信號的幅值和直流偏移量。由于按鍵數(shù)量比較多,鍵盤采用4X4矩陣式鍵盤。鍵盤各按鍵的定義如圖4-6所示。0鍵~9鍵用于輸入頻率,期中0鍵~3鍵還

78、用于選擇輸出波形;Hz鍵用于輸入給定頻率的確認鍵;波形選擇鍵用于選擇波形;A+鍵用于增加信號幅值,A-鍵用于減少信號幅值,D+鍵用于增加直流偏移量,D-鍵用于減少直流偏移量。</p><p>  頁面1 </p><p>  頁面2 頁面3</p&

79、gt;<p>  圖4-5 頁面1~頁面3示意圖</p><p>  圖4-6 DDS信號發(fā)生器鍵盤定義</p><p>  4.5.2 主程序</p><p>  DDS信號發(fā)生器的控制程序可分為主程序和鍵盤中斷服務(wù)程序兩部分。在確定主程序和鍵盤中斷服務(wù)程序的功能時有兩種方案:一種方案是主程序只完成初始化,將鍵盤讀入和處理全部由鍵盤中斷服務(wù)程序

80、完成;另一種方案是主程序完成初始化和鍵值處理功能,而鍵盤中斷服務(wù)程序只完成鍵值讀入。由于鍵值處理程序設(shè)計數(shù)值運算、LCD模塊的顯示,將這些耗時的鍵值處理程序放入中斷服務(wù)程序不符合程序設(shè)計的一般原則,因此,選用第二種方案。</p><p>  主程序首先完成堆棧指針設(shè)置,C8051F360內(nèi)部資源初始化,LCD模塊初始化。初始化完成以后就不斷檢測有無按鍵鍵入,當有按鍵鍵入時,根據(jù)鍵值執(zhí)行相應(yīng)的功能。</p&g

81、t;<p>  由于0~2鍵不但用于輸入給定頻率,而且用來選擇輸出波形。為了區(qū)分0鍵~2鍵的不同功能,在主程序中定義了兩種工作模式:波形選擇模式和頻率輸入模式。在波形選擇模式下,0~2鍵用于選擇輸出波形。當0鍵有效時,選擇正弦波,單片機將256個字節(jié)正弦波波形數(shù)據(jù)發(fā)送到FPGA的雙口RAM中;當1鍵有效時,選擇方波,單片機將256個方波波形數(shù)據(jù)發(fā)送到FPGA中的雙口RAM中;當2鍵有顯示,選擇三角波,單片機將256個字節(jié)三

82、角波數(shù)據(jù)發(fā)送到FPGA的雙口RAM中。在頻率輸入模式下,0鍵到9鍵用于輸入給定的頻率值。</p><p>  定義了以上兩種工作模式以后,在主程序中分別設(shè)置一個波形選擇模式標志和一個頻率輸入模式標志位。主程序初始化時,將波形選擇模式和頻率輸入模式標志位均清零。當波形選擇鍵有效時,波形選擇模式標志位置1,主程序進入波形選擇模式;在波形選擇模式下,按0鍵~2鍵有效,頻率輸入模式標志位置1,主程序進入頻率輸入模式。&l

83、t;/p><p>  由于輸入給定頻率的位數(shù)允許在1~7位變化,程序設(shè)計師通過Hz鍵來結(jié)束給定頻率的輸入,因此Hz鍵不但用來顯示頻率的單位,也能起到確認鍵的功能。當Hz鍵有效時,程序?qū)⑤斎氲?~7位給定頻率值轉(zhuǎn)化為4字節(jié)頻率控制字,然后發(fā)送到FPGA的頻率控制字接收模塊。由于鍵盤輸入的給定頻率值為非壓縮型BCD碼,應(yīng)先將其轉(zhuǎn)化為二進制數(shù),再根據(jù)公式(2-5)將給定頻率值轉(zhuǎn)化成為4字節(jié)的頻率控制字。當相位累加器字寬N取

84、32,參考時鐘頻率fclk取40MHz時,頻率控制字可以由以下公式計算得到:</p><p><b> ?。?-4)</b></p><p>  式子中fout為由二進制數(shù)表示的給定頻率,乘上系數(shù)107.374,就可以得到4字節(jié)的頻率控制字。</p><p>  單片機系統(tǒng)主程序見附件。主程序流程圖如圖4-7所示。</p><

85、;p>  圖4-7 系統(tǒng)主程序流程圖</p><p><b>  4.6 本章小結(jié)</b></p><p>  本章主要介紹了DDS信號發(fā)生器的實現(xiàn)過程,開頭部分講述了包括DDS信號發(fā)生器的原理圖,材料選擇的比較以及重點模塊的介紹。后面一部分主要講述單片機控制軟件的設(shè)計,包括人機接口的定義、主程序的實現(xiàn)以及整個流程圖。</p><p>

86、;<b>  第5章 系統(tǒng)測試</b></p><p>  將FPGA內(nèi)部的完整設(shè)計(地址譯碼器、編碼式鍵盤接口、LCD接口、DDS子系統(tǒng))通過USB-Blaster下載電纜下載到FPGA之中。單片機子系統(tǒng)通過適配器與PC機相連</p><p>  5.1 單片機控制軟件調(diào)試步驟</p><p>  步驟一:測試顯示和鍵盤程序功能。程序運行時

87、顯示圖4-5中的頁面1。按波形選擇鍵,應(yīng)顯示圖4-5中的頁面2。</p><p>  步驟二:通過鍵盤輸入給定頻率,用示波器觀測告訴D/A輸出波形,波形顯示是否正常,頻率是否正確。如果波形顯示不正常,重點檢查單片機中波形傳送子程序和FPGA內(nèi)部雙口RAM的時序是否正確。如果波形顯示正常,但是輸出頻率和給定頻率誤差較大,重點檢查 單片機中頻率字傳送子程序和FPGA內(nèi)部頻率字寄存器邏輯電路有無錯誤。調(diào)試時,可將FPG

88、A內(nèi)部的一些關(guān)鍵信號鎖定到未用到的I/O引腳上,以便測試。</p><p>  步驟三:按A+鍵和A-鍵,用示波器觀測C8051F360單片機D/A轉(zhuǎn)換器模擬輸出引腳電平是否變化,模擬放大電路輸出信號的幅值有無變化。</p><p>  步驟四:按D+鍵和D-鍵,用示波器觀察數(shù)控電位器的第5腳電平是否變化,模擬放大電路輸出信號的直流偏置有無變化[13]。</p><p&

89、gt;  5.2 系統(tǒng)主要功能指標測試</p><p>  用存儲示波器測量反相放大器模擬輸出端的正弦波信號、方波信號、三角波信號,測試頻率為100KHz時候輸出結(jié)果如圖5-1、圖5-2和圖5-3所示。</p><p>  圖5-1 正弦波輸出波形</p><p>  圖5-2 方波輸出波形</p><p>  圖5-3 三角波輸出波形&l

90、t;/p><p>  用鍵盤輸入頻率值,測試輸出信號的頻率值。表5-1所示為DDS信號發(fā)生器實測頻率與給定頻率對照表。</p><p>  表5-1 實測頻率與給定頻率對照表</p><p><b>  5.3 本章小結(jié)</b></p><p>  本章第一步分主要介紹了系統(tǒng)測試的一些基本原來與方法。第二部分則是對本系統(tǒng)

91、進行測試,主要觀察了輸出波形是否與所選波形對應(yīng),以及輸出頻率與給定頻率是否接近。該DDS信號發(fā)生器由于其設(shè)計穩(wěn)定性,電路合理性,基本完成設(shè)計要求指標。</p><p><b>  第6章 總結(jié)</b></p><p>  本文結(jié)合DDS波形發(fā)生器的設(shè)計和實現(xiàn),從理論和實際兩個方面,對數(shù)字直接頻率合成技術(shù)進行了研究。經(jīng)過研究,完成了預(yù)定的設(shè)計任務(wù),在對DDS波形發(fā)生器的

92、研究中,完成了軟件程序的設(shè)計包括單片機主程序以及初始化程序的設(shè)計;分析了頻率合成技術(shù)的基本問題,并重點介紹了直接數(shù)字頻率合成技術(shù);研究了基于DDS原理利用FPGA的具體實現(xiàn)波形發(fā)生器的設(shè)計方法,完成了DDS頂層原理圖的設(shè)計。</p><p>  本設(shè)計完成了預(yù)定的所有功能,但由于時間倉促,本設(shè)計還有許多需要完善和改進的地方。本設(shè)計中能方便用戶控制的波形種類有限,對于任意波形的輸入控制,可利用現(xiàn)有的FPGA中的RO

溫馨提示

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

評論

0/150

提交評論