请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:DAC63204 工具与软件:
正在尝试通过 SPI 将 DAC63204连接到 RPI 零2W。
为此、我在 Vcc 上有自己的基准源(5V 和5V)。
现在我已经使用了两个 DAC、但我无法在 VOUT 上设置电压、也无法通过 SPI 总线获取任何返回值。
我当前的 Python 代码:
import spidev class REG: DAC_MARGIN_HIGH = [0x01, 0x07, 0x0D, 0x13] DAC_MARGIN_LOW = [0x02, 0x08, 0x0E, 0x14] VOUT_CMP_CONFIG = [0x03, 0x09, 0x0F, 0x15] IOUT_MISC_CONFIG = [0x04, 0x0A, 0x10, 0x16] CMP_MODE_CONFIG = [0x05, 0x0B, 0x11, 0x17] FUNC_CONFIG = [0x06, 0x0C, 0x12, 0x18] DAC_DATA = [0x19, 0x1A, 0x1B, 0x1C] COMMON_CONFIG = 0x1F COMMON_TRIGGER = 0x20 COMMON_DAC_TRIG = 0x21 GENERAL_STATUS = 0x22 CMP_STATUS = 0x23 GPIO_CONFIG = 0x24 DEVICE_MODE_CONFIG = 0x25 INTERFACE_CONFIG = 0x26 SRAM_CONFIG = 0x2B SRAM_DATA = 0x2C DAC_DATA_8BIT = [0x40, 0x41, 0x42, 0x43] BRDCAST_DATA = 0x50 class Conn: def __init__(self, spibus: int, cs: int) -> None: self.spi = spidev.SpiDev() self.spi.open(spibus, cs) self.spi.max_speed_hz = 1000000 self.spi.mode = 0b00 def setup(self) -> None: print(self.spi.xfer2([0b00000000 | REG.INTERFACE_CONFIG, 0x00, 0x01])) print(self.spi.xfer2([0b00000000 | REG.DAC_MARGIN_HIGH[0], 0x11111111, 0x11110000])) print(self.spi.xfer2([0b00000000 | REG.DAC_MARGIN_LOW[0], 0x00000000, 0x00000000])) print(self.spi.xfer2([0b00000000 | REG.DAC_DATA[0], 0x11111111, 0x11110000])) if __name__ == '__main__': ic = Conn(0, 0) ic.setup()
连接:
引脚 DAC ->引脚 RPI 零2W
SDO -> GPIO 9 (MISO (SPI0))
SYNC -> GPIO 8 (CE0 (SPI0))
SDI -> GPIO 10 (MOSI (SPI0))
SCLK -> GPIO 11 (SCLK (SPI0))
如果有人能帮助我,我会很高兴,我已经绝望了几天了。