Dear all,

I have been stuck with a synchronisation problem for a long time. Here 
is my problem: I am implementing frequency hopping on both Tx and Rx 
ends. At the Tx end, Tx starts changing its transmission frequency from 
channel 11 to channel 26 after the its first packet is sent and then 
keeps sending all the time. At the Rx end, Rx is probably switched on 
later on at the different time. We need the Rx to listen to the incoming 
packets and then lock itself to the transmission frequency of the Tx by 
hopping its receiving frequency.

Currently, the Tx frequency is changed every 1 second with transmission 
interval of 0.25 s, and the Rx frequency is changed every 1 second 
immediately after it receives first packet. Somehow, I can't have the Rx 
has the exactly same frequency change rate as the Tx since some packets 
have been lost. The program on the Tx is written based on the 
**CountDual* *and that running on Rx is written based on the 
**TOSBase*B*, and I am using TinyOS 1.1.15.
*
*The core code is listed below for *TOSBase:

  *event TOS_MsgPtr RadioReceive.receive(TOS_MsgPtr Msg) {

    dbg(DBG_USR1, "TOSBase received radio packet.\n");

    if ((!Msg->crc) || (Msg->group != TOS_AM_GROUP))
      return Msg;
              
        /*
         * The frequency is changed at predefined
         * time interval.       
         *
         */
       if(( (Msg->data[0]) == 4 ) && 
enableStart){                                // The loop for changing 
frequency will not start until the Rx receives some specific packets.
            freq_int++;
            call CC2420Control.TunePreset(freq_channel[freq_int]);      
   // set the Rx frequency to channel 12.
            if(enableChange){
                call Timer1.start(TIMER_REPEAT, period_Timer1);       
                enableChange = FALSE;
            }
            enableStart = FALSE;
        }

 ...
 }

The reason why I manually set the Rx frequency to channel 12 is because 
I don't know how to keep the Rx synchronised with the Tx in the very 
beginning. The Rx quite easily lose the synchronisation with the Tx, but 
I really dont know any reasons for this. Could any one give me some 
hints please?

Thank you!

Shui
_______________________________________________
Tinyos-help mailing list
[email protected]
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help

Reply via email to