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

GPIOTE/PPI question

In my design, I have a SPI flash connected to the NRF51822. Additionally, the NRF51822 is connected to a separate microprocessor that needs to be able to access the SPI flash directly to boot.

One solution I was hoping could work is to use the GPIOTE and PPI interface to function as a GPIO repeater. This way, I could replay the SPI cs/clk/miso/mosi signals from the microprocessor, through the NRF51822, and to the SPI flash. However, I'm running into problems here since there are only 4 GPIOTE channels, which allows me to only connect 2 of the GPIOs internally at any given moment.

Any ideas on how I can make this work? I'm hoping to find a solution that requires as little NRF51822 CPU involvement as possible. I also realize that the next revision of the NRF51822 will have HW SPI slave, but I'm wondering whether this solution can be made to work.

Thanks in advance,

Dan

  • Just to clarify: the nRF51822 is connected to 2 separate SPI buses, one bus going to the other MCU, and another bus going to the flash?

  • Yes, the nRF51822 is connected to 2 separate SPI buses, one as a master and one as a slave. With only 4 GPIOTE's available, I can't see how this is possible. Fortunately, I've been able to solve this problem using the latest version of the nRF51822, which has SPI slave HW.