cancel
Showing results for 
Search instead for 
Did you mean: 

In theory, you can use all 26 bit of the STM32U MDF in the CIC stage. In practice, I recommend to stay < 25 bit to avoid artifacts and saturation.

_andreas
Senior
 
13 REPLIES 13
GwenoleB
ST Employee

Hello @Andreas Köpke​,

Can you provide more details about your observation, please?

In which condition you saw artefacts and saturation?

Thank you for your feedback,

Gwénolé

GwenoleB
ST Employee

Another point,

The MDF FIFO is set to 24 bits like CIC output can be extended to 26 bits. Then, to fit with FIFO it's mandatory to use the SCALE block.

In case you enabled the INT block after CIC + SCALE blocks, then there is no possibility to adjust the output size from 26 bits to 24 bits.

Best regards,

Gwénolé

_andreas
Senior

I use the B-U585I-IOT02A, modified VREF+ pin to be powered from internal VREFBUF 1.5V. Then I use the DAC1 to produce a sine wave, it gets quite close to the rails.

0693W00000UFRPIQA5.pngThe offset of the oscilloscope is around 35mV:

0693W00000UFRPNQA5.png

_andreas
Senior

Then I sample the signal with the ADC1 from PA4, also using 1.5V as reference voltage using a pretty plain setup (no oversampling etc) and feed it to the MDF.

When I use the CIC stage with SINC5 and a decimation of 4, this should result in 24bit wide internal results.

0693W00000UFRR4QAP.pngWhich gives a nice sine wave. However, if I use the same setup with decimation 5 then the internal results are 25.6bits wide - which is ok according to the datasheet - and I get this:

0693W00000UFRRsQAP.pngTo get this, I had to switch off the SATuration interrupt.

_andreas
Senior

I was not overly surprised, in my CIC simulation playing around with an "internal" width of 26, only 25bits were useful, before it saturated.

_andreas
Senior

There is a little room for improvement by using the correct offset.

_andreas
Senior

@Gwenole BROCHARD​ I've updated the thread.

GwenoleB
ST Employee

Hello @Andreas Köpke​,

From your inputs, here are my comments:

  • Sinc5 - Dec4 the maximum amplitude read is 1.3e8 which can be represented on 27.9 bits. The maximum value on 24 bits is +/- 8.39e6
  • Sinc5 - Dec5, firstly there is an offset in the injected signal. It seems that with a full scale signal (14 bits) + offset a wrap-around occurs.

I will reproduce on my side but I don't expect an issue with the MDF. I come back with further analysis.

Thank you for sharing the details.

Best Regards,

Gwénolé

I'm referring to the Reference Manual

RM0456

Reference manual

STM32U575/585 Arm®-based 32-bit MCUs

March 2022, RM0456 Rev 3, page 1239

where it says:

0693W00000UFWIlQAP.png 

with N = 5, D = 4 and DSin = 14 this results in

DScic = 24

and with N = 5, D = 5 and DSin = 14 this results in

DScic = 25.60964

Both values are within the recommendation DScic < 26bit.