中南覆鸥人力资源有限公司

你的位置:首頁 > 電源管理 > 正文

可否利用DAC來改變交流信號(hào)的幅值?

發(fā)布時(shí)間:2020-05-12 來源:卓晴 責(zé)任編輯:wenwei

【導(dǎo)讀】使用電位器可以很方便在信號(hào)源的驅(qū)動(dòng)下形成一個(gè)幅值可以調(diào)節(jié)的交流信號(hào)源。這比起使用通常的可編程直流電源,或者DAC輸出電壓來說,輸出的是幅度可以變的交流信號(hào)源,可以用于很多的自動(dòng)測量環(huán)節(jié)。
 
01緣起
 
1.為什么討論電子電位器?
 
為什么要討論使用一個(gè) DAC[1]來作為一個(gè)電位器呢?這里面主要原因如下:
 
●  使用電位器可以很方便在信號(hào)源的驅(qū)動(dòng)下形成一個(gè)幅值可以調(diào)節(jié)的交流信號(hào)源。這比起使用通常的可編程直流電源,或者DAC輸出電壓來說,輸出的是幅度可以變的交流信號(hào)源,可以用于很多的自動(dòng)測量環(huán)節(jié)。
 
●  為什么不直接使用 機(jī)械電位器[2]來改變信號(hào)源的幅值呢?還是一個(gè)原因,那就是自動(dòng)可編程改變信號(hào)的幅值。
 
●  現(xiàn)在有數(shù)字電位器,比如 X9C102,X9C103,X9C104[3],AD5272等,為什么不使用它們來實(shí)現(xiàn)對(duì)交流信號(hào)源進(jìn)行幅值改變呢?這里面一個(gè)主要原因就是器件的頻帶寬度[4](https://zhuoqing.blog.csdn.net/article/details/104134132 "X9C102,X9C103,X9C104"),AD5272等,為什么不使用它們來實(shí)現(xiàn)對(duì)交流信號(hào)源進(jìn)行幅值改變呢?這里面一個(gè)主要原因就是器件的頻帶寬度[^4068]的問題。相比于機(jī)械電位器,這些電子電位器(變阻器)都具有相對(duì)較窄的工作頻帶寬度,對(duì)于高頻信號(hào)不適合。
 
2.為什么使用DAC做電位器?
 
●  DAC用作電位器改變交流信號(hào)原理;
●  使用DAC來分壓交流信號(hào)的優(yōu)點(diǎn)是什么?
●  是否能夠克服前面數(shù)字電位器的頻帶過窄的問題?
 
寫這些話的時(shí)候,我還不知道具體答案,下面就通過實(shí)驗(yàn)來驗(yàn)證一下吧。
 
02實(shí)驗(yàn)電路
 
最近,剛剛購買了幾片16bit的DAC芯片 DAC8830IDR[5](價(jià)格6.6),具有SPI接口,基于該DAC來驗(yàn)證一下前面的思路的可行性。
 
1.實(shí)驗(yàn)電路設(shè)計(jì)
 
由于DAC8830使用SPI接口來設(shè)置輸出電壓,使用STC8G1K(SOP16)作為控制器來完成對(duì)它的信號(hào)控制。
 
1)SCH [6]
 
可否利用DAC來改變交流信號(hào)的幅值?
▲ 原理圖設(shè)計(jì)
 
2)PCB
 
對(duì)于實(shí)驗(yàn)原理圖進(jìn)行LAYOUT,盡可以滿足單面PCB板制作的工藝要求??焖僦瓢嬷蟮玫綄?duì)應(yīng)的實(shí)驗(yàn)電路板。
 
可否利用DAC來改變交流信號(hào)的幅值?
▲ 實(shí)驗(yàn)電路板的PCB設(shè)計(jì)
 
2.MCU軟件編程[7]
 
1) DA8830訪問子程序
 
使用STC8G的SPI端口對(duì)DA8830進(jìn)行訪問。根據(jù)DA8830的SPI讀寫時(shí)序,相應(yīng)的DAC8830寫入轉(zhuǎn)換(16bit)數(shù)據(jù)的子程序?yàn)椋?/div>
 
void DAC8830Set(unsigned int nDAC) {  
    OFF(DAC8830_CS);  
      
    SPISendChar((unsigned char)(nDAC >> 8));  
    SPISendChar((unsigned char)nDAC);  
      
    ON(DAC8830_CS);  
      
}
 
可否利用DAC來改變交流信號(hào)的幅值?
▲ DA8830的SPI讀寫時(shí)序
 
對(duì)應(yīng)的DA8830的CS,SPK的波形為:
 
可否利用DAC來改變交流信號(hào)的幅值?
▲ 示波器觀察到DA8830的CS,CLK的波形
 
