Other Parts Discussed in Thread: PCM1792, PCM1794A, PCM1792A, PCM1795
https://e2e.ti.com/support/audio-group/audio/f/audio-forum/1585383/pcm1792a-i2c-communication-issue
主题中讨论的其他器件:PCM1794A、 PCM1792A、 PCM1795、PCM1792
您好专家、
我正在构建一个音频 DAC 供我自己使用。
我测试了 PCM1794A–听起来很不错、但它不允许我同时设置要使用的选项:
-差分电路 — 两个 DACs 在“双单声道“模式
-具有“慢速滚降“特性的模拟滤波器。
PCM1792A 提供此功能、它与 PCM1794A 相同(如您在 TI 源中所读)。
SPDIF 接收器将是 WM8805、它要求读取和写入内部寄存器的值以充分利用其功能、因此需要一个处理器来控制 WM8805。
因此、我也可以使用此处理器来控制 PCM1792A。
我计划使用 Arduino Uno 模块进行控制、通过 I2C 总线进行通信。 我将编写该程序(我仍然有很多要学习的)-现在,我使用的程序可用的在线或由一个朋友编写的测试。
Arduino 将以下器件连接到 I2C 总线:
a) 5V I2C:
-液晶显示屏
- OLED 显示器(我还不知道我最终会使用哪一个)
b) 3V3 I2C–(我使用了双向电平转换器,Ebay 提供的廉价转换器、1kΩ 上拉电阻器、我更改为<xmt-block1> 10kΩ</xmt-block>): 10kΩ:
- WM8805
- PCM1794A–1 或 2 芯片
我还有一个 PCM1795、连接一个用于测试。
用于写入 Arduino 的系统是公司的软件 (Arduino.cc/en/software#IDE)。
上述芯片组装在通用板上、可以单独连接到 3V3 I2C 总线(最多可同时连接 3 个芯片)。 也可以连接和断开 LCD 和 OLED 5V 芯片。
在开始编写软件之前、我想确认所有内容都已连接并正确配置。 我从互联网下载了多个程序、“扫描“ I2C 总线、并列出接收到自己地址后发送 ACK 信号的设备。
5V 总线芯片在以下地址正确报告:
- LCD–27(十六进制)== 00100111(二进制)
- OLED–3C == 00111100
在 3V3 总线上、只有 WM8805 芯片在地址 3A ==00111010 处报告。
PCM1792A 和 PCM1795 芯片的引脚 3 设置为“H"(“(+3V3)、用于选择 I2C 总线。
PCM1792A 和 PCM1795 芯片不响应扫描程序。 地址设置如下:
- PCM1792A P 通道–4F =01001111
- PCM1792A L channel–4E = 01001110
- PCM1795 P 通道–4D = 01001101
我的朋友编写了一些简短的程序来读取特定的寄存器–3V3 总线上的电路产生了以下结果:
WM8805–正确读取寄存器(版本,修订版)
PCM1792A 和 PCM1795 未能读取任何寄存器–“FF"读取“读取结果与尝试读取未连接的电路时相同。
一切看起来都正确;已检查过几次连接以及电压。
带有原始 1kΩ 上拉电阻器的双向电平转换器“也没有给出任何结果。
是否有人遇到过类似的问题、可以告诉我该怎么做? 如有任何建议、我将不胜感激。
此致、
Andrzej
