valveboard/protocol/README.md
2022-08-24 22:10:11 +08:00

74 lines
2.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 阀板通信协议
## 概述
由6条差分信号`SCLK+`,`SCLK-`,`SEN+`,`SEN-`,`SDATA+`,`SDATA-`
显然共计3个信号
- `SCLK`为1MHz同步时钟周期抖动小于500ps
- `SEN`为传输状态
- `SDATA`为阀控制信号1表示关0表示开小端模式
## 物理层
- LVDS差分
- 灰色排线
## 数据链路层
![jkl](README.assets/jkl.svg)
当需要传输一帧数据时,首先在`SCLK`的一个下降沿拉高`SEN`并建立第一个阀的控制信号V0接收电路将在`SCLK`上升沿采样。n表示通道数即所需控制阀门的数量整个传输过程中须将`SEN`拉高保持n个`SCLK`周期期间发送n个`SDATA`阀控制信号分别对应第1个到第n个阀。待最后一个阀的控制信号发送完成后在`SCLK`到达下一个下降沿时,拉低`SEN`。
在两帧的间隔中应持续保持发送1MHz的`SCLK`,接收端将通过`SCLK`的电平跳转来判断是否断开连接。另外两帧数据的间隔应至少为5个`SCLK`周期。
| Symbol | Parameter | Min | Typ | Max | Unit |
| ------ | ------------------------ | ---- | ---- | ---- | ---- |
| t1 | SCLK setup time | 250 | 500 | 750 | ns |
| t2 | Data output access time | - | 250 | 280 | ns |
| t3 | SEN hold time | 250 | 500 | 750 | ns |
| t4 | Data output disable time | - | 250 | 280 | ns |
*Condition at SCLK=1MHz
下面是每一位数据的具体时序
![jkl2](README.assets/jkl2.svg)
| Symbol | Parameter | Min | Typ | Max | Unit |
| ------ | ---------------------- | ---- | ---- | ---- | ---- |
| t5 | Data output valid time | 50** | 500 | 750 | ns |
| t6 | Data output hold time | 250 | 500 | 750 | ns |
*Condition at SCLK=1MHz
**Limit value
发送端须同时满足`t1`~`t5`的参数要求
## 电路
DS90LV048具有内置终端电阻电路设计和布局布线只需注意匹配100欧姆差分阻抗
接收端
![image-20220520201928999](./README.assets/image-20220520201928999.png)
![image-20220520202002287](./README.assets/image-20220520202002287.png)
发送端
![image-20211109201037196](./README.assets/image-20211109201037196.png)
## 作者
**丁坤2019年9月入学、丁坤QQ1091546069、丁坤电话17761700156**,他觉得老阀板的协议不明确(其实就没有协议,逆向工程后改进出来的这份协议),所以就大概描述了一下协议相关信息,作者已经毕业,但很乐意解答关于这份协议的所有问题