F4驱动WM8978“前奏

news/2025/1/3 6:53:59/

记录使用F4开发板驱动功放WM8978前备内容

目录

(1)WAV格式

(2)WM8978

 (3)飞利浦IIS标准

(4)WM8978相关寄存器配置

(1)WAV格式

WAV文件(WaveForm)是在PC机平台上常用的存储声音波形数字音频格式,支持多种音频数字,取样频率和声道,WAV格式文件能记录各种单声道或立体声的声音信息,并能保证声音不失真,但所占磁盘空间较大。WAV文件还原而成的声音的音质取决于采样样本的尺寸,采样频率越高,音质就越好,同时存储开销就越大。WAV文件,标识(WAVE)采用的是RIFF格式结构。至少是由3个块构成,分别是RIFF、fmt 和Data。

音频存储过程:声源发出的声波通过话筒被转换成连续变化的电信号,经过放大、抗混叠滤波后,按固定的频率进行采样(电信号幅值),接下来将其由模拟电信号量化为由二进制数表示的积分值,最后编码并存储为音频流数据。

FileSize = HeadSize(文件头部长度) + TimeInSecond(相对时间)* SampleRate(采样率) * Channels(声道数) * BitsPerSample(采样位深) / 8

WAV由若干Chunk组成,文件包括:①RIFF WAV Chunk;②Format Chunk;③Fact Chunk(不一定有);④Data Chunk。Chunk由块标识(4Bytes)、size(4Bytes)和数据组成。

(更多参考WAV_百度百科 (baidu.com))

RIFF块:

 Format块:Chunk段为16字节或另加2字节附加信息

 Fact块(线性PCM格式),可选块,一般存在于Format结构后

 data块,保存wav数据,Chunksize记录音频数据大小:

(2)WM8978

WM8978是低功耗,高质量的立体声编解码器,集成了立体声差分麦克风的前置放大器,并包括扬声器、耳机和差分或立体声线输出驱动器。片上数字信号处理包括一个5波段均衡器,通过ADC输入麦克风或线路的混合信号自动电平控制,以及一个纯数字限制功能的记录或回放。

WM8978数字音频接口具有主从两用功能。其内部锁相环可从常见的参考时钟频率(如12MHz和13MHz)为编解码器生成所有所需的音频时钟。通过IIS接口同MCU进行音频数据传输,通过两线(mode = 0 iic)或者三线(mode =1)接口配置。WM8978IIS支持多种不同的音频数据模式:MSB,LSB,飞利浦标准等。

特性:

①DAC SNR 98dB, THD -84dB;②ADC SNR 95dB, THD -84dB;

③Stereo speaker drive configuration立体声扬声器驱动

④On-chip PLL supporting 12, 13, 19.2MHz and other clocks,Support for 8, 11.025, 12, 16, 22.05, 24, 32, 44.1 and 48kHz sample rates

  上图位WM8978(D类功放)内部框图,红框为模拟开关和调节器,我们通过相关寄存器的改写可来配置增益和音量。当然,WM8978也需搭配其必要的外围电路实现目标功能。

 (3)飞利浦IIS标准

STM32通过设置 SPI_I2SCFGR 寄存器的 I2SMOD 位即可 开启 I2S 功能。

 IIS引脚:①SD串行数据,用于发送和接收两个时分复用通道数据,映射到MOSI引脚;②WS字选择,IIS左右时钟(LRCK),用于切换左右声道数据,映射到NSS引脚;③CK串行位时钟(BCK),主模式下作为串行时钟输出及从模式下输入,Fck=Fs(采样频率)x2x16(位宽);④MCK主时钟输出,时钟频率=Fsx256。

 数据跟随 LRC 传输的 BCLK 的第二个上升沿时传输 MSB,其他位一直到LSB按顺序传输。传输依赖于字长、BCLK 频率和采样率。

 F4对于IIS主时钟的配置:

MCK 输出使能时,fs 频率计算公式如下: fs=I2SxCLK/[256(2I2SDIV+ODD)] Khz,I2SxCLK=(HSE/pllm)*PLLI2SN/PLLI2SR,已知条件HSE=8M,pllm默认为8,可得Fs= (1000xPLLI2SN/PLLI2SR )/[256x(2xI2SDIV+ODD)]。PLL2SN 取值范围:192~432;PLLI2SR 取值范围:2~7;I2SDIV 取值范围:2~255;ODD 取值范围:0/1。

(4)WM8978相关寄存器配置

WM8978在1.5倍的升压级下,上电初始化顺序:

1. Turn on external power supplies. Wait for supply voltage to settle.
2.  Mute all analogue outputs.  
3. Enable unused output chosen from L/ROUT2, OUT3 or OUT4. If unused output not available,  chose one of these outputs not required at power up.  
4. Set BUFDCOPEN(专用缓冲器的直流电平转移输出阶段)= 1 and BUFIOEN = 1 in register R1. 设置模拟放大器
5. Set SPKBOOST = 1 in register R49.  (1 = speaker gain = +1.5;  DC = 1.5 x AVDD / 2)
6. Set VMIDSEL[1:0] to required value in register R1(电流消耗最小化,使能锁相环). Wait for the VMID supply to settle.   
7. Set L/RMIXEN = 1 and DACENL/R = 1 in register R3.  使能左右声道混合器
8. Set BIASEN = 1 in register R1.模拟放大器偏置控制
9. Set L/ROUT2EN = 1 in register R3.  使能声道输出
10. Enable other mixers as required.  
11. Enable other outputs as required.  
12. Set remaining registers. 配置其他剩余寄存器

