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.

CC3200 I2S Peripheral (McASP)

Other Parts Discussed in Thread: CC3200, CC3100

Hi, in the CC3200 Technical Reference Manual both the SDHost peripheral and I2S peripheral are not documented at the register level from what I can see.

The CC3200 has a single application SPI peripheral and for my application I need a 2nd independent SPI type peripheral (at the minimum the ability to serialize/deserialize 8 bits as a master).  Can anyone at TI give some tips as to how to manipulate one of these two peripherals into acting as a 2nd SPI.   The SDHost looks like it has faster clock capability and I know SD cards usually support some type of SPI mode. 

However in the TRM both peripherals just say "Given the nature of integration of this peripheral on the CC3200 platform, it is recommended that developers use Peripheral Library APIs to control and operate the block."

Any ideas?

  • Hi Weatherbee,

    It is not possible to manipulate SD Host or I2S peripheral to work as SPI. You are correct that SD cards do support a SPI mode, but that's using SPI master on the host side.

    Thanks and Regards,
    Siddaram
  • Siddaram, I am using the application SPI port as a slave to another microprocessor on board (much like the CC3100 works).  This is why I need to get the I2S or SDHost ports working as an SPI master which you allude to might be possible.   I have another device on board that is part of the scheme that is an SPI slave that I need to talk to separately.   It's unfortunate that there is only one available SPI port on this part.  


    Looking at the timing I feel like this should definitely be possible but there are no register maps published.  Any hints where to start?  I don't think I've ever used an SDCard in SPI mode before in a microcontroller application.

    To simplify the entire question:  Can I hook an SPI slave device up to the SDHost port and bypass all the protocol stuff that the SDHost port API has built in?

  • Hi,

    I understand your requirement "Can I hook an SPI slave device up to the SDHost port and bypass all the protocol stuff that the SDHost port API has built in?". This is not possible. We don't have the register specs for this module, even if we had it would not have been possible to rig up a SPI slave to SD host or I2S interface. Sorry about that.

    Thanks and Regards,
    Siddaram
  • Hi

    Did your queries got answered. If yes please press the "Verify Answer" button to close this thread.

    Thanks and Regards,
    Siddaram
  • Can you please go into more detail as to why this is impossible.

  • Hi,

    SD host and I2S are two peripherals designed with very specific purpose and they support certain standard protocol. To make these peripherals work as SPI is not possible. Based on the discussions we had internally we did not find out any way or mode by which this could be made to work as SPI.

    One option is to go for SW bit banging to realize SPI but we don't have any code to demonstrate the same.

    I would request any of the other forum users to share their feedback if they have made any peripheral like I2S or SD Host to work as SPI. Even if it's not on CC3200 please do share.

    Thanks and Regards,
    Siddaram
  • Hi

    Did your queries got answered. If yes please press the "Verify Answer" button to close this thread.

    Thanks and Regards,
    Siddaram
  • I'm still unclear as to why the register map of *only* these two peripherals is not in the Technical Reference Manual for the CC3200. The more I've considered it, the more I believe that the I2S interface can be manipulated to control an SPI device so long as the word size is one of those supported by the I2S serializers. Can you please find out why we cannot have the register map. There are only a few registers for that peripheral.
  • Hi,

    We don't have the register map of I2S and SDHost readily available in a state that we can share with you. Sorry about that. However based on the understanding of internal working and decision of supporting a few features we came up with API list and the same is available in driverlib. At the moment i can't share if and when this would be available. As and when i have further info i will keep you posted.

    Thanks and Regards,
    Siddaram
  • I gather that you are saying that you *may* support additional features via the driver library?   I'm in the process of determining whether I am going to need an external programmable logic device as a work around to this limitation so it would be valuable to know what features you *might* support.   Since we are under an NDA with TI would it be helpful if I had our local TI technical sales rep contact your team to see if it might be possible to share the details of that API?

  • Hi,

    Whatever we wanted to support is already in the driverlib. I was referring the register address map corresponding to these API's which is missing for TRM. So at the moment we don't know if and when we will be able to add these register details to TRM.

    The info closest to TRM register map is present in the header file hw_mcasp.h. Please see if any info in this would helpful. As i understand your requirement was to make either I2S or SD Host peripheral work as SPI. Based on the info in hw_mcasp.h if you can share your thoughts on how do you plan to achieve this, we will also try to look at that and confirm if it is possible.
    We did already discuss this internally and we did not find any obvious way to do it. We will again see if there is any other means.

    Thanks and Regards,
    Siddaram
  • Hi,

    I did again have some internal discussion to determine if there is a way to emulate SPI using either SD Host or I2S. This is not possible. The reason being SD host has CRC, specific frame format and I2S also has very specific protocol requirements.

    Regarding your query about the register maps for I2S and SD Host, At the moment i can't say if and when this would be available. When it is ready or have any other info i will keep you posted.

    Thanks and Regards,
    Siddaram