2024-10-30 06:46 AM
This is a problem about the STM32H745XI-Disco control external AD5791 through SPI. When using Debug to detect the serial port output, the result is consistent with the desired result. However, when using a multimeter to measure the output of the AD5791, it is found that the output voltage is incorrect. I used the D13 pin as the SCLK of SPI2 to connect to the SCLK pin of the AD5791, the D11 as the MOSI to connect to the SDIN pin of the AD5791, and the D0 as the output port to connect and control the LDAC pin of the AD5791. When the STM32 sends a 24-bit signal to the AD5791, the current four bits are set to 0010 to write information to the control register or set to 1001 to read information from the DAC register. When the last three digits are 001, the output is -10V; When the last three digits are 010, 011, 110, 111, the output is 0; When the last three digits are 100 and 101, the output is 0.008V; When the last three digits are set to 000, the output is -6.98V.
Attachment is the datasheet of AD5791.