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.

[参考译文] TAS2559:数据表:不完整的寄存器规格

Guru**** 2473270 points
Other Parts Discussed in Thread: TAS2559

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/806246/tas2559-datasheet-incomplete-register-specification

器件型号:TAS2559

参考 数据表:"TAS25595.7W D 类单声道音频放大器、具有 H 类升压和扬声器感应以及立体声处理功能"、NOVEMBER2016–REVISEDFEBRUARY2019。

数据表似乎不完整或过时。

一些寄存器规范包含保留位字段。 但是、其中一些位字段用于 Android 驱动程序和 PPC。

寄存器 b0p0r22 (DSP_CTRL)中的保留位字段在数据表(第9.2.2章)中使用、无需任何说明。

寄存器 b0p0r2f (ASI_CTRL_2)中的保留位字段由 PPC 设置。

寄存器 b0p0r07 (MUTE)中的保留位字段在 Android 驱动程序中设置、无需任何说明。

此外、Android 驱动程序正在使用未指定的寄存器、例如 b64p0r40 (TAS2559_VBOOST_CTL_REG)和 b0p2r7 (TAS2559_Sleep 模式_CTL_REG)。

PLL 寄存器的描述也丢失了、在配置 PLL、时钟源、时钟分频器 等时、时钟树图将非常有用

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

    欢迎使用 E2E、感谢您关注我们的产品!

    我将查看这一点并尽快回答。

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

    您能否提供有关已配置的位(即使它们被标记为"保留")的更多详细信息? 您提到的寄存器中的某些位不是保留的、当 Android 驱动程序或 PPC 使用它们时、必须进行配置。

    此致、
    Luis Fernando Rodríguez S.
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Luis、
    是的、下面是一些示例:

    1.数据表第9.5.2章包括以下行:
    W 98 22 22 #使用默认系数并在 ROM 模式2中运行 DSP

    根据数据表、只定义了位0:3。 位5被保留。

    2 PPC 在 PRE 部分中将寄存器 b0p0r2f 设置为0x2a (模式1配置)
    # PRE 开始
    w 98 00 00
    宽98 7f 00
    w 98 2f 2a
    (...)

    根据数据表、该寄存器中只定义了位0:1。

    3. Android 驱动程序[1]在函数中使用一些未定义的寄存器:tas2559_set_VBoost()
    - TAS2559_VBOOST_CTL_REG
    - TAS2559_Slepmode_CTL_REG
    - TAS2559_VBST_VOLT_REG

    4. Android 驱动程序[1]在函数中使用未定义的寄存器:tas2559_SA_DevChnSetup()
    - TAS2559_SA_CHL_CTRL_REG

    5.未指定 PLL 寄存器
    PLL 块中的所有 PLL 寄存器(PPC 的输出)都未指定。
    TAS2559技术文档[2]是指描述 PLL 和时钟配置("音频器件的 PLL 和时钟配置"[3])的文档、但是这个文档不包括对 TAS2559编解码器(?)的描述。

    /Frank

    [1]: git.ti.com/.../tas2559-core.c
    [2] www.ti.com/.../technicaldocuments
    [3] www.ti.com/.../slaa892.pdf
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Frank、

    您提到的一些保留寄存器与内部特定的 DSP 活动相关。 经过一些研究、我发现以下信息:

    1.- w 98 22 22 #使用默认系数并在 ROM 模式下运行 DSP 2.

    为了确定在 DSP 上电时是否将 ZROM 复制到 YRAM、可以写入位5。

    0:  DSP 上电时,ZROM 的默认系数不会复制到 YRAM 中
    1:  DSP 上电时,ZROM 的默认系数被复制到 YRAM 中

    2: 2 PPC 在预分节中将寄存器 b0p0r2f 设置为0x2a (模式1配置)

    D7-D3位与电流感测延迟有关。

    0:延迟对 ADC 输出进行0个 ADC 模块时钟周期
    1:延迟一个 ADC 模块时钟周期的 ADC 输出
    2:将 ADC 输出延迟2个 ADC 模块时钟周期
    (笑声)
    (笑声)
    (笑声)
    15:将 ADC 输出延迟15个 ADC 模块时钟周期
    16:将 ADC 输出延迟16个 ADC 模块时钟周期

    3.- B0_P2_R05。

    TAS2559_VBOOST_CTL_REG

    这一点并未完全描述、但它似乎与斜坡 VBOOST 斜坡相关。

    位 D7-D5:

    0: 斜坡高度= 6.7。 升压 div = 14、(ram_bst_div_reg)
    1: 斜坡高度= 5.8。 升压 div = 12、(ram_bst_div_reg)
    2: 斜坡高度= 5.3 (Vboost < 6.5V)。 升压 div = 11、(ram_bst_div_reg)
    3: 斜坡高度= 4 (Vboost < 5)。 升压 div = 8.3、(ram_bst_div_reg)
    4: 斜坡高度= 7.7。 升压 div = 16、(ram_bst_div_reg)
    5: 斜坡高度= 8.5。 升压 div = 17.7、(ram_bst_div_reg)
    6: 斜坡高度= 8.9。 升压 div = 18.7、(ram_bst_div_reg)
    7: 斜坡高度= 10。 升压 div = 21、(ram_bst_div_reg)

    D4-D0位。 保留。

    TAS2559_Slepmode_CTL_REG

    这个与省电模式相关。

    D7: EN_SLEEP_MODE_DAC
    D6: EN_SLEEP_MODE_BOOST
    D5: EN_SLEEP_MODE_VSNS
    D4: En_sleep_mode_iSNS
    D3: 0:EN_DAC_pwr 保存寄存器= 0
        1:强制启用 DAC 的省电模式。 en_DAC_pwer_save_reg = 0
    D2-D1 0保留所有值。 请勿写入非默认值
    D0 0… SLEEP_MODE_reg

    TAS2559_VBST_VOLT_REG

    位 D7-D5。 保留

    D4-D3位。

    0:过压和过热检测输出被屏蔽、直到 D 类加电后100us
    1:过压和过热检测输出被屏蔽、直到 D 类加电200us
    2:过压和过热检测输出被屏蔽、直到 D 类加电500us
    3:过压和过热检测输出被屏蔽、直到 D 类加电1ms

    D2-D0位。

    0:Rev B 的最大升压电压= 5.6V
    1:Rev B 的最大升压电压= 6.1V
    2:Rev B 的最大升压电压= 6.6V
    3:Rev B 的最大升压电压= 7.1V
    4:Rev B 的最大升压电压= 7.6V
    5:Rev B 的最大升压电压= 8.1V
    6:Rev B 的最大升压电压= 8.6V
    7:Rev B 的最大升压电压= 9.1v、请勿使用–不推荐使用

    4.- TAS2559_SA_CHL_CTRL_REG(B0_P0_R08 -保留位说明如下)

    D7-D6:

    0:当 D2-D1 = 3时、使用此 Isense 增益设置、Isense Channel 满量程输出对应于1.25A
    1:当 D2-D1 = 3时、使用此 Isense 增益设置、Isense Channel 满量程输出对应于1.5A
    2:当 D2-D1 = 3时、使用此 Isense 增益设置、Isense Channel 满量程输出对应于1.75A
    3:不支持

    D5-D4:保留。 寄存器值修改不会有任何更改。

    5.未指定 PLL 寄存器。

    你是对的。 尚未指定 PLL 系数或分频器。 到目前为止、我们建议从 PurePath 控制台获取寄存器配置。 数据表正在进行更新、这是将包含的更改之一。

    这就是我能找到的所有内容。 希望这对您有所帮助。

    此致、
    Luis Fernando Rodríguez S.

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

    您好、Luis、

    非常感谢您的回答。

    我期待获得数据表的更新版本。

    由于 PLL 参数是在运行时设置的、因此使用 PPC 生成 PLL 参数并不容易。

    但是 、我可以执行一些反向工程、并为不同 MCLK/wclk 的组合创建具有寄存器值的表。

    是否有机会获得以下寄存器的说明?

    #define TAS2559_PLL_VAL_REG                  TAS2559_REG (100、0、27)
    #define TAS2559_PLL_J_VAL_REG                  TAS2559_REG (100、0、28)
    #define TAS2559_PLL_D_VAL_MSB_REG              TAS2559_REG (100、0、29)
    #define TAS2559_PLL_D_VAL_LSB_REG              TAS2559_REG (100、0、30)
    #define TAS2559_PLL_?_VAL_REG              TAS2559_REG (100、0、32)

    /Frank

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

    您好、Frank、

    这些是与 PLL 参数以及 N 和 M 分频器相关的寄存器。

    内部 PLL 似乎是通过 PLL 参数 P、J 和 D 配置的。主时钟或 OSC_CLK 源乘以表达式:

    (J.D)/P.

    请注意、D 是一个十进制值。

    P 值支持从1到64的值。 (#define TAS2559_PLL_P_VAL_REG)

    D 分为两个寄存器。 作为寄存器30 LSB 的8个位(#define TAS2559_PLL_D_VAL_LSB_REG)。 寄存器29、接下来的6个 MSB。 (#define TAS2559_PLL_D_VAL_MSB_REG )

    J 参数支持从1到64的值。 (#define TAS2559_PLL_J_VAL_REG )

    此 PLL 配置允许具有1MHz 至20MHz 的灵活输入时钟。

    寄存器32和33分别用于配置 N 和 M 分频器。 这些分频器会降低 PLL_CLK 频率、其结果会进入 DAC_MOD_CLK。

    寄存器32和33的 MSB 用于为分频器加电或断电。 其余位用于配置1到127的分频器。

    建议您修改运行时序列、您可以使用 PPC 中的 I2C 窗口记录寄存器修改。 这样、您就可以访问启动例程并根据需要修改寄存器。

    但愿这对您有所帮助。 如果您对此有更多问题或意见、请告诉我。

    此致、
    Luis Fernando Rodríguez S.

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

    路易斯、

    我认为我需要了解的所有寄存器信息。

    感谢 您的出色支持。

    /Frank