单总线是什么以及特点、协议 、使用方法

1.单总线协议概念及特点

单总线(1-wire)是美国DALLAS公司推出的外围串行扩展总线技术。与SPI、I²C串行数据通信方式不同,它采用单根信号线传输。 这种协议由一个总线主节点、或多个从节点组成系统,通过根信号线对从芯片进行数据的读取。每一个符合单总线协议的从芯片都有一个唯一的地址,包括48位的序列号、8位的家族代码和8位的CRC代码。主芯片根据64位寻址对各个芯片进行双向通信,因此其协议对时序的要求较严格,初始化、写bit或读bit都有严格的时序要求,但是位于位之间没有严格要求。

单总线的数据传输速率一般为16.3Kbit/s,最大可达142 Kbit/s,通常情况下采用100Kbit/s以下的速率传输数据。主设备I/O口可直接驱动200m范围内的从设备,经过扩展后可达1km范围。

这种传输方式信号线上既传输时钟又传输数据,而且数据传输是双向的,具有节省I/O口线、资源结构简单、成本低廉、便于总线扩展和维护等诸多优点。

2.单总线的使用方法

1.单总线命令序列包括
(1)第一步:初始化

1)初始化包括主机发送复位脉冲和从机发送应答脉冲两部分组成;

2)主机 发送复位脉冲时拉低总线至少480us;

3)从机响应应答脉冲时,检测到总线被释放,并由5k上拉电阻拉高,从机检测到上升沿15-60us,拉低60-240us产生响应脉冲;

(2)第二步:ROM命令(跟随需要交换的数据)

(3)第三步:功能命令(跟随需要交换的数据)

2.主机每次访问单总线设备,严格按照此命令序列,当执行搜索ROM命令()和报警搜索命令时,第三步不能再执行,需要回到第一步。
3.单总线写数据包括向单总线器件写‘0’和写‘1’;

(1)写‘0’,主机在拉低总线后,保持低电平至少60us即可;

(2)写’1’,主机在拉低总线后,在15us内释放总线,由上拉电阻拉高电平;

4.单总线读数据

(1)主机发送读数据命令后,发送读请求(拉低总线至少1us,然后释放),总线被上拉电阻拉高,从机此时发送1,则保持总线为高电平,若发送0,则拉低总线;

(2)注意:读取的每一个0 或者1,都是在主机发送读请求(拉低总线至少1us,然后释放)之后,上拉电阻拉高总线,15us内,从机改变总线状态,拉低为0,拉高为1,自主机发送读请求开始计时15us内从机把0或者1放到总线上,15us后释放总线。每读一个0或者1,至少需要60us;

  • 8
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值