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.

[参考译文] PCM5142EVM-U:寄存器配置

Guru**** 1555290 points
Other Parts Discussed in Thread: PCM5101, PCM5102, PCM5142EVM-U, PCM5142
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1203065/pcm5142evm-u-registers-configuration

器件型号:PCM5142EVM-U
主题中讨论的其他器件: PCM5142、PCM5101、PCM5102

大家好、

您能在下面询问我们的客户吗?

我在音频领域使用的是 PCM5142EVM-U。 在该评估板上、有一个称为 PCM5142的芯片(DAC)、该芯片可编程

要对它编程,我使用软件: CodecControl 就像你可以看到的。  我不了解寄存器配置的相关信息。

此致、

Danilo.

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

    大家好,Danilo,

    您能解释一下您的困惑是什么吗?

    谢谢!

    Jeff McPherson

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

    大家好,Danilo,

    这是 具有标准定义的经典代码结构;

    w E0  03. 38.

    w 在中、使用地址 E0在器件地址中铁氧体磁珠 寄存器 03,值为38

    一切都是十六进制的、因此例如 h'38 => 0011 1000

    现在、您可以转到数据表中的寄存器03、看看每个位(从 b7...b0)会做什么。

    我 要结束这个话题,但可以自由地问 ,如果这不是回答他的问题。

    此致、

    Arash

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

    尊敬的 Arash:

    感谢您的解释。 请参阅以下客户的跟进查询。

    谢谢您的回答、但有一些我不明白的东西。 我希望编程 A FS = 48 [KHz]、因为在 TP13上实际上有44.1 [KHz]、无法修改参数。 您能给我好的注册吗?

    我有一点失落、因为这个44.1 [KHz]的频率来自 MCU、这意味着 MCU 使用这个 FS 命令 PCM5142、而我不需要这个。 我想使用48[KHz]。

    此致、

    Danilo.

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

    您好,Danilo,

    如果他指的是 EVM 上的测试点、则他 在 TP13处测量到44.1kHz、即 SRC_LRCLK。 请注意、    还需要检查来自 TAS1020 (TP28)的 LRCLK。 然后、该 LRCLK 作为 输入进入 SRC4292、  输出为  SRC_LRCLK、即 TP13。 因此、他需要回溯到 clk 在哪里更改。 我的猜测是他将22.5792MHz 作为 MCLK、而不是24.576MHz、因此将获得48kHz 的44.1KHz.instead 频率。

    请注意、EVM 具有一个 SRC 的 MCLK 选择器、该选择器可选择 b/w 不同的 MCLK。 请  同时检查该软件的设置(用户指南中的第23页)。

    此致、

    Arash

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

    尊敬的 Arash:

    我们的客户在下面有一个后续查询。

    谢谢你的回答,我会检查,然后回来告诉你,如果它是好或不好.

    顺便说一下,如果它是48 [KHz]的解决方案,它很好,但不可能生成像96或192[KHz]这样的采样率?

    此致、

    Danilo.

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

    您好,Danilo,从我看到的原理图中,您可以使用我提到的相同开关(将开关设置为 HLL)发送您选择的 MCK。

    此致

    Arash

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

    尊敬的 Arash:

    请在下方查看我们的客户反馈。

    我的最后一个问题是下一个:

    正如您知道的、我正在对评估板 PCM5142EVM-U 进行编程、例如、我希望获得192 [KHz]的采样率。 我使用您的软件 CodecControl,有行设置 FS (实际上是 FS = 96 [KHz]),因为:

    w E0 04 01 (此行位于名为"PCM5101_USB_Playback"的代码中)我的屏幕截图"Register 04 Problem"(寄存器04问题)显示了该代码。

    Fs 确实是96 [KHz](因为你除以256 )。 有了这些信息,我去检查 PCM5142的数据表,我看到这不是良好的寄存器,如你可以看到(图片被称为:注册04问题01 )。 此寄存器与 PLL 相关、因此它不是正确寄存器。

    因此、通过直觉、我将 w E0 04 01更改为 w E0 04 10、样本率确实更改为 FS = 192 [KHz]。

    我有点失落、因为在 PCM5142的数据表中、它与寄存器04没有关系。
    我看到我正在使用的软件是 PCM5101 (引用他的名字"PCM5101_USB_Playback"),但当我写在寄存器04时,它仍然在 PCM5142上工作。 您是否有 PCM5101的寄存器映射? 或许有用。

    此致、

    Danilo.

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

    您好,Danilo,

    我 没有 看到屏幕截图,他提到,但我想我可以理解他的问题没有他们。

    他需要查看 PCM5142数据表中的寄存器映射 、即使他使用的  GUI 与其他器件不同。  

    请注意、在寄存器04中  、B1是保留的、不能更改它; 因此、当他将寄存器04的值从01更改为10时  、他只是将 B0从1更改为0。 现在、让我们来看看 B0及其功能:  

     Bit0表示  启用或禁用内部 PLL。  默认情况下,PLL 已启用。 一旦 PLL 被禁用、主时钟将被切换到 SCK。

    另请注意、PCM5102数据表明确指出 "对于标准音频时钟而言、1MHz 至50MHz 之间的 SCK 速率不常见、仅在软件模式下受支持、通过配置各种 PLL 和时钟分频器寄存器、仅在 PCM512x 和 PCM514x 器件中可用。

    此致、

    Arash

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

    尊敬的 Arash:

    很抱歉、我忘记附上客户的屏幕截图了。 请查看下面的屏幕截图。 您在上面附上的图像中似乎有错误。 您能在此处重新发布吗? 谢谢!

    此致、

    Danilo.

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

    您好,Danilo,

    没有为您正确打开的图片实际上在  表58中、您 也在 上面有它。  我想他是通过更改 PLLE 位来禁用 PLL、这样主 clk 就接管了。 一旦 PLL 被禁用,他可以改变主 clk 并查看效果。  

    此致、

    Arash

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

    尊敬的 Arash:

    请查看我们客户的此更新。

    我加载代码"PCM5101_USB Playback"、我指定不修改代码的任何行。

    如果我读取寄存器04中的值、我可以看到读取的值为:



    您可以看到、写入的内容和读取的内容并不是一回事。
    如果我参考数据表、这些位会位于这些位置。  



    这是不一致的。 这就是为什么我问是否没有其他文档? 数据表是否正确?

    此致、

    Danilo.

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

    丹尼洛, 通常当一个位被保留,这意味着你 不应该或不能写入它。   如果您愿意、也可以读取它、但 请勿 写入。

    我在 前面提到过。 我们可以  在 B0中进行写入(即使 B4是只读的  、但器件可以写入) 、这样  您就可以在适用时读取它以查看 PLL 是否已锁定。  

    因此、让我们按照此过程来找出此寄存器的情况

    重新开始并打开 GUI,读取寄存器04。 注意 B0和 B4的值、然后只改变 B0 (禁用/启用 PLL) 、然后再次读取它以查看它是否写入正确。

    他应该在脚本中添加以下3行:

    R DEVICE_ADDRESS registerx04  01 (默认应读取一些像 xxx0xxx1这样的值,表示 PLL 已启用,希望它已锁定)

    w device_address registerx04 new_value  使用一个 与您读取的代码完全相同的代码、但 LSB 应更改为0、即 xxxxxxx0

    R  DEVICE_ADDRESS  registerx04  01 现在希望他读取 xxxxxxx0  

    在此测试之上、他可以写入另一个寄存器、然后读回该寄存器、以查看该寄存器是否与 预期结果匹配。  

    我使用了 不同的 GUI (PUREPATH Consul ),我能够写和读同样的代码返回到 Reg 04。 所以它是为我正确写入的。 您是否可以尝试使用不同的 GUI 、看看它是否可以解决您的问题?

    除产品页面中提及的内容外、我们没有任何其他文档。 我 认为数据表也是正确的、它于2016年进行了更新。

    此致、

    Arash

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

    尊敬的 Arash:

    这是我们客户的反馈。

    当我加载: PCM5101_USB_Playback (没有修改)我可以看到 PLL 被启用(默认情况下寄存器04 )。 当我检查(图片名: LRCLK_BCK_SCK ):

    TP13:LRCK (fs = 96 [KHz])

    TP11:bck:6.14 [MHz]

    TP10:24.576 [MHz]=SCK、因为寄存器13是000 (PLL 基准时钟是 SCK)。

    这意味着: FS =(PLLCLK x K x R)/(2048 x P) WI K = J.D

    在脚本中,它是写在注释中:

    #设置 P=2, J=8, D=0
    因此:fs =(24.576 [MHz] x 8.0 x 1)/(2048 x 2)= 48 [HZ]

    问题1:我计算的 FS 有误吗?

    我从 udacity 发送一个1[KHz]的 sinus、其中 fs = 48 [KHz]。



    正如您在 TP13中看到的、LRCK 不是很好、所以我想更改此 FS。 我希望 PLL 提供48 [KHz]的 FS。

    有一张评估板图片、您可以看到我没有拆除跳线。 我想应该做到、但我看不出是哪一个。



    问题2:我应该做些什么才能在 TP13上实现此 FS,我必须更改哪些寄存器/跳线?

    最后、我会测量 THD、使用此配置后、THD 一点也不好。

    此致、

    Danilo.

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

    您好!

    我想他有关 第04条读数的问题已经解决 、现在他有一个有关 PLL 系数的新问题。

    在做任何事情之前、请让他参考表33、注意 FS=48K、BLK 为3.07MHz、对于 FS:96kHz BLK 为6.14MHz (他正在正确报告)  

    另请他参考 用户指南来 设置跳线、 并按照该指南进行操作。  

    板中间的一系列跳线将左侧连接到右侧,因此 底部的3ed 跳线将 TP28 (左)上的信号传递 到 TP13 (右)。

    如果他使用 AP 或 Audacity 提供48K、则应在 TP28上阅读该内容。 拆下中间跳线并在 TP28上测量。   

    关于他的计算、那么当启用了 PLL 时

    PLLCK =(PLLCLKIN×K×R)/P

    因此 对于 SCLK (PLLCLKIN ) = 24.576 MHz 和  FS*N= PLLCLK , 应选择 N 使结果  处于范围之内。

    另请注意  

    •64MHz≤(PLLCKIN x K x R/P)≤100MHz (在 VREF 模式下)

    •72MHz≤(PLLCKIN x K x R/P)≤86MHz (在 VCOM 模式中)

    此致、

    Arash

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

    尊敬的 Arash:

    请在下方查看我们的客户回复。

    感谢您的回答。

    我更好地了解我的问题在 TP28引脚上的位置。 当我发送一个 Fs = 48 [KHz]的10 [KHz]正弦波时  

    这是我在 TP27、28和29上读取的关于表33的频率值。


    我可以在 TP28 (中间的跳线已被移除)上读取、fs = 44.1 [KHz]、此时它应该为48 [KHz]。 我不明白为什么我得不到正确的 FS?

    我可能对我的问题的根源有所了解、这可能是由于在声音的窗口设置中、采样频率保持不变、并且 DAC 将自身设置为该采样频率而不是其真实性。 但遗憾的是、我无法更改采样率。 您可以在中看到设置:USBAudio-EVM 设置。

    此致、

    Danilo.

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

    Danilo,我得到48K,我的系统,它是灰色的,我无法更改它。

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

    尊敬的 Arash:

    我刚刚收到客户的更新。

    我对 PLL 配置有疑问。 在代码"PCM5101_USB_Playback"中有3行描述如何设置 PLL、其中 p = 2和 K = 8 (图片 PLL_configuration)。

    不幸的是,这些寄存器0F,10,11(15,16,17)在数据表中不存在(图片: pll_configuration_problem ),为什么?

    即使我们从数据表的寄存器开始允许修改 P、J、D 等... 也就是说,在 hexa 中的寄存器:14,15,17(十进制:20,21,23)我们从来没有在代码中找到这些寄存器(但它是指定的注释:# set P=2, J=8, D=0这些参数被配置)。

    那么我们可以在哪个寄存器中修改它们呢?

    此致、

    Danilo.

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

    Danilo,

    寄存器20、21和23参考数据表、是用于设置 PLL 系数的寄存器。  表35中也提到了这一点。 PLL 寄存器。

    此致、

    Arash

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

    尊敬的 Arash:  

    你好。 感谢您的答复。 我们收到了客户的反馈。 请见下方。

    "您好、我想获得 PCM5142EVM-U 评估板的帮助。我在芯片中尝试了我的代码、但没有发生任何情况(无法写入寄存器)如果有人能向我解释为什么我的代码不起作用、那将会很好
     
    最后一次查询是关于寄存器的配置、现在已经完成了配置
    今天我获得了访问 PurePath Studio ,但我只使用 CodecControl。
    但是、我生成了一个代码(随附 code.txt)
    这段代码是混合的,我从"PCM5101_USB Playback"数据库开始,并修改了它
    我的问题是运行后、您可以看到、代码寄存器没有发生变化
    代码正常工作(我的意思是他被发送到 PCM5142)、输出时我有一个正弦波
    当我读取数据时、我修改的所有寄存器都相同、为什么?
    例如、寄存器25 (Hexa)是相同的
    问题是、我的代码中有一些内容是我不会更改的
    只需添加一点、我不是使用 Pureath、而是在寄存器中进行写入
    通常、它仅适用于编码寄存器

    请帮助提供建议。 感谢您的支持。

    此致、  

    Marvin 酒店

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

    尊敬的 Marvin:

    我今天在一个首脑会议上,将在星期一看。

    此致、

    Arash

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

    Marvin、  

    您是否会要求他们执行寄存器转储、以确保他们所使用的器件的地址 是应有的地址(例如、如果地址为98、但他们使用的是 E0、则 它 无法与 IC 通信)。

    我检查了寄存器转储、EVM 上的器件地址 设置 为98、它们是否正在使用 PCM5101的 IC 地址?

    此致、

    Arash

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

    尊敬的 Arash:  

    感谢您的答复。 请查看我们的客户的反馈。

    我看到过一些可以为专家提供帮助的东西。

    当我使用代码并与器件 E0一起运行时、我可以在窗口底部看到:"EVM Status connected"、如下图所示。
    然而,如果我使用相同的代码,但与设备98我可以读:通信错误,如你可以看到在图片。
    所使用的器件型号是正确的、如果专家尝试运行我的代码、那会很有意思。

    请帮助提供建议。 感谢您的支持。

    此致、  

    Marvin 酒店

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

    尊敬的 Marvin:

    我 在上面提到了正确的 PCM5142 GUI、  也在 TI 网页上提到了这一点。    当我读取寄存器转储时、此 GUI 正确识别该部分、PCM5142的器件地址为98。

    我们无法预测  、当我们对不同器件的 脚本 (PCM5101)使用错误的 GUI 并   使用不同的地址连接不同的 IC (PCM5142)时会发生什么情况。 我猜测是 它看到 TAS1020并 确认它 已连接、 但由于地址错误而无法与芯片通信。

    我将 CodecControl 连接到 PCM5142 EVM 时、它无法识别该 EVM。

    此致、

    Arash