MRB-KW0x: How can I make software do RSSI across the entire 290-1020 MHz?

cancel
Showing results for 
Search instead for 
Did you mean: 

MRB-KW0x: How can I make software do RSSI across the entire 290-1020 MHz?

Jump to solution
553 Views
kostasrf
Contributor I

Hello,

I am interested to use MRB-KW0 dev board to perform RSSI across the RF chip's entire spectrum, i.e. 290-1020 MHz, as stated on the datasheet.

I want the dev board to scan (receiver mode) across a wideband at frequency intervals, record the RSSI at each frequency and repeat.

The problem I am facing is that the software only allows to lock the receiver in specific bands:

smacRFConstants_FreqBand_863__870MHz[]

smacRFConstants_FreqBand_902__928MHz[]

smacRFConstants_FreqBand_950__958MHz[]


The datasheet states that the core RF chip, Kinetis KW0x, can receive from 290-1020 MHz.

How can I make this dev board scan across all this band through software?


Thanks.

Kostas

Labels (1)
1 Solution
193 Views
billpoole
Contributor III

The part is not designed for continuous coverage of 290 to 1020 MHz, rather PLL operates at 2X the highest band and is divided by 2, 4 or 6 to create the 3 bands, there is also some internal logic to prevent programming to a frequency out of the stated bands, that is why the band edges do not exactly line up harmonically.

the bands are listed in table 11 of the data sheet:

     290-340 MHz

     424-510 MHz

     862-1020 MHz

(note: the logic is designed for use with a Fref clock of 32 MHz, if a different reference is chosen to avoid spurious regions, the band limits are moved proportionally).

Using the Radio Utility code and GUI, you can program to any of the permitted frequencies.

You can modify the demo code for any of the bands, but not regions outside of those bands, for your experiments with RSSI.

Hope this helps.

Bill Poole

Freescale Semiconductor

Connectivity and IoT Solutions, Microcontrollers

Applications Engineering

View solution in original post

3 Replies
193 Views
antonioconcio
NXP Employee
NXP Employee

HI Kostas,

As my colleague Bill mentioned, KW01 does support 3 bands (290-340 MHz, 424-510 MHz, 862-1020 MHz) and so you just need to modify the code to enable different bands.

Exactly what you need to change is the value of the define " gDefaultRfFreq_c" that is into the file RadioUtility.h, according to the formula:

     Frf Register= Frf/Fstep


where Fstep=FXosc/2^19

For example, in actual SMAC demo you can find the below values for 915 MHz and 868.525 MHz frequency bands:

#define gDefaultRfFreq_c ( 0xE4C000 )                    //rf freq 915 MHz (US)

#define gDefaultRfFreq_c ( 0xD8A199 )                    //rf freq 866.525 MHz (EU)

For 433 MHz, it becomes:

#define gDefaultRfFreq_c ( 0x6C4000 )                    //rf freq 433 MHz.

 

Also, always in RadioUtility.h, you can change other parameters such as Fdev, BitRate, and so on.

PS: Please note the Filter and Matching Network implemente in MRB-KW01 is optimized for the higher frequency band, but you can find the different BOM according to different frequency bands of operation in the file "KW01DHRM.pdf".

Hope that helps,

Antonio

193 Views
billpoole
Contributor III

I forgot to add the hardware details.

The MRB-KW01-9032 (and -9030) is tuned for the 900 MHz band. The RF network on the RFIO (transmit and receive) path includes a Low Pass filter for TX harmonic rejection.

The 9032 board can operate at any frequency to which the KW01 can be tuned, however it should not be used for over-the-air transmit except at the 900 MHz bands due to the lack of Harmonic rejection at lower frequencies.

At the 300 and 450 MHz bands, There will not be satisfactory harmonic rejection on a 900 MHz board and the matching network for both transmit and receive will be mismatched, this mismatch will cause a drop of a few dB in transmit power and receive sensitivity.

If you retune the board for 450 MHz the LPF will prevent receive at the 900 MHz band. Likewise a board tuned for 300 MHz cannot receive at 450 or 900 MHz.

If you are building a single circuit (which never transmits) to step the receiver across all 3 bands and record the RSSI at each frequency, you can either use the 900 MHz values, or better yet, optimize the matching network empirically for best overall performance and then in software correct for errors in the RSSI report at each band or even region of each band.

Hope this helps.


Bill Poole

Freescale Semiconductor

Connectivity and IoT Solutions, Microcontrollers

Applications Engineering

194 Views
billpoole
Contributor III

The part is not designed for continuous coverage of 290 to 1020 MHz, rather PLL operates at 2X the highest band and is divided by 2, 4 or 6 to create the 3 bands, there is also some internal logic to prevent programming to a frequency out of the stated bands, that is why the band edges do not exactly line up harmonically.

the bands are listed in table 11 of the data sheet:

     290-340 MHz

     424-510 MHz

     862-1020 MHz

(note: the logic is designed for use with a Fref clock of 32 MHz, if a different reference is chosen to avoid spurious regions, the band limits are moved proportionally).

Using the Radio Utility code and GUI, you can program to any of the permitted frequencies.

You can modify the demo code for any of the bands, but not regions outside of those bands, for your experiments with RSSI.

Hope this helps.

Bill Poole

Freescale Semiconductor

Connectivity and IoT Solutions, Microcontrollers

Applications Engineering

View solution in original post