[Tinyos-help] Port Numbers
Roy Shea
royshea at gmail.com
Mon Mar 2 22:51:08 PST 2009
Hello Mohammed,
> What I want to understand is how the MCU gets the data off the network
> and stores it in the data memory. Is there any specific port through
> which the MCU gets the data?
My understanding of this question is "What path does data take from the
radio into a usable form by my TinyOS application running on a micaZ
node?"
My terminology may be a little off because I'm also just starting to dig
into TinyOS. With a bit of luck others will correct any mistakes I
make. But here is what I understand.
The micaZ uses a CC2420 radio and data packets move between the CC2420
and AVR microcontroller over the SPI bus. The manual for the ATMega128
has a nice section on SPI, and the data sheet for the CC2420 talks about
the gory details of interfacing with the radio over the SPI (and may be
a lot more detail than you need).
For an overview of SPI in TinyOS you can try:
http://www.tinyos.net/tinyos-2.x/doc/html/tep117.html
I haven't read it yet, but at first glance it looks like a good spot to
start.
For how the TinyOS radio driver handles this SPI tranfer, try
looking at the CC2420ReceiveP.nc component. Perhaps start with the
functions beginReceive, receive, RXFIFO.readDone, and receiveDone_task
to get started. The call to receiveDone_task passes the the packet to
the higher layer Receive interface where it gets routed by TinyOS to the
appropriate handler.
Best of luck,
-Roy
More information about the Tinyos-help
mailing list