一线式时钟芯片DS2417的原理与应用

2006-05-07 15:49:40来源: 国外电子元器件

原理、功能特点及工作时序,给出了DS2417与单片机的接口电路及软件编程

DS2417是DALLAS公司生产的带中断的、可兼容一线式MicroLAN接口的实时时钟芯片,其串行通信速率达16.3kbps,且中断时间间隔可编程;它采用32位二进制秒计数器记录时间,在25℃时,其时间准确率为±2分钟/月,可用2.5V~5.5V的电源供电。该芯片功耗很低,它仅吸收200nA的电流。可与多个DS2417或具有MicroLAN接口的一线式芯片并联使用,CPU只需一根端口线就能与诸多一线式芯片通信,因此,占用微处理器的端口较少,可节省大量的引线和逻辑电路。

1 DS2417的引脚排列和内部结构

DS2417采用6引脚TSOC封装,其引脚描述如表1所列。

表1 DS2417的引脚功能

管  脚 符号标识 功  能  描  述
1 GND 接地端
2 1-Wire 串行数据输入/输出端
3 INT 中断申请信号输出端(低电平有效)
4 VDD 电源输入端
5、6 X1、X2 32.768MHz晶振接入器

DS2417的内部结构如图1所示。光刻ROM中的64位序列号是出厂前被刻好的,它可以看作是该DS2417的地址序列码;6位光刻ROM的排列是:开始8位(27H)为产品类型标号,接着的48位是该DS2417自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+);光刻ROM的作用是使每一个一线式器件的址都各不相同,这样就可以实现一根总线上挂接多个一线式芯片的操作。

对于一线端口,在ROM功能建立之间,时钟的读写和控制功能是无法实现的。总线控制器必须首先提供下列4个ROM功能控制命令(8位)中的一个:

(1)读ROM,命令字[33H];

(2)匹配ROM,命令字[55H];

(3)搜索ROM,命令字[F0H];

(4)跳过ROM,命令字[CCH]。

如果多个器件连接在一线上,这些命令将对每个器件的64位ROM部分进行操作,并选出一个特定器件以进行下一步读时钟[66H]和写时钟[99H]操作的时钟功能控制。而所有命令或数据的读/写均从最低位开始。

DS2417的5、6脚外接32.768MHz晶振,片内振荡器和分频器可产生1Hz的时间基准脉冲,可接入32位二进制实时时钟计数器以完成对时间的计量。时间计数值采用双缓冲结构,时钟功能控制命令仅对读/写缓冲器进行操作,这样可以防止实时时钟计数器更新时发生读写错误。

由于DS2417芯片采用32位二进制秒计数器来记录时间(溢出的记时时间长达136年),因此必须根据实际需要规定一个基准(例如将32位全0规定为2000年1月1日午夜0时0分0秒),在此基础上通过编程算依次读出32位数值以获得相应的秒、分、时以及日、月、年等信息。如果老大哥忍气吞声时间信息较多,从编程的复杂程序看,不宜选用DS2417,而应选择其他带日历的时钟芯片。

系统继电后,DS2417芯片将停止工作,如果在VDD端接入备用电流,则DS2417可看和是非易失性、独立连续工作的器件。

2 振荡器及中断控制

DS2417内部振荡器的开启/关闭、中断是否允许以及中断申请脉冲时间间隔的长短可用软件控制,其控制命令字的格式如下:

其中D1、D0为无效位,读出时始终为0;D3、D2用于控制或报告振荡器的状态,如果振荡器处于工作状态,读出该字节时两个OSC的值全为1,否则全为0,同样对OSC写入全1时振荡器开启,在OSC写入全0时可关闭振荡器;D7位IE是中断使能控制位,当IE=1时中断允许,IE=0时中断关闭;D6、D5、D4是中断申请脉冲(负脉冲,持续122μs)时间间隔控制位,时间间隔与IS2、IS1、IS0的关系如表2所列。

表2 DS2417的中断脉冲时间间隔控制

IS2 IS1 IS0 中断脉冲时间时隔
0 0 0 1s
0 0 1 4s
0 1 0 32s
0 1 1 64s
1 0 0 2048s
1 0 1 4096s
1 1 0 65536s
1 1 1 131072s

