Boosting Wireless range for JN5168 modules

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Boosting Wireless range for JN5168 modules

2,782 Views
davidashraf
Contributor V

Hello,
I've been trying to make a wireless network using JN5168-001-M00 modules 
but it's obvious that it can't provide more than about 15 meters indoor

My solution is based on using battery powered sleeping end devices that collect sensor data and send to the coordinator on sensor events only to increase battery life 

What I want is to boost node-to-node wireless range to about 40 meters indoor
So I've the following questions:

1- Can this be achieved using jn5168-001-M00 using some API functions ? 

2- If I used a high power module at the coordinator node only and leaving end devices using M00 modules
would that be enough to achieve a good wireless range ?
and if so what other requirements ( API functions/ external antennas  ) should I use with the high power module? 

3- Does discovering and connecting to a network require the node to be closer to the coordinator than it's required in sending normal unicast data ?  
and if so how can I solve the problem of reconnecting to a network after waking from a deep sleep without having to move the node closer to the coordinator ?

4- Is the used stack a parameter in this ? 
I am using Zigbee 3.0 stack 

I hope my question is clear enough and I am hoping for a solution for my problem ASAP 

Thanks

Labels (1)
12 Replies

1,649 Views
benjaminchang
Contributor V

Hi David/Mario,

 

We have the similar problem. We are using JN5168 custom made module, without external PA, and based on “JN-AN-1174-JN516x-802-15-4-Application-Template”, to form a IEEE 802.15.4 (not ZigBee) network.

In field test, especially indoor inside a supermarket, we found the RF reception seems cannot satisfy customer’s request. We have tried ways to improve it, and now focus on TX power issue – how to make a maximum TX power? Now 0 dBm is what we can reach.

 

Quote from “JN-UG-3087_JN516xIntegratedPeripheralsAPI_v15”,

“you can use the function eAppApiPlmeSet() from the NXP 802.15.4 Stack API (supplied in AppApi.h in all the JN516x SDKs). The required function call is:

eAppApiPlmeSet(PHY_PIB_ATTR_TX_POWER, x);

where  x  is a 6-bit two’s complement power level, corresponding to an input range of -32 to 31 dBm. In practice, this value is mapped to an actual transmission level:  For JN5168, JN5164 and JN5161, it is mapped to one of four levels: -32, -20, -9 and 0 dBm

We have used a spectrum, specially to test this function, as below result. It seems to meet the JN-UG-3087 – the maximum TX power we can get is around 0 dBm.

X : 0 ~31, Power ~= -0.4 dBm

X : 32 ~39, Power ~= -36 dBm

X : 40 ~51, Power ~= -23 dBm

X : 52 ~63, Power ~= -11 dBm

Note x is a 6-bit two’s complement power level.

 

But based on “JN516X” datasheet, we got not matched description,

“ Transmit power 2.5dBm

We switched to use “JN-AN-1172_Jn516xCustomerModuleEvaTool_v16” as another test base, per NXP engineer ‘s suggestion,

5168 select b ) Standard Module(Boost Mode) should get 2dbm Tx power level.

Per test setting of 0,1,2,3, in 0dBm mode: we got spectrum power reading of -35, -22, -10, +0.21 dBm,

Also setting of 0,1,2,3, in boost mode: we got spectrum power reading of -32, -20, -8, +1.26 dBm,

This concluded besides 0 dBm, JN5168 can increase Tx power level to at least above +1.26 dBm (as there may have cable loss) in our case.

 

Even warned by “JN-RM-2027_Jn51xxProductionTestApi_v16”,

“Caution: Software developed using this API cannot be used in conjunction with the IEEE 802.15.4, JenNet-IP or ZigBee PRO stack.

We still tried below changes in the 802.15.4 project code, and do got a +1.26 dBm reading. But there are side effects such as we have to use “bJPT_PacketRx()” for receiving, and behaved weirdly.

#include <JPT.h>

PUBLIC void AppColdStart(void) {

……

u32JPT_Init();

(void)u32AHI_Init();

(void)u32AppQApiInit(NULL, NULL, NULL);

bJPT_RadioInit(E_JPT_MODE_BOOST);

bJPT_RadioSetChannel(11);

……

}

Makefile:

INCFLAGS += -I$(COMPONENTS_BASE_DIR)/ProductionTestApi/Include

LDLIBS += JPT_${JENNIC_CHIP}

 

We have checked NXP Community’s related threads as below, but still not clear what to do:

Distance of JN5168-001-M00 Module

https://community.nxp.com/message/964418?commentID=964418#comment-964418

Enabling High power on Jn5168-001-M05 | Zigbee 3.0

https://community.nxp.com/thread/455276

Boosting Wireless range for JN5168 modules (this thread)

https://community.nxp.com/thread/460781

 

Can you help to confirm, in “JN-AN-1174-JN516x-802-15-4-Application-Template”, how to properly squeeze out this lost +1.26 dBm Tx power using standard 802.15.4 API?

 

Regards,

Benjamin Chang

0 Kudos

1,649 Views
mario_castaneda
NXP TechSupport
NXP TechSupport

Hi Benjamin,

It appears that the latest version of the MAC does not support the 2.5db mode as standard. We have raised this as a problem report and this is being solved internally.  As a temporary fix We suggest the following approach:

 

  1. Define the following macros at the top of the file

 

#define WRITE_REG32(A, B) *(volatile uint32 *)(A) = (B)

