cancel
Showing results for 
Search instead for 
Did you mean: 

Narrowband with SPSGRF-868 module

Trilys
Associate II
Posted on May 31, 2016 at 13:08

Hello,

I bought some X-NUCLEO-IDS01A4 for evaluation of the SPSGRF-868 module. I am not really pleased with the results. So far the best range I could get was 175 m in the same conditions in which I got 150 m with a competitor's Bluetooth 4.0 module, ie outside with a clear line of sight.

I am using the P2P demo software, with reduced datarate and FEC activated. Please see below the configuration pasted from the file spirit1_appli.h :

<code>

/*************************Uncomment the the protocol to be used****************/

//#define USE_STack_PROTOCOL

#define USE_BASIC_PROTOCOL

#if defined(USE_STack_PROTOCOL)

#define USE_STack_LLP  /*Uncomment if LLP featured need to be used*/

#endif

/******************************************************************************/

#if defined(X_NUCLEO_IDS01A4)

         #define USE_SPIRIT1_868MHz

#elif defined(X_NUCLEO_IDS01A5)

         #define USE_SPIRIT1_915MHz

#else

#error SPIRIT1 Expansion Board is undefined or unsupported

#endif

#if defined(MCU_SLEEP_MODE) || defined(MCU_STOP_MODE)

#define RF_STANDBY

#endif

/* Exported constants --------------------------------------------------------*/

/*  Radio configuration parameters  */

#define XTAL_OFFSET_PPM             0

#define INFINITE_TIMEOUT            0.0

#ifdef USE_SPIRIT1_433MHz

#define BASE_FREQUENCY              433.0e6

#endif

#ifdef USE_SPIRIT1_868MHz

#define BASE_FREQUENCY              869.3e6

#endif

#ifdef USE_SPIRIT1_915MHz

#define BASE_FREQUENCY              915.0e6

#endif

#define CHANNEL_SPACE               25e3

#define CHANNEL_NUMBER              2

#define MODULATION_SELECT           GFSK_BT1

#define DATARATE                    19200

#define FREQ_DEVIATION              9600

#define BANDWIDTH                   38400

#define POWER_DBM                   11.6

#define POWER_INDEX                 7

#define RECEIVE_TIMEOUT             2000.0 /*change the value for required timeout period*/   

#define RSSI_THRESHOLD              -120

/*  Packet configuration parameters  */

#define PREAMBLE_LENGTH             PKT_PREAMBLE_LENGTH_04BYTES

#define SYNC_LENGTH                 PKT_SYNC_LENGTH_4BYTES

#define SYNC_WORD                   0x88888888

#define LENGTH_TYPE                 PKT_LENGTH_VAR

#define LENGTH_WIDTH                7

#define CRC_MODE                    PKT_CRC_MODE_8BITS

#define CONTROL_LENGTH              PKT_CONTROL_LENGTH_0BYTES

#define EN_FEC                      S_ENABLE

#define EN_WHITENING                S_ENABLE

/*  Addresses configuration parameters  */

#define EN_ADDRESS                  S_DISABLE

#define EN_FILT_MY_ADDRESS          S_DISABLE

#define EN_FILT_MULTICAST_ADDRESS   S_DISABLE

#define EN_FILT_BROADCAST_ADDRESS   S_DISABLE

#define EN_FILT_SOURCE_ADDRESS      S_DISABLE//S_ENABLE

#define SOURCE_ADDR_MASK            0xf0

#define SOURCE_ADDR_REF             0x37

#define MULTICAST_ADDRESS           0xEE

#define BROADCAST_ADDRESS           0xFF 

    

    

#define EN_AUTOACK                      S_DISABLE

#define EN_PIGGYBACKING             S_DISABLE

#define MAX_RETRANSMISSIONS         PKT_DISABLE_RETX

#define PAYLOAD_LEN                     25 /*20 bytes data+tag+cmd_type+cmd+cmdlen+datalen*/

#define APPLI_CMD                       0x11

#define NWK_CMD                         0x22

#define LED_TOGGLE                      0xff

#define ACK_OK                          0x01

#define MAX_BUFFER_LEN                  96

#define TIME_TO_EXIT_RX                 3000

#define DELAY_RX_LED_TOGGLE             100   

#define DELAY_TX_LED_GLOW               200 

#define LPM_WAKEUP_TIME                 100

#define DATA_SEND_TIME                  50//30

</code>

I am using a still relatively large bandwith and data rate. The problem is that further reducing datarate and bandwith litterally kills the range. If I set the following settings :

datarate 9600

frequency deviation 4800

bandwidth 19200

all else stays equal

I do not even get a full meter of range !

Why does reducing datarate and bandwith kills the range ? Is it a hardware issue ? A software misconfiguration ?

Shouldn't this module be able to get around 1 km of clear line of sight range ?
0 REPLIES 0