TIwilliam hill官网
直播中

尤立虔

7年用户 960经验值
擅长:控制/MCU
私信 关注
[问答]

TAS5707A+CPM1808总是时钟错误,为什么?


  • 我应用MCU去控制PCM1808+TAS5707A实现音频数字功放,我的硬件连接如下:
    PCM1808的MD1=1,MD0=0,Master mode(384fs)
    FMT=0,I2S,24-bit
    LRCK,BCK,DOUT接到TAS5707A的I2S接口
    SCK与TAS5707A的MCLK连接在一起,接了一个16.9344M的有源晶振
    TAS5707的连接:
    PDN、FAULT、接MCU的IO口,I2C总线接I2C总线,I2C读写正常
    用示波器测试有源晶振16.9344正确,
    CPM1808 LRCLK-44.1K;BCK-28.8223M;DOUT-324K;SCK-16.9344M
    TAS5707配置:
    上电延时一段,RESET=0;PDN=1;延时300MS;RESET=1;
    延时300MS之后向0X1B寄存器写0X00,
    延时400MS向0X00寄存器写0X70(MCLK 采样频率 16.9344/384=44.1K分频)
    每次上电复位之后,两个喇叭会发出嘟嘟的声音,在这个时候读取错误寄存器0X02
    的值是OX32(意思是SCLK/LRCLK时钟错误,过流,超压,低压故障),但这个时候TAS5707A
    FAULT管脚输出为高,过流,超压,低压故障故障应该输出为低。
    检查了很久,不知道什么问题,不知知道硬件连接走线有没什么特殊的要求。求教一下。

回帖(1)

郭大

2024-9-9 18:21:28
从您提供的硬件连接和配置信息来看,可能存在以下几个原因导致TAS5707A和PCM1808之间的时钟错误:

1. 时钟频率不匹配:PCM1808和TAS5707A的时钟频率可能不匹配。PCM1808的BCK为28.8223MHz,而TAS5707A的SCK为16.9344MHz。这可能导致时钟同步问题。您可以尝试调整PCM1808的时钟设置,使其与TAS5707A的时钟频率相匹配。

2. I2S接口配置错误:请确保PCM1808和TAS5707A的I2S接口配置正确。PCM1808的FMT应设置为0(I2S模式),而TAS5707A的I2S接口应正确配置。请检查您的硬件连接和配置,确保它们正确无误。

3. 时钟信号干扰:在高速信号传输过程中,可能存在信号干扰。您可以尝试使用屏蔽线缆或增加地线来减少干扰。

4. 硬件故障:硬件故障也可能导致时钟错误。请检查PCM1808和TAS5707A的硬件连接,确保它们没有损坏或接触不良。

5. 软件配置错误:请确保您的MCU软件配置正确。检查I2C总线通信是否正常,以及是否正确设置了PCM1808和TAS5707A的寄存器。

建议您按照以下步骤进行排查:

1. 检查PCM1808和TAS5707A的时钟频率是否匹配,如有必要,请调整时钟设置。
2. 检查I2S接口配置是否正确,包括PCM1808的FMT设置和TAS5707A的I2S接口配置。
3. 检查硬件连接,包括屏蔽线缆和地线,以减少信号干扰。
4. 检查PCM1808和TAS5707A的硬件连接,确保没有损坏或接触不良。
5. 检查MCU软件配置,确保I2C总线通信正常,以及PCM1808和TAS5707A的寄存器设置正确。

通过以上步骤,您应该能够找到导致时钟错误的原因,并进行相应的调整。
举报

更多回帖

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