我尝试使用 SPI 接口将 DAC8742 HART IC 与 esp32开发板上的 Micropython 连接起来。 我使用 DAC8742H 评估模块的原理图制作了 IC 的基本电路。
以下是我的 SPI 设置:
>> SPI
SPI (id=1、波特率=10000000、极性=0、相位=1、位=8、 firstbit=0、sck=18、mosi=23、miso=19)
IC 引脚设置:
2:- 通过1M 欧姆电阻上拉至5V,最终电压- 2.3V
3:- 常闭
4:- 通过1M 欧姆电阻上拉至5V、最终电压- 2.3V
5:- 接地
6:- 通过1M 欧姆电阻上拉至5V、最终电压- 0.9V +- 0.1V
7:- 支持32板的 IO32
9:- 通过1M 欧姆电阻上拉至5V、最终电压-.85V
10:-通过1M 欧姆电阻上拉至5V、并连接到作为 CS 的 INP32的 IO4
11:-通过1M 欧姆电阻上拉至5V、并连接到作为 CLK 的 INP32的 IO18
12:-通过1M 欧姆电阻上拉至5V、并作为 MOSI 连接到 INP32的 IO23
13:-使用1M 欧姆电阻器上拉至5V、并作为 MISO 连接至支持32的 IO19
14、23:-支持32板的 VCC,+5V
15、29、26:-支持32板的 GND
30、31:-通过1M 欧姆电阻上拉至5V、最终电压- 2.3V
我将 其余引脚保持开路、因为目前我只想与 IC 连接并读取其注册表数据、然后作为下一步、我将使剩余引脚的电路连接到信号源。
要读取注册表,我使用了以下命令;
>>> A=bytearray ([0x02、0x00、0x00]) #发送此缓冲区
>>> b=bytearray ([0x00、0x00、0x00]) #接收此缓冲区中的数据
>> SPI.write_readinto (a、b)
>>> b.
bytearray (b'\xff\xff\xff') #这是我收到的内容。
无论我发送什么、接收到的字节都是相同的。 我在 CS 引脚为高电平、低电平且未连接的情况下对其进行了测试、结果相同。
请帮助我们了解该问题。
参考:
Micropython SPI 文档: docs.micropython.org/.../machine.SPI.html
DAC8742H 评估模块原理图: http://www.ti.com/lit/ug/slau700a/slau700a.pdf ,第17页