同步關(guān)鍵的分布式系統(tǒng)時,新型Σ-ΔADC架構(gòu)可避免中斷的數(shù)據(jù)流
Lluis?Beltran?Gil?(ADI公司?精密轉(zhuǎn)換器部SAR?ADC應(yīng)用團(tuán)隊,西班牙?瓦倫西亞)
本文引用地址:http://2s4d.com/article/201912/408669.htm摘?要:介紹了基于SAR ADC的系統(tǒng)和基于sigma-delta (∑-Δ) ADC的分布式數(shù)據(jù)采集系統(tǒng)同步的傳統(tǒng)方法、探討了這兩種架構(gòu)之間的區(qū)別,并討論了同步多個Σ-Δ ADC時遇到的典型不便。最后,提出一種基于AD7770采樣速率轉(zhuǎn)換器(SRC)的創(chuàng)新同步方法,該方法顯示如何在不中斷數(shù)據(jù)流的情況下,在基于Σ-ΔADC的系統(tǒng)上實現(xiàn)同步。
關(guān)鍵詞:sigma-delta:ADC;分布式;數(shù)據(jù)采集
0 引言
您是否曾經(jīng)想象過,自己正坐在一輛打破音障的超音速飛機(jī)上?自從協(xié)和式超音速噴氣客機(jī)退役后,這似乎已經(jīng)成了一個不可能實現(xiàn)的夢想,除非您是一名軍機(jī)駕駛員或是宇航員。
身為一名電子工程師,筆者對一切事物的運(yùn)作方式非常著迷,比如對布谷鳥鐘,我很好奇它的每個獨(dú)立系統(tǒng)如何與其他系統(tǒng)和諧地保持同步。
我們生活的各方面也是這樣。我們生活在一個相互聯(lián)系的世界,一切都是同步的——從銀行服務(wù)器到智能手機(jī)的警報。區(qū)別在于各種特定情況下要解決的問題的大小或復(fù)雜性、不同系統(tǒng)的同步與所需的精度(或者容差),或者要同步的系統(tǒng)的大小。
1 分布式系統(tǒng)
在獨(dú)立設(shè)計中,使用的本地時鐘或振蕩器本身就會進(jìn)行同步。但是,當(dāng)獨(dú)立設(shè)計需要集成到更廣泛的系統(tǒng)(我們稱之為分布式系統(tǒng))中時,問題的角度會發(fā)生改變,獨(dú)立系統(tǒng)也應(yīng)該根據(jù)用例進(jìn)行設(shè)計。
要計算一個系統(tǒng)中的電器的瞬時功耗,必須同時測量電流和電壓。
通過快速分析,您可以用3種不同的方法來解決問題:
1)使用兩個同步單通道ADC來測量電流和電壓。
2)使用一個多通道同步采樣ADC,它的每個通道都可能有一個ADC,或者每個通道有一個采樣保持電路。
3)使用一個多路復(fù)用ADC,并且插入測量值,以補(bǔ)償電壓和電流測量之間的時間平移。
至此,您可能已經(jīng)獲得可以解決該問題的可靠解決方案,但是,如果我們擴(kuò)展系統(tǒng)需求,從原來的單件電器輻射到整個應(yīng)用,必須測量整個工廠中的每個交流電源插座的功率呢?現(xiàn)在,您原有的瞬時功耗設(shè)計必須分布應(yīng)用于整個工廠,而且要保證其設(shè)計能夠同時測量和計算每個交流電源插座功耗。
您現(xiàn)在面對的是一個分布式系統(tǒng),它由一組相互獨(dú)立但又緊密相關(guān)的子系統(tǒng)組成。每個子系統(tǒng)需要提供在同一時間點(diǎn)采樣的數(shù)據(jù),以便計算工廠的瞬時總功耗。
最后,如果我們繼續(xù)擴(kuò)展假設(shè)的應(yīng)用示例,想象一下,如果要將您的原始設(shè)計集成到國家電網(wǎng)之中。現(xiàn)在,您檢測的是數(shù)百萬瓦功率,任何一個鏈路出現(xiàn)問題都會導(dǎo)致可怕后果,例如因為壓力導(dǎo)致的線路損壞,反過來,這又可能導(dǎo)致停電,造成可怕后果,例如火災(zāi),或者醫(yī)院停電。
因此,所有系統(tǒng)都必須準(zhǔn)確同步,也就是說,在整個電網(wǎng)中捕獲的數(shù)據(jù)必須是在同一時刻捕獲,無論各數(shù)據(jù)所處的地理情況如何,具體如圖1所示。
在這些情況下,您可以將其視為一個關(guān)鍵的分布式系統(tǒng),且必須從每個感知節(jié)點(diǎn)獲得連續(xù)的、完全同步的數(shù)據(jù)流。
與電網(wǎng)示例類似,這些要求也適用于航空航天或工業(yè)市場中的許多其他關(guān)鍵分布式系統(tǒng)示例。
2 奈奎斯特ADC和過采樣ADC
在開始解釋如何同步多個ADC的采樣時刻之前,最好先了解每個ADC拓?fù)淙绾螞Q定何時采樣模擬輸入信號,以及每種架構(gòu)的優(yōu)缺點(diǎn)。
奈奎斯特或SAR ADC:該轉(zhuǎn)換器的最大輸入頻率由奈奎斯特或半采樣頻率決定。
過采樣或Σ-Δ ADC:最大輸入頻率一般與最大采樣頻率成比例,一般約為0.3。
一方面,SAR ADC的輸入信號采樣時刻通過施加于轉(zhuǎn)換開始引腳的外部脈沖進(jìn)行控制。如圖2所示,將一個通用轉(zhuǎn)換開始信號應(yīng)用到被同步系統(tǒng)中每個SAR ADC上,它們都會在轉(zhuǎn)換起始信號的邊緣同時觸發(fā)采樣。只要確保信號之間沒有明顯的延遲,即轉(zhuǎn)換開始脈沖在同一時刻及時到達(dá)每個SAR ADC,系統(tǒng)同步就很容易實現(xiàn)。注意,到達(dá)轉(zhuǎn)換開始引腳的脈沖與實際采樣時刻之間的傳播延遲不能因設(shè)備而不同,在采樣速度相對較慢的精密ADC中,這種延遲不顯著。
在應(yīng)用轉(zhuǎn)換開始脈沖之后的某個時間(也稱為轉(zhuǎn)換時間),轉(zhuǎn)換結(jié)果將通過所有ADC的數(shù)字接口顯示。
另一方面,由于架構(gòu)不同,Σ-Δ ADC操作也略有不同。在這種類型的轉(zhuǎn)換器中,內(nèi)部核心(即調(diào)制器)對輸入信號采樣的頻率(調(diào)制器頻率, f MOD )比奈奎斯特規(guī)定的最小頻率高,因此它被稱為過采樣ADC。
通過按比嚴(yán)格需要的頻率更高的頻率采樣,能夠收集更多的樣本。然后采用平均濾波器對所有ADC數(shù)據(jù)進(jìn)行后處理,原因有二:
1)每4個平均樣本,噪聲降低1位。
2)平均濾波器轉(zhuǎn)換函數(shù)是一個低通濾波器。當(dāng)∑-?架構(gòu)將其量化噪聲推向高頻時,應(yīng)該移除平均濾波器轉(zhuǎn)換函數(shù),如圖3所示。所以,本次濾波由這個平均濾波器完成。
樣本的平均數(shù)量,即抽取率( N ),會決定輸出數(shù)據(jù)速率( ODR ),輸出數(shù)據(jù)速率是ADC提供轉(zhuǎn)換結(jié)果的速率,單位為樣本/秒,如式(1)所示。抽取率通常是整數(shù),帶有一組可在數(shù)字濾波器上離散編程的預(yù)定義值(即 N = 32、64、128等)。因此,通過保持 f MOD 常量, ODR 將根據(jù)預(yù)定義值集內(nèi)的 N 值進(jìn)行配置。
平均過程通常由一個sinc濾波器在內(nèi)部實現(xiàn),調(diào)制器的模擬轉(zhuǎn)換開始脈沖也在內(nèi)部生成,因此不會從外部管控轉(zhuǎn)換過程觸發(fā)。這種類型的轉(zhuǎn)換器實際會連續(xù)采樣,跟蹤輸入信號,并處理獲得的數(shù)據(jù)。一旦該過程(采樣和平均)完成,轉(zhuǎn)換器就會生成一個數(shù)據(jù)就緒信號,告知控制器數(shù)據(jù)可以通過數(shù)字接口回讀。
如圖4所示,∑-?的工作流程可以概括為4個主要步驟:
1)調(diào)制器以f MOD 頻率對信號采樣。
2)通過sinc數(shù)字濾波器對樣本進(jìn)行平均。
3)對sinc濾波器提供的數(shù)據(jù)進(jìn)行偏移和增益校正。
4)數(shù)據(jù)就緒引腳切換,表示轉(zhuǎn)換結(jié)果已就緒,可由控制器回讀。
由于沒有從外部控制何時觸發(fā)內(nèi)部采樣,所以如果要對分布式系統(tǒng)中的多個Σ-Δ ADC進(jìn)行同步,必須同時對所有數(shù)字濾波器實施復(fù)位,這是因為平均轉(zhuǎn)換啟動是由數(shù)字濾波器控制的。
圖5顯示在所有Σ-Δ ADC都采用相同的 ODR 和f MOD 的情況下,對同步產(chǎn)生的影響。
與基于SAR ADC的系統(tǒng)一樣,必須確保復(fù)位濾波脈沖同時到達(dá)各個子系統(tǒng)。
但是,請注意,數(shù)字濾波器每次復(fù)位時,數(shù)據(jù)流都會被中斷,這是因為濾波器必須重新設(shè)置。在本例中,數(shù)據(jù)中斷的持續(xù)時間由數(shù)字濾波器的順序、 f MOD和抽取率決定。在圖6顯示的示例中,濾波器的LPF特性將延遲時間,直到生成有效的輸出。
3 對分布式系統(tǒng)同步采樣的啟示
在分布式系統(tǒng)中,全局同步信號(我們稱之為Global_SYNC)在所有模塊/子系統(tǒng)之間共享。此同步信號可以由主系統(tǒng)或第三方系統(tǒng)(例如GPS 1pps)生成,如圖1所示。
接收到Global_SYNC信號后,每個模塊必須重新同步每個轉(zhuǎn)換器的瞬時采樣(很可能是其本地時鐘),以確保同時性。
在基于SAR ADC的分布式系統(tǒng)中,重新同步本質(zhì)上很簡單,如前一節(jié)所述:本地時鐘(管理轉(zhuǎn)換開始信號)再次與Global_SYNC信號匹配,之后同步獲得信號。
這意味著要生成頻率雜散,因為在同步期間,會在不同時間和距離采集一個樣本,具體如圖7高亮藍(lán)色部分所示。在分布式應(yīng)用中,這些雜散可能是可以接受的,而中斷數(shù)據(jù)流在某些應(yīng)用中則確實至關(guān)重要,例如前面提到的電力線監(jiān)視之類的應(yīng)用。
在基于∑-?的分布式系統(tǒng)中,重新與Global_SYNC信號同步的過程會稍微復(fù)雜一些,這是因為調(diào)制器會持續(xù)對模擬輸入信號采樣,而轉(zhuǎn)換過程也不像SAR ADC一樣從外部控制。
要對多個基于∑-?的分布式系統(tǒng)實施同步,一個簡單的方法就是重置數(shù)字濾波器:丟棄收集和存儲的要在平均濾波器上使用的所有調(diào)制器示例,并且清空數(shù)字濾波器。這意味著:根據(jù)數(shù)字濾波器的順序,它需要一些時間才能再次確定其輸出,如圖5和圖6所示。
數(shù)字濾波器完成設(shè)置之后,會再次提供有效的轉(zhuǎn)換數(shù)據(jù),但考慮到設(shè)置所花費(fèi)的時間,在Σ-Δ ADC上重置數(shù)字濾波器可能導(dǎo)致的數(shù)據(jù)中斷是不可接受的。分布式系統(tǒng)需要重新同步的頻率越高,數(shù)據(jù)流中斷的次數(shù)就越多,而因為這種持續(xù)的數(shù)據(jù)流中斷,Σ-Δ ADC將無法應(yīng)用于關(guān)鍵的分布式系統(tǒng)中。
傳統(tǒng)使用的最小化數(shù)據(jù)中斷的方法是使用可調(diào)諧時鐘,例如PLL,它可以降低全局同步頻率和 f MOD 頻率之間的誤差。
接收到Global_SYNC脈沖后,可以采用類似以下的流程,計算Σ-Δ ADC轉(zhuǎn)換開始和Global_SYNC脈沖之間的不確定性。
1)控制器計算采樣時刻(通過了解群延遲從數(shù)據(jù)就緒信號向后計算,如圖8所示)和Global_SYNC脈沖之間的時間差。群延遲是一份數(shù)據(jù)手冊規(guī)范,說明從對輸入采樣到數(shù)據(jù)就緒引腳開啟(表示樣本已經(jīng)就緒,可以讀取)之間的時間間隔。
2)如果采樣時刻和Global_SYNC之間存在時間差,那么本地控制器會量化這個時間差(t ahead 或t delayed ),如圖9所示。
3)如果存在差異,可以重新設(shè)置∑-?濾波器,或者修改 f MOD ,以便在幾個采樣期間調(diào)整∑-?采樣。無論哪種情況,都可能漏掉幾個樣本。注意,通過改變局部時鐘頻率( f MOD ),Σ-Δ ADC會改變其輸出數(shù)據(jù)速率(ODR = f MOD /N),如此,ADC會減慢或加快對模擬輸入采樣的速度,以期和系統(tǒng)中余下的ADC和Global_SYNC同步。
4)如果 f MOD 被更新,那么在同步之后,主時鐘頻率會恢復(fù)到原來的頻率,以返回到之前的ODR,而子系統(tǒng)則從該時刻開始同步。
在一段時間內(nèi)改變fMOD的過程如圖10所示。
這種方法在某些情況下可能不適用,因為有幾個細(xì)節(jié)需要考慮:
1)將調(diào)制器頻率更改為非整數(shù)倍值可能是不實際的。
2)如果可以對頻率進(jìn)行微調(diào),那么改變的頻率步長必須很小,否則數(shù)字濾波器可能會超出限制,導(dǎo)致同步的實施時間變長。
3)如果所需的 ODR 改變足夠大,可以通過改變抽取率(N),而不是改變調(diào)制器頻率(f MOD )來解決,但是,這也意味著會丟失一些樣本。
4)使用PLL意味著在達(dá)到期望的調(diào)制器頻率之前,除了自身的建立時間之外,還會額外消耗功率。
一般來說,整個系統(tǒng)的復(fù)雜性和成本會隨著系統(tǒng)規(guī)模的增大而增加,特別是與SAR ADC相比,對于后者,只需要將轉(zhuǎn)換開始調(diào)整到與Global_SYNC信號匹配,即可輕松解決這個問題。此外,在許多情況下,因為存在上述系統(tǒng)限制,所以Σ-Δ ADC無法使用。
4 不中斷數(shù)據(jù),輕松重新同步Σ-Δ ADC
AD7770系列產(chǎn)品(包括AD7770、AD7771和AD7779)具有內(nèi)置SRC。隨著這種新架構(gòu)推出,固定的抽取率(N)導(dǎo)致的限制將不復(fù)存在。
SRC允許您采用十進(jìn)制數(shù)(而不僅僅是整數(shù))作為抽取率( N ),因此,您可以采用所需的任何輸出數(shù)據(jù)速率。在之前的同步方法中,由于N是固定的,所以必須更改外部時鐘來調(diào)節(jié)f MOD,之后才能實施同步。
使用AD7770系列產(chǎn)品之后,N會變成可靈活編程,以及可隨時編程的值,所以無需更改f MOD ,也無需中斷數(shù)據(jù),即可對ODR編程。
這種對基于∑-?的子系統(tǒng)重新同步的新方法利用SRC來簡化重新同步過程,最大限度地簡化了前面章節(jié)提到的復(fù)雜性。
新方法如下:
1)接收到Global_SYNC信號之后,各子系統(tǒng)檢查采樣是否同步,以數(shù)據(jù)就緒信號為參考,利用群延遲查找實際采樣時刻。
2)如果采樣時刻和接收到Global_SYNC信號的時間之間存在時間差,那么本地控制器會量化這個時間差(tahead或tdelayed),如圖9所示。
3)這時,會對一個新的 ODR 編程,使其通過SRC更改抽取率(N),從而臨時生成更快或更慢的ODR 。整個重新同步操作一般會用到4個樣本(如果在AD7771上啟用了sinc5濾波器,則需要6個),但是因為這些樣本仍然有效且完全設(shè)置,所以不會導(dǎo)致數(shù)據(jù)流中斷。
4)一旦接收到所需數(shù)量的DRDY,就會重新設(shè)置抽取因數(shù),以返回所需的ODR,如此可以保證Σ-? ADC與其余子系統(tǒng)保持同步,如圖11所示,其不造成數(shù)據(jù)中斷。
5 結(jié)論
關(guān)鍵分布式系統(tǒng)需要所有子系統(tǒng)同步進(jìn)行轉(zhuǎn)換,且具備持續(xù)的數(shù)據(jù)流。
SAR轉(zhuǎn)換器提供一種直觀的重新同步采樣方法:通過重新調(diào)整轉(zhuǎn)換開始信號,使其與Global_SYNC脈沖匹配。
在需要高動態(tài)范圍(DR)或信噪比(SNR)的應(yīng)用中,SAR不可使用,但是傳統(tǒng)Σ-?轉(zhuǎn)換器也變得難以使用,因為這些轉(zhuǎn)換器不具備靈活性,無法在不中斷數(shù)據(jù)流的情況下重新調(diào)節(jié)。
如示例所示,SRC提供了一個無縫同步例程,與其他解決方案相比,它的延遲更小、成本和復(fù)雜性更低。
SRC可以在許多應(yīng)用中一展所長。與電力線監(jiān)控示例一樣,任何線路頻率變化都可以通過立即動態(tài)改變抽取率來補(bǔ)償。如此,保證電力線的采樣頻率始終一致。按照本文所示,在關(guān)鍵分布式系統(tǒng)中,SRC也可用于高效重新同步系統(tǒng),不會造成數(shù)據(jù)流中斷,也不需要采用額外的元器件,例如PLL。AD7770解決了對基于Σ-Δ ADC的分布式系統(tǒng)進(jìn)行同步的傳統(tǒng)問題,不會丟失樣本,也不會像基于PLL的方法一樣,額外增加成本和復(fù)雜性。
本文來源于科技期刊《電子產(chǎn)品世界》2020年第01期第24頁,歡迎您寫論文時引用,并注明出處。
評論