1-Wire 总线的基本通信协议 作为一种单主机多从机的总线系统,在一条1-Wire 总线上可挂接的从器件数量几乎不受限制
为了不引起逻辑上的冲突,所有从器件的1-Wire 总线接口都是漏极开路的,因此在使用时必须对总线外加上拉电阻(一般取5k>左右)
主机对1-Wire 总线的基本操作分为复位、读和写三种,其中所有的读写操作均为低位在前高位在后
复位、读和写是1-Wire 总线通信的基础,下面通过具体-程序详细介绍这 3 种操作的时序要求
(程序中 DQ 代表 1-Wire总线,定义为P1
0,u char 定义为u nsigned char) 1 1-Wire 总线的复位 复位是1-Wire,总线通信中最为重要的一种操作,在每次总线通信之前主机必须首先发送复位信号
1 所示,产生复位信号时主机首先将总线拉低 480-960μ s 然后释放,由于上拉电阻的存在,此时总线变为高电平
1-Wire 总线器件在接收到有效跳变的15-60μs 内会将总线拉低 60>240μ s,在此期间主机可以通过对DQ 采样来判断是否有从器件挂接在当前总线上
函数Reset()的返回值为0 表示有器件挂接在总线上,返回值为1 表示没有器件挂接在总线上
1 总线复位 在DS18820 中共有三种存储器,分别是ROM、RAM、EEPROM,每种存储器都有其特定的功能,可查阅相关资料
3 1-Wire 总线ROM 功能命令 在DS18820 内部光刻了一个长度为64bit 的ROM 编码,这个编码是器件的身份识别标志
当总线上挂接着多个DS18820 时可以通过ROM 编码对特定器件进行操作
ROM 功能命令是针对器件的ROM 编码进行操作的命令,共有5 个,长度均为8bit(1By te)
①读 ROM(33H) 当挂接在总线上的1-Wire 总线器件接收到此命令时,会