新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > Adaptive Filtering 功能詳解及代碼實現

        Adaptive Filtering 功能詳解及代碼實現

        作者: 時間:2012-09-12 來源:網絡 收藏

        摘 要

        本文引用地址:http://www.104case.com/article/148405.htm

        Texas instruments 推出的超低功耗miniDSP 音頻Codec 集成了miniDSP 內核,可在耗電極低的工作狀態下為電池供電的便攜式產品提供高性能的語音及音樂處理能力。 是miniDSP 的一項重要。本文詳細介紹了該的使用方法及注意事項,并給出了示例以供參考。

        1 miniDSP Codec 簡介

        德州儀器半導體公司(Texas Instruments)推出的內嵌miniDSP 的音頻編解碼器(簡稱miniDSP Codec)在普通音頻編解碼器的基礎上提供了強大、靈活的低功耗DSP 引擎來滿足消費類電子應用中對音質、音效的需求。

        miniDSP 的內核是完全可編程的,支持許多錄音和回放的專用算法。例如:多段均衡(Multi-Band Equalization)、動態噪聲消除(Dynamic Noise Filter)、回聲消除(Echo Cancellation)等。miniDSP Codec 具有非常優秀的電源管理,在提供強大的音效處理能力的同時兼顧了低功耗特性,非常適合電池供電的便攜式產品應用,例如智能手機,多媒體播放器,導航儀,電子相框等。

        TLV320AIC3254(簡稱AIC3254)是miniDSP Codec 的典型器件,本文將基于該器件展開分析。其他miniDSP Codec 均具有類似的架構、功能及使用方法。請用戶參考相應產品的器件手冊獲得詳細信息。

        1.1 miniDSP Codec 架構

        以AIC3254 為例,該miniDSP Codec 集成了兩個miniDSP 內核,如圖1 所示,miniDSP-A 位于ADC 信號路徑上,主要負責ADC 采樣后的數字音頻流處理。miniDSP-D 位于DAC 路徑上,主要負責I2S 總線輸入的數字音頻流處理。miniDSP-A 和miniDSP-D 之間有互聯的內部數據總線可用于數據交換及共享空間。

        miniDSP 音頻Codec 內部簡化框圖

        圖 1. miniDSP 音頻Codec 內部簡化框圖

        除了Audio Codec 以外,某些ADC、DAC 也擁有miniDSP 內核,本文介紹的部分內容也適用于該類器件。請參考相應器件的手冊獲得詳細信息。

        1.2 miniDSP 內存架構及寄存器地址

        miniDSP-A 和D 分別有自己獨立的內存空間。每個DSP 的內存分為指令內存(Instruction RAM)、數據內存(Data RAM)和系數內存(Coefficient RAM)三類。

        • 指令內存用于存儲miniDSP 的運行指令及程序。

        • 數據內存用來暫存miniDSP 運行時的運算結果等臨時數據。

        • 系數內存用來存儲miniDSP 音效、增益等控件的參數數據。

        指令內存和系數內存均可通過映射的I2C 或SPI 地址來進行讀寫。Codec 上電時主控芯片需要通過I2C 或SPI 接口將miniDSP 程序下載到指令內存和系數內存以供運行。以TLV320AIC3254 為例,指令內存、系數內存的寄存器映射地址及功能如表1 所示:

        表 1. TLV320AIC3254 內存架構及寄存器地址

        TLV320AIC3254 內存架構及寄存器地址

        從寄存器映射地址可發現,miniDSP-A 和 miniDSP-D 的系數內存控件均被等分成兩塊:Buffer-A和Buffer-B。當 功能關閉時,Buffer-A 和Buffer-B 是一個整體,連續的存儲空間。當 功能開啟時,兩個Buffer 的內容是完全同步并相互備份的。這種內存架構是Adaptive Filtering 功能的基礎。

        注 意:

        當用戶不需要Adaptive Filtering 功能時,建議關閉該功能。系數內存(Coefficent

        RAM)將不會劃分Buffer-A 和Buffer-B。能提供多一倍的系數內存給用戶使用。

        2 Adaptive Filtering

        2.1 功能概述

        Adaptive Filtering 是一種在miniDSP 運行時的濾波器、音效控件、混音比例等參數的實時切換功能。啟動該功能后主控芯片可以通過控制端口對系數內存內的參數數據進行實時更新。

        當miniDSP Codec 運行在non-Adaptive Filtering 模式下,系數內存中的濾波器、音效控件、混音比例等參數將被鎖定,無法實時更改。這種模式適用于不需要實時調節參數的場合。miniDSP 的將在啟動時一次性被下載并執行,運行過程中不會進行任何miniDSP 系數內存參數的修改。

        當Adaptive Filtering 功能啟動后,系數內存將啟用緩存(Buffer-A 和Buffer-B)設置。允許用戶在miniDSP 工作時實時修改系數內存中的參數設置,從而滿足用戶實時調節音效等參數的需求。例如,啟用了Adaptive Filtering 模式后,用戶可在聽歌過程中將EQ 均衡器從流行(POP)轉換為古典(Classic)模式,該效果實時產生作用無需中斷播放。

        2.2 Adaptive Filtering 控制寄存器

        Adaptive Filtering 功能是通過特定寄存器來控制和的,以AIC3254 的miniDSP-A 為例,表2列出了miniDSP-A 的Adaptive Filtering 控制寄存器的含義。用戶可通過D2 位開啟或關閉miniDSP-A 的Adaptive Filtering 功能。D1 位用來指示miniDSP 運行時哪一個Buffer 被鎖定,用戶可讀取該位來確認Buffer 使用的狀態。D0 位用來控制Buffer 的切換,向D0 位寫入1 后miniDSP-A 會切換到新的Buffer 進行工作,并向控制端口釋放原先使用的Buffer。切換完畢后D0的值會自動清零,用戶可通過循環讀取D0 的值來判斷Buffer 的切換是否已經完成。

        表 2. AIC3254 miniDSP-A Adaptive Filtering 控制寄存器(P8_R1)

        AIC3254 miniDSP-A Adaptive Filtering 控制寄存器(P8_R1)

        注 意:

        每個支持Adaptive Filtering 功能的miniDSP 都有自己的Adaptive Filtering 控制寄存器,miniDSP-A 和miniDSP-D 的Adaptive Filtering 功能是獨立運行的。

        2.3 系數內存(Coefficient Memory)存取規范


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 团风县| 余姚市| 封开县| 马尔康县| 资源县| 濮阳县| 黄大仙区| 永泰县| 永仁县| 天峻县| 黎城县| 阿城市| 富锦市| 兖州市| 新丰县| 乐业县| 什邡市| 琼海市| 陆河县| 驻马店市| 滕州市| 哈尔滨市| 普陀区| 民丰县| 陆良县| 胶州市| 逊克县| 拉萨市| 当涂县| 永宁县| 莱西市| 连山| 洞口县| 吉木乃县| 双牌县| 武定县| 彭阳县| 肃北| 海兴县| 仪征市| 资溪县|