P2P模式协议使用说明¶
1 模块概述¶
1.1 特点简介¶
ChirpLAN模块是一个支持P2P(点对点)通信协议、 网关协议的半双工无线通信模块, 工作的频段为: 470-510MHz,模块内置功能完整的 AT 指令, 使用串口进行数据收发, 降低了无线应用的门槛, 可实现一对一或者一对多的通信。模块采用 SMT 封装, 可以满足多种应用中的对空间尺寸的要求,本说明书主要介绍模块对P2P(点对点)协议通信的说明 。
1.2 模块特性¶
使用 AT 指令进行配置及保存,方便开发及调试
支持透传模式进行数据传输
透传模式下支持对数据流进行控制(AUX)
串口支持 9600/19200/38400/57600/115200bps等典型波特率
支持多种无线速率
内置无线电唤醒(间隔性接收), 大大增加电池待机时间
内置等待信道空闲发射, 有效降低同频信号碰撞的几率
可以实现定点传输, 广播等传输方式
1.3 典型应用¶
高级无线抄表架构(水表、 电表、 气表)
超远距离数据通讯
智能家居系统
无线传感器网络
工业自动化数据采集
1.4 模块基本参数¶
分类 |
参数 |
取值 |
---|---|---|
无线参数 |
工作频段 |
398-510MHz |
无线参数 |
发射功率 |
不带PA:22dBm / 带PA:32dBm(峰值) |
无线参数 |
接收灵敏度 |
-140dBm |
无线参数 |
传输距离 |
(1)>300米 @SF7, BW250khz, TX power:22dBm |
无线参数 |
天线选项 |
外接 Chirp 天线(焊盘或者 IPEX) |
硬件参数 |
数据接口 |
波特率:115200(默认) |
硬件参数 |
工作电压 |
不带 PA:DC3.3V / 带PA:DC5.0V |
硬件参数 |
工作电流 |
Mode A : |
硬件参数 |
工作温度 |
-40℃ ~ +85℃ |
硬件参数 |
存储温度 |
-45℃ ~ +90℃ |
硬件参数 |
封装接口 |
SMT表贴 |
1.5 模块引脚说明¶
引脚名称 |
IO 类型 |
引脚描述 |
---|---|---|
VCC |
电源 |
供电引脚 |
GND |
电源 |
参考地 |
ANT |
模拟 |
射频信号输入/输出端口, ANT 端口预留匹配电路, |
AUX |
输出 |
模块状态指示引脚: |
UART-RX |
输入 |
TTL 串口接收引脚 |
UART-TX |
输出 |
TTL 串口发送引脚 |
SETA |
输入 |
AT 与透传切换, 内部上拉, |
SETB |
输入 |
控制模块休眠, 内部上拉 |
注意: 如果 SETA, SETB悬空,模块进入AT指令模式,这种机制是为了方便用户进行AT指令测试。
2 产品功能介绍¶
ChirpLAN P2P模块支持透明传输模式、定点传输模式和AT指令模式,下图为P2P模块的功能整体框图,可帮助对产品有一个整体的认识。
2.1 工作模式¶
本章主要介绍ChirpLAN模块的AT指令模式、P2P(点对点)传输模式,P2P(点对点)传输模式又分为透明传输和定点传输模式。
透明传输模式:
名 称 |
说 明 |
条 件 |
---|---|---|
AT 指令模式 |
用户可用AT 指令对模块进行参数配置 |
SETA=1 |
透明传输(NORMAL) |
SETB为1时,支持全速运行模式,模块处于NORMAL状态, |
SETA=0 |
透明传输(LPMODE) |
SETB为0时,支持空中唤醒和低功耗模式,模块处于LPMODE状态: |
SETA=0 |
定点传输模式:
名 称 |
说 明 |
条 件 |
---|---|---|
AT 指令模式 |
用户可用AT 指令对模块进行参数配置 |
SETA=1 |
定点传输(NORMAL) |
与透明传输的全速运行类似,只是在数据包前加了两个字节的地址信息(ADDR0,ADDR1), |
SETA=0 |
定点传输(LPMODE) |
与透明传输的低功耗模式类似,也只是在数据包前加了两个字节的地址信息(ADDR0,ADDR1)。 |
SETA=0 |
注:模式切换需要保证模块处于空闲状态, 因为模式切换过程中会清空缓冲区
2.1.1 AT 指令模式¶
AT 指令模式主要实现用户通过串口发送命令设置模组相关的参数。 在 AT 指令模式下,模组串口用于接收 AT 命令,用户可以通过串口发送 AT 命令给模组,用于查询和设置模组的 UART、Chirp等相关参数。 详细的 AT 指令介绍请参考“3.3 AT 指令格式”
2.1.2 P2P透明传输模式¶
透明传输协议即数据的传输过程不影响数据的内容, 所发即所收。 透明传输的优势在于可实现两个模块即插即用, 无需其他操作。
2.1.2.1 全速运行模式¶
节点配置为点对点透明传输协议后,通讯各节点需满足 3 个条件:
模组信道(freq)、速率(rate,cr,sf,bw)参数一致
模组crc校验参数一致
模组加密参数一致
指令 |
数值 |
---|---|
AT+CH |
设置/查询通信信道 |
AT+RATE |
设置/查询通信速率 |
AT+ENC |
设置/查询加密开关 |
AT+KEY |
设置/查询加密密钥 |
[ ] 上位机软件设置方法如下图
注:全速运行模式测试时,要保持SETA,SETB为高电平,由指令进行工作模式切换。
[ ] 打开两个上位机界面分别连接至两个模块进行透传测试,一个上位机发送“1234”,另一个上位机发送“4321”,测试效果如下:
2.1.2.2 空中唤醒模式¶
节点配置为点对点透明传输协议后,通讯各节点需满足 以下几个条件:
模组信道(freq)、速率(rate,cr,sf,bw)参数一致
模组crc校验一致
模组加密参数一致
发送端要配置与接收端匹配的前导码时长
指令 |
数值 |
---|---|
AT+CH |
设置/查询通信信道 |
AT+RATE |
设置/查询通信速率 |
AT+ENC |
设置/查询加密开关 |
AT+KEY |
设置/查询加密密钥 |
AT+RXGAS |
设置/查询唤醒时间间隔,此模式下RXGAS要设置为100~5000ms的非零数值(例:AT+RXGAS=5000\r\n) |
[ ] 上位机软件设置方法如下图,将唤醒周期设置为5000ms(AT+RXGAS=5000\r\n),模块在P2P模式时会每隔5000ms唤醒一次检测CAD信号,
若没有检测到CAD信号,模块会再次休眠5000ms;
若检测到CAD信号,模块会将收取整个RF数据包,再将数据包通过串口发送出去,之后再次进入休眠。
上位机设置完成后,将SETA、SETB引脚拉低,即可进入空中唤醒模式。在此模式下模块由于间歇性进入低功耗模式,所以不能与上位机工具正常通信;若要让模块再次与上位机正常通信,则要将SETA、SETB引脚拉高,唤醒模块后才能与上位机正常通信。
2.1.2.3 低功耗模式¶
节点配置为点对点透明传输协议后,通讯各节点需满足 3 个条件:
模组信道(freq)、速率(rate,cr,sf,bw)参数一致
模组crc校验参数一致
模组加密参数一致
指令 |
数值 |
---|---|
AT+CH |
设置/查询通信信道 |
AT+RATE |
设置/查询通信速率 |
AT+ENC |
设置/查询加密开关 |
AT+KEY |
设置/查询加密密钥 |
AT+RXGAS |
设置/查询唤醒时间间隔,此模式下RXGAS须设置为0(AT+RXGAS=0\r\n) |
[ ] 上位机软件设置方法如下图,将唤醒周期设置为0ms(AT+RXGAS=0\r\n),表示一直休眠,直到SETB拉高唤醒模块。
上位机设置完成后,将SETA、SETB引脚拉低,即可进入休眠模式。在休眠模式下模块由于进入低功耗模式,所以不能与上位机工具正常通信;若要再想与上位机进行连接,则需将SETB引脚拉高,唤醒模块后才能与上位机正常通信。
2.1.3 P2P定点传输模式¶
定点传输协议在透明传输的基础上将发送数据的前 2 字节作为地址0和地址1, 发送时模块改变目标地址和 信道, 发送后恢复原有设置。 定点传输协议优势在于数据发送时可以灵活的改变目标地址和信道从而实现灵活的改变目标模块。
如 :
设备 A B 地址为 100,100 能通信 (速率,频率相同)
设备 C 地址为 101,100 不能通讯
设备 E 地址为 255,100 不能通讯
一个模块触发发送,另外一个模块接收
注:
● 模块 A 与模块 B 地址相同、且频率、无线速率相同的两个模块(非串口波特率)
● 点对点,地址不一样的模块无法收到数据,用于一对一通讯
2.1.3.1 全速运行模式¶
节点配置为点对点定点传输协议后,通讯各节点需满足 3 个条件:
模组信道(freq)、速率(rate,cr,sf,bw)参数一致
模组crc校验参数一致
模组加密参数一致
指令 |
数值 |
---|---|
AT+WMODE |
设置/查询工作模式 |
AT+PTC |
设置/查询透传模式 |
AT+CH |
设置/查询通信信道 |
AT+RATE |
设置/查询通信速率 |
AT+ENC |
设置/查询加密开关 |
AT+KEY |
设置/查询加密密钥 |
[ ] 上位机软件设置方法如下图
注:全速运行模式测试时,要保持SETA,SETB为高电平,由指令进行工作模式切换。
[ ] 打开两个上位机界面分别连接至两个模块进行透传测试,一个上位机发送“1234”,另一个上位机发送“4321”,测试效果如下:
2.1.3.2 空中唤醒模式¶
节点配置为点对点透明传输协议后,通讯各节点需满足 3 个条件:
模组信道(freq)、速率(rate,cr,sf,bw)参数一致
模组crc校验参数一致
模组加密参数一致
指令 |
数值 |
---|---|
AT+CH |
设置/查询通信信道 |
AT+RATE |
设置/查询通信速率 |
AT+ENC |
设置/查询加密开关 |
AT+KEY |
设置/查询加密密钥 |
AT+RXGAS |
设置/查询唤醒时间间隔,此模式下RXGAS要设置为100~5000ms的非零时间 |
[ ] 上位机软件设置方法如下图,将唤醒周期设置为4000ms(AT+RXGAS=4000\r\n),模块在P2P模式时会每隔5000ms唤醒一次检测CAD信号,
若没有检测到CAD信号,模块会再次休眠4000ms;
若检测到CAD信号,模块会将收取整个RF数据包,再将数据包通过串口发送出去,之后再次进入休眠。
上位机设置完成后,将SETA、SETB引脚拉低,即可进入空中唤醒模式。在此模式下模块由于间歇性进入低功耗模式,所以不能与上位机工具正常通信;若要让模块再次与上位机正常通信,则要将SETA、SETB引脚拉高,唤醒模块后才能与上位机正常通信。
2.1.3.3 低功耗模式¶
节点配置为点对点透明传输协议后,通讯各节点需满足 3 个条件:
模组信道(freq)、速率(rate,cr,sf,bw)参数一致
模组crc校验参数一致
模组加密参数一致
指令 |
数值 |
---|---|
AT+CH |
设置/查询通信信道 |
AT+RATE |
设置/查询通信速率 |
AT+ENC |
设置/查询加密开关 |
AT+KEY |
设置/查询加密密钥 |
AT+RXGAS |
设置/查询唤醒时间间隔,此模式下RXGAS须设置为0(AT+RXGAS=0\r\n) |
[ ] 上位机软件设置方法如下图,将唤醒周期设置为0ms(AT+RXGAS=0\r\n),表示一直休眠,直到有IO口唤醒。
上位机设置完成后,将SETA、SETB引脚拉低,即可进入休眠模式。在休眠模式下模块由于进入低功耗模式,所以不能与上位机工具正常通信;若要再想与上位机进行连接,则需将SETB引脚拉高,唤醒模块后才能与上位机正常通信。
2.2 AUX时序说明¶
模块初始化AUX逻辑:
模式上电后AUX为高电平表示模块正在初始化,持续时间大约 30ms,初始化完成后,AUX变以低电平,表示模式可以正常通信了。
模块休眠和唤醒AUX逻辑:
模块休眠期间,AUX为高电平,被RTC,SETA,SETB等唤醒后,AUX不会立即变低,待模块工作状态恢复之后AUX才会变低,表示模式进入
正常工作状态,可以正常收发数据了。
透传下接收到串口数据的AUX逻辑:
当串口接收到第一个字节后,AUX 变成高电平,表示 FIFO 非空进入 TX 状态,等到RF将串口数据全部发送完成后, AUX变成低电平,
表示可以再次接收下一包串口数据。
串口数据输出指示( 用于唤醒休眠的外部 MCU)
AT+AUXT=10,0
2.4 固件升级¶
固件升级步骤
模块断电状态下,保持SETA,SETB引脚浮空,将uart_tx,uart_rx,gnd引脚连接至电脑(一般要用到usb转ttl模块)
模块上电,打开模块设置软件,之后依次打开串口、点击进入配置状态、点击固件升级、选择固件升级文件(*.bin)等,具体操作如下图。
3 产品配置¶
3.1 配置工具¶
产品配有通用设置软件(AT 指令设置软件)以及配套设置软件,支持参数设置,可简化用户的操作,推荐使用配套设置软件来配置参数。
3.1.1 配套设置软件¶
该配套设置软件适用于ChirpLAN系列模组的参数读取以及配置。下图中序号依次对应以下步骤:
步骤说明:
在串口设置界面中,将波特率、校验位、数据位、停止位设置为节点对应参数,节点串口默认参数为 115200、NONE、8、1,点击打开串口按钮
点击进入配置状态按钮,节点回复+OK,即节点进入 AT 指令模式
按读取参数按钮,读取模块参数信息
选择点定点协议,再选择定点或透传功能;再设置其它参数(信道/速率/加密等参数)
参数更改之后点击设置参数按钮,软件会自动设置模块参数,设置完毕后,模块自动保存参数
点击退出配置状态按钮,模块退出配置模式进入P2P工作模式
3.2 配置指令介绍¶
配置指令即 AT 指令,是指在 AT 指令模式下用户通过 UART 与模组进行命令传递的指令集,后面将详细讲解 AT 指令的使用格式。
上电启动成功后,可以通过 UART 对模组进行设置。
模组的缺省 UART 口参数为: 波特率 115200、无校验、8 位数据位、1 位停止位。
从非 AT 命令模式下切换到 AT 命令模式,若用配套设置软件点击进入配置模式即可进入,若手动进入 AT 命令模式需要以下两个步骤:
[ ] 在 UART 上输入“+++”,模组在收到“+++”后会返回一个确认码“a”;
[ ] 3 秒内在 UART 上输入确认码“a”,模组收到确认码后,返回“+OK”确认,进入AT命令模式,如下图所示;
指令切换工作模式
AT模式与P2P模式的指令切换状态图如下图:
SETA引脚切换工作模式
SETA为高时进入AT工作模式,SETA为低时进入P2P工作模式,具体如下图:
注:指令切换与引脚SETA切换的优先级相同
用户用上位机工具配置测试时,建议用指令进行工作模式切换
用户在用MCU与模块连接时,建议用引脚切换的方式进行工作模式切换
3.3 AT 指令格式¶
发送命令格式:以回车<CR>
、换行<LF>
或者回车换行<CR><LF>
结尾,具体如下表所示。
类型 |
指令格式 |
说明 |
举例 |
---|---|---|---|
0 |
|
查询参数 |
|
1 |
|
查询参数 |
|
2 |
|
设置参数 |
|
模组回复格式(关闭回显):
设置参数:<CR><LF>OK<CR><LF>
查询参数:<CR><LF> +CMD=PARA<CR><LF>OK<CR><LF>
CMD:命令字
PARA:参数
表 AT返回代码说明
返回代码 |
返回说明 |
---|---|
OK |
响应成功 |
ERR CHECK ARGS FORMAT FAILED! |
无效的命令格式 |
ERR CMD MATCH FAILED! |
无效的命令 |
ERR PARSE ARGS FAILED! |
无效的参数 |
ERROR |
其它错误 |
3.4 AT 指令集¶
表 AT 指令列表(以下所有指令后默认带<CR><LF>
)
命令 |
描 述 |
命令格式 |
可保存 (Y/N) |
---|---|---|---|
AT |
AT测试指令,模块接收到AT命令后,返回OK |
发: |
No |
AT+ENTM |
进入退出 AT 命令,切换到设定的工作模式(AT+WMODE设置) |
发: |
No |
AT+E |
AT 命令回显设置: |
发: |
No |
AT+Z |
重启模块,模块内MCU执行软复位动作,所有外设重新初始化。 |
发: |
No |
AT+SAVE |
保存当前设置为默认设置: |
发: |
No |
AT+DEFAULT |
恢复默认设置: |
发: |
No |
AT+VER |
查询设备固件版本号,格式:x.x.x |
发: |
No |
AT+UART |
设置/查询串口参数: |
发: |
Yes |
AT+UARTINT |
设置/查询串口打包间隔: |
发: |
Yes |
AT+PWR |
设置/查询发射功率: |
发: |
Yes |
AT+CH |
设置/查询通信信道: |
发: |
Yes |
AT+RATE |
设置/查询RF通信速率: |
发: |
Yes |
AT+SF |
设置/查询SF: |
发: |
Yes |
AT+BW |
设置/查询BW: |
发: |
Yes |
AT+CR |
设置/查询CR |
发: |
Yes |
AT+NID |
设置/查询模组ID |
Yes |
|
AT+WMODE |
设置模块工作模式: |
发: |
Yes |
AT+RFADDR |
设置/查询模块地址(作为定点透传地址): |
发: |
Yes |
AT+AUXT |
设置/查询 AUX 输出时间: |
发: |
Yes |
AT+PREAMABLE |
设置/查询模块的发送前导码时间: |
||
AT+RXGAS |
设置/查询模组的唤醒间隔: |
发: |
|
AT+ENC |
设置/查询通信加密开关: |
发: |
Yes |
AT+KEY |
设置/查询加密密钥: |
发: |
Yes |