智能傳感器信號(hào)處理的需求分析
傳感器是用于偵測、監(jiān)控和響應(yīng)溫度、壓力、濕度和運(yùn)動(dòng)等物理參量的設(shè)備。它們是許多實(shí)際工作系統(tǒng)不可或缺的零組件,在工業(yè)、消費(fèi)、汽車、醫(yī)療和軍事 方面應(yīng)用非常廣泛。在過去,從傳感器獲得的數(shù)據(jù)被直接發(fā)送至中央控制單元,然后中央控制單元可能會(huì)使用外掛的硬件組件或數(shù)字邏輯對(duì)傳感器數(shù)據(jù)執(zhí)行后制或顯 示。
隨著8位微控制器(MCU)等嵌入式處理器解決方案的出現(xiàn),將固定的中央硬件替換為可透過程序執(zhí)行應(yīng)用所需特定任務(wù)的微控制器所帶來的優(yōu)勢(shì)愈加明顯。但是,8位微控制器只能提供給計(jì)算密集度不大的系統(tǒng)做一些基本處理任務(wù)。
為此,智能傳感器訊號(hào)處理的需求逐漸浮現(xiàn),而其具備的條件包括以下幾項(xiàng):
傳感器信號(hào)融合
傳感器應(yīng)用復(fù)雜度的急速提升,使得將更強(qiáng)大的智能嵌入至傳感器接口變得勢(shì)在必行。很多應(yīng)用均采用多個(gè)傳感器來獲取各種測量數(shù)據(jù),并且運(yùn)用十分先進(jìn)的方法對(duì)數(shù)據(jù)進(jìn)行處理。
在某些情況下,必須同時(shí)處理來自多種傳感器的訊號(hào),因而須利用同一個(gè)微控制器,這種情況可以稱為「傳感器訊號(hào)融合」。每種類型的傳感器都有各自的訊號(hào)特性,并且須要透過不同的后制從中提取有用的信息,這會(huì)增加中央處理器(CPU)的運(yùn)算量和周邊數(shù)據(jù)處理量。
容錯(cuò)技術(shù)需求大增
對(duì)于處理器而言,監(jiān)控傳感器訊號(hào)和偵測可能引起系統(tǒng)完全故障的錯(cuò)誤也非常有用。檢測出錯(cuò)誤情況后,可完全關(guān)閉系統(tǒng)或切換到多余備分傳感器。如果在錯(cuò)誤檢測流程中再加入一個(gè)步驟,就可以在故障實(shí)際發(fā)生前對(duì)其進(jìn)行預(yù)測,這將大大簡化現(xiàn)場硬件維護(hù)和保養(yǎng)。
此類容錯(cuò)算法和技術(shù)可能會(huì)相當(dāng)復(fù)雜,需要更高的運(yùn)算能力、更大的內(nèi)存以及容易與更豐富的周邊功能,因此有必要升級(jí)到16位微控制器。
分布式處理
在許多應(yīng)用中,傳感器實(shí)際分散在較廣的區(qū)域內(nèi),如分散在大型建筑或工廠內(nèi),或分散在汽車的不同零件內(nèi)。對(duì)于這樣的分布式系統(tǒng)來說,集中式處理/控制方法往往被證實(shí)無效,或者在最佳情況下仍然效能不彰。
要減輕中央控制單元在處理和數(shù)據(jù)儲(chǔ)存方面的壓力,最好將處理能力分散到多個(gè)靠近的傳感器,或者甚至與傳感器整合的微控制器上。但是這種分布式傳感器處理方法需要各種強(qiáng)大的訊號(hào)轉(zhuǎn)換和通訊周邊。
剖析智能傳感器處理訊號(hào)鏈
傳感器訊號(hào)處理包括各式各樣的嵌入式應(yīng)用,但可以概括地定義代表傳感器處理系統(tǒng)特點(diǎn)的通用訊號(hào)鏈。傳感器應(yīng)用的主要組件是感測組件(也稱為轉(zhuǎn)換 器)、訊號(hào)調(diào)整電路(多數(shù)是模擬電路組件),以及嵌入式微處理器(在某些情況下是簡單硬件電路的數(shù)字邏輯電路或ASIC)(圖1)。
感測組件種類多樣
感測組件(實(shí)際上就是「傳感器」)是用于將關(guān)注的物理參量轉(zhuǎn)換成某種電子訊號(hào)的裝置。智能傳感器處理應(yīng)用經(jīng)常使用多個(gè)感測組件,它們屬于同一類型,如空 調(diào)系統(tǒng)中的多個(gè)熱敏電阻,或者屬于不同類型,例如一臺(tái)工業(yè)機(jī)械設(shè)備中的熱電偶和一氧化碳探測器。每種類型的傳感器都有自己的一套訊號(hào)調(diào)整和數(shù)據(jù)后制要求, 可以根據(jù)所測量的物理參量對(duì)感測組件進(jìn)行廣義分類,例如溫度傳感器、壓力傳感器、流量傳感器、氣體/化學(xué)傳感器、聲音/超音波傳感器、位置/運(yùn)動(dòng)傳感器、 加速計(jì)、圖像傳感器、光傳感器。
也可以根據(jù)傳感器輸出的電子訊號(hào)的類型對(duì)傳感器進(jìn)行分類。概括而言,共有四種常見的傳感器類型:
電壓傳感器
產(chǎn)生隨感興趣的物理量而變化的輸出電壓。
電流傳感器
產(chǎn)生變化的電流。
頻率傳感器
產(chǎn)生電壓波形,該波形的頻率取決于待測量。
數(shù)位傳感器
只根據(jù)輸入?yún)?shù)產(chǎn)生數(shù)字電壓數(shù)據(jù)。在某些情況下,所產(chǎn)生的數(shù)字?jǐn)?shù)據(jù)只是二進(jìn)制0/1訊號(hào)。此類傳感器的輸出在本質(zhì)上不同于大多數(shù)其它傳感器,后者產(chǎn)生的訊號(hào)在模擬范疇變化。
訊號(hào)調(diào)整電路設(shè)計(jì)視傳感器類型而定。
簡單地說,訊號(hào)調(diào)整電路將感測組件的輸出訊號(hào)規(guī)畫到其余電子電路或應(yīng)用軟件可以處理的范圍內(nèi)。傳感器應(yīng)用所需的具體訊號(hào)調(diào)整電路,取決于所采用的傳感器 的類型。例如,某個(gè)傳感器根據(jù)所測量的物理參數(shù)大小產(chǎn)生輸出電壓,其需要的訊號(hào)調(diào)整能力,可能不同于產(chǎn)生可變電阻的傳感器。從本質(zhì)上說,傳感器應(yīng)用均有以 下共同的訊號(hào)調(diào)整要求。
首先,傳感器產(chǎn)生的訊號(hào)必須盡量避免混入噪聲。而且,訊號(hào)的頻譜(亦即訊號(hào)頻寬)必須根據(jù)某些約束條件限制 在特定的范圍內(nèi),因而常常有必要使用一種稱為迭頻消除濾波器的設(shè)備。其次,不管是電壓、電流還是頻率,傳感器所產(chǎn)生訊號(hào)的振幅通常較小。為了準(zhǔn)確處理訊 號(hào),讓系統(tǒng)盡量不受噪聲的影響,須要將訊號(hào)放大。
除了濾波和放大外,還須使用模擬數(shù)字轉(zhuǎn)換器(ADC)將訊號(hào)轉(zhuǎn)換成數(shù)字形式,這 增加了訊號(hào)調(diào)整要求。除了要放大訊號(hào)外,可能還須要對(duì)訊號(hào)進(jìn)行轉(zhuǎn)換,使其能適應(yīng)不同的ADC參考電壓。但是,很多ADC,尤其是微控制器或數(shù)字訊號(hào)控制器 (DSC)中包含的ADC,僅對(duì)單極性輸入有效。換句話說,輸入電壓不能相對(duì)地在正負(fù)電位之間變換。在這種情況下,就必須使用電壓位準(zhǔn)移位器。
在本例中,使用一個(gè)三運(yùn)放差動(dòng)放大器將熱電偶產(chǎn)生的差動(dòng)輸出電壓放大,然后送入內(nèi)建模擬數(shù)字轉(zhuǎn)換器C的輸入端。與此相似,ADC的另一個(gè)輸入,可用于補(bǔ)償熱電偶引線結(jié)點(diǎn)和印刷電路板(PCB)布線交匯處產(chǎn)生的電壓的影響,而且更多用于補(bǔ)償后者。
嵌入式處理器提取有用信息
即使在經(jīng)過相當(dāng)多的訊號(hào)調(diào)整后,若可從隨時(shí)間變化的電子訊號(hào)中提取出相關(guān)信息,傳感器產(chǎn)生的訊號(hào)才有用。此一提取過程透過嵌入式微處理器來完 成,傳統(tǒng)上使用微控制器或數(shù)字訊號(hào)處理器(DSP)。因此,顯而易見,處理器的功能及其上運(yùn)行的應(yīng)用軟件的功能,才是系統(tǒng)中最關(guān)鍵的因素,這就是為智能傳 感器處理系統(tǒng)提供所有「智能」的處理器次系統(tǒng)。
處理傳感器輸出的第一步,是將模擬訊號(hào)(通常被調(diào)整成提供變化的模擬電壓)轉(zhuǎn)換成數(shù)字形式。由此可以推斷,ADC在決定整個(gè)傳感器處理系統(tǒng)的精 確度方面發(fā)揮至關(guān)重要的作用。此外,ADC必須提供足夠高的分辨率和具有較好的精確度特性,如積分非線性(Integral Non- Linearity, INL)和微分非線性(Differential Non-Linearity, DNL)。
通常,可能須要對(duì)從傳感器獲取的數(shù)據(jù)執(zhí)行大量的后制操作。此類操作的例子包括:
數(shù)據(jù)的有限脈沖響應(yīng)(FIR)和無限脈沖回應(yīng)(IIR)濾波
主要用于消除噪聲,可能需要不同類型的濾波器。例如,若目標(biāo)僅是限制訊號(hào)的頻寬與去除高頻噪聲,則使用低通濾波器或帶通濾波器比較合適。另一方面,如果系統(tǒng)易受電源引入的噪聲的影響,則使用高通濾波器或帶拒濾波器(具體取決于所需訊號(hào)的頻譜)更合適。
進(jìn)行快速傅利葉轉(zhuǎn)換(FFT)計(jì)算來分析數(shù)據(jù),以便將頻域數(shù)據(jù)用于進(jìn)一步的處理階段,此一操作對(duì)于信息包含在輸出訊號(hào)的頻率中的傳感器尤為重要,例如基于都卜勒效應(yīng)的超音波傳感器或聲音傳感器。
傳感器數(shù)據(jù)的靜態(tài)或周期性校準(zhǔn)
校準(zhǔn)是透過提供一組已知的傳感器輸入并測量相應(yīng)的輸出,來設(shè)置傳感器輸出與所需物理參量之間映射的過程。
傳感器輸出與所測量的物理參量間通常不是線性關(guān)系
在此類情況下(例如熱電偶),必須將采樣后的傳感器數(shù)據(jù)「線性化」以補(bǔ)償輸入輸出間的此種非線性關(guān)系。該過程通常會(huì)涉及高密集度的計(jì)算,如應(yīng)用高次多項(xiàng)式。
根據(jù)輸入數(shù)據(jù)的大小對(duì)其進(jìn)行換算和常態(tài)化此類計(jì)算要求傳感器接口使用的處理器必須具有相當(dāng)高速的數(shù)學(xué)運(yùn)算能力,普通的16位微控制器架構(gòu)無法滿足這樣的要求。
此外,在很多應(yīng)用中,并不只是簡單地對(duì)傳感器訊號(hào)進(jìn)行分析和解讀,還必須執(zhí)行控制操作對(duì)傳感器訊號(hào)進(jìn)行響應(yīng)。這些操作可能包括以下幾項(xiàng)任務(wù):調(diào)整傳感器訊號(hào)分析軟件所使用的校準(zhǔn)參數(shù),以便正確分析傳感器輸出;向其它處理次系統(tǒng)傳送數(shù)據(jù),例如汽車輪胎上的胎壓監(jiān)控器向儀表板定期發(fā)送壓力資料并發(fā)送警報(bào);在因特網(wǎng)上更新數(shù)據(jù),例如定期讀取電表讀數(shù)或定期收集工業(yè)數(shù)據(jù)采集系統(tǒng)的數(shù)據(jù);控制電機(jī)、電源、繼電器、開關(guān)和其它設(shè)備;采用容錯(cuò)措施,例如修正與故障傳感器對(duì)應(yīng)的數(shù)據(jù)或切換到其它感測組件。
傳統(tǒng)上,使用DSP執(zhí)行此類數(shù)學(xué)計(jì)算密集的任務(wù)。不過,DSP本身(沒有關(guān)聯(lián)微控制器)并不是非常適用于傳感器接口,理由主要有四個(gè):第一,DSP設(shè)備沒有靈活的中斷結(jié)構(gòu);其次,DSP設(shè)備在控制位如單獨(dú)的I/O接腳方面的效率不高;再者,DSP設(shè)備在很大程度上依賴于外接內(nèi)存和周邊;第四,DSP設(shè)備的接腳數(shù)一般都比較多,但是傳感器處理所需的接腳數(shù)應(yīng)該要非常少,這一點(diǎn)非常重要,因?yàn)楹芏鄳?yīng)用一般都有空間限制,并且對(duì)成本敏感。
另一種適用于高效能智能傳感器系統(tǒng)的有效單芯片架構(gòu)平臺(tái)是16位DSC,如微芯(Microchip)的dsPIC33F系列。DSC是一種創(chuàng)新的混合處理器架構(gòu),集16位微控制器的控制功能與豐富的DSP功能于一身。DSC架構(gòu)非常適用于提供周期性中斷,以及捕捉來自多個(gè)傳感器和控制輸入端的數(shù)據(jù)。若有需要,DSC架構(gòu)可與分布式系統(tǒng)中的其它控制器模塊共享數(shù)據(jù)。
另一方面,DSC的中央處理器支持一系列強(qiáng)大的DSP指令和靈活的尋址模式,因而能夠快速準(zhǔn)確地進(jìn)行算術(shù)和邏輯運(yùn)算。接下來,說明讓DSC架構(gòu)適用于智能傳感器訊號(hào)處理的典型特性。
DSC必備主要特點(diǎn)
典型的DSC架構(gòu)具有使其適用于大量傳感器應(yīng)用的多種中央處理器和周邊特性。以下將探討這些特性中最有用的幾個(gè),在選擇DSC架構(gòu)時(shí),這幾個(gè)特性是考慮的重點(diǎn)。
增強(qiáng)的中央處理器功能
16位DSC最強(qiáng)大的特性是可提供豐富的DSP功能。真正的DSC包含兩個(gè)40位累加器,可用于儲(chǔ)存兩個(gè)獨(dú)立的16位×16位乘法運(yùn)算的結(jié)果。
大多數(shù)DSP算法如FIR和IIR濾波,都會(huì)涉及計(jì)算乘積之和。利用特殊指令如乘法與累加計(jì)算(Multiply-and-Accumulate, MAC),可以在一個(gè)運(yùn)算速度內(nèi)將兩個(gè)16位數(shù)字元相乘,將結(jié)果加到累加器,然后從隨機(jī)存取內(nèi)存(RAM)預(yù)先取得一對(duì)數(shù)據(jù)值。利用兩個(gè)累加器,也可以將數(shù)據(jù)寫回一個(gè)累加器,同時(shí)在另一個(gè)累加器上執(zhí)行計(jì)算。
累加器寬度為40位(而非32位)時(shí),可以將數(shù)據(jù)暫時(shí)「溢出」(這在累加器中累加大量值時(shí)經(jīng)常發(fā)生)。此外,DSC的中央處理器也可以選用一種稱為「飽和」的機(jī)制,將值保持在允許的范圍內(nèi),并在將值寫回RAM時(shí)對(duì)值進(jìn)行取整或換算。DSC的另一項(xiàng)特性(也是微控制器一般缺少的)是其解讀分?jǐn)?shù)形式的數(shù)據(jù)的能力,DSC并不總是假定數(shù)據(jù)為整數(shù),因而有助于分?jǐn)?shù)運(yùn)算。
除上述特性外,還增加各種數(shù)據(jù)尋址模式,用以高效移動(dòng)數(shù)據(jù),支持環(huán)形緩沖區(qū)和位反轉(zhuǎn)尋址,以及零耗循環(huán)(Zero Overhead Loop)。很顯然地,DSC提供了非常強(qiáng)大的使用者友善型中央處理器架構(gòu)來處理或分析傳感器數(shù)據(jù)。
靈活的中斷結(jié)構(gòu)
DSC設(shè)備的中斷結(jié)構(gòu)擁有極高的靈活性。一般來說,支持大量可單獨(dú)允許并設(shè)置優(yōu)先級(jí)的中斷源和向量,這對(duì)涉及多個(gè)傳感器的應(yīng)用非常有利。其中斷延遲應(yīng)該具有高確定性,以簡化系統(tǒng)開發(fā)人員的工作。顯著提高智能傳感器訊號(hào)處理應(yīng)用效率的另一個(gè)特性是,直接內(nèi)存存取(Direct Memory Access, DMA),其在周邊和內(nèi)存之間(如在ADC和數(shù)據(jù)緩沖區(qū)間)自動(dòng)傳輸大批量的數(shù)據(jù)。
運(yùn)行時(shí)自我燒錄(RTSP)
大多數(shù)傳感器應(yīng)用都須要儲(chǔ)存常數(shù),其用于根據(jù)環(huán)境條件、變換器輸出與預(yù)測量之間的偏差量,來校準(zhǔn)從傳感器獲取的資料。后制算法也會(huì)使用常數(shù),如濾波系數(shù)或快速傅立葉轉(zhuǎn)換旋轉(zhuǎn)因子。但是,在RAM中儲(chǔ)存此類常數(shù)會(huì)浪費(fèi)數(shù)據(jù)儲(chǔ)存空間。
DSC設(shè)備通常包含閃存(Flash Memory)程序內(nèi)存和基于閃存的數(shù)據(jù)電子式可清除程序化只讀存儲(chǔ)器(EEPROM),可用于高效可靠地儲(chǔ)存和存取此類常數(shù)。在閃存DSC設(shè)備中,使用者的程序甚至可以實(shí)時(shí)修改這些常數(shù),具體取決于環(huán)境、資料或工作條件的變化。
實(shí)體電路串行燒錄
借助閃存DSC,使用者能夠使用稱為實(shí)體電路串行燒錄(In-Circuit Serial Programming, ICSP)的方法在現(xiàn)場輕松升級(jí)應(yīng)用韌體。實(shí)體電路串行燒錄,不僅可以修正傳感器校準(zhǔn)或軟件漏洞,以最少的成本和最短的延遲提供更強(qiáng)的功能,而且能夠使同一控制器用在不同類型的傳感器接口中及不同的條件下。
高解析ADC和DAC
傳感器一般用于測量溫度、壓力和光等物理特性。因此,須要使用速度和分辨率足夠高的內(nèi)建ADC,才能測量輸入量的微小且快速的變化。對(duì)于大多數(shù)系統(tǒng)而言,輸入分辨率低于12位的ADC可能不夠用,非線性誤差大于一個(gè)最低有效位的ADC也不行。
此外,為測量不同類型參數(shù)而采用多種傳感器的任何應(yīng)用,都要求ADC支持多種采樣、轉(zhuǎn)換和觸發(fā)選項(xiàng)。DSC通常包含多個(gè)模擬輸入頻道(因而能夠與多個(gè)變換器相連接)、靈活的采樣/轉(zhuǎn)換選項(xiàng)(如自動(dòng)在多個(gè)輸入之間切換以實(shí)現(xiàn)連續(xù)采樣),以及測量差動(dòng)輸入的功能等。為了減少讀取轉(zhuǎn)換后的采樣所產(chǎn)生的開銷,DSC提供了數(shù)據(jù)格式可配置(例如整數(shù)/分?jǐn)?shù)或有符號(hào)/無符號(hào))的大內(nèi)存映像ADC緩沖區(qū)。
內(nèi)建數(shù)字模擬轉(zhuǎn)換器(DAC)模塊將數(shù)字?jǐn)?shù)據(jù)(通常來自對(duì)傳感器數(shù)據(jù)的實(shí)時(shí)分析)轉(zhuǎn)換成可用于驅(qū)動(dòng)外接設(shè)備(如制動(dòng)器)的模擬訊號(hào)。尤其是在DAC支持如16位高分辨率的情況下,DAC輸出可以被送入揚(yáng)聲器,用于播放語音形式的系統(tǒng)使用說明或系統(tǒng)狀態(tài)。
高速輸入捕捉和輸出比較
在某些傳感器應(yīng)用中,控制器可能會(huì)僅為了響應(yīng)特定事件而讀取來自傳感器變換器的輸入。為了盡可能地降低功耗,控制器可能須要在檢測到某種脈沖或訊號(hào)前保持休眠狀態(tài)。DSC具有低功耗工作模式,在該模式下只有內(nèi)部低功耗振蕩器處于活動(dòng)狀態(tài)。此后,可透過「輸入捕捉」接腳上的控制脈沖或事
件喚醒DSC,此時(shí)會(huì)觸發(fā)資料收集或計(jì)算?!篙斎氩蹲健诡l道還可用于獲取特定事件的時(shí)間戳記。
DSC設(shè)備上除了有「輸入捕捉」頻道外,還有多個(gè)「輸出比較」頻道。「輸出比較」模塊基本上用于從通用內(nèi)建定時(shí)器觸發(fā)輸出接腳狀態(tài)轉(zhuǎn)換來產(chǎn)生所需波形,其通常具有脈沖寬度調(diào)變(Pulse Width Modulation, PWM)功能。
「輸出比較」訊號(hào)在傳感器應(yīng)用中有很多用途。例如,PWM訊號(hào)可用于基本的電機(jī)控制。語音錄音通常以壓縮形式儲(chǔ)存在內(nèi)建閃存中并實(shí)時(shí)進(jìn)行解壓縮,其可以轉(zhuǎn)換成PWM波形的工作周期,然后透過外接低通濾波器電路,從揚(yáng)聲器播放出來。
I/O位準(zhǔn)變化通知功能
在許多情況下,傳感器應(yīng)用中的控制器可能需要根據(jù)某些通用I/O接腳的狀態(tài)變化來切換工作模式或產(chǎn)生警報(bào)。DSC可以透過產(chǎn)生中斷快速響應(yīng)此狀態(tài)變化。
通訊周邊不可或缺
由于基于傳感器的系統(tǒng)的空間分布越來越廣,數(shù)量越來越多,控制器須要透過某種通訊總線或網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)通訊。
在一些應(yīng)用中,為了記錄或以圖表顯示從傳感器獲取的資料,控制器可能必須透過標(biāo)準(zhǔn)協(xié)議如RS-232和RS485發(fā)送數(shù)據(jù)到個(gè)人計(jì)算機(jī)(PC)或邏輯分析器??刂破髋紶栆部赡苓x擇使用外接調(diào)制解調(diào)器透過電話線發(fā)送數(shù)據(jù)。
為此,DSC芯片提供16位可尋址通用異步收發(fā)器(UART)接口。在某些情況下,甚至可能在處理器內(nèi)的軟件中實(shí)現(xiàn)調(diào)制解調(diào)器通訊協(xié)議--分時(shí)多任務(wù)(Time-Division-Multiplexed, TDM)串行通訊接口或轉(zhuǎn)碼器接口有利于與調(diào)制解調(diào)器前端芯片組的通訊。
另一方面,某些周邊使用I2C協(xié)議進(jìn)行通訊。例如,憑借I2C,DSC可以使用外接串行EEPROM來儲(chǔ)存和存取HTML網(wǎng)頁,以直觀監(jiān)測和控制傳感器次系統(tǒng)的運(yùn)行。在基于因特網(wǎng)的系統(tǒng)中,應(yīng)用軟件中可能須要包含低成本的TCP/IP軟件協(xié)議,并且可以使用透過16位串行周邊接口(SPI)與DSC進(jìn)行通訊的以太網(wǎng)絡(luò)收發(fā)器芯片實(shí)現(xiàn)透過以太網(wǎng)絡(luò)連接的通訊。
DSC的內(nèi)建SPI頻道還有其它常見用途。例如,可能須要使用外接數(shù)字電位計(jì)或可程序化增益放大器,來動(dòng)態(tài)調(diào)節(jié)一個(gè)或多個(gè)傳感器的增益。位置互相靠近的不同傳感器次系統(tǒng)間,可能經(jīng)常需要同時(shí)開展通訊。為了應(yīng)對(duì)這種情況,DSC設(shè)備通常包含一個(gè)或多個(gè)16位SPI。
討論通訊接口和周邊時(shí),若不提及功能穩(wěn)健且靈活的控制局域網(wǎng)絡(luò)(Controller Area Network, CAN)協(xié)議,那么該討論肯定不完整。CAN協(xié)議是汽車應(yīng)用(工業(yè)和醫(yī)療應(yīng)用中也越來越多)中網(wǎng)絡(luò)次系統(tǒng)的事實(shí)標(biāo)準(zhǔn),也是其它應(yīng)用領(lǐng)域中的一種新興技術(shù)。
請(qǐng)注意,這些應(yīng)用領(lǐng)域中廣泛采用智能傳感器訊號(hào)處理次系統(tǒng)。包含多個(gè)內(nèi)建CAN通訊接口的DSC設(shè)備,尤其是帶有支持?jǐn)?shù)據(jù)過濾和緩沖的精密硬件的DSC設(shè)備,非常適用于網(wǎng)絡(luò)傳感器處理。
感測實(shí)例應(yīng)用說明
接著說明幾個(gè)基于傳感器的系統(tǒng)的范例,在這些范例中,DSC提供理想的架構(gòu)解決方案。這里并未逐一羅列所有的情況,僅為說明DSC在傳感器應(yīng)用中應(yīng)用廣泛而已。
溫度量測運(yùn)算 DSC效益顯著
在傳感器測量的各種物理量中,溫度測量可能最為常見。在工業(yè)設(shè)備、化工廠、暖氣、通風(fēng)與空調(diào)(Ventilation and Air Conditioning, HVAC)系統(tǒng)、計(jì)算機(jī)安裝和電池管理系統(tǒng)等眾多系統(tǒng)中,溫度測量是極其重要的一個(gè)方面。若要根據(jù)所測量的電阻準(zhǔn)確計(jì)算溫度如使用電阻式溫度檢測器或熱敏電阻,須要進(jìn)行對(duì)數(shù)計(jì)算和除法,在此過程中,DSC的DSP功能將非常有效。在某些配置中,須要差動(dòng)ADC輸入。
將熱電偶用作溫度傳感器時(shí),所產(chǎn)生的電壓很小,因而容易受到寄生結(jié)效應(yīng)的干擾。在使用P-N結(jié)(硅)傳感器的情況下,所產(chǎn)生的電壓將隨設(shè)備的不同而有所變化,難以進(jìn)行準(zhǔn)確的測量。不管是哪一種情況,在內(nèi)建數(shù)據(jù)EEPROM或閃存程序內(nèi)存上儲(chǔ)存和存取校準(zhǔn)常數(shù)的功能,都有助于補(bǔ)償這種不需要的效應(yīng)。
類似地,須要對(duì)熱電偶和紅外線(IR)溫度檢測器所產(chǎn)生的非線性輸出進(jìn)行數(shù)學(xué)運(yùn)算,使其線性化。例如,K型熱電偶使用下列線性化多項(xiàng)式:
溫度=a1×V+a2×V2+a3×V3+…
其中,a1=25132.785,a2=-60883.423…,V =傳感器輸出電壓。
在dsPIC33F DSC上使用兩個(gè)累加器和DSP指令執(zhí)行此線性化任務(wù)時(shí),計(jì)算過程(上述多項(xiàng)式僅計(jì)算到第二階)需要七個(gè)運(yùn)算速度--四個(gè)數(shù)據(jù)傳送周期、二個(gè)乘法周期以及一個(gè)乘減運(yùn)算周期。透過該公式可以很明顯看出,在通用微處理器或微控制器架構(gòu)上執(zhí)行此運(yùn)算會(huì)耗費(fèi)更多時(shí)間,這也間接說明了使用DSC的優(yōu)勢(shì)。
而且,熱電偶的輸出電壓(即使在放大之后)特別容易受60Hz(或50Hz,具體取決于區(qū)域)的電源線路噪聲影響??紤]到熱電偶輸出的變化率較慢,此噪聲容易與熱電偶輸出位于同一頻帶,并且須要使用中心頻率為60Hz的帶拒濾波器小心地進(jìn)行濾波。
FIRD和IIR濾波算法均可以在DSC上高效執(zhí)行,但是IIR濾波器需要的系數(shù)一般要少得多,因而需要較少的乘法和加法運(yùn)算。不過,IIR濾波器具有回饋項(xiàng),因而會(huì)造成一些穩(wěn)定性方面的難題。幸運(yùn)的是,數(shù)據(jù)自動(dòng)飽和是DSC架構(gòu)中相當(dāng)常見的硬件特性,可以盡可能地降低由于溢出造成的數(shù)據(jù)損壞。圖5的頻率響應(yīng)圖展示了用于抑制60Hz電源線路訊號(hào)的十六階IIR帶拒濾波器(取樣速率為1kHz)的頻率選擇特性。
對(duì)于DSP設(shè)計(jì)經(jīng)驗(yàn)不甚豐富的系統(tǒng)開發(fā)人員而言,設(shè)計(jì)數(shù)字濾波器尤其是IIR濾波器的過程中所涉及之理論和步驟可能相當(dāng)復(fù)雜,對(duì)數(shù)學(xué)功底的要求極高。幸運(yùn)的是,很多DSC制造商和協(xié)力工具廠商都已提供低成本的工具,開發(fā)人員只須要在這些工具中指定通帶和拒帶的轉(zhuǎn)移頻率及所需的衰減度即可。這些工具可以計(jì)算濾波器系數(shù)并產(chǎn)生應(yīng)用軟件可以直接使用的源文件和數(shù)據(jù)文件。圖3展示了四種最常見的數(shù)字濾波問題。
除了線性濾波和數(shù)字濾波外,應(yīng)用軟件還必須在從熱電偶采樣的電壓中加上從外接溫度傳感器IC如TC1047A采樣的電壓,以執(zhí)行冷結(jié)點(diǎn)補(bǔ)償。此外,很可能須要定期計(jì)算ADC轉(zhuǎn)換結(jié)果的平均值,具體視所采用的ADC取樣速率而定。平均值計(jì)算可以透過DSC架構(gòu)中通常提供的基于累加器的加法和多位移動(dòng)運(yùn)算高效完成。
滿足指紋辨識(shí)復(fù)雜計(jì)算
說明過最常見的智慧傳感器應(yīng)用后,現(xiàn)在開始討論一種本質(zhì)上更復(fù)雜且計(jì)算要求更高的傳感器應(yīng)用--指紋辨識(shí)。
指紋辨識(shí)在安全區(qū)域(如房間或車輛)的進(jìn)出控制、存取設(shè)備(如手機(jī))、個(gè)人計(jì)算機(jī)或網(wǎng)絡(luò)登入,以及僅作為
可靠的個(gè)人身分識(shí)別形式等方面的應(yīng)用日趨增多。目前,市面上有很多類型的指紋傳感器,如電容式傳感器、光學(xué)傳感器、熱傳感器和電場傳感器。例如,電容式傳感器依賴于人手指上的紋路起伏產(chǎn)生的電容變化。
負(fù)責(zé)從指紋傳感器捕捉指紋數(shù)據(jù)的控制器須具有以下的某些特性:足夠快的ADC,用于接收傳感器采樣的值;高速串行通訊接口(如SPI),用于與系統(tǒng)中的其它模塊進(jìn)行通訊;閃存,用于儲(chǔ)存指紋「模板」數(shù)據(jù)庫,然后在驗(yàn)證或辨別指紋時(shí)高效存取這些范本。
最重要的是,須要擁有強(qiáng)大的DSP功能來執(zhí)行指紋配對(duì)操作。最后必須指出的是,控制器應(yīng)該不僅能夠處理16位數(shù)據(jù),還要能夠高效處理8位數(shù)據(jù)(如DSC可以處理8位和16位的數(shù)據(jù)),因?yàn)榇蠖鄶?shù)傳感器都使用8位的值來代表指紋。
16位DSC漸受矚目
隨著對(duì)傳感器接口的功能性、聯(lián)機(jī)性以及數(shù)學(xué)和訊號(hào)處理方面的要求變得越來越高,16位DSC逐漸成為許多基于傳感器的系統(tǒng)和智能傳感器的理想內(nèi)建系統(tǒng)架構(gòu)。實(shí)時(shí)操作系統(tǒng)(RTOS)、TCP/IP和預(yù)封裝DSP算法等軟件工具,進(jìn)一步增強(qiáng)此類架構(gòu)在各種傳感器應(yīng)用中的可用性。