android audio/linux alsa音频-硬件

2023-11-14

接着以前的文章继续写音频方面的分析,因为学得快忘得也快,如果不加以总结和记录,很快自己也不记得了。

要完全了解一个音频器件,如ES8396, wm8998,首先得了解它的硬件原理。一般在嵌入式领域,音频的编解码芯片主要有两种:

(1)在单片机应用方面,一般接的单纯的1路编解码,一般通过I2S或SPI接口连接,通过发送命令的方面对音频芯片进行操作,再读取或写入数据;

(2)在linux,android(windows上也是)领域,音频芯片包含了多路信号,它不是单纯的音频编解码工作,它还有一个重要和功能类似于HUB的功能,通过内部切换通道,控制内部的路径,以实现输入通道和输出通道的切换。以wm8998为例,它包含了3路I2S/PCM信号,同时支持4路模拟输入或2路数字信息,还有喇叭(SPK)、耳机(HeadPhone)、听筒(EP)、线路输出(lineout)。以andriod应用举例,三路I2S/PCM信号可以接主控CPU、蓝牙和电话,在工作中,当听音乐时通过切换路径通过SPK输出,当插入耳机时先断开SPK接通耳机,当有蓝牙接入时又接通蓝牙PCM通路,当有电话来时接通听筒。

下面列举下ES8396的功能:

1.2 组独立的 I2S/PCM接口
2.内置 PLL
3.数字混音功能以及SRC(采样频率转换功能)能够实现将两组不同采样频率的数字音频信号混音
4.6 段可编程的数字滤波器,可以用于均衡器或降噪功能
5.立体声音增强功能
6.支持 u/ALaw
7.三组模拟输入通道(一组立体声输入、一组差分输入,一组差分MICROPHONE 输入)
8.四组 Analogoutput 模拟输出端口,其中包括一组可配置为差分输出的Line output端口,一组无电容方式输出的Headphoneoutput 端口,一组Earpiece差分输出接口,一组2x0.9W 立体声音CLASS DSPEAKER 或 1x1.8W的单声音道 CLASSD SPEAKER
9.内置 ChargePump,驱动实地、无电容方式的 Headphone输出端口,省去了220uF 耳机大电容

10.内置 2x0.9W立体声 CLASSD 功放,也可并联配置为1x1.8W 单声道CLASS D 功放


1. 三组模拟输入通道(一组立体声输入AINL和AINR、一组差分输入MONOP和MONON,一组差分 MICROPHONE 输入MICP和MICN)

2. 四组 Analog output 模拟输出端口,其中包括一组可配置为差分输出的 Line output 端口(LOUT和ROUT),一组无电容方式输出的Headphone output 端口,一组 Earpiece 差分输出接口(MONOUTP和MONOUTN),一组 2x0.9W 立体声音 CLASS D SPEAKER 或 1x1.8W 的单声音道 CLASS D SPEAKER。

两个I2S引脚说明:




本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

