TI的专家们好,dm368音频模块播放声音,时间长了之后声音出现破音,声音沙哑,请问这是什么情况?该怎么解决?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
TI的专家们好,dm368音频模块播放声音,时间长了之后声音出现破音,声音沙哑,请问这是什么情况?该怎么解决?
Hi,
请问你用的是什么格式的音频,用的是McASP接口还是什么接口,外接了什么音频芯片还是直接外放,是怎么个破音,调节音量是否有用?
请多提供一些具体的信息
我用的madpaly 播放mp3音频,用的芯片内部自带音频模块,在SPP SPN引脚上接了功放芯片连接一个小喇叭,就是播放久了之后,声音变得很浑浊,没有之前那么清脆,调节音量不知道在哪里调?试过改变功放芯片的放大倍数,效果一样。
现在需要先定位问题
- 你可以尝试跳过功放芯片接喇叭尝试
- 使用测试波形,如1KHz正弦波,看看芯片输出和功放输出的波形变成怎样。
- 调整音量是看是否波形有削顶,这个和上一条的意思差不多。
- 你可以尝试停掉音频之后再播放。还可以看看换用其他的播放软件或者音频格式,甚至不同码率的MP3音频文件来进一步定位问题
你好,
你是否有尝试修改voice codec使用的TC,看是否有改善?
Linux kernel
/sound/soc/davinci/davinci-evm.c
static struct evm_snd_platform_data cq93_vc_snd_data = {
.clk_name = "VOICECODEC_CLK",
.tx_dma_ch = DM365_DMA_VCIF_TX,
.rx_dma_ch = DM365_DMA_VCIF_RX,
.tx_dma_offset = DAVINCI_VCIF_WFIFO_REG,
.rx_dma_offset = DAVINCI_VCIF_RFIFO_REG,
.codec_fmt = SND_SOC_DAIFMT_CBM_CFM | SND_SOC_DAIFMT_IB_NF,
.eventq_no = EVENTQ_3 --》change to EVENTQ_0或者1, 2
你好,
请问你测试修改了eventQ0么?你是否有4个Q都尝试过?
修改Q最终后修改这个edma时间在哪个TC里面处理。如果修改Q对问题有影响,那系统DDR负荷较重可能是导致问题的原因。请问你在播放mp3的时候,是否还有视频解码?如果有,单独播放mp3是否就没有问题?系统里面是否还有其他使用EDMA的代码,例如SWOSD等,能否关闭,看是否有改善?
修改了eventQ0 ,我将.eventq_no = EVENTQ_3改为了.eventq_no = EVENTQ_0,您说的“修改Q最终后修改这个edma时间在哪个TC里面处理”这句不太明白什么意思。我用的是ipnc方案,在播放mp3时在运行avserver.out 有视频编码和swosd,关闭swosd还没试过,假如关闭swosd有改善,那程序又该如果改?
jin zhu 说:修改了eventQ0 ,我将.eventq_no = EVENTQ_3改为了.eventq_no = EVENTQ_0,您说的“修改Q最终后修改这个edma时间在哪个TC里面处理”这句不太明白什么意思。
请阅读一下DM36x EDMA user guide,有下面的描述:
There are four event queues (Queue0,Queue1,Queue2 and Queue3) for the device. Events in Queue0
result in submission of its associated transfer requests (TRs) to TC0. Similarly, transfer requests
associated with events in Queue1 are submitted to TC1, Queue2 are submitted to TC2 and Queue3 are
submitted to TC3
jin zhu 说:我用的是ipnc方案,在播放mp3时在运行avserver.out 有视频编码和swosd,关闭swosd还没试过,假如关闭swosd有改善,那程序又该如果改?
我将avserver.out关闭后就再没出现问题,说明问题跟您说的一样,请问该如何解决呢?因为在播放mp3的时候我们必须运行avserver.out程序进行编码和swosd。
你好,
应该是系统峰值DDR访问较大的问题。
1. 减少系统里面的DDR访问,例如降低视频码率,分辨率,帧率。减少你们应用程序里面对DDR的访问。减少OSD的数量。
2. 使用更高频率的DM368。