关于Atmel A5D31平台ALC5640音频芯片的问题记录

2024-05-13 22:32

本文主要是介绍关于Atmel A5D31平台ALC5640音频芯片的问题记录,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

项目需要在A5D31平台使用了ALC5640双I2S带功放的语音芯片,前期调试挺顺利,到后面调试录音时卡主了,问题是无法录音,报input/output错误,也就是没有数据流的意思。
花了两天时间跟FAE搞定ALC5640录音输出的问题,也就是说通过示波器可以确定数据一定是产生了,那么下面就是排除CPU这端的问题了。
又花了不少时间研究CPU的SSC接口(即I2S),最后锁定SSC的RCMR寄存器,如下图:
在这里插入图片描述
CKS这个配置(下图所示),内核中有错误(这个是那其他人的内核),根据原理图设计来说应该配置成1(不同的原理图选择不同,下图是默认的画法),也就是使用TK(BCLK)引脚输入的时钟信号。内核中默认配置成了2,所以不对。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
改了以为就可以了,结果还是报input/output错误,郁闷死了。继续研究(对该CPU的I2S机制并不是非常了解,可能其他的CPU并无该问题),时钟部分解决了(这里通过让接收时钟输出到IO引脚确定时钟无问题),最后锁定到录音采集开始触发的位置,如下图:
在这里插入图片描述
时钟什么的没问题了,放音没问题说明DMA和中断OK,那么就剩下这个触发了。看下寄存器对这个触发的定义描述:
在这里插入图片描述
除了0,1,8这三个值外,其他都需要RF引脚的信号,再对比内核中的配置发现(函数名atmel_ssc_hw_params),不管怎样都会需要RF信号的参与。为此修改它强制为0(1和8的值就不试了),再测试录音,郭然可以了,而且录音文件大小也正常。
以为总算可以了,但是还是不行,录音的文件杂声或者底噪非常大(人声可忽略了),但是有时候录音却是正常的(几率比较小),虽然还不行但起码可以录音了,很多的努力没白费。
有时行,有时不行,而且大部分不行,这下比根本不行更难办了,是配置问题?还是硬件模拟部分问题,无法确定。最后跟FAE借来了Demo板再测试,发现效果一样,那么可以确定不是硬件部分了。用的是alsa原版录音软件和库,也不怀疑。那么问题就是出在了内核或者原理设计上了。
最后回到触发开始采集部分,由于设置的为0没有使用同步信号这部分是不是有问题(当时并没有这么思考问题,绕了很大的弯,对于人来说最恐怖的是未知,唉没办法,想到这个问题花了有一天多,其他都测试完了,真没法了),然后决定把RF和TF短接,这时候内核中配置把SSC的RCMR中start位设置为7.
再测试,录音正常,播放录音文件很清晰(调整了运放放大倍数之后,刚开始有点破音),无杂音,整个清爽多了。
到此算是搞定了,后边再继续深测。这样的配置就跟通常的设计不同了,需要把发送和接收的两个同步信号引脚短接才行,之前的音频调试并不需要这样,坑。

这篇关于关于Atmel A5D31平台ALC5640音频芯片的问题记录的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

流媒体平台/视频监控/安防视频汇聚EasyCVR播放暂停后视频画面黑屏是什么原因?

