I am working on a product where I use synchronous detection of a sensor signal. This requires a phase locked synchronisation between the DAC output providing an approx. 10kHz modulation signal and the ADC sampling at at least 4 times that rate (preferably exactly 4 times as otherwise the DSP processing becomes quite messy).
I have a prototype of this solution operating on a FRDM_K22F board. I use the PDB in a free running mode to trigger both the DAC and the ADC's. The ADC's trigger DMA to buffer the samples. Works quite nicely.
Now I need to add an extra independent synchronous detection channel which needs its own modulation output at a frequency which is different from the first channel (e.g. 9kHz instead of 10kHz).
Again the ADC sampling for this second detection channel needs to be phase synchronous to that second modulation frequency but with only one PDB and one DAC output on the K22F, I am a bit stuck.
So I figured I either need to:
a) find a different CPU which has dual DAC and dual PDB's. The parametric selector does does not select on the number of PDB's and I have trouble locating a part that may have the dual DAC and dual PDB?. Any suggestions?
b) use a different trick to generate independent output frequencies and trigger the ADC0 and ADC1 channels synchronous to those outputs. As I need to sample 4 different ADC channels for each synchronous channel (8 channels total) at around 40kHz or so each (4 times the modulation frequency), I would prefer to do all that in hardware with DMA and not with software interrupts. The actual modulation frequencies are not that important as long as they are somewhat apart from each other. Anybody has a suggestion on how to use the different peripherals in one of the Kinetis Cortex-M4 variants to accomplish this?