Nordic nRF52840 使用DK测试通信距离
Nordic DevZone:Testing Long Range (Coded PHY) with Nordic solution (It Simply Works)
一、准备工作
- nRF52840 DK PCA10056 * 2
- Hex文件:不连接/连接测试_信号强度.hex
main.c
里CONNECT_TO_ADV_REPORT
为0
时测试不连接时的广播和扫描的距离,为1
时测试连接的距离;RADIO_TX_POWER
设置信号强度,0
表示0dBm。
可直接使用现有Hex文件或者重新根据需求编译工程。 - 安装nRF Connect For PC
使用nRF Connect APPS里的Programmer给DK烧录SoftDevice和Application。
二、测试方法
- 程序说明
外设 | 说明 |
---|---|
LED1 | 常亮:广播或者扫描;闪烁:收到scan request或者adv report |
LED2 | 常亮:连接 |
LED3 | 常亮:使用1M PHY连接 |
LED4 | 常亮:使用Coded PHY连接 |
BUTTON1 | 断连,使用可连接广播 |
BUTTON2 | 断连,使用不可连接广播 |
BUTTON3 | 复位后首次按键设置为Peripheral;其他时候设置PHY为1M |
BUTTON4 | 复位后首次按键设置为Central;其他时候设置PHY为Coded |
- 不连接测试(1M / Coded PHY)
- 烧录
CONNECT_TO_ADV_REPORT
为0
的程序。 - DK1设置为
adv
:按复位键,按两次Button3,广播间隔为50ms,PHY为1M;LED1闪烁(收到任何scan request)。 - DK2设置为
scan
:按复位键,按一次Button4,扫描间隔为100ms,PHY为1M;LED1闪烁(收到设备名称为sdk_config.h配置的DEVICE_NAME的adv数据包)。 -
adv
会收到<info> app: Received Scan request packet with RSSI -59 from from Device "Nordic_ATT_MTU"
。 -
scan
会收到<info> app: Received ADV report packet with RSSI -29 from from Device "Nordic_ATT_MTU"
。 - 距离判断方法:将两个DK天线正面相对,逐步在视距上拉远距离,直到
scan
收不到adv
的数据包,scan
的LED1不再闪烁(adv
如果被其他设备扫描的话LED1会闪烁)。 - 在两个DK上按Button4,将PHY切换到Coded。
scan
LED1闪烁,而adv
LED1不闪烁(不可扫描广播包)。(未测试成功) - 可以烧录其他信号强度的程序对比距离。
- 连接测试(1M / Coded PHY)
- 烧录
CONNECT_TO_ADV_REPORT
为1
的程序。 - DK1设置为
adv
:按复位键,按两次Button3,广播间隔为50ms,PHY为1M;LED1闪烁(收到任何scan request)。 - DK2设置为
scan
:按复位键,按一次Button4,扫描间隔为100ms,PHY为1M;LED1常亮;连接adv
后,两个DK的LED2和LED3常亮。 - 距离判断方法:将两个DK天线正面相对,逐步在视距上拉远距离,直到两个DK断开连接且在几秒钟内也无法重新连接(
adv
LED1闪烁;scan
LED1常亮)。 - 在两个DK上按Button4,将PHY切换到Coded。
scan
LED1闪烁,而adv
LED1不闪烁(不可扫描广播包)。(未测试成功) - 可以烧录其他信号强度的程序对比距离。