Work in progress – New Micro
It’s been a while since we upgraded the microcontroller on WiSense nodes. The last upgrade was from the MSP430G2553 to the MSP430G2955.
The MSP430G2955 has 56 KB code memory (on chip flash) , 4 KB of RAM and max clock speed of 16 MHz. The current set of features have exhausted the code memory so it is time to move to another member of the MSP430 family. This time we are upgrading to the MSP430F5419A. This is a 100 pin micro with 128 KB of code memory (again on chip flash) and 16 KB of RAM. This micro can run at a max speed of 25 MHz. It has far more GPIO pins (87 compared to 32 on the G2955). It has 16 12-bit SAR ADC channels compared to 12 10-bit SAR ADC channels on the G2955. The F5419A has 4 “Universal Serial Communication Interface (USCI) blocks” compared to 2 on the G2955A. Obviously the F5419A costs more. So it is an upgrade on all fronts.
Since we chose to have separate PCBs for the micro and the radio, changing either the radio or the micro is not a big effort.
Reduced function devices can still use the MSP430G2955 but all FFDs and coordinator nodes will use the MSP430F5419A going forward.
Board changes will include a 25 MHz crystal for the F5419A and a bigger external EEPROM to accommodate two 128 KB images (for firmware upgrade). Will add a JTAG interface in addition to the 2 pin SPY-BI-WIRE. Debugging with the full JTAG interface is far more convenient (and fast) compared to the SPY-BI-WIRE interface. I have not yet decided on the PCB size and the number of GPIO pins which will be exposed.
The advantage of sticking with the MSP430 family is that all the code base (pretty big now) runs on the F5491A as it is. Peripheral register naming is slightly different between the F5419A and the G2955. The F5419A has a highly configurable 12 bit ADC so all the device drivers using the simpler 10 bit ADC on the G2955 need to be modified to use the new 12 bit ADC module.
I was able to interface the CC1120 radio and got the UART working on the F5419A. I tested both the FFD and Coordinator configurations. Looks good so far. Was not able to get the clock speed to 25 MHz maybe because I am currently using the MSP-TS430PZ5x100 Target Socket Module instead of a PCB mounted micro.
Here are some pics of the eval setup.
For more information, please visit wisense.in.
Posted on November 2, 2016, in Uncategorized. Bookmark the permalink. 4 Comments.
More memory will be nice, although cost of micro is doubling according to TI website: 1.3 to 2.5 per kilo units. For MSP430F5419A you are planning on 25MHz crystal. How is it that in the old MSP430G2955 25kHz was enough to run the micro at 16MHz. Would the 16MHz clock to micro have been accurate from a low freq crystal?
All MSP430s have an internal high frequency DCO (oscillator). The MSP430G2955’s internal DCO synthesizes the 16 MHz clock. The external 32kHz clock is used only for timers.
The MSP430F5419A allows external high frequency crystal to produce the main clock (25 MHz) so I am thinking of using it instead of depending on the not too accurate internal DCO.
Debugging will be more expensive since we have to invest on the white box shown in the picture.
This micro has both JTAG and spy-bi-wire. So the latter (cheaper) option will also be available.