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.

CC2640/2650 + ADC (ADS7042) Project

Other Parts Discussed in Thread: CC2640, ADS7042, CC2650, ADS7056

Team,

Any chance anyone has done any work with interfacing our CC2640/50 Sensor Controller to our TI ADCs (such as ADS7042)?

Thankfully our ADS7042 BoosterPack plugs directly into our CC2650 LaunchPad and if a project example existed, I'd certainly leverage that. 

Let me know if anyone has an example to share.

Thanks!!

-Chris

  • Hi Chris,

    We do not have a reference projects specifically for any of the TI ADCs. There are however quite a few examples you can start off of in Sensor Controller Studio.

    Cheers,
    Fredrik
  • Hi Fredrik,

    Thank you again.  I’ve reviewed the applicable SCS documentation.

    Can I just ask this:  We are using the Sensor Controller on the CC13xx/26xx but with an external ADC (TI ADS7056) as shown below:

    Therefore, what SCS project example would be the BEST place for the customer/us to start proof-of-concept work with?

    Thanks,

    Chris

  • Hi Chris,

    There is an example for using the I2C light sensor on the SmartRF06EB in SCS. That should probably be a good starting point for the I2C ADC they are using. There is also a training for SCS using the same sensor in SimpleLink Academy:

    Best regards,

    Fredrik

  • Hi Fredrik,

    Indeed, yes, the latest release of Sensor Controller Studio and the example closest to our application is the I2C example. And it should be fairly easy to add GPIO function to this example, per the above block diagram. The customer will just need to change the pin tables if they are using the Smartrf06 board vs. other TI hardware or their own for that matter.

    For customers where this is their first experience with Studio, it might be helpful for them to also follow the example in the Quick Start Guide since it is essentially a step-by-step description - and then move on to the I2C example or others as required.

    I communicated with Srividya as well and have a base project up and running which we can use with the customer for initial prototype and development purposes.

    Thanks again,
    Chris
  • Fredrik and team,

    Our customer is now asking if the Sensor Controller can sample fast enough.

    In summary, if they sample the 16bit ADC (ADS7056) at say 9600Hz (x3 for three axis accelerometer) would the CC2640 SCE be able to handle this to do calculations in the RAM also?

    From a quick glance of the data sheet we're not sure it is obvious that it can, so we wanted to ask you guys for clarification.

    For now, the calculation would just do a one second sample for RMS calculations. They would ultimately like to do an FFT to see if they can do without the DSP that is in the older architecture.

    Any empirical thoughts? Comments welcomed!

    Thank you very much,
    Chris
  • Hi Chris,

    I'm struggling to find the datasheet for ADS7056. I see that ADS7042 is tagged. This device is based on SPI. Which is it?

    In any case; the serial interfaces implemented in the Sensor Controller are bit-banged. They support the serial speeds as documented. If you don't utilize the full bandwidth, then you can use every other clock cycle for other instructions. Note that there is no multiplication module in this microcontroller. All operations you have access to are documented in the Sensor Controller Studio.

    16-bit * 3 * 9600 is 460800 bps. This is more than you can do with 400kbps I2C, so I hope the serial interface for the ADC is SPI. We can do 1.1MHz SPI, so that should theoretically leave 50% for processing.

  • Hello Torbjorn,

    Thank you very much for your reply. Yes, I agree with your explanation. Indeed, the customer is considering the use of SPI for the interfacing, which as you noted would in theory handle the throughput and potentially save some horsepower for extra processing. For now, I think we are good to go and thanks again for your response.

    Sincerely,
    Chris
  • BTW, I believe the ADS7056 is a brand-new device, while the ADS7042 you found is catalog. I believe both offer a SPI interface so everything you describe above is accurate. Thanks again.

    -Chris
  • btw; I don't think this use-case is ideal for the Sensor Controller. Sensor Controller is really ideal for small operations that should be run with optimal power consumption. Running three axis sensors at full speed is really an active task. I believe you would be better off using the SPI module in hardware and DMAs for data transfer. Then use the Cortex-M3 to do processing during the data transfers. This would be a more optimal use of resources, and potentially more power efficient in the end.

    Sensor Controller can be used to extract samples from the ADC at a much lower rate, to detect that something is happening. This can then be used to wake up the full system to utilize the processing power of the Cortex.
  • Does TI have documentation for achieving low power interfacing with the ADS7042 and sending the data out over BLE on a CC2650? I have a project that needs 1ksps ADC, with minimal power requirements (1mAh battery). We can tolerate about 10s of latency if it would be more efficient to store the ADC outputs in memory and send them out in one go instead of keeping the RF radio on all the time, but it sounds like the CC2650 would still need to be constantly waking up (e2e.ti.com/.../491176).