資料介紹

Table of Contents
ADAU1701 Sound Audio System Linux Driver
Supported Devices
Reference Circuits
Evaluation Boards
Description
ADAU1701 is a SigmaDSP with DACs and ADCs,and support both analog and digital inputs/outputs(I2S). This driver is intended to drive ADAU1701 through I2S, so we adapt it into ASoC framework and treat it as an audio codec, also it needs to include firmware loading function to download firmware blob at the initializing time.
Source Code
Status
Files
Function | File |
---|---|
driver | sound/soc/codecs/adau1701.c |
include | sound/soc/codecs/adau1701.h |
Example platform device initialization
Below is an example which is used on Blackfin board file.
static struct i2c_board_info __initdata bfin_i2c_board_info[] = { ? [--snip--] #if defined(CONFIG_SND_SOC_ADAU1701) || defined(CONFIG_SND_SOC_ADAU1701_MODULE) { I2C_BOARD_INFO("adau1701", 0x34), }, #endif [--snip--] }
static int __init stamp_init(void) { [--snip--] i2c_register_board_info(0, bfin_i2c_board_info, ARRAY_SIZE(bfin_i2c_board_info)); [--snip--] ? return 0; } arch_initcall(board_init);
ASoC DAPM widgets
Name | Description |
---|---|
OUT0 | VOUT0 DAC Output |
OUT1 | VOUT1 DAC Output |
OUT2 | VOUT2 DAC Output |
OUT3 | VOUT3 DAC Output |
IN0 | Analog Audio Input 0 (ADC0) |
IN1 | Analog Audio Input 1 (ADC1) |
ALSA controls
Name | Description |
---|---|
Master Capture Switch | Mute/Unmute the ADCs |
DAI Configuration
The CODEC driver register one DAI called “adau1701”.
Supported DAI formats
Name | Supported by driver | Description |
---|---|---|
SND_SOC_DAIFMT_I2S | yes | I2S mode |
SND_SOC_DAIFMT_RIGHT_J | yes | Right Justified mode |
SND_SOC_DAIFMT_LEFT_J | yes | Left Justified mode |
SND_SOC_DAIFMT_DSP_A | no | data MSB after FRM LRC |
SND_SOC_DAIFMT_DSP_B | no | data MSB during FRM LRC |
SND_SOC_DAIFMT_AC97 | no | AC97 mode |
SND_SOC_DAIFMT_PDM | no | Pulse density modulation |
SND_SOC_DAIFMT_NB_NF | yes | Normal bit- and frameclock |
SND_SOC_DAIFMT_NB_IF | yes | Normal bitclock, inverted frameclock |
SND_SOC_DAIFMT_IB_NF | yes | Inverted frameclock, normal bitclock |
SND_SOC_DAIFMT_IB_IF | yes | Inverted bit- and frameclock |
SND_SOC_DAIFMT_CBM_CFM | yes | Codec bit- and frameclock master |
SND_SOC_DAIFMT_CBS_CFM | no | Codec bitclock slave, frameclock master |
SND_SOC_DAIFMT_CBM_CFS | no | Codec bitclock master, frameclock slave |
SND_SOC_DAIFMT_CBS_CFS | yes | Codec bit- and frameclock slave |
Sysclk Configuration
The sysclk source can be either be generated using the internal oscillator and an external crystal, or can come from an external clock signal.
enum adau1701_clk_src { ADAU1701_CLK_SRC_OSC, ADAU1701_CLK_SRC_MCLK, };
The sysclk rate is configured using the PLL_MODE0 and PLL_MODE1 pins. Though for completeness it should also be passed to snd_soc_dai_set_sysclk.
Example DAI Configuration
static int bfin_eval_adau1701_hw_params(struct snd_pcm_substream *substream, struct snd_pcm_hw_params *params) { struct snd_soc_pcm_runtime *rtd = substream->private_data; struct snd_soc_dai *cpu_dai = rtd->cpu_dai; struct snd_soc_dai *codec_dai = rtd->codec_dai; int ret; ? ret = snd_soc_dai_set_fmt(cpu_dai, SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | SND_SOC_DAIFMT_CBM_CFM); if (ret) return ret; ? ret = snd_soc_dai_set_fmt(codec_dai, SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | SND_SOC_DAIFMT_CBM_CFM); if (ret) return ret; ? ret = snd_soc_dai_set_sysclk(codec_dai, ADAU1701_CLK_SRC_OSC, 12288000, SND_SOC_CLOCK_IN); ? return ret; } ? static struct snd_soc_ops bfin_eval_adau1701_ops = { .hw_params = bfin_eval_adau1701_hw_params, }; ? static struct snd_soc_dai_link bfin_eval_adau1701_dai = { .name = "adau1701", .stream_name = "adau1701", .cpu_dai_name = "bfin-i2s.0", .codec_dai_name = "adau1701", .platform_name = "bfin-i2s-pcm-audio", .codec_name = "adau1701.0-0034", .ops = &bfin_eval_adau1701_ops, };
Generate the firmware file
In order to use the SigmaDSP core of the ADAU1701 you need to provide a firmware file. Please refer to the SigmaDSP Firmware Utility for Linux page on how to generate a firmware file. The firmware file for ADAU1701 driver has to be named adau1701.bin.
ADAU1701 evaluation board driver
There is no dedicated Blackfin STAMP evaluation board for the ADAU1701. During test and driver development we used the EVAL-ADAU1701MINIZ board.
It can be easily wired to the Blackfin STAMP SPORT header.
Source Code
Status
Files
Function | File |
---|---|
driver | sound/soc/blackfin/bfin-eval-adau1701.c |
Kernel configuration
Device Drivers ---> [*] I2C support ---> [*] I2C Hardware Bus support ---> *** I2C system bus drivers (mostly embedded / system-on-chip) *** <*> Blackfin TWI I2C support (100) Blackfin TWI I2C clock (kHz)
Enable ALSA SoC evaluation board driver:
Device Drivers --->Sound card support ---> Advanced Linux Sound Architecture ---> ALSA for SoC audio support ---> Support for the EVAL-ADAU1701 boards on Blackfin eval boards
Hardware configuration
TODO
Driver testing
Load the driver and make sure the sound card is properly instantiated.
This specifies any shell prompt running on the target
root:/> modprobe snd-bf5xx-i2s root:/> modprobe snd-soc-bf5xx-i2s root:/> modprobe snd-soc-adau1701 root:/> modprobe snd-soc-bfin-eval-adau1701 dma rx:3 tx:4, err irq:45, regs:ffc00800 asoc: ADAU1701 <-> bf5xx-i2s mapping ok
This specifies any shell prompt running on the target
root:/> modprobe snd-pcm-oss root:/> tone TONE: generating sine wave at 1000 Hz... root:/> arecord -f cd | aplay Recording WAVE 'stdin' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo Playing WAVE 'stdin' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
More information
- AN-923: 在自引導(dǎo)模式下使用ADAU1701/ADAU1702設(shè)計(jì)系統(tǒng)
- 用于Raspberry Pi的高分辨率流媒體(ADAU1701與TPA3255)
- CN0162 通過ADAU1701 SigmaDSP編解碼器、低功耗SSM2306 D類放大器和ADP3336 LDO調(diào)節(jié)器實(shí)現(xiàn)模擬音頻輸入、D類輸出
- AD1836聲音Linux漂流器
- ADAU1361聲音編解碼器Linux驅(qū)動(dòng)程序
- SM2602聲音Linux漂流器
- ADAU1977聲音Linux漂流器
- ADAU第1373聲音編解碼器Linux驅(qū)動(dòng)程序
- ADAU1781聲音編解碼器Linux驅(qū)動(dòng)程序
- SM2518聲音Linux漂流器
- ADAU1701:帶兩個(gè)ADC和四個(gè)DAC的SigmaDSP 28/56位音頻處理器產(chǎn)品手冊(cè)
- 基于EVAL-ADAU1701EB音頻處理器的參考設(shè)計(jì)
- adau1701開發(fā)板原理圖高清版免費(fèi)下載 0次下載
- adau1701原文資料數(shù)據(jù)手冊(cè)PDF免費(fèi)下載(音頻處理器) 64次下載
- 在自引導(dǎo)模式下使用ADAU1701_ADAU1702設(shè)計(jì)系統(tǒng) 149次下載
- 環(huán)繞聲系統(tǒng)的基本概念、主要類型及關(guān)鍵技術(shù) 913次閱讀
- 立體聲音頻放大器電路圖分享 2766次閱讀
- 立體聲放大器電路圖分享 6183次閱讀
- 沉浸式音頻的未來:計(jì)算機(jī)視覺輔助下的聲音重現(xiàn) 1474次閱讀
- 使用可視音頻設(shè)計(jì)高效、實(shí)時(shí)的音頻系統(tǒng) 1010次閱讀
- 最大限度地減少音頻系統(tǒng)中模擬開關(guān)的總諧波失真 2153次閱讀
- 如何實(shí)現(xiàn)音頻系統(tǒng)的2路揚(yáng)聲器箱設(shè)計(jì) 1668次閱讀
- 基于USound公司的先進(jìn)個(gè)人MEMS技術(shù)應(yīng)用音頻系統(tǒng) 3436次閱讀
- 單芯片音頻系統(tǒng)ADAU1401的特點(diǎn)性能及應(yīng)用電路 7461次閱讀
- 低功耗24位立體聲編譯碼器ADAU1781的主要特性及應(yīng)用 3055次閱讀
- 以數(shù)字音頻系統(tǒng)為例介紹音頻系統(tǒng)的構(gòu)建 4704次閱讀
- 拾音器是干什么用的_拾音器和麥克風(fēng)的區(qū)別 5.5w次閱讀
- linux系統(tǒng)數(shù)字音頻設(shè)備的OSS和ALSA驅(qū)動(dòng)結(jié)構(gòu)分析(完整代碼) 3011次閱讀
- 拾音器和話筒分別有什么優(yōu)勢(shì) 2.3w次閱讀
- adau1701的優(yōu)點(diǎn)及缺點(diǎn)分析 1.9w次閱讀
下載排行
本周
- 1AN-1267: 使用ADSP-CM408F ADC控制器的電機(jī)控制反饋采樣時(shí)序
- 1.41MB | 3次下載 | 免費(fèi)
- 2AN158 GD32VW553 Wi-Fi開發(fā)指南
- 1.51MB | 2次下載 | 免費(fèi)
- 3AN148 GD32VW553射頻硬件開發(fā)指南
- 2.07MB | 1次下載 | 免費(fèi)
- 4AN-1154: 采用恒定負(fù)滲漏電流優(yōu)化ADF4157和ADF4158 PLL的相位噪聲和雜散性能
- 199.28KB | 次下載 | 免費(fèi)
- 5AN-960: RS-485/RS-422電路實(shí)施指南
- 380.8KB | 次下載 | 免費(fèi)
- 6EE-249:使用VisualDSP在ADSP-218x DSP上實(shí)現(xiàn)軟件疊加
- 60.02KB | 次下載 | 免費(fèi)
- 7AN-1111: 使用ADuCM360/ADuCM361時(shí)的降低功耗選項(xiàng)
- 306.09KB | 次下載 | 免費(fèi)
- 8AN-904: ADuC7028評(píng)估板參考指南
- 815.82KB | 次下載 | 免費(fèi)
本月
- 1ADI高性能電源管理解決方案
- 2.43 MB | 450次下載 | 免費(fèi)
- 2免費(fèi)開源CC3D飛控資料(電路圖&PCB源文件、BOM、
- 5.67 MB | 138次下載 | 1 積分
- 3基于STM32單片機(jī)智能手環(huán)心率計(jì)步器體溫顯示設(shè)計(jì)
- 0.10 MB | 130次下載 | 免費(fèi)
- 4使用單片機(jī)實(shí)現(xiàn)七人表決器的程序和仿真資料免費(fèi)下載
- 2.96 MB | 44次下載 | 免費(fèi)
- 5美的電磁爐維修手冊(cè)大全
- 1.56 MB | 24次下載 | 5 積分
- 6如何正確測(cè)試電源的紋波
- 0.36 MB | 18次下載 | 免費(fèi)
- 7感應(yīng)筆電路圖
- 0.06 MB | 10次下載 | 免費(fèi)
- 8萬用表UT58A原理圖
- 0.09 MB | 9次下載 | 5 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935121次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420062次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233088次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191367次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183335次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81581次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73810次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評(píng)論