主题中讨论的其他器件: PCM5102A、 PCM5102
工具与软件:
您好!
下面是配置示例:
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.
工具与软件:
您好!
下面是配置示例:
您好!
我假设您在发布压缩文件之前已经验证了您提到的代码。 因此,现在我们必须处理提供给 IC 的 I2S 信号。 首先、您能否确认 clk 值以及 Din wrt LRCK 和 bck 的格式、如 表4中所述。 PCM512x 音频数据格式、位深度和时钟速率以及 图14。 I2S 音频数据格式。 请发送所使用的 I2S 图和时钟值、以便我们进行检查。
显然、电荷泵不会生成预期电压、这意味着 CLKS 无法获取该电压。
此致、
Arash
Weiwei 您好!
请参阅第10.4节"上电复位功能"。 除此之外,没有对各种电源的顺序要求。
您可以参考 寄存器转储的附加文件。 这是默认情况下的完整寄存器转储
如上所述、 请确保 CLKS 的值正确、 例如、对于2通道、32位 和16KHz Fs、 BCK 在1.024MHz 处设置正确 (表4)
此外、还要确保 DIN (wrt LRCK 和 bck) 的格式正确(图14)
此致、
Arash
尊敬的 Arash:
我似乎设法使其正常工作、显然我需要先施加一些随机 I2S 信号以完成 POR、然后再返回至待机状态。
但随后、我曾尝试将一些三角波硬编码到 PCM5122中、但 DAC 输出不会产生声波。 不确定我是否做了一些错误的事情、CLKS 至少正常:
I2S 设置:
hi2s1.Instance = SPI1; hi2s1.Init.Mode = I2S_MODE_MASTER_TX; hi2s1.Init.Standard = I2S_STANDARD_PHILIPS; hi2s1.Init.DataFormat = I2S_DATAFORMAT_32B; hi2s1.Init.MCLKOutput = I2S_MCLKOUTPUT_DISABLE; hi2s1.Init.AudioFreq = I2S_AUDIOFREQ_16K; hi2s1.Init.CPOL = I2S_CPOL_LOW;
示波器屏幕截图:
尊敬的 WeiWei:
以下是此器件用于不同用途的脚本集合。 由于可以很好地使用 I2S、因此您的设置是正确的、您可能不需要所有这些文件、但将来会非常方便。 由于该器件 可以正常使用 I2S、但 不会响应您硬编码的单波段、因此似乎不是器件问题; 我唯一的建议是确保硬编码中没有错误。 很抱歉,我不能在这方面提供太多帮助。
最新动态:
根据产品说明书描述的上电复位函数、我修改我的代码、首先启动 I2S 源几秒钟、让它退出默认复位状态、然后开始时钟树的配置。 此时、功率状态在 VOL 斜升时被中断、并且再次观察不到输出。
在我的上一步是先配置时钟树、然后启动 I2S 源时、电源状态将卡在"Wait for CP Voltage Valve"。 当然、当 I2S 再次启动时也没有输出。
这一切都令人困惑
由于您提到 它是工作正常,然后 I2S 输入,您的设置和配置(脚本/寄存器)是好的. 您提到三角波的硬编码段再次显示了问题。 请注意、所有设置都由硬件(和电路连接)以及正确的寄存器组成、然后会提供正确的输入和 CLKS。 借助 上述实验、 您所做的修改似乎会使您的设计突破、这并不是您的电路板或 IC 本身的问题。
欢迎您 将 评估板发送给我、我确认 IC 工作正常、但据我所知、我们没有其他建议。
此致。
Arash
Arash、
那么、IC 在 VOL 斜升"时停止工作的可能原因是什么? 我正在使用的非常相同的代码(不再是三角波、而是正弦波发生器)实际上适用于 PCM5102A、也适用于3线 I2S。 在我的板中、我分接了 I2S 信号并将其直接连接到 PCM5102A 模块。
然后,如果这起作用,那么它给我们留下3种可能性:
1. IC 中断
2.寄存器配置错误(驱动程序代码不是由我写的、而是被其他人成功使用)
3.原理图中的问题?
原理图:
我看了看原理图,它看起来很好,除了 我会添加一个外部上拉到软静音引脚。 另外、我们通常添加22至100欧姆串联电阻器与 I2S 线路串联(但这些更改都与您的问题无关)
我不怀疑 IC 损坏。 请记住、 根据上述测试、您提到 IC 使用 I2S 输入能够正常工作。
您正在编程的代码 和 提供的输入的握手存在问题。 我给了你一个工作代码的集合,已经被许多用户使用。 因此, 使用 正确的原理图和脚本(寄存器),如果它不起作用,问题可能是输入格式。 (例如、您将器件配置为 RJ 或 LJ 或 I2S、但输入形式 不是器件所需的、或者 CLK 不同。)
为了进一步调试,我 建议 使用相同的 输入 ,你发送到 PCM5102 (和工作正常),但这次把 PCM5122在硬件模式,看看它如何反应 . 基本上 先让它在硬件中工作、然后切换回软件模式。 在所有实验中、 也请注意电荷泵引脚。
有些 寄存器、例如您可以使用的寄存器37。 IC 具有 数字音量紧急斜降功能、它用于 I 2S 时钟错误和电源故障等情况、并且您可以将斜降速度控制为另一个调试步骤。
寄存器(如 Reg80-85)也可用于作为调试工具在 SW 模式下读取任何标志错误。
另请参阅 图63。 PCM512x 时钟分配树,并确保你正在使用的脚本是有意义的,例如)如果脚本在你在图中看到的一个多路复用中使用 SCK ,但你没有提供 SCK ,那么你会有一个问题。 这带来了另一个建议:尝试 使用提供的 SCK 进行测试。 有关更多信息、请参阅第8.3.6.4节"使用 PLL 生成时钟"。
此致、
Arash
Arash、
我查看了电路、发现 MUTE 引脚一直处于低电平(静音)、内部上拉不够强。 所以我添加了一个外部上拉,但可悲的是,这不是我要找的罪魁祸首。 仍无输出。 我使用了与您提供的代码相同的寄存器配置顺序、并且对照数据表中的表查看了 PLL 值、一切似乎正常。 但都不起作用。 令人沮丧
话虽如此、我可以在硬件模式下控制音量吗? 除了 PCM5102A、这可能是我唯一想要的额外功能。
静音 PU 电阻器 不是问题,因为您的部件使用脚本和 I2S 工作正常。
您上面显示的图与 I2S 不符、 如果您将器件编程为接收 I2S、则无法正常工作。 请参阅 图14。 I2S 格式的样子。
寄存器94时钟状态:0x40 => SCK 缺失、可以、正在使用3线 I2S
REG 95时钟错误:0x10 => 自上次读取以来发生了 SCK 暂停(我认为这不是 问题)
REG 108 模拟静音监视器:0x00 => L&R 模拟静音监视器:好像它们已静音!!
REG 114 XSMUTE Monitor : 0x03 =>它是 XSMUTE 水平检测器
请检查 第0页的以下寄存器
reg 03 bit 4和 b0应该是0、
请确保它没有静音或非常高的衰减
寄存器65 :禁用 R 和 L 通道自动静音。
寄存器9 :它是处于主模式还是从模式?
寄存器40 验证格式
以上是查找 代码或设置中可能存在的问题的充足提示( I2S 格式)。 如果你仔细验证他们,仍然有问题,我们 建议您尝试在上一篇文章中的建议.
1)使用 SCK 在 SW 模式下尝试 。 如果在软件模式下存在有效的 SCK、BCK 和 LRCK、器件将根据需要自动配置时钟树和 PLL 以驱动 miniDSP。
2) 2)在硬件模式下使用有问题的 IC、并 对其应用 I2S。 如果它工作正常,那么我们肯定知道,它是寄存器,而不是输入格式,而不是静音或 其他东西。 在这种情况下、您仍需要检查上述寄存器。
此致、
Arash
Arash、
1)和2)我将需要设计一个新的分线板来测试它、因此在这之前、我想我可以先检查寄存器。
关于寄存器108、我曾尝试通过页1寄存器100模拟静音控制来禁用它、但仍然返回0x00。
寄存器03返回0x00。 因此它不会静音、不确定为什么模拟静音这么说。
寄存器61/62返回0x00 L&R 音量已达到最大值
寄存器65设置为禁用
寄存器9返回0x00。 因此它设置为从模式。
寄存器40设置为0x03 (32位格式、因为 I2S 数据流采用32位数据帧)
至于示波器读数、我还没有逻辑分析仪、但可以确保其与数据表中建议的 I2S 格式略有出入。 我正在使用 STM32生成 I2S 源、设置为32位帧中的32位数据、采样率为16K (该 BCK 设置为围绕1.024MHz)、如果 I2S 流错误、肯定这在 PCM5102A 中也不起作用? 但该同一个源确实使 PCM5102A 能够生成稳定的1KHz 正弦波。
显然,您发送的波形不是 I2S 格式,它看起来更像 LJ。 一旦您告诉器件需要 I2S 格式(寄存器0h40) 、除 I2S 格式外、它将不支持任何其他格式。
第1页中没有寄存器100。 第12.1.1.3节 列出了第1页寄存器并且它只有1到9、没有 寄存器100。 要更改模拟静音行为、您需要转至页1/寄存器6。 由于 此位启用或禁用数字静音后的模拟静音、因此我怀疑它导致了问题、但在调试过程中、最好确认。
如果 I2S 格式问题已得到解决、但仍然存在问题、则 应通过我们要求的两个测试进行进一步调试。
此致、
Arash