Friday, March 18, 2011

MSP430 Low Power Micro

The Texas Instrument MSP430 is a low power, low cost micro-controller.  The MSP430 comes in a lot of different flavors with many different combinations of on-board peripherals.  The particular chip that I am using doesn't have many peripherals at all.  A couple of timers.  Some general purpose IO pins.  One hundred twenty eight bytes of ram. 1k of flash.  Really no frills.  Ironically though it screams at 16mhz.  This is plenty of power and features for what I'm planning on doing with it (yes, its a mystery for now).

I have worked with other similar micro-controllers but not this particular one.  To get my feet wet with the environment, tools, and libraries I plan on starting by getting a couple of the drivers working.  Flash, GPIO, watchdog, and a RS232 serial driver.  Most modern micros like this come with pretty good documentation as well as example code to work with.  These drivers listed above are pretty standard so I expect the sample code to be a very good starting point.

Before USB or Bluetooth, standard serial communication was the way to go.  Most embedded devices end up implementing a form of serial, in one form or another, to support low level bring up and debugging, or as the main form of communication.  The RS232 serial driver will allow me to send bytes from a pc, down to the micro-controller and read bytes back.  As mentioned in previous posts I plan on implementing a light weight communication protocol using the serial communication.

Future posts will detail the design of the communication stack, as well as other aspects of the design.

Thursday, March 3, 2011

Hardac

This is the start of a series of projects that i have been noodling over for some time.  The purpose of these projects is to explore a range of technologies and techniques that I have worked with peripherally but not together.


The project will explore aspects of Software Engineering Philosophy described in the Pragmatic Programmer including:
  • Test Driven Development
  • Automated Unit Testing
  • Meta programming languages
  • Automated build process
In addition to some of these high level items, I'll be investigating low level technologies including the following:
  • Microsoft DirectShow
  • Texas Instruments MSP430 low power micro-controller
    • GPIO Driver
    • RS232 Driver
    • Light weight communication protocol.
    • Flash Driver
    • Rolling Event Log in non-volatile memory
  • Application to communicate via RS232 with micro-controller
My fifth grade teacher was a very influential educator in my life.  In his class every student was required to keep a journal.  I have been out of the fifth grade for a long time and my teacher has long since retired.  This is my journal of the events as I work on this project.  I intend to document some of the interesting aspects of working with these items as I go so I may learn from them as I work through it, and chronicle it for others to learn as well.