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.

CCS/CC1350: cc1350

Part Number: CC1350

Tool/software: Code Composer Studio

I am trying to configure I2S protocol data exchange betweeb cc1350 and codec  TLV320AIC3254

Doing that by configuring registers according to the Technical description seems like "mission impossible" More than 30 registers to configure, one small mistake - and protocol will not work.

Can anybody give an example snippet or advice how to configure I2S data stream,

or, at least how to configure WCLK (16 KBit) and BCLK (512Kbit)  on IOID_26 and IOID_27 ports of CC1350.

Will be very obliged for support and help on that issue.

Boris Shkarban

  • Hello Boris,

    Our SDK provides PDM Drivers, with examples in the comments in which the I2S peripheral is being used. You can take a look at these.

    Regards,
    AB
  • Hi, AB,

    First of all, I am not able to find examples in a comments to PDM Driver files. I have simplelink_cc13x0_sdk_2_10_00_36 SDK, in source/ti/drivers/pdm directory I found pdm driver, but no description, no example.

    Second, pdm is not what I need. I need cc1350 to be a master I2s to transfer data stream to a codec. For that purpose I need to form a WCLK and BCLK signals on a cc1350. I am trying to do that by the following code (to do only WCLK generation for the beginning), which is not working. Can you help me with that ? Whats wrong?

    ///////////forward WCLK to DIO-7///////////////////////////////
    IOCPortConfigureSet(IOID_7, IOC_PORT_MCU_I2S_WCLK, IOC_IOMODE_NORMAL);
    ///////////specify the parameters of WCLK/////////////////////////
    PRCMAudioClockConfigSet(PRCM_WCLK_DUAL_PHASE | PRCM_WCLK_NEG_EDGE,I2S_SAMPLE_RATE_16K);
    PRCMLoadSet();
    /////////specify source for WCLK////////////////////////
    I2SClockConfigure(I2S0_BASE,I2S_INT_WCLK |I2S_NORMAL_WCLK);
    //////////////specify word length for I2S////////////////////
    I2SAudioFormatConfigure(I2S0_BASE, I2S_MEM_LENGTH_16|I2S_NEG_EDGE|I2S_SINGLE_PHASE_FMT|I2S_WORD_LENGTH_16,1);
    /////////////////enabling clocks////////////////////////////////
    PRCMAudioClockEnable();
    PRCMLoadSet();

    Please help
    Boris Shkarban
  • Hello Boris,

    Sorry for the misunderstanding. We do not have any TI drivers for the I2S peripherals, but we do have driverlib support for it, here is the documentations and API on how to use it.

    dev.ti.com/.../


    Best Regards,
    AB
  • You can also look at the audio examples here: github.com/.../ble_examples that uses I2S.
  • Thanks, Ter, for this example. The streaming sound over BLE is interesting for me very much. I will study thoroughfully this example. But it is developed for the CC26X2R1controller while I am using cc1350. Can this example (software) be accustomed (transferred) to cc1350? Or cc1350 is not powerfull enough?
  • If you change the Branch to something else than Master you will find support for other devices than CC26x2.