当前位置:首页 > 嵌入式 > 嵌入式硬件
[导读] 本应用笔记介绍了嵌入式应用中的四类1-Wire主机电路,并讨论了它们与备用(即未用)系统资源相关的性能与要求。文中给出的电路适用于半径不超过1米,只挂接少量1-Wire从器件的小型网络。文章还介绍了针对具体应用寻找最具性价比的1-Wire主机的指令和决策表。这里假设读者熟悉1-Wire通信和微控制器的基本知识。

引言

1-Wire总线是一个简单的信号传输电路,可通过一根共用的数据线实现主控制器与一个或一个以上从器件之间的半双工双向通信。电源和数据通信通过单根数据线传输,使得1-Wire器件具有无与伦比的强大功能,可减少系统间的互联。1-Wire器件通过受专利保护的单触点串行接口提供存储器、混合信号和安全认证功能。1-Wire器件的典型应用如下:打印墨盒或医疗消耗品的识别;机架卡的校准和控制;印刷电路板、配件及外设的识别和认证;知识产权保护、防克隆、安全功能控制。

采用1-Wire技术时,需要通过1-Wire主机发送信号来识别总线上的器件并与它们通信。构建一个1-Wire主机有很多方法。本文讨论了嵌入式应用的主机,包括半径不超过1米且1-Wire从器件数目不超过三至五的小型网络。设计1-Wire大型网络或从器件数目较多时,可参考应用笔记148:"1-Wire网络可靠设计指南"。
1-Wire术语

首先解释几个1-Wire文档中常见的术语。

主机接口

本文讨论的电路为1-Wire主机控制器,它们均与1-Wire从器件通信。但是,这些1-Wire主机控制器不能作为单独的主体,需要一个主机(计算机)告诉它们在1-Wire侧如何工作。主机接口指1-Wire主控制器和“系统中更高级的指挥官” (即主机)之间的连接类型。

工作电压

通常情况下,1-Wire器件的工作电压范围为2.8V (最小值)至5.25V (最大值)。多数1-Wire器件没有电源引脚。因此,这种器件以寄生供电的方式从1-Wire通信线路获取电源。工作电压和1-Wire上拉电压实际上是同义词。工作(上拉)电压越高,1-Wire器件所得到的功率就越大。电压越高,网络中可以挂接的1-Wire从器件也越多,时隙之间的恢复时间也越短。

强上拉

强上拉是指一种在时隙之间向1-Wire网络提供额外电源的方法。需要额外电源的部件如下:EEPROM器件(当把数据从缓冲区复制到EEPROM单元时);安全存储器(当SHA-1引擎运行时);1-Wire温度传感器(在温度转换期间)。当这些1-Wire器件用于3V电压供电时,强上拉是必需的;同样的1-Wire从器件处于5V环境中时,强上拉则是可选的。

1-Wire时序

下面介绍1-Wire时隙和复位/应答检测时序波形的一般形式,以及产生这些波形的方法。可以采用特殊的硬件(如自带定时发生器的芯片)或通过软件直接产生波形。对于软件开发人员来说,硬件方式比较容易,但需要另加芯片。软件方式节省了硬件成本,但如果所选择的微控制器没有软件支持,则可能会增加软件开发和测试成本。如果应用软件是用高级语言编写的,采用软件方式时需要特别考虑。对于产生时隙和复位/应答检测时序的低级功能来说,均有必要用汇编语言编写,这样一来可以计算出执行一条指令所需的时钟周期个数。
支持高速模式

多数1-Wire从器件可以两种速度通信:标准速度和高速模式。高速模式下的速度比标准速度约快8倍。所有1-Wire从器件均支持标准速度通信。所有2类至4类的主机(下文中提到的)均支持高速模式。1类主机是否支持高速模式取决于微控制器性能(时钟速率,每指令周期所需时钟周期个数)。

有源上拉

1-Wire总线或网络是一个开漏环境,0V (逻辑0)为有效状态。空闲时,总线通过一个电阻拉高到上拉电压(电阻上拉)。因此,下降沿是陡峭的;上升沿由于电阻和寄生电源的作用相当平缓。有源上拉是指一种测试上升沿的方法,如果已经超过规定门限,通过低阻通道在有限的时间内旁路上拉电阻。小型网络或只有一个从器件的网络一般不需要有源上拉。如果带有源上拉,1-Wire总线再充电的速度比电阻上拉快得多,因此,网络中支持多个1-Wire从器件时,无需延长时隙之间的恢复时间。各种1-Wire主机的旁路上拉强度(阻抗)和控制有源上拉时间的方法有所不同。

1-Wire主机电路

下面详细讨论不同的主机电路。电路分为以下四类:
微处理器端口-引脚连接
内置1-Wire主机的微控制器
合成的1-Wire总线主机
串行接口协议转换

