TLV320AIC23芯片的介紹與應(yīng)用實(shí)驗(yàn)(.ppt_第1頁
TLV320AIC23芯片的介紹與應(yīng)用實(shí)驗(yàn)(.ppt_第2頁
TLV320AIC23芯片的介紹與應(yīng)用實(shí)驗(yàn)(.ppt_第3頁
TLV320AIC23芯片的介紹與應(yīng)用實(shí)驗(yàn)(.ppt_第4頁
TLV320AIC23芯片的介紹與應(yīng)用實(shí)驗(yàn)(.ppt_第5頁
已閱讀5頁,還剩77頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第5章立體聲芯片TLV320AIC23的應(yīng)用 5 1TLV320AIC23芯片介紹5 2TLV320AIC23應(yīng)用實(shí)驗(yàn) 5 1 1TLV320AIC23特點(diǎn)介紹TLV320AIC23是TI公司生產(chǎn)的具有高度完整模擬功能的高性能立體聲音頻編解碼芯片 數(shù) 模轉(zhuǎn)換和模 數(shù)轉(zhuǎn)換采用采樣數(shù)字插值濾波器 轉(zhuǎn)換數(shù)據(jù)長度可以是16 20 24和32位 采樣速率8kHz 96kHz TLV320AIC23是便攜數(shù)字音頻播放和錄音設(shè)備的理想模擬輸入 輸出芯片 其主要的特點(diǎn)有 5 1TLV320AIC23芯片介紹 高性能的立體聲編解碼芯片 90dB信噪比A D轉(zhuǎn)換器 采樣頻率48kHz 100dB信噪比D A轉(zhuǎn)換器 采樣頻率48kHz 1 42 3 6V數(shù)字內(nèi)核供電 和TI公司DSP內(nèi)核供電電壓兼容 2 7 3 6V緩沖和模擬供電 8 96kHz采樣速率 軟件控制通過TIMcBSP支持多種串行通信協(xié)議 兼容2線和SPI串行通信協(xié)議 能直接和TIMcBSPs相連 音頻數(shù)據(jù)輸入 輸出是可編程音頻接口 兼容TIMcBSP I2C兼容協(xié)議只需要一個(gè)McBSP為A D和D A進(jìn)行通信 標(biāo)準(zhǔn)的I2C 高位或低位數(shù)據(jù)填充傳輸 16 20 24 32位數(shù)據(jù)長度 具有完整的駐極體麥克風(fēng)偏置電路和緩沖 低噪聲麥克風(fēng)偏置引腳為駐極體電容提供偏置電壓 其典型值等于3 4AVDD 有可調(diào)的 增益為1 5的運(yùn)放緩沖器 控制寄存器可選擇增益為0dB或20dB 立體聲輸入 可編程增益 有模擬旁路 A D轉(zhuǎn)換器有多個(gè)輸入 可以是立體聲道或麥克風(fēng) 立體聲輸出 注 模擬混合器可以把D A轉(zhuǎn)換器和模擬旁路混合起來 模擬量控制可以禁止 高效率的耳機(jī)放大器 模擬供電電壓為3 3V時(shí) 負(fù)載為32 輸出功率為30mW 靈活的電源管理 全部可以軟件控制 在回放模式功耗23mW 備用模式功耗小于150 W 掉電模式小于15 W 5 1 2TLV320AIC23芯片內(nèi)部結(jié)構(gòu)框圖和引腳安排1 TLV320AIC23芯片的內(nèi)部結(jié)構(gòu)TLV320AIC23芯片的內(nèi)部結(jié)構(gòu)框圖如圖5 1所示 圖5 1TLV320AIC23芯片的內(nèi)部結(jié)構(gòu)框圖 2 TLV320AIC23的引腳安排TLV320AIC23芯片的引腳安排如圖5 2所示 表5 1給出了TLV320AIC23芯片的引腳功能 可參閱參考文獻(xiàn) 10 圖5 2PW封裝的引腳安排 表5 1TLV320AIC23芯片的引腳功能說明 5 1 3TLV320AIC23與C5509的硬件連接TLV320AIC23與C5509的硬件連接如圖5 3所示 J5為麥克風(fēng)輸入 J6為立體聲線性輸入 J7為耳機(jī)輸出 J8為立體聲線性輸出 在模擬電路設(shè)計(jì)部分 麥克風(fēng)輸入信號經(jīng)過電容C52 C55和電阻R75組成的濾波電路 立體聲線性輸入使用1 2分壓電路和隔直流電容 耳機(jī)線和音頻線輸出使用電容進(jìn)行隔直流 圖5 3TLV320AIC23與C5509的硬件連接圖 AIC23控制接口和C5509的I2C接口相連 將AIC23串行控制接口模式設(shè)成I2C模式 即22腳經(jīng)過一個(gè)電阻后接地 數(shù)據(jù)輸出 輸入接口和C5509的McBSP0相連接 5 2 1實(shí)驗(yàn)?zāi)康?了解C55xDSPI2C接口 McBSP接口 了解立體聲芯片TLV320AIC23 學(xué)習(xí)I2C接口 McBSP接口 AIC23的初始化 學(xué)習(xí)中斷處理 5 2TLV320AIC23應(yīng)用實(shí)驗(yàn) 5 2 2實(shí)驗(yàn)設(shè)備 PC兼容機(jī)一臺 操作系統(tǒng)為Windows2000 或WindowsNT4 0 Windows98 WindowsXP 計(jì)算機(jī)已經(jīng)安裝CCSv3 1集成環(huán)境軟件 DSP仿真器ICETEK 5100USBV2 0A一個(gè) DSP目標(biāo)板ICETEK VC5509 A一塊 麥克風(fēng) 耳機(jī)及相應(yīng)的音頻線若干 5 2 3實(shí)驗(yàn)要求用CCS集成仿真環(huán)境完成建立工程 源文件和命令文件 保存和添加文件到工程 編譯 鏈接 運(yùn)行和調(diào)試等 使用不同的視窗觀察寄存器和存儲器空間的數(shù)據(jù)內(nèi)容以及輸出波形的時(shí)域和頻域圖等 5 2 4實(shí)驗(yàn)步驟1 實(shí)驗(yàn)準(zhǔn)備參照第2章 若使用的仿真器不同 請參照其他相關(guān)資料 對CCS硬件仿真進(jìn)行設(shè)置 在斷電情況下將仿真器和目標(biāo)板相連 再將仿真器和計(jì)算機(jī)相連 將音頻線連接 一端接到目標(biāo)板的音頻輸入端J6 另一端接到電腦聲卡輸出端或別的音頻輸出端 將麥克風(fēng)接到麥克風(fēng)輸入端子J5 將耳機(jī)線接到耳機(jī)輸出端子J7 給目標(biāo)板供上電 啟動CCS 使用CCS連接仿真器 2 新建立工程和相應(yīng)的源文件 命令文件新建五個(gè) asm匯編源文件和一個(gè)命令文件 這些文件名讀者可以自己命名 也可以參照圖5 4進(jìn)行命名 其中除了在本章5 2 5小節(jié)中的四個(gè) asm程序和一個(gè)命令文件外 還含有在第2章2 2 5小節(jié)中的 2 SDRAM asm初始化程序 分別輸入這些程序 保存這些文件并把它們添加到工程項(xiàng)目中 如圖5 4所示 圖5 4工程界面 3 編譯鏈接工程對工程進(jìn)行編譯鏈接 在編譯鏈接過程中如果有錯(cuò)誤 需要進(jìn)行修改 直至無錯(cuò)誤提示信息為止 編譯成功后 裝載輸出文件 4 全速運(yùn)行程序在主菜單中選擇Debug Run命令 也可以點(diǎn)擊或按F5鍵 運(yùn)行程序 使用電腦播放器播放音樂 戴上耳機(jī) 可以聽到音樂和麥克風(fēng)的聲音 5 觀察音頻信號的時(shí)域圖在主菜單中選擇Debug Halt命令 也可以點(diǎn)擊或按Shift F5鍵 暫停觀察某一時(shí)刻的波形 從CCSView觀察窗打開圖形屬性對話框 如圖5 5所示 參照其對話框進(jìn)行相應(yīng)修改 修改好后點(diǎn)擊OK確認(rèn) 則可以看到如圖5 6所示的波形圖 圖形上半部分為左聲道聲音的波形 下半部分為右聲道聲音的波形 圖5 5圖形屬性對話框 圖5 6圖形觀察窗口中的左 右聲道聲音波形 5 2 5參考程序清單1 主程序 mmregs def c int00 定義符號 c int00為主程序入口 defmcbsp0 init 定義McBSP0接口初始化子程序入口 defdata w r 定義變量data w r refsdram init 引用外部符號sdram init為SDRAM初始化子程序入口 refi2c init 引用外部符號i2c init為I2C初始化子程序入口 refi2c disable 引用外部符號i2c disable refi2c write 引用外部符號i2c write為總線寫 refi2c read 引用外部符號i2c read為總線讀 refclkmd init 引用外部符號clkmd init為時(shí)鐘模塊初始化子程序入口 refaic23init 引用外部符號aic23init為AIC23模塊初始化子程序入口 mcbsp0 pdp set2800h 128 McBSP0寄存器所在數(shù)據(jù)頁地址drr2 set0h 數(shù)據(jù)接收寄存器2drr1 set1h 數(shù)據(jù)接收寄存器1dxr2 set2h 數(shù)據(jù)發(fā)送寄存器2dxr1 set3h 數(shù)據(jù)發(fā)送寄存器1spcr2 set4h 串口控制寄存器2 spcr1 set5h 串口控制寄存器1rcr2 set6h 接收控制寄存器2rcr1 set7h 接收控制寄存器1xcr2 set8h 發(fā)送控制寄存器2xcr1 set9h 發(fā)送控制寄存器1srgr2 set0ah 采樣率產(chǎn)生寄存器2srgr1 set0bh 采樣率產(chǎn)生寄存器1mcr2 set0ch 多通道控制寄存器2 mcr1 set0dh 多通道控制寄存器1rcera set0eh 接收通道使能寄存器A區(qū)rcerb set0fh 接收通道使能寄存器B區(qū)xcera set10h 發(fā)送通道使能寄存器A區(qū)xcerb set11h 發(fā)送通道使能寄存器B區(qū)pcr set12h 引腳控制寄存器rcerc set13h 接收通道使能寄存器C區(qū)rcerd set14h 接收通道使能寄存器D區(qū) xcerc set15h 發(fā)送通道使能寄存器C區(qū)xcerd set16h 發(fā)送通道使能寄存器D區(qū)rcere set17h 接收通道使能寄存器E區(qū)rcerf set18h 接收通道使能寄存器F區(qū)xcere set19h 發(fā)送通道使能寄存器E區(qū)xcerf set1ah 發(fā)送通道使能寄存器F區(qū)rcerg set1bh 接收通道使能寄存器G區(qū)rcerh set1ch 接收通道使能寄存器H區(qū) xcerg set1dh 發(fā)送通道使能寄存器G區(qū)xcerh set1eh 發(fā)送通道使能寄存器H區(qū)spcr1 rrdy set02h 串口控制寄存器對應(yīng)位length set256 16位左 右 聲道循環(huán)緩沖區(qū)長度 bssdata w r 2 為變量預(yù)留2字空間 bssleft 512 為左聲道預(yù)留512字空間 bssright 512 為右聲道預(yù)留512字空間 STACK usect stack 200h 為數(shù)據(jù)堆棧預(yù)留512個(gè)字空間SYSSTACK usect sysstack 200h 為系統(tǒng)堆棧預(yù)留512個(gè)字空間 sect vectors rsv resetvectorB c int00 branchtoCentrypointNOP align8 text c int00 amov 0 xdp 數(shù)據(jù)頁指針xdp指向 零頁 CPU存儲器映射寄存器amov STACK 200h xsp 指針xsp指向數(shù)據(jù)堆棧底部amov SYSSTACK 200h xssp 指針xssp指向系統(tǒng)堆棧底部 initinterruptbsetintm colseinterupt 關(guān)全局中斷 mov 1 ivpd DSP中斷矢量指針ivpdmov 1 ivph DSP中斷矢量指針ivphmov 00h ier0 清中斷使能寄存器ier0mov 00h dbier0 清調(diào)試中斷使能寄存器dbier0mov 0 ier1 清中斷使能寄存器ier1mov 0ffffh ifr0 清中斷標(biāo)志寄存器ifr0mov 0ffffh ifr1 清中斷標(biāo)志寄存器ifr1callsdram init 調(diào)用SDRAM初始化子程序callclkmd init 調(diào)用時(shí)鐘模塊初始化子程序 calli2c init 調(diào)用I2C初始化子程序callaic23init 調(diào)用AIC23初始化子程序callmcbsp0 init 調(diào)用McBSP0初始化子程序mov mcbsp0 pdp pdp 當(dāng)前數(shù)據(jù)頁指向McBSP0寄存器wait rx btst spcr1 rrdy port spcr1 tc1 測試串口控制寄存器RFULL位狀態(tài)送tc1 bccwait rx tc1 判斷接收器是否滿 若tc1 1 則接收器滿 有新數(shù)據(jù) 未讀 可以接收數(shù)據(jù) 否則tc1 0 等待movport drr2 ac1 從DR引腳接收左聲道16位數(shù)據(jù)movport drr1 ac0從DR引腳接收右聲道16位數(shù)據(jù)movac0 port dxr1 向DX引腳發(fā)送右聲道16位數(shù)據(jù)movac1 port dxr2 向DX引腳發(fā)送左聲道16位數(shù)據(jù)amov left length 1 xar6 讓xar6指向左聲道數(shù)據(jù)空間尾地址rpt length 1 左聲道每個(gè)數(shù)據(jù)依次向下一個(gè)地址復(fù)制 delay ar6 amov left xar6 讓xar6指向左聲道數(shù)據(jù)空間首地址movac1 ar6 左聲道輸入新數(shù)據(jù)amov right length 1 xar7 讓xar7指向右聲道數(shù)據(jù)空間尾地址rpt length 1 右聲道每個(gè)數(shù)據(jù)依次向下一個(gè)地址復(fù)制delay ar7 amov right xar7 讓xar7指向右聲道數(shù)據(jù)空間首地址 movac0 ar7 右聲道輸入新數(shù)據(jù)bwait rx 循環(huán)準(zhǔn)備再次傳送數(shù)據(jù)ends b mcbsp0 init slavemodeamov 0 xdpmov mcbsp0 pdp pdp mov 0 port spcr1 PuttheMcBSP0inresetmov 0 port spcr2 mov 0a0h port xcr1 Configframeparameters32bitmov 0h port xcr2 Singlephase nodelaymov 0a0h port rcr1 Configframeparameters32bitmov 0h port rcr2 Singlephase nodelay Framesyncisactivehighmov 03h port pcr dataclockedonrisingedgeofclkxmov 01h port spcr1 Outofreset RRDY 1mov 01h port spcr2 XRDY 1ret end 2 時(shí)鐘模式寄存器CLKMD初始化程序 defpllmult defclkmd init mmregsclkmd set0 x1c00 時(shí)鐘模式寄存器地址clk in set12cpu clk set144pllmult setcpu clk 2 clk in pllmult 31 ress set0 15iai set0b 14iob set1b 13test set0b 12pll mult set00000b 7pll div set01b 5 Divideby2pll enable set0b 4bypass div set00b 2 breakln set0b 1lock b set0b 0k clkmd setress iai iob test pll mult pll div pll enable bypass div breakln lock b c int00 text clkmd init amov clkmd xar1movport ar1 ac0and 0ffefh ac0 pll enable 0movac0 port ar1 loop1 movport ar1 ar0 Readclkmdand 1 ar0bccloop1 ar0 0 lock b 0 mov pllmult 128 ac0mov 31 128 ac1 Ifpllmult 31 plmult 31minac1 ac0or k clkmd ac0 movac0 port ar1 movport ar1 ac0or 10h ac0 pll enable 1movac0 port ar1 rpt 30000nop 16nop loop2 movport ar1 ar0 Readclkmdand 1 ar0bccloop2 ar0 1 lock b 0 ret end 3 C5509I2C接口初始化程序 mmregs defi2c init defi2c disable defi2c write defi2c read refpllmulticoar set0 x3c00 I2C主地址寄存器icimr set0 x3c01 I2C中斷屏蔽寄存器icstr set0 x3c02 I2C狀態(tài)寄存器 icclkl set0 x3c03 I2C時(shí)鐘驅(qū)動寄存器低位icclkh set0 x3c04 I2C時(shí)鐘驅(qū)動寄存器高位iccnt set0 x3c05 I2C數(shù)據(jù)計(jì)數(shù)器icdrr set0 x3c06 I2C數(shù)據(jù)接收寄存器icsar set0 x3c07 I2C從地址寄存器icdxr set0 x3c08 I2C數(shù)據(jù)發(fā)送寄存器icmdr set0 x3c09 I2C模式寄存器icivr set0 x3c0a I2C中斷矢量寄存器icgpio set0 x3c0b 保留位 通用I O icpsc set0 x3c0c I2C預(yù)定標(biāo)寄存器 bitofi2cmoderegistericmdr free set14icmdr stt set13icmdr idleen set12icmdr stp set11icmdr mst set10icmdr trx set9icmdr xa set8icmdr rm set7 icmdr dlb set6icmdr irs set5icmdr stb set4icmdr fdf set3icmdr bc mask set0 bitofi2cstatusregistericstr nacksnt set13icstr bb set12icstr rsfull set11 icstr xsmt set10icstr aas set9icstr ad0 set8icstr res2 set7icstr res1 set6icstr res0 set5icstr xrdy set4icstr rrdy set3icstr ardy set2icstr nack set1 icstr al set0icoar oaddr set0 x007f texti2c init mov icoar 128 pdp I2C主地址寄存器頁地址送pdp作為當(dāng)前頁mov 0h port icmdr Clearicmdrmov 0 port icimr Disableallinterrupt moduleclockfrequncy cpu clk ipsc 1 mov pllmult ar0mov 31 ar1 Ifpllmult 31 plmult 31minar1 ar0movar0 port icpsc masterclockfrequeny moduleclockfrequnecy icclkl d icclkh d mov 10 port icclkl mov 10 port icclkh mov icoar oaddr port icoar icmdr irs 1 icmdr mst 1 TakeI2Ccontrolleroutofreset putinmastermodemovport icmdr ac0or 1 icmdr irs ac0or 1 icmdr mst ac0movac0 port icmdr ret i2c disable PutI2Ccontrollerinresetmov icoar 128 pdpmovport icmdr ac0mov 1 icmdr irs ac1negac1andac1 ac0movac0 port icmdr ret i2c write Writedatatoslavedevice ar0isstoredcounterofdata ar1isstoredfirstdataaddress ar2isstoredslaveaddressmov icoar 128 pdpmovar0 port iccnt addar1 ar0 ar0pointtotheendmovar2 port icsar Slavedeviceaddressamov icdxr xar3movport icmdr ac0bset icmdr stt ac0 Startbit 1bset icmdr stp ac0 Stopbit 1bset icmdr trx ac0 Transmittermodebit 1 transmittermodemovac0 port icmdr tx data mov ar1 port ar3 wait tx btst icstr xrdy port icstr tc1bccwait tx tc1 tc1 0 waitcmpar0 ar1 tc1bcctx data tc1ret i2c read readdatatoslavedevice ar0isstoredcounterofdata ar1isstoredfirstdataaddress ar2isstoredslaveaddressmov icoar 128 pdpmovar0 port iccnt addar1 ar0 ar0pointtotheend movar2 port icsar Slavedeviceaddressamov icdrr xar3movport icmdr ac0bset icmdr stt ac0 Startbit 1bset icmdr stp ac0 stopbit 1bclr icmdr trx ac0 transmittermodebit 0 receivemodemovac0 port icmdr read data movport ar3 ar1 wait read btst icstr xrdy port icstr tc1bccwait read tc1 tc1 0 waitcmpar0 ar1 tc1bccread data tc1ret end 4 aic23初始化程序 defaic23init refi2c write refdata w r bit15 bit9AIC23 LT LINE CTL set0 x0 左聲道 輸入數(shù)據(jù)空間 控制寄存器地址AIC23 RT LINE CTL set0 x1 右聲道 輸入數(shù)據(jù)空間 控制寄存器地址 AIC23 LT HP CTL set0 x2 左耳機(jī)聲道 輸入數(shù)據(jù)空間 控制寄存器地址AIC23 RT HP CTL set0 x3 右耳機(jī)聲道 輸入數(shù)據(jù)空間 控制寄存器地址AIC23 ANALOG AUDIO CTL set0 x4 模擬通道控制寄存器地址AIC23 DIGITAL AUDIO CTL set0 x5 數(shù)字通道控制寄存器地址AIC23 POWER DOWN CTL set0 x6 電源控制寄存器地址 AIC23 DIGITAL IF FORMAT set0 x7 數(shù)字音頻接口格式化寄存器地址AIC23 SAMPLE RATE CTL set0 x8 采樣率控制寄存器地址AIC23 DIG IF ACTIVATE set0 x9 數(shù)字接口有效寄存器地址AIC23 RESET REG set0 x0f Writing0tothisregtriggersreset bit8 bit0 lt ch vol ctrl set0 x0017 0rt ch vol ctrl set0 x0017 1lt ch headph ctrl set0 x007f 2rt ch headph ctrl set0 x007f 3alog au path ctrl set0 x0031 4digi au path ctrl set0 x0000 5pow mgt ctrl ctrl set0 x0000 6digi au intf ctrl set0 x0043 7 au FS TIM ctrl set0 x0023 8MCLK 12MHz SampleRatesetting44 1kHzdigi intf1 ctrl set0 x0001 9slave aic23 set0011010b cs 0 textaic23init i2cwriteAIC23register ResettheAIC23mov AIC23 RESET REG 512 ac0add 0h ac0callaic23 write turnonallpowermov AIC23 POWER DOWN CTL 512 ac0add pow mgt ctrl ctrl ac0callaic23 write DACenable inselline Microphonenormalmov AIC23 ANALOG AUDIO CTL 512 ac0add alog au path ctrl ac0callaic23 write setingDigitalAudioPathControlmov AIC23 DIGITAL AUDIO CTL 512 ac0add digi au path ctrl ac0callaic23 write Turnonvolumeforlineinputsmov AIC23 LT LINE CTL 512 ac0add lt ch vol ctrl ac0callaic23 writemov AIC23 RT LINE CTL 512 ac0add rt ch vol ctrl ac0callaic23 write Configu

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論