国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

試論基于單片機的DDS算法的實現(xiàn)

2019-12-23 15:57◆羅
關(guān)鍵詞:中斷濾波器時鐘

◆羅 昕 易 群

(江西交通職業(yè)技術(shù)學(xué)院 江西 330013)

直接數(shù)字頻率合成信號發(fā)生器憑借其高分辨率、低相位噪聲以及穩(wěn)定的輸出效率,逐漸成為最常見的信號發(fā)生器。信號發(fā)生器功能取決于DDS算法,結(jié)合單片機使用DDS算法可以優(yōu)化單片機性能,讓單片機服務(wù)質(zhì)量提升,推動我國各個行業(yè)的發(fā)展。因此,研究單片機和DDS算法的結(jié)合具有重要意義,有助于推動單片機的廣泛應(yīng)用,讓單片機性能更加優(yōu)化。

1 單片機

單片機作為一種集成電路,使用大規(guī)模集成電路將CPU、RAM、ROM、定時器等設(shè)備集成為微型計算機系統(tǒng)。目前單片機逐漸被各個領(lǐng)域應(yīng)用,滲透到人們的日常生活中,在飛機儀表、導(dǎo)航裝置、數(shù)據(jù)傳輸、工業(yè)自動化、網(wǎng)絡(luò)通信等方面,單片機都發(fā)揮著重要作用。單片機開發(fā)應(yīng)用給各個行業(yè)帶來了巨大幫助。例如利用單片機功耗低、體積小的優(yōu)勢,讓很多精密測量儀器,如電壓表、分析儀提供精準(zhǔn)數(shù)據(jù)。

如今直接數(shù)字頻率合成信號發(fā)生器由于具有信號穩(wěn)定、頻率以及噪聲低的優(yōu)勢逐漸替代RC、LC振蕩電路信號發(fā)生器,變成信號發(fā)生器主流發(fā)展方向。DDS信號發(fā)生器核心設(shè)計在于應(yīng)用DDS算法,最常見的方法有兩種。第一種是利用FPGA形成DDS算法,也就是通過HDL進行DDS算法設(shè)計,形成波形數(shù)字的序列,通過FPGA輸出轉(zhuǎn)換器,從而讓信號輸出得以實現(xiàn)。第二種是使用DDS芯片,對單片機改用DDS芯片寄存器,輸出同等波形和頻率的模擬信號,芯片的算法在出廠時已經(jīng)完成設(shè)計,不需要另行設(shè)計。本文著重研究利用單片機替代專用芯片,借助于C語言的編程方法實現(xiàn)DDS算法,讓單片機可以實現(xiàn)信號發(fā)生器設(shè)計。

2 DDS基本原理

DDS是一種直接數(shù)字合成技術(shù),通過相位累積查表,實現(xiàn)合成波形,在波形存儲器中保存波形幅值數(shù)據(jù),對頻率控制進行調(diào)節(jié),使用相位累加器在波形存儲器內(nèi)對頻率加以控制,經(jīng)過D/A轉(zhuǎn)換器以及濾波器,形成波形的輸出。如AD9850 DDS芯片,其單電源工作使用3.3V或者5V,接口簡單,可以允許八位并行口或者串行口實現(xiàn)頻率和調(diào)制數(shù)據(jù)的裝載。使用高性能轉(zhuǎn)換器和比較器,可以讓正弦波、方波得到輸出。芯片的最高工作時鐘為125MHz,在該時鐘下頻率控制字可以達到0.0291Hz的分辨率。調(diào)相控制字為5位,讓相位調(diào)制功能得到實現(xiàn),頻率轉(zhuǎn)換速度可以達到2.3*107次/s。該芯片的功率較低,在兩種電源下分別只有155mW、380mW。該芯片應(yīng)用了DDS技術(shù),芯片內(nèi)部包含32位相位累加器、10位DA轉(zhuǎn)換器、1個高速比較器,使芯片性能達到了實際要求。

3 基于單片機的DDS算法的實現(xiàn)

(1)設(shè)計要點

目前信號發(fā)生器存在一定問題,主要體現(xiàn)在頻率范圍相對較小,且調(diào)整頻率只能成倍調(diào)整,無法進行連續(xù)輸出。按鍵輸入系統(tǒng)不能輸出任意信號。為了讓頻率得到增加,需要減少定時器時間,溢出時間不能過小,要注意中斷函數(shù)代碼時間,減少頻率包含兩種方法,第一種是將中斷溢出時間加以延長,第二種是給DAC輸出數(shù)據(jù),將數(shù)據(jù)寫入DAC中。若采取第一種方法,調(diào)整頻率需要調(diào)整兩個參數(shù),也就是步進值以及中斷值。使用這種方法并不能實現(xiàn)精確調(diào)整頻率,還需要調(diào)整一個參數(shù)實現(xiàn)精準(zhǔn)的輸出。為方便于計算經(jīng)常設(shè)定固定中斷溢出時間,參數(shù)調(diào)整使用步進值step。一般情況下要減少頻率,進而讓步進值有所減小,最小設(shè)定為1。調(diào)整步進值需要用到DDS原理,假設(shè)時鐘是2MHz,寄存器設(shè)定N Bit,受到時鐘的驅(qū)動,累加器的輸出結(jié)果反饋給累加器輸入端,數(shù)據(jù)逐漸累加。時鐘脈沖被反饋向B,循環(huán)累積。按照步進值進行時鐘的累加,讓N Bit數(shù)據(jù)得到循環(huán)累積,完成地址的循環(huán)。

