Days 34 ElfBoard 音频接口

2024-02-19 00:04
文章标签 34 days elfboard 音频接口

本文主要是介绍Days 34 ElfBoard 音频接口,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

音频接口介绍
音频模块采用了 NAU88C22 芯片,芯片数据信号使用 I2S 接口进行通讯,主要信号功能:
SAI_MCLK:音频信号主时钟;
SAI_BCLK:音频信号位时钟;
SAI_SYNC:左右声道控制信号;
SAI_TXD:数据发送信号;
SAI_RXD:数据接收信号。
同时,芯片还使用了一组 IIC 接口,对芯片进行配置,I2C 地址:0x1A,硬件电路如下图所示:


底板提供的 3.5mm 音频插座,有 4 级触片,支持左右双声道播放声音,和 MIC 录音。也就是默认的 3.5mm 音频插座的设计,采用了CTIA (国际标准四段式插针)标准,如果插入 OMTP(非国际标准四段式插针)标准耳机,会有放音和录音功能失效的现象。

音频 接口问题排查思路
(1)首先检查焊接器件是否与设计的底板的原理图一致,音频芯片是否使用同一型号,电阻电容对应;阻值容值如有改动是否会有影响;
(2)检查焊接上是否有问题:是否芯片虚焊空焊,接地是否良好,画器件封装时中心焊盘是否有过孔接地。
确定以上都没有问题后,要分以下两种情况进行问题排查。
核心板不能识别到音频芯片
(1)测量音频芯片的电源脚供电是否正常,是否欠压过压,上电是否有跌坑;
(2)音频芯片通过I2C 通信,检查核心板是否能读到音频芯片(如果有驱动看驱动能否正常加载,没驱动用 I2C tools 看是否挂载到总线上),如果读不到检查数据时钟线是否上拉;
(3)检查芯片是否有工作模式选择引脚上下拉是否选对了。
核心板能识别到音频芯片
(1)音频芯片和接口间电路连接是否正常,耳机座、耳机是否正常;
(2)如果可正常挂载音频芯片,检查 I2S 电平是否匹配,1.8V / 3.3V 是否要加电平转换;
(3)I2S总线在PCB 走线时是否受到电源线等干扰;
(4)检查音频信号波形,先测量音频芯片的输出端,如果正常有波形,则是芯片和音频座连接的问题,如果没有波形,测量 I2S 信号是否给到音频芯片。

这篇关于Days 34 ElfBoard 音频接口的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/722872

相关文章

BUUCTF(34)特殊的 BASE64

使用pycharm时,如果想把代码撤销到之前的状态可以用 Ctrl+z 如果不小心撤销多了,可以用 Ctrl+Shift+Z 还原, 别傻傻的重新敲了 BUUCTF在线评测 (buuoj.cn) 查看字符串,想到base64的变表 这里用的c++的标准程序库中的string,头文件是#include<string> 这是base64的加密函数 std::string

『功能项目』武器的切换实例【34】

本章项目成果展示 我们打开上一篇33战士的A键连击的项目, 本章要做的事情是按键盘E键切换职业时切换手中的武器 首先在资源商店下载免费的武器模型 创建一个空物体 命名为WeaponPos 将武器预制体拖拽至WeaponPos (注意调整空物体位置就可以后续文章会更换武器) 隐藏两把武器 运行项目 隐藏装备 在资源商店

生信软件34 - 大幅提升Python程序执行效率的工具Pypy

在生信开发过程中,会大量使用Python脚本,除了多进程和多线程编程提高程序运行效率外,还可以借助效率更高的Python解释器来提高程序的运行速度, CPython 使用c语言实现的解释器, PyPy 使用python语言的子集RPython实现的解释器,一般情况下PyPy比CPython快4倍左右。 1. 比较解释器的运行效率 # task.pyimport timedef compute

数字音频接口

http://www.wangdali.net/i2s/   概述   数字音频接口DAI,即Digital Audio Interfaces,顾名思义,DAI表示在板级或板间传输数字音频信号的方式。相比于模拟接口,数字音频接口抗干扰能力更强,硬件设计简单,DAI在音频电路设计中得到越来越广泛的应用。图1和图2对比传统的音频信号和数字音频信号链的区别。 在传统的音频电路(图1)中有麦

LeetCode - 34. Search for a Range

34. Search for a Range  Problem's Link  ---------------------------------------------------------------------------- Mean:  给定一个有序数组和一个数k,求k在这个数组中的起始下标和结束下标. analyse: 二分查找. Time comple

认知杂谈34

今天分享 有人说的一段争议性的话 I 环境的影响 I 首先得说说,环境这东西对人的影响真不是盖的。你要是老待在一个死气沉沉的地方,那你的激情和梦想,可能慢慢就会被磨得平平无奇。 I 激情的消逝 I 本来你可能是满怀激情,想要大干一场,但时间一长,那些日常的琐事就像小浪花一样,慢慢把你的激情拍散了。 I 生活的妥协 I 然后你可能就觉得,生活嘛,不就是得过且过,吃喝玩乐,遇到问题就随便应付一下

java34: 流

输入流 读 输出流 写 按照是否直接与特定的地方(磁盘,内存,设备)相连  节点流 低级流 可以从或向一个特定的覅放读写数据 处理流 高级流 处理另外一个流     不能独立存在(构造方法中需要传入另外一个流),     处理另外一个流     简化读写 按照处理的单位的不同分为 字节流 一次读写一个字节 字符流 一次读写一个字符 InputStream 和OutputStream

C++竞赛初阶L1-15-第六单元-多维数组(34~35课)551: T456501 计算矩阵边缘元素之和

题目内容 输入一个整数矩阵,计算位于矩阵边缘的元素之和。 所谓矩阵边缘的元素,就是第一行和最后一行的元素以及第一列和最后一列的元素。 输入格式 第 1 行包含两个整数,分别为行数 m 和列数 n,两个整数之间空格隔开。 第 2 行开始有 m 行数据,每行包含 n 个整数,整数之间空格隔开。 输出格式 对应矩阵的边缘元素和。 样例 1 输入 3 33 4 13 7 12

【软件逆向】第34课,软件逆向安全工程师之段寄存器,每天5分钟学习逆向吧!

在x86架构的汇编语言中,段寄存器是一组用于存储内存地址的寄存器,它们与基址寄存器(如ebp、esp或eax)一起使用,以访问内存中的数据。段寄存器的主要作用是将线性地址转换为物理地址。 x86架构中的段寄存器包括: CS(Code Segment):代码段寄存器,存储当前正在执行的代码段的基址。DS(Data Segment):数据段寄存器,存储当前正在使用的数据段的基址。ES(Extra S

【Hot100】LeetCode—34. 在排序数组中查找元素的第一个和最后一个位置

目录 1- 思路二分 - 左侧二分 + 右侧二分 2- 实现⭐34. 在排序数组中查找元素的第一个和最后一个位置——题解思路 3- ACM 实现 原题链接:34. 在排序数组中查找元素的第一个和最后一个位置 1- 思路 二分 - 左侧二分 + 右侧二分 右区间二分 ——> 找首次出现的位置 ——>nums[mid] >= target左区间二分 ——> 找最后一次出现