SmartOS/TinyNet/微网设计方案.txt

64 lines
2.0 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

微网,用于无线传感器等精小型设备之间的组网。
特点:
1支持双向通讯有主从之分但允许从机主动向主机发送。
2超短指令格式使用1字节作为从机标识IDID由专门的主机网关统一分配
3获取标识ID之前使用4字节物理地址HD进行通讯此时为学习模式分为学习请求和学习应答两种指令
4通过学习获得ID和4字节密码之后使用1字节ID进行通讯此时为工作模式校验值附加密码参与运算
指令格式:
ID FUN DATA CRC16
目标标识ID广播地址为0
1字节功能码FUN第一位表示异常第二位表示响应
多字节数据DATA
CRC16为前面数据加上随机密码的校验码
1学习请求
从机广播用于寻找网关以获取ID和密码。从机位于学习模式时不停发送学习请求直到收到应答进入工作模式为止。
00 00 00 00 00 HD1 HD2 HD3 HD4 CRC16
首字节00表示学习模式
紧接着4字节目标物理地址4个0表示广播。
HD1~4表示本地物理地址。
CRC16为前面数据的校验码
2学习应答
主机应答从机的登入请求分配1字节ID和4字节随机密码。从机存好自己的ID和通讯密码。
00 HD1 HD2 HD3 HD4 MD1 MD2 MD3 MD4 ID PS1 PS2 PS3 PS4 CRC16
首字节00表示学习模式
4字节目标从机物理地址
4字节主机物理地址
1字节ID
4字节随机密码
CRC16为前面数据的校验码
3工作模式通用指令
ID FUN DATA CRC16
目标标识ID
1字节功能码FUN第一位表示异常第二位表示响应
多字节数据DATA
CRC16为前面数据加上随机密码的校验码
4诊断
诊断可实现类似于Ping的效果
请求0x08|2字节子功能|n*2字节数据功能码08
响应0x08|2字节子功能|n*2字节数据
5读线圈
请求0x01|2字节起始地址|2字节线圈数量(1~2000)
响应0x01|1字节字节计数|n字节线圈状态n=输出数量/8如果余数不为0n=n+1
6写线圈
请求0x05|2字节输出地址|2字节输出值0x0000/0xFF00
响应0x05|2字节输出地址|2字节输出值0x0000/0xFF00
请求0x0F|2字节起始地址|2字节输出数量1~1698|1字节字节计数|n字节输出值n=输出数量/8如果余数不为0n=n+1
响应0x0F|2字节起始地址|2字节输出数量
7读寄存器
请求0x03|2字节起始地址|2字节寄存器数量1~2000
响应0x03|1字节字节数|n*2字节寄存器值
8写寄存器
请求0x06|2字节寄存器地址|2字节寄存器值
响应0x06|2字节寄存器地址|2字节寄存器值
请求0x10|2字节起始地址|2字节寄存器数量1~123|1字节字节计数|n*2寄存器值
响应0x10|2字节起始地址|2字节寄存器数量