Piedinatura Nordic nRF52840 DK
Il kit di sviluppo ufficiale di Nordic per il chip Bluetooth nRF52840, con debugger J-Link integrato, 4 pulsanti, 4 LED e connettori in stile Arduino. I pin lavorano a 3,0 V e non tollerano i 5 V.
In breve
- Chip
- nRF52840-QIAA (nRF52840)
- Processore
- Arm Cortex-M4F at 64 MHz, 256 KB RAM, 1 MB flash, Bluetooth LE, Thread/Zigbee (802.15.4), NFC, native USB
- Livello logico
- 3,3 V. Non tollera i 5 V, salvo i pin indicati sotto.
- Strumento di programmazione
- nrfjprog (J-Link)
- Scheda Arduino (FQBN)
- adafruit:nrf52:pca10056
- Vista dei pin dal vivo in BoardPilot
- Sì (agente diagnostico disponibile)
Pin da evitare o da usare con attenzione
Memoria flash: P0.17, P0.19, P0.21, P0.23, P0.20, P0.22
Collegati alla memoria flash. Non usarli mai.
Seriale USB: P0.08, P0.06
Usati per il caricamento e il monitor seriale. Qualsiasi cosa collegata qui può impedire il caricamento.
Usati sulla scheda: P0.10, P0.09, P0.08, P0.07, P0.06, P0.05, P0.01, P0.00, P0.11, P0.17, P0.19, P0.21, P0.23, P0.25, P0.12, P0.18, P0.20, P0.22, P0.24, P1.00
Già collegati a qualcosa sulla scheda (vedi le note nella tabella).
Pin adatti a LED, pulsanti e segnali
P1.03, P1.04, P1.05, P1.06, P1.10, P1.11, P1.07, P1.08
Pin predefiniti in Arduino
- I2C
- SDA = P0.26, SCL = P0.27. Con le impostazioni predefinite della libreria Wire funzionano solo questi pin. Il blocco I2C (TWIM) dell’nRF52840 può usare quasi qualsiasi pin, ma il Wire del core Arduino è fisso su P0.26 (SDA) e P0.27 (SCL), le prese SDA/SCL Arduino.
- SPI
- MOSI = P1.13, MISO = P1.14, SCK = P1.15, CS = P1.12.
- Ingressi analogici
- P0.03 (A0), P0.04, P0.28, P0.29, P0.30, P0.31 (0–3.6 V)
Come programmarla
Collega la USB alla porta sul lato corto (MCU di interfaccia, J2) e metti l’interruttore di alimentazione su ON; prima del primo sketch Arduino, scrivi una volta il bootloader Adafruit e il SoftDevice.
Tutti i 57 pin
| Pin | GPIO | Pin del chip | Funzioni | Note |
|---|---|---|---|---|
| P0.27 | 27 | P0.27 | GPIO, I2C_SCL (predef.) | SCL Arduino (clock I2C). La DK collega resistenze di pull-up I2C a questa linea quando rileva uno shield (SB33). |
| P0.26 | 26 | P0.26 | GPIO, I2C_SDA (predef.) | SDA Arduino (dati I2C). La DK collega resistenze di pull-up I2C a questa linea quando rileva uno shield (SB33). |
| P0.02 | 2 | P0.02 | GPIO, AIN0, AREF | Posizione AREF di Arduino, collegata a P0.02 (ingresso analogico AIN0). |
| GND | — | GND | ||
| P1.15 | 47 | P1.15 | GPIO, SPI_SCK (predef.) | |
| P1.14 | 46 | P1.14 | GPIO, SPI_MISO (predef.) | |
| P1.13 | 45 | P1.13 | GPIO, SPI_MOSI (predef.) | |
| P1.12 | 44 | P1.12 | GPIO, SPI_CS (predef.) | |
| P1.11 | 43 | P1.11 | GPIO | |
| P1.10 | 42 | P1.10 | GPIO | |
| P1.08 | 40 | P1.08 | GPIO | Con l’interruttore TRACE (SW7) su Alt, il Button 2 viene spostato su questo pin. |
| P1.07 | 39 | P1.07 | GPIO | Con l’interruttore TRACE (SW7) su Alt, il Button 1 viene spostato su questo pin. |
| P1.06 | 38 | P1.06 | GPIO | |
| P1.05 | 37 | P1.05 | GPIO | |
| P1.04 | 36 | P1.04 | GPIO | |
| P1.03 | 35 | P1.03 | GPIO | |
| P1.02 | 34 | P1.02 | GPIO, Serial1_TX | TX di Serial1 nel core Arduino. |
| P1.01 | 33 | P1.01 | GPIO, Serial1_RX | RX di Serial1 nel core Arduino. |
| P0.10 | 10 | P0.10 | GPIO, NFC2 | Per impostazione predefinita è un pin dell’antenna NFC. Per usarlo come pin normale, imposta CONFIG_NFCT_PINS_AS_GPIOS nel tuo firmware. |
| P0.09 | 9 | P0.09 | GPIO, NFC1 | Per impostazione predefinita è un pin dell’antenna NFC. Per usarlo come pin normale, imposta CONFIG_NFCT_PINS_AS_GPIOS nel tuo firmware. |
| P0.08 | 8 | P0.08 | GPIO, UART_RXD, Serial2_RX | RX seriale dal debugger sulla scheda (la porta COM virtuale USB). Serial2 nel core Arduino. |
| P0.07 | 7 | P0.07 | GPIO, UART_CTS, TRACECLK | Linea di controllo di flusso (CTS) della porta COM virtuale USB. Libera quando il controllo di flusso è spento, o con l’interruttore SW7 su off. |
| P0.06 | 6 | P0.06 | GPIO, UART_TXD, Serial2_TX | TX seriale verso il debugger sulla scheda (la porta COM virtuale USB). Serial2 nel core Arduino. |
| P0.05 | 5 | P0.05 | GPIO, UART_RTS, AIN3 | Linea di controllo di flusso (RTS) della porta COM virtuale USB. Libera quando il controllo di flusso è spento, o con l’interruttore SW7 su off. |
| P0.01 | 1 | P0.01 | GPIO, XL2 | Usato dal quarzo da 32,768 kHz. Non è collegato a questo connettore a meno che tu non tagli SB1 e cortocircuiti SB3. |
| P0.00 | 0 | P0.00 | GPIO, XL1 | Usato dal quarzo da 32,768 kHz. Non è collegato a questo connettore a meno che tu non tagli SB2 e cortocircuiti SB4. |
| VDD | — | VDD | Alimentazione VDD della DK: 3,0 V per impostazione predefinita (regolatore fisso a 3 V). | |
| VDD | — | IOREF, VDD | IOREF Arduino: dice a uno shield il livello logico, che è VDD (3,0 V per impostazione predefinita). | |
| RESET | — | RESET | Non collegato per impostazione predefinita. I ponticelli a saldare SB43-SB46 possono collegarlo al reset del chip (P0.18) o al pulsante IF BOOT/RESET. | |
| VDD | — | VDD, 3V3 | Posizione 3.3V di Arduino. Su questa DK porta VDD, 3,0 V per impostazione predefinita. | |
| 5V | — | 5V | 5 V dal regolatore boost della DK. Non collegarlo mai a un pin dell’nRF52840. | |
| GND | — | GND | ||
| GND | — | GND | ||
| P0.03 (A0) | 3 | P0.03 | GPIO, AIN1, A0 | |
| P0.04 | 4 | P0.04 | GPIO, AIN2, A1 | Con l’interruttore TRACE (SW7) su Alt, la linea CTS della porta COM virtuale viene spostata su questo pin. |
| P0.28 | 28 | P0.28 | GPIO, AIN4, A2 | |
| P0.29 | 29 | P0.29 | GPIO, AIN5, A3 | |
| P0.30 | 30 | P0.30 | GPIO, AIN6, A4 | |
| P0.31 | 31 | P0.31 | GPIO, AIN7, A5 | |
| P0.11 | 11 | P0.11 | GPIO, BUTTON1, TRACEDATA1 | Pulsante 1 della DK, attivo basso: legge 0 quando è premuto. Usa INPUT_PULLUP (sulla scheda non c’è un pull-up esterno). |
| P0.13 | 13 | P0.13 | GPIO, LED1, LED_BUILTIN | LED 1 (verde) della DK, attivo basso: scrivi 0 per accenderlo. Taglia SB5 per liberare il pin. È LED_BUILTIN nel core Arduino. |
| P0.15 | 15 | P0.15 | GPIO, LED3 | LED 3 (verde) della DK, attivo basso: scrivi 0 per accenderlo. Taglia SB7 per liberare il pin. |
| P0.17 | 17 | P0.17 | GPIO, QSPI_CS | Collegato alla flash QSPI da 64 Mbit sulla scheda; non è collegato a questo connettore a meno che tu non tagli SB13 e cortocircuiti SB23. |
| P0.19 | 19 | P0.19 | GPIO, QSPI_SCK | Collegato alla flash QSPI da 64 Mbit sulla scheda; non è collegato a questo connettore a meno che tu non tagli SB11 e cortocircuiti SB21. |
| P0.21 | 21 | P0.21 | GPIO, QSPI_IO1 | Collegato alla flash QSPI da 64 Mbit sulla scheda; non è collegato a questo connettore a meno che tu non tagli SB14 e cortocircuiti SB24. |
| P0.23 | 23 | P0.23 | GPIO, QSPI_IO3 | Collegato alla flash QSPI da 64 Mbit sulla scheda; non è collegato a questo connettore a meno che tu non tagli SB10 e cortocircuiti SB20. |
| P0.25 | 25 | P0.25 | GPIO, BUTTON4 | Pulsante 4 della DK, attivo basso: legge 0 quando è premuto. Usa INPUT_PULLUP (sulla scheda non c’è un pull-up esterno). |
| P1.09 | 41 | P1.09 | GPIO, TRACEDATA3 | |
| P0.12 | 12 | P0.12 | GPIO, BUTTON2, TRACEDATA2 | Pulsante 2 della DK, attivo basso: legge 0 quando è premuto. Usa INPUT_PULLUP (sulla scheda non c’è un pull-up esterno). |
| P0.14 | 14 | P0.14 | GPIO, LED2 | LED 2 (verde) della DK, attivo basso: scrivi 0 per accenderlo. Taglia SB6 per liberare il pin. |
| P0.16 | 16 | P0.16 | GPIO, LED4 | LED 4 (verde) della DK, attivo basso: scrivi 0 per accenderlo. Taglia SB8 per liberare il pin. |
| P0.18 | 18 | P0.18 | GPIO, nRESET | Il pin di reset del chip quando il reset da pin è attivo (lo usa il pulsante IF BOOT/RESET). Evita di usarlo come pin normale. |
| P0.20 | 20 | P0.20 | GPIO, QSPI_IO0 | Collegato alla flash QSPI da 64 Mbit sulla scheda; non è collegato a questo connettore a meno che tu non tagli SB12 e cortocircuiti SB22. |
| P0.22 | 22 | P0.22 | GPIO, QSPI_IO2 | Collegato alla flash QSPI da 64 Mbit sulla scheda; non è collegato a questo connettore a meno che tu non tagli SB15 e cortocircuiti SB25. |
| P0.24 | 24 | P0.24 | GPIO, BUTTON3 | Pulsante 3 della DK, attivo basso: legge 0 quando è premuto. Usa INPUT_PULLUP (sulla scheda non c’è un pull-up esterno). |
| P1.00 | 32 | P1.00 | GPIO, SWO, TRACEDATA0 | Uscita di trace di debug (SWO) verso il debugger sulla scheda. Puoi usarlo come pin se non usi il trace. |
| GND | — | GND |
Controlla il cablaggio con BoardPilot
BoardPilot mostra questa scheda in 3D, segnala i pin rischiosi mentre colleghi e la programma in sicurezza, con un backup prima.
Scarica BoardPilotFonti
- Nordic nRF52840 DK Hardware v1.0.0 User Guide (4440_050, 2020-12-03), 4.6 Connector interface, Figure 21 Arduino signals routing, 4.6.1 Analog pin map, 4.7 Buttons and LEDs, 4.5 External memory, 4.8 32.768 kHz crystal, 3.2 Virtual serial port, 4.11 NFC, 4.13 Solder bridges
- nRF52840 DK hardware files 3.0.3 (PCA10056), 400236_Pick_And_Place.csv (connector and part centres), 400236.GM1 board outline (5.275 x 2.5 in), laminate stack-up, schematic sheet 5 (connectors)
- Nordic nRF52840 Product Specification, Pin assignments (aQFN73): AIN0-AIN7 = P0.02-P0.05, P0.28-P0.31; Absolute maximum ratings (I/O pin voltage max VDD + 0.3 V)
- adafruit/Adafruit_nRF52_Arduino variants/pca10056/variant.h, Pin numbers (port*32+pin), PIN_WIRE_SDA 26 / SCL 27, SPI MOSI 45 / MISO 46 / SCK 47 / SS 44, Serial1 P1.01/P1.02, Serial2 P0.08/P0.06
- adafruit/Adafruit_nRF52_Arduino boards.txt, pca10056 entry: USB 239a:80da / 239a:00da, S140 6.1.1 linker script
- SEGGER J-Link udev rules, quoted on Nordic DevZone, J-Link product ids 0x1015, 0x1051, 0x1061
- File dei dati della scheda e note sulle fonti su GitHub