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

Cutting power to nrf51 after receiving spi bytes and advertising them using BLE

Hi all,

I'm working on a limited power budget system. MSP430 is the master that is supplying power to nrf51882 (slave). Every 2s MSP430 derives a pin high to drive the nrf51's VCC high and send multiple bytes. nrf51 after receiving the bytes through spi , tries to advertise them.  Then MSP430 waits 200 ms(after sending the multiple bytes)  before cutting the nrf51 power off. I choose 200 ms because I set the advertisement interval on nrf51 to 100 ms. The issue I'm facing is cutting the power off on nrf51 , preventing the advertise packet from being discovered / received by a phone. But when I leave the power on (making MSP430 holding the pin high to source power to nrf51 all the time), I received the advertisement packet on my phone. I tried to increase the waiting time before cutting the power on nrf51 up to 1s but without any luck. 

I'm using soft device 110 and SDK v10. 

Is there any way to cut the power safely on nrf51 while insuring the advertisement packet at least advertised once ? 

or what is the best way to minimize the power consumption of using nrf51 as peripheral to broadcast a data that received from a master?

Parents Reply Children
  • Hello again,

    Thank you for your patience with this. The summer holidays have begun here in Norway, and DevZone is therefore operating with reduced staff for the time being. Sorry for any inconvenience this might cause.

    aalsubhi said:
    Thank for you informative and fast response.

    No problem at all, I am happy to help!

    aalsubhi said:
    It works fine by setting the advertisement interval to 100ms and make the MSP430 (master) wait more than 100ms (about 300ms-500ms) before cutting the power on nrf51 (slave).

    Do I understand this correctly that you went for a merge of the two approaches - having the nRF51 enter sleep mode on its own following completed advertising, and then cutting its power afterwards? If so, could you elaborate why you still opt to cut its power? I am interpreting 'cutting its power' literally, i.e that you toggle a transistor on its power supply lines, or similar. Do I have this correctly?
    I would think that you could achieve lower power consumption by doing either of the things, like suggested in my previous comment.
    Did you try the two approaches separately, to compare their power consumption?

    aalsubhi said:
    I solved this problem. I used SPI mode 0 (CPOL = 0, CPHA = 0) on nrf51 and (CPOL=0 CPHA=1) on msp430. Also, I have to wait at least 3ms after turning the nrf51's power on before sending any data through spi.

    I am glad to hear that you were able to resolve this new issue! These 3 ms of wakeup cycles is what I was referring to as potentially negatable through keeping the device in SYSTEM ON sleep between advertisements.

    Best regards,
    Karl

Related