您好!
我之前问过一个有关通过 SPI 与 DAC8741进行通信的问题、这导致获得了预期的通信。 不过、回顾一下我的 PCB 和代码片段、我得到的结果完全不同。 我发送[82、00、00]来读取控制寄存器-第一次运行代码片段时、我返回所有0、第二次我获得一系列随机数、每次重新启动时都不同。 似乎器件正在响应、但未处于正确的时钟周期(当我返回所有0时、我可以在 SDO 线路上看到通信、 但它们在发送消息的3个字节内、当我返回随机数时、它们似乎未正确同步)。 此外、有时 SDO/MISO 线路似乎在整个消息中一直保持高电平或保持高电平。 我尝试了多条不同的消息、包括读取和写入、这些消息都写入到不同的寄存器中。 我还尝试发送[07、00、01]来复位所有寄存器、结果相同。 我仍在使用 Raspberry Pi 4、我的 PCB 仍与之前随附的原理图相同、我仍在使用 spidev 库中的写入字节和读取字节。 我已经尝试使用两个不同的 PCB 来验证 DAC8741本身不是问题所在。 我在下面附上了示波器照片、希望尽快获得任何调试建议。 也很高兴与应用工程师进行通话。
请注意、在图像中、黄色是 CS、绿色是 SDO/MISO、粉色是 SDI/MOSI、蓝色是 SCLK。
谢谢!
Libby
H2Ok 创新