Hi,
I recently started working on the Tms320c6748 board.
I am trying to activate a program with I2S mode.
I am sending data through one channel only, but for some reason I can see data coming out of both right and left channels.
I expect to see the data from the left channel on the first 16 bits on the XBUFF(n) and the right channel data on the last 16 bits (is that correct?)
Instead the data "toggles" between the left and right channel.
I think I have some configuration problem- here are my configurations for the McASP.
I don't want to use EDMA at this point.
MCASP->RMASK = 0xFFFFFFFF;
// all 32-bits NOT masked
MCASP->RFMT = 0x0001807C;
// MSB first, align left, slot=16bits, 1-bit delay, ROR 16-bits
MCASP->AFSRCTL = 0x00000112;
// int'l gen'd, FS/word, 2 SLOT TDM = I2S
MCASP->ACLKRCTL = 0x000000AF;
// rising edge, clkrm internal, /16 CLKRDIV
MCASP->AHCLKRCTL = 0x00000000
// HCLKRDIV = 1
MCASP->RTDM = 0x00000003;
// SLOT 0 & 1 active I2S
MCASP->RINTCTL = 0x00000000;
// ints disabled (enabled later though)
MCASP->RCLKCHK = 0x00FF0008;
// RMAX = FF, RPS = /256
// configure transmit registers for I2S - all same as above
MCASP->XMASK = 0xFFFFFFFF;
MCASP->XFMT = 0x0001807C;
MCASP->AFSXCTL = 0x00000112;
MCASP->ACLKXCTL = 0x000000AF;
MCASP->AHCLKXCTL = 0x00000000;
MCASP->XTDM = 0x00000003;
MCASP->XINTCTL = 0x00000000;
MCASP->XCLKCHK = 0x00FF0008;
// config serializers (11 = xmit, 12 = rcv)
MCASP->SRCTL11 = 0x000D;
// XMT
MCASP->SRCTL12 = 0x000E;
// RCV
// config pin function and direction.
MCASP->PFUNC = 0;
MCASP->PDIR = 0x14000800;
MCASP->DITCTL = 0x00000000;
MCASP->DLBCTL = 0x00000000;
MCASP->AMUTE = 0x00000000;
My code is activated throuogh an ISR (the HWI is configures for interrupt selection number 61 combined RX/TX interrupt.
Thanks in advance
Ariel