寄存器相关应用配置总结:

R0寄存器(00H)控制 WM8978 的软复位,写任意值到该寄存器地址
R1寄存器(01H)设置 BIASEN(bit3),模拟放大器打开
R2寄存器(02H)设置 ROUT1EN(bit8),LOUT1EN(bit7)和 SLEEP(bit6)使能耳机输出
R3寄存器(03H)设置 LOUT2EN(bit6),ROUT2EN(bit5),RMIXER(bit3)等使能左右声道混合器
R3寄存器(04H)设置 WL(bit6:5)和 FMT(bit4:3),IIS飞利浦模式
R6寄存器(06H)设置0,即 MCLK 和 BCLK 都由外部提供
R10寄存器(0AH)设置 SOFTMUTE(bit6)和 DACOSR128(bit3)等,配置SNR,关闭软件静音
R43寄存器(2BH)设置 INVROUT2 为 1 即可,反转 ROUT2 输出,优化驱动喇叭
R49寄存器(31H)设置 SPKBOOST(bit2)和 TSDEN(bit1),配置喇叭增益
R50(32H)和 R51(33H)配置左右DAC接入左右声道混合器
R52(34H)和 R53(35H)更新设置耳机音量
R54(36H)和 R55(37H)更新设置喇叭音量


http://www.ppmy.cn/news/166972.html

相关文章

IMBF170R1K0M1XTMA1晶体管 1700V N-CH SICFET

英飞凌 1700V SiC沟槽MOSFET采用革命性的碳化硅材料,优化用于反激式拓扑结构。该SiC沟槽式MOSFET具有12V/0V栅极-源极电压,兼容大多数反激式控制器。也可直接由反激式控制器驱动,通过减少冷却工作量来提高效率。 IMBF170R1K0M1 1700V SiC沟槽…

NTMFS4C024NT1G NTMFS4C029NT1G 30V N-CH MOS管 晶体管

NTMFS4C024NT1G NTMFS4C029NT1G N-CH 30V MOS管 晶体管 中文规格pdf 1、MOSFET N-CH 30V 21.7A/78A 5DFN 场效应管 型号:NTMFS4C024NT1G 年份:新 FET 类型:N 通道 技术:MOSFET(金属氧化物) 漏源电压…

NTMFS4C028NT1G NTMFS4C09NT1G N-场效应管 MOS

NTMFS4C028NT1G NTMFS4C09NT1G N-场效应管 MOS 中文规格 1、MOSFET N-CH 30V 16.4A/52A 5DFN 型号:NTMFS4C028NT1G 参数 FET 类型:N 通道 技术:MOSFET(金属氧化物) 漏源电压(Vdss)&#xff1…

SN74部分系列的介绍与应用

目录 1.SN74LS14D 1.1介绍 1.2 引脚 1.3 逻辑图 1.4 真值表 1.5 总结 2.SN74LS148 2.1 介绍 2.2 引脚 2.3 逻辑图 2.4 真值表 2.5 总结 3.SN74HC00 3.1介绍 3.2 引脚 3.3 逻辑图 3.4 真值表 3.5 总结 4.SN74LVC2G04 4.1 介绍 4.2 引脚 4.3 逻辑图 4.4 真…

74系列芯片的介绍

http://www.eca6.com/bbs/read.php?fid10&tid14&fpage1 74HC/LS/HCT/F系列芯片的区别 1、 LS是低功耗肖特基,HC是高速COMS。LS的速度比HC略快。HCT输入输出与LS兼容,但是功耗低;F是高速肖特基电路; 2、 LS是TTL电平&…

1N4148、1N5819、1N4007的区别

1N4148 是开关二极管,耐压100V,电流150mA,反向恢复速度快1N5819 是肖特基二极管,耐压40V,电流1A ,正向压降低,反向恢复时间在10ns左右,主要用于高频电路中1N4007 是普通整流二极管,耐…

CF1784D Wooden Spoon

CF1784D Wooden Spoon 题目大意 有 2 n 2^n 2n个人,进行 n n n轮比赛。比赛的图是一棵完全二叉树。编号小的人一定能赢编号大的人,如果一个人满足: 第一次比赛被打败打败这个人的人在第二次比赛中被打败打败上一个人的人在第三次比赛中被打…

(38)STM32——NRF24L01无线通信

目录 学习目标 成果展示 介绍 引脚 时序 模式 Enhanced ShockBurstTM收发模式 发送流程 接收流程 SPI指令 寄存器 配置寄存器 自动使能寄存器 RX地址使能寄存器 自动重发寄存器 射频频率设置寄存器 射频设置寄存器 状态寄存器 发送地址设置寄存器 硬件…