Skip to content

qqice/Work-on-DWM3001CDK

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DWM3001CDK适配进度

可用的SDK:

1.qqice/Adafruit_nRF52_Arduino

优点:

  • 社区维护活跃

  • 支持BLE

  • (理论上)支持NFC

  • 支持从NRF52833的USB口通过DFU烧入程序

缺点:

  • 需要额外刷入单独的bootloader

  • 编写代码时需要打开串口,否则将无法从NRF52833的USB口烧入程序(如果您遇到了这个问题,可以清空flash后再次刷入一次bootloader即可恢复)

2.qqice/arduino-nRF5

优点:

  • 无需刷入bootloader,开箱即用

  • 理论上支持BLE,但需要额外刷入SoftDevice

缺点:

  • 暂不支持从NRF52833的USB口通过DFU烧入程序

  • 暂不支持NRF52833的USB串口功能,需要外接USB转TTL工具读取串口

功能支持

功能 Adafruit_nRF52_Arduino支持状态 arduino-nRF5支持状态 代码示例
GPIO RGB_Blink
UART SerialPassthrough
I2C IMU_BasicReadings
SPI ✅(使用外接SPI屏幕测试成功) ✅(使用外接SPI屏幕测试成功) 暂无
BLE ✅(需使用adafruit版本的SDK) 任意一个BLE示例
NFC ❓(手头没有NFC天线,暂时测不起来)
UWB 参考“外设支持”中DW3110

外设支持

外设 协议 状态 代码示例
LIS2DH12TR I2C SparkFun_LIS2DH12_Arduino_Library IMU_BasicReadings
DW3110 SPI qqice/UWB-DW3000-NRF52 见仓库examples

引脚映射列表(基于Adafruit版本的SDK)

引脚 功能 备注
PIN_BUTTON_BOTTOM 下面的按钮 上面的那个是重置按钮
LED_RED_TOP 顶部红色LED 通过LED_BUILTIN调用
LED_RED_BOT 底部红色LED
LED_GREEN 绿色LED
LED_BLUE 蓝色LED
PIN_SERIAL1_RX 硬件串口RX 通过Serial1调用
PIN_SERIAL1_TX 硬件串口TX 通过Serial1调用
ACC_SDA 内置加速度计SDA 通过Wire1调用
ACC_SCL 内置加速度计SCL 通过Wire1调用
PIN_ACC_IRQ 内置加速度计中断
SDA 外部I2C SDA 通过Wire调用
SCL 外部I2C SCL 通过Wire调用
SS 外部SPI 片选 通过SPI调用
MOSI 外部SPI MOSI 通过SPI调用
MISO 外部SPI MISO 通过SPI调用
SCK 外部SPI SCK 通过SPI调用
SS1/DW_CS 内置DW3110(UWB芯片)SPI 片选
MOSI1/DW_MOSI 内置DW3110(UWB芯片)SPI MOSI
MISO1/DW_MISO 内置DW3110(UWB芯片)SPI MISO
SCK1/DW_SCK 内置DW3110(UWB芯片)SPI SCK
DW_RST 内置DW3110(UWB芯片)复位
DW_IRQ 内置DW3110(UWB芯片)中断

使用教程

电脑端准备工作:

1. 安装Arduino IDE

2. 安装Adafruit_nRF52_Arduino或arduino-nRF5

安装流程为:

2.1. 打开Arduino IDE

2.2. 从开发板管理器中安装官方的Adafruit_nRF52_Arduino或arduino-nRF5

请观察以下截图,确保下载了正确的SDK!!! Adafruit_nRF52_Arduino https://adafruit.github.io/arduino-board-index/package_adafruit_index.json 安装Adafruit_nRF52_Arduino arduino-nRF5 https://sandeepmistry.github.io/arduino-nRF5/package_nRF5_boards_index.json 安装arduino-nRF5

2.3. 从我的github仓库中下载修改后的Adafruit_nRF52_Arduino或arduino-nRF5

2.4. 将下载的文件解压覆盖到Arduino的对应文件夹中

2.5. 重启Arduino IDE

3. 安装额外的外设库

安装流程为:

3.1. 打开Arduino IDE

3.2. 去上文提及支持的外设库的github仓库中下载zip文件

3.3. 在如图所示的地方添加zip文件

添加库

3.4. 重启Arduino IDE

4.安装JFlashLite,用于烧录bootloader

开发板端准备工作:

1. 烧录bootloader(仅Adafruit_nRF52_Arduino需要)

烧录流程为:

1.1. 将DWM3001CDK的JLink口连接到电脑(如图所示)

Jlink口

1.2. 打开JFlashLite

1.3. 选择NRF52833_XXAA,点击OK

打开JFlashLite

1.4. 下载bootloader

1.5. 参照图片中的设置选择刚刚下载的bootloader,点击Program Device

选择bootloader

1.6. 等待烧录完成,拔下JLink口,将DWM3001CDK重新通过NRF USB口接入电脑

1.7. Arduino IDE中识别到新的设备,选择Qorvo DWM3001C Module Development Kit

选择板卡

1.8. 大功告成!

疑难解答

Q:参照上述步骤烧录完bootloader后,在Arduino IDE中烧录完一个程序以后就识别不到设备了,怎么办? A:这是因为你烧录的程序没有打开串口。Adafruit_nRF52_Arduino库将nRF的USB口做成了一个额外的串口,通过这个串口,Arduino IDE能够识别设备并将设备置入下载模式并烧录程序。如果你烧入的程序没有打开串口,再次启动时USB口就会封闭,Arduino IDE也将无法识别/下载。解决方法是清空flash,重新烧写bootloader。具体操作为:在烧录bootloader步骤中,执行到1.5时,先点击Erase Chip,然后再次烧录bootloader即可。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages