畢業(yè)設(shè)計---基于單片機的受控正弦信號發(fā)生器設(shè)計_第1頁
已閱讀1頁,還剩40頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  畢業(yè)論文(設(shè)計)</b></p><p>  基于單片機的受控正弦信號發(fā)生器設(shè)計</p><p>  系 部 自動控制工程系 </p><p>  專 業(yè) 名 稱 電氣自動化技術(shù) </p><p>  班 級 電氣1083班

2、 </p><p>  姓 名 </p><p>  學 號 </p><p>  指 導 教 師 </p><p>  2010 年 9 月 19日</p><p>  基于單片機的受控正弦信號發(fā)生器設(shè)計

3、</p><p><b>  摘 要</b></p><p>  本設(shè)計中的受控正弦信號發(fā)生器,以模擬電路和MSP430F149單片機為核心的控制系統(tǒng),采用單片機與DDS模塊相結(jié)合的方式,通過對DDS集成芯片AD9851的控制,實現(xiàn)了賽題要求的基本功能。系統(tǒng)由電流接收器、電流變送器、單片機控制模塊、DDS信號發(fā)生電路、LCD顯示模塊、A/D轉(zhuǎn)換模塊、信號調(diào)理電路、二

4、線式V/I變換電路等組成。該系統(tǒng)的輸出頻率和各種調(diào)制方式由可調(diào)電阻設(shè)置,并通過LCD顯示。</p><p>  本系統(tǒng)有效地使用MSP430F149單片機的片內(nèi)資源,將數(shù)字電路與模擬電路高效的融合到一起,配合自動控制算法,實現(xiàn)題目的基本要求的所有項及發(fā)揮部分的要求。</p><p>  關(guān)鍵詞:正弦信號發(fā)生器; MSP430F149; DDS; 數(shù)模轉(zhuǎn)換;二線式V/I變換</p&g

5、t;<p>  Sinusoidal Signal Generator Based on Signal Chip Machine Design</p><p><b>  Abstract</b></p><p>  The design of controlled sinusoidal signal generator , Which take ana

6、log circuits and MSP430F149 microconctroller as the core of the controlled system, using combination of Signal Chip Machine and DDS module , through controling of the intergrated chip AD9851 DDS requirements to achieve t

7、he basic function of the tile race . System made of the current receiver、current transducer、 microcontroller control module、DDS signal circuits、LCD display module、A / D converter module、signal conditioning circu</p>

8、;<p>  Key words:sinusoidal signal generator digital-to-analogue conversionMSP430f149; </p><p>  the signal of the DDS program ;two lines in a V/I change.</p><p><b>  目 錄</b>&

9、lt;/p><p><b>  1 緒 論1</b></p><p>  2方案設(shè)計與論證2</p><p>  2.1單片機選型2</p><p><b>  2.2電源方案2</b></p><p>  2.3電流變送器方案2</p><p>

10、;  2.4模數(shù)轉(zhuǎn)換電路方案3</p><p>  2.5信號調(diào)制方案3</p><p>  2.6系統(tǒng)總體框圖4</p><p>  3理論分析與計算5</p><p>  3.1 DDS的理論分析5</p><p>  3.2 DDS的參數(shù)計算5</p><p>  3.3載頻參

11、數(shù)計算6</p><p>  3.4 ADC參數(shù)計算6</p><p>  3.5電源運放的分析7</p><p><b>  4硬件電路設(shè)計8</b></p><p>  4.1電源模塊分析與設(shè)計8</p><p>  4.2壓力橋及調(diào)理電路模塊分析與設(shè)計9</p>&

12、lt;p>  4.3兩線制變換電路的設(shè)計與分析10</p><p>  4.4電流接收器模塊11</p><p>  4.5 24位ADC轉(zhuǎn)換電路設(shè)計12</p><p>  4.6 MSP430最小系統(tǒng)設(shè)計12</p><p><b>  5軟件設(shè)計14</b></p><p>

13、  5.1主程序的設(shè)計14</p><p>  5.2 ADC數(shù)據(jù)采集程序設(shè)計15</p><p><b>  6系統(tǒng)測試16</b></p><p>  6.1硬件調(diào)試16</p><p>  6.2軟件調(diào)試16</p><p>  6.3軟件硬件聯(lián)調(diào)16</p>&l

14、t;p>  6.4指標測試16</p><p><b>  總 結(jié)19</b></p><p><b>  致 謝20</b></p><p><b>  參考文獻21</b></p><p>  附錄1:源程序22</p><p>  

15、附錄2:作品的實際效果圖37</p><p><b>  1 緒 論</b></p><p>  在數(shù)字信號處理器飛速發(fā)展的今天,微處理器的應(yīng)用已主領(lǐng)著電子技術(shù)領(lǐng)域的潮流,先進的數(shù) 字信號處理技術(shù),能實現(xiàn)各種復雜的功能。對正弦波信號發(fā)生器而言,數(shù)字DDS技術(shù)的誕生,使波形發(fā)生器技術(shù)有了進一步的飛躍。</p><p>  在許多電子系統(tǒng)中,經(jīng)常

16、需要用到頻率和幅度可調(diào)的正弦波信號作為基準或載波信號。正弦渡信號主要通過模擬電路或DDS(Direct Digital Synthesis)等兩種方式產(chǎn)生.相對于模擬電路,DDS具有相位連續(xù)、頻率分辨率高、轉(zhuǎn)換速度快、信號穩(wěn)定等諸多優(yōu)點,因此,DDS存雷達、通信、測試、儀表等領(lǐng)域得到了廣泛的應(yīng)用。</p><p>  DDS是一項關(guān)鍵的數(shù)字化技術(shù)。DDS是直接數(shù)字式頻率合成器(Direct Digital Syn

17、thesizer)的英文縮寫。與傳統(tǒng)的頻率合成器相比,DDS具有低成本、低功耗、高分辨率和快速轉(zhuǎn)換時間等優(yōu)點,廣泛使用在電信與電子儀器領(lǐng)域,是實現(xiàn)設(shè)備全數(shù)字化的一個關(guān)鍵技術(shù)。 </p><p>  正如其基本數(shù)學論所表現(xiàn)的,基于數(shù)字的信號處理模塊在架構(gòu)上常常會使人聯(lián)想起以前的模擬模塊。例如,連續(xù)時間與離散時間過濾器設(shè)計所采用的傅立葉變換與Z變換的并行處理,構(gòu)成了像“形”與“階”這樣的表達式。還有許多其他并行結(jié)構(gòu)的

