主题中讨论的其他器件: OPA2134
@大家好!
让 DAC8568 (D 级)完全正常工作时出现了令人难以置信的问题。 我觉得,我的鸡巴在她的屁眼里已经完全勃起了,我真的很喜欢她的乳头。
我的配置:
Teensy 4.1 MCU。 时钟、数据和芯片选择线路已正确连接、LDAC 接地、CLR 为 VDD (5伏)。 我不想使用 LDAC 和 CLR 功能、我想立即写入和更新电压。
CHANNEL_A 输出进入 OPA2134一半、配置为电压跟随器。 V+也为5伏(现在、稍后将为+/- 12伏)、V-为 GND。
使用一个相当好的 DMM 测量的相位噪声。
这是我的测试代码:
#包含
#包含
//------------------------------------------------------- DAC 和移位寄存器变量
#define DAC_SYNC_PIN 8 // CS 引脚用于间距 DAC8568 (SYNC 引脚)
#define DAC_MOSI_PIN 11 // MOSI 引脚
#define DAC_SCLK_PIN 13 // SCLK 引脚
//------------------------------------------------------- 模板
uint8_t null = 0b0000;//无关
uint8_t CHANNEL_A = 0b0000;// A
uint8_t CHANNEL_B = 0b0001;// B
uint8_t CHANNEL_C = 0b0010;// C
uint8_t CHANNEL_D = 0b0011;// D
uint8_t CHANNEL_E = 0b0100;// E
uint8_t CHANNEL_F = 0b0101;// F
uint8_t CHANNEL_G = 0b0110;// G
uint8_t CHANNEL_H = 0b0111;// H
uint8_t CHANNEL_ALL = 0b1111;//全部
SPISettings spiSettings (1000000、MSBFIRST、SPI_MODE1); // SPI 设置
//------------------------------------------------------- 写入 DAC8568
void writeDAC (int sync_PIN、uint8_t prefix、uint8_t control、uint8_t address、uint16_t data、 uint8_t 特性){
SPI.beginTransaction(spiSettings); //开始 SPI 事务
digitalWrite (SYNC_PIN、低电 平);//同步低电平
spi.transfer32 ((前缀<< 28)|(control << 24)|(地址<< 20)|(数据<< 4)|功能); //构建32位字并发送
delayMicroseconds (10); //延迟
digitalWrite (SYNC_PIN、高电 平);//同步高电平
spi.endTransaction (); //结束 SPI 事务
}
//------------------------------------------------------- 设置
void setup(){
延迟(1000); //等待1秒
Serial.begin(115200); //以115200波特启动串行监视器
pinMode (DAC_SYNC_PIN、输出); //将间距 DAC CS 引脚设置为输出
digitalWrite (DAC_SYNC_PIN、高电平); //同步高电平
pinMode (DAC_MOSI_PIN、输出); //将 DAC MOSI 引脚设置为输出
pinMode (DAC_SCLK_PIN、输出); //将 DAC SCLK 引脚设置为输出
SPI.begin();
延迟(1000); //等待1秒
writeDAC (DAC_SYNC_PIN、空、0b1001、空、0b101000000000、 null);//始终为内部基准加电
}
//------------------------------------------------------- 环路
void loop(){
for (uint32_t I = 0;I < 65535;I += 2048){
writeDAC (DAC_SYNC_PIN、空、0b0011、CHANNEL_A、I、 null);//将电压写入 DAC 通道 A 寄存器并更新寄存器
serial.println (i);
延迟(5000);
}
}
没有什么特别的、只是尝试逐步降低一些电压。
结果:通道_A 输出缓慢地在大约500ish mV 摆动、根本没有变化。
它以前工作、当电压计数器的值为32768时、电压仅上升到大约2.5伏、然后再次从0伏开始。
我尝试了不同的代码、具有相同的效果。 然后我切换到发布的代码、不起作用。
反复阅读数据表、我尝试了很多配置、但我承认、我现在迷路了。
是否必须重置整个芯片? 在软件复位后是否可以使其正常工作?