打印
[活动]

wm8978的使用

[复制链接]
18|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
#申请原创#  @21小跑堂 [size=16.002px]

[size=16.002px]WM8978 是一款由 Wolfson Microelectronics(现为 Cirrus Logic)推出的低功耗、高性能音频编解码器(Audio Codec)。它广泛应用于便携式设备(如智能手机、平板电脑)和嵌入式系统中,用于音频输入和输出处理。
最近使用了wm8978音频芯片,终于操作此音频芯片生成出专用的梯形波
1. WM8978 的主要特性
        音频输入:
                支持立体声麦克风输入。
                支持单端或差分输入。
                内置可编程增益放大器(PGA)。
        音频输出:
                支持立体声耳机输出。
                支持单声道扬声器输出。
                内置耳机驱动器和扬声器驱动器。
        音频处理:
                支持 16/20/24/32 位音频数据格式。
                支持 8 kHz 到 48 kHz 的采样率。
                内置数字信号处理(DSP)功能,如均衡器、3D 音效等。
        接口:
                支持 I2S、PCM 或 TDM 音频接口。
                支持 I2C 或 SPI 控制接口。
        低功耗:
                适用于电池供电的便携式设备
此芯片既可以做音频播放器也可以做语音识别系统。
2.wm8978芯片的接线接口如下:
                I2S:用于传输音频数据。
                        BCLK:位时钟。
                        LRC:左右声道时钟。
                        DIN:音频数据输入。
                        DOUT:音频数据输出。
                        MCLK:主时钟(可选,用于同步)。
                IIC:用于配置输出或控制寄存器
                        SCLK:控制时钟
                        SDIN: 数据传输
3.芯片配置原理图
[size=16.002px] [size=16.002px]                        
[size=16.002px]4.芯片代码配置初始化

[size=16.002px]
[size=16.002px]5.数据模块配置
WM8978_HPvol_Set(40,40);                //耳机音量设置
        WM8978_SPKvol_Set(50);                        //喇叭音量设置
[size=16.002px]6.数据传输
以此算法方式,可输出梯形波,持续时间可通过增加数据量的方式进行增加[size=16.002px]
以下为IIS-DMA方式具体操作方式
[size=16.002px]
7.操作重复播放

此方式有两种
1.通过控制DMA的使能与失能
__HAL_DMA_ENABLE(&I2S2_TXDMA_Handler);//开启DMA TX传输                  
__HAL_DMA_DISABLE(&I2S2_TXDMA_Handler);//结束播放;                 
2.通过直接操作IIS数据传输的开关
HAL_StatusTypeDef HAL_I2S_DMAResume(I2S_HandleTypeDef *hi2s)
HAL_StatusTypeDef HAL_I2S_DMAStop(I2S_HandleTypeDef *hi2s)

配置.PNG (65.7 KB )

配置.PNG

wm8978.pdf

1.5 MB

数据手册

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

6

帖子

0

粉丝