Hi,
I'm having a hell of a time getting a PCM5142 going. It's driving me insane!
My setup:
CC3200 Launchpad, pinmux configured the same as if there were an AUDBOOST booster pack connected. (i.e. Pin 63 = McASP0_AFSX, pin 53 McASP0_ACLK, pin 64 McASP0_AXR0, pin 50 McASP0_AXR1.)
AFSX -> pin 23 (LRCK)
ACLK -> pin 21 (BCK)
AXR0 -> pin 22 (DIN)
Configured in I2C control mode, both ADDR pins low.
I'm trying to get 3 wire i2s mode up and running, but have had no success with anything so far. I'm trying to figure out if it's on the DAC side or the MCU side.
My problem: I can't get anything out of it!
My current register settings
Page 0
w 0 0x04 0x01 // PLL Enable
w 0 0x0d 0x10 // BCK as ref for PLL
w 0 0x14 0x00 // p=1
w 0 0x15 0x30 // j = 48
w 0 0x16 0x00 // d =0
w 0 0x17 0x00 // d=0
w 0 0x18 0x01 // r = 2
w 0 0x1b 0x05 // ddsp = 6
w 0 0x1c 0x0f // ddac = 16
w 0 0x1d 0x03 // dncp = 4
w 0 0x1e 0x0f // dosr = 16
w 0 0x25 0x7d // disable all clock error, enable auto clock (also tried 0x7f, i.e. all errors disabled, auto clock disabled)
w 0 0x28 0x02 // 24 bit I2S (also tried 0x0, 0x3 for 16, 32 bit resp)
My clock output from the CC3200 on BCK is 1.024 MHz.
On the CC3200 I follow the example in swru367b section 12.3.3 . This sets up the I2S pins, starts the clock etc etc.
What happens is... nothing. I can read and write registers via I2C. PLL shows as locked. Register 5E shows everything as ok except SCK. Since the PLL is referencing BCK, does this matter? Register 5F similarly shows everything ok except SCK.
On the MCU side, the XDATA interrupt fires, the handler is called, data is (allegedly) written.
This happens twice then XUNDRN is asserted.
I don't currently have access to a scope to verify clock etc, but have thoroughly studied sprufm1 to verify that the data is output in the correct format and that the clock settings seem fine.
I've tried DMA mode, CPU mode, multiple clock settings, multiple word lengths, different pin settings (i.e. switching to AXR1). I've tried the CC3200 wifi_audio_app, suitably modified to write the registers relevant to the PCM5142. I've updated everything to the latest SDK version and service pack.
Please help! I'm out of ideas and losing my mind!
Thanks