《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 解決方案 > Adaptive Filtering 功能詳解及代碼實現

Adaptive Filtering 功能詳解及代碼實現

2012-09-12
作者:王 凡 Ryan Wang (Fan)
來源:South China OEM Team

摘 要

    Texas instruments 推出的超低功耗miniDSP 音頻Codec 集成了miniDSP 內核,可在耗電極低的工作狀態下為電池供電的便攜式產品提供高性能的語音及音樂處理能力。AdaptiveFiltering 是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 之間有互聯的內部數據總線可用于數據交換及共享代碼空間。

圖 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 內存架構及寄存器地址

    從寄存器映射地址可發現,miniDSP-A 和 miniDSP-D 的系數內存控件均被等分成兩塊:Buffer-A和Buffer-B。當Adaptive Filtering 功能關閉時,Buffer-A 和Buffer-B 是一個整體,連續的存儲空間。當Adaptive Filtering 功能開啟時,兩個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

注 意:

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

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

    在介紹Adaptive Filtering 的具體流程前,首先需要了解系數內存存取的規范。

     在non-Adaptive Filtering 模式下,系數內存在miniDSP 停止運行時可通過控制端口(I2C/SPI)直接存取。在miniDSP 工作時,系數內存將被鎖定只有miniDSP 能夠存取。表3 給出了該模式下的存取規范供參考:

3. non-Adaptive Filtering 模式下系數內存的存取規范

     當啟動了Adaptive Filtering 模式,系數內存將分為Buffer-A 和Buffer-B 兩塊,兩塊內存內容完全一致,相互備份。miniDSP 工作時將鎖定Buffer-A 或者Buffer-B 其中的一個,從中獲取參數信息??刂贫丝冢↖2C 或SPI)只可以讀寫未鎖定的另一塊Buffer。表4 給出了該模式下的存取規范供參考:

4. Adaptive Filtering 模式下系數內存的存取規范

    為了簡化Buffer 切換的操作,在miniDSP 運行時,控制端口訪問系數內存的地址均映射到未鎖定的Buffer 內。例如控制端口向鎖定Buffer-A 某地址寫入的參數將直接更新未鎖定Buffer-B 內的鏡像參數。這個設置允許用戶在切換Buffer 后無需修改寫入地址即可向釋放出來的Buffer 內存更新參數。注意在miniDSP 停止運行的時候,Buffer-A 和Buffer-B 的頁面地址均恢復正常模式,用戶需使用它們各自的地址進行參數更新。

2.4 Adaptive Filtering 控制流程

    本節詳細介紹了如何使用Adaptive Filtering 功能來進行系數內存內參數的更新操作。附錄A 給出了推薦的Adaptive Filtering 更新參數操作時序圖供參考。

2.4.1miniDSP 停止時的參數更新流程

    如2.3 節所示,在miniDSP 停止運行時,控制端口可以存取所有的系數內存地址(Buffer-A 和 Buffer-B)。則該模式下參數更新的流程為:

1. 通過控制接口直接向Buffer-A 寫入新參數。

2. 切換到Buffer-B 所在頁面,向Buffer-B 寫入同樣參數。使Buffer-A 和Buffer-B 保持同步。

    以AIC3254 為例,若需要更新的參數在miniDSP-A 的Buffer-A 內,其地址為p8_r44,新參數值為0xAB。則更新流程為:

1. 向p8_r44 寫入新參數0xAB。

2. 向p26_r44 寫入新參數0xAB。(p26_r44 是p8_r44 的鏡像寄存器)

2.4.2miniDSP 運行時的參數更新流程

    miniDSP 運行時,系數內存的其中一個Buffer 被miniDSP 鎖定,控制端口無法直接修改該Buffer內的參數。用戶需要先更新未鎖定Buffer 內的參數,然后通知miniDSP 切換Buffer 來使用新的參數。切換后原先被鎖定的Buffer 將被釋放,用戶需要對它更新相同的參數以確保兩塊Buffer 的參數同步。

在miniDSP 運行時,系數內存參數更新的流程如下:

1. 通過控制端口向目標寄存器更新參數。

2. 向Adaptive Filtering 寄存器寫入Buffer 切換命令。

