Anyone has had experience with Ti CC1310 or Energia? OR Dowgrading a full-blown SoC to a slave device.

Any other microcontroller based boards
User avatar
MoDu
Posts: 66
Joined: Tue Mar 05, 2019 1:56 pm
Location: Lisbon
OS: Windows
IDE: Visual Studio
Core: Roger's
Board: Maple mini

Re: Anyone has had experience with Ti CC1310 or Energia? OR Dowgrading a full-blown SoC to a slave device.

Post by MoDu » Sun Apr 07, 2019 12:19 pm

Rick Kimball wrote:
Fri Apr 05, 2019 9:58 pm
So tell me more about your RF stack.
Gladly. The top level features include:

- Low overhead: 1 byte header and 2 bytes CRC. I even replaced the hardware CRC from the radio IC with my software MAC/CRC.
- Packet collision avoidance, based on a synced clock a half-duplexing a 10ms period.
- Full cryptography, using a 20 byte ElypticCurve for public key exchange, and Ascon 16 byte encryption. Also implemented is a TOTP token update, but that's so overkill :D
- Link service that searches for partner, exchanges public keys and does some one time setup (measuring latency, syncing clock, etc).
- OOP extendable base service that behaves like a modern library do deal with remote call (like OkHttp).

And finally, running on top of all of this, is the real motivation for this project: SyncSurface. It's combination of RF service and data structure, where if you change the data on any other context (let's say, a joystick input), the structure fires an event, that wakes up the service, that starts syncing that data with the partner corresponding service. This data is then synced in differential fashion, with validation and resend (if needed). The partner then receives an update that the data has changed. Great for my RC/Robotics projects!

Rick Kimball wrote:
Fri Apr 05, 2019 9:58 pm
I've loaded all the goodies, CCS, CC13x0 sdk, even the windows based SmartRF Studio.
Not fair, I'm still waiting for my launchpad to arrive.
Rick Kimball wrote:
Fri Apr 05, 2019 9:58 pm
I like the idea of making TI a slave to me ;)
:mrgreen:

Next level, is to make Xilinx a slave. :lol:

Rick Kimball wrote:
Fri Apr 05, 2019 9:58 pm
I noticed that TI now has a cc1312 chip, an upgraded CC1310. Like McDonald's, they supersized the RAM from 28KB to 88KB, the CPU from cortex-m3 to cortex-m4f, and they even threw in more peripherals.
A slave doesn't need much brain. Plus, no cheap boards on eBay.

But the energy measurement thingy seems interesting, though I'm not a big fan of granular energy savings, I like "hurry up and go back to sleep" more.

Rick Kimball wrote:
Fri Apr 05, 2019 9:58 pm
One thing I really should do is create a virtual machine snap shot of all this stuff so I can go back to it some time in the future when the have obsoleted all the hardware and the toolchain software ;)
Exactly what I'm gonna do.

Thank you so much for your insight!

User avatar
Rick Kimball
Posts: 71
Joined: Thu Mar 14, 2019 6:27 pm
Location: Eastern NC, US
OS: Linux
IDE: Arduino 1.8.9, vscode+make, eclipse, vi, emacs
Core: libmaple, STM official, fabooh, none
Board: Bluepill, Nucleos, Discovery
Contact:

Re: Anyone has had experience with Ti CC1310 or Energia? OR Dowgrading a full-blown SoC to a slave device.

Post by Rick Kimball » Sun Apr 07, 2019 5:19 pm

I discovered yet another feature. The Sensor controller.
from datasheet wrote:The Sensor Controller contains circuitry that can be selectively enabled in standby mode. The peripherals
in this domain may be controlled by the Sensor Controller Engine, which is a proprietary power-optimized
CPU. This CPU can read and monitor sensors or perform other tasks autonomously; thereby significantly
reducing power consumption and offloading the main CM3 CPU.
A PC-based development tool called Sensor Controller Studio is used to write, test, and debug code for
the Sensor Controller. The tool produces C driver source code, which the System CPU application uses to
control and exchange data with the Sensor Controller. Typical use cases may be (but are not limited to)
the following:
• Analog sensors using integrated ADC
• Digital sensors using GPIOs with bit-banged I2C or SPI
• Capacitive sensing
• Waveform generation
• Pulse counting
• Key scan
• Quadrature decoder for polling rotational sensors
The peripherals in the Sensor Controller include the following:
• The low-power clocked comparator can be used to wake the device from any state in which the
comparator is active. A configurable internal reference can be used with the comparator. The output of
the comparator can also be used to trigger an interrupt or the ADC.
• Capacitive sensing functionality is implemented through the use of a constant current source, a timeto-digital converter, and a comparator. The continuous time comparator in this block can also be used
as a higher-accuracy alternative to the low-power clocked comparator. The Sensor Controller takes
care of baseline tracking, hysteresis, filtering, and other related functions.
• The ADC is a 12-bit, 200-ksamples/s ADC with 8 inputs and a built-in voltage reference. The ADC can
be triggered by many different sources, including timers, I/O pins, software, the analog comparator,
and the RTC.
• The analog modules can be connected to up to eight different GPIOs (see Table 6-1).
The peripherals in the Sensor Controller can also be controlled from the main application processor.
Seems very low power
from datasheet wrote:- Active-Mode Sensor Controller at 24 MHz:
0.4 mA + 8.2 µA/MHz
– Sensor Controller, One Wakeup Every Second
Performing One 12-Bit ADC Sampling: 0.95 µA
Basically another cpu that has its own assembler language that can access peripherals and dma to do work in the background and then send interrupts to wake up the main processor. From the description it seems like it could take care of an nrf24l01+ and gather data packets while the main cpu is powered down then wake it up when you have a full message.

