Global Sources
電子工程專輯
 
電子工程專輯 > 處理器/DSP
 
 
處理器/DSP  

數位訊號控制器是一種SoC創新

上網時間: 2005年07月11日     打印版  Bookmark and Share  字型大小:  

關鍵字:DSC  數位訊號控制器  DSP  感測器  UART 

隨著人們對感測器介面在功能、連通性及數學運算方面的要求越來越高,16位元數位訊號控制器(DSC)正在成為眾多基於感測器的系統和智慧感測器的一種理想架構。諸如RTOS、TCP/IP及預封包化DSP演算法等軟體工具的使用,將進一步提高這種架構在各種感測器應用中的可用性。

感測器是用來檢測並監視溫度、壓力、濕度及運動等物理參數並對其進行響應(如果需要的話)的裝置。傳統上,從感測器上獲得的數據先被直接送往一個中央單元,然後再由該單元利用分離式硬體零配件或數位邏輯來對這些數據進行後端處理或顯示。隨著8位元MCU等嵌入式處理器解決方案的出現,它們在成本與靈活性方面具有很大優勢,已在取代帶MCU的固定集中式硬體(可進行編程以執行應用所需的特定任務)。

圖1:採用DSC的引擎敲擊檢
測系統實例。

隨著基於感測器的應用複雜性迅速增加,必須為感測器介面嵌入更高程度的智慧。很多應用利用多個感測器來獲得各種測量參數並以全新的方式來對其進行處理,因而需要更強大的運算能力、記憶體與週邊,這就要求使用16位元MCU。

在很多應用中,感測器在物理上被分散於極大範圍內,如大型建築物、工廠及汽車等。但實驗證明,對於這種分散式系統,集中式處理/控制方法常常無效或效能低下。為從中央控制單元上卸載掉一些處理及數據儲存要求,最好是將處理能力分散到靠近感測器(甚至與之整合)的多個MCU上。這種‘智慧感測器’方法要求有強大的功能及各種通訊能力。

MCU+DSP=DSC

真正的後處理作業可能經常需要對從感測器上獲得的數據展開。例如執行數據的FIR或IIR濾波以消除噪音,以及執行FFT運算來分析數據以便頻域數據能被用於進一步的處理級,並根據其幅度來定標及歸一化等。這種計算需要在感測器介面所使用的處理器中具有高程度的高速數學運算能力,一般的16位元MCU架構可能還不夠用。因此傳統上是用DSP來執行此類計算密集型任務。但DSP本身(不帶相關MCU)並不適合於在感測器介面中使用,原因如下:

a. DSP沒有靈活的中斷結構;


b. DSP在操作位元時並不十分有效(如單個I/O接腳狀態等);


c. DSP十分依賴外部記憶體及週邊;


d. DSP很少採用低接腳數封裝。

高性能智慧感測器系統的理想單晶片平台架構是16位元DSC。DSC是一種將16位元MCU的控制特性與廣泛的DSP功能無縫整合在一起的全新混合式SoC架構。DSC很適合用於周期性中斷以及從多個感測器及控制輸入上捕捉數據,且如果需要,還能與分散式系統中的其他控制器共享數據。另一方面,DSC的CPU還支援一組功能強大的DSP指令及靈活的尋址方式,從而能進行快速及精確的算術與邏輯計算。

DSC的主要特性

典型DSC架構具有使其適合於眾多感測器應用的若干CPU及週邊特徵。本節將討論其中一些最有用的特性,這些特性在考慮採用任何一種DSC架構時都非常重要。

1.增強的CPU功能

也許16位元DSC最強大的特性是具有廣泛的DSP功能。一種真正的DSC應包括兩個可用於儲存兩個獨立16x16位元乘法運算結果的40位元累加器。

大多數DSC演算法,例如FIR及IIR濾波等,都包括執行‘乘積和’的運算。像乘積-累加(MAC)等特殊指令可提供先將兩個16位元數相乘然後再將結果加到累加器中、並從RAM中預取出一對數值的能力,這些全都在一個指令周期內完成。帶有兩個累加器,即可在一個累加器中進行數據回寫而在另一個累加器上執行計算。

