當(dāng)前位置:首頁 > 單片機 > 單片機
[導(dǎo)讀]1. 引言信號發(fā)生器在教學(xué)、試驗、測控等各個領(lǐng)域有十分廣泛的應(yīng)用,其輸出信號的頻率范圍覆蓋了各個頻段,從甚低頻到甚高頻,操作方式也從手動旋鈕到程控,產(chǎn)生的波形從傳統(tǒng)的正(余)弦波和脈沖波形,發(fā)展到現(xiàn)在能

1. 引言

信號發(fā)生器在教學(xué)、試驗、測控等各個領(lǐng)域有十分廣泛的應(yīng)用,其輸出信號的頻率范圍覆蓋了各個頻段,從甚低頻到甚高頻,操作方式也從手動旋鈕到程控,產(chǎn)生的波形從傳統(tǒng)的正(余)弦波和脈沖波形,發(fā)展到現(xiàn)在能產(chǎn)生各種任意波形。以前的信號發(fā)生器往往獨占一個機箱,而現(xiàn)在的一些應(yīng)用中,它只是一塊插在計算機中的擴展卡,還有一些信號發(fā)生器設(shè)計成一個獨立的小模塊,通過RS-232C或RS-422,RS-485等串行總線和計算機連接。

其實,在許多固定的控制應(yīng)用中,只要求信號發(fā)生器產(chǎn)生單一波形,或可數(shù)的幾個波形。如果僅僅要求產(chǎn)生單一的正(余)弦波或者脈沖波形,可以利用傳統(tǒng)的振蕩器電路。當(dāng)信號頻率有所選擇時,問題仍然比較簡單。但若產(chǎn)生的信號波形比較復(fù)雜時,電路的設(shè)計也同樣變得很復(fù)雜。加之傳統(tǒng)振蕩器電路由于有較大的溫度漂移,需要較長的預(yù)熱時間,為達到較高的頻率精度,需仔細調(diào)節(jié)電路各個參數(shù)。

數(shù)字頻率合成技術(shù)的采用,大大簡化了信號發(fā)生器的設(shè)計。但在某些特定情況,需要的僅僅是幾個單獨的波形,這時我們可以使用單片機和DAC芯片,用十分簡單的電路產(chǎn)生所需要的波形。

2. 電路設(shè)計及編程考慮

單片機簡易信號發(fā)生器電路框圖如圖1,僅由一片AT89C2051單片機,一片DAC0832和由運放組成的低通濾波器組成。AT89C2051內(nèi)部有 2KB的FLASH存儲器,可以保存運行程序和波形參數(shù),128字節(jié)的RAM可以用于存放波形參數(shù)。由于采用了數(shù)字合成技術(shù),可以產(chǎn)生各種簡單或復(fù)雜的波形。

工作過程說明如下;(1)決定產(chǎn)生的信號波形;通電穩(wěn)定工作以后,單片機首先讀取P3.0和P3.1引腳信號,決定程序應(yīng)跳轉(zhuǎn)的地址。每個跳轉(zhuǎn)地址有一個輸出波形。(2)將保存在FLASH中的樣本數(shù)據(jù)送往DAC0832,供其轉(zhuǎn)換成模擬電壓。