... goes off to load up Sensor Studio to see what that is all about
-rick

User avatar
MoDu
Posts: 66
Joined: Tue Mar 05, 2019 1:56 pm
Location: Lisbon
OS: Windows
IDE: Visual Studio
Core: Roger's
Board: Maple mini

Re: Anyone has had experience with Ti CC1310 or Energia? OR Dowgrading a full-blown SoC to a slave device.

Post by MoDu » Sun Apr 07, 2019 8:27 pm

Neat, a co-processor is always handy. Not sure about the hassle of actually using it, say comparing to the ESP32 and it's ULP co-processor. Please share your travels :-D

I was more impressed with the 4x 32 bit timers, that'll come in handy to make good clocks. Currently I'm frustrated that I can't below a 30ms error margin clock, even with drift compensation. Maybe I do need to add a 32KHz crystal to the mini. TRNG is also good for crypto, so I don't have to snif analog ports for entropy.

User avatar
zoomx
Posts: 42
Joined: Tue Mar 05, 2019 8:10 am
Location: Mt Etna - Italy
OS: Windows 7 & 10
IDE: 1.8.8
Core: Roger & STM official
Board: Bluepill, Maple mini

Re: Anyone has had experience with Ti CC1310 or Energia? OR Dowgrading a full-blown SoC to a slave device.

Post by zoomx » Tue Apr 09, 2019 7:58 am

I used Energia only for basic examples, never developed complex projects, only with some MPS430 chips (when they sold it at 4$!), a MPS432P401R (I wished to test FRAM) and some LM4F120.

There is a multitask support for some chips.
https://energia.nu/guide/foundations/pr ... titasking/

You can use EnergyTrace for monitoring other chips but not all Launchpad works.
I used the one described here
http://43oh.com/2015/09/how-to-measure- ... ergytrace/
and bought an MSP-EXP430FR5969 Launchpad board for this purpouse.

ag123
Posts: 168
Joined: Thu Mar 07, 2019 6:15 am
Location: Singapore
OS: linux
IDE: eclipse, arduino 1.8.5
Core: Roger's
Board: Maple mini, Bluepill

Re: Anyone has had experience with Ti CC1310 or Energia? OR Dowgrading a full-blown SoC to a slave device.

Post by ag123 » Fri Apr 12, 2019 7:59 am

off topic
i got myself a few pieces of nrf51822 boards on a similar thinking, i've not actually worked on nrf51822 myself
but i flashed the ble sniffer firmware onto a board using a st-link
https://learn.adafruit.com/introducing- ... nrfsniffer
it works
i used nrf51822 as apparently as it seemed the same arm gcc stack, st-link, eclipse etc would work on the nrf51822
there are official soft-devices as well as some open sourced stacks available
the downside of nrf51822 is of course that 2.4 ghz is a pretty crowded band
but i went specifically for nrf51822 as the connectivity theme is BLE, i've not found another better solution

there are a lot of cheaper cc2540, cc2541 ble modules available from aliexpress / ebay
http://www.ti.com/product/CC2541
but i can hardly find any open sourced toolchain that can program the (8051 based) cc2540, cc2541 itself
and neither can i find much in terms of specs for the cc2540, cc2541 itself to program it
most of that requires some commercial programs and binary stacks even for programming them

so if i want to use cc2540/cc2541 i'd need to make do with propierty ble firmware
in the end it went with the more expensive nrf51822 due to being able to use the same set of tool chains as stm32 to work on them

just 2 cents

User avatar
MoDu
Posts: 66
Joined: Tue Mar 05, 2019 1:56 pm
Location: Lisbon
OS: Windows
IDE: Visual Studio
Core: Roger's
Board: Maple mini

Re: Anyone has had experience with Ti CC1310 or Energia? OR Dowgrading a full-blown SoC to a slave device.

Post by MoDu » Fri Apr 12, 2019 10:52 am

Zoomx, thank you for your input.

ag123, BLE is an entirely different beast, as you're using a standard protocol that smartphones and computers have to be able to read. And of course, 2.4GHz is crowded. I am pretty happy with nRF51822, in fact, I've had good experience with Nordic radio ICs and SOCs.

User avatar
MoDu
Posts: 66
Joined: Tue Mar 05, 2019 1:56 pm
Location: Lisbon
OS: Windows
IDE: Visual Studio
Core: Roger's
Board: Maple mini

Re: Anyone has had experience with Ti CC1310 or Energia? OR Dowgrading a full-blown SoC to a slave device.

Post by MoDu » Thu May 09, 2019 1:20 pm

Image

Look what just arrived.... :D

Post Reply