18、例子。的確,非類似結(jié)構(gòu)在采用線性與數(shù)字實現(xiàn)的基本函數(shù)中并不常見。因此,數(shù)字電路常常用數(shù)字信號來表現(xiàn)模擬電路一般用電壓或電流來表示的相同物理現(xiàn)象。</p><p>  而DDS(又稱為NCO(數(shù)字控制振蕩器))則正相反。不像大多數(shù)頻率發(fā)生器,DDS不采用可調(diào)諧反饋回路,而是直接用數(shù)字形式來構(gòu)造其輸出波形。因為簡單,故其結(jié)構(gòu)特別通用,已廣泛用于汽車收音機、數(shù)據(jù)通信系統(tǒng)及醫(yī)學成像儀等各種設(shè)備。NCO所采用的形式也是多種

19、多樣的,例如:IP(知識產(chǎn)權(quán)或?qū)@?、IC、板卡及儀器等,全都能從不同供應(yīng)商處得到。</p><p>  在應(yīng)用中,DDS可以以相當?shù)偷某杀咎峁┮粚哂袩o與倫比的幅度匹配與相位一致性的I、Q通道。DDS還能在時間與溫度變化條件下提供出色的長期頻率與幅度穩(wěn)定性,且只有很少的參數(shù)依賴性。</p><p>  我和周偉參加了2010年TI杯四川省大學生電子設(shè)計競賽,并在比賽中獲得了二等獎,經(jīng)領(lǐng)導

20、同意用電子設(shè)計競賽的文檔作為我的畢業(yè)設(shè)計,我的主要內(nèi)容是完成該設(shè)計的軟件部分。</p><p><b>  2方案設(shè)計與論證</b></p><p><b>  2.1單片機選型</b></p><p>  在整個系統(tǒng)中,信號發(fā)生部分和接收部分都需要一個主控芯片進行處理,主要考慮以下三個方案:</p><

21、;p>  方案一:采用SPCE061A單片機。SPCE061A單片機是16位的微處理器,主頻可以達到49MHz,速度很快,并且具有方便的ADC接口,但SPCE061A單片機的功耗不是最低的。</p><p>  方案二:采用C8051F系列單片機。C8051F系列單片機的發(fā)展已經(jīng)有比較長的時間,應(yīng)用比較廣泛,各種技術(shù)都比較成熟,但此系列單片機為8位機,處理速度不是很快,資源不夠充足,故不采用。</p&

22、gt;<p>  方案三:采用TI公司MSP430系列單片機。MSP430系列的單片機擁有有業(yè)界最低功耗,其中F149活動模式在160uA,因此在性價、功耗、速度上都有優(yōu)勢。</p><p>  由于在傳輸過程中對功耗要求,MSP430可以設(shè)置為低功耗模式,功耗(可達uA級)比C8051F系列至少低一個數(shù)量級,內(nèi)部還集成有溫度傳感器,所以本設(shè)計采用MSP430F149單片機作為主控芯片。</p

23、><p><b>  2.2電源方案</b></p><p>  在本系統(tǒng)中的電源主要考慮以下方案:</p><p>  方案一:開關(guān)電源。電源的效率高,體積小、重量輕、適應(yīng)的范圍大,它的主要缺點是輸出電壓中所含紋波較大,對電子設(shè)備的干擾較大,而且電路比較復雜,對元器件的要求較高。</p><p>  方案二:采用LM317

24、三端集成可調(diào)的穩(wěn)壓電源。此電源的優(yōu)點是輸出電壓穩(wěn)定,可以調(diào)節(jié),輸出的電壓誤差小,且電路比較簡單,能大幅度地降低電能和電極消耗。</p><p>  根據(jù)系統(tǒng)的要求和電路本身的特性,三端集成可調(diào)的穩(wěn)壓電源輸出電壓比開關(guān)電源穩(wěn)定,可以輸出多擋不同的電壓。電路本身還有過壓、過流、過熱保護,所以選擇方案二。</p><p>  2.3電流變送器方案</p><p>  在測

25、量各類非物理量,都需要轉(zhuǎn)換成模擬量電信號才能傳輸?shù)斤@示設(shè)備上,這種將物理量轉(zhuǎn)換成電信號的設(shè)備是十分重要的,主要考慮以下幾點:</p><p>  方案一:電流型變送器將物理量轉(zhuǎn)換成4-20mA電流輸出,必然要有外電源供電。最典型的是采用變送器需要的兩根電源線,再加上兩根電流線,總共4根線,但在應(yīng)用設(shè)備中控制的距離遠,就意味著成本高。</p><p>  方案二:在四線制的基礎(chǔ)上,省去兩根導

26、線,降低成本,減少使用的難度。</p><p>  根據(jù)題目要求,采用電流信號的原因是不容易受干擾。并且電流源內(nèi)阻無窮大,導線電阻串聯(lián)在回路中不影響精度。但是二線制的成本低,所以選擇二線制電流變送器。</p><p>  2.4模數(shù)轉(zhuǎn)換電路方案</p><p>  在系統(tǒng)中,數(shù)模轉(zhuǎn)換方案十分重要,有以下方案:</p><p>  方案一:采用

27、單片機內(nèi)部的ADC轉(zhuǎn)換電路,這種方案節(jié)省資源,減輕軟件設(shè)計難度,但是其轉(zhuǎn)換精度比較低,不適合本系統(tǒng)對精度的要求。</p><p>  方案二:使用24位數(shù)模轉(zhuǎn)換芯片ADS1255,具有業(yè)界最高性能的模數(shù)轉(zhuǎn)換器,可以達到較高的轉(zhuǎn)換精度。</p><p>  由于本系統(tǒng)對轉(zhuǎn)換精度和低功耗有相當高的要求,而單片機內(nèi)部的ADC對轉(zhuǎn)換精度比較低,權(quán)衡的考慮軟硬件復雜度和實際的效果,我們選擇24位數(shù)模

