智能傳感器信號處理(下)
DSC的主要特點
本文引用地址:http://www.j9360.com/article/117276.htm典型的DSC架構具有使其適用于大量傳感器應用的多種CPU和外設特性。在本節中,我們將探討這些特性中最有用的幾個,在選擇DSC架構時這幾個特性是考慮的重點。
增強的CPU功能
16位DSC最強大的特性是可提供豐富的DSP功能。真正的DSC包含兩個40位累加器,可用于存儲兩個獨立的16位x 16位乘法運算的結果。
大多數DSP算法(如FIR和IIR濾波)都會涉及計算乘積之和。利用特殊指令,如乘 – 累加(Multiply-and-Accumulate,MAC),可以在一個指令周期內將兩個16位數字相乘,將結果加到累加器,然后從RAM預取一對數據值。利用兩個累加器,也可以將數據寫回一個累加器,同時在另一個累加器上執行計算。
累加器寬度為40位(而非32位)時,可以將數據暫時“溢出”(這在累加器中累加大量值時經常發生)。此外,DSC的CPU也可以選用一種稱為“飽和”的機制將值保持在允許的范圍內,并在將值寫回RAM時對值進行取整或換算。DSC的另一項特性(也是MCU一般缺少的)是其解讀分數形式的數據能力,DSC并不總是假定數據為整數,因而有助于分數運算。
除了上述特性外,還增加了各種數據尋址模式,用以高效移動數據,支持環形緩沖區和位反轉尋址以及零開銷循環,很顯然,DSC提供了非常強大的用戶友好型CPU架構來處理或分析傳感器數據。
靈活的中斷結構
DSC器件的中斷結構擁有較高的靈活性。一般來說,支持大量可單獨允許并設置優先級的中斷源和向量(這對于涉及多個傳感器的應用非常有利)。其中斷延時應該具有高確定性,以簡化系統開發人員的工作。顯著提高智能傳感器信號處理應用效率的另一個特性是直接存儲器訪問(DMA),其在外設和存儲器之間(例如在ADC和數據緩沖區之間)自動傳輸大批量的數據。
運行時自編程(RTSP)
大多數傳感器應用都需要存儲常量,其用于根據環境條件、變換器輸出與預測量之間的偏移量來校準從傳感器獲取的數據。后處理算法也會使用常量,如濾波系數或FFT“旋轉因子”。但是,在RAM中存儲此類常量會浪費數據存儲空間。DSC器件通常包含閃存程序存儲器和基于閃存的數據EEPROM,可用于高效可靠地存儲和訪問此類常量。在閃存DSC器件中,用戶的程序甚至可以實時修改這些常量,具體取決于環境、數據或工作條件的變化。
在線串行編程(ICSP)
借助閃存DSC,用戶能夠使用稱為在線串行編程(In-Circuit Serial Programming,ICSP)的方法在現場輕松升級應用固件。在線串行編程,不僅可以修正傳感器校準或軟件漏洞,以最少的成本和最短的延時提供更強的功能,而且可以使同一控制器用在不同類型的傳感器接口中和不同的條件下。
除此之外,還有高分辨率ADC和DAC,高速輸入捕捉和輸出比較,I/O電平變化通知功能等。
應用示例
現在讓我們看幾個基于傳感器的系統的示例,在這些示例中,DSC提供了理想的架構解決方案。本文并未逐一羅列所有的情況,僅為說明DSC在傳感器應用中應用廣泛而已。
溫度傳感器
在傳感器測量的各種物理量中,溫度測量可能最為常見。在工業設備、化工廠、供暖、通風與空調(HVAC)系統、計算機安裝和電池管理系統等眾多系統中,溫度測量是極其重要的一個方面。若要根據所測量的電阻準確計算溫度(例如使用電阻式溫度檢測器或熱敏電阻),需要進行對數計算和除法,在此過程中,DSC的DSP功能將非常有效。在某些配置中,需要差分ADC輸入。
將熱電偶用作溫度傳感器時,所產生的電壓很小,因而容易受到寄生結效應的干擾。在使用P-N結(硅)傳感器的情況下,所產生的電壓將隨器件的不同而有所變化,難以進行準確的測量。不管是哪一種情況,在片上數據EEPROM或閃存程序存儲器上存儲和訪問校準常量的功能都有助于補償這種不需要的效應。
評論