工具与软件:
尊敬的 TI:
我正在参与一个将 ESP32-S3微型模块与 TLV320AIC3256配合使用的项目。 一般情况下、工作做得很好。 我可以将 PurePath 生成的项目下载到 AIC3256、项目运行良好。 当我尝试将系数写入 miniDSP-D 时、一切都运行正常。 请注意、我使用自适应模式、并开发了一种算法来使两个系数组都保持最新。 现在、我将尝试回读系数。 具体来说、我已将 specANA_TI_V1配置为 VU 仪表、并希望从中读取 VU 值。 我已经 在 TLV320AIC3256EVM-U 板上测试了 specANA_TI_V1作为 VU 仪表、它运行正常。 我已经通过 I2C 端口将我的项目(板/固件)连接到 PurePath Studio、并且确保 PurePath 能够读取我电路板上的 VU 系数。 但是、当我尝试使用 ESP32-S3读取系数时、得到的数据不正确。 (看起来我读取的是第0x00页、而不是第0x2D 页)。
基本算法如下:
- 插拔 miniDSP-D 缓冲器
- 选择 VU 系数页面
- 选择 VU 系数开始寄存器
- 读回四个字节。
我连接了一个 Saleae 并跟踪了 ESP32-S3事务:我可以验证 I2C 总线上确实存在不正确的数据。 我还使用 PurePath Studio I2C 存储器工具生成了 Saleae 跟踪、以交换缓冲区并回读系数。 它可以正常工作、但似乎要做的远不止必要。 然而、有一点确实很突出:它并不是单次读取 VU 系数的四个字节、而是为每个 I2C 读取设置地址、然后每次读取一个字节。 为什么会这样呢? 从我的读数来看、似乎在 AIC3256 I2C 读取/写入中有一个自动递增函数。
我现在的计划是在 ESP32-S3上尽可能地复制 PurePath Studio 过程。 但我不知道为什么这是必要的。 是否有某种文档概述了如何从 AIC3256进行系数读取? 也许有人可以看看我的 Saleae 轨迹,告诉我为什么需要每一个交易——在某些情况下,PurePath Studio 在做什么?
感谢您的帮助。
奥地利广播电视公司