單片機ADC擴展方案討論
早在幾天前,我寫了一篇關於單片機IO口擴展的文章,接著有網友和我來討論關於ADC擴展的問題了,關於這個問題,這篇文章有詳細的討論。
單片機ADC為何要擴展
現在的主流MCU都內置了不止一個多通道的ADC,可以滿足我們平時的簡單應用,這些簡單應用是指應用在一些對模擬量採集速度不高,精度能接受的場合下。但是對於一些高精度,高速度的情況下,外置的專用ADC晶片仍然是我們必須要選擇的,哪怕以很高的金錢成本為代價。這些高速,高精度的外置ADC由於某些原因,內部的通道很少,因此如何去儘可能地使用這些寶貴的資源對我們來說確實是一個問題。
需要採集多路高精度低速信號
如果你使用外置ADC的目的僅僅是為了獲得一個高精度的採樣值,而對採樣的速度要求不是很高的話,用繼電器進行多路切換那是一個很明智的選擇。
比如,當你需要去監控多路溫度的時候,由於溫度終端採集對象的溫度範圍不確定,有可能到200多攝氏度,而且被採集溫度處的接觸面積有限,因此只能選用熱電偶傳感器做終端的傳感器,因為熱電偶傳感器觸電面積小,測溫範圍廣,很適合上述要求。
那此時熱電偶冷端的電信號採集就可以使用這種方案來做了,比如安捷倫數據採集器溫度採集卡就是使用了上述的原理。
它將很多的測溫線全部接入溫度採集卡裡面,而溫度採集卡裡面的ADC通道數量有限(一片四路的高精度ADC),而所接入的溫度傳感器熱電偶線卻有40根,對於這種應用,它將每根熱電偶接入後先做模擬前置處理,然後將處理完成的信號接入到一個繼電器上面,示意圖如下。
具體工作流程是,先用邏輯選通電路打開第一路繼電器,此時CH1的傳感器信號經過模擬電路處理完成之後的電壓通過繼電器的選通就輸入到了ADC_Chanel1進行AD轉換,轉換完成的電壓存儲下來。緊接著斷開第一路繼電器,打開第二路繼電器,此時CH2的傳感器信號經過模擬電路處理完成之後的電壓經過第二路繼電器輸入到了ADC_Chanel1進行AD轉換。循環此步驟,直到著10個通道全部循環一編,第一輪AD採樣就全部完成。接著再循環往復第二輪第三輪。因此當你在使用這個溫度採集卡的時候,你會發現其內部的繼電器「嗒嗒嗒」打開關閉的聲音。
這種方式的好處就是當你有一片高精度ADC需要採集多個通道的低速信號的時候很有用,電路結構簡單,繼電器價格低廉,電路板設計也沒有難度。缺點就是由於繼電器內部歸根到底是機械部件在運動,因此使用壽命有限。
模擬選通開關
在面對一些高速的多路通道模擬電壓採集時,以上的繼電器方式顯然不適用了,因為繼電器切換的速度根本就無法滿足模擬通道的切換速度。因此我們需要選用一些模擬通道切換速度更快的器件,而這個器件的最好選擇就是雙電壓模擬開關。常用的型號有ADG509,但是這個晶片即將停產,因此取代的型號有ADGS1414D。
ADGS1414D是一顆高速的模擬電壓開關,其最大帶寬可達150MHz。包含八個獨立的單刀單擲開關。這些開關由一個串行外設接口 (SPI) 控制。SPI 具備可靠的錯誤檢測功能,例如循環冗餘校驗碼 (CRC) 錯誤檢測、無效讀/寫地址檢測以及 (SCLK) 計數錯誤檢測。通過菊鏈模式可將多個 ADGS1414D 套件連接在一起。菊鏈模式可用最少數量的數字走線實現多套件配置。通過 ADGS1414D 的數位訊號和電源路由可進一步提高通道密度。集成的無源組件消除了對外部無源組件的需求。ADGS1414D 適用於高密度開關應用,例如大型開關矩陣和扇出應用。在接通時,各個開關在兩個方向上具有同等的傳導性能,並且其輸入信號範圍可擴展至電源電壓的水平。在斷開狀態下,達到電源電壓水平的信號電平將被阻止。多功能引腳名稱只能供其相關功能引用。
如果僅僅做一些對觸發要求不高的多路高速電壓信號採集時,只需要用這個晶片替換上述的繼電器組即可實現要求。
採樣保持器加模擬開關
但是,有一些應用對於多路模擬信號的採集有同時採樣的要求,那麼上述的兩種方案就都無法滿足了。
在很多的應用中,對於AD採樣的需求是「多路同一時刻採樣」。比如在做PMSM控制時的FOC算法,需要同時採集電機的電流電壓,再如我做的微波行業,需要同一時刻去採集前向波和反向波檢波後的包絡信號,這種應用中,對同一時刻這個觸發要求是很高的。比如,我們需要採集同一時刻微波的前向波和反向波包絡時,其波形圖如下所示:
為了應對以上的要求,必須在多路模擬開關之前對每一路信號增加一個採樣保持器。採樣-保持器(Sample/Hold)是能夠完成以下任務的器件,簡寫為S/H。如果直按將模報量送入AD轉換器進行轉換,則應考慮到任何一種AD 轉換器都需要用一定的時間來完成量化及編碼的操作。在轉換過程中,如果模擬量產生變化,將直接影響轉換精度。特別是在同步系統中,幾個並聯的參量需取自同一瞬時,而各參數的AD 轉換又共享個晶片,所得到的幾個量就不是同一時刻的值,無法進行計算和比較。所以要求輸入到A/D 轉換器的模擬量在整個轉換過程中保持不變,但轉換之後,又要求A/D 轉換器的輸入信號能夠跟隨模擬量變化。
常用的採樣保持器有AD783,它是一款高速單晶片採樣保持放大器(SHA),0.01%採集時間典型值為250 ns。其保持模式總諧波失真經過全面測試,輸入頻率最高達100 kHz。AD783配置為單位增益放大器,並採用已獲專利的自校正架構,能夠將保持模式誤差降至最小,並確保器件整個溫度範圍內都能提供高精度。該器件獨立自足,無需外部器件或調整。
因此,對於同時採樣要求比較高的時候,我們可以用下面的多路AD採樣。
當採樣保持信號到來時,採樣保持器SH1的輸入信號和SH2的輸入信號都會被保持住,然後再去依次選通ADGS1414D的通道1和通道2進行AD轉換,依次往復即可。
當然上述的採樣保持器的價格非常高,可以抵得上一片AD7606的價格了,使用時候要慎重。