探索Digilent Analog Shield:高精度模擬電路連接解決方案
引言
在電子電路設(shè)計(jì)中,如何將Arduino或chipKIT與模擬電路進(jìn)行高效、高精度的連接一直是工程師們關(guān)注的問題。Digilent Analog Shield為我們提供了一個(gè)絕佳的解決方案,它不僅具備多種實(shí)用功能,還能顯著提升信號(hào)處理的精度和性能。
文件下載:410-309.pdf
一、產(chǎn)品概述
Digilent Analog Shield是一款能讓Arduino?或chipKIT?與模擬電路輕松連接的設(shè)備。它由Digilent與德州儀器(Texas Instruments?)以及斯坦福大學(xué)的Kovacs / Giovangrandi實(shí)驗(yàn)室合作開發(fā)。該盾牌提供了以下關(guān)鍵特性:
- 電源供應(yīng):具備可變的+/-7.5V電源和固定的+/-5V電源。
- 面包板:配備小型面包板,方便電路搭建。
- 軟件操作:可通過單行C語言代碼實(shí)現(xiàn)對ADC/DAC的讀寫操作。
- ADC與DAC:擁有4通道、16位、100 ks/s的逐次逼近寄存器(SAR)ADC和4通道、16位、100 ks/s的串行DAC。
與Arduino Uno?或chipKIT UNO32?相比,Analog Shield提供了更靈敏的輸入和輸出,并且具備驅(qū)動(dòng)許多實(shí)用模擬電路所需的雙極性輸入和電源。它通過SPI通信協(xié)議與Arduino進(jìn)行通信,ADC和DAC都使用標(biāo)準(zhǔn)的Arduino外形尺寸SPI總線引腳,并采用獨(dú)立的芯片選擇。
二、應(yīng)用場景
Analog Shield適用于處理那些使用Arduino標(biāo)準(zhǔn)引腳無法可靠記錄或生成的小而敏感的信號(hào),能提供更高的分辨率。目前已經(jīng)開發(fā)了一些相關(guān)的演示項(xiàng)目:
- 正弦波/函數(shù)發(fā)生器:利用直接數(shù)字合成技術(shù)生成正弦波或其他函數(shù)波形。
- FFT頻譜分析儀:對信號(hào)進(jìn)行頻譜分析。
- 復(fù)音音樂生成:實(shí)現(xiàn)多聲部音樂的生成。
- 4通道低帶寬示波器:用于觀察和分析信號(hào)的波形。
- 李薩如圖形發(fā)生器:生成李薩如圖形。
- XY模擬示波器顯示驅(qū)動(dòng):驅(qū)動(dòng)示波器進(jìn)行XY顯示。
這些演示項(xiàng)目的詳細(xì)說明可在各自相關(guān)的文檔中找到。
三、硬件結(jié)構(gòu)
1. 模數(shù)轉(zhuǎn)換器(ADC)接口
ADC接口為2x4引腳頭,包含四個(gè)ADC通道和四個(gè)公共接地引腳。四個(gè)接地引腳位于引腳頭的外側(cè)行,四個(gè)ADC通道位于內(nèi)側(cè)行??梢允褂胊nalog.read()函數(shù)以16位分辨率讀取4通道數(shù)據(jù),通道標(biāo)記為A0 - A3。若要了解ADC前的運(yùn)算放大器電路細(xì)節(jié),可參考盾牌原理圖。
2. 數(shù)模轉(zhuǎn)換器(DAC)接口
DAC接口同樣是2x4引腳頭,有四個(gè)DAC通道和四個(gè)公共接地引腳。四個(gè)接地引腳在外側(cè)行,四個(gè)DAC通道在內(nèi)側(cè)行。DAC用于修改Arduino或chipKIT產(chǎn)生的模擬信號(hào)。標(biāo)準(zhǔn)的Arduino/chipKIT analogWrite()函數(shù)產(chǎn)生的脈寬調(diào)制(PWM)方波在許多應(yīng)用中是可行的,但對于更敏感的模擬電路來說不夠理想。而DAC通道設(shè)置值后,會(huì)產(chǎn)生與所提供值對應(yīng)的穩(wěn)定電壓。可以使用analog.write()函數(shù)設(shè)置通道值,通道標(biāo)記為D0 - D4。若要了解DAC后的運(yùn)算放大器電路細(xì)節(jié),可參考盾牌原理圖。
3. 電源接口
電源接口為2x5引腳頭,包含正5V軌、負(fù)5V軌、正可變電壓軌、負(fù)電壓軌、2.5V參考電壓軌和五個(gè)公共接地引腳。五個(gè)接地引腳在外側(cè)行,五個(gè)電源供應(yīng)在內(nèi)側(cè)行。+/-5V軌可能會(huì)因USB電源規(guī)格而有所變化,+/-V軌可以通過盾牌右下角的可變電壓電位器進(jìn)行調(diào)節(jié)。此外,還有一個(gè)+2.5V軌可作為參考電壓。
4. 電壓選擇跳線
需要設(shè)置跳線,以確定連接的板卡使用IOREF、3V3還是5V0作為SPI接口的I/O電壓。
5. 可變電壓電位器
該電位器用于調(diào)節(jié)+/-V電源供應(yīng)軌的電壓。
四、軟件使用
Analog Shield附帶了一個(gè)簡單的庫,旨在優(yōu)化可讀性和性能。它提供了與IDE中標(biāo)準(zhǔn)模擬讀寫功能相似的接口。安裝庫的說明包含在庫文件夾和“Analog Shield – 02 First Time Setup”文檔中。成功將庫安裝到IDE后,可以使用以下命令調(diào)用庫:
#include
包含analogShield庫后,將可以訪問一個(gè)名為analog的類變量,通過該變量可以調(diào)用analogShield庫的函數(shù)。
1. 讀取模擬輸入通道
使用以下函數(shù)讀取模擬輸入通道:
unsigned int read(int channel, bool mode = false);
該函數(shù)返回通道上讀取的電壓,電壓以二進(jìn)制形式表示,范圍從0到65535,對應(yīng)-5V到5V。例如,要讀取通道0(非差分模式),代碼如下:
unsigned int data;
data = analog.read(0);
‘Mode’是一個(gè)可選參數(shù),默認(rèn)值為false,表示正常的單端模式,每個(gè)模擬引腳以地為參考;若設(shè)置為true,則啟用‘差分’模式,返回相鄰輸入對(如A0 - A1和A2 - A3)之間的電壓差。signedRead()函數(shù)與read()函數(shù)功能相同,但返回有符號(hào)整數(shù)。
2. 向DAC寫入數(shù)據(jù)
使用write()函數(shù)向DAC寫入數(shù)據(jù),該函數(shù)允許用戶寫入任意通道:
write(int channel, unsigned int value);
write(unsigned int value0, unsigned int value1, bool mode);
write(unsigned int value0, unsigned int value1, unsigned int value2, bool mode);
write(unsigned int value0, unsigned int value1, unsigned int value2, unsigned int value3, bool mode);
例如,要向通道1寫入一個(gè)值,代碼如下:
unsigned int data = 65535;
analog.write(1, data);
若要同時(shí)向通道0、1和2寫入多個(gè)值并同時(shí)更新,代碼如下:
unsigned int data0 = 65535;
unsigned int data1 = 256;
unsigned int data2 = 0;
analog.write(data0, data1, data2, true);
同時(shí)更新方法適用于高速應(yīng)用,因?yàn)橥ǖ垒敵鲋g的小延遲可能會(huì)產(chǎn)生不需要的信號(hào)或時(shí)序問題。
五、總結(jié)
與Arduino的原生模擬輸入相比,Analog Shield提供了16位的ADC(而Arduino UNO和ChipKIT UNO32提供的是10位),精度提高了約25dB。此外,ADC作為雙極性輸入,可以在不需要額外硬件的情況下感應(yīng)+/-5V范圍內(nèi)的信號(hào)。板載DAC在精度上也有類似的提升,在低頻驅(qū)動(dòng)正弦輸出時(shí),信噪比提高了多達(dá)25dB。Analog Shield還提供了緊湊的集成電源,具有固定和可調(diào)輸出,可讓各種模擬電路以最小的空間浪費(fèi)和復(fù)雜度進(jìn)行組裝。
你在使用Analog Shield的過程中遇到過哪些有趣的問題或挑戰(zhàn)呢?歡迎在評論區(qū)分享你的經(jīng)驗(yàn)和想法。
發(fā)布評論請先 登錄
探索Fresno(MAXREFDES11#):16位高精度隔離模擬前端設(shè)計(jì)
探索Fremont(MAXREFDES6#):高精度隔離模擬前端參考設(shè)計(jì)
探索Petaluma(MAXREFDES30#):8通道同步采樣模擬前端的卓越設(shè)計(jì)
探索Alameda(MAXREFDES24#):工業(yè)控制的理想模擬輸出解決方案
探索DS3231MPMB1外設(shè)模塊:高精度實(shí)時(shí)時(shí)鐘的理想之選
探索AD5620/AD5640/AD5660:高精度nanoDAC的技術(shù)解析與應(yīng)用洞察
解鎖24位ADC新品丨笙泉科技高精度MAD系列全面升級(jí)
高精度18位電壓輸出DAC——AD5781詳解
深入剖析AD7798/AD7799:高精度測量的理想之選
ADuCM350:高精度、低功耗的片上儀表解決方案
探索MAX16895 - MAX16899:超小型高精度可調(diào)序/監(jiān)控電路的卓越性能
探索LMT85:高精度模擬溫度傳感器的卓越之選
LMK01801雙時(shí)鐘分頻緩沖器:高精度時(shí)鐘解決方案
探索TMUX611x系列:高精度、低功耗模擬開關(guān)的卓越之選
為太空探索注入“聲”命力——4大GRAS高精度傳聲器方案
探索Digilent Analog Shield:高精度模擬電路連接解決方案
評論