I've noticed a problem in CCA mechanism in 2.31 version of wpan model.

IEEE 802.15.4-2003 standard affirms: "The CCA detection time shall be
equal to 8 symbol periods", 
but current CCA implementation is realized through a unique check of the
status of the channel at the end of 4th symbol made by
Phy802_15_4::CCAHandler.
So transmissions that start after 4th symbol can not be detected by CCA
mechanism.

I've used a very simple scenario to verify this behavior through
simulation.

- 1 PAN coordinator beaconless (node 0)
- 2 end devices (node 1 and node 2)
- PPDU size = 133 byte
- ARP disabled
- NOAH routing protocol
- macMinBE = 0 ==> BE = 0 for the first attempt
- node 1 send an unique CBR packet to node 0  at 100.0,
- node 2 send an unique CBR packet to node 0  at 100.000255 

With these parameters, node 1 will begin his transmission at 100.000345,
while node 2 will does his CCAHandler at 100.000344 (end of 4th
symbol). 
If my initial hypothesis is correct, this situation would generate a
collision, because both nodes would see the channel in a idle status.
In fact this is the output trace:

s 100.000345000 _1_ MAC  --- 0 cbr 127 
s 100.000600000 _2_ MAC  --- 1 cbr 127 
D 100.004601007 _0_ MAC  LQI 0 cbr 127 

According to IEEE 802.15.4 standard this behavior is wrong, in fact,
from begin of 5th symbol to the end of 8th symbol of the second CCA the
channel is busy, so CCA of node 2 would be report a channel busy status
and defer the transmission.

To fulfill standard requirements , I suggest to realize CCA through a
double check of channel status, respectively at the end of first and 8th
symbol.


Thanks for the attention.

Best Regards

Stefano Busanelli

Reply via email to