【導(dǎo)讀】信號(hào)平均法是一項(xiàng)常用于此類數(shù)據(jù)采集系統(tǒng)的技術(shù),可以增強(qiáng)數(shù)值結(jié)果的可用分辨率并抑制多種噪聲。雖然過濾方式簡(jiǎn)單,但其整體效果要取決于所使用的平均法。本文將對(duì)傳統(tǒng)的序列平均法和最新的交叉平均法進(jìn)行比較。
隨著電子系統(tǒng)中傳感器和信號(hào)源的快速增加,使得設(shè)備設(shè)計(jì)師們可以在系統(tǒng)MCU或傳感器融合協(xié)處理器中加入更多的模擬信號(hào)通道。尤其是在日益發(fā)展的小型物聯(lián)網(wǎng)領(lǐng)域中更是如此。
信號(hào)平均法是一項(xiàng)常用于此類數(shù)據(jù)采集系統(tǒng)的技術(shù),可以增強(qiáng)數(shù)值結(jié)果的可用分辨率并抑制多種噪聲。雖然過濾方式簡(jiǎn)單,但其整體效果要取決于所使用的平均法。本文將對(duì)傳統(tǒng)的序列平均法和最新的交叉平均法進(jìn)行比較。
許多現(xiàn)代的混合信號(hào)MCU和片上系統(tǒng)都直接將平均法加入到模數(shù)
轉(zhuǎn)換器硬件中。這大大減少了MCU需要完成的處理量,簡(jiǎn)化代碼編寫,縮短處理器需要在高功耗模式中的運(yùn)行時(shí)間。
盡管多種信號(hào)與設(shè)備之間實(shí)現(xiàn)連接的模擬輸入多路復(fù)用器已十分普遍,但大部分混合信號(hào)MCU的硬件平均功能每次只能在一條信號(hào)通道中執(zhí)行。當(dāng)平均過程完成后,通常會(huì)引發(fā)中斷,然后固件在中斷中選擇另一個(gè)需要轉(zhuǎn)換的模擬輸入。在一些設(shè)備中,比如賽普拉斯半導(dǎo)體公司的PSoC 4系列1 Msps 12位ADC可編程片上系統(tǒng),其通道序列內(nèi)置于轉(zhuǎn)換器硬件中,可在無需處理器干預(yù)的情況下對(duì)所有通道執(zhí)行平均功能。
這種傳統(tǒng)的對(duì)單一通道信號(hào)進(jìn)行多次轉(zhuǎn)換后才轉(zhuǎn)到下一個(gè)通道的平均模型被稱為序列平均。這種方法存在一些限制,主要問題在于會(huì)降低多通道環(huán)境中的可用采樣率,包括被平均的通道和序列中不需要平均的通道。
最近出現(xiàn)了一種新的方法,可以增強(qiáng)數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)師所使用的各種工具。這項(xiàng)技術(shù)被稱為交叉平均法,它給需要采集高頻率信號(hào)以及需要快速采集非平均通道樣本的系統(tǒng)帶來了福音。
序列平均和交叉平均的區(qū)別我們可以從一些圖文中得到解釋,本文選擇了一個(gè)8通道的配置作為示例。原始ADC采樣率設(shè)置為800 ksps,每個(gè)通道中的16個(gè)12位樣本將被一起平均。這樣會(huì)產(chǎn)生一個(gè)16位的輸出字,而12位樣本量化的信噪比貢獻(xiàn)量則會(huì)把信噪比限制在相對(duì)于14位轉(zhuǎn)換器的水平(假設(shè)每個(gè)樣本的量化噪聲貢獻(xiàn)量不相關(guān))。
由于有8個(gè)通道,且每個(gè)通道取樣16次后獲得最終結(jié)果,因此ACD需要進(jìn)行128次轉(zhuǎn)換才能生成各結(jié)果組。這一過程需要160微秒,結(jié)果組的可用頻率為6250次/秒。
這個(gè)例子還假設(shè)每個(gè)通道都有自己的結(jié)果寄存器,本示例中所使用的PSoC 4就是如此。但部分混合信號(hào)MCU有所不同,它們只有一個(gè)結(jié)果寄存器,因此不得不在轉(zhuǎn)換通道時(shí)進(jìn)行讀取。
圖1所示的是偽代碼形式的標(biāo)準(zhǔn)序列平均解決方案,其行為如下:
- 刷新累積寄存器
- 選擇通道1
- 以1.25微秒間隔進(jìn)行16次采樣,將它們累積在通道1的寄存器中,總耗時(shí)20微秒
- 選擇通道2
- 以1.25微秒間隔進(jìn)行16次采樣,將它們累積在通道2的寄存器中,總耗時(shí)20微秒
- 重復(fù)上述步驟,完成8個(gè)通道的取樣
- 轉(zhuǎn)移8個(gè)結(jié)果,出現(xiàn)中斷或DMA
圖1:序列平均
每個(gè)輸入端通過連續(xù)16次轉(zhuǎn)換進(jìn)行采樣。一個(gè)通道的連續(xù)轉(zhuǎn)換需要160微秒,因此每個(gè)通道的采樣頻率為每秒6250個(gè)樣本。采樣孔徑(即一個(gè)通道的采樣時(shí)間)為20微秒。這一孔徑會(huì)產(chǎn)生低通濾波的效果,然而帶寬會(huì)非常高,出現(xiàn)(1/20微秒)50千赫倍數(shù)頻率響應(yīng)的零點(diǎn)。這一過濾無法防止混疊。這一輸入信號(hào)中的任何接近6250赫茲倍數(shù)的頻率成分將被混疊降低到接近DC的水平,從而可能制造明顯的測(cè)量噪聲。只能通過使用每個(gè)通道的防混疊過濾器對(duì)其進(jìn)行預(yù)先過濾,以緩解這一現(xiàn)象。
此外,各通道間會(huì)出現(xiàn)20微秒的時(shí)間偏差。如果需要計(jì)算交叉通道數(shù)學(xué)函數(shù)(比如相關(guān)性或功率計(jì)算),這一時(shí)間偏差會(huì)產(chǎn)生嚴(yán)重誤差。
如果在這樣一個(gè)序列中有未平均的通道,此類通道的采樣頻率主要由其他序列采樣中需要做平均的通道決定。因此,盡管ADC的采樣頻率為800 ksps,但未平均的通道的采樣頻率要遠(yuǎn)低于此。最理想的情況是將這800 ksps頻率平均分?jǐn)偟?個(gè)通道,每個(gè)通道頻率為100 ksps。
針對(duì)這一難題的解決方案交叉平均法則有效得多(見圖2)。定序器與之前一樣圍繞輸入通道,但這一次僅對(duì)每個(gè)通道采集一個(gè)樣本。在通道經(jīng)過N次單次采樣后,可以讀出所有累積寄存器的輸出。
圖2:交叉平均
偽代碼形式的交叉平均序列如下:
- 將硬件循環(huán)計(jì)數(shù)器設(shè)置為0
- 刷新累積寄存器
- 重復(fù)
- 循環(huán)計(jì)數(shù)器+= 1
- 選擇通道 [循環(huán)計(jì)數(shù)器]
- 取一個(gè)樣本,將它累積到通道 [循環(huán)計(jì)數(shù)器]的寄存器中,總時(shí)間1.25微秒
- 直到循環(huán)計(jì)數(shù)器 ≥8
- 轉(zhuǎn)移8個(gè)結(jié)果,出現(xiàn)中斷或DMA
這個(gè)平均過程的信號(hào)特征明顯不同?,F(xiàn)在不會(huì)出現(xiàn)連續(xù)轉(zhuǎn)換,獲得每個(gè)平均數(shù)的16次轉(zhuǎn)換被均勻地分?jǐn)?,每輪轉(zhuǎn)換耗時(shí)160微秒,間隔10微秒。換言之,每個(gè)通道的采樣頻率為100 ksps,這是將800 ksps ADC分?jǐn)偟?個(gè)通道時(shí)的理論最大值。這一過程的采樣孔徑為160微秒,因此系統(tǒng)頻率響應(yīng)零點(diǎn)會(huì)出現(xiàn)在最終采用頻率的倍數(shù)上。其優(yōu)點(diǎn)在于輸入信號(hào)中不會(huì)出現(xiàn)混疊降低到DC的高頻率噪聲。這可大大提高測(cè)量的穩(wěn)定性,從而顯著降低模擬過濾要求。
通道之間仍存在時(shí)間偏差,但已減少到1.25微秒,相比160微秒的抽樣時(shí)間要小得多,大大減少了跨通道計(jì)算的誤差。
在本示例中,使用交叉平均法的轉(zhuǎn)換器子系統(tǒng)以相當(dāng)于約14位信噪比和6.25 ksps的頻率提供8個(gè)通道的樣本,并有效預(yù)防混疊,縮短通道間的延遲時(shí)間。
交叉平均法正在賽普拉斯半導(dǎo)體的新型可編程芯片系統(tǒng)設(shè)備上推行,包括近期推出的Cortex M4-based PSoC 6和賽普拉斯PSo4系列模擬產(chǎn)品PSoC Analog Coprocessor。該設(shè)備的ADC中的硬件(可通過PSoC Creator Scan_ADC 組件進(jìn)行完整配置)還可以在不執(zhí)行平均功能的情況下轉(zhuǎn)換序列中的任何通道。這意味著在更前面的例子中,通道仍能夠達(dá)到100 ksps頻率,且不會(huì)影響已平均通道的時(shí)間。
以高分辨率和高采樣頻率采集多個(gè)通道的樣本,極大的增加了使用現(xiàn)代混合信號(hào)可編程片上系統(tǒng)進(jìn)行經(jīng)濟(jì)而高性能的模擬信號(hào)捕捉的可能性。當(dāng)需要轉(zhuǎn)換多個(gè)可能要求進(jìn)行平均的模擬通道時(shí),請(qǐng)注意多種平均模式對(duì)設(shè)備信號(hào)處理能力所產(chǎn)生的影響。