28、轉(zhuǎn)換芯片ADS1255作為模數(shù)轉(zhuǎn)換電路的主芯片。</p><p><b>  2.5信號調(diào)制方案</b></p><p>  由于題目的要求和所需得到的波形,DDS在本電路的要求中比較高,有以下方案:</p><p>  方案一:采用專用信號發(fā)生器。MAX038是美信公司的低失真單片信號發(fā)生器集成電路,內(nèi)部電路完善。使用該芯片,設(shè)計簡單,可以生

29、成同一頻率信號的各種波形信號,但頻率精確度和穩(wěn)定度都難以達到題目要求。</p><p>  方案二:采用傳統(tǒng)的直接頻率合成法直接合成。利用混頻器、倍頻器、分頻器和帶通濾波器完成對頻率的算術(shù)運算。由于采用大量的倍頻、分頻、混頻和濾波環(huán)節(jié),導致直接頻率合成器的結(jié)構(gòu)復雜,體積龐大,成本高,而且容易產(chǎn)生過多的雜散分量,難以達到較高的頻譜純度。</p><p>  方案三:采用直接數(shù)字合成(Dire

30、ct Digital Frequency Synthesizer,簡稱DDS或DDFS)。用隨機讀/寫存儲器RAM存儲所需波形的量化數(shù)據(jù),按照不同頻率要求,以頻率控制字K為步進對相位增量進行累加,以累加相位值作為地址碼讀取存在存儲器內(nèi)的波形數(shù)據(jù),經(jīng)D/A轉(zhuǎn)換和幅度控制,再濾波即可得所需波形。DDS具有相對帶寬很寬,頻率轉(zhuǎn)換時間極短(可小于20微妙),頻率分辨率高,全數(shù)字化結(jié)構(gòu)便于集成以及輸出相位連續(xù),頻率、相位和幅度均可實現(xiàn)程控,因此,

31、可以完全滿足本題目的要求。DDS運算速度高,系統(tǒng)集成度強的優(yōu)勢設(shè)計的這種信號發(fā)生器,比以前的數(shù)字式信號發(fā)生器具有速度更快,且實現(xiàn)更加簡便。</p><p>  從題目要求來看,上述三種方案都可以滿足題目合成頻率范圍的要求,但信號發(fā)生器產(chǎn)生的頻率穩(wěn)定度、精確度都不如DDS合成的頻率;另一方面,DDS比信號發(fā)生器更容易精確控制,所以我們選擇DDS芯片進行頻率合成。</p><p><b&

32、gt;  2.6系統(tǒng)總體框圖</b></p><p>  圖2-1系統(tǒng)總體框圖</p><p><b>  3理論分析與計算</b></p><p>  3.1 DDS的理論分析</p><p>  DDS的基本原理是在高速存儲器中放入正弦函數(shù)——相位數(shù)據(jù)表格,經(jīng)過查表操作,將讀出的數(shù)據(jù)送到高速DAC產(chǎn)生正弦

33、波??删幊藾DS系統(tǒng)原理如圖3-1所示。</p><p>  圖3-1 DDS原理圖</p><p>  N:相位累加器位數(shù); </p><p>  M:相位累加器實際對ROM尋址的位數(shù);</p><p>  S:ROM輸出正弦信號(離散化)的位數(shù);</p><p>  位數(shù):相位累加器舍去的

34、位數(shù),滿足位數(shù)=N-M。</p><p>  DDS系統(tǒng)由頻率控制字、相位累加器、正弦查詢表、數(shù)/模轉(zhuǎn)換器和低通濾波器組成。參考時鐘為高穩(wěn)定度的晶體振蕩器,其輸出用于同步DDS各組成部分的工作。DDS系統(tǒng)的核心是相位累加器,它由N位加法器與N位相位寄存器構(gòu)成,類似于一個簡單的計算器。每來一個時鐘脈沖,相位寄存器的輸出就增加一個步長的相位增量值,加法器將頻率控制數(shù)據(jù)與累加寄存器輸出的累加相位數(shù)據(jù)相加,把相加結(jié)果送至

35、累加寄存器的數(shù)據(jù)輸入端。相位累加器進入線性相位累加,累加至滿量程時產(chǎn)生一次計數(shù)溢出,這個溢出頻率即為DDS的輸出頻率。正弦查詢表是一個可編程只讀存儲器(PROM),存儲的是以相位為地址的一個周期正弦信號的采樣編碼值,包含一個周期正弦波的數(shù)字幅度信息,每個地址對應(yīng)于正弦波中0~360°范圍的一個相位點。將相位寄存器的輸出與相位控制字相加,得到的數(shù)據(jù)作為一個地址對正弦查詢表進行尋址,查詢表把輸入的地址相位信息映射成正弦波幅度信號,

36、驅(qū)動DAC,輸出模擬信號。低通濾波器平滑并濾除不需要的取樣分量,以便輸出頻譜純凈的正弦波信號。</p><p>  3.2 DDS的參數(shù)計算</p><p>  對于計數(shù)容量為2N相位累加器和具有M個相位取樣點的正弦波波形存儲器,若頻率控制字為K,輸出信號頻率為f o,參考時鐘頻率為f c,則DDS系統(tǒng)輸出信號的頻率為</p><p>  f o=kfc/2N

37、 (式3—2)</p><p>  輸出信號頻率的頻率分辨率為</p><p>  △f min=fc/2N

38、 (式3—3)</p><p>  由奈奎斯特采樣定理可知,DDS輸出的最大頻率為</p><p>  f max=fc/2 (式3—4 )</p><p>  頻率控制字可由以上公式推出:</p><p>  K=f o&#

39、215;2N/fc (式3—5)</p><p>  當外部參考時鐘頻率為50MHz,輸出頻率需要為1MHz時,系統(tǒng)時鐘經(jīng)過6倍頻,使得f c變?yōu)?00MHz,這樣就可利用以上公式計算出DDS的需要設(shè)定的控制頻率字K=248/300。</p><p><b>  3.3載頻參數(shù)計算

