Other Parts Discussed in Thread: TLV320AIC3268
部件号: PUREPATHSTUDIO
主题: TLV320AIC3268 中讨论的其他器件
我已经尝试了几个星期来实现音频混音器电路上的单个输入音量 contro ,它使用 tlv320aic3268 编解码器,但从未成功,有没有教程或任何可以检查如何使用 PurePath 编解码器代替 EVM
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.
Other Parts Discussed in Thread: TLV320AIC3268
部件号: PUREPATHSTUDIO
主题: TLV320AIC3268 中讨论的其他器件
我已经尝试了几个星期来实现音频混音器电路上的单个输入音量 contro ,它使用 tlv320aic3268 编解码器,但从未成功,有没有教程或任何可以检查如何使用 PurePath 编解码器代替 EVM
您好、
之前的回答对您没有帮助吗? PUREPATHSTUDIO:需要有关使用代码实现 PUREPTH 导出的帮助
您是否尝试使用 PPS 生成代码以供在您自己的电路板而不是 EVM 上使用? 如果是这样、您可以在执行 build->generate code 时获取输出、这应该会 导出名为“base_main_rate44.cfg"的“的文件或用于设备的任何采样率。 然后、.cfg 文件将具有我们用于 TI 工具 PurePath Console 的格式的寄存器写入、该工具是我们用于通过 USB 进行 I2C 通信的软件。

这就是输出的外观、例如、我们看到“w 30 04 33“、在地址为 0x30 的器件上将寄存器 0x04 设置为 0x33。 然后、下一行是“>00",“,这、这是将寄存器 0x05 设置为 0x00、然后将寄存器 0x06 设置为 0x91、再将寄存器 0x7 设置为 0x08。 通过此格式、您可以编辑该文件、以用作所需任何其他语法的 I2C 配置。
如果您需要更多帮助、请在此处回复。
此致、
Mir
您好、
2 个模拟输入应由一个 Dec4xIn 块处理、因为它同时具有 ADC 的左右通道。 您可以在 SystemSettingsCode 中选择用于路由到 ADC 的输入引脚。
我还注意到您使用的是“I2S_IN2",“,这、这是辅助 ASI。 我假设、由于图中只有一个 I2S 块、您打算使用主要 ASI。 如果是、只需更改“I2S_IN"的“的 I2S_IN2。
此致、
Mir
我尝试.cfg.cpp使用基于 Python 的转换器将文件转换为文件、并将其嵌入到我的固件配置代码中、但实现无法按预期正常工作。 我也不清楚您之前提到的处理该.cfg文件的方法。
我的主要目标是执行 独立音量控制 不同音频路径的影响。 是否有任何替代方法可在不依靠现行.cfg转换方法的情况下实现这一目标? 或者是否有正确的方法 miniDSP 集成 从而正确实现音量控制?
您好、
我做了一个类似的工程、可以将 Linux 系统的 i2cset 格式转换为 i2cset 格式、可以调整 i2cset 命令格式、具体格式是.cpp:
with open("output_i2cset.txt", "w", encoding="utf-8") as f:
# example output line = "i2cset -y -f 0 0x18 0x01 0x01"
# example input line = "w 30 7f 00" or "> 05"
file = open("C:\\Users\\Documents\\nameofppsproject\\base_main_Rate16.cfg", "r")
line = file.readline()
prevRegAddress = "00"
prevDeviceAddress = "00"
while line:
curLine = line.strip() #removes leading/trailing whitespace for easy parsing
# remove all commented lines:
if curLine[0] != "#":
if curLine[0] == "w":
cmdlist = curLine.split()
deviceAddress = "0x"+cmdlist[1]
regAddress = "0x"+cmdlist[2]
regValue = "0x"+cmdlist[3]
outString = "i2cset -y -f 0 "+deviceAddress+" "+regAddress+" "+regValue
print(outString)
prevDeviceAddress = deviceAddress
prevRegAddress = cmdlist[2]
f.write(outString+"\n")
elif curLine[0] == ">":
curVal = curLine.split()
curVal = "0x"+curVal[1]
# convert address to hex and add 1, then back to string
curRegAddress = format(int(prevRegAddress, 16)+1, "02x")
outString = "i2cset -y -f 0 "+prevDeviceAddress+" 0x"+curRegAddress+" "+curVal
print(outString)
prevRegAddress = curRegAddress
f.write(outString+"\n")
line = file.readline() #go to next line
file.close()
我希望阅读此代码有助于您更好地理解。
不过、是的、您可以使用 I2C 更直接地调整音量 — 首先需要选择信号路径,因为您要将模拟输入发送到模拟输出,这将是一种旁路路径。 音量可调且可配置的最大路径将通过 MAL/MAR 路径、这表示左右混合放大器。 模拟输入通过 PGA、在这里可以设置输入增益、然后通过混频器放大器、绕过任何数字转换、其中它可以进入线路输出、耳机输出或扬声器输出(在本例中,我展示了线路输出)。 DAC 输出也可以混合到这些输出中的任何一个、这是与您的 I2S 输入。 I2S 数字音量可通过第 0 页上的寄存器 65 进行更改。
这对您来说是否正常? 任一选项都将涉及寄存器写入来更改音量 — miniDSP 选项涉及仅 miniDSP 寄存器中的寄存器写入、单击音量滑块时、您可以在“Component Interface“部分中找到该选项。 MAL/MAR 路径涉及寄存器写入、其中所有寄存器都将在数据表中提及。 如果您还需要一些帮助、我可以帮您编写出来、但您必须提供有关您使用哪些输入和输出的更多信息(原理图会有所帮助)。
此致、
Mir