(2)C語言設(shè)計DDS算法

由于DDS算法基于相位進行頻率合成,實現(xiàn)信號的生成。在DDS中,主要包括相位累加器、數(shù)模轉(zhuǎn)換器、時鐘、濾波器、正弦波形存儲器這五個部分。相位累加器也就是計數(shù)器,由于時鐘脈沖影響,讓相位增量逐漸累加。若累加器溢出,溢出位除外,累加器會保留數(shù)字位。將輸出數(shù)據(jù)作為地址,對正弦查詢表加以查詢,將正弦數(shù)據(jù)轉(zhuǎn)化為模擬信號。低通濾波器可以將模擬信號輸出為正弦波的信號。使用DDS算法主要利用相位累加器實現(xiàn)相加,輸出得到0~(232-1),將后八位當(dāng)作查詢表地址,同時將正弦波數(shù)據(jù)在正弦表中保存,使用八位轉(zhuǎn)換器,可以使用256個點得到完整正弦波數(shù)據(jù)。頻率控制字決定輸出信號頻率。受到單片機運行影響,選擇10KHz時鐘頻率。得到頻率控制字后,想要獲得輸出頻率只需要時鐘頻率和頻率控制字相乘即可。

根據(jù)DDS算法的本質(zhì),考慮到不同時鐘脈沖Felk作用,累加器要加1,查找正弦表獲得波形數(shù)據(jù),依照C語言編程特征,使用定時中斷替代DDS時鐘脈沖方式,時鐘作用可以使用定時中斷來實現(xiàn)。首先利用定時器設(shè)置初始化程序,要求100μs的中斷,在中斷程序中DDS算法得以實現(xiàn)。Felk設(shè)定10KHz的數(shù)值。受到單片機速度極限的限制,周期設(shè)置不能過于短,避免造成輸出信號頻率受到影響。使用高速CPU,利用短定時周期,可以讓輸出信號頻率得到提升。其次需要對相位累加器加以設(shè)置,先設(shè)置32位寄存器,使用加法進行運算,定時中斷要將頻率控制字和累加器進行相加,同時將結(jié)果儲存在累加器中。最后設(shè)置正弦查詢表,先對包含256數(shù)組的數(shù)據(jù)表進行儲存,用于設(shè)定正弦數(shù)據(jù)表的存放。若出現(xiàn)定時中斷,將累加器后八位當(dāng)作索引,以方便讀取數(shù)據(jù)。

(3)低通濾波器設(shè)計

為了避免輸出頻率受到外界環(huán)境的干擾,要使用低通濾波器進行過濾。常見濾波器使用頻率響應(yīng)有巴特沃斯型、橢圓型以及切比雪夫型三種。巴特沃斯型濾波器通帶最為平整,沒有紋波,在零頻位置上,對于信號造成的衰減最不明顯,但是由于過渡帶并不陡峭,對于通帶要求相對高,適用于去除和通帶距離較遠頻率;切比雪夫濾波器在通帶衰減上存在起伏變化,但過渡帶較為陡峭;橢圓濾波器通帶存在起伏,但是過渡帶相對陡峭。因此通常選擇橢圓濾波器進行設(shè)計。

(4)軟件設(shè)計

應(yīng)用系統(tǒng)中,軟件設(shè)計建立在硬件電路基礎(chǔ)上,依據(jù)系統(tǒng)功能滿足系統(tǒng)多種需求,軟件設(shè)計可以讓微控制器得到充分發(fā)揮,讓儀器精度以及便捷性得到優(yōu)化。經(jīng)過程序設(shè)定頻率,有效控制頻率,對用戶鍵盤頻率設(shè)定,判斷頻率是否處于范圍之內(nèi),形成頻率控制字,使用并行方式送進DDS,合成用戶需要的頻率。單片機具備中斷功能,根據(jù)中斷方式對鍵進行判斷,消抖之后使用掃描方式確定閉合鍵,中斷之后產(chǎn)生MSP430喚醒。定義按鍵為功能鍵或數(shù)字鍵,選擇輸出波形,正弦波用于擴充功能,使用數(shù)字鍵輸入頻率。

4 結(jié)論

本文研究了在51單片機基礎(chǔ)上DDS算法的實現(xiàn),在低頻要求為滿足敏感信號源的設(shè)計要求,使用程序?qū)崿F(xiàn)DDS算法更具優(yōu)勢。通過利用DDS技術(shù)的優(yōu)勢,讓單片機優(yōu)化硬件和軟件,讓其更穩(wěn)定的運行,提供高分辨率滿足人們使用需求。

猜你喜歡
中斷濾波器時鐘
淺談有源濾波器分析及仿真
基于多模諧振器的超寬帶濾波器設(shè)計
多級中斷屏蔽技術(shù)分析
古代的時鐘
一種考慮GPS信號中斷的導(dǎo)航濾波算法
從濾波器理解卷積
Linux中斷線程化分析及中斷延時測試
這個時鐘一根針
跟蹤導(dǎo)練(二)(5)
有趣的時鐘