cancel
Showing results for 
Search instead for 
Did you mean: 

NUCLEO-H723ZG DAC differential signal

TOsso.1
Associate III

Hi,
I’m working with the NUCLEO-H723ZG board and would like to know if it’s possible to use its two DAC outputs to generate a differential signal.

Thank you very much

11 REPLIES 11
LCE
Principal II

Don't really know, probably yes if you feed both DACs with DMA and sync them with a timer.

I'd prefer to do this on the analog side.

TDK
Super User

Yes, this is possible.

If you feel a post has answered your question, please click "Accept as Solution".
MasterT
Lead

No. Fully Differential signals means two path are correlated. Having two dac's output 180 degree phase shifted sinewave generates two SE.

But you can easily synthesize diff by one dac and inverter.

TOsso.1
Associate III

Analog side this mean putting an external component? A differential amplifier for the example?

TOsso.1
Associate III

Thank you

Do you know how? 

Have one channel be the positive side and another channel be the negative side. Set up a buffer for the values and set up a timer to trigger conversions so they stay in sync.

Two single ended signals that are coherent = differential signal. At least for the driving side.

If you feel a post has answered your question, please click "Accept as Solution".

Analog side this mean putting an external component? A differential amplifier for the example?

Yes, a few extra components, look for "single-ended to differential amplifier" / "fully differential amplifier".

TOsso.1
Associate III

Hi everyone,
So far I’ve been using only one DAC channel. I’d like to enable the second DAC channel as well and generate a differential signal (CH1/CH2). Has anyone run this configuration successfully?

I noticed the HAL function HAL_DACEx_DualStart_DMA and I’m considering using it to update both channels simultaneously (writing to DHR12RD, common trigger like TIM6 TRGO, circular DMA).
Any tips, gotchas, or example code—especially around init settings and DMA alignment (word vs. half-word)—would be greatly appreciated. Thanks!

You can start from example in CubeMX.

Than move on next level