40、</b></p><p>  本題要求:輸出頻率范圍是1000KHz-2000KHz,頻率分辨率為100Hz,頻率穩(wěn)定度優(yōu)于10-4,信號波形無明顯失真。</p><p>  系統(tǒng)頻率調(diào)整的步進是100Hz。DDS邏輯電路的工作時鐘是25M,所以:</p><p>  25M ÷ 100 = 250000 (小于2的18次方)</p>

41、;<p>  所以,DDS的頻率字只要多于18個bit,頻率調(diào)整的步進就能小于100Hz。本系統(tǒng)采用的頻率控制字為32bit,充分滿足頻率調(diào)整步進的要求。</p><p>  本系統(tǒng)的工作時鐘由晶振提供的時鐘通過DDS芯片AD9851的6倍頻得到。而晶振的頻率穩(wěn)定度為10-6量級,所以整體頻率穩(wěn)定度: 10-6×6=0.6×10-5,在10-5量級,滿足題目要求。</p&g

42、t;<p>  3.4ADC參數(shù)計算</p><p>  本題要求當變送器端輸入的可調(diào)電阻值在1000Ω-2000Ω之間變化時,輸出的相應(yīng)正弦信號的頻率在1000kHz-2000kHz之間變化。顯示分辨率為100Hz,由此可計算出單片機發(fā)送的頻率控制字K的個數(shù)至少為: </p><p> ?。?000K-1000K)/100=10000個</p>&l

43、t;p>  對應(yīng)的數(shù)字量至少為10000個,這樣需要一個高精度的ADC轉(zhuǎn)換芯片,至少對輸入的模擬量能產(chǎn)生不少于 10000個采樣點,因此選用ADC芯片的分辨率不低于16位,為了取得更高的精度,所以本設(shè)計選用分辨率為24位ADC轉(zhuǎn)換芯片(ADS1255IDBT)。</p><p>  3.5電源運放的分析</p><p>  在設(shè)計兩線制V/I變換電路時,需要選擇一款合適的電源運放芯片

44、。</p><p>  LM324是最常見的也是價格最低的單電源運放,耗電400uA/運放。單電源供電時,輸入從-0.3V~Vcc-1.5V范圍內(nèi)正常工作。若果換成OP07等精密放大器,因為輸入電壓不允許低至0V,在該電路中反而不能正常工作。R5和U1構(gòu)成基準源,產(chǎn)生2.5V穩(wěn)定的基準電壓。OP27構(gòu)成一個同向放大器,將基準放大,向調(diào)理電路及傳感器供電。因為寬輸入電壓、低功耗的穩(wěn)壓器稀少成本高;將基準放大作為穩(wěn)壓

45、電源是一個廉價的方案。所以選擇LM324。</p><p><b>  4硬件電路設(shè)計</b></p><p>  4.1電源模塊分析與設(shè)計</p><p>  圖4-1電源的基本框圖 </p><p>  正弦信號發(fā)生器需要DDS芯片AD9851來產(chǎn)生信號源,用到單片機來控制系統(tǒng)等。系統(tǒng)使用的直流穩(wěn)壓電源電壓需要多個值

46、,且要求輸出電壓穩(wěn)定,紋波電壓小。為此,我們用LM317設(shè)計兩路電壓可調(diào)電源,需用到兩種不同電壓時可將電源地端相連為系統(tǒng)供電。則可輸出穩(wěn)定電壓,我們本系統(tǒng)中使用到+24V和+5V穩(wěn)壓電源。(電源模塊的原理圖如圖4-2所示)</p><p>  圖4-2 電源原理圖 </p><p>  為了讓輸出的電壓穩(wěn)定,我們采用LM317三端集成可調(diào)的穩(wěn)壓電源,LM317是可調(diào)集成穩(wěn)壓器芯片,可以

47、達到大范圍的輸出電壓的調(diào)整。</p><p>  穩(wěn)壓電源一般有5部分,即電流降壓電路、整流電路、濾波電路、穩(wěn)壓電路、保護電路。由LM317組成的穩(wěn)壓電路,交流220V電壓經(jīng)電源變壓器降壓整流得到直流電壓,此電壓通過濾波電路輸入到集成穩(wěn)壓器輸入端,在集成穩(wěn)壓器可達到1.2V-37V直流電壓。</p><p>  集成穩(wěn)壓器的自身保護原理:</p><p>  為獲得

48、較高的輸出電壓值,LM317穩(wěn)壓器的調(diào)節(jié)端余地之間的電阻值及其壓降往往較大。穩(wěn)壓器的輸入端接入電容,提供足夠的電流供給,同時防止可能發(fā)生的自激振蕩以及減小高噪聲和改善負載的瞬態(tài)響應(yīng)。當輸入端發(fā)生短路時,為此在穩(wěn)壓器兩端并接二極管D1,輸入端短路時通過D1放電,保護穩(wěn)壓器。</p><p>  在此電路中我們采用的器件有:有極性電容、無極性電容、LM317、變壓器、二極管、電位器。</p><p

49、>  4.2壓力橋及調(diào)理電路模塊分析與設(shè)計</p><p><b>  圖4-3 調(diào)理電路</b></p><p>  選用AD623可在5V電壓下工作,AD623是常用的低功耗精密差動放大器,用在差分輸出前級放大。AD623失調(diào)最大200uA,變送應(yīng)用保證的精度足夠。Ro將0.4V疊加在AD623的REF腳上,在壓力等于零的情況下通過調(diào)整Ro使輸出4mA,再調(diào)

50、整Rg輸出20mA,完成校準。在設(shè)計電路時,壓力傳感器相當于一個千歐級的電阻,耗電一般比大。適當降低壓力橋的激勵電壓可以減小耗電電流。但是輸出幅度也隨之下降,需要提高AD623的增益。圖中我們采用恒壓供電,在實際的應(yīng)用中需要恒流供電才能獲得較好的特性,可用一個運放構(gòu)成恒流源為其提供激勵。</p><p>  通過調(diào)整壓力橋的電阻值,將物理量轉(zhuǎn)換成電參量,調(diào)理電路將輸出的微弱信號或非線性的電信號進行放大、調(diào)理、最終

