《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 解決方案 > 面向信號(hào)處理過程的ADC特性使傳感器連接變得簡單

面向信號(hào)處理過程的ADC特性使傳感器連接變得簡單

2021-04-27
作者:Microchip Technology Inc. MCU8 產(chǎn)品部市場推廣經(jīng)理 Paul Zhang張榮寶
來源:Microchip

單片機(jī)(MCU)和傳感器測控系統(tǒng)中,經(jīng)常遇到需要模擬量傳感器輸入的情況。 這種輸入的模擬量,需要由模擬數(shù)字轉(zhuǎn)換器外設(shè),簡稱ADC,來轉(zhuǎn)換為N位數(shù)字量后再由CPU進(jìn)行處理。近年來,隨著智能傳感器技術(shù)和物聯(lián)網(wǎng)技術(shù)等的發(fā)展, MCU和傳感器連接的系統(tǒng)應(yīng)用也越來越廣泛。比如在目前全球研究最多的新興市場之一——物聯(lián)網(wǎng)(IoT)中,傳感器作為物聯(lián)網(wǎng)系統(tǒng)數(shù)據(jù)的重要入口, 正在成為電子基礎(chǔ)設(shè)施向物聯(lián)網(wǎng)轉(zhuǎn)變的無處不在的元素。據(jù)中國信息通信研究院2020年12月發(fā)布的《物聯(lián)網(wǎng)白皮書》,預(yù)計(jì)到2025年,全球物聯(lián)網(wǎng)總連接數(shù)規(guī)模將從2019年的120億增長到246億,年復(fù)合增長率高達(dá)13%。 我國物聯(lián)網(wǎng)連接數(shù)全球占比高達(dá)30%,2019年我國的物聯(lián)網(wǎng)連接數(shù)36.3億,到2025年預(yù)計(jì)我們物聯(lián)網(wǎng)連接數(shù)將達(dá)到80.1億,年復(fù)合增長率14.1(來源:中國信息通信研究院)。

對(duì)于MCU中集成的用于連接模擬傳感器的ADC,設(shè)計(jì)者在以往的努力多在于提高其采樣速度和量化的性能指標(biāo),比如提高ADC的分辨率(精度),減少誤差(量化誤差、偏移誤差和滿刻度誤差等),提高轉(zhuǎn)換率來采集更高頻率的輸入等等,而現(xiàn)在的集成ADC的新特性,除了提高以上性能參數(shù),則更是考慮了ADC在系統(tǒng)中的應(yīng)用場景和信號(hào)處理過程。

對(duì)于模擬信號(hào)的輸入,單片機(jī)系統(tǒng)典型的處理過程如下所示:


截圖20210427205005.png

      

針對(duì)這種典型的模擬信號(hào)處理過程,MCU設(shè)計(jì)者對(duì)ADC外設(shè)創(chuàng)新地賦予了新的特性,以使其連接傳感器更為高效。

1. 獨(dú)立于內(nèi)核的事件機(jī)制——聯(lián)動(dòng)其他外設(shè),自動(dòng)觸發(fā)ADC啟動(dòng)

在模擬信號(hào)采樣階段, 簡便的方式就是沖激串采樣——通過一個(gè)周期沖激串去乘待采樣的連續(xù)時(shí)間信號(hào)。 在MCU中,需要通過定時(shí)器來設(shè)定采樣周期T。在傳統(tǒng)的處理方式中,CPU要么響應(yīng)定時(shí)器產(chǎn)生的周期性中斷,要么輪詢定時(shí)器計(jì)數(shù)器的溢出標(biāo)志,來啟動(dòng)ADC。

新的ADC觸發(fā)方式則是采用了事件機(jī)制,它提供了一個(gè)完全由硬件自動(dòng)完成的觸發(fā)到ADC產(chǎn)生響應(yīng)的通道。 在沒有任何CPU干預(yù)的情況下精確控制ADC的采樣周期。這種機(jī)制節(jié)省了中斷資源, 無需軟件的參與,提高了ADC的響應(yīng)速度。下圖為AVR?單片機(jī)事件系統(tǒng)的示意圖。

 

圖片1.png

圖1: AVR?單片機(jī)中的事件系統(tǒng)圖示

這種硬件上的聯(lián)動(dòng)響應(yīng),更為迅速直接。因?yàn)椴恍枰狢PU干預(yù),也減少了不必要的中斷或喚醒,即使在CPU處于某種休眠狀態(tài)下,該觸發(fā)機(jī)制仍可以在低功耗的情況下運(yùn)行。當(dāng)然除了用于觸發(fā)ADC之外,這種事件機(jī)制還可以用于其他外設(shè)的聯(lián)動(dòng)。

2. 帶有計(jì)算功能的ADC——對(duì)轉(zhuǎn)換結(jié)果自動(dòng)進(jìn)行計(jì)算處理

ADC的轉(zhuǎn)換結(jié)果,被用來做某種類型的計(jì)算或分析。比如驗(yàn)證結(jié)果是否在一定的范圍內(nèi)或者用來濾除信號(hào)中的噪聲。盡管用來濾波的軟件算法都比較成熟,比如中值濾波、算數(shù)平均濾波和滑動(dòng)平均濾波等,但是無論是什么樣的軟件算法,它們都是需要較大的RAM空間和CPU運(yùn)算資源。首先在系統(tǒng)的RAM區(qū)保留一段時(shí)間內(nèi)的轉(zhuǎn)換值,然后對(duì)這些轉(zhuǎn)換值進(jìn)行分析、濾波,并進(jìn)行處理。而在MCU系統(tǒng)中,RAM空間都是很有限的,而且軟件濾波算法的運(yùn)行,需要消耗CPU的能力和時(shí)間,導(dǎo)致整個(gè)轉(zhuǎn)換數(shù)值的濾波系統(tǒng)運(yùn)行效率不高。

