This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Hello! I tested my DAC8563 on a STM32H743 but it doesn't work (0V on A & B Channels)...
So I tried with an Arduino UNO and it's OK.
Times ago I used different STM MCU without problems (F4, F7).
This is STM SPI initialization code:
void MX_SPI1_Init(void) { hspi1.Instance = SPI1; hspi1.Init.Mode = SPI_MODE_MASTER; hspi1.Init.Direction = SPI_DIRECTION_2LINES; hspi1.Init.DataSize = SPI_DATASIZE_8BIT; hspi1.Init.CLKPolarity = SPI_POLARITY_LOW; hspi1.Init.CLKPhase = SPI_PHASE_2EDGE; hspi1.Init.NSS = SPI_NSS_SOFT; hspi1.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_128; hspi1.Init.FirstBit = SPI_FIRSTBIT_MSB; hspi1.Init.TIMode = SPI_TIMODE_DISABLE; hspi1.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE; hspi1.Init.CRCPolynomial = 0x0; hspi1.Init.NSSPMode = SPI_NSS_PULSE_DISABLE; hspi1.Init.NSSPolarity = SPI_NSS_POLARITY_LOW; hspi1.Init.FifoThreshold = SPI_FIFO_THRESHOLD_01DATA; hspi1.Init.TxCRCInitializationPattern = SPI_CRC_INITIALIZATION_ALL_ZERO_PATTERN; hspi1.Init.RxCRCInitializationPattern = SPI_CRC_INITIALIZATION_ALL_ZERO_PATTERN; hspi1.Init.MasterSSIdleness = SPI_MASTER_SS_IDLENESS_01CYCLE; hspi1.Init.MasterInterDataIdleness = SPI_MASTER_INTERDATA_IDLENESS_02CYCLE; hspi1.Init.MasterReceiverAutoSusp = SPI_MASTER_RX_AUTOSUSP_ENABLE; hspi1.Init.MasterKeepIOState = SPI_MASTER_KEEP_IO_STATE_DISABLE; hspi1.Init.IOSwap = SPI_IO_SWAP_DISABLE; if (HAL_SPI_Init(&hspi1) != HAL_OK) { Error_Handler(); } }
After connecting a signal analyzer to H7 and sending init commands, I had:
//... HAL_GPIO_WritePin(SYNC_DAC8563_GPIO_Port, SYNC_DAC8563_Pin, GPIO_PIN_SET); dac_reg_write(0x28, 0x0001); //reset DAC dac_reg_write(0x20, 0x0003); //power_up DAC dac_reg_write(0x38, 0x0001); //internal ref dac_reg_write(0x02, 0x0000);//gain a x 2, b x 2 dac_reg_write(0x30, 0x0003); //deactivate load trigger //...
I checked supply voltage levels and all seems ok...
Can someone help me?
Thanks a lot and best regards,
Mario
Hi Mario,
Do you see the internal 2.5V reference on the VREF pin after writing your initialization commands? Can you try slowing your SPI clock speed and checking if the reference powers on or if you see the DAC outputs?
Best,
Katlynne Jones