This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DAC3100 no WCLK and BCLK in master mode

Hi,

I am trying to setting dac3100 up in I2S master mode. Though dac3100 allows a rich set of functionalities, I think the first thing I need to do is probably making sure that I can observe WCLK, BCLK output from the pins.

I followed register definitions in section 6, as well as the example register setting in section 5.5.15 of SLAS671. At least the following components have been configured:

  1. PLL
  2. DAC 
  3. Processing block
  4. Volume

among others

However, I failed to see any clock output from the WCLK/BCLK pins.

The input MCLK is a 12MHz digital clock.

my register setting. I2C writes are all successful and have been verified by reads. said:

uint8_t dac_data;

//page 0
DAC3100_writeRegister(0x00, 0x00);//page 0
DAC3100_writeRegister(0x01, 0x01);//? p46: Initiate SW reset (PLL is powered off as part of reset)

AIC3106_readRegister(0x36, &dac_data);
dac_data &= ~0x06;
dac_data |= 0x02;
DAC3100_writeRegister(0x36, dac_data);//enable DIN, though not necessary since it is by default enabled

DAC3100_writeRegister(0x1b, 0x3c);//I2S, both BCLK and WCLK output

DAC3100_writeRegister(0x04, 0x03);//Clock-Gen Muxing: MCLK -> PLL, PLL -> CODEC

DAC3100_writeRegister(0x06, 0x07);//J=7
DAC3100_writeRegister(0x07, 0x02);//D MSB 512
DAC3100_writeRegister(0x08, 0x30);//D LSB 48
DAC3100_writeRegister(0x05, 0x91);//PLL on, P=R=1

USTIMER_delay(12000); //delay 12ms > 10ms

DAC3100_writeRegister(0x0b, 0x85);//NDAC on, 5
DAC3100_writeRegister(0x0c, 0x83);//MDAC on, 3
DAC3100_writeRegister(0x0d, 0x00);//DOSR MSB 0
DAC3100_writeRegister(0x0e, 0x80);//DOSR LSB 128

DAC3100_writeRegister(0x3f, 0xd4);//Left & right DAC on, and select data path
DAC3100_writeRegister(0x40, 0x00);//left & right DAC not muted

DAC3100_writeRegister(0x3c, 0x0b);//PRB_P11, stereo


//page 1
DAC3100_writeRegister(0x00, 0x01);//page 1
DAC3100_writeRegister(0x20, 0x86);//Class-D output driver is powered up
DAC3100_writeRegister(0x2a, 0x05);//Class-D driver is not muted.
DAC3100_writeRegister(0x23, 0x44);//DAC_L is routed to the left-channel mixer amplifier
//DAC_R is routed to the right-channel mixer amplifier

  

Could anyone advise what has gone wrong with my configuration?

  

  

Paul