51、轉(zhuǎn)化為線性的電壓輸出。</p><p>  4.3兩線制變換電路的設(shè)計與分析</p><p>  圖4-4 兩線制變換電路</p><p>  兩線制V/I變換電路是一種可以用電壓信號控制輸出電流的電路。兩線制V/I電路與一般V/I變換電路不同。兩線制V/I電路的電壓信號不是直接控制輸出電流,而是控制整個電路自身耗電電流。同時,還要從電流環(huán)路上提取穩(wěn)定的電壓為調(diào)理電

52、路供電。</p><p>  圖4—4是基本的原理圖,圖中OP1、Q1、R1、R2、Rs構(gòu)成了V/I變換器。分析反饋過程:若A點因為某種原因高于0V,則運放OP1輸出電壓升高,通過Re電流變大。相當于整體耗電變大,通過采樣電阻的Rs的電流也變大,B點電壓變低。結(jié)果通過R2的將A點電壓拉下來。反之,若A點因某種原因低于0V,也會被負反饋抬高回0V??傊?,負反饋的結(jié)果是:OP1虛斷,A點電壓=0V。</p>

53、;<p>  由于u-=u+,所以可求得輸出電壓UO與輸入電壓Ui的關(guān)系為</p><p>  Uo=(1+Rf/R1)U+=(1+Rf/R1)Ui (式4—5)當Uo=5V,Ui=2.5V時;</p><p>  Uo=(1+Rf/R1)Ui

54、 (式4—6)</p><p>  Rf= R1=100k</p><p>  分析V0對耗電的控制原理:</p><p><b>  流過R1的電流:</b></p><p>  I1=Vo/R1

55、 (式4—7)</p><p><b>  B點的電壓:</b></p><p>  VB=-I1*R2=-Vo*R2/R1 (式4—8)</p><p>  取R2=R1時,有VB=Vo電源負和整個變送器電路之間只有Rs、R2兩個電阻,因此所有的

56、電流流過Rs和R2。</p><p><b>  電路的總電流:</b></p><p>  Is=Vo/(Rs∥R1) (式4—9)</p><p>  如果取R2﹥﹥Rs:</p><p><b>  則Is=V

57、o/Rs</b></p><p>  當調(diào)理電路輸出0.4V-2.0V的時候,總耗電電流4mA-20mA,若不能滿足R2〉〉Rs也沒關(guān)系,R2與Rs并聯(lián)是個固定的值,Is與Io仍然是線性的關(guān)系,誤差比例系數(shù)在校準時可以消除。</p><p>  4.4電流接收器模塊</p><p>  圖4-10電流接收電路</p><p>  

58、RCV420是精密的電流它包含了一個高級運算放大器、一個精密電阻網(wǎng)絡(luò)和一個精密電壓基準。其總轉(zhuǎn)換精度為0.1%,RCV420在滿量程的電壓下降壓僅為1.5V。</p><p>  當輸出4-20mA電流對應(yīng)0-5V電壓輸出時,要求電路的傳輸阻抗為:</p><p>  Vout/Iin=5V/16mA=0.3125V/mA</p><p>  為了得到期望的輸出(4

59、mA時0V,20mA時5V),放大器的輸出必須有一個偏置:</p><p>  Vos=-4mA×(03125 V/mA)=-1.25V</p><p>  輸入電流信號接至+IN端還是-IN端取決與信號的極性,并經(jīng)過中心抽頭CT返回地端。</p><p>  兩個匹配的75Ω檢測電阻Rs構(gòu)成對稱輸入,可最程度地抑制CT腳的共模電壓信號,消除不同輸入端電流

60、在差分電壓轉(zhuǎn)換時的不均衡。檢測電阻將輸入的電流信號經(jīng)過差分放大器放大,轉(zhuǎn)換成一個與之成正比的電壓。環(huán)接受芯片,用于將4-20mA輸入信號轉(zhuǎn)換成0-5V輸出信號。</p><p>  4.5 24位ADC轉(zhuǎn)換電路設(shè)計</p><p>  本設(shè)計中AD采樣的精度對正弦信號的控制要求相當高,在本設(shè)計基礎(chǔ)部分中我們曾用到MSP430系列單片機內(nèi)部自帶12位ADC,但發(fā)現(xiàn)其不能滿足題目發(fā)揮部分對信號

61、采集分辯率的要求,因此必須選擇一款分辯率位數(shù)較高的AD芯片。ADS1255是TI公司生產(chǎn)的一款24位高精度AD轉(zhuǎn)換器,其內(nèi)部集成多路選擇開關(guān)(MUX)、可編程增益控制器(PGA),可編程數(shù)字濾波器等,是一款性能較高的ADC芯片,它能夠接收輸入幅度0~5V的電壓信號,前面設(shè)計的電流接收電路產(chǎn)生電壓信號1~5V,剛好可以用來完成題目的設(shè)計。其原理圖如圖4-11所示。</p><p>  圖4-11 ADS1255工作

62、原理圖</p><p>  4.6 MSP430最小系統(tǒng)設(shè)計</p><p>  TI公司生產(chǎn)的MSP430F149系列單片機是一款超低功耗的單片機。該系列單片機集成有16位寄存器和常數(shù)發(fā)生器,能發(fā)揮其最高代碼效率。它采用數(shù)字控制振蕩器(DCO),使得從低功耗模式到喚醒模式的轉(zhuǎn)換時間小于6us。其內(nèi)部資源豐富,可應(yīng)用于開發(fā)較復雜的系統(tǒng)。本設(shè)計使用的MSP430最小系統(tǒng)設(shè)計電路圖如圖4-12

63、所示。該最小系統(tǒng)主要用于采集ADS1255送入的數(shù)字信號,作計算處理,同時控制DDS輸出相應(yīng)的頻率和控制LCD顯示出電阻值及輸出頻率的相關(guān)信息。</p><p>  圖4-12 MSP430單片機最小系統(tǒng)原理圖</p><p><b>  5軟件設(shè)計</b></p><p><b>  5.1主程序的設(shè)計</b><

