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.

[参考译文] LM49350:将数据从端口1路由到端口2

Guru**** 2455560 points
Other Parts Discussed in Thread: LM49350, LM49370

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/746275/lm49350-routing-data-from-port-1-to-port-2

器件型号:LM49350

您好!

我正在尝试将音频数据从端口1路由到端口2。 数据通过 I2S 从处理器发送到端口1。

下面我将共享我的寄存器设置:

寄存  器值

0x01        0x00
0x02        0x00
0x03        0x00
0x05        0x7d
0x07        0x1f
0x40        0x00
0x41        0x00
0x42        0x00
0x43        0x0A  -- 这选择将哪个输入馈送到音频端口2的 TX 通道。
0x44        0x09
0x45        0x00
0x50        0x01
0x54        0x1b
0x55        0x02
0x56        0x02
0x01        0x00
0x11        0x02
0x12        0x01
0x13        0x03
0x14        0x02
0x30        0x31
0x50        0x21
0xA0        0x05
0xa8        0x1f
0xa9        0x1f
0x50        0x07
0x60        0x1f  --使能端口2的 TX、RX 和时钟。
0x00        0x03

我无法获取推送到端口2上端口1的确切数据。 无论 我正在播放哪个文件、我都将 port2_sync 时钟设置为1MHz。

即使我播放16KHz 或44KHz 的文件、时钟也始终在端口2中提供一个常量值。

是否有任何寄存器设置需要更改才能获得端口2的确切输出?

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

    您是否打算在主模式下使用端口2? 如果您确实希望使用主模式、则需要设置端口1和2的时钟。 您似乎没有设置它们、因此 BCLK 的16MHz 可能是 DAC_SOURCE _CLK (寄存器0x51/61中的默认分频器为0)、则默认同步率为每个 FSYNC 16个 BCLK。 您将需要使用 Reg0x61-66来设置时钟。

    如果不希望端口2处于主模式、请关闭0x60中的位3和位4、然后也设置0x 64-66。

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

    谢谢 Steve、

    LM49350中是否有任何采样频率转换器(SFC)?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    sayooj、
    是的、您可以使用 LM49350将采样率从一条 I2S 总线转换为另一条 I2S 总线。 请查看下面的应用报告。 这适用于 LM49370、但基本思路不变、LM49350只是具有更先进的音频串行接口。

    www.ti.com/.../snaa039a.pdf

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

    我的端口1将处于从模式、端口2将处于主模式。
    我正在播放具有以下规格的 wav 文件:
    MCLK:2048000Hz、BCLK:512000Hz、bit_width:16、channels:2、rate:16000Hz

    我能够在端口2上获得相同的 BCLK 和 FSYNC、但端口2的 FSYNC/BCLK 与端口1的 FSYNC/BCLK 相比有20微秒的轻微相移。
    相移是否正常?
    这些是我的寄存器设置:
    0x01 0x00
    0x02 0x00
    0x03 0x00
    0x05 0x7d
    0x07 0x1f
    0x42 0x00
    0x43 0x0a
    0x44 0x09
    0x45 0x10
    0x50 0x01
    0x54 0x1b
    0x55 0x02
    0x56 0x02
    0x01 0x00
    0x11 0x02
    0x12 0x01
    0x10 0x03
    0x13 0x03
    0x30 0x01
    0x50 0x21
    0xA0 0x05
    0xa8 0x1f
    0xa9 0x1f
    0x50 0x07
    0x61 0x07
    0x62 0x00
    0x63 0x02
    0x54 0x27
    0x64 0x27
    0x55 0x02
    0x65 0x02
    0x66 0x02
    0x60 0x1f
    0x00 0x03

    您能否验证寄存器设置是否正确?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    sayooj、

    您的寄存器设置非常混乱。 我已经对您的配置进行了评论、您能检查一下这一点并确保它是您想要发送的内容吗?

    0x01 0x00 #PMC CLK 源自 MCLK
    0x02 0x00 #OMC_CLK_DIV = 1
    0x03 0x00 #PLL CLK 源= MCLK、
    0x05 0x7d #PLL N = 127
    0x07 0x1f # P1分频器= 16
    0x42 0x00 #未选择输入
    0x43 0x0a #音频端口2 TX 使用 Port1_RX_L 和 Port1_RX_R
    0x44 0x09# DAC 输入选择端口1 R 和端口1 L
    0x45 0x10 # MXR_CLK_SEL MCLK
    0x50 0x01 #端口1接收立体声数据
    0x54 0x1b #端口1->16位 RX 和 TX
    0x55 0x02# RX 模式:I2S 模式,MSB 对齐
    0x56 0x02 # TX 模式:I2S 模式、MSB 对齐
    0x01 0x00 #PMC CLK 源自 MCLK
    0x11 0x02 # Left DAC -> Left HP
    0x12 0x01 #右 DAC ->右 HP
    0x10 0x03 # DACR -> LS OUT DACL->LS_OUT
    0x13 0x03 # DACR + DACL -> AUX OUT
    0x30 0x01 # DOSR = 128、DAC_CLK = MCLK
    0x50 0x21 #端口1时钟相位-PCM (TX 在上升沿、RX 在下降沿)
    0xA0 0x05 # DAC ALC_1:采样率12kHz、限幅器启用。
    0xa8 0x1f #DAC_L_level (0xA8)=-30dB
    0xa9 0x1f # DAC_R_level =-30dB
    0x50 0x07 #端口1 =立体声 RX 使能、TX 使能。 时钟相位正常 I2S。
    0x61 0x07 # CLK Gen2分频器= 4
    0x62 0x00 # Synth denim 1/1、denom=128
    0x63 0x02 # CLK_GEN_1 = 32个时钟周期
    0x54 0x27 #数据宽度、RX = 8、TX = 20?
    0x64 0x27 #是否与端口2的上面相同?
    0x55 0x02 # RX 模式:I2S 模式,MSB 对齐
    0x65 0x02 # RX 模式:I2S 模式,MSB 对齐
    0x66 0x02 # TX 模式:I2S 模式、MSB 对齐
    0x60 0x1f #立体声使能、RX 使能、TX 使能、主机模式使能。
    0x00 0x03 #芯片使能、PLL1使能、PLL2使能

    此致、
    -Steve Wilson