大家好、
我有一个客户希望使用 TAS5822。 他们目前在导出寄存器映射值和 I2C 读取(读取方式不同)方面面临问题、甚至是在 进行任何操作之前的初始启动。
他们尝试 通过 I2C 写入一些寄存器、可以看到值发生了相应的变化、但当他们尝试导出寄存器映射并进行比较时、导出的值与他们写入的值不同。
您能对此提供建议吗?
谢谢。
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.
大家好、
我有一个客户希望使用 TAS5822。 他们目前在导出寄存器映射值和 I2C 读取(读取方式不同)方面面临问题、甚至是在 进行任何操作之前的初始启动。
他们尝试 通过 I2C 写入一些寄存器、可以看到值发生了相应的变化、但当他们尝试导出寄存器映射并进行比较时、导出的值与他们写入的值不同。
您能对此提供建议吗?
谢谢。
Shadow、
感谢您的答复。
e2e.ti.com/.../EndSystemIntegration.h
客户设法抑制了当前状态.h 文件并读出一些寄存器、值是不同的、例如0x33、0x38等、我可以向您确认一下哪个是正确的吗?
此外、客户还 需要一整套寄存器设置来初始化要设置为 TDM 音频解码器的芯片。 您能为您提供帮助吗?
此致、
欧内斯特
您好,Ernest
可以看到、我们对转储的 I2C 代码存在一些误解。
PPC3软件的寄存器映射是正确的值。 但这些寄存器设置实际上不会转储。 PPC3将主要转储与音频调优相关的寄存器。 如果我们要使用与默认值不同的值、则应在转储代码的末尾添加所有数据表寄存器。
例如、转储文件、我们可能认为我们将0x9a 写入0x33寄存器。 但实际上、在这些代码之前有(0x00、0x2a)、这意味着我们更改为2a 页、寄存器0x33位于2a 页、与数据表寄存器不同。
在大多数情况下、数据表寄存器可能会将它们保留为默认设置。 对于 TMD、数据表第7.3.6章介绍了如何设置它。 如果您有任何具体问题、敬请告知。
您好、Emest
抱歉、系统中不知何故错过了该 Thread。
您最好从侧面执行转储,然后我们将其导入到我们的 EVM 中以进行测试
正如我提到过的、转储代码仅包含与调优相关的寄存器、为了设置 TDM、我们必须根据数据表设置寄存器。 只需要设置寄存器33h 和34h。 将位[5:4]设置为 TDM、b'01。 位[3:2]需要根据客户的 LRCLK 进行设置。 位[1]:0以选择字长。 寄存器34h 主要用于设置偏移、客户可以首先将其忽略。
我建议您引导他们使用 I2S 格式开始播放。 如果设备仍然无法工作、则会出现其他问题、需要查明。 然后更改为 TDM 格式、并设置33h 寄存器。 如果仍然存在时钟错误、需要检查时钟频率和比率、如果它们符合数据表要求。
Shadow、
非常感谢。
是的、我们默认尝试了 I2S、2个通道可以正常工作。
设置为 TDM2时、24位。 播放24位、48kHz 的音频曲目、左右声道被交换、但右声道的输出失真。
这就是我们设置的值。
我们尝试设置为32位 TDM2。 播放24位的音频曲目、48kHz、左右声道已交换、这次音频声音正确。
这是设置、
然后、我们尝试设置为16位 TDM2。 播放16位48kHz 的音频曲目、左声道仍然 交换;当我们播放单声道、仅右声道时、评估板将关断。
这是设置。
请提供建议。
此致、
欧内斯特
您好,Ernest
首先我们需要明确、客户说、16位/24位/32位是每个插槽的总长度、还是有效位?
总长度24位、应如下所示、这是数据表意思。 每个插槽只有24位、并且彼此相邻。
只有位24有效、可能看起来如下所示。 这实际上仍然是32位的插槽大小,只适用于每个插槽,使用24位。 根据您的描述、它们设置了32位、正常工作、但只能交换、很可能是在这种情况下。
您需要确保在每个工作条件下的 SCLK 和 LRCLK 频率是多少、使用示波器进行测试。
换用不是什么大问题、只需换用输出电缆或扬声器即可。 他们要么在硬件中错误地对待左/右通道、例如原理图或电缆、要么在 SDIN 线路上放置正确的左/右通道信号。