Disclaimer: information stated in this article is for educational purpouses and under review. Not design decisions should be made solely with this information. You have to check your own information from original sources. If you have any suggestion please don't hesitate to comment below.
The news
Today in the morning I read my feedly news and found an interesting one at Hackaday: NEW PART DAY: MSP430 + CORTEX M4F. Here is its main features block diagram:
It looks great at the beginning, as I know another microcontroller ARM Cortex -M4 from Texas Instruments, thanks to the free online course I did a year ago. Working with low power microcontrollers is very useful when power supply is constrained like battery operated devices, or when energy efficiency is compulsory.
There are very afordable evaluation boards for both microcontrollers called "LauchPads", so they are very convenient for serious robotic control and general purpose applications with real time constrains (more below). The only drawback in comparison with Arduino ecosystem I found is, there is not a so wide online community. But it has an easy tool like the Arduino IDE: the Energia software that is based on Arduino IDE platform, thanks 6677 for the tip). As an example of libraries and documentation for the Energia software, here are for the Stellaris LauchPad board EK-TM4C123GXL at the Energia website. (Thanks Bajdi for asking.)
But the online free course for the TM4C123 microcontroller and a good online support can help a lot to learn these good systems. For the software side, there are other free software, and the free version of Keil programming, debugging and flash software is very useful, as we so in the mentioned online course.
Here is the main features diagram for the already know TM4C123 microprocessor:
The comparison: starting hard to do
However, as I started to read the specifications for the new M4F microcontroller I realised there was more than "low power" features for that microcontroller. Is it less powerful due to consumption constrains? Has it similar I/O capabilities like PWN and so?
Soon I discovered both microcontrollers are not just comparable, as one can imagine, but they are quite difficult to compare one against the other from manufacturer's documentation... So I created a spreadsheet for the sake of the comparison starting from original tables from Texas Instruments website.
Main details: even harder to compare
- MSP432P401x Slower: up to 48 MHz vs up to 80 MHz
- MSP432P401x More ADC precision 14 bits at 1MSPs vs 12 bits at 1MSPs
- MSP432P401x No CAN communications
- MSP432P401x Only 4 UARTs vs 8 UARTs
- DSP included at MSP432P401x
- MSP432P401x with more SRAM: 64 KB vs 32 KB
- Both have FPU
Details are hard to find from manufacturer's documentation. Power consumtion
Finding power consumption for these kinds of processors can be very easy... or hard.
For the MSP432P401x I found easy it has 95uA/MHz active at its website: http://www.ti.com/tool/msp-exp432p401r
We have the most important features for this microcontroller in a table here: http://www.ti.com/product/msp432p401r
But for the TM4C123GH6PM it was harder. I had to search until I found an external PDF from a workshop where they state that the TM4C123G has 370 uA/MHz when active. The Standby Power is not stated in the datasheet
From these figures we can work out the new microprocessor MSP432P401x is 3,89 times more efficient, but I think a "same tasks comparison" test should be done to have equal situation power consumption figures, also with different type of tasks, as not all of them need are so power hungry.
At http://eembc.org/ulpbench you can find benchmark for low power cores for only the MSP432P401R Rev. B which states a "good" ULPMark™-CP of 167.40 but at 24MHz (?) against for example Atmel SAML21J18A-UES RevA - DC1506 with a ULPMark™-CP 185.80 at 12 MHz. It looks like they play low with clock frequency to get as best mark as possible...
Real time operation: deterministic
For critical timming task, is needed deterministic operation in the microcontroller also known as Real Time Operation. It is stated directly in the TM4C123GH6PM datasheet as "Deterministic, fast interrupt processing: always 12 cycles, or just 6 cycles with tail-chaining (these values reflect no FPU stacking)".
But for the MSP432P401x microcontroller there is not such information in the datasheet. We have to search in internet to find third parts information published as Press Release form the manufacturer probably: "At the same time, by allowing access to the DriverLib firmware in ROM rather than flash allows code to be executed up to 200 percent faster, critical in many real-time, deterministic operations".
P.D.1:
Is it possible to simulate (debug) a program in Code Composer Studio without a board connected?
As a matter of professional reciclying I'm testing Code Composer Studio as it has software development, debud and flash for the Tiva C board. Today I found that it's not possible anymore to do a simulation of a Project in Code Composer Studio without a real board connected. This means if you want to test any software you develop in Code Composer Studio, you need a board connected. Bad news. You can see some details in the Code Composer Studio Wiki.
https://www.youtube.com/watch?v=tXVUlnnyAGA