为嵌入式应用选择合适的1-Wire®主机
摘要:本应用笔记介绍了嵌入式应用中的四类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® 主机 合适 选择 应用 嵌入式 相关文章:
- 高速PCI信号采集卡设计与实现综合实例之:主机应用程序和驱动程序的接口设计(06-04)
- 总线报警主机红外光栅视频联动系统(12-14)
- RS485如何实现多主机控制(12-14)
- RS-485的多机通信程序(主机端)(11-30)
- 新唐M0的MDK+NU-LINK的半主机调试使用(11-29)
- 第45节:主机的串口收发综合程序框架(11-22)