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

PCA10056 with SD card module

Hi. I'm using the NRF-52 DK (PCA10056) with an SD card module and I'm trying to upload the FatFS example code for SDK 15. I'm using a kingston 8GB SD card and I'm unable to get any result. The same is working with SDK12. How do I sort this issue. 

  • Hi,

     

    If you are using one of the older nRF52840-PDK, this has the engineering A device, which was deprecated with the SDK v15 release. I would recommend that you obtain the latest revision of the nRF52840 to develop on.

     

    Kind regards,

    Håkon

  • Hello, 

    How do i know whether I'm using an older version of the DK or the newer one. 
    The chip on my dk says : PCA10056, 1.0.0, 2018.25, 683802088

  • Hi,

     

    This is good, you're using the latest revision of the chip. Sorry for misunderstanding, some of the earliest nRF52840-PDK had a SD-card slot, but this was later removed.

    Currently, we have two issues that might affect your application.

    1. Erratas not properly applied

    2. usbd_msc example might fail if you alter files, then unplug/plug the USB

     

    Could you try the two workarounds above and see if this fixes the issue?

     

    Kind regards,

    Håkon

  • Hi,

    Thanks for your response we have tried point 1. and updated the nRF5_SDK_15.0.0_a53641a\components\drivers_nrf\usbd\nrf_drv_usbd_errata.h

    But it didn't work.

    2. Can't understand can you please explain?

    The SDCard module works with Arduino, nRF51 DK (SDK 12)
    Doesn't work with nRF52832 DK(pca10040), nRF52840(pca10056) using SDK12.3 or SDK15.0

    Consider, we have check these PINS more than 10 times: nRF5_SDK_15.0.0_a53641a\examples\peripheral\fatfs

    #define SDC_SCK_PIN     ARDUINO_13_PIN  ///< SDC serial clock (SCK) pin.
    #define SDC_MOSI_PIN    ARDUINO_11_PIN  ///< SDC serial data in (DI) pin.
    #define SDC_MISO_PIN    ARDUINO_12_PIN  ///< SDC serial data out (DO) pin.
    #define SDC_CS_PIN      ARDUINO_10_PIN  ///< SDC chip select (CS) pin.

    Regards

    Vishal Aditya

    Embedded Software Engineer

  • Hi,

     

    Vishal Aditya said:
    2. Can't understand can you please explain?

    I am sorry, I was assuming you were using the USB MSC example in the SDK with a SD-card. For this, there are some erratas for the USBD that needs to be applied.

    Vishal Aditya said:
    Consider, we have check these PINS more than 10 times: nRF5_SDK_15.0.0_a53641a\examples\peripheral\fatfs

    These pins are by default used (located in your pca10056.h):

    #define ARDUINO_13_PIN NRF_GPIO_PIN_MAP(1, 15) // Digital pin 13
    #define ARDUINO_12_PIN NRF_GPIO_PIN_MAP(1, 14) // Digital pin 12
    #define ARDUINO_11_PIN NRF_GPIO_PIN_MAP(1, 13) // Digital pin 11
    #define ARDUINO_10_PIN NRF_GPIO_PIN_MAP(1, 12) // Digital pin 10

     

    Note that these are on PORT1, not PORT0. It maps to P1.12 to P1.15, which are located in the top left corner of the nRF52840-DK.

    If you are using these pins, could you verify with a logic analyzer or oscilloscope that there's SPI data going over these GPIOs?

     

    Best regards,

    Håkon

Related