3. 回讀Adaptive Filtering 寄存器狀態位,判斷Buffer 切換是否完成。

4. 確認切換完成后,再次向目標寄存器更新參數確保Buffer-A 和Buffer-B 參數同步。

    以AIC3254 為例,若需要更新的參數在miniDSP-A 的Buffer-A 內,其地址為p8_r44,新參數值為0xAB。則更新流程為:

1. 向p8_r44 寫入新參數0xAB。

2. 將p8_r1_d0,Adaptive Filtering 寄存器的D0 位置1,執行Buffer 切換操作。

3. 回讀p8_r1_d0,Adaptive Filtering 寄存器狀態位,判斷Buffer 切換是否完成。

4. 確認切換完成后,再次向目標寄存器p8_r44 更新參數0xAB,確保Buffer-A 和Buffer-B參數同步。

3 總結

    本文詳細介紹了miniDSP Codec 的Adaptive Filtering 功能的使用方法,并以AIC3254 為例給出了詳細的操作步驟和示例代碼。在實際使用中,用戶需要注意準確的獲取并判斷miniDSP 工作狀態,選擇正確的操作流程來完成參數的切換和更新。

參考文獻

1. TLV320AIC3254, Ultra Low Power Stereo Audio Codec With Embedded miniDSP-Data sheet (SLAS549)

2. Design and Configuration Guide for the TLV320AIC3204 & TLV320AIC3254 Audio Codec (SLAA404C)

