RoadTest: MSP-EXP430FR5739
Author: migration.user
Creation date:
Evaluation Type: Evaluation Boards
Did you receive all parts the manufacturer stated would be included in the package?: True
What other parts do you consider comparable to this product?: None.
What were the biggest problems encountered?: 1. Absence of filter on accelerometer. 2. Not a lot of examples available on the web. 3. Not supported on GRACE tool.
Detailed Review:
I wasn't sure if I was going to be selected for the review or not, so I went ahead and bought the kit anyway. Here's how I found it:
1. I wanted to explore if the processor reboots due to watchdog timer expiring (in case of an exception), then would the controller being implemented on the processor be able to recover and keep control of the process under control? Two major factors that would contribute to effective recovery would be:
a. Bootup time
b. Writing status in real-time to the FRAM which would be use after bootup to start from the point where it left when the crash happened.
Well, I couldn't complete the test, because my oscilloscope finally broke down after 20 years of service!! So I don't have any quantitative data to share. However, qualitatively, I can make these comments. Bootup time is very fast, specially if you keep your application simple, and don't put in blinkies like they have in the example firmware that it comes with it. It is tempting to use the very bright oLED's that the board comes with to make your project look nice, but in my application, I simply didn't need that. Also, you can write to FRAM almost with the same speed as you can write to RAM. There is no comparison in speed writing to a Flash. I haven't tried it (I'll post the results when I get a new oscilloscope), but it amost looks possible.
2. 3-DOF Accelerometer does not have a low pass filter before the input is brought into the microcontroller ADC. This makes it almost impossible to control fast systems. You can attach a capacitor to P3.1-3, but that will have limited effect. Ideally, I'd like to put a low-pass butterworth filter in there. I tried it on a two-wheeled self balancing robot, but it didn't work. The noise level was too high. I've already balanced the robot using an accelerometer, so its not as if it can't be done. However, with this guy, I wasn't able to do it. Maybe I need to spend more time and implement a digital filter, but I didn't have time for that. Again, if I manage to do that, I'll post the results. ADC works perfectly for tilt measurement applications, though.
3. Its a new chip, so there aren't that many sample projects available to get from the web as a starting point. The core is the same as on other MSP430 controllers, so programming the peripherals is not a big deal. The only thing that is different is the FRAM, and that works just like a RAM. The sample project (downloadable from web) gives an example on how to do that. However, one thing that is indispensible is support on GRACE tool. Absense of this support is a big drawback. Even if you're familiar with MSP430 microcontrollers, and even if GRACE tool doesn't provide User/Advanced User GUI for all the peripherals, it is useful to have direct access to registers through this tool, so that you don't have to keep on referring to the datasheets while programming.
I know that this is just an eval kit, but it would have been useful to have an option to put in filters between the accelerometer outputs and ADC pins. In future, if TI is using accelerometers with analog output, I hope they will keep this in mind. Also, support on GRACE will help making this chip popular. It has a lot of potential not only in the application that I've described in 1. above, but also for black-box applications. Using Flash is not the best option, since it has a limited lifecycle. This chip can be used to keep a circular buffer to record critical data, which can be retrieved in case of a failure/crash, and can be used in post-mortem diagnostics to see what conditions led to the crash. This information is very important in recreating the crash, specially for real-time applications. In larger machines, you have the option to put in core-dump facility, but that is not an option for smaller, embedded systems due to restricted resources. This chip has the potential to solve that problem.