Hi,
I want to make our usrp run with UCLA_ZigBee_Phy communicate with
sensor
node which equipped with CC2420 RF chip. But I failed, the following
experiments are what I have done:
I used the default SHR and SFD values with four bytes 0x00 and one A7
in
Physical Layer, and modified the Frame Control fields and Addressing
fieldsof MAC frame in order to be in accordance with our sensor node
as this:
Frame Control Fields:
B0 ---- B2 : Frame Type = 100
B3 : SecurityEnabled = 0
B4 : Frame Pending = 0
B5 : Ack Request = 0
B6 : Intra PAN = 1
B7 — B9 : Reserved = 000
B10 — B11 : Destination Addressing Mode = 01
B12 — B13 : Reserved = 00
B14 — B15 : Source Addressing Mode = 01
so the fuction make_FCF in /ucla_blks/ieee802_15_4_pkt.py returns
\0x41\0x88.
The Addressing fields is changed with: addressInfo =
struct.pack(“HHHH”,0x0010,0x0010,0x0010,0x0000) ,so the source and
destination node are in the same PAN.
- Two usrp run with UCLA_ZigBee_Phy program on two separate machines
can
communicate successfully.( One send the other receive,or vice
versa.),The
printed message
on screen include MHR + MAC payload + MFR is :
payload: [‘0x41’, ‘0x88’, ‘0xe5’, ‘0x10’, ‘0x0’, ‘0x10’, ‘0x0’,
‘0x10’, ‘0x0’, ‘0x0’, ‘0x0’, ‘0x80’, ‘0x80’, ‘0xde’, ‘0xb7’] - One sensor send, and the usrp can receive successfully. ,The
printed
message on screen include MHR + MAC payload + MFR is :
payload: [‘0x41’, ‘0x88’, ‘0x1b’, ‘0x1’, ‘0x0’, ‘0x1’, ‘0x0’,
‘0x1’,
‘0x0’, ‘0x0’, ‘0x0’, ‘0x0’, ‘0x0’, ‘0x3f’, ‘0x58’] - One usrp send, and the sensor node receive failed !!!
The three experiments work on the same central frequency 2.405G, I
tried
to change the following parameters in cc2420_txtest.py, but that seems
meaningless.
dac_rate = self.u.dac_rate();
self._data_rate = 2000000
self._spb = 2
self._interp = int(128e6 / self._spb / self._data_rate)
self.fs = 128e6 / self._interp
So anyone would be kind enough to tell me the potential reason ? Any
suggestions will be appreciated. Thanks.