TI中文支持网
TI专业的中文技术问题搜集分享网站

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);

Amy Luo:

您好,

我需要查找一下loss threshold 和 resume threshold的默认值是什么,以及是否有用于生成中断的有效配置文件。
中断不产生的主要原因是信号不低于阈值水平,以及SIGDET_LOSS_TIME寄存器设置为prohibit 状态。此寄存器默认设置为0x01,间隔为1分钟(如果信号低于loss threshold 1分钟,将生成中断)。SIGDET_LOSS_TIME寄存器是否有可能被设置为了0x00?这将禁用中断。

Amy Luo:

您好,请问您的问题解决了没有呢
我仍然需要查找我在上一回复中提到的项目,这周我会给你回复的。
另外,您是否可以确认下SIGDET_LOSS_TIME寄存器设置的值是多少呢

赞(0)
未经允许不得转载:TI中文支持网 » PCM1862 Energysense 无法检测出中断
分享到: 更多 (0)