Other Parts Discussed in Thread: DAC80501, DAC60501
Tool/software:
Hello!
I am using DAC70501MDGSR and I am trying to set-up registers by writing into them via SPI protocol (1 MHz clock).
I am using internal reference (VREFIO = 2.5V). SPI2C pin is tied to GND. With this code I am trying to make DAC output = 1.25V. However, nothing is happening - DAC output stays at 2.5V! Also, when I try different values. DAC output voltage is not changing!
//SPI: PC0 - CS, PC1 - SDIN/SDA, PC2 - SCLK //SYNC PC0::clear(); USART<0>::TXDATA<>() = 0b0000'0010; USART<0>::TXDATA<>() = 0b0000'0000; USART<0>::TXDATA<>() = 0b0000'0000; PC0::set(); //CONFIG PC0::clear(); USART<0>::TXDATA<>() = 0b0000'0011; USART<0>::TXDATA<>() = 0b0000'0000; USART<0>::TXDATA<>() = 0b0000'0000; PC0::set(); //GAIN PC0::clear(); USART<0>::TXDATA<>() = 0b0000'0100; USART<0>::TXDATA<>() = 0b0000'0000; USART<0>::TXDATA<>() = 0b0000'0000; PC0::set(); //TRIGGER PC0::clear(); USART<0>::TXDATA<>() = 0b0000'0101; USART<0>::TXDATA<>() = 0b0000'0000; USART<0>::TXDATA<>() = 0b0000'0000; PC0::set(); //DAC DATA PC0::clear(); USART<0>::TXDATA<>() = 0b0000'1000; USART<0>::TXDATA<>() = 0b0010'0000; USART<0>::TXDATA<>() = 0b0000'0000; PC0::set();
Here are my oscillograms:
I checked table 7.6 Timing Requirements: SPI Mode table and Figure 7-1. SPI Mode Timing (from DACx0501 datasheet), but everything seems good to me!
Could you please help identify what I might be overlooking or any mistake I may have made?
Best regards,
Marko Aksentijević