1-Wire总线
来源:互联网 发布:织梦pc怎么做手机网站 编辑:程序博客网 时间:2024/05/16 17:02
1-Wire总线
1-wire总线是一个具有单总线主机和一个或者多个从机的系统,一般在任何情况下单总线设备(如18B20)都是从机设备,主机一般是一颗MCU。总线可以分为4个部分:64位的网络地址、硬件配置、处理流程、1-wire信令。
64位网络地址
每个1-wire设备都带用唯一的、由工厂设置的64位的网络地址。前8位是1-wire家族码(18B20位0x28),其后48位为唯一的序列码,最后8位是前56位的CRC校验。
硬件配置
一般需要设备器件位漏极开路或者三态输出驱动连接到总线上,一般需要外接4.7K的上拉电阻,总线默认为高电平。
处理流程
处理流程一般包括以下部分:
- 初始化协议
- 网络地址命令
- 功能命令
- 1-wire信令
初始化协议
1-Wire总线的所用的传输操作都是重新初始化开始的,一般总线发起复位命令,等待从机响应。
网络地址命令
网络地址命令一般用于多从机通信,这里暂时不做介绍,一般使用跳过网络地址命令,进行和单一的设备进行数据交互。
功能命令
在执行完网络地址命令后,总线可以执行功能命令进行操作设备。
例如18B20,写入0x44命令后18B20开始进行温度的转换,写入0xBE后可以进行温度的读取操作。所有的操作都是主机发生,主机发送命令,从机响应。
1-wire信令
1-wire信令包括:复位、写0、写1、读。除在线应答外所有的信令都是由主机发起。
信令的时序分析以18B20为例。
- 复位信令
主机需拉低总线480-960us,然后释放总线15-60us,等待设备响应。
设备响应在主机释放总线后拉低总线,无设备响应在上拉的电阻作用下会是一直高电平。
- 写0&写1
一位(1bit)写操作整体时序需要60-120us,写完后需要最少1us等待时间。
写操作时从设备采样在总线拉低后15-60us进行采样,写时序需要在总线拉低后15us内设置总线是写1还是写0(高电平写1,低电平写0)。
- 读0&读1
两次之间最少需要1us的时间间隔。
读时序最少需要拉低总线1us,然后释放总线,从设备会在15-45us操作总线,主机进行采样。
- 1-Wire总线
- 1 WIRE 总线原理总结
- 1-Wire单总线的基本原理
- 解析单总线协议(1-wire)
- 解析单总线协议(1-wire)
- 单总线协议(1—wire)
- 单总线协议(1-wire)
- 1-Wire总线-DS18B20及其驱动程序编写
- 1-wire单总线浅谈之(一)--协议时序
- 1-wire单总线浅谈之(二)--温度传感器DS18B20
- 1wire总线的应用-DS18B20温度采集工芯片的应用.
- one-wire 调试单总线 ds2781
- 1-wire协议
- 1-wire协议
- 1Wire通信底层
- LINUX 3.X 1-WIRE
- 1-Wire搜索算法详解(1)
- Duplicate Net Names Wire N000-1
- 链接到tab页面中的某一项
- java中使用switch case报错case expressions must be constant expressions
- VectorDrawable入门
- android ListView向下展开 抽屉效果
- 分享基于Flash AS 3.0制作五子棋的故事
- 1-Wire总线
- 双屏显示器左右相反的有趣问题
- 图解Java单例模式内存分配
- 万能搜索神器eMule(免费无广告)下载配置与使用
- 关于viewpager的适配器pageradapter的详解
- [实验-视频过程]oracle控制文件增加减少
- js 函数function用法
- 最长公共子序列
- 浏览器兼容测试工具