文章目录
- 环境简述
- 开发环境
- 测试环境
- one-wire简述
- one-wire 协议简述
- one-wire 电气特性简述
- 开发需求
- 需求1:读取ID(8+48+8)
- 需求1:程序设计
- 设计流程简述
- 代码实现简述
- 实际测试波形等
- 注意点
- 1. read-data的时序
- 待补充
0.环境
开发环境
kernel:4.4
toolchain:gcc-5.2.0
测试环境
IPQ8076A
openwrt
EEPROM(DS2431)
20GSa/s
1. one-wire简述
1.1 简介
百度百科:
https://baike.baidu.com/item/1-Wire/2841212?fr=aladdin1-Wire总线是一个简单的信号传输电路,可通过一根共用的数据线实现主控制器与一个或一个以上从器件之间的半双工双向通信。
1.2 协议
1.3 电气特性
1-Wire总线是一个简单的信号传输电路,可通过一根共用的数据线实现主控制器与一个或一个以上从器件之间的半双工双向通信。
上拉2.8v~5.25v,0.3k ~ 2.2k
2. 开发需求
需求1:读取ID
3. 程序设计
3.1 开发需求1:读取ID
- 发送命令码
- 接收ID信息(8+48+8)
通信流程
- TX:Reset pulse
- RX:Presence pulse
- TX:read rom :0x33
- Tx&Rx: read-data
读写功能
- write-bit
- wriet-byte
- read-bit
项目结构
规划
3.2 测试
3.2.1 测试步骤
- 示波器接SIA
- 执行上层测试命令,触发驱动程序
- 判断波形
3.2.2 测试数据简述
- TX:Reset pulse
- RX:Presence pulse
- TX:read rom :0x33
- Tx&Rx: read-data
- TX:Reset pulse
- RX:Presence pulse
- TX:read rom :0x33
PS:注意字节序
- Tx&Rx: read-data
4.1 判断1、0