android audio/linux alsa音频-硬件 的相关文章

  • 【C++】对数组指针的理解,例如 int (*p)[3]

    目录 简介 思考 理解 结语 简介 Hello 非常感谢您阅读海轰的文章 倘若文中有错误的地方 欢迎您指出 昵称 海轰 标签 程序猿 C 选手 学生 简介 因C语言结识编程 随后转入计算机专业 获得过国家奖学金 有幸在竞赛中拿过一些国奖 省
  • 【MYSQL】mysql1130错误与安装重置密码

    1 连接服务器 mysql u root p 2 看当前所有数据库 show databases 3 进入mysql数据库 use mysql 4 查看mysql数据库中所有的表 show tables 5 查看user表中的数据 sele
  • freeswitch编译过程以及添加odbc连接mysql

    freeswitch 编译 参考官网wiki bootstrap sh j configure prefix home make make j install make j cd sounds install make j cd moh i
  • Git的Patch功能

    本文整理编辑自 http www cnblogs com y041039 articles 2411600 html http yuxu9710108 blog 163 com blog static 2375153420101114488
  • 可以免费使用的ChatGPT-4,微软开放Bing Chat功能,供用户体验

    微软Bing取消了 Bing Chat的等待名单 现在用户可以通过使用 Edge 浏览器并使用微软帐户登录就可以使用Bing Chat了 入口 打开Bing首页 用户点击 聊天 Chat 即可进入Bing Chat界面 目前Bing Cha
  • Open3D(C++) 模型锐化

    目录 一 模型锐化 1 概述 2 主要函数 二 代码实现 三 结果展示 1 原始模型 2 锐化处理 一 模型锐化 1 概述 Open3D中的实现一种模型锐化处理的算法 该算法的输出值 v o v o v
  • uni.switchTab()跳转不刷新页面问题

    uni switchTab 跳转不刷新页面问题 大家应该都遇到过 调转到 tabBar 里面的页面时 只能使用 uni switchTab 或者是 uni navigator 跳转 使用 uni reLauch 或者是 uni redire
  • 【BLE】-CC2541 OSAL操作系统抽象层应用程序接口API介绍

    参考源source 简介 目的 本文档的目的是定义OS抽象层 OSAL 的API 这个API适用于TI协议栈软件组的产品 例如Z 堆栈 RemoTI 和BLE 适用范围 该文件列举了由OSAL提供的所有函数调用 详细地说明了所有函数调用 方
  • C++11之继承构造函数(using 声明)

    系列文章 C 11之正则表达式 regex match regex search regex replace C 11之线程库 Thread Mutex atomic lock guard 同步 C 11之智能指针 unique ptr s
  • SQL,NowSQL及NewSQL浅析

    关系型数据库 NOSQL NEWSQL浅析 1 关系型数据库 关系数据库 是建立在关系模型基础上的数据库 借助于集合代数等数学概念和方法来处理数据库中的数据 简单来说 关系模型指的就是二维表格模型 而一个关系型数据库就是由二维表及其之间的联
  • 华为OD机试 - 在字符串中找出连续最长的数字串(含“+-”号)(Java)

    题目描述 请在一个字符串中找出连续最长的数字串 并返回这个数字串 如果存在长度相同的连续数字串 返回最后一个 如果没有符合条件的字符串 返回空字符串 注意 数字串可以由数字 0 9 小数点 正负号 组成 长度包括组成数字串的所有符号 仅能出
  • 臭名昭著的MOS管米勒效应

    概述 MOS管的米勒效应会在高频开关电路中 延长开关频率 增加功耗 降低系统稳定性 可谓是臭名昭著 各大厂商都在不遗余力的减少米勒电容 分析 如下是一个NMOS的开关电路 阶跃信号VG1设置DC电平2V 方波 振幅2V 频率50Hz T2的
  • 求大神们指教

    都已经定义了 为什么出现如下错误 求大神们指教 1 gt main obj error LNK2019 无法解析的外部符号 public char thiscall LinkStack
  • x86直接写屏显示字符串

    直接向显存地址 0xb800 xxxx 写入数据 屏幕显示 80列 25行 一个字符显存2byte file showstr s code16 globl start begtext begdata begbss endtext endda
  • 一般试卷的纸张大小是多少_平时打印卷子的纸是多大的?

    展开全部 一般使用的是A3大小的纸 一 打印的卷子纸 一般是8K大小 就像两张A4纸拼在一起的大小 但是 32313133353236313431303231363533e59b9ee7ad9431333365643661家用打印机一般只能
  • Java学习笔记32——字符缓冲流

    字符缓冲流 字符流 字符缓冲流 字符缓冲流的特有功能 IO流小结 字节流 字符流 字符流 字符缓冲流 BufferedWriter 将文本写入字符输出流 缓冲字符 以提供单个字符 数组和字符串的高效写入 可以指定缓冲区大小 或者可以接受默认
  • IDEA 解决Maven打包时控制台中文乱码

    File Settings VM Options中加入 DarchetypeCatalog internal Dfile encoding GBK
  • 遍历提取文件夹中特定的jpg图片并存入指定文件夹

    coding utf 8 usr bin python test copyfile py import os shutil rootdir home unbuntu Desktop yixian 要提取文件夹的根目录 dstdir0 hom
  • STM32 基础系列教程 48 – CJSON

    前言 JSON JavaScript Object Notation JS 对象简谱 是一种轻量级的数据交换格式 它基于 ECMAScript 欧洲计算机协会制定的js规范 的一个子集 采用完全独立于编程语言的文本格式来存储和表示数据 简洁

