你好
我使用的是 TI TLV320DAC3120和 XMOS XVF3100。 i2c 通信可以正常工作、但我不会从 ti 中获取任何东西到扬声器、例如开发板 TI ACEV-1B。 我想我必须设置时钟... WCLK 为15.6kHz、BCLK 为1MHz、MCLK 为24MHz。 我必须设置什么以及如何计算正确的值?
Xmos 的输出通过 I2S,我是否必须在 ti 中设置任何内容?
提前感谢
二
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.
你好
我使用的是 TI TLV320DAC3120和 XMOS XVF3100。 i2c 通信可以正常工作、但我不会从 ti 中获取任何东西到扬声器、例如开发板 TI ACEV-1B。 我想我必须设置时钟... WCLK 为15.6kHz、BCLK 为1MHz、MCLK 为24MHz。 我必须设置什么以及如何计算正确的值?
Xmos 的输出通过 I2S,我是否必须在 ti 中设置任何内容?
提前感谢
二
嗨、Twittech、
只需确认一下、MCLK 是否已连接到电路? 如果是、您可以使用下面的寄存器脚本:
e2e.ti.com/.../DAC3120_5F00_Init_5F00_File_5F00_II.txt
这是一个将 I2S 配置为扬声器的示例。 我根据您提供的时钟值修改了时钟值。
希望这对您有所帮助。 如果您对此有其他问题或意见、请告诉我。
此致、
Luis Fernando Rodríguez S.
我已使用这些设置对其进行了配置、但扬声器没有输出、甚至没有发出声响/嗡嗡声。 使用蜂鸣音脚本(蜂鸣音工作正常)时、当我在窗口中更改音量时、蜂鸣音量发生变化。
现在没有信号、也可以使用振荡器进行检查。
只是确认一下,如果命令中有更多数据,那么寄存器会照常递增计数,对吧?
W 30 04 03 91 06 26 A0
等于
REGWRITE (0x04、0x03);
REGWRITE (0x05、0x91);
REGWRITE (0x06、0x06);
REGWRITE (0x07、0x26);
REGWRITE (0x08,0xa0);
MCLK 为24MHz、但在注释中为12MHz、注释是否不正确或只是不变? 在复位后以及 PLL 配置之后、我必须在哪里插入延迟?
感谢你的帮助。
此致
二
嗨、Twittech、
关于您对 I2C 命令的评论、您是对的。 当写入多个数据时、寄存器地址会按照您正确提到的那样递增计数。
我在 PLL 配置上犯了一个错误、我不知道为什么我将 MCLK 设置为12MHz。 请找到所附的针对24MHz 的正确寄存器配置。 (BCLK 和 WCLK 值是否正确?)。 我还在代码的正确位置包含了延迟值。
e2e.ti.com/.../DAC3120_5F00_Init_5F00_File_5F00_III.txt
请告诉我您是否有任何观察结果(如果您可以获得任何输出、如果有 D 类活动等)。
谢谢你。
此致、
Luis Fernando Rodríguez S.
大家好、非常感谢。 只需更改 p 值;-)。
但仍然保持沉默。 我必须再次查看蜂鸣音示例、必须有部分正确的设置、以便蜂鸣音响起。
-->我是否需要注意 I2S 源的任何内容?
如何计算、如果我仔细查看时钟分配树、我会得到这些值的奇怪值。
MCLK 被定义为 PLL_CLKIN,这意味着 PLL_CLK 是(MCLK *(R * J.D)/P)
24000000 *(1 * 6.9888)/ 2.
= CODE_CLKIN = PLL_CLK
(24000000 *(1 * 6.9888)/ 2)/ 3
= DAC_CLK
((24000000 *(1 * 6.9888)/ 2)/3)/14
= DAC_MOD_CLK
(((24000000 *(1 * 6.9888)/ 2)/3)/14)/128
= DAC_FS 这是时钟字、对吧? 我发现了一个计算错误、因此我编辑了这个...
-->是否必须设置位时钟?
bdiv_CLKIN = DAC_clk、这是通过27955200以上的计算得出的
并将 n val 设置为27以获得接近1MHz ....
嗨、Twittech、
您的计算正确、采样率由 WCLK 定义、这就是我将 PLL 值调整为达到15.6KHz 的原因。
无需在寄存器中配置有关 BLCK 的任何内容、除非您想从 TLV320DAC3120生成 BLCK。 您只需要确保 BCLK =(数据长度) x (通道数) x WCLK。 至少、BCLK 应该为 BCLK =(16) x (2) x (15.6KHz)≈0.5MHz。 因此、1MHz 也能正常工作。
关于输出、D 类放大器是否有任何活动? D 类输出是否同相? 如果是、我认为 I2S 数据应该有问题。 您能否验证数据是否正确发送?
谢谢你。
此致、
Luis Fernando Rodríguez S.
你好
我再次进行了所有测量、并且值不正确。
如果我检查每个单独的、则 LRCLK = 48kHz、BCLK = 3MHz、MCLK = 24MHz
因此、我将以下寄存器值更改为:
P=2、R=1、J=7、D=6800、NDAC=3、 MDAC=5
我是否必须更改其他任何内容?
写入这些寄存器(PAGE 0 reg 18和19)是否正确,因为在数据表中写入它们是保留的,不是写入?
黄色:DIN、粉色:MCLK、深蓝色:WCLK、浅蓝色:BCLK
如果确保 SPK+上的音量始终相同、或者音乐正在播放或未播放:
嗨、Twittech、
感谢您在图片中提供详细信息。
PLL 配置适用于您所使用的时钟。 关于 DIN 中的数据,您似乎是通过正确的通道发送数据(有关详细信息,请参阅 I2C 配置 :http://www.ti.com/lit/ds/symlink/tlv320dac3120.pdf#page=51 )。
我建议将数据更改为左通道、或修改页0 /寄存器63 (0x3F)以从右通道接收数据:
http://www.ti.com/lit/ds/symlink/tlv320dac3120.pdf#page=67
请告诉我这是否可行、如果您有其他观察结果。
此致、
Luis Fernando Rodríguez S.