Commit e20a7371eb74cfd648f12a235c9bc2b6838c8808

Authored by 李傲寒
1 parent 82e9cb74

修改通信方式

通讯协议-教育新版-基站部分usb json.md
... ... @@ -3,11 +3,12 @@
3 3 ### 通信流程
4 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 14 - 为了避免通信失败时重发的代价太大,在step 1中将数据包拆分成N个以1024bytes为单位的小数据包;
... ... @@ -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 157 ## 2.1 固件升级类协议
... ...