随机推荐

  • 统计字符串中重复的字符个数并输出

    输出字符串各个字符的个数 对重复的字符将其下标存放在vector中 使用unique函数只保存一份重复字符的数字 通过下标查找到相应的字符 从map中取出对应的统计数字 include iostream include windows h
  • 吴恩达机器学习笔记:手搓线性回归(梯度下降寻优)

    概念就不介绍了 记录下公式推导和代码实现 以及与最小二乘的比较 吴恩达老师课程中使用一个参数theta保存两个变量 不过我好像没把中间变量的形状对齐 所以最后实现了两个参数的版本 代码 import time import numpy as
  • SAP ABAP基础知识 访问外部数据库-开发篇

    前言 本文主要介绍通过ABAP语言访问外部数据库的几种方式 一 外部数据库配置 本文示例中的代码访问了两个外部数据库 MTD 外部oracle数据库 其中示例表 ZTTEMP 字段 ZZTNO WERKS S4Q 外部HANA数据库 开发系
  • 学习阿里如何进行数据指标体系的治理

    想必做数据的同学对One Data都有所耳闻 但One Data 体系具体包含了内容 有怎样的应用 不知道大家是否了解 今天我们详细分享一下One Data体系中关于数据治理相关的内容 One Data整体概述 首先 我们看看One Dat
  • Direct3D绘制旋转立方体例程

    初始化文件见Direct3D的初始化 direct3dcreate9 寂寂寂寂寂蝶丶的博客 CSDN博客 D3DPractice cpp include
  • TPS5430DCDC芯片24V转8V电路设计

    文章目录 前言 一 确定参数指标 二 设计步骤 1 输入电容器 2 输出滤波器件 1 电感取值 2 电容取值 3 输出电压设定点 4 BOOT电容器 总结和结果 前言 因实际需要 需设计一个将24V电压转成5V电压的电路 用于给放大器供电
  • 【novelai】colab存档

    本笔记由此改写而成 https colab research google com drive 1kw3egmSn KgWsikYvOMjJkVDsPLjEMzl https colab research google com drive
  • 全栈工程师必备技能与工具大全

    全栈工程师是在前端和后端 Web 开发方面具有专业知识的专业人士 他们对各种编程语言 框架和工具有深入的了解 从无到有创建 Web 应用程序 包括设计 开发 测试和维护 据Glassdoor的调研数据显示 在美国 全栈工程师的平均年薪为11
  • 2022-渗透测试-6个最常用的工具

    目录 1 Wireshark 2 Metasploit 3 Nmap 4 Nessus 5 SQL Map 6 W3af 大家可以关注关注我的公众号 定期分享一些干货 直接搜索 小白渗透测试 或者扫描下面的二维码就可以了 1 Wiresha
  • selenium练习校验

    selenium校验 1 获取网站URL是否正确 print driver current url 得到当前页面URL 2 获取网站Title是否正确 print driver title 3 获取浏览器版本号 print driver c
  • 使用github搭建博客出现的问题:Jekyll主题下push文章到github上没有生效

    因为自己也用过github搭建免费的博客项目 由于搭建的日子距离现在已经有些久远了 现在又重新拾起来搞个人博客 遇到下面的问题 问题描述 在使用Jekyll主题的时候 在本地使用Ruby服务端能运行起来 但是将文件push到github上
  • 2021数维杯国际赛论文模板发布,LaTeX+Word

    对于数学建模竞赛 最后提交的结果就是一篇论文 先不说论文内容怎么样 首先论文的版式需要美观 漂亮 简洁 对于论文排版 LaTeX比word更便捷专业 使用LaTeX排版的论文清晰美观 可以得到阅卷老师的青睐 增加获奖几率 提前准备好模板是非
  • react ant icon的简单使用

    refer 快速上手 Ant Design 1 引入ant npm install antd save 2 在页面引用 import StarOutlined from ant design icons 如果想要引入多个icon 可以这样书
  • 使用vite + vue3 + ant-design-vue + vue-router + vuex 创建一个后台管理应用

    使用vite vue3 ant design vue vue router vuex 创建一个管理应用的记录 使用vite 创建项目 我创建的node 版本是 v16 17 1 使用NPM 或者 YARN 安装中选择模板和定义项目名称 np
  • Tokenview X-ray功能:深入探索EVM系列浏览器的全新视角

    Tokenview作为一家领先的多链区块浏览器 为了进一步优化区块链用户的使用体验 我们推出了X ray 余额透视 功能 该功能将帮助您深入了解EVM系列浏览器上每个地址的交易过程 以一种直观 简洁的方式呈现地址的进出账情况 让您轻松掌握资
  • 技术实践干货:从零开始创建Node.js应用

    作为一个程序员 我们常常会有很多想法和创意 然后用技术实现出来 这是一个很有成就感的事情 在实践过程中 会发现很多想法都不能很好地落地 可能是技术 可能是团队氛围等等 于是就开始想着能够不能有一个框架去承载这些想法 其实在Node js这个
  • 解决宝塔面板打开不了登录界面问题或xshell界面显示的宝塔登录地址是空的的问题

    问题描述 某天重开电脑之后 在浏览器打开宝塔面板页面时 提示请使用正确的入口登录面版 如下图 解决方案 正常情况下把查看面板入口的命令给复制到xshell里面 他就会返回给你登录地址 用户名 密码 然后你复制地址重新登录就可以了 如果你在x
  • Android完全退出应用程序 ,【Android面试题】

    activity finish activityStack remove activity activity null 获得当前栈顶Activity public Activity currentActivity Activity acti
  • Vue自定义指令的使用详解

    自定义指令 vue官方提供了v text v for v model v if等常用的指令 还允许开发者自定义指令 在使用自定义指令前 须在自定义名称前加v 名称 私有自定义指令
  • android audio/linux alsa音频-硬件

    接着以前的文章继续写音频方面的分析 因为学得快忘得也快 如果不加以总结和记录 很快自己也不记得了 要完全了解一个音频器件 如ES8396 wm8998 首先得了解它的硬件原理 一般在嵌入式领域 音频的编解码芯片主要有两种 1 在单片机应用方