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.
Tool/software: Code Composer Studio
Hello.
I have connected PCM1864LMBEVM and C5545, but it is not working as I2C.
Please answer the following items:
1. how to set slave mode
- The following document explains that when J2 Pin is OFF, it is set to slave mode.
- If J2 Pin is OFF, communication is not possible because I2C line is always in BUSY state.
2. what is the slave address
- In the following document, the address is 0x9C,
- In the voice_ui_cloud demo source (codec_pcm186x.c), it is 0x4A.
Thanks.
Hi JeonBoo,
Thanks for your interest in PCM1864 LMB design.
By default, the JP2 is populated as the PCM1864 is configured to operate in MASTER mode w XTAL (24.576MHz) providing the MCK. The device generates the BCK/LRCK in this mode.
If you want to operate the device in SLAVE mode, you will have to remove the JP2 and provide the LRCK & BCK as inputs and configure the part using the I2C to configure the right registers. You will need to supply the clocks for the device to communicate...
As far as the control protocol goes, we have MD0 pin tied to GND which means the control protocol is I2C.
As far as address goes, we have MD1 pin tied to GND which means the address for the device is 0x94.
Hope this answers all your questions. Thanks.
Best regards,
Ravi
Hi, Ravi.
I have some question for the PCM1864LMBEVM.
1. I attempted I2C communication from the C5545 board to the PCM1864 board, but the PCM1864 board did not respond.
How can I check this problem?
I set the I2C setup as below.
i2cSetup.addrMode = CSL_I2C_ADDR_7BIT;
i2cSetup.bitCount = CSL_I2C_BC_8BITS;
i2cSetup.loopBack = CSL_I2C_LOOPBACK_DISABLE;
i2cSetup.freeMode = CSL_I2C_FREEMODE_ENABLE;
i2cSetup.repeatMode = CSL_I2C_REPEATMODE_DISABLE;
i2cSetup.ownAddr = 0x2F;
i2cSetup.sysInputClk = 120;
i2cSetup.i2cBusFreq = 100; // 100KHz
I send the data to PCM1864 = address 0x4A as below. (note. codec_pcm186x.c in the voice_ui_cloud demo)
I2C_write(writeBuff, writeCount, 0x4A, TRUE, startStop, CSL_I2C_MAX_TIMEOUT);
But it did not respond.
Note. I refer to the below document.
Voice Triggering and Processing With Cloud Connection to IBM Watson® Reference Design
Thank you.