I2S DAC


Author Message
PhenixRising
Guru

Joined: 07/11/2023
Location: United Kingdom
Posts: 1637
Posted: 10:41am 15 Sep 2025      

Purely for my own edification; is it possible to use the I2S DAC as a regular analogue output or would that require commands that are not supported?

Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 5464
Posted: 10:52am 15 Sep 2025      

Hi Phenix,

Please understand that audio DAC's don't necessarily have good DC performance.

The last audio DAC that could be used for DC was the TDA1540/TDA1541 from Philips (from the first generation CD players).

So if you plan to use I2S DAC's for a servo loop...forget it.

Volhout

PhenixRising
Guru

Joined: 07/11/2023
Location: United Kingdom
Posts: 1637
Posted: 11:20am 15 Sep 2025      

  Volhout said  So if you plan to use I2S DAC's for a servo loop...forget it. Volhout




The analogue input of industrial servo-drives, only resolves to 12-bit so there would be no benefit.

I don't see DC performance being an issue, though. Observing the analog motor command from a 1KHz PID looks like horrendous noise  

Volhout
Guru

Joined: 05/03/2018
Location: Netherlands
Posts: 5464
Posted: 11:38am 15 Sep 2025      

Phenix,

DC drift is not always specifically specified, but look at below datasheet.

Typical 16 bit I2S DAC UDA1334



DC accuracy is +/-10% (0.5V+/-50mV), relates to 3.5bits DC DAC. If that is sufficient, then you can use it as a DAC in your loop.
That is why it is normal to AC-couple AUDIO DAC outputs. DC drifts all over the place.

Volhout

PhenixRising
Guru

Joined: 07/11/2023
Location: United Kingdom
Posts: 1637
Posted: 12:38pm 15 Sep 2025      

Thanks Harm. I have no intention of doing this. I was searching through the PicoMite manual for PIO stuff and, as always, I was sidetracked