<< Chapter < Page Chapter >> Page >
So far, you have played around with existing code and have had a high level view of the mote. It is now time to dig intothe hardware and understand both what the mote board is composed of, and how you can program it. This section is purelytheoretical (i.e. no exercises), but serves are a basis for the subsequent sections in which you will have to write software for the board.

The heart of this platform is its MSP430 microcontroller , by Texas Instruments. There is a complete family of MSP430 micro-controllers, the variants of whichare different in the amount of RAM/ROM and I/O capabilities, mainly. The one you will program is the MSP420f2274, featuring 32KB + 256B of Flash Memory(ROM) and 1KB of RAM.

The MSP430 is a 16-bit RISC microcontroller. 16-bit means that all registers hold16 bits; interconnection between the elements of the micro-controller is done using16-bit buses. RISC – for Reduced Instruction Set Computer – refers to the fact thatthere are (only) 27 core instructions.

Operation of the msp430

The following figures shows the internal architecture of the MSP430. The CPU contains 16 registers ; its operation goes as follows. A system clock ticks at a programmable rate(e.g. 1MHz), so each μs an instruction is fetched from memory (ROM), copied into the right register and executed. An example execution can be adding tworegisters and copying the result to a third. In practice, these low-level details aretaken care of by the compiler, which translates C into assembler language and binary code.In this tutorial, we only work with the higher-level C.

msp430_architecture
The internal architecture of the MSP430.

Programming the msp430

When you program a mote, you program its microcontroller, i.e. you put the compiledbinary code at the right location in the MSP430's ROM memory. When the board is switched on, the MSP430 starts by fetching the first instruction at apredetermined location in ROM; this is where the programming tool puts your compiledcode.

To configure other components (e.g. to set the transmission power of the radio), youneed to program the MSP430 in such a way that it configures the radio at the beginningof your program.

Interrupts

A program for a wireless mote is in practice a sequence of very small pieces of codes executed when some event happens: e.g. when the button is pressed, turn onthe red LED. When an event happens in an electronic element outside the MSP430 (e.g. the button is pressed), this element informs the MSP430 by changing theelectric state of the wire which connects this element to the MSP430. This wire isconnected to one of the ports of the MSP430 (e.g. port P1.2 in the case of the buttonon the eZ430-RF2500). You need to program the MSP430 in such a way that changing the status on port P1.2 generates an interrupt. When an interrupt isgenerated, theMSP430 stops its current execution (if any), and starts executing a specificfunction called the Interrupt Service Routine ( ISR ) associated to that particular interrupt.Once this function is finished (normally an ISR is a very small function), it resumes its normal execution (if any).

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Ezwsn: experimenting with wireless sensor networks using the ez430-rf2500. OpenStax CNX. Apr 26, 2009 Download for free at http://cnx.org/content/col10684/1.10
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Ezwsn: experimenting with wireless sensor networks using the ez430-rf2500' conversation and receive update notifications?

Ask