According to the CC2420 datasheet, page 66, register 0x13
on the CC2420 contains the RSSI. It is valid after 8
symbol periods. Bits [7:0] contain the "RSSI estimate on
a logarithmic scale, signed number on 2s complement."
This register is not accessible by the default CC2420
stack. To access this register, you'll need to edit some
of the CC2420 modules. Specifically, take a look at
CC2420SpiP and how it provides connections to individual
registers on the CC2420. You'll need to add an entry that
connects to CC2420_RSSI, for example:
RSSI = Spi.Reg[ CC2420_RSSI ];
To access the SPI bus and read this register, you'll need
to be first given acccess to the bus. Most of the
low-level CC2420 files (CC2420ControlP, CC2420TransmitP,
CC2420ReceiveP) provide examples of how to do this -
request access, access is granted, do your thing, release
the bus. If I were doing this implementation, I would
make up an interface provided by CC2420Control that allows
external components to read the RSSI ..
interface CC2420Rssi {
command error_t readRssi();
event void rssi(uint8_t rssi);
}
Finally, look to CC2420ControlC on how to wire up to the
SPI bus. You can create a new instance of CC2420SpiC and
make it specific to reading the SPI bus register. When
you go to readRssi(), request access to the SPI bus. When
access is granted, set CSn low, read the register, CSn
high, release the bus, and signal your rssi event. Be
sure you send that CSn pin low before reading the
register, and put it back up high when you're done (chip
select is active low).
Hope this points your CC2420 hacking in the right
direction.
http://www.chipcon.com/files/CC2420_Data_Sheet_1_3.pdf
-David
On Sat, 27 Jan 2007 13:19:37 -0700
[EMAIL PROTECTED] wrote:
Platform: TelosB
TinyOS version: 2.x
I understand that a receiving node upon reception of a
packet can compute the
RSSI of the transmitting node. My question is, can the
CC2420's RSSI register
be polled in order to capture the amount of background
energy present in the
channel? (i.e. when a packet is sent from the
transmitting node to the
basestation and it is not received at the basestation,
is it possible to sample
the RSSI register in order to get the radio energy
present in the channel. I am
interested in determining what is causing that
interference at that particular
time). Thanks.
Dave
_______________________________________________
Tinyos-help mailing list
[email protected]
https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help
_______________________________________________
Tinyos-help mailing list
[email protected]
https://mail.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help