[Tinyos-help] about the metadata of cc2420
jiwen zhang
zhangjiwen029 at gmail.com
Mon Jun 2 20:30:45 PDT 2008
Hello David :
i got some datas from serial port :
00 FF FF 00 08 1A 00 06 00 03 26 88 41 01 00 22 FF FF 00 08 06 EF 6B 00 01
00 2B 31 00 00 00 00 00 00
00 FF FF 00 08 1A 00 06 00 04 26 88 41 02 00 22 FF FF 00 08 06 EF 6B 00 01
00 99 50 00 00 00 00 00 00
00 FF FF 00 08 1A 00 06 00 05 26 88 41 03 00 22 FF FF 00 08 06 EF 6C 00 01
00 07 3D 00 00 00 00 00 00
00 FF FF 00 08 1A 00 06 00 06 26 88 41 04 00 22 FF FF 00 08 06 EE 6B 00 01
00 74 D2 00 00 00 00 00 00
00 FF FF 00 08 1A 00 06 00 07 26 88 41 05 00 22 FF FF 00 08 06 EF 6C 00 01
00 E3 39 00 00 00 00 00 00
00 FF FF 00 08 1A 00 06 00 08 26 88 41 06 00 22 FF FF 00 08 06 EE 6B 00 01
00 50 B5 00 00 00 00 00 00
00 FF FF 00 08 1A 00 06 00 09 26 88 41 07 00 22 FF FF 00 08 06 EF 6C 00 01
00 BF 50 00 00 00 00 00 00
00 FF FF 00 08 1A 00 06 00 0A 26 88 41 08 00 22 FF FF 00 08 06 EF 6A 00 01
00 2D 57 00 00 00 00 00 00
00 FF FF 00 08 1A 00 06 00 0B 26 88 41 09 00 22 FF FF 00 08 06 EF 6B 00 01
00 9A 25 00 00 00 00 00 00
00 FF FF 00 08 1A 00 06 00 0C 26 88 41 0A 00 22 FF FF 00 08 06 EF 6C 00 01
00 08 A8 00 00 00 00 00 00
00 FF FF 00 08 1A 00 06 00 0D 26 88 41 0B 00 22 FF FF 00 08 06 EF 6B 00 01
00 76 DE 00 00 00 00 00 00
the red font is the metadata , they are
rssi,lqi,tx_power,crc,ack,time,rxInterval,maxRetries and retryDelay .
i note that the ack is 01 , but i don't use the auto-ack . does it use the
auto-ack acquiescently?
2008/6/3 David Moss <dmm at rincon.com>:
> The metadata contains information about the packet that is used by the
> radio stack. Like you said, it is not transmitted as part of the packet,
> but rather contains side-note information about the packet.
>
>
>
> The metadata fields are all 0's at boot time, because they haven't been
> initialized. When you receive a packet, the buffer receiving the packet
> doesn't have any of its metadata configured except the RSSI and LQI fields.
> When you copy the metadata fields from your received packet to the payload
> portion of a serial packet, seeing 0's in most of the fields is correct.
>
that is to say the fields like tx_power,crc,rxInterval,maxRetries and
retryDelay are not given an significative in the implementation ? why do you
set these filelds in the implemenation ? from the data i received from
serial port , PACKET_LINK is defined in somewhere , is it defined defaultly
?
>
>
> The timestamp should be the local relative time the packet was received,
> which is the time the SFD (start frame delimiter) interrupt fired on the
> radio chip when it began to receive a packet.
>
i don't find the orderliness between the values of time i get . what kind
of time is it ? is it a counter which counte from zero ? why do you set
this field in the implemention ? i don't find where does this filed is used
.
> The RSSI and LQI fields reflect those values while the packet was being
> received. At that time, there is a transmitter nearby, so you'll see lots
> of energy on the channel. The RssiToSerial application monitors the RSSI at
> any time ¨C and the values you read mostly occur when a transmitter is not on
> the channel. In those cases, you'll be reading the energy of the noise
> floor.
>
>
>
> When the radio receives a packet, it will automatically fill in the RSSI
> and LQI fields in the metadata for that packet. If you want to read the
> RSSI values when the radio is not receiving a packet, you would use
> CC2420ControlC's ReadRssi interface. LQI values are only available when
> receiving a packet.
>
>
>
> -David
>
>
>
>
>
>
> ------------------------------
>
> *From:* jiwen zhang [mailto:zhangjiwen029 at gmail.com]
> *Sent:* Monday, June 02, 2008 8:11 AM
> *To:* David Moss
> *Subject:* about the metadata of cc2420
>
>
>
> Hello David :
>
> as we know , the metadata is not sended when we use the command
> AMSend.send to send a packet . Can you explain the function of the
> metadata ?
>
>
>
> i see some codes of cc2420 driver . are all fields of metadata given an
> significative value ? such as rssi , lqi and so on ?
>
>
>
> i put the metadata in the payload when i receive a packet and send the
> packet to serial port in order to see what the values are . i
> find rxInterval,maxRetries and retryDelay are equal to zero . are they
> right ?
>
> and the time field is some strange value , for example , every second , i
> send a packet , the value of time field i receive are 3e 43 , ac 4d , 1a 27
> , 88 46 ... , i don't know how do they figure out in the implemention of
> cc2420 driver .
>
>
>
> the rssi value i get (i use the interface CC2420PacketBody) is E5 or E9
> when there is only one sender and one receiver . it is different with the
> value i get by the application of /apps/tests/cc2420RssiToSerial whose value
> is about 4A ,4B or 4C, why ? how do these value get in the implemention of
> cc2420 driver ? read from the specified register ? and what about lqi ? (the
> value i get is about 6B or 6C , and also one sender , one receiver )
>
>
>
> typedef nx_struct cc2420_metadata_t {
> nx_uint8_t rssi;
> nx_uint8_t lqi;
> nx_uint8_t tx_power;
> nx_bool crc;
> nx_bool ack;
> nx_uint16_t time;
> nx_uint16_t rxInterval;
>
> /** Packet Link Metadata */
> #ifdef PACKET_LINK
> nx_uint16_t maxRetries;
> nx_uint16_t retryDelay;
> #endif
>
> } cc2420_metadata_t;
>
> --
> zhang jiwen
>
--
zhang jiwen
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://www.millennium.berkeley.edu/pipermail/tinyos-help/attachments/20080603/8eff5c2d/attachment.htm
More information about the Tinyos-help
mailing list