WM8978 —— 带扬声器驱动程序的立体声编解码器(5)

news2024/11/17 6:20:32

接前一篇文章:WM8978 —— 带扬声器驱动程序的立体声编解码器(4)

九、寄存器概览与详解

1. 整体概览

WM8978芯片共有58个寄存器,整体总表如下:

2. 详细说明

在此,只介绍WM8978较为常用的那些寄存器。

(1)寄存器0 —— Software Reset

(2)寄存器1 —— Power manage’t 1

(3)寄存器2 —— Power manage’t 2

(4)寄存器3 —— Power manage’t 3

(5)寄存器4 —— Audio Interface

(6)寄存器5 —— Companding ctrl

此寄存器默认无需设置。

示例代码:

WM8978_Write_Reg(5, 0x00);

注:

示例代码中由于设置的值为0x00,与默认值相同,因此可以不必写这一句代码。

(7)寄存器6 —— Clock Gen ctrl

此寄存器全部设置为0,即设置MCLK和BCLK时钟源都来源于外部。本例时钟源来自于STM32F4 芯片。

示例代码:

//MCLK由外部提供
WM8978_Write_Reg(6, 0x00);

(8)寄存器10 —— DAC Control

此寄存器需要设置SOFTMUTE(Bit6)和DACOSR128(Bit3)这两个位,其中SOFTMUTE位设置为0,即关闭软件静音;DACOSR128位设置为1,即DAC得到最好的SNR。

示例代码:

//SOFTMUTE关闭,128x采样(最佳SNR)
WM8978_Write_Reg(10, 1<<3); 

(9)寄存器14 —— ADC Control

此寄存器需要设置ADCOSR128(Bit3)这个位,ADCOSR128位设置为1,即ADC得到最好的SNR。

示例代码:

//128x采样(最佳SNR)
WM8978_Write_Reg(14, 1<<3);

(10)寄存器43 ——  Beep Control

此寄存器需要把INVROUT2位置1,即反转ROUT2输出,这样以使于更好地驱动喇叭。

示例代码:

//INVROUT2反向,驱动喇叭
WM8978_Write_Reg(43, 1<<4);

(11)寄存器47 ——  Left ADC Boost ctrl

此寄存器可以把PGABOOSTL位置1,以使左通道MIC获得额外20dB增益。

示例代码:

//设置PGABOOSTL,左通道MIC获得20dB增益
WM8978_Write_Reg(47, 1<<8);

注:

由于PGABOOSTL默认值为1,因此可以不用写这一句。如果要设置的值并非默认值,则需要写此一句代码(当然值就不是0x100了)。

(12)寄存器48 ——  Right ADC Boost ctrl

此寄存器可以把PGABOOSTR位置1,以使右通道MIC获得额外20dB增益。

示例代码:

//设置PGABOOSTR,右通道MIC获得20倍增益
WM8978_Write_Reg(48, 1<<8);

注:

由于PGABOOSTR默认值为1,因此可以不用写这一句。如果要设置的值并非默认值,则需要写此一句代码(当然值就不是0x100了)。

(13)寄存器49 ——  Output ctrl

此寄存器需要设置SPKBOOST(Bit2)和TSDEN(Bit1)这两个位。SPKBOOST位用于设置喇叭的增益,可以设置为0 ,如果想获得更大的声音,则设置为1;TSDEN位用于设置过热保护,
如果需要开启过热保护,则设置为1,不开启设置为0即可。

示例代码:

//设置TSDEN,开启过热保护,SPEAKER BOOST,1.5x 
WM8978_Write_Reg(49, 0x03<<1);

更多寄存器说明请看下回。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1538324.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vue2(九):尚硅谷TodoList案例(初级版):组件化编码流程的使用

一、组件化编码流程及资料 百度网盘 请输入提取码 提取码yyds &#xff08;Vue全家桶资料&#xff09; 组件化编码流程分为三步&#xff1a; 二、实现静态组件 1、分析结构 确定组件名称&#xff08;Header,List,Item,Footer&#xff09;和个数&#xff0c;还有嵌套关系(…

