Hello Alejandro
Thanks for your reply.
Its a helpful answer, but not the solution we would like to have...
We have 20 FTM channels. I need 8 of them for PWM generation and one for input capture.
We need at least 12 synchonized pulse outputs, rising and falling edge on dedicated position to each other.
And also more than 4 ADC channels synchronized to the pulse outputs, as also the two DAC's.
How can it be done in a good way?
- The PDB Block, synchronized with the FTM, fires the two DAC's and four ADC's.
Because some ADC's can be sampled in a row, we can use the 'ADC complete interrupt' to set and start a following sampling.
-> Bad, we avoid using interrupts. Is there any possibility for 'ADC scan' or something similar, which scan different ADC channels in a row and save the result without involving the CPU? Problably together with the DMA module?
I find only informations about HW triggered single channel sampling, nothing with incrementing channel number or so.
- Restart the PIT on begin of every new cycle. We have 8 PIT channels, so we can generate 4 output pulses (8 controlled edges) with 8 DMA requests. This edges can only be in the second half of the cycle, otherwise the PIT will occur more than once until they are restarted on begin of next cycle.
- Still we have not enough output compare signals for both-edge controlled output pulses. So we have to generate FTM interrupts and there set GPIO outputs as well the timer value for the next FTM interrupt.
Would this work?
We're not very happy with a solution with so many Interrupts. Are there better options for time-synchonizing without interrupts?
Regards
Benno