主题:DAC8565中讨论的其他器件
工具/软件:
TI 团队大家好、
我目前正在努力将 DAC8565与 ESP32连接起来、但我没有观察到预期引脚(JMP9 - Out A
)上有任何输出。 以下是我的设置、连接和代码的详细信息:
连接:
-
MOSI (ESP32) →μ s DIN (DAC)
-
CS (ESP32) →μ s 同步(DAC)
-
SCLK (ESP32) →μ s SCLK (DAC)
-
AVDD →μ s 5V
-
IOVDD →μ s 3.3V
-
LDAC 、 VREFL →μ s GND
-
使能 →μ s 保留为默认值(未主动驱动)
-
RST →在代码中设置为高。
我们测量的是输出 JMP9 (OUT A) 。
我随函附上以下资料供您参考:
-
在通信期间捕获的 SPI 时序图
-
用于通信的 Arduino 代码、使用 SPI MODE2。
尽管采用此设置、但未从 DAC 观察到任何输出。 我希望您能就可能出现的问题或可能丢失的问题提供指导。
#include <SPI.h> // Pin mapping #define DAC_CS 5 // SYNC #define DAC_RST 18 // RST #define SPI_MOSI 19 #define SPI_SCLK 23 void sendDAC8565(uint8_t cmd, uint8_t addr, uint16_t value) { // Build the 24-bit frame uint8_t firstByte = (cmd << 4) | (addr & 0x0F); uint8_t secondByte = (value >> 8) & 0xFF; uint8_t thirdByte = value & 0xFF; digitalWrite(DAC_CS, LOW); // SYNC low to start uint8_t data[]={firstByte,secondByte,thirdByte}; SPI.transfer(data,3); digitalWrite(DAC_CS, HIGH); // SYNC high to latch } void setup() { // Init SPI SPI.begin(SPI_SCLK, -1, SPI_MOSI, DAC_CS); // CLK, MISO (unused), MOSI, SS SPI.beginTransaction(SPISettings(1000000, MSBFIRST, SPI_MODE1)); pinMode(DAC_CS, OUTPUT); digitalWrite(DAC_CS, HIGH); pinMode(DAC_RST, OUTPUT); digitalWrite(DAC_RST, HIGH); // Enable the DAC Serial.begin(115200); } void loop() { // Send value to channel A, write and update uint8_t command = 0b0011; // Write and update uint8_t address = 0b0000; // DAC-A uint16_t dacValue = 32768; // Mid-scale (2.5V if REF=5V) sendDAC8565(command, address, dacValue); Serial.println("DAC value sent."); delay(1000); }
期待您的支持。
此致、
Amara Rakesh