#define READ_REG32(A)     *(volatile uint32 *)(A)

 

2.  Create the following function

 

PRIVATE void vApplyBoostMode(void )

{

       WRITE_REG32(0x2001e28,0x3);

       WRITE_REG32(0x2001e68,0x280000);

       WRITE_REG32(0x2001e70,0x46ca10);

 

       uint32  u32Temp = READ_REG32(0x2001e54);

       u32Temp = (u32Temp | 0x700);

       WRITE_REG32(0x2001e54,u32Temp);

}

 

3. Call it each time after the radio is initialized. In a 802.15.4 application, this is after the u32AppQApiInit(NULL, NULL, NULL) call.

Regards,

Mario

1,649 Views
benjaminchang
Contributor V

Hi Mario,

It works. Thank you!

Benjamin

0 Kudos

1,649 Views
mario_castaneda
NXP TechSupport
NXP TechSupport

Hi David,

1- Can this be achieved using jn5168-001-M00 using some API functions ?

Enabling High power on Jn5168-001-M05 | Zigbee 3.0 

2- If I used a high power module at the coordinator node only and leaving end devices using M00 modules 
would that be enough to achieve a good wireless range ? and if so what other requirements ( API functions/ external antennas  ) should I use with the high power module? 

The range between devices can be extended in a ZigBee network since the network topology can use Routers

3- Does discovering and connecting to a network require the node to be closer to the coordinator than it's required in sending normal unicast data ?  
and if so how can I solve the problem of reconnecting to a network after waking from a deep sleep without having to move the node closer to the coordinator ?

A router application could be useful that can be polling the sleep end devices.

it can't provide more than about 15 meters indoor

The range can be reduced due to absorption, reflection, diffraction and standing wave effects caused by walls and other solid objects. Also, if you design is creating some antennas, it could be create some noise for the RF part.

Best Regards,

Mario

0 Kudos

1,649 Views
davidashraf
Contributor V

Hi mario_castaneda‌ 

1- I am asking here about M00 modules not high power modules , so is this valid for them too ? 

2&3 - What I want here is to increase the node-to-node range not using routers , so can you re-answer considering this ? 

Many Thanks 
David

0 Kudos

1,649 Views
mario_castaneda
NXP TechSupport
NXP TechSupport

Hi David,

 

vAppApiSetHighPowerMode is used on a JN516x high-power module to specify the module type (standard-power, M05 high-power or M06 high-power) and enable high-power mode. 

Parameters

u8ModuleID Module type, one of: APP_API_MODULE_STD (standard-power module) APP_API_MODULE_HPM05 (M05 high-power module) APP_API_MODULE_HPM06 (M06 high-power module)

bMode

High-power mode select (always set to TRUE for high-power module):

TRUE - enable high-power mode

FALSE - disable high-power mode

2&3 - What I want here is to increase the node-to-node range not using routers , so can you re-answer considering this ? 

Are you using you custom board? 

You said that you are not able to achive 15 meters indoor,right? Do you have some other interference in your board?

The modules indoor should achive that distance without problems. Could you please explain with more details the environment or the set up process where are you working on?

Regards,

Mario

0 Kudos

1,649 Views
davidashraf
Contributor V

mario_castaneda‌ 
Thanks for replying 

1 - I've already tried vAppApiSetHighPowerMode with ( JN5168-001-M00 ) and no difference
     that's why I thought that this function is used with high power only and not M00 module.

2- There're no other source of interference , I'm just using the module with no additional devices 
    on channels 25,26 (and tried all other channels ) 

3 - My main problem is achieving range with keeping power consumption minimum to achieve long battery life 
     that's why I am using M00 modules instead of high power modules , so is there another way I should think of ?

0 Kudos

1,649 Views
mario_castaneda
NXP TechSupport
NXP TechSupport

Hi David,

Could you please try it again, but without the deep sleep mode?

A coordinator creates the network and with the end device(without  going into sleep mode). 

I am assuming that you are polling the end devices, aren't you?

Best Regards,

Mario

1,649 Views
benjaminchang
Contributor V

Hi Mario,

Can you help on my added below commment?

Thanks!

Benjamin

0 Kudos

1,649 Views
davidashraf
Contributor V

Hi mario_castaneda‌ 
My project relies on deep sleep mode for end devices ( which I couldn't make it work yet btw so I'm working with other sleep modes)  , however I tried with #AN1172 Customer module evaluation tool in which nodes never sleep , yet it achieves the same range. 

1,649 Views
spikeyang
Contributor I

2. The link budget should be symmetric between coordinator and end-nodes. Otherwise It'll not work in far range.

I recommend to use high-directivity antenna on normal modules at both sides. It'll be proper with 10 dB or so antenna gain. Pointing the antenna directly to each other. 6 dB will double your communication range.  

I 'm looking for some info about how to control the SE2431L Skyworks PA on JN5168-001-M06 module. Reference program is JN5168 iot control bridge source code. I don't know how to do it.

0 Kudos

1,649 Views
davidashraf
Contributor V

Hi junyang‌ 

I recommend to use high-directivity antenna on normal modules at both sides. It'll be proper with 10 dB or so antenna gain. Pointing the antenna directly to each other. 6 dB will double your communication range.  


How to do this ? I am using JN5168-001-M00 modules 
do you mean other modules ? and what antennas do you reccomend ?

Thanks

0 Kudos