Difference between revisions of "radino40 DW1000"
(→Compile & Upload Examples) |
SStegbauer (Talk | contribs) (→radino40 DW1000 SDK) |
||
Line 83: | Line 83: | ||
#* source: https://ic42.de/BSP/radino40/20210210_radino40_DW1000_SDK_V0.1.0.zip | #* source: https://ic42.de/BSP/radino40/20210210_radino40_DW1000_SDK_V0.1.0.zip | ||
# extract ''radino40 DW1000 SDK'' | # extract ''radino40 DW1000 SDK'' | ||
+ | #* it is recommended to extract the ''radino40 DW1000 SDK'' in a short path | ||
====Compile & Upload Examples==== | ====Compile & Upload Examples==== |
Revision as of 14:19, 2 March 2021
Contents |
Hardware
The In-Circuit radino40 DW1000 combines Nordic Semiconductor 's nRF52840 microcontroller and Decawave's DW1000 UWB radio chip in a small form-factor EMC-compliant module.
The DW1000 is a fully integrated single chip Ultra Wideband (UWB) low-power low-cost transceiver IC compliant to IEEE802.15.4-2011.
It can be used in 2-way ranging or TDOA location systems to locate assets to a precision of 10 cm. It supports data transfer at rates up to 6.8 Mbps.
The Nordic Semiconductor's nRF52840 with 32-bit ARM® Cortex®-M4 CPU mit FPU, 64 MHz Clock, 1Mb flash, 256 MB RAM offers great performance and Bluetooth 5 functionality. The radino40 modules are pin-to-pin compatible.
With its powerful processor, the DW1000 UWB-chip and its small size, the radino40 DW1000 is the perfect base for RTLS-systems
Features:
- UWB Transeiver DW1000 by Decawave
- IEEE802.15.4-2011 UWB compliant
- Supports 6 RF bands from 3.5 GHz to 6.5 GHz
- Data rates of 110 kbps, 850 kbps, 6.8 Mbps
- IEEE802.15.4-2011 UWB compliant
- nRF521840 by Nordic Semiconductors
- 32-bit ARM® Cortex®-M4 CPU with FPU, 64 MHz
- 1 Mbyte Flash, 256 kbyte RAM
- Dynamic multiprotocol-transceiver:
- Bluetooth 5 / Bluetooth Low Energy
- IEEE 802.15.4/Thread
- ANT/ANT+
- Proprietary 2,4 GHz
- 4x4 channel pwm unit with EasyDMA
- 12 bit 200 ksps ADC
- 5x 32 bit timer with counter mode
- USB 2.0, I²C, QSPI, SPI, UART, NFC-A
- Qadrature decoder (QDEC)
- 3x RTC
- 32-bit ARM® Cortex®-M4 CPU with FPU, 64 MHz
- 37 GPIOs
Suitable application development boards
Board | Pictures | Description |
---|---|---|
radino40 DW1000 USB-Stick | USB-Stick with UWB-antenna, Bluetooth®-antenna, USB-A plug and 6-Pin TC2030 CTX Plug-of-NailsTM SWD connector for programming and debugging | |
radino40 DW1000 Breakout | application development board with 3.3V voltage regulator, USB micro connector, 6-Pin TC2030 TCX Plug-of-NailsTM SWD connector for programming and debugging, BMI160 low power IMU, LiPo/Li-Ion charger, 2 push buttons, 3 LEDs, UWB- and Bluetooth®- antenna. |
Software
Setup toolchain (Windows PC)
Cygwin setup
On Windows PC the use of cygwin console is recommended. The following steps describe how to setup cygwin for radino40 DW1000 projects.
- Download latest cygwin
- https://cygwin.com/install.html -> setup-x86_64.exe
- Install cygwin
- Enable the following additional packages within cygwin installation:
- make (located at devel->make)
- bash-completion (located at shells->bash-completion)
- Optional recommended packages:
- chere (located at shells)
- Configure chere to get context menu option Bash Prompt Here
- Run cygwin as Administrator
- Run the following command to configure chere:
$ chere -i -t mintty -s bash
- Enable the following additional packages within cygwin installation:
Driver setup
- Download radino40 DW1000 Bootloader driver
- https://ic42.de/Download/nrfconnect-driver-installer.zip (sha256sum: 8570dc48cd0c4a5c6de259340d54fb820c773d5b9e6855615be5b81ca5fa702e)
- Run nrfconnect-driver-installer.exe to install driver
radino40 DW1000 SDK
Installation
- Download latest radino40 DW1000 SDK
- extract radino40 DW1000 SDK
- it is recommended to extract the radino40 DW1000 SDK in a short path
Compile & Upload Examples
- software examples are located within the directory ic-bootloadable-examples, e.g.:
- blinky_delay
- dw1000_ping_pong_distcalc
- ...
- each software example contains hardware specific subfolders, e.g.:
- hardware_breakout
- for 901.550 radino40 Breakout Board
- hardware_quad_tag
- hardware_usb_stick
- ...
- hardware_breakout
- example: compile example blinky_delay for specific hardware hardware_breakout
- open cygwin
- navigate to radino40DW1000SDK\ic-bootloadables-examples\blinky_delay\hardware_breakout
$ cd radino40DW1000SDK\ic-bootloadables-examples\blinky_delay\hardware_breakout
- compile firmware
$ make clean && make -j 16
- generate dfu image for bootloader upload
$ make dfu_generate
- determine bootloader COM port
- connect radino40 DW1000 breakout board via USB to PC
- open device manager
- e.g. Windows 10: press Windows+X and select device manager
- press RST-button on radino40 Breakout Board to start bootloader
- the bootloader should be listed in the device manager as
nRF52 SDFU USB (COM3)
- (the COM port number can be different)
- upload firmware using the COM port number
$ make dfu_load NRF_UTIL_COM=COM3
- wait 3-4 seconds
- press RST-button on radino40 Breakout Board to start bootloader
- if upload was successfull the following message will appear:
Device programmed.
Firmware-Update via USB Bootloader
NOTE: The following section is NOT relevant when using the radino40 DW1000 SDK.
Required Software
The radino40 DW1000 is shipped programmed with a usb bootloader which can be used to upload new firmware.
The USB driver needs to be installed, it can be downloaded here
Also the nrf_util tool has to be downloaded from here (additional information regarding this tool can be found on nordicsemi.com or github.com)
The compiled firmware binaries are delivered within a compressed zip file dfu_container.zip.
Starting the bootloader
Enable the bootloader on the radino40 DW1000 via low on the reset pin, e.g. by pressing the RESET-Button. The radino40 DW1000 stays in bootloader mode for 2 seconds. After that the Firmware is running.
The bootloader will be recognized as a serial COM-Port, e.g. COM4.
Upload firmware with nrfutil
On a windows PC open a Command window (cmd.exe) and navigate to the folder that contains the firmware file dfu_container.zip.
Replace COM4 with the COM-Port that your PC assigned to your device.
command to flash:
nrfutil dfu usb-serial -pkg <dfu_container.zip> -p <COM Port: COM4> -b 115200
example:
nrfutil dfu usb-serial -pkg dfu_container.zip -p COM4 -b 115200
Start the nrfutil.
The nrfutil now waits up to 10 seconds for the radino40 DW1000 to enter the bootloader.
If the nrfutil exits successful the radino40 DW1000 is programmed.