This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] DAC63204:与 DAC63204的 SPI 通信问题

Guru**** 1821780 points
Other Parts Discussed in Thread: DAC63204
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1424312/dac63204-spi-communication-problem-with-dac63204

器件型号: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))

如果有人能帮助我,我会很高兴,我已经绝望了几天了。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好、Joshua:  

    您能否在示波器上测量 SPI 写入并共享屏幕截图? 我可以仔细检查 SPI 格式是否正确。  

    在设置中不为 DAC 输出(COMMON_CONFIG 寄存器)上电。 输出默认处于断电状态。  

    此致!

    Katlynne Jones