每个分类介绍了一个或多个电路。给出了电路原理图,列出了前提条件,衡量了优缺点,给出了注意事项、建议阅读的参考文档和支持软件网址。

1类. 微处理器端口-引脚连接

图1为最基本的1-Wire主机。

电路的唯一先决条件是需要一个备用双向端口及一定的程序存储器空间。电路的优点在于它的额外硬件成本极低,仅需一个上拉电阻。缺点在于,1-Wire时序通过软件产生,增加了前期软件开发的时间和成本。根据应用中1-Wire从器件数目和1-Wire上拉电压,需要其它端口引脚来实现强上拉。1-Wire总线最高工作电压取决于双向端口特性(最好具有5V容限)。1-Wire总线上挂接多个从器件时,RPUP值应取低一些。如果那样的话检查VOLmax是否与1-Wire从器件和微处理器端口的输入特性兼容。高速通信模式要求微处理器具备高时钟频率和/或较低的每指令周期时钟数。更多信息,请参阅应用笔记3829:"确定多从机1-Wire网络的恢复时间"和应用笔记126:"用软件实现1-Wire通信"。应用软件示例见1-Wire Public Domain Kit。


图1. 带可选强上拉电路(虚线部分)的双向端口引脚

图2给出与图1类似的另一种基本电路。

图2电路的先决条件是需要两个备用单向端口、下拉晶体管及一定的程序存储器空间。电路的优点是不需要双向端口。缺点在于,1-Wire时序通过软件产生,增加了前期软件开发的时间和成本。根据应用中1-Wire从器件和1-Wire上拉电压,有时需要其它端口引脚提供强上拉。1-Wire总线最高工作电压取决于双向端口特性(最好具有5V容限)。1-Wire总线上挂接多个从器件时,RPUP值应取低一些。此时,应检查VOLmax是否与1-Wire从器件和微处理器端口的输入特性兼容。高速通信模式要求微处理器具备较高的时钟频率和/或较低的每指令周期时钟数。更多信息请参阅应用笔记3829:"确定多从机1-Wire网络的恢复时间"和应用笔记126:"用软件实现1-Wire通信"。应用软件示例见1-Wire Public Domain Kit。

图2. 带可选强上拉电路(虚线部分)的单向端口引脚

2类. 内置1-Wire主机的微控制器

图3电路与图1非常类似,不同之处在于微控制器类型。

图3电路的主要前提是需要一个内置1-Wire主机的微控制器,如DS80C400、DS80C410或DS80C411,以及一定的程序存储器空间。电路的优点在于1-Wire时序由硬件产生,可以减少前期软件开发的时间和成本。因此,整个应用软件可以用高级语言编写。DS80C400系列微控制器端口带有5V容限。缺点在于,只有高端微控制器才内置有1-Wire主机。根据应用中1-Wire从器件和1-Wire上拉电压,可能需要其它端口引脚提供强上拉。1-Wire总线上有不止一个从器件时,RPUP值应取低一些。此时,应检查VOLmax是否与1-Wire从器件和微处理器端口的输入特性兼容。更多信息,请参阅应用笔记3829:"确定多从机1-Wire网络的恢复时间"、应用笔记613:"DS80C400的Keil C语言编程"、以及DS80C400数据资料。应用软件示例见1-Wire Public Domain Kit。

图3. 内置1-Wire主机的微控制器及可选的强上拉电路(虚线部分)

3类. 合成的1-Wire总线主机(ASIC/FPGA)

图4电路与图3非常类似。不同之处在于微控制器和1-Wire端口是内置在ASIC或PFGA中的。
图4电路的主前提是需要具有单片机能力的ASIC或FPGA,至少有一个空闲的双向端口引脚,3470个未使用的门和一定的程序存储器空间。电路的优点在于1-Wire时序由硬件产生,可以减少前期软件开发的时间和成本。因此,整个应用软件可以用高级语言编写。缺点在于,并非所有ASIC或FPGA都有5V容限端口。1-Wire工作电压取决于ASIC/FPGA的端口特性。一些2.5V FPGA有5V容限I/O端口,比3.3 FPGA理想。根据应用中1-Wire从器件和1-Wire上拉电压,可能需要其它端口引脚提供强上拉。1-Wire总线上挂接多个从器件时,RPUP值应取低一些。此时,应检查VOLmax是否与1-Wire从器件和微处理器端口的输入特性兼容。更多信息请参阅应用笔记119:"嵌入1-Wire主机"、应用笔记120:"利用1-Wire主机通讯"、应用笔记145:"Interfacing the Maxim 1-Wire Master (DS1WM) to an ARM7 Processor"、应用笔记3829:"确定多从机1-Wire网络的恢复时间"、以及DS1WM数据资料。欲获取1-Wire主机Verilog/VHDL代码,请通过提交技术支持要求。应用软件示例请参见应用笔记120和145。

