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

SPI MISO seems to be pulled down in NCS

Hello. I migrated my code from nRF5 SDK for Thread and Zigbee to nRF Connect SDK (NCS). After that SPI code stopped working :( After debugging with the oscilloscope, I found that SS and MOSI signals are correct, the ADCxx1Sxx1 chip is sending the correct values to MISO line, but MISO pin on the nRF52840 side is reading all zeroes (ADC chip is separated from nRF by a digital isolator ISO772x). When I connect VCC to MISO with a wire however, the software can read all ones instead of zeroes (so SPI is working). 

I guess, this is an issue of internal pull-down resistor on SPI? In the devicetree documentation of Zephyr 2.5.0 I found the "miso-pull-up" and "miso-pull-down" options. The latter doesn't change anything for me, while the former changes the values read from SPI to all ones, unless the MISO pin is shorted to GND.

Is there a fix for this? Can I disable pulldown? Is there a "no pull" option for MISO in NCS?

For MISO, I am using pin P0.09. (CONFIG_NFCT_PINS_AS_GPIOS=y is set in prj.conf.)

P.S. Versions:

  • NCS Toolchain: 1.5.1
  • Zephyr: 2.4.99
  • west: 0.9.0
  • dtc: 1.4.7
Parents Reply Children
Related