帶模數(shù)前端的低成本微控制器近年來得到迅速推廣,人們通常稱之為“混合信號微控制器”。當(dāng)然,賽普拉斯的 PSoC3 和新近推出的 PSoC5 器件集成了強(qiáng)大的 CPU 和業(yè)界領(lǐng)先的 ADC,其性能可超過分離式外部轉(zhuǎn)換器。不過,PSoC3 和 PSoC5 并不僅僅是一般的混合信號微控制器。傳統(tǒng)設(shè)備當(dāng)然可以將外部模擬信號轉(zhuǎn)換為數(shù)字信號。數(shù)據(jù)采集進(jìn)程并不是全部目的之所在,它只是通過數(shù)據(jù)采集提取所采集數(shù)據(jù)背后含義并確定如何處理數(shù)據(jù)的一種方式。如果提取含義所需的信號處理工作量非常大的話,就會(huì)對固件工程師構(gòu)成挑戰(zhàn),因?yàn)檫@種提取工作要與一般性工作任務(wù)使用相同的處理器,而處理器在支持終端設(shè)備所需的一般性任務(wù)之外還要完成新的工作任務(wù)。
在定義關(guān)系密切的 PSoC3 和 PSoC5 系列產(chǎn)品時(shí),賽普拉斯的架構(gòu)師決定不再在競爭激烈的市場中僅僅提供一款同質(zhì)化的產(chǎn)品。不管采取什么架構(gòu),硬件的功能都應(yīng)重點(diǎn)用于高效地實(shí)現(xiàn)有用的工作目的。我們希望 PSoC 真正成為片上可編程解決方案,能夠解決實(shí)際客戶遇到的實(shí)際問題。為了給新一代 PSoC 器件提供更強(qiáng)的解決問題的功能,我們采用了一系列獨(dú)特的外設(shè)和信號處理塊,既有模擬的,也有數(shù)字的。本文將重點(diǎn)討論這些大幅簡化采集信號數(shù)字濾波工作的信號處理塊,并討論該技術(shù)已經(jīng)在其中證明自身實(shí)力的一些應(yīng)用。
嵌入式數(shù)字濾波的架構(gòu)增強(qiáng)
首先,我們?yōu)槭裁聪M褂们度胧綖V波器而不是將信號處理指令集成到普通的微控制器中呢?究其原因就是項(xiàng)目設(shè)計(jì)層面和系統(tǒng)集成層面的分區(qū)問題。在項(xiàng)目開發(fā)過程中,項(xiàng)目的規(guī)模、目標(biāo)和整體架構(gòu)經(jīng)常發(fā)生變化。單核單片式編碼項(xiàng)目要想跟上這種變化的速度,著實(shí)是一個(gè)挑戰(zhàn),尤其是目前的項(xiàng)目常常是由非集中化的多個(gè)不同設(shè)計(jì)團(tuán)隊(duì)一起完成的,這更增加了相關(guān)的難度。在塊層所使用的功能元件中嵌入信號處理,能確保項(xiàng)目管理在元件設(shè)計(jì)層面實(shí)現(xiàn)分支,同時(shí)也能確保在算法改變時(shí),信號處理負(fù)載發(fā)生的差異不會(huì)影響通信管理等時(shí)間關(guān)鍵性任務(wù)。
數(shù)字濾波器塊 (DFB) 是首款PSoC3 和 PSoC5 系列產(chǎn)品中支持嵌入式數(shù)字濾波的硬件元素,這是一款連接于外設(shè)總線的小型數(shù)字濾波器引擎。實(shí)際上,它是存儲(chǔ)器、MAC、ALU 和微代碼控制庫的緊密組合,其 VLIW 架構(gòu)能支持不同的操作,如 24 位 x 24 位到 48 位乘法和加法等能以系統(tǒng)時(shí)鐘速率并行執(zhí)行,在 PSoC3 中的頻率可高達(dá) 67MHz,而在 PSoC5 中的頻率則可達(dá) 80MHz。數(shù)據(jù)和系數(shù)存儲(chǔ)在一對專門的本地 128x24 位存儲(chǔ)器中,并能在整個(gè)系統(tǒng)總線上進(jìn)行存取。許多濾波拓?fù)涠寄茉谶@一結(jié)構(gòu)上高效編碼。
配合嵌入式數(shù)字濾波應(yīng)用 DFB 的是通用數(shù)字塊 (UDB) 陣列。它在多功能架構(gòu)中結(jié)合了 PLD 和數(shù)據(jù)路徑/ALU塊,既能用于數(shù)字?jǐn)?shù)據(jù)源集和匯集連接,也能用于高時(shí)鐘速率重復(fù)結(jié)構(gòu),如級聯(lián)積分器/梳狀濾波器 (CIC) 和噪聲成形數(shù)字轉(zhuǎn)換器。
在 PSoC3 和 PSoC5 系統(tǒng)中如何使用嵌入式數(shù)字濾波
數(shù)字濾波器塊可通過幾種方式使用。PSoC Creator 中集成的濾波器設(shè)計(jì)工具支持拖放工作方式,將數(shù)字濾波包括到信號流程中來。啟動(dòng)時(shí) PSoC Creator 配套提供了專用的 FIR 濾波器“組件”,在系統(tǒng)中可以像其他塊一樣使用。該組件能對信號應(yīng)用多種不同濾波器,既能單獨(dú)使用,也能組合使用。圖 1 顯示了該組件的屏幕截圖,從中我們看出它在 PSoC Creator 項(xiàng)目中的使用情況以及設(shè)置屬性的配置窗口。今后,更多濾波器拓?fù)浜突?dòng)濾波器設(shè)計(jì)向?qū)н€將添加到 PSoC Creator中。
圖 1:PSoC Creator 中的標(biāo)準(zhǔn) FIR 濾波器組件
與第一代 PSoC 產(chǎn)品一樣,我們的客戶和我們自己的系統(tǒng)工程師一直期待著全新 PSoC3和 PSoC5 應(yīng)用的到來。PSoC 的核心理念一直是推出靈活的產(chǎn)品,支持在產(chǎn)品設(shè)計(jì)時(shí)還暫未設(shè)想到的全新應(yīng)用。這種靈活性同樣適用于數(shù)字濾波器塊等功能塊。我們已經(jīng)用該塊開發(fā)了幾款定制應(yīng)用,并作為組件實(shí)施于 PSoC Creator 原理圖中。由于信號處理與主 CPU 相分離,我們能通過一系列 Creator 組件實(shí)現(xiàn) IP 的重復(fù)使用,而全部設(shè)計(jì)人員都能共享這些組件。
使用 PSoC3/5 的高性能嵌入式濾波示例
“時(shí)間校正”濾波器——多相內(nèi)插
如果用 PSoC3 來滿足近期電表讀取應(yīng)用的概念設(shè)計(jì)要求,我們需要補(bǔ)償單 Δ-Σ ADC 的通道間計(jì)時(shí)偏置,滿足多相電壓和電流多路復(fù)用的要求。如果不糾正上述時(shí)差的話,系統(tǒng)準(zhǔn)確性就會(huì)在加載低功耗因數(shù)期間快速下降,而且在線路頻率高諧波的功耗估算也會(huì)出問題。
數(shù)字濾波器塊非常適用于 FIR 濾波器,我們用它來創(chuàng)建多相內(nèi)插濾波器。在我們的原型設(shè)計(jì)*有四個(gè)通道,每個(gè)通道有 20 個(gè)抽頭 (tap)。該濾波器從單 ADC 獲得多路復(fù)用的數(shù)據(jù)流,將其“解包”為四個(gè)新的數(shù)據(jù)流,上述解包通道的信號延遲有差別,就好像信號同時(shí)被四個(gè)采樣 ADC 捕獲一樣,需要對采樣時(shí)間進(jìn)行校正。圖 2 顯示了四輸入多路復(fù)用轉(zhuǎn)換器順序采樣相同(帶限)信號所得的四個(gè)數(shù)據(jù)集。
圖 2:ADC 的四個(gè)順序多路復(fù)用輸入獲得相同的信號
圖 3 顯示了內(nèi)插濾波器系統(tǒng)的四個(gè)輸出,我們看到底層帶限波形在形狀和計(jì)時(shí)方面都已經(jīng)得到了準(zhǔn)確重構(gòu)。這種方法使單個(gè)高品質(zhì) ADC 能滿足極高的計(jì)量準(zhǔn)確性要求,支持各種相關(guān)功率因數(shù)和諧波頻率要求。這種方法對其他需要高效同時(shí)采樣的應(yīng)用而言同樣適用。
圖 3嵌入式多相內(nèi)插濾波器消除了偏差。
用于功率計(jì)的其他濾波器
數(shù)字濾波器塊在我們的計(jì)量設(shè)計(jì)中還提供了另外兩種有用的濾波器功能。首先,為了支持“經(jīng)典”基本無功功率的準(zhǔn)確計(jì)算,我們采用了計(jì)算機(jī)優(yōu)化的相移濾波器。大多數(shù)商業(yè)計(jì)量芯片都使用時(shí)間延遲或積分器來提供所需的 90 度相移。前一種方法的振幅特性曲線是平的,但在線路頻率值不準(zhǔn)確時(shí)會(huì)造成相移不準(zhǔn)。后一種方法會(huì)出現(xiàn)相反的問題,也就是說,相總是準(zhǔn)確的,但振幅則會(huì)根據(jù)頻率出現(xiàn)變化,這樣導(dǎo)致的結(jié)果是它只能滿足要求最不嚴(yán)格的計(jì)量應(yīng)用,但對其他應(yīng)用都不適用。上述兩種方法對我們來說都不適用。