图4. 带可选强上拉电路(虚线部分)的ASIC/FPGA

4类. 串行接口协议转换

图5电路只需一个额外器件即可构建一个功能齐备的1-Wire主机。

图5电路的主要前提是需要一种控制UART的方式,例如微控制器、FPGA或PC串行端口,还需要一定的程序存储器空间。电路的优点在于1-Wire时序由硬件产生,可以减少前期软件开发的时间和成本。因此,整个应用软件可以用高级语言编写。1-Wire时序可以通过控制寄存器微调。DS2480B支持强上拉和有源上拉。嵌入式应用不需要对1-Wire时序和有源上拉进行微调,不过,内置的4位搜索加速器使1-Wire ROM搜索在软件中更易实现。就缺点而言,DS2480B较图1至图4中的分立元件昂贵。DS2480B仅采用5V工作电压。它是功能最强的单芯片1-Wire主机,适合与大量从器件通信。有源上拉持续直至超过第二个门限。DS2480B也可以编程1-Wire EPROM器件。更多信息请参阅应用笔记192:"DS2480B串行接口1-Wire线驱动器的使用" 、应用笔记4104:"DS2480B 1-Wire时序的理解及配置"、以及DS2480B数据资料。可点此处下载AN192的源代码。

图5. UART/RS-232接口

图6电路非常适合I2C总线应用。

图6电路的主要前提是需要一个I?C总线控制器,如微控制器或FPGA/ASIC,还需要一定的程序存储器空间。电路的优点是性价比高。1-Wire时序由硬件产生,可以减少前期软件开发的时间和成本。因此,整个应用软件可以用高级语言编写。DS2482支持强上拉以及有源上拉。然而,嵌入式应用不需要有源上拉。内置1位搜索加速器使1-Wire ROM搜索更容易在软件中实施。缺点在于,DS2482驱动1-Wire从器件的数目比不上DS2490或DS2480B。DS2482还提供8通道版本。单通道的DS2482-100有一个控制输出,用于增加强上拉功能(Q1)。与DS2480B和DS2490相比,DS2482-100的有源上拉持续时间是固定的。I2C上拉电阻值取决于I?C总线的长度和分布范围。更多信息请参阅应用笔记3*:"如何使用代用I?C接口的DS2482 1-Wire主控制器"、以及DS2482-100和DS2482-800数据资料。可点击此处下载应用笔记3*中的源代码。

图6. 带可选超强上拉电路(虚线部分)的I2C接口

图7中的1-Wire主机特性与DS2480B非常类似。

图7电路的主要前提是需要USB端口,一般PC中都有。电路的优点在于1-Wire时序由硬件产生,可以减少前期软件开发的时间和成本。因此,整个应用软件可以用高级语言编写。1-Wire时序可以通过控制寄存器微调。DS2490支持强上拉和有源上拉。不过,嵌入式应用不需要对1-Wire时序和有源上拉进行微调。内置的4位搜索加速器使1-Wire ROM搜索在软件中更容易实施。就缺点而言,DS2490较图5中的器件成本高,且工作电压仅为5V。作为1-Wire主机,DS2490没有DS2480B功能强大。有源上拉持续直至超过第二个门限。更多信息请参阅应用笔记117:"DS2490 Universal Serial Bus Descriptors"、以及DS2490数据资料。应用软件示例见1-Wire Public Domain Kit。

图7. USB接口1-Wire主机,该图为简化电路,详细电路参见DS2490数据资料

可接PC的适配器方案

由于它们不需要由用户开发软件,因此作为1-Wire主机的PC机附件非常便于作为原型*估1-Wire器件。除了适配器、待检测1-Wire器件和现成的电缆,用户需要的就是*估软件,如基于Java的可免费下载的OneWireViewer。PC机适配器1-Wire端口即适合连接iButton?也适合母RJ-11连接器。具体情况如表1所列。
用OneWireViewer*估1-Wire器件时,识别芯片存在与否没有差别。然而,当对具有1个从器件的应用进行建模时,识别芯片需要执行Search ROM命令,而不是Read ROM命令。这使得建立软件原型较为复杂。

表1. 适合PC的1-Wire适配器

哪款1-Wire主机适合我的应用?

为更好的回答这一问题,先确定以下事情:
确定应用是否需要强上拉。参见“1-Wire术语”部分。
确定应用中的1-Wire工作电压。参见“1-Wire术语”部分。
在决策表(表2)中,删去无法提供的前提条件的方案(列)。
在决策表中,删去实际应用不支持的工作电压的方案(列)。
如果应用需要强上拉,在第5行填YES,否则填NO。
删减后剩下的方案,执行以下步骤:

