nRF52840 (Cortex-M4, Firmware)
Führt echte Firmware (Zephyr-ELF / Intel-HEX) auf einem ARM-Cortex-M4-Emulator aus; die GPIOs treiben die Analogschaltung.
Wichtige Daten
- Kategorie
- ICs
- Simulationsmodell
- Mikrocontroller mit echter Firmware
- Hersteller-Teilenummer
- nRF52840-QIAA
- Referenzpräfix
- U
- Pins
- 50
- Land-Pattern
- BMD-340_UBLOX_LGA68
Hinweise
Die Firmware läuft Befehl für Befehl auf einem emulierten CPU-Kern. Die nachgebildeten Peripherieblöcke (GPIO, Timer, UART, SPI, I²C, ADC und weitere, siehe Beschreibung) wirken auf die Pins der Schaltung, sodass die Analogteile rund um den Chip dieselben Spannungen und dasselbe Timing sehen wie auf einer echten Platine.
- Rechtsklick auf das Bauteil und „Im Code-Editor öffnen“ wählen, um seinen Code zu schreiben und zu kompilieren; „Serieller Monitor“ zeigt seine UART-Ausgabe.
- Alternativ im Inspektor eine Demo-Firmware oder eine eigene ELF-/Intel-HEX-/BIN-Datei laden.
- GPIO-Pins sind echte Schaltungspins: eine LED an einem Ausgang braucht einen Vorwiderstand, ein Eingang einen definierten Pegel (Pull-up oder Pull-down).
- Der Debugger in der Code-Ansicht hält an Haltepunkten und zeigt Register, Variablen und den Aufrufstapel.
Simulationsmodell
Ein emulierter CPU-Kern führt das Firmware-Binary Befehl für Befehl aus. Die GPIO-Pins sind Pins der Analogschaltung: Ausgänge treiben über einen Treiberwiderstand, Eingänge lesen die Spannung mit Schaltschwellen.
- Baustein
- nrf52840
- CPU-Kern
- ARM Cortex-M4F
- Emulator
- ARM-Cortex-M-Emulator
- Firmware
- Bare-Metal-C (arm-none-eabi-gcc) oder Zephyr-Projekt in der Code-Ansicht, oder eigene ELF-/Intel-HEX-/BIN-Datei
- Flash / RAM für Firmware
- 1 MB / 256 KB
- Versorgungspins
- VDD / GND
- Zugeordnete GPIO-Pins
- 48
Pins 50
simuliertnur echter ChipPin-Funktionen aus dem Emulator und dem Datenblatt.
| Pin | Name | Funktionen | Verwendung |
|---|---|---|---|
| VDD | VDDVersorgung | Versorgung 1,7–3,6 V: Abblockung nach der Referenzschaltung | |
| GND | GNDMasse | Masse | |
| P0.00 | P0.00Ein-/Ausgang | XL1 | 32,768-kHz-Quarz (XL1/XL2) für den Low-Power-Takt, oder GPIO |
| P0.01 | P0.01Ein-/Ausgang | XL2 | 32,768-kHz-Quarz (XL1/XL2) für den Low-Power-Takt, oder GPIO |
| P0.02 | P0.02Ein-/Ausgang | AIN0 | Analogeingang: Potentiometer, Sensorspannung (0 V … Versorgung) |
| P0.03 | P0.03Ein-/Ausgang | AIN1 | Analogeingang: Potentiometer, Sensorspannung (0 V … Versorgung) |
| P0.04 | P0.04Ein-/Ausgang | AIN2 | Analogeingang: Potentiometer, Sensorspannung (0 V … Versorgung) |
| P0.05 | P0.05Ein-/Ausgang | AIN3 | Analogeingang: Potentiometer, Sensorspannung (0 V … Versorgung) |
| P0.06 | P0.06Ein-/Ausgang | UART0 TX auf dem nRF52840 DK (Zephyr-Konsole) | |
| P0.07 | P0.07Ein-/Ausgang | TRACECLK | Allzweck-I/O: LEDs (mit Vorwiderstand), Taster (mit Pull-up) |
| P0.08 | P0.08Ein-/Ausgang | UART0 RX auf dem nRF52840 DK (Zephyr-Konsole) | |
| P0.09 | P0.09Ein-/Ausgang | NFC1 | NFC-Antenne (NFC1/NFC2); als GPIO nutzbar, wenn NFC im UICR abgeschaltet ist |
| P0.10 | P0.10Ein-/Ausgang | NFC2 | NFC-Antenne (NFC1/NFC2); als GPIO nutzbar, wenn NFC im UICR abgeschaltet ist |
| P0.11 | P0.11Ein-/Ausgang | Taster 1 auf dem nRF52840 DK (nach GND, Pull-up) | |
| P0.12 | P0.12Ein-/Ausgang | Taster 2 auf dem nRF52840 DK (nach GND, Pull-up) | |
| P0.13 | P0.13Ein-/Ausgang | LED1 auf dem nRF52840 DK (Low-aktiv) | |
| P0.14 | P0.14Ein-/Ausgang | LED2 auf dem nRF52840 DK (Low-aktiv) | |
| P0.15 | P0.15Ein-/Ausgang | LED3 auf dem nRF52840 DK (Low-aktiv) | |
| P0.16 | P0.16Ein-/Ausgang | LED4 auf dem nRF52840 DK (Low-aktiv) | |
| P0.17 | P0.17Ein-/Ausgang | Allzweck-I/O: LEDs (mit Vorwiderstand), Taster (mit Pull-up) | |
| P0.18 | P0.18Ein-/Ausgang | RESET | Pin-Reset, wenn im UICR aktiviert (Zephyr-Standard auf dem DK); sonst GPIO |
| P0.19 | P0.19Ein-/Ausgang | Allzweck-I/O: LEDs (mit Vorwiderstand), Taster (mit Pull-up) | |
| P0.20 | P0.20Ein-/Ausgang | Allzweck-I/O: LEDs (mit Vorwiderstand), Taster (mit Pull-up) | |
| P0.21 | P0.21Ein-/Ausgang | Allzweck-I/O: LEDs (mit Vorwiderstand), Taster (mit Pull-up) | |
| P0.22 | P0.22Ein-/Ausgang | Allzweck-I/O: LEDs (mit Vorwiderstand), Taster (mit Pull-up) | |
| P0.23 | P0.23Ein-/Ausgang | Allzweck-I/O: LEDs (mit Vorwiderstand), Taster (mit Pull-up) | |
| P0.24 | P0.24Ein-/Ausgang | Taster 3 auf dem nRF52840 DK (nach GND, Pull-up) | |
| P0.25 | P0.25Ein-/Ausgang | Taster 4 auf dem nRF52840 DK (nach GND, Pull-up) | |
| P0.26 | P0.26Ein-/Ausgang | I²C SDA an der Arduino-Leiste des nRF52840 DK | |
| P0.27 | P0.27Ein-/Ausgang | I²C SCL an der Arduino-Leiste des nRF52840 DK | |
| P0.28 | P0.28Ein-/Ausgang | AIN4 | Analogeingang: Potentiometer, Sensorspannung (0 V … Versorgung) |
| P0.29 | P0.29Ein-/Ausgang | AIN5 | Analogeingang: Potentiometer, Sensorspannung (0 V … Versorgung) |
| P0.30 | P0.30Ein-/Ausgang | AIN6 | Analogeingang: Potentiometer, Sensorspannung (0 V … Versorgung) |
| P0.31 | P0.31Ein-/Ausgang | AIN7 | Analogeingang: Potentiometer, Sensorspannung (0 V … Versorgung) |
| P1.00 | P1.00Ein-/Ausgang | SWO | Allzweck-I/O: LEDs (mit Vorwiderstand), Taster (mit Pull-up) |
| P1.01 | P1.01Ein-/Ausgang | Allzweck-I/O: LEDs (mit Vorwiderstand), Taster (mit Pull-up) | |
| P1.02 | P1.02Ein-/Ausgang | Allzweck-I/O: LEDs (mit Vorwiderstand), Taster (mit Pull-up) | |
| P1.03 | P1.03Ein-/Ausgang | Allzweck-I/O: LEDs (mit Vorwiderstand), Taster (mit Pull-up) | |
| P1.04 | P1.04Ein-/Ausgang | Allzweck-I/O: LEDs (mit Vorwiderstand), Taster (mit Pull-up) | |
| P1.05 | P1.05Ein-/Ausgang | Allzweck-I/O: LEDs (mit Vorwiderstand), Taster (mit Pull-up) | |
| P1.06 | P1.06Ein-/Ausgang | Allzweck-I/O: LEDs (mit Vorwiderstand), Taster (mit Pull-up) | |
| P1.07 | P1.07Ein-/Ausgang | Allzweck-I/O: LEDs (mit Vorwiderstand), Taster (mit Pull-up) | |
| P1.08 | P1.08Ein-/Ausgang | Allzweck-I/O: LEDs (mit Vorwiderstand), Taster (mit Pull-up) | |
| P1.09 | P1.09Ein-/Ausgang | Allzweck-I/O: LEDs (mit Vorwiderstand), Taster (mit Pull-up) | |
| P1.10 | P1.10Ein-/Ausgang | Allzweck-I/O: LEDs (mit Vorwiderstand), Taster (mit Pull-up) | |
| P1.11 | P1.11Ein-/Ausgang | Allzweck-I/O: LEDs (mit Vorwiderstand), Taster (mit Pull-up) | |
| P1.12 | P1.12Ein-/Ausgang | Allzweck-I/O: LEDs (mit Vorwiderstand), Taster (mit Pull-up) | |
| P1.13 | P1.13Ein-/Ausgang | SPI MOSI an der Arduino-Leiste des nRF52840 DK | |
| P1.14 | P1.14Ein-/Ausgang | SPI MISO an der Arduino-Leiste des nRF52840 DK | |
| P1.15 | P1.15Ein-/Ausgang | SPI SCK an der Arduino-Leiste des nRF52840 DK |
Parameter 1
packageLeiterplatte
BMD-340_UBLOX_LGA68| Bauform | Land-Pattern | Status | Quelle |
|---|---|---|---|
| BMD-340 · BMD-340-A-R | BMD-340_UBLOX_LGA68 | Geprüftes Land-Pattern | u-blox BMD-340 data sheet UBX-19033353 R13 §5.2 (pad map and land pattern), VCC + VCCH tied for normal-voltage mode (§4.3); antenna keep-out §6.1 |
| aQFN73 · nRF52840-QIAA-R | Nordic_AQFN-73-1EP_7x7mm_P0.5mm | Entwurf: vor der Fertigung prüfen | KiCad-10.0.7-Bibliothek: Symbol nRF52840 (Pin-Nummern), Footprint Package_DFN_QFN:Nordic_AQFN-73-1EP_7x7mm_P0.5mm (IPC-7351B-Landmuster) |
Benötigt: nackter nRF52840 (aQFN-73, 0,5 mm, Via-in-Pad): braucht die Referenzbeschaltung aus der Product Specification (32-MHz-Quarz an XC1/XC2, Abblockung DEC1…DEC6, Spulen an DCC/DCCH, HF-Anpassung und Antenne an ANT). Für Bastler ein Modul nehmen (z. B. u-blox BMD-340). | |||