Digital filter for sigma delta modulators (DFSDM)
15.4.13
Data unit block
The data unit block is the last block of the whole processing path: External Σ∆ modulators -
Serial transceivers - Sinc filter - Integrator - Data unit block.
The output data rate depends on the serial data stream rate, and filter and integrator
settings. The maximum output data rate is:
Datarate samples
Datarate samples
or
Datarate samples
Maximum output data rate in case of parallel data input:
Datarate samples
or
Datarate samples
or
Datarate samples
where: f
The right bit-shift of final data is performed in this module because the final data width is 24-
bit and data coming from the processing path can be up to 32 bits. This right bit-shift is
configurable in the range 0-31 bits for each selected input channel (see DTRBS[4:0] bits in
DFSDM_CHyCFGR2 register). The right bit-shift is rounding the result to nearest integer
value. The sign of shifted result is maintained - to have valid 24-bit signed format of result
data.
In the next step, an offset correction of the result is performed. The offset correction value
(OFFSET[23:0] stored in register DFSDM_CHyCFGR2) is subtracted from the output data
for a given channel. Data in the OFFSET[23:0] field is set by software by the appropriate
calibration routine.
Due to the fact that all operations in digital processing are performed on 32-bit signed
registers, the following conditions must be fulfilled not to overflow the result:
FORD
FOSR
2 . FOSR
408/1284
⁄
s
--------------------------------------------------------------------------------------------------------- -
=
F
OSR
⁄
---------------------------------------------------------------------------------- -
s
=
F
OSR
⁄
--------------------------------- -
s
=
F
OSR
--------------------------------------------------------------------------------------------------------- -
⁄
s
=
F
OSR
---------------------------------------------------------------------------------- -
⁄
s
=
F
OSR
f
DATAIN_RATE
----------------------------------- -
⁄
s
=
F
OSR
...input data rate from CPU/DMA
DATAIN_RATE
31
. IOSR <= 2
2
31
. IOSR <= 2
... for FastSinc filter)
DocID029473 Rev 3
f
CKIN
⋅
(
)
I
1
F
–
+
+
OSR
ORD
f
CKIN
⋅
(
)
(
I
1
4
2
–
+
+
+
OSR
f
CKIN
...FAST = 1
⋅
I
OSR
f
DATAIN_RATE
⋅
(
)
I
1
F
–
+
+
OSR
ORD
f
DATAIN_RATE
⋅
(
)
(
I
1
4
2
–
+
+
+
OSR
...FAST=1 or any filter bypass case F
⋅
I
OSR
x
... for Sinc
filters, x = 1..5)
...FAST = 0, Sincx filter
(
)
F
1
+
ORD
...FAST = 0, FastSinc filter
)
1
...FAST = 0, Sincx filter
(
)
F
1
+
ORD
...FAST = 0, FastSinc filter
)
1
RM0430
(
1
)
=
OSR
Need help?
Do you have a question about the STM32F413 and is the answer not in the manual?