Software
Berkeley Motes
·
Mica 1[1]
We were able to obtain a
accuracy of less than 20ms (microseconds) between a
pair of Berkeley motes. We have also implemented RBS to gauge the relative
performance between two schemes. TPSN roughly gives a 2x better performance
than RBS.
To obtain multihop
synchronization we have integrated TPSN with the approach of post facto synchronization.
Due to the randomness in the sign and the magnitude of the error, the resulting
error does not blow up. We were able to synchronize motes over a distance of 5
hops within an average accuracy of 25ms (microseconds).
By periodically synchronizing
the motes we can increase the accuracy of TPSN. With this added capability, we
were able to synchronize the pair of motes to an average accuracy of 5ms (microseconds).
Implementation details
The first task was to
generate a lower granularity clock in motes. We were able to achieve a minimum
granularity of 0.25ms (microseconds).
The second major
modification needed was to incorporate the ability of time stamping the packets
at the RFM layer (MAC layer). We were able to achieve this by creating an interface
between the application layer and the RFM layer. More details can be obtained
from the SenSys paper.
The following link contains
all the source codes as well as the modified system files.
TinyOS
distribution incorporated with time synchronization using TPSN.
·
Mica 2[2]
We have successfully ported the code on NESC and MICA2. We were able
to obtain a accuracy of less than 10ms (microseconds) between a
pair of Berkeley motes. We have also implemented RBS to gauge the relative
performance between two schemes. TPSN roughly gives a 2x better performance
than RBS.
Links to the detailed
documentation and the source codes are as follows:
TPSN
on TinyOS 1.1 distribution (Newly added)
NESLsim
We have implemented TPSN on NESLsim,
a parsec based simulation platform for sensor networks. This implementation was
used to gauge the performance of TPSN on large-scale networks having nodes in
the range of 150-300.
The results show that though
error is a non-decreasing function of hop distance, it never blows up.
Further we concluded that
synchronization error for a node is just the function of its hop distance from
the root node. It is completely independent of the total number of nodes in the
system. Thus it is the height and not the breadth of the hierarchical structure
that is important to characterize the synchronization error for a node.
[1] By Saurabh Ganeriwal (saurabh@ee.ucla.edu).
[2] By Ram Kumar (ram@ee.ucla.edu).
[3] This only contains the files that have been modified.