Hi,
I am targeting the OMAP-L137 evaluation board. I've created a bare-metal (no OS or TI libraries) McASP loopback test. I have enabled the FIFOs, and setup the registers to read and write 8 slots at time on one transmitter and one receiver.
I first tried to setup a 16-slot frame, where the first 8 slots were transmitter slots; and the remaining 8 slots were receiver slots. This didn't work. The data I read back from the FIFO was always 0. Where each word that was transmitted was one greater than the previous.
When I changed it to an 8-slot frame, with the transmitter and receiver both enabled on all 8 slots, it worked as planned.
So my question is a matter of understanding how to setup frames and slots. It's my understanding that, in addition to the steps to setup the working case, if I change:
RTDM: 0xFF
XTDM: 0xFF
AFSRCTL.RMOD: 8
AFSXCTL.XMOD: 8
TO:
RTDM: 0x00FF
XTDM: 0xFF00
AFSRCTL.RMOD: 16
AFSXCTL.XMOD: 16
I would have setup a 16 slot frame where the where the transmitter is only active during the first 8 frames, and the receiver is only active during the remaining 8 frames.
What am I failing to understand?
Thanks!