首先應(yīng)將波形參數(shù)轉(zhuǎn)換成樣本數(shù)據(jù)。假若每周期有N個樣本數(shù)據(jù),則第K個樣本數(shù)據(jù)的計算方法為:
    DK=127(1+SIN(2πK/N)  K=0,1,2,……N-1

由于在實際產(chǎn)生波形的過程中,數(shù)據(jù)由運行程序逐個取得送出,在產(chǎn)生周期波時是一個循環(huán)過程。因此必須考慮程序取數(shù)、送數(shù)、循環(huán)等操作的時間開銷。對于 MCS51系列單片機,在晶振頻率為12MHz時,每條指令的執(zhí)行時間為1~2μs。為了使波形足夠光滑,每周期的點數(shù)應(yīng)盡可能多,這樣要求單片機發(fā)送樣本數(shù)據(jù)的速率盡量快。由于送數(shù)周期的限制,在增加樣本點數(shù)時,輸出信號頻率會降低。同時從程序存儲器空間取數(shù)時需要較長的時間,當(dāng)樣本數(shù)據(jù)的個數(shù)不多時,可以把樣本數(shù)據(jù)先移到RAM中,程序執(zhí)行時直接從RAM中取數(shù)送往DAC,就能增加發(fā)送樣本數(shù)據(jù)的速率。

下面以產(chǎn)生單一4800Hz正弦波為例,說明程序設(shè)計過程。參數(shù)N的計算見后面的說明。
 ORG    0000H
         MOV    R0,#0
         MOV    R1,#4
         MOV    R2,#124
         MOV    DPTR,#200H
         MOV     A,#0
MOVD:  MOVC    A,@A+DPTR  ;將樣本數(shù)據(jù)從FLASH
         MOV     @R1,A   ;移到內(nèi)部RAM中,
         INC     R0   ;可以減少送數(shù)時間
         INC R1
         MOV     A,R0
         DJNZ    R2,MOVD
         MOV     R0,#04
DOUT:   MOV     A,@R0   ;輪流送數(shù)到DAC
         MOV     P1,A
         INC  R0
         CJNE    R0,#128,DOUT
         MOV     P1,#128  ;從起點開始重新送樣本數(shù)據(jù)
         MOV     R0,#04  ;
         SJMP  DOUT   ;送數(shù)循環(huán)結(jié)束
      ;
 ORG 0200H   ;樣本數(shù)據(jù)表
 DB 0147
 DB 165
 ……  

以上程序中,DOUT標(biāo)號開始的一段循環(huán)程序送樣本數(shù)據(jù)。該段循環(huán)程序指令經(jīng)過精心選擇,N個樣本數(shù)據(jù)共用4條指令,執(zhí)行時間為5μs。但對4800 Hz的信號頻率,信號周期為208.3333μs,計算得到樣本數(shù)據(jù)的個數(shù)N=208.3333/5=41.6667。由于樣本數(shù)據(jù)的個數(shù)不能為小數(shù),可以考慮采用4舍5入,以得到最接近的信號頻率。因此取樣本個數(shù)為42,但信號周期變?yōu)?10μs,信號頻率為4762Hz,頻率誤差很大,達不到使用要求。

為此,可采用多周期綜合技術(shù)。多周期綜合的方法就是在計算樣本數(shù)據(jù)時,將M個周期一并考慮。即N個樣本數(shù)據(jù)代表了M個信號周期的波形,使每個周期的樣本數(shù)與要求值最接近。計算公式如下:
DK=127(1+SIN(2лMK/N)    K=0,1,2,3……N-1

為此,需合理確定N和M的值。

M的值可如下確定;取單周期樣本數(shù)據(jù)個數(shù)的小數(shù)部分,除1的結(jié)果既為M。對f0=4800Hz,可知M恰好等于3。

下面計算N;已知每個樣本數(shù)據(jù)需要5μs,樣本周期數(shù)為3,信號頻率為4800 Hz,則
             N=3/4800*1000000/5=125

由此可知樣本數(shù)據(jù)的計算公式:
    DK=127(1+SIN(6л/125))  K=0,1,2……124

實用中,用該信號源產(chǎn)生了4800Hz正弦波,400Hz正弦波、480Hz正弦波和1000Hz方波四種波形。400Hz、480Hz正弦波和1000Hz方波的波形參數(shù)計算此處略。實測表明四種信號的頻率誤差都小于0.5Hz。

如果信號頻率比較低,樣本數(shù)據(jù)很多,就不需要把樣本數(shù)據(jù)先移到RAM中,而直接從FLASH中取得樣本數(shù)據(jù)送往DAC。對正弦波來說,當(dāng)每周期有20個以上的樣本數(shù)據(jù)時,就有比較好的波形。對于矩形波來說,每周期只需要2個樣本數(shù)據(jù)。

3. 小結(jié)

以上電路雖然簡單,但有比較精確的波形。由于波形參數(shù)完全由軟件預(yù)先設(shè)定,除了產(chǎn)生正弦波、方波以外,還能產(chǎn)生梯形波或sin(x)/x等形狀復(fù)雜的波形??梢詫㈦娐吩O(shè)計成嵌入式結(jié)構(gòu),從而在一些工業(yè)生產(chǎn)現(xiàn)場得到應(yīng)用。

參考文獻
1  余永權(quán).ATMEL89系列(MCS-51兼容)FLASH單片機原理及應(yīng)用.電子工業(yè)出版社.1997年
2 蔣煥文,孫續(xù).電子測量.中國計量出版社.1988年
 

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