基于PSoC 的嵌入式數字濾波技術
在定義關系密切的 PSoC3 和 PSoC5 系列產品時,賽普拉斯的架構師決定不再在競爭激烈的市場中僅僅提供一款同質化的產品。不管采取什么架構,硬件的功能都應重點用于高效地實現有用的工作目的。我們希望 PSoC 真正成為片上可編程解決方案,能夠解決實際客戶遇到的實際問題。
本文引用地址:http://www.104case.com/article/151226.htm為了給新一代 PSoC 器件提供更強的解決問題的功能,我們采用了一系列獨特的外設和信號處理塊,既有模擬的,也有數字的。本文將重點討論這些大幅簡化采集信號數字濾波工作的信號處理塊,并討論該技術已經在其中證明自身實力的一些應用。
首先,我們為什么希望使用嵌入式濾波器而不是將信號處理指令集成到普通的微控制器中呢?究其原因就是項目設計層面和系統集成層面的分區問題。在項目開發過程中,項目的規模、目標和整體架構經常發生變化。單核單片式編碼項目要想跟上這種變化的速度,著實是一個挑戰,尤其是目前的項目常常是由非集中化的多個不同設計團隊一起完成的,這更增加了相關的難度。在塊層所使用的功能元件中嵌入信號處理,能確保項目管理在元件設計層面實現分支,同時也能確保在算法改變時,信號處理負載發生的差異不會影響通信管理等時間關鍵性任務。
數字濾波器塊 (DFB) 是首款PSoC3 和 PSoC5 系列產品中支持嵌入式數字濾波的硬件元素,這是一款連接于外設總線的小型數字濾波器引擎。實際上,它是存儲器、MAC、ALU 和微代碼控制庫的緊密組合,其 VLIW 架構能支持不同的操作,如 24 位 x 24 位到 48 位乘法和加法等能以系統時鐘速率并行執行,在 PSoC3 中的頻率可高達 67MHz,而在 PSoC5 中的頻率則可達 80MHz。數據和系數存儲在一對專門的本地 128x24 位存儲器中,并能在整個系統總線上進行存取。許多濾波拓撲都能在這一結構上高效編碼。
配合嵌入式數字濾波應用 DFB 的是通用數字塊 (UDB) 陣列。它在多功能架構中結合了 PLD 和數據路徑/ALU塊,既能用于數字數據源集和匯集連接,也能用于高時鐘速率重復結構,如級聯積分器/梳狀濾波器 (CIC) 和噪聲成形數字轉換器。
在 PSoC3 和 PSoC5 系統中如何使用嵌入式數字濾波
數字濾波器塊可通過幾種方式使用。PSoC Creator 中集成的濾波器設計工具支持拖放工作方式,將數字濾波包括到信號流程中來。啟動時 PSoC Creator 配套提供了專用的 FIR 濾波器“組件”,在系統中可以像其他塊一樣使用。該組件能對信號應用多種不同濾波器,既能單獨使用,也能組合使用。圖 1 顯示了該組件的屏幕截圖,從中我們看出它在 PSoC Creator 項目中的使用情況以及設置屬性的配置窗口。今后,更多濾波器拓撲和互動濾波器設計向導還將添加到 PSoC Creator中。
圖 1:PSoC Creator 中的標準 FIR 濾波器組件
與第一代 PSoC 產品一樣,我們的客戶和我們自己的系統工程師一直期待著全新 PSoC3和 PSoC5 應用的到來。PSoC 的核心理念一直是推出靈活的產品,支持在產品設計時還暫未設想到的全新應用。這種靈活性同樣適用于數字濾波器塊等功能塊。我們已經用該塊開發了幾款定制應用,并作為組件實施于 PSoC Creator 原理圖中。由于信號處理與主 CPU 相分離,我們能通過一系列 Creator 組件實現 IP 的重復使用,而全部設計人員都能共享這些組件。
使用 PSoC3/5 的高性能嵌入式濾波示例
“時間校正”濾波器——多相內插
如果用 PSoC3 來滿足近期電表讀取應用的概念設計要求,我們需要補償單 Δ-Σ ADC 的通道間計時偏置,滿足多相電壓和電流多路復用的要求。如果不糾正上述時差的話,系統準確性就會在加載低功耗因數期間快速下降,而且在線路頻率高諧波的功耗估算也會出問題。
數字濾波器塊非常適用于 FIR 濾波器,我們用它來創建多相內插濾波器。在我們的原型設計中共有四個通道,每個通道有 20 個抽頭 (tap)。該濾波器從單 ADC 獲得多路復用的數據流,將其“解包”為四個新的數據流,上述解包通道的信號延遲有差別,就好像信號同時被四個采樣 ADC 捕獲一樣,需要對采樣時間進行校正。圖 2 顯示了四輸入多路復用轉換器順序采樣相同(帶限)信號所得的四個數據集。
點擊看原圖
圖 2:ADC 的四個順序多路復用輸入獲得相同的信號……
圖 3 顯示了內插濾波器系統的四個輸出,我們看到底層帶限波形在形狀和計時方面都已經得到了準確重構。這種方法使單個高品質 ADC 能滿足極高的計量準確性要求,支持各種相關功率因數和諧波頻率要求。這種方法對其他需要高效同時采樣的應用而言同樣適用。
點擊看原圖
圖 3:……嵌入式多相內插濾波器消除了偏差。
用于功率計的其他濾波器
數字濾波器塊在我們的計量設計中還提供了另外兩種有用的濾波器功能。首先,為了支持“經典”基本無功功率的準確計算,我們采用了計算機優化的相移濾波器。大多數商業計量芯片都使用時間延遲或積分器來提供所需的 90 度相移。前一種方法的振幅特性曲線是平的,但在線路頻率值不準確時會造成相移不準。后一種方法會出現相反的問題,也就是說,相總是準確的,但振幅則會根據頻率出現變化,這樣導致的結果是它只能滿足要求最不嚴格的計量應用,但對其他應用都不適用。上述兩種方法對我們來說都不適用。
我們嵌入了在整個線路頻率范圍上都超出了最嚴格的無功功率準確度要求的 6 極點 IIR 濾波器(圖 4 和圖 5),從而避免使用會消耗整個系統處理功率的希爾伯特變換器方法。此外,我們的方法還具有低通特性,可大幅減弱電流波形中的諧波,使無功功率估算能獲得基本信息。
圖 4 和圖 5:頻率為 50Hz 的專用 n=6 嵌入式 IIR 精確正交生成器。
linux操作系統文章專題:linux操作系統詳解(linux不再難懂)
評論