從上面波形可以看出,DAC8830Set()函數(shù)的執(zhí)行時(shí)間在STC8G1K17(35MHz)執(zhí)行中的時(shí)間大約為可否利用DAC來改變交流信號(hào)的幅值?。
 
在靜態(tài)下,通過兩個(gè)可否利用DAC來改變交流信號(hào)的幅值?電阻組成的參考電壓分壓電路,生成大約2.5V的參考電壓。實(shí)際測量電壓為:可否利用DAC來改變交流信號(hào)的幅值?。
 
根據(jù)DA8830數(shù)據(jù)手冊(cè),DAC8830的參考電壓輸入阻抗大約為:可否利用DAC來改變交流信號(hào)的幅值?。因此,理論計(jì)算所得到的參考電壓為:
 
可否利用DAC來改變交流信號(hào)的幅值?
 
這個(gè)數(shù)值比起前面實(shí)際測量得到的可否利用DAC來改變交流信號(hào)的幅值?要大,這說明對(duì)應(yīng)的DA8830的參考電壓管腳的阻抗比起可否利用DAC來改變交流信號(hào)的幅值?還要小。
 
為了便于測量數(shù)據(jù)波形,調(diào)用DA8830Set()函數(shù)中的輸入?yún)?shù)為可否利用DAC來改變交流信號(hào)的幅值?。那么輸出電壓計(jì)算值應(yīng)該為:
 
可否利用DAC來改變交流信號(hào)的幅值?
 
實(shí)際測量DA8830的輸出電壓為:可否利用DAC來改變交流信號(hào)的幅值?。
 
2) 輸出電壓波形
 
可否利用DAC來改變交流信號(hào)的幅值?
▲ 每1ms寫入DAC8830遞增數(shù)據(jù)的CS,DI數(shù)據(jù)波形
 
寫入遞增的數(shù)據(jù),輸出波形。
 
for(;;) {  
    WaitTime(1);  
    //----------------------------------------------------------------------  
    DAC8830Set(nShowCount);  
    nShowCount += 0x200;  
    //----------------------------------------------------------------------  
}  
  
此時(shí)Dout輸出遞增的鋸齒波形。
 
可否利用DAC來改變交流信號(hào)的幅值?
▲ 輸出遞增的鋸齒波形
 
03參考電壓與輸出信號(hào)
 
下面經(jīng)過幾組實(shí)驗(yàn),來驗(yàn)證DAC的參考電壓對(duì)于輸出信號(hào)的影響。
 
1.參考電壓的有效范圍
 
在DAC8830的數(shù)據(jù)手冊(cè)中,對(duì)于參考電壓的輸入范圍給定的是1.25V ~ Vpp。下面通過一組實(shí)驗(yàn)來測試實(shí)際的有效輸入?yún)⒖茧妷悍秶?/div>
下面通過在某一給定的DAC8830的設(shè)置下,給定Vref,測量對(duì)應(yīng)的實(shí)際輸出。將三種不同設(shè)置下的輸出電壓與參考電壓之間的關(guān)系繪制在一起。從圖中可以看到,實(shí)際上,DA8830的參考電壓對(duì)于輸出電壓的等比例的影響范圍是在整個(gè)的工作電壓(0~5V)之內(nèi)都有效。
 
可否利用DAC來改變交流信號(hào)的幅值?
▲ 將三種不同設(shè)置下的參考電壓與輸出電壓繪制在一起
 
2.輸入交變的參考電壓
 
1)在Vref加入交流電壓波形
 
在Vref中加入100Hz左右正弦波,設(shè)置DAC8830轉(zhuǎn)換值為0x7fff,輸出的電壓波形如下圖所示??梢钥吹捷敵觯˙lue)的電壓波形等于Vref(Cyan)的一半。
 
可否利用DAC來改變交流信號(hào)的幅值?
▲ DAC8830的Dout(Cyan)與Vref(Blue)的波形
 
當(dāng)設(shè)置為0xffff的時(shí)候,輸入的波形就與輸入一致了。
 
可否利用DAC來改變交流信號(hào)的幅值?
▲ DAC8830的Dout(Cyan)與Vref(Blue)的波形
 
2)輸入高頻方波波形
 
為了測試從Vref到Vout之間的頻帶寬度,在Vref中加入高頻方波信號(hào),觀察輸出的Vout的信號(hào)。
 
可否利用DAC來改變交流信號(hào)的幅值?
▲ 加入高頻方波信號(hào)Vref(Blue)觀察輸出信號(hào)Vout(Cyan)
 
將波形再次展開,觀察輸出的過渡過程。
 
展開波形,對(duì)比輸入輸出波形,可以觀察到Vref到Vout之間的帶寬應(yīng)該超過1MHz。按照DAC8830數(shù)據(jù)手冊(cè)上關(guān)于參考電壓 -3dB帶寬的參數(shù),典型值為1.3MHz。
 