InnoDB 缓存

本文主要聊InnoDB内存结构, 先来看下官网Mysql 8.0 InnoDB架构图 MySQL :: MySQL 8.0 Reference Manual :: 17.4 InnoDB Architecture 如上图所示,InnoDB内存主要包含Buffer Pool, Change Buffer, Log Buffer, Adaptive Hash Index Buffer Pool 其实 buffer pool 就是内存中的…

从0到1实现RPC | 03 重载方法和参数类型转换

一、存在的问题 1.重载方法在当前的实现中还不支持&#xff0c;调用了会报错。 2.类型转换也还存在问题。 假设定义的接口如下&#xff0c;参数是float类型。 在Provider端接受到的是一个Double类型&#xff0c;这是因为web应用接收的请求后处理的类型。 在反射调用的时候就会…

如何用java使用es

添加依赖 如何连接es客户端 RestHighLevelClient 代表是高级客户端 其中hostname&#xff1a;es的服务器地址&#xff0c;prot端口号 &#xff0c;scheme&#xff1a;http还是https 如果不在使用es可以进行关闭&#xff0c;可以防止浪费一些资源 java如何创建索引&#xff1…

银河麒麟系统V10上安装TTS语音模块,并使用C#调用进行语音播报

银河麒麟系统V10上安装TTS语音模块,并使用C#调用进行语音播报 系统版本什么是TTS需求背景环境部署更新系统安装版本包安装完成执行命令测试C# 环境下调用语音播报系统版本 什么是TTS 从文本到语音 TTS是“Text To Speech”的缩写,即“从文本到语音”,是人机对话的一部分,让…

【源头活水】顶刊解读!IEEE T-PAMI (CCF-A,IF 23.6)2024年46卷第一期 [1]

“问渠那得清如许&#xff0c;为有源头活水来”&#xff0c;通过前沿领域知识的学习&#xff0c;从其他研究领域得到启发&#xff0c;对研究问题的本质有更清晰的认识和理解&#xff0c;是自我提高的不竭源泉。为此&#xff0c;我们特别精选论文阅读笔记&#xff0c;开辟“源头…

二十一 超级数据查看器 讲解稿 设置启动密码

二十一 超级数据查看器 讲解稿 设置启动密码 ​​​点击此处 以新页面 打开B站 播放当前教学视频 点击访问app下载页面 百度手机助手 下载地址 大家好&#xff0c;这节课我们讲解超级数据查看器高级功能&#xff0c;讲解设置启动密码&#xff0c;这是高级功能第一集。 设…

集简云新增“文本语音转换”功能,实现智能语音交互

为丰富人工智能领域的应用集成&#xff0c;为用户提供更便捷和智能化的信息获取和视觉创作方式&#xff0c;本周集简云上线了内置应用—文本语音转换。目前支持OpenAI TTS和TTS HD模型&#xff0c;实现文本语音高效智能转换&#xff0c;也可根据你的产品或品牌创建独特的神经网…

ChatGPT无法登录,提示我们检测到可疑的登录行为?如何解决?

OnlyFans 订阅教程移步&#xff1a;【保姆级】2024年最新Onlyfans订阅教程 Midjourney 订阅教程移步&#xff1a; 【一看就会】五分钟完成MidJourney订阅 GPT-4.0 升级教程移步&#xff1a;五分钟开通GPT4.0 如果你需要使用Wildcard开通GPT4、Midjourney或是Onlyfans的话&am…

在服务器上训练faster-rcnn模型(pycharm和Termius)

本文主要介绍使用服务器训练模型的两种方式&#xff1a;pycharm&#xff08;可视化界面友好&#xff09;and终端&#xff0c;本人用的是macos系统&#xff0c;可能pycharm某些入口的位置不一样&#xff0c;本教程代码以faster-rcnn为例 准备工作&#xff1a; 1.知道自己所用服…

数字乡村引领新风尚:科技赋能农村实现全面进步

