zoukankan      html  css  js  c++  java
  • 协议

     

    1、 目录

    1. 版本记录 2

    2. 目录 3

    3. 软件传输协议描述 5

    3.1. 协议特征 5

    3.1.1. 命令帧 5

    3.1.2. 应答帧 5

    3.1.2.1. 正常应答帧格式 5

    3.1.2.2. 状态码表 6

    3.1.2.3. 通信短应答握手帧 7

    3.1.3. 命令码表 7

    3.1.3.1. Mid_CmdKind 2Bytes 7

    3.1.3.2. Low_CmdKind 2Bytes 8

    3.1.3.2.1. 绘画板->数位板 8

    3.1.3.2.2. 外设模块->2.4G控制 8

    3.1.3.2.3. IAP流程->通用 9

    3.1.3.2.4. 绘画板->数位屏 9

    3.1.4. 器件地址约束 9

    3.2. 功能实现流程图 11

    3.2.1. 设备端在线IAP升级流程图 11

    3.3. 命令实现 12

    3.3.1. (0x0000_0101_xxxx) 绘画板->数位板->A610 12

    3.3.1.1. (0x0000_0101_01xx) 设置类 12

    3.3.1.1.1. Cmd_0x0000_0101_0101 设置A610的关键算法参数 12

    3.3.1.2. (0x0000_0101_02xx) 读取类 13

    3.3.1.2.1. Cmd_0x0000_0101_0201 读取A610的关键算法参数 13

    3.3.1.3. (0x0000_0101_03xx) 测试接口类 14

    3.3.1.3.1. Cmd_0x0000_0101_0301 板载Shell接口透传测试接口 14

    3.3.2. (0x0000_0201_xxxx) 外设模块->2.4G控制 15

    3.3.2.1. (0x0000_0201_01xx) 设置类 15

    3.3.2.1.1. Cmd_0x0000_0201_0101 设置RF主从模式 15

    3.3.2.1.2. Cmd_0x0000_0201_0102 设置RF地址 15

    3.3.2.1.3. Cmd_0x0000_0201_0103 设置RF工作信道 15

    3.3.2.1.4. Cmd_0x0000_0201_0104 设置RF功率 16

    3.3.2.1.5. Cmd_0x0000_0201_0105 设置RF睡眠 16

    3.3.2.1.6. Cmd_0x0000_0201_0106 设置RF复位 16

    3.3.2.1.7. Cmd_0x0000_0201_0107 设置RF测试模式 16

    3.3.2.1.8. Cmd_0x0000_0201_0108 设置RF透传使能 17

    3.3.2.2. (0x0000_0201_02xx) 读取类 18

    3.3.2.2.1. Cmd_0x0000_0201_0201 获取RF主从模式 18

    3.3.2.2.2. Cmd_0x0000_0201_0202 获取RF地址 18

    3.3.2.2.3. Cmd_0x0000_0201_0203 获取RF工作信道 19

    3.3.2.2.4. Cmd_0x0000_0201_0204 获取RF功率 19

    3.3.2.2.5. Cmd_0x0000_0201_0205 获取RF连接状态 20

    3.3.2.2.6. Cmd_0x0000_0201_0206 获取RF信号强度 20

    3.3.2.2.7. Cmd_0x0000_0201_0207 获取RF固件版本 21

    3.3.2.3. (0x0000_0201_03xx) 主动上报类 22

    3.3.2.3.1. Cmd_0x0000_0201_0301 RF模块向外部MCU上报连接状态 22

    3.3.3. (0x0000_0301_xxxx) IAP流程->通用 23

    3.3.3.1. (0x0000_0301_01xx) 设备端IAP 23

    3.3.3.1.1. Cmd_0x0000_0301_0101 获取设备运行区间参数 23

    3.3.3.1.2. Cmd_0x0000_0301_0102 设置设备运行区间参数 23

    3.3.3.1.3. Cmd_0x0000_0301_0103 获取设备预留Flash大小 23

    3.3.3.1.4. Cmd_0x0000_0301_0104 向设备传输版本文件 24

    3.3.3.1.5. Cmd_0x0000_0301_0105 向设备传输版本文件属性参数 24

    3.3.3.1.6. Cmd_0x0000_0301_0106 设置待升级下位机固件对象 25

    3.3.3.1.7. Cmd_0x0000_0301_0107 获取待升级下位机对象Boot区支持的数据包长度 25

    3. 软件传输协议描述

    3.1. 协议特征

    本协议为应用层协议,由于通信具有双向性,因此要求通信总线为双向总线(全双工或者半双工),可以是无线通信,也可以是有线通信(如I2CUARTSPIUSB或者其他)。通信双方地位平等,互为主从。

    数据传输格式:大端模式(高字节在前,低字节在后;高位在前,低位在后)。

    1.1.1. 命令帧

    下表为命令包结构,命令包包括了设置命令以及读取命令。对于设置命令来说,设置列表就是各种具体的设置值,其收到的返回包则是接收方对本次设置的结果汇报;对于读取命令来说,其受到的返回包则是具体带读取的数据。

    引导码

    本机地址

    对方地址

    会话ID

    数据长度

    命令码

    设置列表

    校验

    1 Byte

    1Byte

    1Byte

    2Bytes

    2Bytes

    6Bytes

    N Bytes

    2Bytes

    1) 引导码:同步并区分不同的数据包:

    • 0x89:命令帧
    • 0x76:应答帧

    2) 本机地址:用于通知对方本机地址,以便于对方知悉发送主机类型;这个适用于一对多的通信场合,详见器件地址约束”章节

    3) 对方地址:用于指定对方地址,以实现向特定对象发送数据(如果该地址为广播地址,则所有接收方都可以接收到数据);这个适用于多对一的通信场合,详见器件地址约束”章节

    4) 会话ID:会话ID用于对某条命令或者某个事件的身份标识,或者说是事务的流水号。接收方将所有接收到的会话ID缓存进队列中,然后逐个进行分析执行

    5) 数据长度:命令码 + 设置列表

    6) 命令码:代表设置列表所属类型:

    • 2Bytes:保留,默认为0x00
    • 2Bytes:表示业务方向与业务细则
    • 2Bytes:表示子类功能类别
    • 2个字节一共可以形成256*256=65536个具体功能。4个字节一共可以形成256*256*256*256=42_9496_7296种命令,也就是大约43亿条命令,也就是对应了43亿个功能。如果再加上2个字节,范围就更大。而实际上一家公司无论产品线有多庞大,所有产品的功能总和是绝不可能有这么多的。此处增加2个字节的预留空间,更多的是从命令层次的角度来考虑。

    7) 设置列表:代表命令码对应的具体参数列表

    8) 校验:采用CRC16的校验方式

    1.1.2. 应答帧

    3.1.1.1. 正常应答帧格式

    引导码

    本机地址

    对方地址

    会话ID

    数据长度

    命令码

    执行状态

    设置列表

    校验

    1 Byte

    1Byte

    1Byte

    2Bytes

    2Bytes

    6Bytes

    2Bytes

    N Bytes

    2Bytes

    1) 引导码:同步并区分不同的数据包:

    • 0x89:命令帧
    • 0x76:应答帧

    2) 本机地址:用于通知对方本机地址,以便于对方知悉发送主机类型;这个适用于一对多的通信场合,详见器件地址约束”章节

    3) 对方地址:用于指定对方地址,以实现向特定对象发送数据(如果该地址为广播地址,则所有接收方都可以接收到数据);这个适用于多对一的通信场合,详见器件地址约束”章节

    4) 会话ID:会话ID用于对某条命令或者某个事件的身份标识,或者说是事务的流水号。接收方将所有接收到的会话ID缓存进队列中,然后逐个进行分析执行

    5) 数据长度:命令码 + 执行状态 + 设置列表

    6) 命令码:代表设置列表所属类型:

    • 2Bytes:保留,默认为0x00
    • 2Bytes:表示业务方向与业务细则
    • 2Bytes:表示子类功能类别
    • 2个字节一共可以形成256*256=65536个具体功能。4个字节一共可以形成256*256*256*256=42_9496_7296种命令,也就是大约43亿条命令,也就是对应了43亿个功能。如果再加上2个字节,范围就更大。而实际上一家公司无论产品线有多庞大,所有产品的功能总和是绝不可能有这么多的。此处增加2个字节的预留空间,更多的是从命令层次的角度来考虑。

    7) 执行状态:见3.1.2.2小节列表

    8) 设置列表:代表命令码对应的具体参数列表

    9) 校验:采用CRC16的校验方式

    10) 【特别说明】:

    3.1.1.2. 状态码表

    状态码

    内容解析

    0x00

    接收方正确接收并执行操作

    0x01

    包头接收错误

    0x02

    本机地址与上一次接收不一致错误

    0x03

    对方地址与接收方的实际地址不一致错误

    0x04

    同一会话出现不同的ID或者不同会话之间的ID产生冲突(即ID一致)错误

    0x05

    数据长度错误

    0x06

    命令代码错误

    0x07

    设置列表字节长度超过最大值错误

    0x08

    校验出错

    0x09

    设置列表参数错误

    0x0A

    接收超时

    0x0B

    执行条件不满足

    0x0C

    设备执行失败

    3.1.1.3. 通信短应答握手帧

    引导码

    本机地址

    对方地址

    会话ID

    校验

    1 Byte

    1Byte

    1Byte

    2Bytes

    2Bytes

    1) 引导码:同步并区分不同的数据包:

    • 0xAC:命令帧

    2) 本机地址:用于通知对方本机地址,以便于对方知悉发送主机类型;这个适用于一对多的通信场合,详见器件地址约束”章节

    3) 对方地址:用于指定对方地址,以实现向特定对象发送数据(如果该地址为广播地址,则所有接收方都可以接收到数据);这个适用于多对一的通信场合,详见器件地址约束”章节

    4) 会话ID:会话ID用于对某条命令或者某个事件的身份标识,或者说是事务的流水号。接收方将所有接收到的会话ID缓存进队列中,然后逐个进行分析执行

    5) 校验:采用CRC16的校验方式

    6) 【特别说明】:

    • 该应答帧只针对“特定”接口中的设置类命令以及主动上报类命令,读取类命令其他应用类别中设置类命令还是采用3.1.2.1小节描述的正常应答帧格式处理
    • 发送方发出数据包之后,只要接收方收到该数据包就立即返回该应答包,进而表示本次通信完成;如果发送方在特定时间内未收到该应答包,则重传1-2此数据包,如果任然未能接收到短应答帧,则在能力范围内抛出异常提示

    1.1.3. 命令码表

    命令代码为6BYTES-----2BYTES、中2BYTES和低2BYTES

    目前高2BYTE做预留,预留值为0x0000;中间2BYTES用于规定业务方向及业务细项;低2BYTES用于规定特定业务方向和业务细项下的功能类别。

    业务方向体现了产品的行业属性或者说大方向,业务细项则是该行业方向下的具体产品类型;另外,业务方向所在的字段既可以体现数据包的属性(即对外设置或者向外读取),还能体现具体的操作内容(即对外设置具体行业方向下的具体产品还是向接收方写其他非功能类的信息),也就是说与具体功能状态无关的操作命令也会在本字段定义(比如IAP升级、写SN、读SN、写ID、读ID、写用户名、读用户名、写注册信息、读注册信息等等),如果本功能字段不够用,则可以用预留字节来扩展。

    3.1.1.4. Mid_CmdKind 2Bytes

    业务方向(1Byte)

    业务细则(1Byte

    CmdKind2

    描述

    CmdKind3

    描述

    0x00

    预留

    0x00

    预留

    0x01

    绘画板系列_数位板

    0x00

    预留

    0x01

    A610

    ……

    预留

    0x02

    外设模块

    0x00

    预留

    0x01

    2.4G无线控制模块

    ……

    预留

    0x03

    IAP流程

    0x00

    预留

    0x01

    通用

    ……

    预留

    0x04

    绘画板系列_数位屏

    0x00

    预留

    0x01

    ....

    ……

    预留

    ……

    预留

    ……

    预留

    3.1.1.5. Low_CmdKind 2Bytes

    3.1.1.5.1. 绘画板->数位板

    业务方向(1Byte)

    业务细则(1Byte

    CmdKind4

    描述

    CmdKind5

    描述

    0x01

    参数设置

    0x00

    预留

    0x01

    设置A610的关键算法参数

    ……

    预留

    0x02

    参数读取

    0x00

    预留

    0x01

    读取A610的关键算法参数

    ……

    预留

    0x03

    测试接口

    0x00

    预留

    0x01

    板载Shell接口透传测试接口

    ……

    预留

    3.1.1.5.2. 外设模块->2.4G控制

    业务方向(1Byte)

    业务细则(1Byte

    CmdKind4

    描述

    CmdKind5

    描述

    0x01

    参数设置

    0x00

    预留

    0x01

    设置RF主从模式

    0x02

    设置RF地址

    0x03

    设置RF工作信道

    0x04

    设置RF功率

    0x05

    设置RF睡眠

    0x06

    设置RF复位

    0x07

    设置RF测试模式

    ……

    预留

    0x02

    参数读取

    0x00

    预留

    0x01

    读取RF主从模式

    0x02

    读取RF地址

    0x03

    读取RF工作信道

    0x04

    读取RF功率

    0x05

    读取RF连接状态

    0x06

    读取RF信号强度

    0x07

    去读RF固件版本

    ……

    预留

    0x03

    主动上报

    0x00

    预留

    0x01

    上报从设备状态信息

    ……

    预留

    3.1.1.5.3. IAP流程->通用

    业务方向(1Byte)

    业务细则(1Byte

    CmdKind4

    描述

    CmdKind5

    描述

    0x01

    流程实现

    0x00

    预留

    0x01

    获取设备运行区间参数

    0x02

    设置设备运行区间参数

    0x03

    获取设备预留Flash大小

    0x04

    向设备传输版本文件

    0x05

    向设备传输版本文件属性参数

    ……

    预留

    3.1.1.5.4. 绘画板->数位屏

    业务方向(1Byte)

    业务细则(1Byte

    CmdKind4

    描述

    CmdKind5

    描述

    0x01

    ……

    0x00

    预留

    0x01

    ……

    ……

    预留

    1.1.4. 器件地址约束

    地址约束

    内容解析

    0x00

    PcHost”器件地址

    0x01

    “数位板-A610”器件地址

    0x02

    “数位板-A690”器件地址

    0x03

    2.4G_RfControl_Master”器件地址

    0x04

    2.4G_RfControl_Slave”器件地址

    0xFF

    Broadcast”广播地址

    3.2. 功能实现流程图

    1.1.5. 设备端在线IAP升级流程图

     

    3.3. 命令实现

    1.1.6. (0x0000_0101_xxxx) 绘画板->数位板->A610

    3.3.1.1. (0x0000_0101_01xx) 设置

    3.3.1.1.1. Cmd_0x0000_0101_0101 设置A610的关键算法参数

    描述:

    此命令用于设置A610数位板中算法相关的相关参数。

    命令包格式:

     

    引导码

    本机地址

    对方地址

    会话ID

    数据长度

    命令码

    命令负载

    校验码

    见下述表格

    Bytes

    1

    1

    1

    2

    2

    6

    N

    2

    描述

    0x89

    0x00

    0x01

     

    6+N

    0x0000_0101_0101

    ……

     

     

    命令负载

    参数版本

    具体各版本参数描述

    Bytes

    1

    ……

    描述

    此字段用于描述传递参数的结构版本

    分别见以下表格

     

    Ver 1 参数列表

    A0状态

    A1状态

    A2状态

    A3状态

    A4状态

    A5状态

    On

    Brd

    Dn

    Key

    Up

    Key

    On

    Brd

    Up

    Key

    Dn

    Key

    Up

    Key

    Dn

    Key

    Dn

    Key

    Up

    Key

    Dn

    Key

    Up

    Key

    515K

    Adcs

    515K

    Idx

    Bytes

    5

    5

    5

    5

    5

    5

    5

    5

    5

    5

    5

    5

    5

    5

    描述

    Pressure Para Struct Unit / 1Byte for Logic Operators / 4Byets for Value

     

    Ver 1 参数列表

    7前导变频频点列表

    频点1

    频点2

    频点3

    频点4

    频点5

    频点6

    频点7

    Bytes

    4

    4

    4

    4

    4

    4

    4

    描述

    输入频点范围:450000Hz ~ 540000Hz(暂不做限制)

    返回包格式:

     

    引导码

    本机地址

    对方地址

    会话ID

    数据长度

    命令码

    执行状态

    校验码

    Bytes

    1

    1

    1

    2

    2

    6

    2

    2

    描述

    0x76

    0x01

    0x00

     

    6+2

    0x0000_0101_0101

    参考列表

     

    3.3.1.2. (0x0000_0101_02xx) 读取类

    3.3.1.2.1. Cmd_0x0000_0101_0201 读取A610的关键算法参数

    描述:

    此命令用于获取A610数位板中算法相关的相关参数。

    命令包格式:

     

    引导码

    本机地址

    对方地址

    会话ID

    数据长度

    命令码

    参数列表

    校验码

    见下述表格

    Bytes

    1

    1

    1

    2

    2

    6

    2

    描述

    0x89

    0x00

    0x01

     

    6

    0x0000_0101_0201

     

    返回包格式:

     

    引导码

    本机地址

    对方地址

    会话ID

    数据长度

    命令码

    参数列表

    校验码

    见下述表格

    Bytes

    1

    1

    1

    2

    2

    6

    N

    2

    描述

    0x76

    0x01

    0x00

     

    6+N

    0x0000_0101_0201

    ……

     

     

    参数列表

    请详见此接口对应的设置类接口命令

    Bytes

    ……

    ……

    ……

    描述

    ……

    ……

    ……

    3.3.1.3. (0x0000_0101_03xx) 测试接口类

    3.3.1.3.1. Cmd_0x0000_0101_0301 板载Shell接口透传测试接口

    描述:

    A610产品自身支持基于串口的板载Shell调试接口,此接口用于将Shell所支持的字符串流调试信息打包下发。

    命令包格式:

     

    引导码

    本机地址

    对方地址

    会话ID

    数据长度

    命令码

    参数列表

    校验码

    见下述表格

    Bytes

    1

    1

    1

    2

    2

    6

    ……

    2

    描述

    0x89

    0x00

    0x01

     

    6+1+N

    0x0000_0101_0301

    ……

     

     

    参数列表

    字符串长度

    Shell调试用的字符串流

    Bytes

    1

    N

    描述

    包含’’

     

    返回包格式:

     

    引导码

    本机地址

    对方地址

    会话ID

    数据长度

    命令码

    执行状态

    校验码

    Bytes

    1

    1

    1

    2

    2

    6

    2

    2

    描述

    0x76

    0x01

    0x00

     

    6+2

    0x0000_0101_0301

    参考列表

     

    1.1.7. (0x0000_0201_xxxx) 外设模块->2.4G控制

    3.3.1.4. (0x0000_0201_01xx) 设置类

    3.3.1.4.1. Cmd_0x0000_0201_0101 设置RF主从模式

    描述: 

    设置模块的工作模式,切换工作模式模块会复位重新初始化默认配置

    命令包格式:

     

    引导码

    本机地址

    对方地址

    会话ID

    数据长度

    命令码

    参数列表

    校验码

    主从模式

    Bytes

    1

    1

    1

    2

    2

    6

    1

    2

    描述

    0x89

    0xFF

    0xFF

     

    6+1

    0x0000_0201_0101

     

     

    1) 主从模式

    • 0x00表示Server
    • 0x01表示Client
    • 复位值:0x00
    3.3.1.4.2. Cmd_0x0000_0201_0102 设置RF地址

    描述: 

    4个地址,RF模块地址。模块必须设置相同才能正常工作

    命令包格式:

     

    引导码

    本机地址

    对方地址

    会话ID

    数据长度

    命令码

    参数列表

    校验码

    模块地址

    Bytes

    1

    1

    1

    2

    2

    6

    4

    2

    描述

    0x89

    0xFF

    0xFF

     

    6+4

    0x0000_0201_0102

     

     

    1) 模块地址:

    • 复位值:0xA1, 0xB2, 0xC2, 0xB4
    3.3.1.4.3. Cmd_0x0000_0201_0103 设置RF工作信道

    描述: 

    设置RF模块工作频道CH。模块必须设置相同才能正常工作

    命令包格式:

     

    引导码

    本机地址

    对方地址

    会话ID

    数据长度

    命令码

    参数列表

    校验码

    工作信道

    Bytes

    1

    1

    1

    2

    2

    6

    1

    2

    描述

    0x89

    0xFF

    0xFF

     

    6+1

    0x0000_0201_0103

     

     

    1) 工作信道

    • 复位值:0x00
    • 范围:0~15
    3.3.1.4.4. Cmd_0x0000_0201_0104 设置RF功率

    描述: 

    命令包格式:

     

    引导码

    本机地址

    对方地址

    会话ID

    数据长度

    命令码

    参数列表

    校验码

    功率列表

    Bytes

    1

    1

    1

    2

    2

    6

    1

    2

    描述

    0x89

    0xFF

    0xFF

     

    6+1

    0x0000_0201_0104

     

     

    1) 功率列表:

    • 复位值:12
    • 0-30dBm 1-18dBm 2-10dBm 3-6dBm
    • 4-3dBm 50dBm 62dBm 74dBm
    • 85dBm 97dBm 108dBm 1110dBm
    • 1213dBm
    3.3.1.4.5. Cmd_0x0000_0201_0105 设置RF睡眠

    描述: 

    命令没有参数。该命令让RF模块进入低功耗模式

    命令包格式:

     

    引导码

    本机地址

    对方地址

    会话ID

    数据长度

    命令码

    校验码

    Bytes

    1

    1

    1

    2

    2

    6

    2

    描述

    0x89

    0xFF

    0xFF

     

    6

    0x0000_0201_0105

     

    3.3.1.4.6. Cmd_0x0000_0201_0106 设置RF复位

    描述: 

    命令没有参数。复位模块,重新初始化默认配置。EEROM 保存RF_ADDR和RF_CH 不改

    命令包格式:

     

    引导码

    本机地址

    对方地址

    会话ID

    数据长度

    命令码

    校验码

    Bytes

    1

    1

    1

    2

    2

    6

    2

    描述

    0x89

    0xFF

    0xFF

     

    6

    0x0000_0201_0106

     

    3.3.1.4.7. Cmd_0x0000_0201_0107 设置RF测试模式

    描述: 

    测试模式频道范围0~90,即2.400G~2.490G

    注意:进入测试模式,需要复位能进入正常工作状态

    命令包格式:

     

    引导码

    本机地址

    对方地址

    会话ID

    数据长度

    命令码

    参数列表

    校验码

    测试频点

    Bytes

    1

    1

    1

    2

    2

    6

    1

    2

    描述

    0x89

    0xFF

    0xFF

     

    6+1

    0x0000_0201_0107

     

     

    1) 测试频点

    • 范围:0~90
    3.3.1.4.8. Cmd_0x0000_0201_0108 设置RF透传使能

    描述: 

    命令用来打开或者关闭RF模块的透传功能,当透传功能关闭时,RF模块仅需处理PWC类命令,当透传功能打开时,RF模块需要对命令码做判断,将非PWC类命令透传。

    命令包格式:

     

    引导码

    本机地址

    对方地址

    会话ID

    数据长度

    命令码

    参数列表

    校验码

    透传使能

    Bytes

    1

    1

    1

    2

    2

    6

    1

    2

    描述

    0x89

    0xFF

    0xFF

     

    6

    0x0000_0201_0108

    0Open

    1Close

     

    3.3.1.5. (0x0000_0201_02xx) 读取类

    3.3.1.5.1. Cmd_0x0000_0201_0201 获取RF主从模式

    描述: 

    设置模块的工作模式,切换工作模式模块会复位重新初始化默认配置

    命令包格式:

     

    引导码

    本机地址

    对方地址

    会话ID

    数据长度

    命令码

    校验码

    Bytes

    1

    1

    1

    2

    2

    6

    2

    描述

    0x89

    0xFF

    0xFF

     

    6

    0x0000_0201_0201

     

    返回包格式:

     

    引导码

    本机地址

    对方地址

    会话ID

    数据长度

    命令码

    执行状态

    参数列表

    校验码

    主从模式

    Bytes

    1

    1

    1

    2

    2

    6

    2

    1

    2

    描述

    0x76

    0xFF

    0xFF

     

    6+3

    0x0000_0201_0201

    参考列表

     

     

    1) 主从模式

    • 0x00表示Server
    • 0x01表示Client
    • 复位值:0x00
    3.3.1.5.2. Cmd_0x0000_0201_0202 获取RF地址

    描述: 

    4个地址,RF模块地址。模块必须设置相同才能正常工作

    命令包格式:

     

    引导码

    本机地址

    对方地址

    会话ID

    数据长度

    命令码

    校验码

    Bytes

    1

    1

    1

    2

    2

    6

    2

    描述

    0x89

    0xFF

    0xFF

     

    6

    0x0000_0201_0202

     

    返回包格式:

     

    引导码

    本机地址

    对方地址

    会话ID

    数据长度

    命令码

    执行状态

    参数列表

    校验码

    模块地址

    Bytes

    1

    1

    1

    2

    2

    6

    2

    4

    2

    描述

    0x76

    0xFF

    0xFF

     

    6+6

    0x0000_0201_0202

    参考列表

     

     

    1) 模块地址:

    • 复位值:0xA1, 0xB2, 0xC2, 0xB4
    3.3.1.5.3. Cmd_0x0000_0201_0203 获取RF工作信道

    描述: 

    设置RF模块工作频道CH。模块必须设置相同才能正常工作

    命令包格式:

     

    引导码

    本机地址

    对方地址

    会话ID

    数据长度

    命令码

    校验码

    Bytes

    1

    1

    1

    2

    2

    6

    2

    描述

    0x89

    0xFF

    0xFF

     

    6

    0x0000_0201_0203

     

    返回包格式:

     

    引导码

    本机地址

    对方地址

    会话ID

    数据长度

    命令码

    执行状态

    参数列表

    校验码

    工作信道

    Bytes

    1

    1

    1

    2

    2

    6

    2

    1

    2

    描述

    0x76

    0xFF

    0xFF

     

    6+3

    0x0000_0201_0203

    列表

     

     

    1) 工作信道

    • 复位值:0x00
    • 范围:0~15
    3.3.1.5.4. Cmd_0x0000_0201_0204 获取RF功率

    描述: 

    命令包格式:

     

    引导码

    本机地址

    对方地址

    会话ID

    数据长度

    命令码

    校验码

    Bytes

    1

    1

    1

    2

    2

    6

    2

    描述

    0x89

    0xFF

    0xFF

     

    6

    0x0000_0201_0204

     

    返回包格式:

     

    引导码

    本机地址

    对方地址

    会话ID

    数据长度

    命令码

    执行状态

    参数列表

    校验码

    功率

    Bytes

    1

    1

    1

    2

    2

    6

    2

    1

    2

    描述

    0x76

    0xFF

    0xFF

     

    6+3

    0x0000_0201_0204

    列表

     

     

    1) 功率列表:

    • 复位值:12
    • 0-30dBm 1-18dBm 2-10dBm 3-6dBm
    • 4-3dBm 50dBm 62dBm 74dBm
    • 85dBm 97dBm 108dBm 1110dBm
    • 1213dBm
    3.3.1.5.5. Cmd_0x0000_0201_0205 获取RF连接状态

    描述: 

    LINKS = 1TXRX 建立连接。LINKS = 0TXRX连接断开

    命令包格式:

     

    引导码

    本机地址

    对方地址

    会话ID

    数据长度

    命令码

    校验码

    Bytes

    1

    1

    1

    2

    2

    6

    2

    描述

    0x89

    0xFF

    0xFF

     

    6

    0x0000_0201_0205

     

    返回包格式:

     

    引导码

    本机地址

    对方地址

    会话ID

    数据长度

    命令码

    执行状态

    参数列表

    校验码

    连接状态

    Bytes

    1

    1

    1

    2

    2

    6

    2

    1

    2

    描述

    0x76

    0xFF

    0xFF

     

    6+3

    0x0000_0201_0205

    列表

     

     

    1) 连接状态:

    • 复位值:0x00
    • 0:非连接
    • 1:连接
    3.3.1.5.6. Cmd_0x0000_0201_0206 获取RF信号强度

    描述: 

    TXRX 建立连接后,可以获取RX 信号强度。范围0~0x0F0x0F 信号最强

    命令包格式:

     

    引导码

    本机地址

    对方地址

    会话ID

    数据长度

    命令码

    校验码

    Bytes

    1

    1

    1

    2

    2

    6

    2

    描述

    0x89

    0xFF

    0xFF

     

    6

    0x0000_0201_0206

     

    返回包格式:

     

    引导码

    本机地址

    对方地址

    会话ID

    数据长度

    命令码

    执行状态

    参数列表

    校验码

    信号强度

    Bytes

    1

    1

    1

    2

    2

    6

    2

    1

    2

    描述

    0x76

    0xFF

    0xFF

     

    6+3

    0x0000_0201_0206

    列表

     

     

    1) 信号强度:

    • 复位值:0x00
    3.3.1.5.7. Cmd_0x0000_0201_0207 获取RF固件版本

    描述: 

    命令包格式:

     

    引导码

    本机地址

    对方地址

    会话ID

    数据长度

    命令码

    校验码

    Bytes

    1

    1

    1

    2

    2

    6

    2

    描述

    0x89

    0xFF

    0xFF

     

    6

    0x0000_0201_0207

     

    返回包格式:

     

    引导码

    本机地址

    对方地址

    会话ID

    数据长度

    命令码

    执行状态

    参数列表

    校验码

    固件版本

    Bytes

    1

    1

    1

    2

    2

    6

    2

    4

    2

    描述

    0x76

    0xFF

    0xFF

     

    6+6

    0x0000_0201_0207

    列表

     

     

    3.3.1.6. (0x0000_0201_03xx) 主动上报类

    3.3.1.6.1. Cmd_0x0000_0201_0301 RF模块向外部MCU上报连接状态 

    描述:

    命令包格式:

     

    引导码

    本机地址

    对方地址

    会话ID

    数据长度

    命令码

    参数列表

    校验码

    RF模块连接状态

    Bytes

    1

    1

    1

    2

    2

    6

    1

    2

    描述

    0x89

    0xFF

    0xFF

     

    6+1

    0x0000_0201_0301

    ……

     

    1) RF模块连接状态:有效范围[0, 1]1表示有效连接

    1.1.8. (0x0000_0301_xxxx) IAP流程->通用

    3.3.1.7. (0x0000_0301_01xx) 设备端IAP

    3.3.1.7.1. Cmd_0x0000_0301_0101 获取设备运行区间参数

    描述: 

    此命令用于获取设备端的运行区间(Boot或者App

    命令包格式:

     

    引导码

    本机地址

    对方地址

    会话ID

    数据长度

    命令码

    校验码

    Bytes

    1

    1

    1

    2

    2

    6

    2

    描述

    0x89

    0xFF

    0xFF

     

    6

    0x0000_0301_0101

     

    返回包格式:

     

    引导码

    本机地址

    对方地址

    会话ID

    数据长度

    命令码

    执行状态

    参数列表

    校验码

    运行区间

    Bytes

    1

    1

    1

    2

    2

    6

    2

    1

    2

    描述

    0x76

    0xFF

    0xFF

     

    6+3

    0x0000_0301_0101

    参考列表

    0Boot 

    1App

     

    3.3.1.7.2. Cmd_0x0000_0301_0102 设置设备运行区间参数

    描述: 

    此命令用于设置设备端的运行区间,让设备跳转到指定运行区间运行

    命令包格式:

     

    引导码

    本机地址

    对方地址

    会话ID

    数据长度

    命令码

    参数列表

    校验码

    运行区间

    Bytes

    1

    1

    1

    2

    2

    6

    1

    2

    描述

    0x89

    0xFF

    0xFF

     

    6+1

    0x0000_0301_0102

    0Boot 

    1App

     

    返回包格式:

     

    引导码

    本机地址

    对方地址

    会话ID

    数据长度

    命令码

    执行状态

    校验码

    Bytes

    1

    1

    1

    2

    2

    6

    2

    2

    描述

    0x76

    0xFF

    0xFF

     

    6+2

    0x0000_0301_0102

    参考列表

     

    3.3.1.7.3. Cmd_0x0000_0301_0103 获取设备预留Flash大小

    描述: 

    命令包格式:

     

    引导码

    本机地址

    对方地址

    会话ID

    数据长度

    命令码

    校验码

    Bytes

    1

    1

    1

    2

    2

    6

    2

    描述

    0x89

    0xFF

    0xFF

     

    6

    0x0000_0301_0103

     

    返回包格式:

     

    引导码

    本机地址

    对方地址

    会话ID

    数据长度

    命令码

    执行状态

    参数列表

    校验码

    Flash大小

    Bytes

    1

    1

    1

    2

    2

    6

    2

    4

    2

    描述

    0x76

    0xFF

    0xFF

     

    6+3

    0x0000_0301_0103

    参考列表

     

     

    3.3.1.7.4. Cmd_0x0000_0301_0104 向设备传输版本文件

    描述: 

    命令包格式:

     

    引导码

    本机地址

    对方地址

    会话ID

    数据长度

    命令码

    参数列表

    校验码

    见下述表格

    Bytes

    1

    1

    1

    2

    2

    6

    ……

    2

    描述

    0x89

    0xFF

    0xFF

     

    6+5+N

    0x0000_0301_0104

     

     

     

    参数列表

    包结束标识

    包序号

    包长度

    包内容

    Bytes

    1

    2

    2

    N

    描述

    0:进行中

    1:结束

     

     

     

    1) 包结束标识:

    • 1:此包为最后一个数据包,如果此包内有效数据不足包长度限制,则填充0xFF

    2) 序号:

    • 0:第一包,下位机将对整块存储空间做擦除操作,时间较长

    返回包格式:

     

    引导码

    本机地址

    对方地址

    会话ID

    数据长度

    命令码

    执行状态

    校验码

    Bytes

    1

    1

    1

    2

    2

    6

    2

    2

    描述

    0x76

    0xFF

    0xFF

     

    6+2

    0x0000_0301_0104

    参考列表

     

    3.3.1.7.5. Cmd_0x0000_0301_0105 向设备传输版本文件属性参数

    描述: 

    命令包格式:

     

    引导码

    本机地址

    对方地址

    会话ID

    数据长度

    命令码

    参数列表

    校验码

    见下述表格

    Bytes

    1

    1

    1

    2

    2

    6

    ……

    2

    描述

    0x89

    0xFF

    0xFF

     

    6+8

    0x0000_0301_0105

     

     

     

    参数列表

    版本文件长度

    版本文件CRC

    Bytes

    4

    4

    描述

     

     

    返回包格式:

     

    引导码

    本机地址

    对方地址

    会话ID

    数据长度

    命令码

    执行状态

    校验码

    Bytes

    1

    1

    1

    2

    2

    6

    2

    2

    描述

    0x76

    0xFF

    0xFF

     

    6+2

    0x0000_0301_0105

    参考列表

     

    3.3.1.7.6. Cmd_0x0000_0301_0106 设置待升级下位机固件对象

    描述: 

    此命令用于设置下位机的待升级对象,当下位机有多个待升级板载对象时,通过此命令来告知下位机的总控对象将IAP应用流程分流处理。

    命令包格式:

     

    引导码

    本机地址

    对方地址

    会话ID

    数据长度

    命令码

    参数列表

    校验码

    板载对象

    Bytes

    1

    1

    1

    2

    2

    6

    1

    2

    描述

    0x89

    0xFF

    0xFF

     

    6+1

    0x0000_0301_0106

     

     

    1) 板载对象:

    • 0x01:待升级固件对象为A610MCU
    • 0x02:待升级固件对象为xxxxMCU
    • 0x03:待升级固件对象为2.4G无线RF模块
    • 0x04:待升级固件对象为半载大容量存储器

    返回包格式:

     

    引导码

    本机地址

    对方地址

    会话ID

    数据长度

    命令码

    执行状态

    校验码

    Bytes

    1

    1

    1

    2

    2

    6

    2

    2

    描述

    0x76

    0xFF

    0xFF

     

    6+2

    0x0000_0301_0106

    参考列表

     

    3.3.1.7.7. Cmd_0x0000_0301_0107 获取待升级下位机对象Boot区支持的数据包长度

    描述: 

    此命令用于获取设备端Boot区域支持的数据包长度参数

    命令包格式:

     

    引导码

    本机地址

    对方地址

    会话ID

    数据长度

    命令码

    校验码

    Bytes

    1

    1

    1

    2

    2

    6

    2

    描述

    0x89

    0xFF

    0xFF

     

    6

    0x0000_0301_0107

     

    返回包格式:

     

    引导码

    本机地址

    对方地址

    会话ID

    数据长度

    命令码

    执行状态

    参数列表

    校验码

    运行区间

    Bytes

    1

    1

    1

    2

    2

    6

    2

    2

    2

    描述

    0x76

    0xFF

    0xFF

     

    6+3

    0x0000_0301_0107

    参考列表

     

     

    1) 此条命令通过设备的Boot反馈所支持的数据包长度参数,由Pc动态分配不同固件对象所支持的数据缓存,以此做到IAP接口以及应用很广流程的兼容性。

  • 相关阅读:
    flex布局
    input框不能输入问题
    JS的innerHTML完成注册表
    CSS的z-index属性和box-shadow属性
    JS个人笔记
    css照片墙
    透明度设置
    a标签的name属性
    iframe标签
    title属性
  • 原文地址:https://www.cnblogs.com/linxw-blog/p/11433366.html
Copyright © 2011-2022 走看看