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.

GDE上生成的code在EVM板上正常使用,在我自己的板子上工作不正常。



我自己设计了一个demo板,基本是参考EVM板
首先我用GDE设计了一个code,这个code在3256的EVM板上验证过,HPL/HPR和LOL/LOR输出正常。但是把code烧录到我自己的板子上,HPL/R表现为声音严重失真,音量也极小。LOL/R就干脆什么信号也没有
我做了以下实验:
1.将我的板子的进入IN1之前的电路输入到EVM的IN1端口,EVM的HPL/R和LOL/R输出正常。证明输入前端工作正常。
2.我将原code中
// # reg[  1][ 12] = 0x08 ; Route LDAC to HPL 

    { 12,0x08},
// # reg[  1][ 13] = 0x08 ; Route RDAC to HPR
    { 13,0x08},

改为
// # reg[  1][ 12] = 0x04 ; Route IN1_L to HPL
    { 12,0x04},
// # reg[  1][ 13] = 0x04 ; Route IN1_R to HPR
    { 13,0x04},
烧录到自己的板子里,HP端口就有声音输出了,并且不会随着掉电重启而改变。声音效果和EVM板上的旁路设置一样。
这应该证明板子硬件设计没有问题,3256工作正常。
3.对比自己的板子和EVM板,晶振以及各电源端口工作电压都正常。
现在我就比较困惑,到底哪里出了问题?烦请指教
  • 既然是参考了 EVM 板, 效果不同, 可以对比一下差别, 从差别处下手分析,

    另外也要注意一下焊接质量和连接等低级问题.

  • 这个是正常会发生的。

    EVM使用的I2S 时钟是从一个TAS1020的芯片发生的,选择固定的FS后I2S的时钟就是标准的。 但是他很可能和你的板子使用的I2S的时钟和格式完全不同。

    所以,检查你自己板子的I2S格式,速度, 对应datasheet或者Control Console 做一个时钟寄存器的正确的值出来就好