64、/p><p>  軟件部分主要完成三個功能,即信號采集、控制DDS產(chǎn)生正弦信號、控制LCD顯示電阻值及相關(guān)頻率信息。如圖5-1所示,MSP430單片機對ADS1255數(shù)據(jù)進行采樣,然后通過軟件方法對在硬件電路中實測得出的系統(tǒng)誤差進行補償。通過計算采集回來的數(shù)據(jù)得出電阻的阻值,然后向DDS寫入頻率控制字,控制其輸出相應(yīng)的正弦波信號。并且通過液晶顯示出當前的電阻值及輸出的正弦波的頻率信號。</p><

65、p>  圖5-1 軟件流程圖</p><p>  5.2 ADC數(shù)據(jù)采集程序設(shè)計</p><p>  信號采集采集模塊在設(shè)計中起著很重要的作用,他的采集的精度直接關(guān)系到后面正弦信號發(fā)生的準確性,為了讓系統(tǒng)更具有準確性,設(shè)計加入了數(shù)字濾波,他的作用是將A/D轉(zhuǎn)換器采集到的電壓信號經(jīng)數(shù)據(jù)軟件濾波后存入內(nèi)部RAM的數(shù)據(jù)存儲器中,具體做法是將每次的數(shù)據(jù)去掉最大值和最小值,然后再求他們的最小值

66、,具體的軟件流程圖如下:</p><p>  圖5-2 數(shù)據(jù)采集流程圖</p><p><b>  6 系統(tǒng)測試</b></p><p><b>  6.1硬件調(diào)試</b></p><p> ?。?)MCU控制的調(diào)試;主要問題在于模擬與數(shù)字的走線問題,防止相互干擾,保證MCU的穩(wěn)定工作。</p

67、><p> ?。?)DDS電路的調(diào)試,在本系統(tǒng)中DDS為重要的組成部分,其工作狀態(tài)與外圍電路有直接的聯(lián)系,因此在調(diào)試的過程中注意數(shù)字與模擬部分的隔離,在電路中注意了電源的濾波。</p><p><b>  6.2軟件調(diào)試</b></p><p>  本系統(tǒng)的軟件系統(tǒng)比較大,全部用IAR來編寫。除了語法錯誤和邏輯差錯外,當確認程序沒問題時,通過直接下

68、載到單片機來調(diào)試。采取的是自下到上得調(diào)試方法,即單獨調(diào)試好每一模塊,然后在連接成一個完整的系統(tǒng)調(diào)試。</p><p><b>  6.3軟件硬件聯(lián)調(diào)</b></p><p>  本系統(tǒng)設(shè)計為模塊化設(shè)計,一個模塊一個模塊個逐級調(diào)試。</p><p><b>  6.4指標測試</b></p><p>

69、<b> ?。?)測試儀器</b></p><p>  60MHZ數(shù)字式雙蹤示波器</p><p><b>  高頻率函數(shù)發(fā)生器</b></p><p><b>  精密電阻箱</b></p><p><b> ?。?)變換精度測試</b></p&g

70、t;<p>  電阻箱設(shè)定值R0(歐),液晶顯示電阻值R1(歐),環(huán)路電流值為I(mA)。數(shù)據(jù)如6-1所示。</p><p>  表6-1 變換精度測試表</p><p>  值變化精度的計算:變化精度=(實際值-理論值)/理論。</p><p>  從上表中可以看出,液晶顯示電阻值,變換精度優(yōu)于1%的要求。</p><p> 

71、?。?)電阻值非線性度測試</p><p>  電阻箱設(shè)定值R0(歐),液晶顯示電阻值R1(歐)。所測數(shù)據(jù)如6-2所示。</p><p>  表6-2 電阻值非線性測試表</p><p>  非線性度:非線性度=[最大誤差/(滿度-零度)]*100%。</p><p>  從上表中可以看出,液晶顯示的電阻值,變換非線性度優(yōu)于2%的要求。<

72、;/p><p> ?。?)信號發(fā)生器測試</p><p>  電阻箱設(shè)定值R0(歐),液晶顯示電阻值R1(歐),DDS產(chǎn)生頻率值為f(KHZ)。數(shù)據(jù)如6-3所示。</p><p>  表6-3 信號發(fā)生器測試表</p><p>  從上表可以看出,液晶顯示的電阻值,DDS產(chǎn)生頻率都達到要求。</p><p><b&g

73、t; ?。?)變換精度測試</b></p><p>  電阻箱設(shè)定值R0(歐),信號發(fā)生器上頻率顯示值f0(KHZ),測量值f1(KHZ)數(shù)據(jù)如6-4所示。</p><p>  表6-4 變換精度測試表</p><p>  變化精度的計算:變化精度=(實際值-理論值)/理論值。</p><p>  從上表可以看出,正弦信號發(fā)生器的

74、頻率范圍,測量值都滿足了指標的要求。</p><p> ?。?)頻率非線性度測試</p><p>  電阻箱設(shè)定值R0(歐),信號發(fā)生器上頻率顯示值f0(KHZ),測量值f1(KHZ)數(shù)據(jù)如6-5所示。</p><p>  表6-5 頻率非線性度測試表</p><p>  非線性度:非線性度=[最大誤差/(滿度-零度)]*100%。</

75、p><p>  從上表可以看出,正弦信號發(fā)生器的頻率范圍,非線性度,失真度都優(yōu)于指標要求。</p><p><b> ?。?)測試結(jié)論</b></p><p>  這個系統(tǒng)不僅實現(xiàn)了題目要求的全部基本要求,而且出色地完成了發(fā)揮部分,每項指標都達到題目的指標要求。</p><p><b>  總 結(jié)</b>

