完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
大家好,最近调试音频播放程序。主要是将蓝牙接收数据转发到Mcasp。
目前,采用八个缓存池装载数据每个缓存池有18K大小。由于工作时长以及时钟不同步问题,现在将缓存池数目增加到108个。 测试两个缓存池数目差异下的代码发现 :增加到108个缓存池后存在规律性的噪音。八个缓存池测试OK。 怀疑DDR2内存空间存在缓存池的重叠。特修改CMD文件将各个缓存池分配到相应的内存块中。测试发现依旧存在问题。 复查代码N多次,确认代码无问题。目前,无法定位问题出在哪,求各位大侠指点。 万分感谢!!!!! |
|
相关推荐
6 个讨论
|
|
|
你好,目前是无法通过匹配时钟解决问题的,所以只能考虑使用代码方面解决。“CODEC的DAC的工作时钟与McASP口的发送时钟不同源,会产生累积误差,从而造成固定间隔的噪音。”这个噪音是收发速度不一致而导致的,我现在采用的是外部音频数据输入到MCbsp接收,然后由EDMA发送至mcasp。我是这样考虑的是增大缓存池数量以及大小都可解决问题。现有两点状态:1、增大缓存池大小,影响的是噪音的持续时间。2、增大缓存区个数目前是只能增大到48个,再大就会有噪音。
还有一点比较头疼就是在缓存区个数不产生噪音的情况下,增大和减小缓存区大小并不会产生噪声。 EDMA出发次数引起的么?在我的认知里,这个是不可能的事情。所以这个问题还是无法定位,或者是我哪里还有认识不到的地方。望指正。 |
|
|
|
|
|
|
|
|
#1. 请首先确认音频的Codec,即DAC的时钟是不是与McASP输出端口的时钟来源于同一个源?
#2. 如果是,那么这个问题不是软件能解决的,这是硬件问题。因为音频是连续不断的,McASP按一个时钟在不断输出,DAC用另一个时钟在不断输换,之间不同源,产生向位差,累积起来产生错位,则产生短暂噪声。你也可以判断一下噪声的特点,是不是有规律的隔一会儿出现一下? #3. 如果不是,再考虑软件方面的可能性。 http://processors.wiki.ti.com/index.php/Main_Page Think Over Before Asking. http://www.catb.org/~esr/faqs/smart-questions.html#goal |
|
|
|
|
|
|
|
|
细节说明:由于接受到的音频数据与MCASP发送端的时钟不同源,所以需要数据缓存机制来解决速度差异。这也是增加缓存区的大小和个数的意义。 由于实际是在edma发送的,所以,每次发送的数据为一个缓存池。而由于速度的差异发送和接收数据总有相遇的一刻。这也就是缓存区的空满状态。缓存池的大小又决定了噪音的长短。需正确的添加空满判断标志。 为了尽可能的在一次空满的状态之前,延长使用时间而又不延长噪音的情况下。所以需要扩大缓存区个数。 在缓存区个数添加的时候就出现了上边提到的问题。 现在就卡到这里不知下步该怎么走。望指点啊 万分感谢 |
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
549 浏览 0 评论
1613 浏览 0 评论
2047 浏览 0 评论
为啥BQ7693003DBTR芯片在和BQ769X0盒子通讯时收不到信号?
1513 浏览 0 评论
DSP 28027F 开发板 XDS100v2调试探针诊断日志显示了 Error -150 (SC_ERR_FTDI_FAIL)如何解决
1337 浏览 0 评论
AT32F407在USART2 DMA发送数据时,接包接到了要发送的数据,程序还是处于等待传输完成的标识判断中,为什么?
1756浏览 29评论
2781浏览 23评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
1724浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
1634浏览 14评论
两个TMP117传感器一个可以正常读取温度值,一个读取的值一直是0,为什么?
1645浏览 13评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 01:50 , Processed in 1.110688 second(s), Total 70, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
15764