Home arrow Blog arrow DevJournal - Preliminary Driver is working...finally
DevJournal - Preliminary Driver is working...finally | Print |
Written by Akiba   
Saturday, 27 December 2008

Now that it's finally quiet here in Tokyo, and the rest of the tech industry as well, I finally got a chance to really focus on finishing the driver and getting it to work with the FreakZ stack. It actually took longer than I expected, but I finally got the driver working with the stack. Although I had somewhat of a head start since there was an Atmel driver in Contiki, my requirements are different than those for the Contiki implementation of 6LoWPAN. So I had to add some extra features, remove some unused ones, and also do other modifications.

One of the main issues I had was that the MAC layer needed to be ripped up since the Atmel radio implemented a lot of the MAC functions in hardware. More specifically, it implemented CSMA/CA, transmission retries, auto-ACK, and CRC generation and handling inside the chip, whereas I was previously doing it all manually in software. 

I ended up separating the MAC into two layers, a lower layer that uses the AT86RF230's hardware MAC, and an upper layer that handles all the remaining MAC functions. Other chips like the CC2520 have pretty much similar functionality where the hardware automates alot of the repetitive MAC functions, so I figure that separating it will make it easier to port the stack to other radios in the future as well. So now, the MAC consists of two parts: a hardware dependent portion and a hardware independent one. The hardware dependent part will be located in the same directory as the driver and the hardware independent one will be in the normal place (ie: the mac folder). 

Here's a shot of the Zigbee Network Join process between two nodes. This is one of the trickiest parts because it combines command frames, beacon frames, and indirect transfers and goes from the driver all the way up to the ZDO. Now that this is working, I need to start testing out data transfers and routing.

Zigbee Network Joining

Hits: 1442
Trackback(0)
Comments (2)Add Comment
...
written by Akiba, March 09, 2009
You'll need to go to the main page and in the right sidebar, you'll see two RSS links. One of them will be for the Blog updates and one of them will be for the news. I just checked them and both seem to be working. Just click the link for the RSS, paste the address into your reader, and it should be up and away from there.
report abuse
vote down
vote up
Votes: +0

Write comment

busy
  No Comments.

Discuss...
< Prev   Next >