随着信息技术的迅猛发展&#xff0c;数字乡村正成为引领农村全面进步的新风尚。科技作为推动农村发展的强大引擎&#xff0c;正在深刻改变着传统农业的生产方式、农村的社会结构以及农民的生活方式&#xff0c;为农村经济社会的全面进步注入了新的活力和动力。本文将从数字乡村…

OpenI启智平台创建天数智芯训练任务(以AlexNet为例)

天数智芯DeepSpark代码仓地址&#xff1a; iluvatar/DeepSpark - DeepSpark - OpenI - 启智AI开源社区提供普惠算力&#xff01; (pcl.ac.cn) 首先我们进到天数智芯DeepSpark代码仓&#xff0c;点击【派生】将代码仓Fork到我们自己的目录下 Fork好代码仓后我们到我们Fork后的代…

6、kubenetes 卷

1、什么是卷 在某些场景下&#xff0c;我们可能希望新的容器可以在之前容器结束的位 置继续运⾏&#xff0c;⽐如在物理机上重启进程。可能不需要&#xff08;或者不想要&#xff09; 整个⽂件系统被持久化&#xff0c;但又希望能保存实际数据的⽬录。 Kubernetes通过定义存储…

ARM-Linux 开发板下安装编译 OpenCV 和 Dlib

安装 OpenCV 和 Dlib 不像在 x86 平台下那样简单&#xff0c;用一句命令就可以自动安装完。而在 ARM 平台中许多软件都需要自行下载编译&#xff0c;且还有许多问题&#xff0c;本篇文章就是记录在 ARM 平台下载 OpenCV 踩过的坑。 硬件环境&#xff1a; RK3568 Ubuntu20.04…

ConFEDE: Contrastive Feature Decomposition for Multimodal Sentiment Analysis

文章目录 ConFEDE&#xff1a;用于多模态情感分析的对比特征分解文章信息研究目的研究内容研究方法1.总体结构2.损失函数3.Data Sampler4.数据采样算法5.Contrastive Feature Decomposition&#xff08;重点&#xff09; 结果与讨论代码和数据集附录 ConFEDE&#xff1a;用于多…

两台电脑简单的通信过程详解(经过两个路由器,不同网段)

一、eNSP拓扑图 二、配置4台电脑的IP地址、子网掩码、网关地址。 三、配置路由器 1.AR1-接口对应IP <Huawei>sys #进入系统视图 [Huawei]int g0/0/0 #进入0/0/0接口 [Huawei-GigabitEthernet0/0/0]ip address 192.168.0.1 24 #配置ip和掩码 [Huawei-GigabitEthernet0…

NacosException: http error, code=403、NacosimeException——报错解决方法【Nacos2.x】

1、NacosException报错内容为&#xff1a; NacosException: http error, code403,msguser not found!,dataIdapplication-dev.yml,groupDEFAULT_GROUP,tenant连不上是因为成功开启鉴权后&#xff0c;所使用的Spring Cloud服务被拦截&#xff0c;需要在配置中添加Nacos用户名和…

【Canvas与艺术】绘制暗绿色汽车速度仪表盘

【原型】 【成果】 【代码】 <!DOCTYPE html> <html lang"utf-8"> <meta http-equiv"Content-Type" content"text/html; charsetutf-8"/> <head><title>暗绿色汽车速度仪表盘</title><style type"t…

python学生作业管理系统flask-django-nodejs-php

课题主要分为三大模块&#xff1a;即管理员模块和学生、教师模块&#xff0c;主要功能包括&#xff1a;学生、教师、作业信息、学习模块、教学评价、学习情况等&#xff1b; 关键词&#xff1a;学生作业管理系统&#xff1b;作业信息 目录 摘 要 I Abstrac II 目录 III 1绪论 1…

liunx CentOS7 搭建lnmp环境 php nginx mysql

安装一些刚需软件&#xff1a;不懂请自行查询 安装一些需要的软件命令 yum install wget vim net-tools bash* lrzsz tree nmapnc lsof telnet -y 刷新命令 source /usr/share/bash-completion/bash_completion echo source /usr/share/bash-completion/bash_completion &…