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.

CC3120MOD: using service pack 3.17 with cc3120 and MSP432P1111

Part Number: CC3120MOD
Other Parts Discussed in Thread: CC3120,

In December, it was suggested on E2E that I use the 3.17 service pack from the CC3220 SDK because it solved an issue where the Wi-Fi Scan stopped working.  When I upgraded our AWS MQTT implementation to the latest version, I added a send timeout using the socket option with SLNETSOCK_OPSOCK_SND_TIMEO.  I experienced a lot of disconnects and hang-ups and switched back to service pack 3.16 and found it rejected the SLNETSOCK_OPSOCK_SND_TIMEO.  Once I remove the SLNETSOCK_OPSOCK_SND_TIMEO socket option call, the problems disappeared.  This leaves me wondering if the 3.17 service pack can safely be used with the CC3120 4.20 SDK.

My second question has to due with the CC3120 to MSP432 SPI clock.  I have had some random socket and fatal Wi-Fi errors and was wondering at first if it was from the 3.17 SDK so I went back to 3.16.  This seemed to reduce the failures, but they are so random its not clear.  On one of our controllers that continued to have failures I tired a smaller resistor on the SPI clock which also seemed to reduce the failures.  A direct connection does not work so we started with a 1K resistor.  This resistor has worked for the last year, but with MQTT the probability of a fatal Wi-Fi error has increased possibly due to additional socket activity.  My question is whether an SPI clock that is rounded from large resistor could have reduced the reliability of the SPI interface and led to occasional socket errors and fatal Wi-Fi errors.  We run HTTP and MQTT on separate threads which normally works great with the exception that I couldn't let them connect at the same time and still have a task to get network logs for that problem.

Gary Klinefelter

  • Hi Gary,

    The 3.17 servicepack is backwards compatible with the CC3120 4.20 SDK. However, using newer APIs and features such as the  SLNETSOCK_OPSOCK_SND_TIMEO option is not necessarily supported - new features are tested against the latest host driver, and using them will require careful modification of the host driver to ensure that the new APIs are supported correctly.

    Are you using an MSP432 launchpad and CC3120mod boosterpack, or are you using your own custom hardware? Also, what is the SPI clock rate you are using?

    Do you have an oscilloscope capture of the SPI signals, especially the SPI clock? That will allow us to check and see if there might be a signal quality issue.

    Regards,

    Michael

  • Hi Michael,

    This is a custom board, but very similar to the boosterpack.  SPI clock is 3 MHz.  MCLK is 40 MHz and ACLK is 32 KHz.  The waveform below is the SPI clock with a 1000 ohm series resistor.  Without the resistor there is a lot of overshoot which I assumed caused our early sync failures.   I started testing the SPI clock by constantly calling sl_DeviceGet(SL_DEVICE_GENERAL...) on 2 of our boards.  One with 1000 ohms and one with 100 ohms. The 100 ohm version still has about .7 volts of overshoot on the rising edge.  Any advice on this will be appreciated.

    Gary

  • Hi Gary,

    3MHz SPI clock should be supported by the MSP432.

    I've notified a colleague on the hardware applications team that will take a look and offer advice with the SPI signal.

    One question I have is, exactly what fatal error are you getting from the CC3120? Is it a sync loss error, or is there some other fatal error that you are getting?

    Regards,

    Michael

  • Hi Gary,

    For the SPI Clk, 1k seems to be a high value to help correct overshoot - Did you come to this value after doing some testing? My ask is to perform two tests and capture them on the Osciiloscope. One with a zero ohm so we can see the overshoot problem, and one with a 33 ohm resistor to see if that helps and also if it fixes your other issues.

    BR,

    VInce

  • I have seen both SL_DEVICE_EVENT_FATAL_DEVICE_ABORT and SL_DEVICE_EVENT_FATAL_DRIVER_ABORT.  The frequency is roughly once a day and very random and some controllers seem less susceptible.  It seems like this has gotten worse with MQTT, although our connection time has also increased.

    Gary

  • Here are two waveforms.  One with 100 ohms and one with 0 ohms.  At 330 ohms the overshoot is gone.  Yesterday, did some SPI stress testing at 100 ohms and 1000 ohms and nothing failed so this may not be an issue. Gary

  • Hi Gary,

    Looks like the issue is solved. Let us know if thats incorrect, or more issues come up!

    BR,

    Vince