寬度為40位元而不是32位元的累加器允許數據臨時‘溢出’(這在累加器中有大量數值時經常產生)。此外,DSC的CPU還可隨意使數值保持在一種稱為‘飽和’的機制所允許的範圍內,並在數據被寫回RAM中時對其進行四捨五入或換算。DSC的另一個特點(MCU一般不具有)是能以小數形式而不總是以整數形式來解釋數據,因而有助於小數演算法。

除上述特性外,DSC還具有各種用於進行有效數據轉移的尋址模式,以及支援循環緩衝器與位元倒序尋址及零開銷循環等。很明顯,DSC提供了一個強大、易於使用、可用於處理或分析感測器數據的CPU架構。

a. 靈活的中斷結構

圖2:採用DSC的胎壓監測系統實例。

D
SC架構在其中斷結構中提供了極高的靈活性。通常支援多個單獨可選及可優先化中斷源與向量(這對任何涉及多個感測器的應用都有好處)。中斷延遲具有高度可確定性,從而使系統開發者的工作變得更加容易。

b. 執行時間自編程(RTSP)


大多數感測器應用都需要儲存一些常數,這些常數可用來根據環境條件、感測器間差異以及預測量偏差來校準從感測器上所獲得的數據。後處理演算法也需要使用這些常數,如濾波系數或FFT‘旋轉因子’等。而將這些常數儲存在RAM中是一種不經濟的數據記憶體利用方法。DSC晶片一般都包含有程式快閃記憶體與基於快閃記憶體的數據EEPROM,可用來可靠及有效地儲存並存取這些常數。在Flash DSC中,用戶程式甚至能根據環境、數據或工作條件變化來即時修改這些常數。用戶程式也可修改晶片本身的配置,例如改變振盪器或啟用晶片上看門狗定時器等。

c. 在線串列編程(ICSP)


Flash DSC還使用戶容易用所謂的ICSP方法來對應用韌體進行現場升級。這使得同一控制器可在不同感測器介面與條件下被再使用。此外,還可糾正感測器校準或軟體漏洞,或以最小的成本與延遲來提供改進。

d. 高解析度類比數位轉換器(ADC)


感測器一般用來測量溫度、壓力、光等物理參數,因此需要一個速度與解析度足夠高的晶片上ADC,以便能測量微小且快速改變的輸入量。對於大多數系統來說,解析度小於12位元及非線性誤差大於1LSbit(最低有效位元)的ADC可能都不夠用。

此外,任何涉及利用多個感測器來測量不同類型參數的應用,都可能要求ADC能支援各種採樣、轉換與抖動選項。DSC一般包含有多個類比輸入通道(以便能與多個感測器進行介面)、靈活的採樣與轉換選項(例如在多個輸入間自動切換以執行連續採樣等)以及能測量差分輸入等。為減少讀取已轉換採樣的開銷,DSC還提供帶可配置數據格式化(整數/小數及有正負符號/無正負符號等)的大型記憶體映射ADC緩衝器。

e. 高速輸入捕獲


在一些感測器應用中,控制器可能會從只響應特定事件的感測器上讀取輸入。為減少功耗,控制器還可能需要一直保持休眠狀態,直到檢測到某種脈衝或訊號。DSC能進入到只有內部低功率振盪器活動的低功率模式。然後可由一個控制脈衝或‘輸入捕獲’接腳上的事件‘喚醒’,然後再開始進行數據收集與運算。輸入捕獲通道也可用來獲得某些特定事件的時間戳記。

f. I/O更改通知


在很多情況下,感測器應用中的控制器可能需要根據其某些通用I/O接腳的狀態變化來切換工作模式或產生告警。DSC可透過產生一次中斷來迅速對這種狀態變化進行響應。

g. 通訊週邊(UARTSPI、I2C)


隨著基於感測器的系統在空間與運算上正變得分散化,控制器必須能透過某種通訊匯流排或網路相互交換數據。

在一些應用中,控制器可能需要透過RS-232及RS485等標準協議將數據發給PC或邏輯分析儀,以便記錄或以圖形形式顯示從感測器上獲得的數據。有時,控制器也可能選擇利用外部modem並透過電話線來發送數據。鑒於此,DSC提供了一個16位元可尋址UART介面。

