1-wire单总线协议通信的研究与实现.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1-wire单总线协议通信的研究与实现 0 -wire单总线 1-wire单总线是美信公司(mgi)的子公司达兰斯-堪萨斯-半音乐公司(dalassignoringcoordinationcenter)的独特技术。与标准的大规模数据通信方法(如spi和i2c)不同,控制线、地址线、数据线、线路和编程线被合并为线。1-wire单总线具有节省I/O口线资源、结构简单、成本低廉、便于总线扩展和维护等诸多优点。1-wire使用较低的数据传输速率,常被用于实时时钟、温度测量、车辆监控、信息数据存储、ID身份识别、IP认证(Identity Preservation Certification)、安全认证等方面。 11 -wire单线合同 1.1 -wire单总线系统 1-wire单总线主要应用在主从结构的系统中,能够控制一个或多个从机设备。当总线上挂有多个从机设备时,可以搜索识别不同的单总线设备,按多节点系统操作。在1-wire单总线系统中,主机设备和从机设备各自通过一个漏极开路或者是集电极开路或者是三态端口管脚连至该数据线,其内部等效电路如图1所示。1-wire单总线通常要求外接一个5kΩ的上拉电阻Rp,这样允许设备在不发送数据时能够释放总线。 1.21 主机主机的自动识别主机 在1-wire单总线系统中,要严格遵从主从关系,只有主机发出命令,从机才能做出操作。协议中主机依次发送初始化命令、主从确认、ROM命令、功能命令。单总线器件寻址依赖的是全球唯一的序列号,扩展时可按序列号规则自定义,以便非标准器件也有与其他器件不冲突的ID序列号。 在主机发出初始化命令时下拉总线并保持大于480μs的时间,间隔15~60μs之后从机下拉总线应答,应答时间应保持60~240μs,之后才能进行其他操作。系统每次传输命令和读取、写入数据时由主机先下拉总线1~15μs,发给从机同步信号,每下拉一次数据传送1位。若为写操作,主机控制总线,从机采样;若为读操作,从机控制总线,主机采样。主机采样须在15μs内完成,从机采样须在45μs内完成,因为发出的数据只保持60~120μs。 具体时序参见1-wire单总线器件的用户手册。 1.3 国际专利器端口配方 接口扩展时,Maxim公司提供了很多可供选择的接口扩展器件,例如:DS2413、DS2482-100、DS2482-800、DS2480、通用1-wire COM端口适配器等。本文为了充分利用系统资源,减少器件和成本,直接在已有标准1-wire器件(iBuntton、DS24B33、DS2405)的单总线上加入非Maxim公司器件,如图2所示。 2 开集电极oc门 本文主要在PIC12F1822上应用1-wire单总线协议,图3为接口原理图。为适应单总线特性,使用PIC12F1822时,管脚GP5配置为数据输入,同时检测主机下拉的边沿信号,进入中断程序。管脚GP2与一个电阻和一个NPN三极管组成开集电极OC门输出。GP5输出1时总线被下拉,输出数据为0;GP5输出0时总线输出为1。由于某些器件具有EPROM数据编程功能,编程电压可达到12V,在应用时需注意总线工作的最高电压。 3 位传输中断子程序的实现 根据1-wire单总线协议,结合PIC12F1822单片机的特性,严格按照协议的时序、时间间隙和命令过程进行软件编程。使用MPLAB IDE开发环境、HI-TECH C语言编译器和C语言编写程序。从机主程序执行每一步操作的命令判断和命令数据位的接收情况;从机在主机每次读写下拉信号后进入位传输中断程序,传送或者接收数据的一位。主程序与子程序相互配合完成操作过程,位传输中断子程序通过主程序定义的读写标志变量判断应该进行读操作还是写操作,读写标志变量分为读、写、空三种状态。读、写状态分别对应从主机接收数据和向主机发送数据;空状态主要用于复位时序和命令出现错误的情况。 3.1 pic12f182c的复位 每次进入1-wire单总线协议,按照复位、ROM命令、功能命令的顺序执行,主程序的流程如图4所示。 ROM命令主要是让主机搜索、识别和指定1-wire单总线上的器件,获取ID,在执行ROM命令之前主机须发出复位信号。每当接收到复位信号后器件须无条件跳转到接收和执行ROM命令,各个状态复位。当接收到复位命令后,PIC12F1822需要在复位时序后、主机的下次命令和操作到达之前(主机复位释放总线后480μs内)初始化所要使用到的寄存器。PIC12F1822的指令周期只有125ns,可以达到时间要求。ROM命令包括读ROM、跳过ROM、匹配ROM、搜索ROM等。 功能命令是用来进行具体操作,包括读数据、写数据等。不同的器件功能命令的格式有所区别,本文采用8位命令+16位数据的格式定义:一个字节的命令,两个字节的数据。 在

文档评论(0)

lmzwkyc + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档