In TinyOS 1.x you can connect the interface HPLCC2420 to HPLCC2420C and use
call HPLCC2420.read(CC2420_RSSI);
to acquire ambient RSSI, make sure you check the RSSI_VALID register before you read out the value.
To check that register you'll need to read the status byte, you can use
call HPLCC2420.cmd(SNOP);
In CC2420RadioM.nc you can find some examples on how to handle this status byte.

Yes CC2420 will continuously update the rssi reading in RX mode. The sampling rate, isn't the datasheet said the chip would give you a reading for each symbol but the reading is averaged over the past 8 symbol periods?


-Han

roberto pagliari 提到:
thank you David. I misunderstood the datasheet information regarding the CCA modes. But it is possible, not during the transmission, to get the rssi data, no matter if the node is receiving or not a message? I just need to monitor the environment, but I'm not sure if in RxMode the receiver measures the RSSI value even if a preamble is not detected. Do you know if it does and the rate of RSSI sampling?


thanks a lot again!

On 6/19/07, *David Moss* <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> wrote:

    Actually, you have an option to transmit without CCA.  At the
    hardware level, there are two command strobes to transmit the
    contents of the TXFIFO:  STXON and STXONCCA.   If you simply toggle
    STXON instead of STXONCCA, then your packet gets transmitted no
    matter who else is transmitting.

    There is one other software driver issue to overcome in TinyOS
    though – the radio stack driver does its own backoff and CCA
    checking by default.  You'll need to disable this, probably through
    MacControl or CsmaControl or something.. I forget what it is in 1.x.

    -David

    ------------------------------------------------------------------------

    *From:* roberto pagliari [mailto:[EMAIL PROTECTED]
    <mailto:[EMAIL PROTECTED]>]
    *Sent:* Tuesday, June 19, 2007 4:20 PM
    *To:* David Moss
    *Cc:* [email protected]
    <mailto:[email protected]>
    *Subject:* Re: [Tinyos-help] about CC2420

    right, I just remembered that point in the cc2420 datasheet. I have
    a last question: the transmission of a packet is performed if the
    RSSI value is greater than a certain threshold, the CCA. The 3 CCA
    modes are

    0 reserved
    1 clear channel when received energy is below threshold
    2 clear channel when not receiving valid IEEE data
    3 clear channel when not receiving valid IEEE data and below threshold

    I guess the CCA value is a 8 bit unsigned integer 2 complement, so
    if I need to transmit a packet, regardless of other transmitting nod
    I should set the CCA value to its minimum, lilke -128dBm, or 0xFF. I
    know during the reception of a packet the RSSI is averaged over 8
    symbols after the SFD has been detected. During the transmission how
    does is it calculated? Can I read it just using the command call
    function c.. HPLCC2420.read(RSSI_REG)?

    On 6/19/07, *David Moss* <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> 
wrote:

    The default mode for the radio is Rx mode – after it transmits a
    packet, it automatically switches back to Rx on the hardware.

    If you attempt to transmit using STXON without clear channel
    assessments, then your radio will not only **not** receive the other
    transmitter's packet, but it will cause channel interference that
    will prevent all other motes in the area from receiving that
    packet.  That's the point of backoffs and CCA (clear channel
    assessment) – determine if the channel is clear before attempting a
transmission.
    -David

    ------------------------------------------------------------------------

    *From:* [EMAIL PROTECTED]
    <mailto:[EMAIL PROTECTED]>
    [mailto:[EMAIL PROTECTED]
    <mailto:[EMAIL PROTECTED]>] * On Behalf Of
    *roberto pagliari
    *Sent:* Tuesday, June 19, 2007 3:24 PM
    *To:* [email protected]
    <mailto:[email protected]>
    *Subject:* [Tinyos-help] about CC2420

    hi all,
    within RadioControlM I can see CC2420Control.RxMode(), but, after a
    packet has been sent I cant find any call to CC2420.RxMode() or SXON
    oscillator. where is it done?

    the second question is: once the transmitter oscillator STXON has
    been enabled, if an incoming message arrives, will it be lost?


    thank you



------------------------------------------------------------------------

_______________________________________________
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

Reply via email to