TI论坛
直播中

张浩

8年用户 1205经验值
私信 关注
[问答]

PCM1862 Energysense为什么无法检测出中断?


  • 我希望能在pcm1862的active mode 下检测到输入音频的丢失信号。
    目前,pcm1862播放音乐配置好以后可以正常工作,但是pin19脚的中断信号就是不出来。
    pdf文档已经仔细看过了,根本无法解决问题。相关寄存器设置了一个遍
    怀疑是由于loss threshold 和 resume threshold 设置不正确导致的。
    1.目前按照以下代码设置后,读取device state(0x72) 一直是0x00.
    2.如果我不设置loss threshold 和 resume threshold 读取device state(0x72) 一直是0x0f.
    3..无论我是否设置loss threshold 和 resume threshold 读取eINT_STAT(0x61) eSIGDET_STAT(0x32)一直是0x00.
    我有如下疑问:
    1. 如果loss threshold 和 resume threshold不设置的话,是不是中断就一定不会出来?
    2. loss threshold 和 resume threshold有没有默认值,或者什么参考值?
    3. 官方能不能给出一个可以出中断的参考配置文件?

    //Write 0x00 0x01 ; # change to register bank 1
    nCmd = 0x01;
    nRet = ee_WriteBytes(&nCmd,0x00,1);
    //Read Register 0x01 # if value is 0x00 then continue (check if system is still writing/reading).
    //Otherwise, do another dummy write and check again
    nRet = ee_ReadBytes(&nResult,0x01,1);
    if(nRet){
    while(nResult)
    {
    nRet = ee_ReadBytes(&nResult,0x01,1);
    }
    }
    //Write 0x02 0x2D ; # write the memory address of resume threshold
    nCmd = 0x2D;
    nRet = ee_WriteBytes(&nCmd,0x02,1);
    //Write 0x04 0x01 ; # bit[23:15]
    nCmd = 0x01;
    nRet = ee_WriteBytes(&nCmd,0x04,1);
    //Write 0x05 0x47 ; # bit[15:8]
    nCmd = 0x47;
    nRet = ee_WriteBytes(&nCmd,0x05,1);
    //Write 0x06 0xAE ; # bit[7:0]
    nCmd = 0xAE;
    nRet = ee_WriteBytes(&nCmd,0x06,1);
    //Write 0x01 0x01 ; # execute write operation
    nCmd = 0x01;
    nRet = ee_WriteBytes(&nCmd,0x01,1);

回帖(1)

小芳

2024-10-16 10:35:19
首先,我们需要了解PCM1862的工作原理和配置。PCM1862是一款高性能的音频编解码器,支持多种音频格式和采样率。在Active Mode下,PCM1862可以检测到输入音频的丢失信号。为了实现这一功能,我们需要正确配置PCM1862的相关寄存器。

根据您提供的信息,您已经尝试了以下步骤:

1. 设置了Loss Threshold和Resume Threshold,但读取Device State寄存器(0x72)时,始终为0x00。
2. 如果不设置Loss Threshold和Resume Threshold,读取Device State寄存器(0x72)时,始终为0x0F。
3. 无论是否设置Loss Threshold和Resume Threshold,读取EINT_STAT(0x61)和ESIGDET_STAT(0x...)寄存器时,始终无法检测到中断信号。

针对这些问题,我们可以尝试以下解决方案:

1. 确保PCM1862的电源和时钟配置正确。PCM1862需要稳定的电源和时钟信号才能正常工作。请检查电源和时钟线路是否连接正确,以及电源电压和时钟频率是否满足PCM1862的要求。

2. 检查PCM1862的引脚连接。确保PCM1862的引脚连接正确,特别是与中断信号相关的引脚(如Pin19)。如果引脚连接不正确,可能导致中断信号无法正常传输。

3. 重新检查Loss Threshold和Resume Threshold的设置。Loss Threshold和Resume Threshold的设置对于PCM1862检测输入音频的丢失信号至关重要。请参考PCM1862的数据手册,确保Loss Threshold和Resume Threshold的设置正确。

4. 检查中断信号的滤波和去抖动。在实际应用中,中断信号可能会受到噪声和抖动的影响。为了确保中断信号的准确性,可以在中断信号线上添加滤波器和去抖动电路。

5. 尝试使用不同的采样率和音频格式。PCM1862支持多种采样率和音频格式,不同的采样率和音频格式可能会影响中断信号的检测。可以尝试使用不同的采样率和音频格式,看看是否能够检测到中断信号。

6. 如果以上方法都无法解决问题,可以考虑使用示波器或逻辑分析仪等工具,对PCM1862的中断信号进行实时监测。这样可以更直观地了解中断信号的状态,有助于找到问题的原因。

总之,要解决PCM1862无法检测到中断信号的问题,需要从多个方面进行排查和调整。希望以上建议对您有所帮助。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分