[Tinyos-help] TOSSIM in TinyOS2.x

Philip Levis pal at cs.stanford.edu
Mon Dec 18 13:53:54 PST 2006


On Dec 18, 2006, at 12:17 PM, ipark at ncsu.edu wrote:

> Dear Mr. Philip Levis,
>
> I'm doing simulation with TOSSIM in TinyOS 2.x.
> I have a question about variable "receiving" in  
> UseGainInterferenceModelC.nc.
> The command putOnAirTo calls sim_gain_put() as many as the number  
> of links
> which source node has. Eventually, enqueue_receive_event() sets the
> variable "receiving" to 1 if there is no receiving packet. I'm  
> wondering
> how the variable "receiving" still has 0 for second link, when
> sim_gain_put() for first link set the variable "receiving" to 1. I
> know "receiving" is a global variable.
> I beg your explanation. Thank you.

The variable "receiving" is for a specific node, not a link. It  
denotes the reception state at that node.

The variable "receiving" is intended to capture whether or not the  
radio is searching for a packet preamble. If receiving is 0, then the  
simulation is looking for preambles. If receiving is 1, then it  
thinks it is receiving a packet and so does not look for preambles.  
This logic is based on the observed behavior of the CC2420 radio and  
default TinyOS CC1000 stack.

The logic matters when a node starts successfully hearing packet A  
and during packet A starts to hear a much stronger packet B. While  
B's preamble could be detected, the radio stack just sees it as a  
corruption of packet A. Therefore A is lost and B is not received.  
Once A ends, however (based on the length field), the radio starts  
looking for preambles again. There are radio stacks (e.g., the Ember  
version of the CC2420, and Kamin Whitehouse's experimental CC1000  
capture-aware stack) which detect the stronger preamble and reset  
packet reception. But since in the case of 802.15.4 the current  
hardware TinyOS platforms use and in the case of the CC1000 the  
software stack doesn't support this, the simulation discards the packet.

Phil


More information about the Tinyos-help mailing list