I have a project that has an array of digital microphones whose output I would like to perform some fancy signal processing on, using a high-powered ARM micro-processor.
I like the idea of using digital microphones because I don't have to faff around with pre-amps. Anyway, each digital microphone is connected to a dedicated micro-controller that converts the PDM output to PCM.
I need to be able to get each microphone's data onto my ARM micro-processor. Let's assume at this point that everything is synchronized to give the appearance of N-channel concurrent sample and hold ADC. My current thoughts are that each microphone attached micro-controller would buffer its data to some extent and flush it over SPI when its slave select is wiggled by the master. The master would simply talk to each slave in turn.
My question is, is there a more elegant way of implementing this?
This would probably be a perfect job for a FPGA but that's a little beyond my skill level at the moment.