通常,可用一個外部數位類比轉換器(DAC)來根據感測器測量數據推動激勵器,或可能需要兩個智慧感測器彼此相互通訊。對於以上這種情況,DSC提供了一個或多個16位元SPI。

另一方面,一些週邊元件使用I2C協議來相互通訊。例如,利用I2C,DSC可利用外部串列EEPROM來儲存並存取HTML網頁,以對感測器子系統的執行進行直觀監視與控制。

一些典型感測器應用

現在讓我們來看一下有關DSC在感測器應用中廣泛適用的幾個典型例子。

a. 溫度感測器


在各種由感測器測量的物理參數中,溫度也許是最普遍的一項參數。它是工業設備、化工廠以及採暖、通風與空調(HVAC)系統、電腦機房與電池管理系統等眾多系統的一項關鍵指標。

精確計算以被測電阻(例如電阻溫度檢測器或熱敏電阻等)為基礎的溫度,要求進行對數與除法運算,其中DSC中的DSP能力將在這方面起主要作用。在某些配置中,還要求有差分ADC輸入。

當在溫度感測器中使用熱電偶時,所產生的電壓很小而且容易受寄生結效應的干擾。在使用P-N結感測器的情況下,所產生的電壓隨元件的不同而變化,使得難以進行精確測量。而在其他情況下,將校準常數儲存在晶片上數據EEPROM或程式快閃記憶體中(並進行存取)的能力,則有助於對這種不希望的效應進行補償。同樣,還需要用數學運算來對紅外(IR)探測器的高度非線性輸出進行線性化。

b. PIR檢測


被動紅外(PIR)檢測器透過檢測背景與活動人或物體之間的熱輻射之差來探測給定區域內的運動。它們被廣泛用於各種安全設施中。通常,可使用以差分ADC輸入配置的一對感測器來對干擾進行補償,並借此防止觸發虛假告警。此外,有時還需要用訊號處理來消除噪音源、調整探測器靈敏度以及認知熱變化的重覆模式等。在一幢建築物或工廠內,遍佈在各處的各感測器子系統間的資訊交換與告警(例如採用RS-485這樣的匯流排協議或透過DSC中的UART等)非常關鍵。

c. 氣體感測器


氣體感測器是諸如化工廠及儲存設施等潛在危險環境中的一個重要組成部份。可將其分成三類:電化學、紅外與接觸反應。所有這些技術都以‘正常條件下’的測量參數作為參考,並需針對特定環境及被測氣體進行精確校準。這些校準參數很容易儲存在DSC的數據EEPROM中。而且,由於氣體檢測有可能是一種災難性事件,因此一種靈活、確定性及低延遲的中斷機制與‘I/O更改通知’等特性極為關鍵。

d. 玻璃破碎檢測


玻璃破碎檢測器一般是一些靠近玻璃板安裝、以檢測玻璃破碎聲音的音訊感測器(麥克風)。這種系統必須既具有相當程度的抗噪音干擾能力(包括鈴聲或其他尖銳聲等可引起虛假告警的噪音),同時又足夠靈敏以便能檢測低音量玻璃破碎聲。這需要有效的後處理演算法,即必須有DSP功能。在大型建築物中,任何這種情況(可能由闖入者引起)都必須透過SPI或UART等通訊管道迅速傳給安全控制室。輸入捕獲通道可幫助記錄這種安全事件的產生時間。

e. 陀螺儀


陀螺儀用來檢測一個物體相對於靜態參照系的運動,通常(如在飛機、測繪儀器或車輛中)是透過對機械旋轉(例如加速度計)或振動(例如振動簧片)的響應來檢測物體的傾斜度。對於航空電子等關鍵應用,要求使用高解析度ADC。進行校準以補償感測器漂移也是一項主要的要求。

f. 引擎敲擊(Engine Knock)檢測


引擎敲擊(異常)一般是由未燃空氣/燃料混合物點火所引起,且是車輛動力與燃油節約的一個限制因素。引擎敲擊檢測主要透過測量引擎中的振動或壓力來完成。像FFT等訊號處理演算法,被用來確定這些振動的頻率特徵,因此需要用DSC中的雙累加器來執行複雜的計算。或者,需用IIR等數位濾波程式來濾除在沒有異常時所觀察到的背景噪音與正常頻率,然後檢測演算法再對濾波器輸出進行積分,並將其與預先計算的參考進行比較,以確定引擎是否異常。此外,雙累加器也很理想,因為一個累加器可用來執行IIR濾波而另一個累加器則用來對IIR輸出進行積分。

