Hello,
I'm having a couple of problems with the McASP on our DM647 chip. We are using 8 McASP Serializers as output only. We do not use the McASP to receive input, so we have disabled entirely the Receive Control Section of the McASP; we're only using the Transmit section of the McASP. We are having these serializers transmit data in I2C format sending out two data samples (L and R audio) on each of the 8 serializers at a 48K rate.. The Clock to the McASP is on the AHCLKIN pin at a Frequency of 12.2Mhz.
I have set up the McASP according the the McASP's User's Guide, and the I2S Frame sync and Clocks are running correctly at the expected frequencies (16-bit TDM/I2S slots). However, I see no Data on the output of the Serializers...(and, yes, I have set the Pinfunc and Pindir registers correctly). All data is showing '0s'. Also, I am getting the Xdata interrupt from the Serializers at a rate far greater than 96K rate (2 x 48k (1 of 2 timeslots) which is causing the DSP Bios application to use all of its scheduling and resources in servicing the interrupt (which is writing the next Audio sample into the XRBUF location). BTW, we are having the DSP service these interrupts instead of the EDMA peripheral.
Am I making a common error perhaps in how the Serializers are clocked and started? What would cause the XData Interrupt to Set and Never go away (even though the Interrupt routine is trying to clear the Xdata interrupt bit (in XSTAT) every time it executes)?
No, I am not and will not be using the CSLR or PSP drivers other than for reference....which I did when checking over my McASP initialization routine and found my routine was almost identical to the PSP initialization for the McASP.
Thanks.