主题: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






