网站大量收购闲置独家精品文档,联系QQ:2885784924

单片机的串行接口及串行总线.ppt

  1. 1、本文档共114页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机的串行接口及串行总线

8.5.3 单总线1-Wire供电方式 因为单总线器件采用CMOS技术,耗电量很小,所以不用单独供电。可采用寄生方式供电,这样在单总线空闲时给电容充电就可以工作。在寄生方式供电时,为了保证单总线器件在温度转换期间、EEPROM写入等工作状态下具有足够的电源电流,必须在总线上提供MOSFET强上拉。 * 8.5.4 单总线1-Wire通信流程 1-Wire总线是一种简单的信号交换架构,通过一条线路在主机与外围器件之间进行双向通信。一旦器件的序列号已知,通过寻址该序列号,就可以唯一地选出该器件进行通信。 * 主机对1-Wire总线的基本操作分为复位、读和写三种,其中所有的读写操作均为低位在前高位在后。所有通信的第一步都需要总线控制器发出一个复位信号以使总线同步,然后选择一个受控器件进行随后的通信。一旦一个器件被用于总线通信,主机就能向它发出特定的器件指令,对它进行数据读写。这是因为每类器件具有不同的功能和不同的用途,而且一旦器件被选定,就有了唯一的协议。虽然每类器件具有不同的协议和特征,但其工作过程却是相同的并且遵循如图8-29所示的工作流程。 * 图8-29 典型的1-Wire通信流程 * 8.5.5 单总线1-Wire的时序图 复位、读和写是1-Wire总线通信的基础,1-Wire协议定义了复位脉冲、应答脉冲、写1、写0、读0和读1时序等几种信号类型。所有的单总线命令序列(初始化,ROM命令,功能命令)都是由这些基本的信号类型组成的。在这些信号中,除了应答脉冲外,其他均由主机发出同步信号,并且发送的所有命令和数据都是字节的低位在前。 单总线上的所有数据传输均以初始化开始,初始化由主机发出的复位脉冲和从机响应的应答脉冲组成,应答脉冲使主机知道总线上有从机设备且准备就绪。 * 复位和应答脉冲时序:如图8-30(a)所示,在主机初始化时,主机通过拉低总线至少480μs 以产生复位脉冲,接着主机释放总线并进入接收模式。当总线被释放后,上拉电阻将单总线拉高,而且在单总线器件检测到上升沿后,延时15~60μs,接着通过拉低总线60~240μs,以产生应答脉冲。 * 主机写时序:由于只有一条I/O线,主机1-Wire总线的写操作只能逐位进行,连续写8次即可写入总线一个字节。写操作包括写0和写1两种,如图8-30(b)和(d)所示。主机每个写时序至少需要60μs,而且两次连续的写操作之间要有1μs以上的间隔(即恢复时间)。在写时序起始后15~60μs期间,单总线器件采样总线电平状态。若在此期间采样为高电平,则该器件被写入逻辑1;若为0,则写入逻辑0。写0时,在主机拉低总线后,只需保持低电平时间不少于60μs即可。写1时,主机在拉低总线后,接着必须在15μs之内释放总线,由上拉电阻将总线拉至高电平。 * 主机读时序:与写操作类似,主机对1-Wire总线的读操作也只能逐位进行,连续读8次,即可读入主机一个字节。读操作包括读1和读0两种,如图8-30(c)和(e)所示。主机每个读时序至少需要60μs, 而且两次连续的读操作之间要有1μs以上的间隔(即恢复时间)。每个读时序都由主机发起,至少拉低总线1μs。在主机发起读时序之后,单总线器件才开始在总线上发送0或1。从机发送0时,拉低总线;从机发送1,则保持总线为高电平。从总线读数据时,主机首先拉低总线1μs以上然后释放,在释放总线后的1~15μs内主机对总线的采样值即为读取到的数据。 * 图8-30 初始化(复位)、写、读时序图 * 8.5.6 单总线1-Wire的8051模拟 如图8-30所示,1-Wire总线上的数据传输是通过1-Wire总线协议最底层的操作时隙完成的。每个通信周期起始于主控器发出复位脉冲,然后,1-Wire器件以应答脉冲做出响应。当主控器将总线从空闲状态的逻辑高拉为逻辑低时,即启动了一个读写时隙。在写“0”时隙中,主控器在整个时隙期间将总线拉低;而后在15μs之内释放总线为高。在读时隙中,主控器将总线拉低1μs,接着释放总线,这样,1-Wire从器件就能够接管总线,输出有效数据。所有的读写时隙在60μs至120μs内完成,并且每个时隙之间至少需要1μs的恢复时间。 * 按图8-30的时序要求,先建立以下几个关键的子函数,作为1-Wire器件与8051系列单片机的软件接口的基础(晶振频率为12M,一个机器周期为1μs)。 延时函数 DELAY: DJNZ R2,$ NOP ;延时(2R2+2) μs RET * 初始化函数 DATA_LINE EQU P3.6 ;定义引脚 ;=================================== ;单总线器件复位与检测子程序 ;FLAG1=1 OK, FLAG1=0 E

文档评论(0)

ctuorn0371 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档