cancel
Showing results for 
Search instead for 
Did you mean: 

DFDSM injection conversion triggered via internal timer.

SJohn.5
Associate II

Hello,

I am trying to do an injection conversion of the DFSDM peripheral with the read process being triggered via an internal timer (TIM1) utilising the HAL drivers. Specifically, I want to set the counter to count up and trigger the read process every 9 kHz.

So far I haven't had any success in getting the injection conversion complete interrupt to fire, I have confirmed this by setting a breakpoint in the DFSDM1_FLT0_IRQHandler() func, note this is never reached.

I am initialising the DFSDM via the cube IDE. I have successfully being able to do a regular conversion when triggering via software i.e. when calling "HAL_DFSDM_ChannelCkabStart_IT()". and have been getting accurate values. I am nearly certain the setup of TIM1 is correct as when trying to do a read of an ADC in the same way it is successful.

I have attached screen shots detailing how I have set up the DFSDM, TIM1, and the small amount of code that should be required to get everything to work. Note, I am using an STM32L562VET6Q.

Any help would be greatly appreciated as I am starting to run out of ideas in regards to a fix.

Cheers,

Sam

1 REPLY 1
GWenJ.1
Associate II

Hello @Imen DAHMEN​ @SJohn.5​ 

I shipped to the same question and found that the DFSDM MSP initialization did not go in during debugging. In addition, it is found that when the injection mode interrupt is triggered, the filter interrupt can be entered, but there is no way to enter the injection completion callback. After debugging, it is found that the injection completion interrupt flag will be cleared.

​Expect a reply