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