76、;</p><p>  系統(tǒng)中采用的低功耗器件主要是TI公司大學生計劃贊助的高性能模擬器件(例如ADC)和MSP430單片機。這些芯片優(yōu)良的性能和較低的功耗使接收點易于設(shè)計。</p><p>  本系統(tǒng)以高性能DDS芯片AD9851為核心,利用MSP430單片機為控制系統(tǒng),加上AD9851相配合,硬件與軟件相結(jié)合,完美地實現(xiàn)了題目提出的指標。在系統(tǒng)設(shè)計過程中,力求硬件電路簡單,充分發(fā)揮軟件

77、編程靈活的特點,來滿足系統(tǒng)的設(shè)計要求。</p><p>  電路進行調(diào)試的整個過程中,我們遇到了很多問題,但是都被我們一個個解決,讓我們“產(chǎn)生柳暗花明又一村”的感覺,有時候,遇到了問題,不要太局限于電路的局部,這樣反而會阻礙你發(fā)現(xiàn)問題,而要用系統(tǒng)的眼光去看待問題,綜合考慮各個方面的因素。在這期間,我們學會了調(diào)試電路與科研時的那種態(tài)度,這些經(jīng)驗也許是在永遠在課堂上永遠需不到的。我們?nèi)齻€隊員慶幸在大學生活中有一次讓我

78、們鍛煉在自己的機會。</p><p>  本文是在凌澤明老師的精心指導下完成的。在此,向他表示衷心的感謝!</p><p><b>  致 謝</b></p><p>  時至今日,我們的畢業(yè)設(shè)計終于可以畫上一個圓滿的句號了,現(xiàn)在回想起來在做畢業(yè)設(shè)計的整個過程,頗有感悟,其中有苦也有甜,但樂趣也盡在其中!不僅讓我們對單片機有了更深一步的了解,同

79、時也增加了自己的動手實踐能力,為以后的工作打下了基礎(chǔ)??梢哉f畢業(yè)設(shè)計不僅是對前面所學知識的一種檢驗,而且也是對自己能力的一種提高。</p><p>  本次畢業(yè)設(shè)計是在我們的指導老師xx老師的悉心指導下完成的。從論文的選題到論文的完成,無不傾注著xx老師辛勤的汗水和心血。xx老師的嚴謹治學的態(tài)度、淵博的知識、無私奉獻的精神使我受益匪淺,從尊敬的指導老師身上,我們不僅學到了扎實、寬廣的專業(yè)知識,而且還學到了做人的道

80、理。在此我要向我們的指導老師致以最衷心的感謝和深深的敬意!同時我們在這里還要感謝我的同學們,正是由于你們的幫助和支持,我們才能順利完成本設(shè)計。</p><p>  最后,向所有關(guān)心和幫助過我的領(lǐng)導、老師、同學和朋友表示由衷的謝意。</p><p><b>  參考文獻</b></p><p>  [1]黃志偉.全國大學生電子設(shè)計競賽系統(tǒng)設(shè)計[M

81、].北京:北京航空航天大學出版社.2006.</p><p>  [2]全國大學生電子設(shè)計競賽組委會.全國大學生電子設(shè)計競賽獲獎作品匯編[M].北京:北京理工大學出版社.2004.</p><p>  [3]潘琢金譯.C8051F020/1/2/3混合信號ISP FLASH微控器數(shù)據(jù)手冊[J].沈陽:沈陽新華電子有限公司.2002.</p><p>  [4]謝自美

82、.電子線路設(shè)計.實驗.測試(第三版)[M].武漢:華中科技大學出版社.2000.7</p><p>  [5]楊幫文.新型集成器件家用電路[M].北京:電子工業(yè)出版社.2002.8 </p><p>  [6]第二屆全國大學生電子設(shè)計競賽組委會.全國大學生電子設(shè)計競賽獲獎作品選編[M].北京:北京理工大學出版社.1997.3 </p><p>  [7]李炎清.畢業(yè)

83、論文寫作與范例[J].廈門:廈門大學出版社.2006.10 </p><p>  [8]潭博學、苗江靜.集成電路原理及應(yīng)用[M].北京:電子工業(yè)出版社.2003.9 </p><p><b>  附錄1:源程序</b></p><p>  /*******************main.c***************************

84、****/</p><p>  程序功能:MCU的片內(nèi)ADC對P6.0端口的電壓進行轉(zhuǎn)換</p><p>  將模擬電壓值顯示在12864液晶上。。</p><p>  *********************************************************/</p><p>  #include <msp4

85、30x14x.h></p><p>  #include "cry12864.h"</p><p>  #include "ad9851.h"</p><p>  #define Num_of_Results 32</p><p>  unsigned long sum = 0;<

86、;/p><p>  const uchar shuzi[] = {"0123456789."};</p><p>  static uint results[Num_of_Results];//保存ADC轉(zhuǎn)換結(jié)果的數(shù)組 </p><p>  void Trans_val(uint Hex_Val); </p><p

87、>  void Trans_shuzi(uint Hex_Val);</p><p>  void Trans_dianzhu(uint Hex_Val);</p><p>  /**********************主函數(shù)****************************/</p><p>  void main(void)</p>

88、<p><b>  {</b></p><p>  WDTCTL = WDTPW+WDTHOLD; //關(guān)閉看門狗</p><p>  Ini_Lcd();</p><p>  Disp_HZ(0x80," (AD9851) ",8);</p><

89、;p>  Disp_HZ(0x90,"頻率:0000.0 KHZ",8);</p><p>  Disp_HZ(0x88,"電阻:0000.0Ω ",8);</p><p>  Disp_HZ(0x98,"電流: 00.00 mA",8);//顯示文字 </p><p>  P6SEL |= 0x0

90、3 ; // 使能ADC通道</p><p>  ADC12CTL0 = ADC12ON+SHT0_11+MSC; // 打開ADC,設(shè)置采樣時間</p><p>  ADC12CTL1 = SHP+CONSEQ_2; // 使用采樣定時器</p><p>  ADC12IE = 0x03;

91、 // 使能ADC中斷</p><p>  ADC12CTL0 |= ENC; // 使能轉(zhuǎn)換</p><p>  ADC12CTL0 |= ADC12SC; // 開始轉(zhuǎn)換</p><p>  //ADC12MCTL0|=INCH_1+SREF2+I

92、NCH_8; //P6.1口的電壓</p><p>  //輸出 Vref+ AVss</p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  Frequency_Out_9850=sum*100;</

93、p><p>  Write_9850()</p><p><b>  }</b></p><p><b>  }</b></p><p>  /*******************************************</p><p>  函數(shù)名稱:ADC12ISR&

94、lt;/p><p>  功 能:ADC中斷服務(wù)函數(shù),在這里用多次平均的</p><p>  計算P6.0口的模擬電壓數(shù)值</p><p>  參 數(shù):無 </p><p><b>  返回值 :無</b></p><p>  *************************

95、*******************/</p><p>  #pragma vector=ADC_VECTOR</p><p>  __interrupt void ADC12ISR (void)</p><p><b>  {</b></p><p>  static uint index = 0;</p>

