基于DDK的TLV320AIC23型編解碼器的驅(qū)動(dòng)設(shè)計(jì)
發(fā)布時(shí)間:2008/5/27 0:00:00 訪問次數(shù):592
    
    
    來源:國外電子元器件 作者:范學(xué)鋒 吳成柯
    
    摘 要:以tl的dm642 evm板為例,介紹基于ddk的tlv320aic23型編***驅(qū)動(dòng)程序設(shè)計(jì)的一般方法。針對常用的需求,給出三種實(shí)用的參數(shù)配置方法。
    
    關(guān)鍵詞: ddk:tlv320aic23;dm642;寄存器
    
    1 引言
    
    tlv320aic23是ti公司推出的一款高性能立體聲音頻編***,內(nèi)置耳機(jī)輸出放大器,支持mic和line in二選一的輸入方式。輸入和輸出都具有可編程的增益調(diào)節(jié)功能。tlv320aic23的模/數(shù)轉(zhuǎn)換器(adc)和數(shù),模轉(zhuǎn)換器(dac)集成在芯片內(nèi)部.采用先進(jìn)的σ一△過采樣技術(shù).可以在8khz至96khz的采樣率下提供16bit、20bit、24bit和32bit的采樣數(shù)據(jù)。adc和dac的輸出信噪比分別可達(dá)90db和100db。同時(shí)。tlv320aic23還具有很低的功耗(回放模式為23mw。節(jié)電模式為15μw)。上述優(yōu)點(diǎn)使得tlv320aic23成為一款非常理想的音頻編***,與ti的dsp系列相配合更是相得益彰。
    
    dsp/bios driver developer’s kit(ddk)是ti為簡化驅(qū)動(dòng)程序開發(fā)為tms320系列dsp及其evm板等提供的驅(qū)動(dòng)程序開發(fā)套件。該套件為tms320系列各種外圍器件提供完整的標(biāo)準(zhǔn)化驅(qū)動(dòng)程序模型,使得驅(qū)動(dòng)程序可以很方便地移植到其他應(yīng)用中,大大提高驅(qū)動(dòng)程序開發(fā)的效率。ddk是對每種tms320系列dsp都提供的芯片支持庫(chip support library—csl)的補(bǔ)充,csl提供對外圍器件寄存器配置及初始化等的低級控制,ddk完全通過csl來對外圍器件進(jìn)行控制。簡單地說。ddk建立在csl上層.所以用ddk來開發(fā)驅(qū)動(dòng)程序?qū)⒏鼮榭旖萸铱梢浦残愿谩?/p>
    
    ddk為開發(fā)驅(qū)動(dòng)程序定義了標(biāo)準(zhǔn)模型和一系列的api。為簡化程序設(shè)計(jì)。標(biāo)準(zhǔn)模型又被分為二個(gè)層次.其中高層稱為class driver,低層稱為mini—driver。class drivei與器件相對獨(dú)立.完成諸如緩沖區(qū)管理和請求同步等功能.同時(shí)扮演著與api和mini—driver二者接口的角色。mini—driver完成特定的器件初始化和控制功能.它符合iom(i/o mini—driver)的接口標(biāo)準(zhǔn)。ddk的這種分層結(jié)構(gòu)使得驅(qū)動(dòng)開發(fā)人員僅需了解單一的mini—driver api就可以完成整體外圍器件的驅(qū)動(dòng)設(shè)計(jì),而且這一過程比設(shè)計(jì)整個(gè)驅(qū)動(dòng)程序要簡單得多,因?yàn)閏lass driver控制了緩沖區(qū)管理和同步等。ddk提供3種class driver.分別為sio/dio、pip/pio和gio,它們都可以和任何mini—driver結(jié)合使用。
    
    
    
    2 tlv320aic23的驅(qū)動(dòng)設(shè)計(jì)基礎(chǔ)
    
    ddk的標(biāo)準(zhǔn)模型結(jié)構(gòu)如圖1所示。高層的應(yīng)用和底層驅(qū)動(dòng)相互沒有直接的關(guān)聯(lián),開發(fā)中只需通過class driver控制mini—driver。
    
    下面以dm642 evm板為例.說明基于ddk的tlv320aic23的驅(qū)動(dòng)程序設(shè)計(jì)方法。
    
    首先,需要使用配置工具建立驅(qū)動(dòng)程序的入口。在dsp/bios con_fig下的cdb文件中.依次選擇in-puffoutplut---deviee drivers→user→defined drivers.在這些例程中一般已經(jīng)添加了udevcodec.如果需要的話,用戶可以自行添加或編輯。右鍵單擊選擇properties選項(xiàng)來編輯其屬性,其屬性應(yīng)設(shè)置如下:
    
    comment:可以加入自己的注釋
    lnit function:鍵入evmdm642_edma_aic23一init
    function table ptr:鍵入 evmdm642_edma_a-ic23一fxn8
    function table type:選擇iom_fxns
    deviceid:該項(xiàng)會(huì)被自動(dòng)忽略.因?yàn)閐m642 evm板上只有一塊tlv320aic23
    device params ptr:tlv320aic23參數(shù)結(jié)構(gòu)的入口指針.使用缺省參數(shù)時(shí)設(shè)為0x0
    device global data ptr:必須設(shè)置為oxo
    
    正確配置驅(qū)動(dòng)程序入口后.就要按照需要設(shè)置相關(guān)的參數(shù)。下面具體討論tlv320aic23參數(shù)的設(shè)置。
    
    tlv320aic23的參數(shù)結(jié)構(gòu)體原型如下:
    
    typedef struct
  &nb
    
    
    來源:國外電子元器件 作者:范學(xué)鋒 吳成柯
    
    摘 要:以tl的dm642 evm板為例,介紹基于ddk的tlv320aic23型編***驅(qū)動(dòng)程序設(shè)計(jì)的一般方法。針對常用的需求,給出三種實(shí)用的參數(shù)配置方法。
    
    關(guān)鍵詞: ddk:tlv320aic23;dm642;寄存器
    
    1 引言
    
    tlv320aic23是ti公司推出的一款高性能立體聲音頻編***,內(nèi)置耳機(jī)輸出放大器,支持mic和line in二選一的輸入方式。輸入和輸出都具有可編程的增益調(diào)節(jié)功能。tlv320aic23的模/數(shù)轉(zhuǎn)換器(adc)和數(shù),模轉(zhuǎn)換器(dac)集成在芯片內(nèi)部.采用先進(jìn)的σ一△過采樣技術(shù).可以在8khz至96khz的采樣率下提供16bit、20bit、24bit和32bit的采樣數(shù)據(jù)。adc和dac的輸出信噪比分別可達(dá)90db和100db。同時(shí)。tlv320aic23還具有很低的功耗(回放模式為23mw。節(jié)電模式為15μw)。上述優(yōu)點(diǎn)使得tlv320aic23成為一款非常理想的音頻編***,與ti的dsp系列相配合更是相得益彰。
    
    dsp/bios driver developer’s kit(ddk)是ti為簡化驅(qū)動(dòng)程序開發(fā)為tms320系列dsp及其evm板等提供的驅(qū)動(dòng)程序開發(fā)套件。該套件為tms320系列各種外圍器件提供完整的標(biāo)準(zhǔn)化驅(qū)動(dòng)程序模型,使得驅(qū)動(dòng)程序可以很方便地移植到其他應(yīng)用中,大大提高驅(qū)動(dòng)程序開發(fā)的效率。ddk是對每種tms320系列dsp都提供的芯片支持庫(chip support library—csl)的補(bǔ)充,csl提供對外圍器件寄存器配置及初始化等的低級控制,ddk完全通過csl來對外圍器件進(jìn)行控制。簡單地說。ddk建立在csl上層.所以用ddk來開發(fā)驅(qū)動(dòng)程序?qū)⒏鼮榭旖萸铱梢浦残愿谩?/p>
    
    ddk為開發(fā)驅(qū)動(dòng)程序定義了標(biāo)準(zhǔn)模型和一系列的api。為簡化程序設(shè)計(jì)。標(biāo)準(zhǔn)模型又被分為二個(gè)層次.其中高層稱為class driver,低層稱為mini—driver。class drivei與器件相對獨(dú)立.完成諸如緩沖區(qū)管理和請求同步等功能.同時(shí)扮演著與api和mini—driver二者接口的角色。mini—driver完成特定的器件初始化和控制功能.它符合iom(i/o mini—driver)的接口標(biāo)準(zhǔn)。ddk的這種分層結(jié)構(gòu)使得驅(qū)動(dòng)開發(fā)人員僅需了解單一的mini—driver api就可以完成整體外圍器件的驅(qū)動(dòng)設(shè)計(jì),而且這一過程比設(shè)計(jì)整個(gè)驅(qū)動(dòng)程序要簡單得多,因?yàn)閏lass driver控制了緩沖區(qū)管理和同步等。ddk提供3種class driver.分別為sio/dio、pip/pio和gio,它們都可以和任何mini—driver結(jié)合使用。
    
    
    
    2 tlv320aic23的驅(qū)動(dòng)設(shè)計(jì)基礎(chǔ)
    
    ddk的標(biāo)準(zhǔn)模型結(jié)構(gòu)如圖1所示。高層的應(yīng)用和底層驅(qū)動(dòng)相互沒有直接的關(guān)聯(lián),開發(fā)中只需通過class driver控制mini—driver。
    
    下面以dm642 evm板為例.說明基于ddk的tlv320aic23的驅(qū)動(dòng)程序設(shè)計(jì)方法。
    
    首先,需要使用配置工具建立驅(qū)動(dòng)程序的入口。在dsp/bios con_fig下的cdb文件中.依次選擇in-puffoutplut---deviee drivers→user→defined drivers.在這些例程中一般已經(jīng)添加了udevcodec.如果需要的話,用戶可以自行添加或編輯。右鍵單擊選擇properties選項(xiàng)來編輯其屬性,其屬性應(yīng)設(shè)置如下:
    
    comment:可以加入自己的注釋
    lnit function:鍵入evmdm642_edma_aic23一init
    function table ptr:鍵入 evmdm642_edma_a-ic23一fxn8
    function table type:選擇iom_fxns
    deviceid:該項(xiàng)會(huì)被自動(dòng)忽略.因?yàn)閐m642 evm板上只有一塊tlv320aic23
    device params ptr:tlv320aic23參數(shù)結(jié)構(gòu)的入口指針.使用缺省參數(shù)時(shí)設(shè)為0x0
    device global data ptr:必須設(shè)置為oxo
    
    正確配置驅(qū)動(dòng)程序入口后.就要按照需要設(shè)置相關(guān)的參數(shù)。下面具體討論tlv320aic23參數(shù)的設(shè)置。
    
    tlv320aic23的參數(shù)結(jié)構(gòu)體原型如下:
    
    typedef struct
  &nb
