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

SPI master high current consumption/assert

Hi all,

We're currently working on the project with includes external ADC. The SPI interface is used for communication, we're using spi_master library from the newest SDK.

We have two issues with the SPI and we hope that someone could help us with this.

Firstly it seems that as soon as we turn on the internal SPI the PCB starts to draw continuous 13 mA current. The power supply shows 0 mA when internal SPI is disabled. We've tested this on two PCBs, the PCB is designed in a way that we can disable all parts of the system, during our test power was provided only to NRF51822 and one voltage regulator.

The second issue occurs only occasionally, during this test SPI master is enabled only for a short time during sampling. The issue is that the spi_master.c displays this asserts and the processor restarts. It seems that the restart reason is Watchdog, however we're pretty sure that we kick the watch dog shortly before the restart occurs

[APPL]: ASSERT: spi_master\spi_master.c, 425, error 0x00002001 [APPL]: ASSERT: spi_master\spi_master.c, 474, error 0x00002001 [APPL]: ASSERT: spi_master\spi_master.c, 352, error 0x00002001 [APPL]: ASSERT: spi_master\spi_m (NOTE: not enough time to send this) [APPL]: Start! [APPL]: Reset: Watchdog SystemOff GPIO

This are lines on which the asserts occurs: 425: APP_ERROR_CHECK(sd_nvic_DisableIRQ(p_spi_instance->irq_type)); 474: APP_ERROR_CHECK(sd_nvic_EnableIRQ(p_spi_instance->irq_type)); 352: APP_ERROR_CHECK(sd_nvic_ClearPendingIRQ(p_spi_instance->irq_type));

And the error code is this: NRF_ERROR_SOC_NVIC_INTERRUPT_NOT_AVAILABLE - NVIC interrupt not available

Do you know why these asserts occurs, please?

Any hints very appreciated.

Many thanks, Krzysztof Rosinski

PS. we're using the newest S110 soft device.

Parents Reply Children
No Data
Related