96、;<p>  results[index++] = ADC12MEM0; // Move results</p><p>  if(index == Num_of_Results)</p><p><b>  {</b></p><p><b>  uchar i;</b></p>

97、<p>  // unsigned long sum = 0;</p><p>  index = 0;</p><p>  for(i = 0; i < Num_of_Results; i++)</p><p><b>  {</b></p><p>  sum += results[i];<

98、/p><p><b>  }</b></p><p>  sum >>= 5; //除以32</p><p><b>  sum=4095;</b></p><p>  Trans_val(sum);</p><p>  T

99、rans_shuzi(sum);</p><p>  Trans_dianzhu(sum);</p><p><b>  }</b></p><p><b>  }</b></p><p>  /********************************************/</p&

100、gt;<p>  void Trans_val(uint Hex_Val) //電流顯示</p><p><b>  {</b></p><p>  unsigned long caltmp;</p><p><b>  uchar i;</b></p><p>  uin

101、t temp;</p><p>  uchar ptr[4];</p><p>  uchar x[5];</p><p>  uint Curr_Volt;</p><p>  caltmp =Hex_Val;</p><p>  caltmp =caltmp *500;</p><p> 

102、 Curr_Volt=caltmp >> 12; //Curr_Volt = caltmp /2^n</p><p>  temp= Curr_Volt;</p><p>  ptr[0]=temp/1000;</p><p>  ptr[1]=temp/100%10;</p><p>  ptr[2]=10;</p&g

103、t;<p>  ptr[3]=temp%100/10;</p><p>  for(i = 0;i < 4;i++)</p><p>  x[i]=shuzi[ptr[i]];</p><p>  Disp_HZ( 0x98+3,x,2); </p><p><b>  }</b></p>

104、<p>  /********************************************/</p><p>  void Trans_dianzhu(uint Hex_Val) //電阻顯示</p><p><b>  { </b></p><p>  float temp;</p><p&g

105、t;  uint temp1;</p><p><b>  uchar i;</b></p><p>  uchar ptr[4];</p><p>  uchar x[5];</p><p>  temp=(float)Hex_Val;</p><p>  temp=temp*0.244+100

106、0; </p><p>  temp1=temp/1;</p><p>  ptr[0]=temp1/1000;</p><p>  ptr[1]=temp1/100%10;</p><p>  ptr[2]=temp1%100/10;</p><p>  ptr[3]=temp1%10;&l

107、t;/p><p>  for(i = 0;i < 4;i++)</p><p>  x[i]=shuzi[ptr[i]];</p><p>  Disp_HZ( 0x88+3,x,2); </p><p><b>  }</b></p><p>  /**********************

108、**********************/</p><p>  void Trans_shuzi(uint Hex_Val)//頻率顯示</p><p>  { uchar i;</p><p>  uint temp;</p><p>  uchar ptr[4];</p><p>  uchar x[4]

109、;</p><p>  temp=Hex_Val; </p><p>  ptr[0]=temp/1000;</p><p>  ptr[1]=temp/100%10;</p><p>  ptr[2]=temp%100/10;</p><p>  ptr[3]=temp%10;</p><p>

110、;  for(i = 0;i < 4;i++)</p><p>  x[i]=shuzi[ptr[i]];</p><p>  Disp_HZ( 0x90+3,x,2); </p><p><b>  }</b></p><p>  /******************* cry12864.h**********

111、***************************************/</p><p>  程序功能:cry12864對頻率、電流和電阻值進行顯示。</p><p>  **********************************************************************/</p><p>  void Delay_1

112、ms(void);</p><p>  void Delay(unsigned int n);</p><p>  void Write_Cmd(unsigned char cod);</p><p>  void Write_Data(unsigned char dat);</p><p>  void Ini_Lcd(void);<

113、/p><p>  void Disp_HZ(unsigned char addr,const unsigned char * pt,unsigned char num);</p><p>  void Disp_ND(unsigned char addr,unsigned int thickness);</p><p>  void Draw_TX(unsigned

114、char Yaddr,unsigned char Xaddr,const unsigned char * dp) ; </p><p>  void Draw_PM(const unsigned char *ptr);</p><p>  /****************************************************/</p><p> 

115、 cry12864.c</p><p>  #include <msp430x14x.h></p><p>  typedef unsigned char uchar;</p><p>  typedef unsigned int uint;</p><p>  extern const unsigned char shuzi_

116、table[];</p><p>  #define LCD_DataIn P4DIR=0x00 //數(shù)據(jù)口方向設(shè)置為輸入</p><p>  #define LCD_DataOut P4DIR=0xff //數(shù)據(jù)口方向設(shè)置為輸出</p><p>  #define LCD2MCU_Data P4IN</p><p>

117、  #define MCU2LCD_Data P4OUT</p><p>  #define LCD_CMDOut P3DIR|=0x07 //P3口的低三位設(shè)置為輸出</p><p>  #define LCD_RS_H P3OUT|=BIT0 //P3.0</p><p>  #define LCD_RS_L P3OUT&a

118、mp;=~BIT0 //P3.0</p><p>  #define LCD_RW_H P3OUT|=BIT1 //P3.1</p><p>  #define LCD_RW_L P3OUT&=~BIT1 //P3.1</p><p>  #define LCD_EN_H P3OUT|=BIT2

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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

提交評論