估算附加硬件的成本(根据第3行项目;如果第5行中有YES,则还包括第4行项目)并填写到第6行。除非需要升级到较大的微控制器或FPGA/ASIC,否则假定增加端口完全免费。升级时,微控制器或FPGA/ASIC增加了边际成本。

估算软件开发成本并按照构建单元数平分。将数据填入第7行。如果无法估算软件开发成本,请填写0或留白。

把第6行和第7行的数字相加,结果写到第8行。
第8行中成本最低的就是最佳选择。

表2. 决策表 Row # Title Schematic/Figure Number

结束语

适合嵌入式应用的1-Wire主机应该在附加成本尽可能低的前提下符合1-Wire器件电气要求(即工作电压,若有必要还应带强上拉)。最终选择取决于应用中空闲的(未用)资源,包括端口引脚、UART、I?C总线甚至USB端口,以及程序存储器空间。如果空闲资源不足,有必要升级为带有更多端口和/或程序存储器的微控制器或FPGA。

在串行接口协议转换类型方面,DS2482-100是最具性价比的选择。对于从器件数目比较多的应用, DS2482-800每1-Wire通道成本更低。虽然微处理器端口引脚附件电路的成本大大低于DS2482-100,但在软件开发方面投入的额外精力(尤其是当需要写“位拆裂”的低级驱动器时)只能通过构建的单元数目分担。对于基于FPGA的应用,合成1-Wire总线主机是一个值得关注的解决方案。如果DS80C4XX微控制器的其他功能可以很好的满足应用要求,则利用内置1-Wire主机所需的额外组件成本只有几美分。采用DS80C400时,1-Wire时序由硬件产生,所以软件开发成本微乎其微。虽然DS2480B和DS2490适合嵌入式应用,但它们通常应用在PC机端口适配器中。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

D类音频放大器参考设计(EPC9192)让模块化设计具有高功率和高效,从而可实现全定制、高性能的电路设计。

关键字: 音频放大器 电路设计

可调电容作为一种重要的电子元器件,在电路设计中具有广泛的应用。本文将对可调电容的基本概念、工作原理、调用方法以及应用场景进行详细探讨,旨在帮助读者更好地理解和应用可调电容。

关键字: 可调电容 电子元器件 电路设计

近日,国内新一代激光陀螺驱动系列功能芯片问世,由湖南二零八先进科技有限公司(下简称“二零八公司”)技术团队研发。相比行业内普遍应用的上一代激光陀螺驱动控制电路,激光陀螺驱动专用芯片降低了电路设计难度,大幅减小体积重量,实...

关键字: 激光陀螺仪电路 芯片 电路设计

R是施密特触发器输入端的一个10KΩ下拉电阻,时间常数为10×10-6×10×103=100ms。

关键字: 复位 电路设计 施密特触发器

学好电子技术基础知识,如电路基础、模拟电路、数字电路和微机原理。这几门课程都是弱电类专业的必修课程,学会这些后能保证你看懂单片机电路、知道电路的设计思路和工作原理;

关键字: 单片机 编程 电路设计

Buck-Boost电路工作原理及其应用你有没有去了解过呢?随着科技的不断发展,电力电子技术在各个领域得到了广泛的应用。其中,Buck-Boost电路作为一种重要的电力电子变换器,具有很高的实用价值。本文将对Buck-B...

关键字: buck-boost 电路设计

本文是开发测量核心体温( CBT )传感器产品的刚柔结合电路板的通用设计指南,可应用于多种高精度(±0.1°C)温度检测应用。

关键字: 温度传感器 电路设计

自9月22日开始,2023年中国大学生工程实践与创新能力大赛选拔赛在全国各省市陆续展开,10月29日北京、海南、新疆等区域选拔赛成功举办,也为今年的选拔赛画上了圆满的句号。在此,向那些成功晋级国赛的选手们致以热烈祝贺,同...

关键字: PCB 电路设计

自从智能手机、平板电脑、笔记本电脑的兴起,内置的锂电池技术没有革命性突破,续航问题一直伴随着这些数码设备,移动电源的出现给我们出行过程中学习、工作、娱乐提供了更多额外的电量,可谓是功不可没。

关键字: 移动电源 电路设计 智能手机

低纹波直流稳压电源设计基于晶体管显示在这里。这种晶体管稳压器适用于需要高输出电流的应用。常规一系列综合监管机构,像7805只能提供高达1A。其他系列通晶体管被添加到7805稳压电路,为改善他们目前的能力。

关键字: 直流 稳压电源 电路设计
关闭
关闭