3. Coefficient RAM Access Mechanisms (SLAA425A)

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          美女性感视频久久久| 国产手机视频一区二区| 亚洲高清av在线| 亚洲淫片在线视频| 亚洲欧美制服另类日韩| 在线日韩视频| 欧美—级在线免费片| 欧美深夜影院| 久久精品在线| 在线观看亚洲一区| 欧美精品激情在线观看| 亚洲人成小说网站色在线| 亚洲伦理在线| 欧美影院成年免费版| 老司机aⅴ在线精品导航| 黄色成人在线免费| 亚洲精品久久久一区二区三区| 亚洲第一精品久久忘忧草社区| 日韩图片一区| 欧美激情乱人伦| 欧美一区二区视频在线观看2020| 亚洲国产精品久久久| 国产欧美1区2区3区| 亚洲国产欧美日韩精品| 午夜精品久久一牛影视| 亚洲精品孕妇| 亚洲免费在线视频| 国产精品久久毛片a| 欧美性生交xxxxx久久久| 在线欧美小视频| 亚洲国产日韩欧美综合久久| 狠狠色丁香婷婷综合影院| 欧美日韩你懂的| 国产三级欧美三级| 欧美激情91| 欧美日韩hd| 亚洲尤物视频网| 国产免费一区二区三区香蕉精| 国产精品入口尤物| 一区二区av在线| 欧美性猛交99久久久久99按摩| 妖精视频成人观看www| 国产欧美在线观看一区| 亚洲视频在线看| 欧美婷婷在线| 国产精品久久久久久久久久久久久久| 欧美一区亚洲一区| 亚洲麻豆国产自偷在线| 久久久五月天| 国产综合视频在线观看| 国产精品视频第一区| 性做久久久久久免费观看欧美| 欧美日韩国产综合在线| 在线观看欧美视频| 欧美一区二区三区电影在线观看| 亚洲精品免费网站| 男男成人高潮片免费网站| 国产一区在线视频| 亚洲视频一区二区免费在线观看| 一区在线视频| 一区二区欧美日韩视频| 免费在线亚洲| 亚洲黄色尤物视频| 日韩网站在线观看| 国产精品极品美女粉嫩高清在线| 亚洲欧洲日产国产网站| 亚洲国产美国国产综合一区二区| 在线免费观看日本欧美| 久久经典综合| 亚洲国产精品精华液网站| 免费不卡中文字幕视频| 欧美在线资源| 欧美高清成人| 亚洲精品一区二区三区婷婷月| 国产精品欧美久久久久无广告| 亚洲毛片av在线| 99re8这里有精品热视频免费| 亚洲日本免费电影| 国产精品xxxxx| 欧美午夜一区二区| 亚洲国产综合在线| 欧美国产精品一区| 亚洲一区二区三区精品在线| 亚洲欧洲99久久| 亚洲丶国产丶欧美一区二区三区| 国产午夜久久久久| 国产精品日韩一区二区| 国产精品久久久久久久7电影| 亚洲女人天堂av| 欧美亚洲一区二区在线| 欧美国产日韩一区| 亚洲激情电影在线| 欧美视频在线免费| 国产色视频一区| 永久久久久久| 亚洲欧洲99久久| 国产裸体写真av一区二区| 欧美色欧美亚洲高清在线视频| 狠狠色狠色综合曰曰| 亚洲狠狠丁香婷婷综合久久久| 欧美在线综合| 一区二区三区波多野结衣在线观看| 欧美日韩免费高清一区色橹橹| 欧美成人午夜免费视在线看片| 国产一级精品aaaaa看| 国产精品专区一| 久久久精品国产99久久精品芒果| 亚洲影视在线播放| **网站欧美大片在线观看| 亚洲国产黄色| 国产美女在线精品免费观看| 91久久精品美女| 国精产品99永久一区一区| 久久久久久国产精品一区| 国产一区二区日韩| 一区二区欧美日韩| 亚洲一区国产一区| 亚洲午夜影视影院在线观看| 亚洲一区观看| 激情视频一区二区三区| 亚洲欧美视频在线| 亚洲一二三区精品| 亚洲一区在线播放| 国产在线一区二区三区四区| 国产一区二区三区日韩| 99热在线精品观看| 亚洲男人第一av网站| 国产日本欧美一区二区三区在线| 一区二区三区我不卡| 久久精品中文字幕一区二区三区| 午夜亚洲福利在线老司机| 欧美日本一道本在线视频| 欧美成人免费全部观看天天性色| 夜夜精品视频| 亚洲黄色免费网站| 国产日韩欧美在线观看| 一区二区三区在线视频观看| 亚洲国产裸拍裸体视频在线观看乱了中文| 欧美激情片在线观看| 亚洲精华国产欧美| 国产精品a久久久久久| 欧美激情一区二区三级高清视频| 亚洲欧洲一二三| 国产欧美精品一区| 欧美午夜精品电影| 欧美日韩伦理在线免费| 欧美在线观看天堂一区二区三区| 久久免费视频这里只有精品| 欧美黄色小视频| 老司机成人在线视频| 国产视频一区二区三区在线观看| 欧美激情久久久| 午夜精品影院| 中文成人激情娱乐网| 亚洲日本va在线观看| 国产精品久久久久久久久久直播| 国产精品成人va在线观看| 亚洲欧美国产精品va在线观看| 亚洲国产精品一区二区第四页av| 在线观看91精品国产入口| 久久精品官网| 欧美激情亚洲国产| 国产精品一区二区三区四区五区| 国产精品美女久久久| 一区二区三区在线免费观看| 伊人久久男人天堂| 欧美成人免费在线观看| 欧美日韩国产a| 久久视频一区二区| 亚洲国产天堂久久综合| 亚洲一区二区三区久久| 香蕉久久一区二区不卡无毒影院| 国产亚洲午夜高清国产拍精品| 欧美激情网友自拍| 亚洲精品综合| 最新成人av在线| 一区二区三区欧美在线| 久久九九有精品国产23| 亚洲国产一区在线| 亚洲日本中文字幕免费在线不卡| 亚洲天堂av在线免费观看| 最新日韩在线视频| 欧美顶级少妇做爰| 久久久最新网址| 欧美色视频日本高清在线观看| 国产在线播放一区二区三区| 亚洲欧美国内爽妇网| 美女性感视频久久久| 悠悠资源网亚洲青| 亚洲国产精品一区二区尤物区| 欧美福利小视频| 国产一区二区三区在线观看精品| 亚洲欧美变态国产另类| 亚洲国产一区二区三区a毛片| 欧美精品一区二区在线观看| 亚洲福利视频网| 亚洲精品一区二区在线| 欧美精品久久一区| 国产欧美日本一区二区三区| 亚洲欧洲精品一区二区精品久久久| 欧美大片va欧美在线播放| 好吊视频一区二区三区四区| 亚洲第一区中文99精品| 欧美一级二区| 欧美日韩性视频在线| 你懂的一区二区| 欧美专区中文字幕| 久久久91精品国产一区二区三区| 久久九九热免费视频| 免费精品视频| 欧美高潮视频| 国产精品一二三视频| 狠狠色噜噜狠狠狠狠色吗综合| 伊人久久大香线蕉综合热线| 亚洲国产精彩中文乱码av在线播放| 久久久久国产精品麻豆ai换脸| 久久久精品午夜少妇| 伊人精品久久久久7777| 久久免费国产| 欧美在线免费观看亚洲| 欧美日韩亚洲综合| 日韩一区二区精品在线观看| 亚洲欧美另类久久久精品2019| 欧美一区二区三区久久精品| 久久gogo国模啪啪人体图| 欧美电影电视剧在线观看| 欧美激情久久久久久| 欧美在线中文字幕| 免费成年人欧美视频| 久久福利毛片| 韩国精品主播一区二区在线观看| 国产精品看片你懂得| 欧美一区二区日韩一区二区| 亚洲少妇中出一区| 18成人免费观看视频| 这里只有精品视频| 欧美精品久久久久久久| 欧美电影免费观看网站| 国产精品色午夜在线观看| 性色av香蕉一区二区| 国产精品腿扒开做爽爽爽挤奶网站| 国产精品久久久久久久久久ktv| 亚洲高清网站| 国内精品福利| 亚洲电影免费观看高清完整版在线观看| 久久综合九色综合久99| 欧美二区在线观看| 在线综合视频| 欧美在线日韩在线| 宅男精品视频| 久久精品欧美日韩精品| 一区二区三区.www| 亚洲精选久久| 伊人影院久久| 国产亚洲一区在线| 亚洲国产欧美日韩另类综合| 国产日韩欧美综合精品| 在线亚洲+欧美+日本专区| 欧美日韩一区在线视频| 亚洲欧美大片| 亚洲丶国产丶欧美一区二区三区| 亚洲欧洲在线视频| 亚洲欧美另类在线观看| 国产日韩三区| 国产精品久久久久久久电影| 国产精品av久久久久久麻豆网| 亚洲在线不卡| 久久精品一区蜜桃臀影院| 亚洲高清不卡在线观看| 亚洲——在线| 亚洲精品欧美专区| 欧美日韩国产在线观看| 欧美一级片久久久久久久| 影音先锋日韩有码| 亚洲在线播放电影| 欧美专区福利在线| 国产精品成人午夜| 国产精品久久久久久久久免费桃花| 韩国精品久久久999| 老司机精品视频一区二区三区| 久久永久免费| 毛片精品免费在线观看| 国产精品99久久久久久www| 国产精品乱人伦一区二区| 欧美偷拍另类| 性欧美长视频| 亚洲国产精品久久久久秋霞影院| 久久精品中文字幕一区| 国产精品成人一区二区艾草| 国产精品免费一区二区三区观看| 久久国产精品一区二区三区四区| 欧美日韩色婷婷| 欧美视频专区一二在线观看| 欧美日韩一区二区三区免费| 久久久国产精品一区二区中文| 久久亚洲国产精品日日av夜夜| 国产精品久久久久久影视| 99热精品在线观看| 欧美极品一区二区三区| 久久一区欧美| 亚洲视频在线观看| 久久成人精品视频| 欧美一区二区三区在| 国产精品久久久久久久久久免费看| 亚洲国产一区在线观看| 欧美激情久久久久久| 久久综合中文色婷婷| 久久国产一二区| 女女同性女同一区二区三区91| 欧美在线免费| 亚洲国产日韩在线一区模特| 国产乱码精品一区二区三区五月婷| 欧美黄网免费在线观看| 性色av一区二区三区红粉影视| 一区二区三区日韩欧美精品| 久久综合精品国产一区二区三区| 国外成人免费视频| 亚洲国产精品综合| 在线一区二区视频| 亚洲欧美日韩一区二区三区在线| 久久精品亚洲精品| 牛夜精品久久久久久久99黑人| 午夜欧美大尺度福利影院在线看| 亚洲国产免费| 国产精品乱人伦中文| 亚洲欧美一区二区三区极速播放| 一区二区三区黄色| 一本色道久久加勒比88综合|