<< Chapter < Page | Chapter >> Page > |
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.
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.
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.
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).
Notification Switch
Would you like to follow the 'Ezwsn: experimenting with wireless sensor networks using the ez430-rf2500' conversation and receive update notifications?