- 相關(guān)推薦
高精度正弦全自動(dòng)激勵(lì)信號(hào)源的設(shè)計(jì)與實(shí)現(xiàn)
1.引言
在許多工程測(cè)量中,都需要某種固定頻率的正弦信號(hào)作為激勵(lì)源,如利用模擬傳感器的輸出情況對(duì)所研制的監(jiān)測(cè)系統(tǒng)、檢測(cè)單元進(jìn)行功能的驗(yàn)證:或者進(jìn)行采集量程的標(biāo)定工作等。在這些情況下,直接采用一個(gè)性能優(yōu)越的信號(hào)發(fā)生器固然可以滿(mǎn)足工作要求,但是這又帶來(lái)了新的問(wèn)題,一方面信號(hào)發(fā)生器是外配儀器,增加了系統(tǒng)的成本,另一方面也不便于自動(dòng)化測(cè)量。利用D/A轉(zhuǎn)換器加高階濾波器的方式也可實(shí)現(xiàn)以上功能要求,但是在windows操作平臺(tái)下,對(duì)軟件技術(shù)提出了更高的要求。本文在科研項(xiàng)目的研究工作中恰好遇到了這樣一個(gè)問(wèn)題,在信號(hào)的檢測(cè)與標(biāo)定工作中需要一個(gè)120Hz、峰值從0.01V到10V可調(diào)的、失真小于1%的高精度正弦激勵(lì)信號(hào)。本文采用常規(guī)的電路實(shí)現(xiàn)了這個(gè)功能。
2.原理與實(shí)現(xiàn)過(guò)程簡(jiǎn)述
本科研項(xiàng)目是基于PC-104總線的某型飛機(jī)發(fā)動(dòng)機(jī)參數(shù)的檢測(cè)系統(tǒng),該系統(tǒng)需要一個(gè)用于飛機(jī)振動(dòng)校準(zhǔn)的激勵(lì)信號(hào)給定單元。經(jīng)仔細(xì)分析技術(shù)指標(biāo)的要求,該單元需要一個(gè)幅值從0.01伏到10伏可調(diào),且給定幅值穩(wěn)定、波形失真小、頻率為120Hz的交流信號(hào)源,幅值給定以0.01伏為一個(gè)間隔。如果我們利用磚碼稱(chēng)重的原理,能很快地完成這一功能。顯然,信號(hào)激勵(lì)中只需要小數(shù)點(diǎn)后兩位,即正弦信號(hào)峰值變化范圍從10mV到10V,它有一位整數(shù)位、兩位小數(shù)位。如果我們集中實(shí)現(xiàn)一個(gè)120Hz的高精度正弦波振蕩器,然后從中取5伏、4伏、2伏、和l伏的“磚碼”信號(hào),可以通過(guò)電子開(kāi)關(guān)組合,再用加法器形成l伏到10伏之間的任意一個(gè)峰值,類(lèi)似地用0.5伏、0.4伏、0.2伏和0.1伏的“磚碼”信號(hào)可以形成0.1伏到0.9伏的正弦信號(hào),用0.05伏、0.04伏、0.02伏和0.01伏的“砝碼”信號(hào)可以形成0.01伏到0.09伏的正弦信號(hào),這三組“砝碼”信號(hào)組合在一起則可以給出峰值從0.01伏到10伏、幅值變化臺(tái)階為0.01伏的任一峰值的正弦激勵(lì)信號(hào),完全可以滿(mǎn)足工程的需要。
根據(jù)上述分析,我們?cè)O(shè)計(jì)出如圖1所示的硬件框圖。在圖1中,正弦波信號(hào)源選用MAX038芯片,其輸出正弦波頻率可以在較寬的范圍內(nèi)調(diào)節(jié),該芯片內(nèi)部的結(jié)構(gòu)設(shè)計(jì)可以保證向外提供失真度小于1%的正弦信號(hào);為了提高信號(hào)的比例精度,所有的分壓電阻全部定制,阻值精度可達(dá)千分之一;運(yùn)放選用低漂移運(yùn)放LM124;電子開(kāi)關(guān)選用高性能的MAX4536的4路單刀單擲開(kāi)關(guān);另外,考慮到電子開(kāi)關(guān)導(dǎo)通后有幾十歐姆的壓降,為了減小其影響,在加法器中反饋電阻與累加電阻均選擇為幾十千歐左右,進(jìn)一步削弱電子開(kāi)關(guān)導(dǎo)通電阻在比例加法器中的影響。由于以上措施的作用,可以大幅度提高電路在實(shí)際使用中的性能。
在圖1所示電路中,電子開(kāi)關(guān)為譯碼后控制,一位控制碼控制一路開(kāi)關(guān),因此電子開(kāi)關(guān)的控制共需要12個(gè)數(shù)字量輸出接口,這在筆者所采用的嵌入式系統(tǒng)中是不允許的,因?yàn)闆](méi)有這么多的資源,為了進(jìn)一步滿(mǎn)足系統(tǒng)的要求,采用單并轉(zhuǎn)換技術(shù),用三片4位移位寄存器CT1194串聯(lián)組成一個(gè)12位的移位寄存器,框圖如圖2所示。
圖1中,12個(gè)電子開(kāi)關(guān)共有4096種組合,其每種組合對(duì)應(yīng)著一個(gè)特定大小的正弦交流信號(hào),這些電子開(kāi)關(guān)的控制,雖然需要12個(gè)I/O口,但只要借助于圖2的串入并出移位寄存器,我們通過(guò)數(shù)據(jù)口DATA1和時(shí)鐘口CLK兩個(gè)輸出口可以把4096種組合的任意一種送到Q1到Q12上,從而用兩個(gè)I/O口實(shí)現(xiàn)了12路電子開(kāi)關(guān)的控制。而在筆者所用的PC-104的I/O卡中,其外擴(kuò)I/O口是用8255實(shí)現(xiàn)的,由于8255的C口具有位控功能〈位置位或位清零〉,則從C口中任取兩位作為移位寄存器的數(shù)據(jù)端口和時(shí)鐘端口,在12個(gè)脈沖上升沿作用下,可以將任意一個(gè)12位二進(jìn)制數(shù)送到Q1到Q12口,從而完成對(duì)電子開(kāi)關(guān)的期望控制,在圖l中Vout處得到所希望幅值大小的定頻正弦波。
3.實(shí)現(xiàn)過(guò)程
為了獲得激勵(lì)信號(hào)所需要的幅值,本單元使用PC.104的I/O模塊的C口的位控功能對(duì)電子開(kāi)關(guān)進(jìn)行控制。首先在控制面板上給出激勵(lì)信號(hào)所需的幅值,然后將此值利用5421碼序列進(jìn)行編碼,所謂5421碼是指碼制相應(yīng)位的權(quán)值分別為5、4、2、1,即相應(yīng)位為1時(shí)所代表的十進(jìn)制值分別是5、4、2、1。具體的編碼規(guī)則如表1所示。對(duì)激勵(lì)所需幅值編碼后,將所得二進(jìn)制編碼按由低到高的順序輸入移位寄存器,該編碼由寄存器并行輸出給電子開(kāi)關(guān)的控制端,控制開(kāi)關(guān)的開(kāi)閉,從而控制加法器的輸出結(jié)果,獲得所需幅值的正弦激勵(lì)信號(hào)?刂七^(guò)程的流程圖如圖3所示,為了更詳細(xì)地介紹此流程的實(shí)現(xiàn)過(guò)程,下面舉例進(jìn)行說(shuō)明。
砝碼\十進(jìn)制數(shù)
對(duì)應(yīng)于激勵(lì)實(shí)際需要的數(shù)值
0
1
2
3
4
5
6
7
8
9
5
0
0
0
0
0
0
0
0
1
1
4
0
0
0
0
1
1
1
1
0
1
2
0
0
1
1
0
0
1
1
1
0
1
0
1
0
1
0
1
0
1
1
0
輸出編碼
0x00
0x01
0x02
0x03
0x04
0x05
0x06
0x07
0x0B
0x0C
轉(zhuǎn)換后輸出給電子開(kāi)關(guān),對(duì)輸出進(jìn)行控制
4.例子
例如需要一個(gè)f(t)=3.95sin240πtV的正弦激勵(lì)信號(hào),按照軟件框圖獲得此激勵(lì)信號(hào)的方法如下。在開(kāi)始編程之前,首先進(jìn)行端口分配,I/O模塊C口的地址為Address,設(shè)C2為RD的控制口,C3為DATA的控制口,C4為CLK的控制口。程序首先要將移位寄存器復(fù)位,即對(duì)C口的C2位進(jìn)行操作,如下所述:
Ootp(Address,0x04); //使C2口輸出0
Delay(0.01);
Outp(Address,0x05); //使C2口輸出1
Delay(0.01);
輸入幅值為:3.956,即a=3.956:則b=100*3.956=395.6,四舍五入得396;
396除以10取余得6,所以C1=6:
396整除lO得到39,39除以10取余得到9,所以C2=9;
396整除100得到3,所以C3=3。
將C1、C2、C3按照5421碼序列進(jìn)行編碼,編碼規(guī)則見(jiàn)表1,根據(jù)表1的規(guī)則轉(zhuǎn)換后,得:
C1’=0000 0110=0x06
C2’=0000 1100=0x0C
C3’=0000 0011=0x03
將C1’的數(shù)值賦予d1(即1=0000 0110);將C2’左移4位后,變成0000 1100 0000,賦予d2(即d2=0000 1100 0000);將C3’左移8位后,變成0011 0000 0000,賦予d3(即將上面得到的12位二進(jìn)制數(shù)的每一位依次賦與數(shù)組。然后分12次將數(shù)組中的數(shù)據(jù)作為控制信號(hào)輸入到寄存器中,得到相應(yīng)的控制權(quán)值,用來(lái)控制輸出正弦激勵(lì)信號(hào)幅值的大小。C3為DATA的控制口,C4為CLK的控制口,具體實(shí)現(xiàn)過(guò)程如下:
當(dāng)輸出數(shù)據(jù)bit[I]=1時(shí):
outp(Address,0x08); //脈沖信號(hào)為低電平。
Delay(0.01);
Outp(Address,0x07); //位操作置1。
Delay(0.01);
Outp(Address,0x09); //脈沖信號(hào)為高電平。
當(dāng)輸出數(shù)據(jù)bit[I]=0時(shí):
oout(Address,0x08); //脈沖信號(hào)為低電平。
Delay(0.01);
Outp(Address,0x06); //位操作置0.
Delay(0.01);
Outp(Address,0x09); //脈沖信號(hào)為高電平。
5.結(jié)束語(yǔ)
本單元利用常規(guī)電路實(shí)現(xiàn)了固定頻率的正弦信號(hào)的給定功能。它能得到從10mV到10V之間任意幅值的正弦信號(hào),對(duì)所需激勵(lì)信號(hào)的頻率及幅值的要求,精度能達(dá)到1%,且正弦信號(hào)的失真度也不超過(guò)1%。本檢測(cè)單元己在基于PC.104總線的某型飛機(jī)發(fā)動(dòng)機(jī)參數(shù)的檢測(cè)系統(tǒng)中為飛機(jī)振動(dòng)校準(zhǔn)提供了激勵(lì)信號(hào),經(jīng)調(diào)試完全能滿(mǎn)足本文所述的各種參數(shù)要求。
【高精度正弦全自動(dòng)激勵(lì)信號(hào)源的設(shè)計(jì)與實(shí)現(xiàn)】相關(guān)文章:
GPS高精度的時(shí)鐘的設(shè)計(jì)和實(shí)現(xiàn)08-06
用FPGA實(shí)現(xiàn)數(shù)據(jù)遠(yuǎn)距離的高精度傳輸08-06
用于智能天線設(shè)計(jì)的多路信號(hào)源08-06
五點(diǎn)式全自動(dòng)捆鈔機(jī)的原理與實(shí)現(xiàn)08-06
單相正弦脈寬調(diào)制逆變器的設(shè)計(jì)08-06
基于數(shù)字移相的高精度脈寬測(cè)量系統(tǒng)及其FPGA實(shí)現(xiàn)08-06
VXI總線專(zhuān)用中頻信號(hào)源的設(shè)計(jì)08-06
一種高精度波形發(fā)生器的設(shè)計(jì)08-06
正弦和余弦08-17