cancel
Showing results for 
Search instead for 
Did you mean: 

why does enabling PFCTRL cause my DMA IRQ not to happen?

cj blades
Associate II
Posted on February 01, 2017 at 22:14

I'm trying to implement a SPI slave on STMF410  using NSS_HARD_INPUT

Slave should receive data of unknown length via DMA

Slave transmissions are of known length so master knows to keep  the SlaveSelect line active for the correct time.

I'm am expecting that when SS line is released, DMA should complete and execute the DMA complete IRQ

But ifI initial the DMA with the PFCTRL bit set, I no longer get the DMA  IRQ to execute.  

The Tx DMA never becomes READY and is always BUSY

Has anybody else tried SPI Slave with PFCTRL

3 REPLIES 3
Posted on February 01, 2017 at 23:07

I'm trying to implement a SPI slave on STMF410

Do you mean STM32F410?

I'm am expecting that when SS line is released, DMA should complete and execute the DMA complete IRQ

Why are you expecting that, have you seen such behaviour described in the documentation (RM0401, namely)?

But ifI initial the DMA with the PFCTRL bit set, I no longer get the DMA  IRQ to execute.  

That is expected. In STM32F410 there is no peripheral capable of being the Flow Controller, see RM0401 rev.2, ch. 8.3.15  Flow controller (it's written there in a cumbersome way resulting probably from automatic datasheet generation, as no peripherals listed after the 'This feature is only supported for peripherals which are able to signal the end of the transfer, that is:' sentence).

There is a

https://community.st.com/community/stm32-community/stm32-forum/blog/2016/12/30/2017-stm32-wish-list

active currently, where you can propose STM32 hardware enhancements; don't expect they materialize anytime soon if at all.

JW

Posted on February 01, 2017 at 23:16

Yes STM32F410

The behavior was IMPLIED in the datasheet, but I now see where the list of (STM32F410)  peripherals that support this feature is <null>

Thanks for your VERY QUICK response.

Amel NASRI
ST Employee
Posted on February 14, 2017 at 10:50

Referring to

http://www.st.com/content/ccc/resource/technical/document/application_note/27/46/7c/ea/2d/91/40/a9/DM00046011.pdf/files/DM00046011.pdf/jcr:content/translations/en.DM00046011.pdf

, only SD/MMC and JPEG peripherals support Flow Control mode.

-Amel

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.