創(chuàng)新的ADC設(shè)計(jì),使得ADC自身具有轉(zhuǎn)換后的計(jì)算功能,可以對(duì)ADC轉(zhuǎn)換的數(shù)據(jù)進(jìn)行復(fù)雜的運(yùn)算,而無需CPU干預(yù)。使用這種具有運(yùn)算能力的智能ADC, 在轉(zhuǎn)換完成后, 結(jié)果可以通過預(yù)定的計(jì)算功能來傳遞,將不需要編寫代碼來查看ADC結(jié)果是否落在某個(gè)窗口之內(nèi)或之外,也可以直接獲取ADC平均樣本值或者濾波器樣本數(shù)據(jù)值等。這種計(jì)算由ADC外設(shè)本身執(zhí)行,加速了通常由軟件完成的算術(shù)任務(wù),不再需要占用CPU資源和額外的RAM緩沖空間。例如,如下圖PIC? Q10系列MCU上ADC的計(jì)算功能簡化框圖所示, 可以通過配置ADC的ADMD位來控制ADC計(jì)算模塊以選擇五種不同的操作模式之一:基本模式、累加模式、平均模式、突發(fā)平均模式和低通濾波器模式等。

 

圖片2.png

圖 2: PIC? Q10單片機(jī)中的ADC計(jì)算模塊框圖

3. 自動(dòng)上下文保存——使ADC通道切換應(yīng)用自如

在傳感器系統(tǒng)應(yīng)用中,經(jīng)常會(huì)遇到多個(gè)模擬輸入通道共用一個(gè)內(nèi)部ADC硬件的情況。 比如在一個(gè)環(huán)境檢測系統(tǒng)中, 溫度、濕度、氣壓和光線強(qiáng)度等傳感器的模擬輸入將會(huì)使用同一個(gè)ADC(同一個(gè)采樣保持電路)的不同通道。ADC通過切換各個(gè)通道,分時(shí)進(jìn)行A/D轉(zhuǎn)換。對(duì)于復(fù)用ADC的模擬輸入,每個(gè)通道的控制方式,都可能是不同的,比如狀態(tài)和數(shù)據(jù)寄存器配置和轉(zhuǎn)換后的計(jì)算方式等等。例如,通道一將ADC配置為突發(fā)平均模式,通道二將ADC配置為累加模式……不同通道的獨(dú)特控制方式,使得ADC在切換通道時(shí)需要附加軟件開銷,比如首先停止ADC,按照ADC采集通道的預(yù)定順序找到相應(yīng)的狀態(tài)和寄存器,重新配置對(duì)應(yīng)的控制方式,再啟動(dòng)ADC…,運(yùn)行過程中的頻繁切換無疑降低了ADC的運(yùn)行效率。

解決這一問題的最新ADC特性,是把每個(gè)通道的特定轉(zhuǎn)換控制方式,按照預(yù)定采集順序,保存為上下文。該上下文只能通過A/D上下文選擇寄存器,或者直接存儲(chǔ)器訪問(DMA)。這樣ADC運(yùn)行時(shí),ADC硬件模塊會(huì)自動(dòng)從內(nèi)存中傳輸當(dāng)前活動(dòng)通道的上下文,進(jìn)入相關(guān)的ADC寄存器并執(zhí)行所需的轉(zhuǎn)換。這樣就顯著提高了ADC切換通道采集數(shù)據(jù)的效率,也不占用CPU資源。有趣的是,Microchip將帶有運(yùn)算特性的ADC稱為ADCC (ADC with Computation),而將又帶有上下文保存特性的ADCC稱為ADCCC (ADC with Computation and Context)。  

單片機(jī)和傳感器連接的應(yīng)用越來越多,幸運(yùn)的是,MCU設(shè)計(jì)者一直在擴(kuò)展其MCU外設(shè)的功能。 類似ADC上這些新功能的創(chuàng)新,已不僅僅在其自身轉(zhuǎn)換方面,而是實(shí)現(xiàn)了與其他外設(shè)聯(lián)動(dòng)啟動(dòng)采樣,轉(zhuǎn)換后的計(jì)算,以及多個(gè)復(fù)用通道的自動(dòng)切換等,集成了針對(duì)模擬信號(hào)處理鏈路上的多個(gè)環(huán)節(jié)。這些環(huán)節(jié)可以自動(dòng)運(yùn)行,不占用系統(tǒng)總線,這對(duì)降低CPU負(fù)載,降低系統(tǒng)功耗,增強(qiáng)系統(tǒng)響應(yīng)效率,增強(qiáng)系統(tǒng)健壯性等都有非常大的意義。單片機(jī)設(shè)計(jì)者們以其創(chuàng)新性的智慧,以及對(duì)嵌入式系統(tǒng)應(yīng)用細(xì)致入微的洞察,將會(huì)使得MCU和傳感器的連接應(yīng)用設(shè)計(jì),越來越靈活,越來越高效!


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請(qǐng)及時(shí)通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。