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

nrf8001 Reset - RDYN and REQN behavior

Hi,

I'm developing some code for an AVR MCU with the Adafruit nrf8001 and had a question about the expected behavior of the handshaking lines, REQN and RDYN

My understanding is, once the device comes out of Reset (Reset Low -> High) the RDYN line should output to logic low indicating that the DeviceStartedEvent is ready to be clocked out over SPI like so. image description

To clock the event out, the user application should then toggle the REQN line low and begin clocking data out over SPI. However, when the REQN line transitions (from either High to Low or vice versa) I see a small pulse on the RDYN line (like so)image description

Any ideas what this could be and if this is ok? So far my application only goes in an infinite loop of Reseting the device, and driving the REQN low once RDYN also goes low, waits ~100ms then resets the nrf8001 again

EDIT: Added new picture of "glitch" after device reset image description

Parents
  • Hi David,

    Thanks for sticking with me so far. It looks like I've figured it out, although not completely sure why. It did seem like the "RDYN glitch" was related to the transition from logic low to logic high on the MISO line. I worked around this by connecting the MISO pin to the internal pullup and that initial transition and glitch are no longer giving me trouble.

    Any reason why the nrf8001 might be driving the MISO pin high there for quick moment? MISO is connected to MISO of the avr, through a 220 ohm series resistor, which is also connected to the ISP.

    For the sake of answering your questions, I'm not using the BLE Arduino SDK but am working on porting the MSP430 code here which looks to be based off the ble_aci_transport_layer_verification/ example

Reply
  • Hi David,

    Thanks for sticking with me so far. It looks like I've figured it out, although not completely sure why. It did seem like the "RDYN glitch" was related to the transition from logic low to logic high on the MISO line. I worked around this by connecting the MISO pin to the internal pullup and that initial transition and glitch are no longer giving me trouble.

    Any reason why the nrf8001 might be driving the MISO pin high there for quick moment? MISO is connected to MISO of the avr, through a 220 ohm series resistor, which is also connected to the ISP.

    For the sake of answering your questions, I'm not using the BLE Arduino SDK but am working on porting the MSP430 code here which looks to be based off the ble_aci_transport_layer_verification/ example

Children
No Data
Related