-
应用笔记 155
1-Wire 软件资源指南和驱动程序说明
绪论
包括iButtonR
在内,Dallas Semiconductor目前生产的 1-WireR
器件已有 30 多种.如何选择已有的应用程
序接口(API)、软件范例及其它资源与这一类器件进行通信,或为某个器件选择正确的资源是一件非常令人
头疼的事.本应用笔记提供了该类资源的概述和选择指南.本文中所描述的所有API都是免费的,而且大
多数情况下还包括完整的源代码.
1-Wire 概述
Dallas Semiconductor 的1-Wire总线是一种简单的信号交换架构,通过一条线路在主机与外围器件之间进
行双向通信.所有的 1-Wire总线都具有一个共同的特征:无论是芯片内还是iButton内,每个器件都有一个
互不重复的、工厂光刻的序列号,因此,每个器件都是唯一的.这样就允许从众多连到同一总线的器件中
独立选择任何一个器件.当1个、2 个甚至多个 1-Wire器件能共用一条线路进行通信,可以采用二进制位
检索法依次查找每一个器件.一旦器件的序列号已知,通过寻址该序列号,就可以唯一地选出该器件进行
通信.
所有通信的第一步都需要总线控制器发出一个'复位'信号以使总线同步,然后选择一个受控器件进行随
后的通信,这可以通过选择所有的受控器件或者选择一个特定的受控器件 (利用该器件的序列号进行选择)
或者通过对半检索法找到总线上的下一个受控器件来实现.上文所提到的这些指令都是'网络'指令或者
只读存储器 (ROM)指令.一旦一个特定的器件被选中,那么在下次复位信号发出之前,所有其它器件都被
挂起而忽略随后的通信.
一旦一个器件被用于总线通信,主机就能向它发出特定的器件指令,对它进行数据读写.这是因为每类器
件具有不同的功能和不同的用途,而且一旦器件被选定,就有了唯一的协议.虽然每类器件具有不同的协
议和特征,但其工作过程却是相同的并且遵循如图 1 所示的工作流程.
图1. 典型的 1-Wire 通信流程
每个受控器件的序列号的整数部分是一个 8 位的家族代码.这个代码对器件模型来说是特定的.因为每种
器件模型执行不同的功能,所以可以用代码来选择用于控制或者查询器件的协议.表1是Dallas
Semiconductor 器件型号家族代码.
1 10/11/05
1-Wire和iButton是Dallas Semiconductor的注册商标.
复位 1-Wire 总线 选定 1-Wire 器件 执行一个特定器件操作
AN155
表1. 家族代码对照
家族代码 器件型号( ) – iButton封装 说明 (除非指明,否则存储器单位为位)
01 (十六进制)
(DS1990A), (DS1990R)
DS2401, DS2411
只做 1-Wire 网络地址 (序列号)
02 (DS1991), DS1425 多键iButton,1152 位安全存储器
04 (DS1994), DS2404 4kb NV RAM 存储器和时钟,定时器,报警
05 DS2405 单一的可寻址开关
06 (DS1993) 4kb NV RAM 存储器
08 (DS1992) 1kb NV RAM 存储器
09 (DS1982), DS2502 1kb EPROM 存储器
0A (DS1995) 16kb NV RAM 存储器
0B (DS1985), DS2505 16kb EPROM 存储器
0C (DS1996) 容量高达 64kb 的NV RAM 存储器
0F (DS1986), DS2506 64kb EPROM 存储器
10
(DS1920), DS1820
DS18S20
带报警输出的温度传感器
12 DS2406, DS2407 1kb EPROM 存储器, 2 路可编址开关
14 (DS1971), DS2430A 256 位EEPROM 存储器和 64 位OTP 寄存器
18 (DS1963S) 4kb NV RAM 存储器和 SHA-1 引擎
1A (DS1963L) 具有写周期计数器的 4kb NV RAM 存储器
1C DS28E04-100 4096位EEPROM 存储器,2路可编址开关
1D DS2423 具有外部计数器的 4kb NV RAM 存储器
1F DS2409 用于子网的 2 路可编址耦合器
20 DS2450 4 通道 A/D 转换器 (ADC)
21
(DS1921), (DS1921H)
(DS1921Z)
ThermochronR
温度记录器
22 DS1822 经济型数字温度计
23 (DS1973), DS2433 4kb EEPROM 存储器
24 (DS1904), DS2415 实时时钟 (RTC)
26 DS2438 温度传感器,ADC
27 DS2417 带中断的 RTC
28 DS18B20 可调分辨率的温度传感器
29 DS2408 8 通道可编址开关
2C DS2890 单路数字电位计
2D DS2431 1024 位,1-Wire EEPROM
30 DS2760 温度传感器,电流,ADC
33 (DS1961S), DS2432 带SHA-1 引擎的 1k EEPROM 存储器
37 (DS1977) 口令保护的 32kB (字节) EEPROM
3A (DS2413) 双通道可编址开关
41
(DS1922L), (DS1922T)
(DS1923), DS2422
高存储容量 Thermochron (温度)和Hygrochron (湿度) 记录器
*该列表中并非 Dallas 的全部 1-Wire 器件 (家族),这些仅是 Automatic Information 事业部提供的软件库可直接支持的器件.
2 10/11/05
Thermochron 是Dallas Semiconductor 的注册商标, Hygrochron 是Dallas Semiconductor 的商标.
Java 是Sun Microsystems 的商标.
AN155
API 基础
1-Wire 通信器件的不同应用程序接口 (API)有着许多共性,反映了协议的基本数据通信原理.图2是根据
不同 API 功能进行的分类.因为大多数 1-Wire 器件具有存储器,尽管存储器输入输出功能并不适用于所
有的器件,我们还是把它们视为一个通用 API 集.其它所有不具备存储器专用功能的划分为一类——专用
器件集.
图2. API 功能集
会话
分时使用 1-Wire 总线.这对于操作系统或几个进程或线程尝试同时使用同一总线的情况下是非常重要
的.当多项操作在同一器件上运行而又不能被打断的时候,需要独占总线的使用权.
链路
基本的 1-Wire 总线通信功能. 所有的 1-Wire 总线通信功能可以归结为:复位所有的器件和读写位.这
也包括设置总线电特性的功能,如提供专用的 EPROM 编程脉冲或进行供电.
网络
查找和选择器件的网络功能. 每个 1-Wire 器件都有一个固定的序列号,作为它的唯一的网络地址.这
些功能可以通过链路层功能进行构造.在1-Wire 器件数据资料中将其称为 ROM 指令,这是因为序列号
是只读的.还有一些 1-Wire 控制器包括一些内置功能,因为它们比通过链路功能进行构造有效得多.
传输
块通信和基本的存储器读/写功能. 这还包括存储器信息包读/写功能.这些功能是通过网络层和链路层
功能构造的.
文件
使用 1-Wire文件结构 (参考应用笔记 114,English only)的文档存储层功能.这些功能是通过网络层和
传输层功能构造的,且只对使用多页存储器的器件有效.
器件
专用器件的'高层'功能.这些功能通常是通过网络、传输和链路类功能构造的,并执行诸如读取温度
值或设置开关状态等操作.
图3概括了使用这些功能的典型顺序.'会话'功能围绕着调用器件进行通信,具有代表性的是先使用一
个'网络'功能,然后运行存储器或'器件'的特定操作.
3 10/11/05
AN155
图3. API 用法流程
iButton通信实质上是通过与其触头相接触来实现的.这意味着与器件的联系有时是不可靠的.
…… 欲阅读全文,请下载!
- 立即下载:注意:请一定升级到最新版[OFFICE]才能正常打开本站提供的文档![常见问题指南]
- 相关搜索:
- →GOOGLE中搜索"1-Wire 软件资源指南和驱动程序说明"相关网站.
- →BAIDU中搜索"1-Wire 软件资源指南和驱动程序说明"相关网站.
- →YAHOO中搜索"1-Wire 软件资源指南和驱动程序说明"相关网站.
- →LIVE中搜索"1-Wire 软件资源指南和驱动程序说明"相关网站.
- →YODAO中搜索"1-Wire 软件资源指南和驱动程序说明"相关网站.
- 注意事项:
- ☉如果这个文档总是不能下载的请点击报告错误,谢谢合作!!
- ☉注意:下载文档后请第一时间查毒!文档太多,站长没可能都查过的,请自己小心点!谢谢合作!
- ☉欢迎广大作者给我们提供文档以及使用说明;如有其它问题,欢迎发信联系管理员,谢谢!
本类下载TOP10
数据载入中…