I'm trying to use 5 serializers (each connected to a separate 3106 codec) with a setup based on the audio driver for the 6747 evm. I have not been able to configure the driver to directly setup all the codecs so I'm setting up codecs outside the driver and I'm just trying to use the driver to stream data in and out of the dsp. 1 serializer is working fine, but as I go to multiple serializers I encounter 2 problems:
1. Data is not being transferred into my receive buffers as I expect. For example, when I'm trying to run 2 serializers in multi-serializer/1 slot/serializers interleaved mode, I only see data in my 1st serializer's slots in buffer. The 1st serializer's data looks fine and is in a 2 way interleave, but the 2nd serializer's data isn't showing up. The mcasp register settings report that 2 serializer pairs are set for receive/transmit. Are there suggestions on debugging why data isn't transferred into the buffers as I would expect? Are there FIFO and/or control settings I can check? I've confirmed that each of my codecs and serializer pairs can transfer data when configured for 1, but I see gaps in my receive buffers when running multiple.
2. As I go beyond 2 serializers, my application behavior changes so that my idle tasks no longer run. I appear to constantly be in the Audio_Echo_Task running the SIO_ISSUE commands. Is there a better way to run the data streaming routines so that the DSP is able to do other work? Are there ways to check what tasks are running to better determine why multiple serializers changes how tasks are run?
Thanks in advance for any help.