可否利用DAC來改變交流信號(hào)的幅值?
▲ 加入高頻方波信號(hào)Vref(Blue)與輸出信號(hào)Vout(Cyan)波形
 
3.使用DAC對(duì)交流信號(hào)進(jìn)行調(diào)幅
 
下面將固定的交流電壓(有直流分量,使得信號(hào)始終大于零)施加在Vref,測量Vout隨著DAC8830的設(shè)置值的變化情況。
 
施加的電壓頻率可否利用DAC來改變交流信號(hào)的幅值?,幅值可否利用DAC來改變交流信號(hào)的幅值?
 
輸出電壓值如設(shè)置數(shù)值之間的關(guān)系為:
 
可否利用DAC來改變交流信號(hào)的幅值?
▲ 輸出電壓值與設(shè)置值之間的關(guān)系
 
可以看到整體上輸出與設(shè)置值之間的關(guān)系呈現(xiàn)非常好的線性關(guān)系。
 
注意到在曲線的一開始似乎有一些略微的非線性。下面重新采集設(shè)置值范圍在(0,0x3ff)范圍內(nèi)的輸出電壓與設(shè)置值之間的關(guān)系曲線。
 
可否利用DAC來改變交流信號(hào)的幅值?
▲ 輸出電壓值與設(shè)置值之間的關(guān)系
 
可以看到在起始的時(shí)候,由于系統(tǒng)存在噪聲,使得輸出的電流電壓與設(shè)定值之間存在一定的非線性。當(dāng)理論輸出電壓小于系統(tǒng)地線上的噪聲電壓時(shí),使用交流萬用表測量得到的數(shù)值就會(huì)偏大。
 
下面重新對(duì)頻率為可否利用DAC來改變交流信號(hào)的幅值?的信號(hào)測量輸出電壓與設(shè)定值之間的關(guān)系。結(jié)果與1kHz的情形相同。只是輸出整體的增益下降了。
 
可否利用DAC來改變交流信號(hào)的幅值?
▲ 輸出電壓值與設(shè)置值之間的關(guān)系
 
可否利用DAC來改變交流信號(hào)的幅值?
 
增益變化了9%左右。
 
4.信號(hào)超量程
 
當(dāng)輸入信號(hào)的幅值超過DAC8830d的工作電壓,或者低于0V,輸出都會(huì)出現(xiàn)截止。
 
可否利用DAC來改變交流信號(hào)的幅值?
▲ 輸入信號(hào)超過+5V,低于0V的情況
 
結(jié)論
 
通過前面的實(shí)驗(yàn),可以看到,使用DAC8830來當(dāng)做電位器獲得幅度可變的交流信號(hào)源是可行的。它具有很寬的信號(hào)帶寬,并且輸出信號(hào)的幅值與設(shè)置信號(hào)之間具有非常好的線性關(guān)系,只是在信號(hào)比較小的時(shí)候輸出會(huì)受到系統(tǒng)和芯片本身的噪聲影響。
 
當(dāng)輸入信號(hào)超出了DAC8830的工作電壓,或者低于0V時(shí),輸出信號(hào)都會(huì)截止。所以在使用的時(shí)候,需要通過一定的信號(hào)偏置的方式將交流信號(hào)平移到始終在0~5V(DAC8830工作電壓)范圍之后進(jìn)行調(diào)試,然后可以再通過隔直電容去掉信號(hào)中的偏移量。
 
參考資料
 
[1] DAC: https://baike.baidu.com/item/%E6%95%B0%E6%A8%A1%E8%BD%AC%E6%8D%A2%E5%99%A8/4634384?fromtitle=DAC&fromid=1196661&fr=aladdin
[2] 機(jī)械電位器: https://zhuoqing.blog.csdn.net/article/details/104089780
[3] X9C102,X9C103,X9C104: https://zhuoqing.blog.csdn.net/article/details/104134132
[4] 頻帶寬度: 器件的輸出增益隨著信號(hào)頻率的改變而下降,最終形成的最大等效輸出帶寬
 
 
推薦閱讀:
 
特別推薦
技術(shù)文章更多>>
技術(shù)白皮書下載更多>>
熱門搜索
?

關(guān)閉

?

關(guān)閉

舟曲县| 清远市| 大同市| 阳朔县| 双峰县| 南漳县| 徐州市| 苏尼特右旗| 宣城市| 海林市| 三河市| 平舆县| 全椒县| 长子县| 西畴县| 济源市| 镇原县| 平舆县| 陆河县| 剑川县| 阜康市| 闻喜县| 崇明县| 安阳市| 平武县| 张家口市| 大同市| 镇沅| 永福县| 舞阳县| 利辛县| 广德县| 屯昌县| 六安市| 藁城市| 札达县| 乌鲁木齐县| 尖扎县| 文水县| 临泉县| 长岭县|