熱門點(diǎn)擊
- 擴(kuò)頻通信系統(tǒng)的FPGA實(shí)現(xiàn)
- 藍(lán)牙基帶控制器芯片MT1020A及其應(yīng)用.
- 機(jī)頂盒中智能卡通信的實(shí)現(xiàn)
- 射頻卡基站芯片U2270B的原理及應(yīng)用
- 基才HDLC協(xié)議的SDH傳輸系統(tǒng)板間通信的設(shè)
- 基于DDS和FPGA技術(shù)的高動(dòng)態(tài)擴(kuò)頻信號源的
- IP電話的網(wǎng)絡(luò)結(jié)構(gòu)和IP電話的標(biāo)準(zhǔn)
- 基于DeviceNet總線的從設(shè)備通信適配器
- 混沌置換網(wǎng)絡(luò)的設(shè)計(jì)及其硬件實(shí)現(xiàn)
- 移動(dòng)IPv6安全問題分析
推薦技術(shù)資料
- 首款新結(jié)構(gòu)硅基外腔混合集成光源芯片
- 全大核架構(gòu) X930 超大核的
- 計(jì)算子系統(tǒng)(Compute Sub Syst
- Neoverse CSS V3 架構(gòu)R
- Arm Neoverse CP
- Dimensity 9400芯
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究