Hi!

I did some measurements on serial throughput using IRIS mote. The
C-Program sends the data as quickly as possible (the send function
returns ACK/NACK), mote doesn't send it back. The results are:
using: 2 byte payload (9 byte in all), transmitting direction: mote -> PC:
1) standard 57600 bit/s
1000 packets in 3.261 s

2) 115200 bit/s
1000 packets in 1.913 s

3) 230400 bit/s
1000 packets in 1.238 s

The 2 times increase of max. data rate leads to 1.5 .. 1.7 increase of
real data rate. Good.

But if I change the direction to PC -> mote (-> PC), the data rate
remains constantly 62 packets/s within all max. data rates (so it is
minimal 5 times slower than in mote->PC direction).

To send the data I used the $TOSROOT/support/sdk/c/sf/serialsource.c
There I added an additional time measurement. The call to the function
that writes the packet lasts < 0.5 ms, but the next procedure to receive
ACK lasts 15 .. 16 ms. Within this time even at 57600 bit/s the mote is
able to transmit 4.9 packets (each 9 byte).

The TEP 113 statements, that stop-and-wait ARQ protocol is used in the
PC->mote direction, what is not optimal. But why there is no dependency
on the max. data rate? The mote sends no user payload to the PC, only
protocol related data. So the ACK should be prompt passed back. It
seems, that something is working during 15 ms. But what?

Is the stop-and-wait way the only reason, the serial throughput becomes
5+ times slower or there could be also another issues?


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

Reply via email to