Commit 044cbbaa1da869e1d8daafd63503b6188381b277

Authored by 刘琴
2 parents ba5f8c85 331127c2

Merge branch 'master' of http://120.78.57.84/lee/Protocol

通讯协议-教育新版-基站部分usb json.md
1 1 [TOC]
2 2 # 一、概述
3   -
4   -
  3 +### 通信流程
  4 +相对usb 64byte传输,json格式命令数据长度大多都是比较长的。使用常规的一问一答的方式效率较低;
  5 +所以设计了如下通信方式:
  6 +- step 1,发送方先发送整个数据包的信息;接收方回复;
  7 +- step 2,发送方发送纯数据,此时接收方只接收不回复;
  8 +- step 3,发送方发送询问"接收方是否正确的接收到刚刚的数据",接收方回复:
  9 + - 正确->本次通信结束;
  10 + - 错误->接收方从step 1开始重发;
  11 +
  12 +### 说明:
  13 +为了避免通信失败时重发的代价太大,在step 1中将数据包拆分成N个以1024bytes为单位的小数据包;
  14 +当如上传输出错时,只需重传当前的1024bytes即可;
  15 +
  16 +### 通信机制
  17 +在"通信流程" step 2中传输的是纯数据,接收方会把所有当前收到的数据都当作是纯数据,这样在收发双方通信时就会有如下限制:
  18 + - 发送方必须在完成当前数据传输流程后才可以开始下一个传输流程;
  19 + - 接收方必须在完成当前数据传输流程后才可以主动发起传输。
5 20  
6 21  
7 22 # 二,
... ...