Commit 331127c2259c720aed4a1d74b43292688d3a304d
1 parent
874f0975
增加了usb json通信机制说明
Showing
1 changed file
with
17 additions
and
2 deletions
通讯协议-教育新版-基站部分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 | # 二, | ... | ... |