由於不同引擎的參考條件各不相同,因此在不同速度與溫度間、甚至在同一引擎的不同汽缸之間,檢測演算法都廣泛使用儲存在程式快閃記憶體或數據EEPROM中的查找表。此外,還常常需要有最少兩路感測器(ADC)輸入來作為用於同步及RPM計數的兩路定序訊號(透過輸入捕獲)。

g. 振動感測器


像壓電加速度計等振動感測器,主要用來檢測磨損、機械結構或引擎中的機械故障。這可透過測量感測器輸出中的特定頻率成分來完成。這種技術易受不希望噪音頻率與諧波的影響,因此需要使用FIR或IIR等數位濾波演算法,這可非常有效地利用DSC來完成。

圖3:採用DSC的指紋識別系統實例。

h. 胎壓監測器


輪胎壓力監視器用來測量輪胎充氣情況,由兩個主要元件組成:帶壓力感測器(一般為可變電容感測器)及射頻發射器的遙感模組(RSM)裝於每個輪胎中。RSM發送壓力值或‘低壓’訊號。而位於車身控制器中的接收模組則接收這些數據,並將其傳送給汽車儀表板以進行顯示。一些射頻收發器可使用DSC中的SPI模組等串列鏈路來與控制器進行介面。而DSC中的功率節省模組則可只在有請求時才發送輪胎氣壓數據,並根據汽車速度來改變數據發送的頻率。有了DSC,還可實現藍芽等協議的使用。一些通用DSC中還包含有CAN介面。

i. 數據記錄器


典型DSC中的ADC模組所具有的強大功能,使其極適合於數據採集系統使用。例如,可對幾個感測器通道進行採樣,並透過自動通道切換及數據快取記憶體來進行高速交替轉換。DSP功能甚至可在數據被記錄以前對其進行後處理、濾波與分析。此外,也可創造性地利用DSC中的各種通訊管道、或利用TCP/IP、email及HTTP等高級協議來與PC或其他數據記錄設備通訊。

j. 指紋識別


指紋識別正越來越多地被用於房間或汽車等安全區域的物理準入控制、或用於手機存取與PC或網路登錄控制、或簡單地用作一種可靠的個人身份識別(ID)方式。目前已有很多種指紋感測器,如電容、光、溫度及電場感測器等。譬如,電容感測器的工作依賴於人手指上的紋路起伏所引起的電容變化。

負責從指紋感測器上捕捉指紋數據的控制器需具有某些特定特點,例如一個速度足夠快的ADC來接收由感測器採樣到的值、一個像SPI這樣的高速串列通訊介面來與系統中的其他模組通訊,以及一些快閃記憶體來儲存指紋‘模板’資料庫並在鑒別或識別指紋時對資料庫進行有效存取。更重要的是,需要有強大的DSP功能來執行指紋匹配運算。最後,除16位元數據外,控制器還應能有效地處理8位元數據(例如像DSC那樣能處理位元組或字數據),因為大多數感測器使用8位元數值來代表指紋。

作者:Priyabrata Sinha


DSC部應用工程師


Email:priyabrata.sinha@microchip.com


Microchip Technology Inc.





投票數:   加入我的最愛
我來評論 - 數位訊號控制器是一種SoC創新
評論:  
*  您還能輸入[0]個字
*驗證碼:
 
論壇熱門主題 熱門下載
 •   將邁入40歲的你...存款多少了  •  深入電容觸控技術就從這個問題開始
 •  我有一個數位電源的專利...  •  磷酸鋰鐵電池一問
 •   關於設備商公司的工程師(廠商)薪資前景  •  計算諧振轉換器的同步整流MOSFET功耗損失
 •   Touch sensor & MEMS controller  •  針對智慧電表PLC通訊應用的線路驅動器
 •   下週 深圳 llC 2012 關於PCB免費工具的研討會  •  邏輯閘的應用


EE人生人氣排行
 
返回頁首