3 DS2417与单片机的典型接口设计

图2以MCS-51系列单片机为例,画出了DS2417与微处理器的典型连接电路。其中1-Wire端接AT89C51的P1.0,INT端接AT89C51的INT0,VDD采用5V电源供电。

假设单片机系统所用的晶振频率为12MHz,笔者根据DS2417的初始化时序、定悍序和读时序分别编写了三个子程序:INIT为初始化子程序、WRITE为写(命令或数据)子程序、READ为读数据子程序,所有的数据读写均由最低位开始。具体程序如下:

DAT EQU P1.0

........

INIT:CLR EA

INI10:SETB DAT

MOV R2,#200

INT11:CLR DAT

DJNZ R2, INI11

;主机发复位脉冲持续3μs×200=600μs

SETB DAT ;主机释放总线,口线改为输入

MOV R2,#30

INI12:DJNZ R2,INI12

;DS2417;等待2μs×30=60μs

CLR C

ORL C,DAT

;DS2417;数据线变低(有存在脉冲)吗?

JC INI10 ;DS2417未准备好,重新初始化

MOV R6,#80

INT13:ORL C,DAT

JC INI14;DS2417;数据线变高,初始化成功

DJNZ R6, INI13

;数据线低电平可持续3μs×80=240μs

SJMP INI10 ;初始化失败,重来

INI14:MOV R2,#240

INI15:DJNZ R2,INI15

;DS2417;应答最少2μs×240=480μs

RET

;---------------

WRITE:CLR EA ;写入的命令/数据字节在A中

MOV R3,#8 ;循环8次,写一个字节

WR11:SETB DAT

MOV R4,#8

RRC A ;写入位从A中移到CY

CLR DAT

WR12:DJNZ R4,WR12 ;等待16μs

MOV DAT,C;命令字按位依次送给DS2417

MOV R4, #20

WR13:DJNZ R4, WR13 ;保证写过程持续60μs

DJNZ R3, WR11 ;未送完一个字节继续

SETB DAT

RET

;----------------

READ:CLR EA

MOV R6,#8 ;循环8次,读一个字节

RD11:CLR DAT

MOV R4,#4

NOP ;低电平持续2μs

SETB DAT ;口线设为输入

RD12:DJNZ R4,RD12 ;等待8μs

MOV C,DAT ;主机按位依次读入DS2417的数据

RRC A ;读取的数据移入A

MOV R5,#30

RD13:DJNZ R5,RD13 ;保证读过程持续60μs

DJNZ R6,RD11 ;读完一个字节的数据,存入A中

SETB DAT

RET

;----------------

由主机控制DS2417以完成时间初始值的写入或时间值的读出必须经过三个步骤,分别是:初始化使DS2417准备好、发ROM功能命令和相应的64位光刻ROM数据、发时钟功能命令读写控制字节和四个字节的时间值。假设一线仅挂接一个芯片,则对于ROM功能命令只需发跳过ROM[CCH]即可:而对于时钟功能命令,不论是读还是写,第一个字节均为控制字,随后的四个字节为时间数据。如将读出的控制字放入30H,时间计数值从低位到高位依次放入31H~34H,那么,其子程序GETSJ如下:

GETSJ:LCALL INIT

MOV A,#0CCH

LCALL WRITE ;发跳过ROM命令

LCALL INIT

MOV A,#66H ;发读时钟命令

LCALL WRITE

MOV R0,#30H

MOV R7,#5

RDNEXT:LCALL READ

MOV @R0,A

INC R0

DJNZ R7,RDNEXT

RET

.......

如果子程序GETSJ读取的时间值放于34H~31H中,根据选择的时间基准,经过编程变换即可得到日历时间信息。如果一线上挂接多个DS2417或其它一线式接口芯片,则子程序GETSJ的编写将会复杂一些,限于篇幅,本文不再,读者可参阅相关文献。

关键字:原理  应用

编辑: 引用地址:http://www.eeworld.com.cn/gykz/qrsxt/200605/4213.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
原理
应用

小广播

独家专题更多

TTI携TE传感器样片与你相见,一起传感未来
TTI携TE传感器样片与你相见,一起传感未来
TTI携TE传感器样片与你相见,一起传感未来
富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved