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.

[参考译文] TLV320ADC6120:主模式配置导致错误的 BCLK 和错误的 FSYNC 输出频率

Guru**** 2382630 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1190484/tlv320adc6120-configuration-for-master-mode-resulting-in-wrong-bclk-and-wrong-fsync-output-frequency

器件型号:TLV320ADC6120

下午好。  我尝试将此编解码器配置为总线主控、以48kHz 的频率输出 I2S 音频数据。  我有19.2MHz 的 GPI2输入、并且我有以下寄存器配置(按此顺序发送到器件):

 

uint8_t SLEEP_CFG[2] = {0x2,0x1};//wakeup

uint8_t GPI_CFG0[2]={0x2B,0x2};//GPI2 configured as MCLK in

uint8_t MST_CFG0[2] = {0x13,0x84};//19.2MHz MCLK, sample rate multiple of 48KHz

uint8_t MST_CFG1[2] = {0x14,0x44};//48KHz sample rate, BCLK:FSYNC ratio=64

uint8_t ASI_CFG0[2]={0x7,0x70};//I2S protocol, 32b word

uint8_t BIAS_CFG[2]={0x3B,0x2};//full scale 0.5 VRMS

uint8_t CH1_CFG0[2]={0x3C,0x20};//ch1 line input, SE, DRE disabled, AC coupled

uint8_t IN_CH_EN[2]={0x73,0xc0};//ch 1&2 input enabled

uint8_t ASI_OUT_CH_EN[2]={0x74,0xc0};//ASI ch 1 output enabled

uint8_t PWR_CFG[2]={0x75,0xE0};//power up ADC and PLL

当我在示波器上测量 BCLK 和 FSYNC 输出时、分别得到944Khz 和14.7KHz。  因此、该器件使用在 MST_CFG1中编程的 BCLK:FSYNC 比、但不使用配置的采样率。 是否有人使用这个编解码器作为总线主控的经验?

此外、在我发送上述寄存器写入之后、我读取 STS1=0xC0和 STS1=0x0 (这表示没有通道上电。  但我向 IN_CH_EN 和 PWR_CFG 发送了适当的写入)。

非常感谢!

亚历山大

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Alexander、

    下面是一个指南、我想您已经看到过它讨论了这个问题。

    https://www.ti.com/lit/an/sbaa495a/sbaa495a.pdf?ts=1674836527144

    请告诉我寄存器0x16的内容。  请在示波器和共享上检查 MCLK 的质量。

    我认为这可能不是获得48kHz FSYNC 的有效 MCLK。  如果 FSYNC = 48K * 64 = BCLK = 3.072MHz。  然后19.2MHz/3.072MHz = 6.25、这不是整数。  如果可以、请尝试 MCLK = 12.288或24.576MHz。

    -Jeff

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢 Jeff 的帮助。  我已经详细阅读了该应用手册。  我不会写入0x16、因此它在复位值0x10处。  阅读这些字段似乎不适用于我的案例、请告知我是否应更改默认值。

    我在数据表或应用手册中找不到任何内容、这些内容规定了对内部 PLL 输入频率的限制、超出 了 STM_CFG0中合法选择的范围(19.2MHz 是这些选择之一)。  时钟由 TCXO 提供、因此我无法轻松更改频率。  内部 PLL 是整数还是小数类型?

    -A

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    亚历山大

    如果19.2MHz 出现问题、我将继续研究这个问题。  同时、您能否收集 MCLK 的示波器截图?

    -Jeff

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    亚历山大  

    我可以在工作台设置上重现此问题。  我在 FSYNC 上看到48k/样本、但当我拔下连接到 GPI2的 MCLK 时、FYNC =~14k/样本。  请确认您的19.2MHz 实际到达 GPI2引脚。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    有趣的是、我已经验证 了引脚19上是否存在19.2MHz。  但是我的19.2MHz 的质量很差。  这是一个看起来像我的振荡器驱动器的难看输出、但它正在挣扎。  TLV PLL 可能不会因此而锁定、这会导致我的两个问题(通道无法启用、并且 FSYNC 是错误的频率)。

    我已经订购了一个缓冲器、并将在星期一修补它。  然后再报告。

      

    非常感谢您持续提供应用支持。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我已经缓冲了振荡器、输出看起来要好得多。

    但是、现在我根本看不到 BLCK 或 FSYNC 输出。  检查 I2C 控制通信、我可以看到器件接受了我的所有寄存器写入、 但是、在序列结束时、当我读回 STS0和 STS1时、我看到所有通道仍处于断电状态、并且"器件处于激活模式、所有 ADC 或 PDM 通道均关闭"。  我还读回 INT_LATCHED 寄存器、以确保没有指示任何内容。

    您能告诉我 的寄存器设置出错的地方(请参阅初始帖子中的完整列表)。  我正在尝试使器件成为 ASI 总线主控。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好

    我们在达拉斯有冰、今天无法进入实验室、但您可以尝试:

    设置 BCLK_FSYNC_GATE REG 0x13 b<4>

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    已尝试、将0x94 (已更正)写入 MST_CFG0、但仍无输出。  已连接串行解码。

    保持温暖!  (我们在卡尔加里的这片冰原中生活了4个月、每年都是这样的恶劣环境)

    -A

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您的意思是0x94 A 尝试、对吧?

    -Jeff

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    很抱歉、是(已在上面更正)。  我尝试 REG 0x13=0x94

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    亚历山大、您好、今天道路仍然不好。  将很快回到实验中尝试。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    亚历山大、您好、您还对此有什么问题吗?  我回到办公室。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    真主早上杰夫,是的,这个问题还没有得到解决。  IM 与1月31日(以上)在同一地点

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我用一个类似的器件 ADC5140尝试了这种方法、并且能够以48kHz 的频率从器件中获得 BCLK 和 FSYNC。  这是我使用的脚本。  0x75上的麦克风禁用实际上是我在这里看到的唯一区别。  我将继续查看我是否可以重现您的问题。

    w 98 73 c0
    w 98 74 c0
    W 98 07 70
    w 98 0c 20.
    宽98 14 44
    宽98 13 84
    宽98 2c 20.
    宽98 75 60
    W 98 00 01

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    好的、已经做了一些修正、但我认为这可能是...

    请在复位后仅尝试此脚本、没有其他 I2C 写入。

    w 98 73 c0
    w 98 74 c0
    W 98 07 70
    w 98 0c 20 <--这是你尚未写的,所以这可能是错误
    宽98 14 44
    宽98 13 84
    宽98 2B 20.
    W 98 75 E0

    此外、您还可以尝试使用 r 98 15 01、以查看运行的位速率。