This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Peripheral connection event gives unusual measurement peaks?

Hi all!

I'm doing some tests on throughput and power consumption on the nRF51822, using SoftDevice 130. I use an application that sends 20 bytes notifications from slave to master on a connection interval of 7.5 ms. I already measured the throughput and get fine results (127, something kbps) when there is practically no interference. Now I'm trying to measure the power consumption on the slave, during the sending of those notifications. After some fiddling and reading, I could make a screenshot like this one:

image description

What worries me is:

  • The peaks are quite high?
  • I don't really get perfect resemblance to the theory in the SoftDevice 130 specs (infocenter.nordicsemi.com/index.jsp. Especially (A), (B) and (C) are pretty weird (or maybe aren't there at all)?
  • The event seems to take pretty long?

Is this still pretty normal behavior? Or is there a serious fault looming?

Thanks!

Mathias

  • Yes, that will add additional current consumption!

    The internal pull-up and pull-down resistors on the nRF5x have a typical value of 13kohm. In order to detect button press, the buttons will be configured with internal pull-up, and when they are pressed, they will be connected to ground. If you then have supply power of 3.0 volts then the current consumption is 3/13k=230uA when the button is pressed.

  • Okay superb! Now only to solve my 6 packets per interval problem.. :( I think I found the issue, it's not within my code but I think it's the firmware for the dongle I use. I think I'm suddenly using older firmware or something because when I measure with a phone as central (that supports up to 4 packets per interval) I get 4 packets per interval. Have you heard of this issue with the nRF51 dongle before?

  • If the phone only supports 4 packets per interval, you won't get 6 packets per interval on the link between the dongle and the phone. from this post here, it stated that it seems that most Android devices supports ~4 packets per interval, while most iOS devices supports up to 6 packets. But this also varies from model to model, newer android phones also support 6 packets per interval.

    Also make sure that you set the bandwidth configuration to high in order to ensure that the nRF51 can support 6 packets per interval. See this link.

    Also note that the link will only use 6 packets per interval if it's needed. I.e. if the data you are sending fits into 3-4 packets each interval, then there is no need to use 6 packets, even if it's supported.

  • No no I use a nRF51822 DK as peripheral and with the same code I have done measurements with 6 packets per interval using the nRF51 Dongle as central. But since I configured the power kit (and I think the dongle did a bit weird back then so I think I messed up the firmware or ...) I seem to not get 6 packets per interval anymore. With the Dongle as central I now always get 3 per interval and with the phone as central I get 4. I'll see if I can find a modern iOS device here to see if I can get 6 packets per interval.

  • The data I'm sending needs 6 packets per interval if it is possible, I made sure of that, because I was/am testing maximum throughput with different connection intervals and compare the power consumption then as well :)

Related