cancel
Showing results for 
Search instead for 
Did you mean: 

STM32F413 DFSDM not working in Manchester mode

franz2
Associate III

Dear all

Situation 1:
I use Nucleo-F413ZH with AMC1306EVM (PA8 DFSDM_CKOUT, PB1 DFSDM1_DATIN0)
Result: DFSDM is working fine with DMA. In this situation I use mode PDM/SPI input from CH0 and internal clock.
See code details in files with ending dfsdm_clk.c
in main.c is this call:
if(HAL_OK != HAL_DFSDM_FilterRegularStart_DMA(&hdfsdm1_filter0, Dfsdm1Filter0RecBuff, 16)){
Error_Handler();
}

Situation 2:
I have my own hardware with STM32F413 with several AMC1303E2510D. The AMC1303E2510D works in manchester format output.
The only difference to situation 1 is: I change mode to Manchester input from ch0 (PA8 not connected, PB1 DFSDM1_DATIN0)
See code details in files with ending dfsdm_clk.c
in main.c is this call:
if(HAL_OK != HAL_DFSDM_FilterRegularStart_DMA(&hdfsdm1_filter0, Dfsdm1Filter0RecBuff, 16)){
Error_Handler();
}
Result:
I don't have any DMA DFSDM1_FLT0 interrupt. No signal received. Even not in the Registers of DFSDM and Filter 0.
Is there anything or any bit I have to check? Has anybody any Manchester mode DFSDM sample cod which is working.
Thanks for any ideas and hints to solve the issue.

Franz

1 ACCEPTED SOLUTION

Accepted Solutions

Solution: There is an error in the Hal DFSDM Library. Manchester don't need any external clock source (clock is part of the 1 line signal). But in case the external clock output is not activated the output clock divider will not be loaded. Line 444 must be commented out or deleted.
But the Cube MX program is exporting every time the libraries you press the button 'Generate code'. So after every export line 444 must be deleted again. 
In Keil MDK ARM the button 'rebuild all target files' Changes in Library are not detected automatically. 
Find the modified library file attached.

View solution in original post

2 REPLIES 2
franz2
Associate III

Situation 2: code details see dfsdm.c

Solution: There is an error in the Hal DFSDM Library. Manchester don't need any external clock source (clock is part of the 1 line signal). But in case the external clock output is not activated the output clock divider will not be loaded. Line 444 must be commented out or deleted.
But the Cube MX program is exporting every time the libraries you press the button 'Generate code'. So after every export line 444 must be deleted again. 
In Keil MDK ARM the button 'rebuild all target files' Changes in Library are not detected automatically. 
Find the modified library file attached.