Hi Jiakang, > how can we know how many packets should be used in this sending train, > corresponding to different duty cycle/sleep interval of LPL?
The software really doesn't need to know the exactly number of packets to send, because the amount of time spent per packet is dependant upon a lot of factors. Instead, the stack will start a timer when it begins sending that lasts two times the receiver's receive check interval. In the meantime, the radio transmits the same packet repetitively until that timer fires. In other words, if the receiver is performing a receive check once every second, then the transmitter will transmit as many packets as it can for two seconds. The fact that the transmitter is transmitting for twice the amount of time will increase the reliability of delivery. If the receiver can detect transmissions at 100% reliability, the average time spent transmitting will be half the receive check period (in my example, 0.5 seconds) because an ack from the receiver will cause the transmitter to quit. > Another question is about your module in cc2420: do you choose to > retransmit the packet with data payload or special packet ... > What do you think of the advantages and disadvantages of these two > different ways? I'm retransmitting the packet with the full payload that was passed in from the application layer, not a special packet. It turns out that better detection reliability occurs while using larger payload sizes when CCA sampling is the strategy used to perform detects, but that doesn't necessarily correspond to lower energy consumption. The gap between each message remains the same (ack+backoff), and that's what really throttles the receiver's energy consumption on receive checks. On the other hand, if the receive check strategy is to leave the radio on long enough in hopes of picking up a full, uncorrupted packet, then transmitting the shortest packet possible is most desirable. A very long time ago I built an experimental CC2420 LPL scheme (1.x based, never given out to the public) based on full packet detection. This was basically the strategy XMAC used. In my version, I found the energy consumption required for the receiver to perform its receive checks was astronomical because the radio had to be left on for a long time to pick up a single small packet. The radio on-time for a receive check was Timer based, which was very inaccurate and would last on the order of 10-20 ms to get reliable detects - which is a very long time to leave the radio on. The other issue with trying to perform receive checks based on sending special, small packets is you're transmitting useless bytes and actually using up more time and energy to get useful data payloads across. It became clear that CCA detection was *the* way to perform asynchronous receive checks. You could detect if an 802.15.4 transmitter is nearby without having to pick up a full packet, turn the radio off in a very short amount of time, always transmit only useful data, and never rely on transmission reliability (like a handshake to request/get the real packet across). The logic to implement this CCA check strategy makes for a relatively small ROM footprint. -David -----Original Message----- From: Jiakang Lu [mailto:[EMAIL PROTECTED] Sent: Thursday, March 08, 2007 11:52 AM To: David Moss Subject: Re: CC2420_LPL module on Tinyos-1.x? Hi David, Thank you for your reply. I think the strategy to achieve LPL on cc2420 is similar: On the transmitter side, the packet is transmitted periodically to cover the sleep interval. In other words, we use a packet train to emulate the long preamble which cannot be set in cc2420. On the receiver side, we can play some trick to minimize the time for the node to stay awake before receiving the actual packet. Different schemes use different methods to approach that. Is my understanding correct? Just make sure that we are based on the same assumption :) I have a question about this strategy. Since we are using the packet train instead of the long preamble to cover the sleep interval, how can we know how many packets should be used in this sending train, corresponding to different duty cycle/sleep interval of LPL? Or how long of the packet should we choose? Another question is about your module in cc2420: do you choose to retransmit the packet with data payload or special packet, like XMAC and BMAC+, in the train? It seems to me that you use the former one, right? What do you think of the advantages and disadvantages of these two different ways? I appreciate your patience and help very much. Thanks. Best, Jiakang David Moss wrote: > Hi Jaikang, > > I haven't ported the 2.x LPL stack to 1.x, but I know somebody has made some > LPL implementation in 1.x. I've attached an email from the other day (also > found below) with information about a 1.x LPL implementation. > > Also, the 2.x LPL stack in the baseline has lots of bugs. The latest CC2420 > stack that's been thoroughly tested is located in > tinyos-2.x-contrib/Rincon/tos/chips/cc2420_lpl. It hasn't been ported back > to 2.x baseline because it's still being developed and tested. Just so you > know. > > -David > > > Re: [Tinyos-help] LPL for CC2420 and tinyos-1.x, source code > Hi, > > You can find the explanation of how we realized the LPL in tinyos-1.x for > CC2420 & TmoteSky in this paper: > http://www2.ing.unipi.it/~o1833499/works/bmacplus/mac-EDAS.pdf > (the paper appeared in the proceedings of the MCWC2006 conference). > > I will soon place more documentation & experimetal results on my website > (this is the direct link to the page where I will place the docs: > http://www2.ing.unipi.it/~o1833499/university.html ) > > Regards, > > Paolo Masci > > > -----Original Message----- > From: Jiakang Lu [mailto:[EMAIL PROTECTED] > Sent: Monday, March 05, 2007 1:24 PM > To: David Moss > Subject: CC2420_LPL module on Tinyos-1.x? > > Hi David, > > I was using CC2420 LPL module on T2 and trying to run the experiments on > Motelab. However, the tricky part is that Motelab doesn't yet support > T2, though the codes passed my desktop testing. So I'm writing to you to > see if there is a similar CC2420 LPL module on Tinyos-1.x. I need this > module urgently to finish my experiments. Did you ever implement it on > Tinyos-1.x? I appreciate it very much if you can give any help and advice. > > Thank you so much. > > Best, > Jiakang > > > ------------------------------------------------------------------------ > > Subject: > Re: [Tinyos-help] LPL for CC2420 and tinyos-1.x, source code > From: > "mAp" <[EMAIL PROTECTED]> > Date: > Thu, 22 Feb 2007 01:41:33 -0700 > To: > <[email protected]> > > To: > <[email protected]> > > > Hi, > > You can find the explanation of how we realized the LPL > in tinyos-1.x for CC2420 & TmoteSky in this paper: > http://www2.ing.unipi.it/~o1833499/works/bmacplus/mac-EDAS.pdf > <http://www2.ing.unipi.it/%7Eo1833499/works/bmacplus/mac-EDAS.pdf> > (the paper appeared in the proceedings of the MCWC2006 > conference). > > I will soon place more documentation & experimetal results > on my website (this is the direct link to the page where I will > place the docs: http://www2.ing.unipi.it/~o1833499/university.html > <http://www2.ing.unipi.it/%7Eo1833499/university.html> ) > > Regards, > > Paolo Masci > > > ----- Original Message ----- > From: "Antonis Lambrou" <[EMAIL PROTECTED]> > To: <[EMAIL PROTECTED]> > Sent: Wednesday, February 21, 2007 5:34 PM > Subject: RE: [Tinyos-help] LPL for CC2420 and tinyos-1.x, source code > > > > Hello, > > > > I was wondering whether you have any documentation available for the > > BMAC+. > > > > I have read "Versatile Low Power Media Access for Wireless Sensor > > Networks" which > > describes the B-MAC protocol with LPL, but there wasn't any LPL > > functionality until Tinyos2.x. > > The reason for this as a reply from David Moss is: > > > >> > The main reason LPL was not implemented for a long time was > because it > >> > was > >> > impossible to implement B-MAC on the 2420 radio - specifically, the > >> > radio > >> > could not extend its preamble for a long duration of time. A new > >> > strategy > >> > had to be developed, and there were many people involved with > evolving > >> > the > >> > CCA receive check strategy. > > > > If the preamble cannot be extended, I was wondering then how did you > > implement the LPL functionality in BMAC+. > > As I understand in Tinyos2.x the solution was to send a frame > repeatedly > > instead of sending a preamble. > > > > The BMAC+ implementation with LPL functionality is of a big interest to > > me. I am currently conducting research on Denial of Sleep attacks > > against protocols for Wireless Sensor Networks and I will need to > > experiment on a working BMAC protocol with LPL functionality. > > > > Thank you. > > > > [EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]> > > > > > > > > ------------------------- > > Original Message: > > > > > > Hi everybody, > > > > I implemented a low power listening protocol for CC2420. It compiles on > > tinyos-1.x. > > The protocol is quite similar to BMAC. > > > > I made some tests on the telosb/TMoteSky platform, and the > implementation > > seems > > to be stable, so now I'm sharing the source code -maybe this can be > useful > > for others > > working with tinyos: > > > > http://www2.ing.unipi.it/~o1833499/works/bmacplus/BMAC+_1.0_.zip > <http://www2.ing.unipi.it/%7Eo1833499/works/bmacplus/BMAC+_1.0_.zip> > > <http://www2.ing.unipi.it/~o1833499/works/bmacplus/BMAC+_1.0_.zip > <http://www2.ing.unipi.it/%7Eo1833499/works/bmacplus/BMAC+_1.0_.zip>> > > > > In order to compile this protocol with your application, just unzip > > everything > > in the contrib/ directory, and modify the makefile of your own > application > > by adding the following line: > > > > PFLAGS+=-I${TOSROOT}/contrib/unipi/tos/lib/BMACPlus > > > > Some applications with a modified makefile are included in the zip > file. > > Feel free to mail me for bugs, suggestions, and comments. > > > > Regards, > > > > Paolo > > > > > > > > _______________________________________________ > Tinyos-help mailing list > [email protected] > https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help > _______________________________________________ Tinyos-help mailing list [email protected] https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
