1
votes

I want to setup an application, where a single trigger-factor (compare-match of a timer) shall request mutliple DMA streams (I.e. set new timer-value and send data to SPI)

Is this possible with the STM32F2x µC or have you got an idea for a µC with the following properties:

  1. compare-match free running uint16 timer
  2. ~8 DMA channels
  3. SPI HW unit (best would be with 9 chipselects, but these could be simulated via further DMA channels.
  4. clock-frequency >= 80MHz
  5. <=64 pins (I want to set my own layout and >64 is expected to be to complicate
  6. ~128kB RAM
  7. ~256kB ROM
  8. cheep (developer board ~20-100 EUR, "easy to use" toolchain, complete with JTAG or other programmer (best would be connection via USB)
1
I don't think you're going to be able to have multiple DMA streams pushing to the same SPI peripheral.rjp

1 Answers

1
votes

I'm not sure if I understand what you're asking here, but a single timer channel can be used to trigger two different DMA streams. See Table 22 in Section 9.3.3 of the manual: for instance, TIM2_CH4 can be used to trigger both stream 6 and stream 7. Also, you can configure a timer to be a slave to a second timer, which I believe could be used to make them fire simultaneously, and then you could use the two different timers as a trigger to the DMA peripheral.

Sorry if I'm unable to elaborate further, as I'm more familiar with the STM32F1xx series which doesn't have the concept of streams, only channels.