ZIGBIT 900 MHz communication

Go To Last Post
12 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hello,

i`m using a meshbean evaluation board and i try to send files through zigbit 900MHz! and specifically i`m using "peer2peer" example application.

i set baudrate for usart at 38400, and i`ve changed modulation to qpsk....

but when i send file the maximum rate is 18 kbps...and it should be higher!!! isn`t it???

an other question:
to change modulation have i to change in configuration file of my application and also in config.h ????
which channel have I to use???

please answer me....

thank you everybody!! :lol:

Last Edited: Fri. Oct 16, 2015 - 02:36 PM
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

_criss wrote:
but when i send file the maximum rate is 18 kbps...and it should be higher!!! isn`t it???

That actually may be right rate. Show the exact config you are using. There are delays for various kinds of acknowledges.

_criss wrote:

to change modulation have i to change in configuration file of my application and also in config.h ????
which channel have I to use???

There is no config.h file in BitCloud stack.

NOTE: I no longer actively read this forum. Please ask your question on www.eevblog.com/forum if you want my answer.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Oh i`m sorry...you`re right! the file i was speaking about is configServer.h!
is there that i should change parameters?

#ifndef CS_CHANNEL_PAGE
#define CS_CHANNEL_PAGE 2
#endif

and here:

#ifdef AT86RF212
/* 20 Kbit/s - 53.2 ms
* 40 Kbit/sec - 26.6 ms
* 100 Kbit/sec - 10.64 ms
* 250 Kbit/sec - 4.256 ms
*/
//! \brief Duration of the maximum-size packet transmission.
#define CS_MAX_AIR_SPEED 5
#else
//! \brief Duration of the maximum-size packet transmission.
#define CS_MAX_AIR_SPEED 5
#endif

am i right??

instead about rate, you said that it should be correct??
But if i programm at 9600bps it really works at 9600bps...

i can`t understand..

thank you so much

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

You can not change CS_MAX_AIR_SPEED. This parameter is "read only". Changing this won't affect real air speed.

Parameters you set via Configuration file will override those in ConfigServer.h. But you still may change them there, but be careful. There are some parameters that can not be changed really.

To get maximum air speed you should set

CS_CHANNEL_MASK = from "(1l<<0x01)" to "(1l<<0x0a)"
CS_CHANNEL_PAGE = 2

in Colnfiguration file.

In case with 9600bps UART becomes the bottle-neck. With higher data-rates air is bottle-neck.

You may want to play with ThroughputTest application. It allows to turn APS ack off to achieve higher data rates (at cost of unreliable delivery).

NOTE: I no longer actively read this forum. Please ask your question on www.eevblog.com/forum if you want my answer.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

ok, so i was wrong cause i changed the air speed parameter....ooops!!!

but if i cange channel my speed should raise, isn`t it??

i have to work with `peer2peer` application because for my project i have to set zigbit to be able to transfer file....
and actually it doesn`t work really well when it`s in my platform and not in a meshbean platform....

so, i`ve to work at 38400 bps and you said me to change only in Configuration file, aren`t you???

THANK YOU VERY MUCH...you`re really helpful!!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

_criss wrote:
but if i cange channel my speed should raise, isn`t it??

I don't think you'll get much motre than 20kbps.
P2P at the moment sends data to air as it arrives via USART. This may lead to shorter packets and each packet gets dozens of replies so resulting bandwith is lower. You may try to modify p2p application to wait some time until buffer fills with data from UART.

Quote:

i have to work with `peer2peer` application because for my project i have to set zigbit to be able to transfer file....
and actually it doesn`t work really well when it`s in my platform and not in a meshbean platform....

What do you mean by "doesn`t work really well"?

Quote:

so, i`ve to work at 38400 bps and you said me to change only in Configuration file, aren`t you???

Yes. Also try to change channels (from 1 to 10), maybe there is noise on the one you are using.

NOTE: I no longer actively read this forum. Please ask your question on www.eevblog.com/forum if you want my answer.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

thanks!

you`re right...p2p at most work at 20/22 bps...

now i try to make that changement you said!!

about the work not really well, i mean that in my platform zigbit module is connected to a micro (dsp blackfin) through a bridge (MAX3100) and when i want to send a file dsp on my platform to a meshbean connected to my pc .... transfer file fails!!!!

and i don`t know why because using 2 meshbean i`ve no problem...maybe something with max3100!!

anyway, thanks a lot!!!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

_criss wrote:
about the work not really well, i mean that in my platform zigbit module is connected to a micro (dsp blackfin) through a bridge (MAX3100) and when i want to send a file dsp on my platform to a meshbean connected to my pc .... transfer file fails!!!!

Can't really help you here but why not use blackfin's UART directly?

NOTE: I no longer actively read this forum. Please ask your question on www.eevblog.com/forum if you want my answer.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

because actually it`s connected with a usart port rs232...unfortunately we need for both of them!!

can i ask you one more question about zigbit?

- sometimes it crash...i mean: if i try to send something if the red led remain on then my mb is no more connected to hyperterminal, even if i reset or restart meshbean!!
is it normal??

or is a hyperterminal problem?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

_criss wrote:
or is a hyperterminal problem?

I don't remember right now what red LED means, but in any way P2P uses hardware flow control so it may stuck if no one reads data from USART on receiving side.

Hyperterminal have problems with data loss but this should not be the case.

Resetting only one device may not help (depends on situation). And if you reset coordinator then you have to reset router (for it to reconnect to coordinator) or wait until router will realize that he lost coordinator.

NOTE: I no longer actively read this forum. Please ask your question on www.eevblog.com/forum if you want my answer.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

thank a lot...

there are many things i still don't know!!!

now i'm trying to change rate and to solve problem with my platform...

do you know if i can send some other message, maybe to check if my protocol is going well??
or if can i change something in code to understand what's happening during transfer file??

:)

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

_criss wrote:
do you know if i can send some other message, maybe to check if my protocol is going well??
or if can i change something in code to understand what's happening during transfer file??

All general debugging techniques are totally applicable here. Flash LEDs at places you need etc.

You can also implement sending debug information over the air or just to UART. It will require some coding though.

Good idea wold be to have sniffer. Simplest one can be made from MeshBean and AVR Studio has some sniffer support included. It decodes only MAC layer headers but good to start. You would better understand what is going wrong on air and perform some optimizations based on this.

NOTE: I no longer actively read this forum. Please ask your question on www.eevblog.com/forum if you want my answer.