你好,当前的硬件配置如下:
1,MCLK = 24.576MHz
2, Fs (LRCLK) = 48KHz
3, BCLK = 128 * 48 Khz = 6.144 MHz
目前 I2S 的时序配置如下面两张图,TAS2555 工作在 I2S 的从模式
1)蓝色的线是 LRCLK=48KHz,黄色的线是 BCLK= 48Khz * 128 = 6.144MHz
2)蓝色的线是 I2S Data(这里测试数据为 0xFFFF),黄色的线是 FSCLK= 48Khz
如果按照 PPC 的默认配置使用 BCLK 作为 PLL IN,但是在 PPC3 的配置中看到最大设置为 6.144MHz
问题 1:在代码 tas2555-core.c 中发现这里 PLL 计算是使用 1.536MHz BCLK 作为 PLL_CLKIN
计算的,但是 TAS2555 datasheet 中并没有像其他 codec 中一样提供详细的 PLL 计算步骤和
约束条件
问题 2:如果我选择使用 MCLK 作为系统 CLK 输入,这一行寄存器是
TAS2555_MAIN_CLKIN_REG, 0x0F, //NDIV_MUX_CLKIN = PLL_CLK
#define TAS2555_MAIN_CLKIN_REG TAS2555_REG(0, 1, 115)
但是很遗憾手册里面是这样说明的,没有更详细的信息提供
因此我的问题是如何按照前面硬件配置,设置正确的寄存器
Kailyn Chen:
1. 看了下数据手册,确实没有详细的关于PLL的计算步骤以及其他条件。
2. MCLK即为系统时钟输入信号。您给出的寄存器附图应该不是最新TAS2555的datasheet 版本,请以这个为准:
www.ti.com/…/tas2555.pdf
在最新版本数据手册中, Book100/Page0?/register 0X0F才是Reserved。