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.
https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1274661/tas2770-tas2770
器件型号:TAS2770团队成员
在我们的项目中、我们 计划 将 TAS2770部分音频放大器与编解码器
当我们在线登记以获得驱动程序支持时、我们能够获得器件 TAS2552的支持。
这两个器件是否兼容?
如果不能、请分享 TAS2770的驱动程序支持
尊敬的 Divya:
您可以在 TI git 中找到参考驱动程序: tas2770sw-android/tas2770sw-android -用于德州仪器 TAS2770的 Android 软件。 (TI.com)
此致、
-Ivan Salazar
应用工程师
伊万·希
感谢更新
当我们 检查 i2cdump 时、所有寄存器都处于默认的复位状态、而且在此阶段、我们 无法听到音频
所以、您能告诉我们需要为扬声器播放配置的寄存器列表
尊敬的 Divya:
这是正确的默认复位值、可在软件关断模式下设置器件。 您至少必须通过将页0寄存器2位1:0设置为"00"来启用该器件、这会使器件进入工作模式。
您可以使用 PPC3软件配置任何所需的特性、然后使用"Export I2C"工具生成配置文件。 头文件(.h)应与驱动程序一起使用以定义寄存器设置。
此致、
-Ivan Salazar
应用工程师
您好
当前您共享的驱动程序与我们的内核不兼容(我们面临崩溃问题)
那么、您能否与我们共享5.4版内核驱动程序
尊敬的 Divya:
我将与我们的软件专家一起查看不同版本驱动程序的可用性。 请留几天时间来获得一些反馈。
此致、
-Ivan Salazar
应用工程师
嗨、Guy
我认为在 5.4上移植旧的 Linux 驱动程序不会导致崩溃。 请将日志分享给我们。
另外,如果旧版 tas2770 Linux 驱动程序让你不舒服,你可以使用以下代码 tas2770,但它支持内核5.10。
您需要做的额外工作是创建一个 json 文件来设置寄存器、将其转换为 bin 文件并将其编译到器件中
该指南是 doc - lpa-android-drivers/tasdevice-linux-driver - Unnamed repository;编辑此文件'description'以命名存储库。
该工具是 tool - lpa-android-drivers/pcmdevice-linux-driver - Unnamed repository;编辑此文件'description'以命名存储库。
祝你好运
升豪
您好
默认情况下、SW 寄存器设置已在处于 SHUTDOWN 状态的0x0E 中写入0x02。
我们曾尝试将 i2c 写入为0x00、但当我们回读时仍然显示0x02、这同样是软件关断
我们在这里还遗漏了其他东西吗?
请在此处获取帮助
那么、您现在使用的代码是 tas2770还是 tasdevice?
对于 tasdevice、您必须将 bin 文件放入/lib/firmware. json 文件位于 json - lpaa-android-drivers/tasdevice-linux-driver - Unnamed repository;编辑此文件'escription'以命名存储库。
您好
我们正在使用 tas2770。
您能否为48kHz 采样率 i2c 寄存器设置
此外、还需要提供什么位时钟和 MCLK 来通过此编解码器驱动音频?
是否 有寄存器 将位时钟调整为高于 所需值
您好
tas2770是一个从属芯片,不能生产的 clk。 这取决于主器件时钟。 我们的芯片可以自动检测采样率。 请使用示波器测量 I2S bitclk 和 WS clk。 在播放期间、两个 CLKS 必须首先处于打开状态。
Br
丁圣豪
H·丁
我们使用处理器、将1.5MHz 作为位时钟、将 MCLK 作为6.144MHz。
这会导致软件关闭吗?
还能告诉我们为摆脱软件关断状态而需要写入的所有寄存器?
对于 tas2770、必须使用 bit clk 和 ws clk。 位 clk 应为1.536 MHz、ws clk 为48kHz。
请检查 ws clk 和 clk 的占空比、它必须为50%。 我建议您使用 tasdevice 驱动程序。 tas2770是 一个非常旧的。
此外、tasdevice 中的 bin 文件中包含所有 regsiter 设置、开发人员可以轻松地更改寄存器设置
H·丁
是的、我们已经开始移植到 tasdevice。
同时、请说出我们需要写入的 i2c 寄存器、因为它现在处于软件关断状态。
我们需要使其进入工作模式。
您能在这里帮助一下吗?
嗨、Guy
最可能的根本原因是 clk 问题。 请使用示波器测量 ws clk 和 clk 的占空比、它必须为50%。 不要忘记上传波形。
至于 tasdevice、请不要忘记将 bin 文件添加到系统中。
您好
我们在此分享波形快照。 在这里、我们将位 时钟设置 为 48kHz 1.5MHz 和 WS 时钟、占空比也是50%、但我们不能听音频
t
我们仅怀疑某些 I2C 寄存器存在故障、因此我们要共享寄存器转储以及我们进行的寄存器配置
请在此处获取帮助
根据 b0p0r0x24=0x04、这意味着时钟问题
在 b0p0r0xa 中、为什么将 Bit5设置为44.1kHz? 因为采样率为48kHz?
在 b0p0r0x77中、仍然显示 clk 错误。
请将 b0p0r0x3c 设置为0xc
将 b0p0r0xc 设置为0x30
请勿设置 b0p0r0xa、默认值适合您的 clk。
还有一点、tasdevice 驱动程序是否已运行? 您可以将寄存器设置设置到 regbin 文件而不是 i2cset 中、这将提高调试 效率。
您好
我们也尝试过相同的方法、但在该情况下、我们将转到软件关断情况、
H·丁
根据我的 b0p0r0x77和 b0p0r0x24可以、我会让硬件来支持这一点。
您好
我将共享我的当前 i2c 寄存器转储和寄存器配置
尊敬的 Divya:
我的理解是否正确、即您只编写这个由7个命令组成的精简初始化脚本? 我是否应该假设您无法使用从 PPC3生成的配置文件?
对于单声道应用、主机仍必须传输至少2个通道、放大器将仅使用其中一个通道的数据、即左通道或右通道、或者两者的混合。
此致、
-Ivan Salazar
应用工程师
伊万·希
是的、我们不能使用 PPC3配置生成的文件。
但我们可以使用 i2cset 和 i2cget 命令
提供适合您自己的头文件。
尊敬的 Divya:
我可以共享一个 cfg 文件、您必须将其解析为 i2cset 命令。
我将在明天结束前上传 cfg。
此致、
-Ivan Salazar
应用工程师
是否要设置第01页或重置芯片、重置芯片应
i2cset -y -f 1 0x41 0x00 0x00
i2cset -y -f 1 0x41 0x7f 0x00
i2cset -y -f 1 0x41 0x01 0x1
睡眠0.01
H·丁
添加复位后也可以
它仍处于仅软件关断状态。
需要您的 cfg 文件。
谢谢
迪维亚
尊敬的 Divya:
附件是 TAS2770上的默认设置脚本。
请将其解析为 i2cset 命令进行测试、并告诉我们它是否效果更好。
此致、
-Ivan Salazar
应用工程师
伊万·希
感谢您共享配置文件。
我只能看到37个寄存器
这些寄存器是否足以通过扬声器播放?
如果错过了任何内容、请也发送相同内容。
我们的期望是 tas2770的所有注册,我们将用于播放扬声器。
i2cset -y -f 1 0x41 0x00 0x00
i2cset -y -f 1 0x41 0x00 0x00
i2cset -y -f 1 0x41 0x00 0x01
睡眠0.01[/报价]i2cset -y -f 1 0x41 0x00 0x00
i2cset -y -f 1 0x41 0x00 0x00这两行是相同的、
H·丁
是的、我接受、我希望获得播放扬声器时必须写入的所有必要寄存器。
团队成员
期待您的回复。
请在此处帮助。
尊敬的 Divya:
附加的 cfg 是使用 PPC3生成的、它具有所有必需的寄存器写入。
请将其解析为 i2cset 命令进行测试、并告诉我们它是否效果更好。
此致、
-Ivan Salazar
应用工程师
伊万·希
您是否发送了任何新附件?
或者您指的是旧版本?
伊万和丁
另外、您之前确认了位时钟是1.5MHz、WS 时钟是48kHz
但在数据表中、他们提到了
因为我们将 BCLK 设置为1.5Mhz、
请确认此项
尊敬的 Divya:
如果将 bitclk 提高到3.072、32位、48kHz、是否起作用?
H·丁
我们没有尝试
您能否使用以下设置附加默认音频文件样例
1.5MHz 比特时钟和48kHz 作为采样率、单声道
还有一个问题 tas2770支持以下格式
如果是、则表示您可以为此应用发送 i2c 配置
因为我们始终将 TDM 时钟和0x77寄存器的值设为0x7f。
请在此处帮助。
我会让 Ivan 看看它是否支持1.536MHz。 我意识到数据表中并未提及1.536MHz、
尊敬的 Divya:
我将仔细检查 EVM 上的1.536MHz 用例、并在接下来的几天内获得进一步的反馈。
此致、
-Ivan Salazar
应用工程师
伊万·希
有任何更新吗?
尊敬的 Divya:
我使用1.536MHz 作为 SBCLK 频率测试了 EVM、它可以使用我之前共享的相同脚本正常运行。
再次附加了脚本(我只添加了最后几个命令、以将器件设置为活动模式)
e2e.ti.com/.../5635.TAS2770_5F00_initConfig.cfg
以下是供参考的主机格式配置:
此致、
-Ivan Salazar
应用工程师
伊万·希
感谢您共享 Config 文件和格式配置。 由此、我们确认了我们没有看到 TDM 时钟和0x77寄存器正在正确设置。
但我们看到0x26寄存器设置为03、最后两个位将其设置为高电平。 表示 LDO 5V PG 标志导致的中断(读取以清除)以及 LDO 5V OL (读取以清除)导致的中断在重新启动后设置为高电平。
更清楚地解释
当我们引导器件并看到 i2cdump 时、我们会看到0x26默认为03。 然后,如果我们尝试播放音频文件,我们得到5b , 这意味着11000011、 时钟停止标志导致的 中断(读取以清除)、DMA 请求 DSP 丢失标志导致的中断(读取以清除)、 LDO 5V PG 标志导致的中断(读取以清除)、 LDO 5V OL 导致的中断(读取以清除)。 正在设置为高电平
您能告诉我们、哪一个可能是导致此位变得高的根本原因? 我们也无法在数据表中确定根本原因。
尊敬的 Divya:
您是否有可以查看的原理图和布局? 为器件加电时、请使用示波器检查 DREG 引脚。 内部稳压器似乎过载。
此致、
-Ivan Salazar
应用工程师
伊万·希
是的、我们很快就会分享原理图和布局。
同时、我们 探测了 DREG 轨。 以下是我们观察到的电压。
另外、在探测纹波时、我们观察到以下情况。
请在此处获取帮助
尊敬的 Divya:
您发送命令使器件进入寄存器2中的活动模式后、此捕获是否有效?
我想了解在该器件尝试激活时是否有任何起伏或骤降。
此致、
-Ivan Salazar
应用工程师
伊万·希
DREG 中的预期电压。 我们看到的是1V。
伊万·希
我们能够通过 EVK 驱动扬声器。
但这个查询很小、在我们开始播放音频之后、我们会缺少一些初始数据、因为一旦我们发出播放请求、如果我们将寄存器0x02设置为 0x0c、则只会 播放音频。 这是意料之中的。
我们能否对数据进行排队?
尊敬的 Divya:
观察到的 DREG 电压正常:
可以通过在 BCLK 和 FSYNC 时钟运行后随时写入寄存器0x02将器件设置为活动模式、此后可生成 DIN 数据。
此致、
-Ivan Salazar
应用工程师