one-wire 调试单总线 ds2781

调试ds2781的时候可谓艰难啊,但是调完了一个模拟的iic时序之后单总线的时序竟然迎刃而解了。

下面总结一下调试的过程:
我使用ds2781的快速模式(OVD高电平)
1. 首先要有一个芯片的datasheet
这里写链接内容
2. 其次测试设备:示波器,逻辑分析仪
这里写图片描述
3. 根据手册上的时序写代码进行调试
时隙
这里写图片描述

复位时序

这里写图片描述

关于与复位时序,手册说明:
与DS2781的任何通信都必须从初始化过程开始,如上图所示。复位脉冲之后的在线应答脉冲表明DS2781已经准备
好接收网络地址命令。总线主机发出 (Tx) 持续tRSTL时间的复位脉冲。然后总线主机释放数据线,进入接收模式
(Rx)。然后由上拉电阻将1-Wire总线拉至高电平。DS2781检测到DQ引脚的上升沿后,将等待tPDH时间,然后发出持
续时间为tPDL的在线应答脉冲。

我调试的时候的复位波形是这样的:
这里写图片描述
这里写图片描述
要对照着时隙,我的三个参数分别是:65us,3us,12us。对应手册的 48-80us,2-6us,8-24us。

写0写1时序

这里写图片描述

关于写时序,手册上这样说明:
当总线主机将1-Wire总线从逻辑高 (无效) 电平拉至逻辑低电平时,开始写时隙。写时隙有两种类型:写1和写0。所
有写时隙必须保持tSLOT的时间,并且两个写时隙之间需要1μs的最小恢复时间 (tREC)。DS2781将在线路下降沿之后的
15μs至60μs之间 (高速模式下在2μs至6μs之间) 采样1-Wire总线数据。如果采样时总线为高电平,则为写1时隙。如
果采样时总线为低电平,则为写0时隙 (参见图23)。总线主机若要产生写1时隙,必须先拉低总线,然后释放,在写
时隙开始后的15μs (高速模式下为2μs) 之内将总线拉至高电平。主机若要产生写0时隙,必须拉低总线,并在写时隙
持续时间内保持为低电平。

我调试的时候的波形是这样的:
这里写图片描述
这里写图片描述

读0读1时序

这里写图片描述

关于读时序手册是这样说明的
当总线主机将1-Wire总线从逻辑高电平拉至逻辑低电平时,开始读时隙。总线主机必须使总线为低电平的时间至少持
续1μs,然后再释放总线,使DS2781输出有效数据。总线主机在读时隙开始后的tRDV时间内采样数据。DS2781在读
时隙结束时释放总线,允许外部上拉电阻将其拉至高电平。所有读时隙必须持续tSLOT,并且在两次读时隙之间需要
1μs的最小恢复时间 (tREC)。详细信息参见图23。

我调试的时候的波形是这样的:
这里写图片描述
按照实际的波形 tRDV 在小于3us内都是可以读出来的

  1. 调整时序
    如果应答信号收不到,那么仔细调整时序,如果在硬件没有问题的情况下,时序对了就可以正常读数的,因此要仔细调整时序。

[源码](http://download.csdn.net/detail/a912293097/9054963 “csdn下载界面”)

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值