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。
scanLED1闪烁,而advLED1不闪烁(不可扫描广播包)。(未测试成功) - 可以烧录其他信号强度的程序对比距离。
- 连接测试(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断开连接且在几秒钟内也无法重新连接(
advLED1闪烁;scanLED1常亮)。 - 在两个DK上按Button4,将PHY切换到Coded。
scanLED1闪烁,而advLED1不闪烁(不可扫描广播包)。(未测试成功) - 可以烧录其他信号强度的程序对比距离。