Hello,
I am testing the throughput of tmote sky/TinyOS 2.1
Two motes, a sender, a receiver. The sender keep sending packets with
payload = 0.
I do the following to increase throughput (thanks for the mailing list)
1. max rf power.
2. turn off CCA/backoff
3. by default, not using PacketAcknowledgements
4. use DMA to increase the performance of SPI bus
Some issues confuse me. I didn't find any answer to these questions. Any
help is appreciated.
1. what is the default header size? how many bytes are transmitted if the
payload is 0.
According to CC2420.h, struct cc2420_header_t, it is 12 bytes.
However, as I trace to CC2420CsmaP line 137 Send.send
header -> length = len + CC2420_SIZE, where len is the payload length
and
CC2420_SIZE // defiend in CC2420.h
= MAC_HEADER_SIZE + MAC_FOOTER_SIZE
= sizeof(cc2420_header_t) - 1 + sizeof(uint16_t) = 13
Why subtract 1 from sizeof(cc2420_header_t)? I've seen some discussion
mentioned
The frame length field is not part of MPDU. Is this the reason why?
Therefore, 14 bytes are transmitted if the payload is 0?
Are those two footer bytes saved for FCS described in the CC2420
datasheet?
(Frame format section)
2. DMA increases SPI performance, why it is disabled by default? What are
the tradeoffs if I
enable it?
3. The maximum packet size is 128 bytes, what is the maximum payload?
128 - 13 = 115? or 128 -14 = 114?
If DMA is disabled, I can call send with any payload length. The receive
will receive these
packets. If I turn DMA on, maximum payload is 114. If I call send with
payload that is larger
than 114, the receiver will receive nothing. The latter is more
reasonable. If a mote is trying
to transmit packet larger than 128 bytes, it should not be allowed. Why
is the former one
allowed?
Any suggestion is appreciated.
Thank you
Best Regards,
CJ
_______________________________________________
Tinyos-help mailing list
[email protected]
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help