Commit e20a7371eb74cfd648f12a235c9bc2b6838c8808

Authored by 李傲寒
1 parent 82e9cb74

修改通信方式

通讯协议-教育新版-基站部分usb json.md
@@ -3,11 +3,12 @@ @@ -3,11 +3,12 @@
3 ### 通信流程 3 ### 通信流程
4 相对usb 64byte传输,json格式命令数据长度大多都是比较长的。使用常规的一问一答的方式效率较低; 4 相对usb 64byte传输,json格式命令数据长度大多都是比较长的。使用常规的一问一答的方式效率较低;
5 所以设计了如下通信方式: 5 所以设计了如下通信方式:
6 -- step 1,发送方先发送整个数据包的信息;接收方回复;  
7 -- step 2,发送方发送纯数据,此时接收方只接收不回复;  
8 -- step 3,发送方发送询问"接收方是否正确的接收到刚刚的数据",接收方回复:  
9 - - 正确->本次通信结束;  
10 - - 错误->接收方从step 1开始重发; 6 +
  7 +- STEP 1,发送包头数据信息 ==》 发送纯数据 ==》 发送询问
  8 +- STEP 2,接收方回复:
  9 + - 正确->本次通信结束; ==》 后续接收方附加信息可以在ACK之后紧跟回复。再进step1
  10 + - 错误->回复丢失包 进入step3
  11 +- STEP 3,发送方法发送丢数据 ==》 发送询问 进入step2
11 12
12 ### 说明: 13 ### 说明:
13 - 为了避免通信失败时重发的代价太大,在step 1中将数据包拆分成N个以1024bytes为单位的小数据包; 14 - 为了避免通信失败时重发的代价太大,在step 1中将数据包拆分成N个以1024bytes为单位的小数据包;
@@ -151,46 +152,6 @@ @@ -151,46 +152,6 @@
151 152
152 153
153 154
154 -## 1.4 事务短包通信  
155 -基站发送数据头:0XB5 SDK回复:0XB5  
156 -数据量小于64字节的做精简通信,若需则可扩展的话增加第三字节(SDK&基站自己判断收齐做事情) 默认可以设定《64还是《128使用该协议 ,其他使用流通信。  
157 -  
158 -| **字节** | **标识符** | **描述** |  
159 -| --- | --- | --- |  
160 -| 0 | Header | 数据包头:基站主动发送0x B5;sdk主动发送0Xd5 |  
161 -| 1-2 | com seq | 通信序号 |  
162 -| 3 | control bit| bit0-2:当前包总传输次数 <br>bit3-5:当前包传输次数<br>bit6-8:指定的基站编号,为0时候不指定|  
163 -| default | data | 数据包 |  
164 -| 60-63 | crc32 | 此数据包的crc32;从byte0-59共60个字节 |  
165 -  
166 -  
167 -## 1.5 问询精简通信  
168 -该协议只在纯询问阶段使用。其他开始结束等等 通过原始指令 使用流模式或者事务模式  
169 -| **字节** | **标识符** | **描述** |  
170 -| --- | --- | --- |  
171 -| 0 | Header | 数据包头:基站主动发送0x B6;sdk主动发送0Xd6 |  
172 -| 1-2 | com seq | 通信序号 |  
173 -| 3 | BASEID| 指定的基站编号,为0时候不指定|  
174 -| 4 | CMD| 索要数据包数据类型==》对应具体事务从1开始往下排根据数据类型来区分接收的数据长度等等数据类型|  
175 -| 5-6 | PACK| 数据编号|  
176 -| default | | |  
177 -| 60-63 | crc32 | 此数据包的crc32;从byte0-59共60个字节 |  
178 -  
179 -  
180 -回复该包之后 后续跟着0XB2/0XD2 的长透传数据包  
181 -| **字节** | **标识符** | **描述** |  
182 -| --- | --- | --- |  
183 -| 0 | Header | 数据包头:基站主动发送0x B6;sdk主动发送0Xd6 |  
184 -| 1-2 | com seq | 通信序号 |  
185 -| 3 | BASEID| 指定的基站编号,为0时候不指定|  
186 -| 4 | CMD| 索要数据包数据类型==》对应具体事务从1开始往下排根据数据类型来区分接收的数据长度等等数据类型|  
187 -| 5-6 | PACK| 数据编号|  
188 -| 7-8 | This PACK Len| 本次要传输的数据包长度|  
189 -| 9-12 | This Pack crc32| 本次要传输的数据crc32|  
190 -| default | | |  
191 -| 60-63 | crc32 | 此数据包的crc32;从byte0-59共60个字节 |  
192 -  
193 -  
194 # 二, 功能协议 155 # 二, 功能协议
195 156
196 ## 2.1 固件升级类协议 157 ## 2.1 固件升级类协议