视频智能分析/视频监控/安防监控综合管理系统EasyCVR视频汇聚融合平台,是TSINGSEE青犀视频垂直深耕音视频流媒体技术、AI智能技术领域的杰出成果。该平台以其强大的视频处理、汇聚与融合能力,在构建全栈视频监控系统中展现出了独特的优势。视频监控管理系统EasyCVR平台内置了强大的视频解码、转码、压缩等技术,能够处理多种视频流格式,并以多种格式(RTMP、RTSP、HTTP-FLV、WebS

好题——hdu2522(小数问题:求1/n的第一个循环节)

好喜欢这题,第一次做小数问题,一开始真心没思路,然后参考了网上的一些资料。 知识点***********************************无限不循环小数即无理数,不能写作两整数之比*****************************(一开始没想到,小学没学好) 此题1/n肯定是一个有限循环小数,了解这些后就能做此题了。 按照除法的机制,用一个函数表示出来就可以了,代码如下

hdu1043(八数码问题,广搜 + hash(实现状态压缩) )

利用康拓展开将一个排列映射成一个自然数,然后就变成了普通的广搜题。 #include<iostream>#include<algorithm>#include<string>#include<stack>#include<queue>#include<map>#include<stdio.h>#include<stdlib.h>#include<ctype.h>#inclu

综合安防管理平台LntonAIServer视频监控汇聚抖动检测算法优势

LntonAIServer视频质量诊断功能中的抖动检测是一个专门针对视频稳定性进行分析的功能。抖动通常是指视频帧之间的不必要运动,这种运动可能是由于摄像机的移动、传输中的错误或编解码问题导致的。抖动检测对于确保视频内容的平滑性和观看体验至关重要。 优势 1. 提高图像质量 - 清晰度提升:减少抖动,提高图像的清晰度和细节表现力,使得监控画面更加真实可信。 - 细节增强:在低光条件下,抖

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟&nbsp;开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚&nbsp;第一站:海量资源,应有尽有 走进“智听

如何解决线上平台抽佣高 线下门店客流少的痛点!

目前,许多传统零售店铺正遭遇客源下降的难题。尽管广告推广能带来一定的客流,但其费用昂贵。鉴于此,众多零售商纷纷选择加入像美团、饿了么和抖音这样的大型在线平台,但这些平台的高佣金率导致了利润的大幅缩水。在这样的市场环境下,商家之间的合作网络逐渐成为一种有效的解决方案,通过资源和客户基础的共享,实现共同的利益增长。 以最近在上海兴起的一个跨行业合作平台为例,该平台融合了环保消费积分系统,在短

Android平台播放RTSP流的几种方案探究(VLC VS ExoPlayer VS SmartPlayer)

技术背景 好多开发者需要遴选Android平台RTSP直播播放器的时候,不知道如何选的好,本文针对常用的方案,做个大概的说明: 1. 使用VLC for Android VLC Media Player(VLC多媒体播放器),最初命名为VideoLAN客户端,是VideoLAN品牌产品,是VideoLAN计划的多媒体播放器。它支持众多音频与视频解码器及文件格式,并支持DVD影音光盘,VCD影

购买磨轮平衡机时应该注意什么问题和技巧

在购买磨轮平衡机时,您应该注意以下几个关键点: 平衡精度 平衡精度是衡量平衡机性能的核心指标,直接影响到不平衡量的检测与校准的准确性,从而决定磨轮的振动和噪声水平。高精度的平衡机能显著减少振动和噪声,提高磨削加工的精度。 转速范围 宽广的转速范围意味着平衡机能够处理更多种类的磨轮,适应不同的工作条件和规格要求。 振动监测能力 振动监测能力是评估平衡机性能的重要因素。通过传感器实时监

缓存雪崩问题

缓存雪崩是缓存中大量key失效后当高并发到来时导致大量请求到数据库,瞬间耗尽数据库资源,导致数据库无法使用。 解决方案: 1、使用锁进行控制 2、对同一类型信息的key设置不同的过期时间 3、缓存预热 1. 什么是缓存雪崩 缓存雪崩是指在短时间内,大量缓存数据同时失效,导致所有请求直接涌向数据库,瞬间增加数据库的负载压力,可能导致数据库性能下降甚至崩溃。这种情况往往发生在缓存中大量 k

6.1.数据结构-c/c++堆详解下篇(堆排序,TopK问题)

上篇:6.1.数据结构-c/c++模拟实现堆上篇(向下,上调整算法,建堆,增删数据)-CSDN博客 本章重点 1.使用堆来完成堆排序 2.使用堆解决TopK问题 目录 一.堆排序 1.1 思路 1.2 代码 1.3 简单测试 二.TopK问题 2.1 思路(求最小): 2.2 C语言代码(手写堆) 2.3 C++代码(使用优先级队列 priority_queue)