串行时钟芯片DS1302在温度测量记录仪表中的应用
2 0 . 1 A 0 8~2 q .第1期 2
电子测斌
Dc08 e20 .No. 2 1
串行时钟芯片 D 10 S3 2在温度测量记录仪表中的应用王晨光,运强孙(中北大学信息与通信工程学院太原 005) 30 1
摘
要:测量仪表中普遍使用的实时时钟技术做了分析,对简要介绍了串行时钟芯片 D 1 0 S 32的功能及主要特
点,并结合在温度测量记录仪表的应用实例,论述了 D 1 0 S 32的重要作用,详细给出了与单片机 S C 9 5接口 T 8C 1的软硬件设计,通过软硬件实验与调试,总结了应用 DS 3 2的技术难点与注意事项,明了仪表实时时钟运行 10证的准确性与可靠性 .该设计硬件简单可靠,软件编程容易,可方便的移植到其它控制系统中. 关键词: 10;时时钟;记录仪表; DS 3 2实单片机中图分类号: 2 6 TP 1文献标识码: A
App i a i n o e i lc o k c i 1 0 n t m p r t r e s r n lc to f s r a l c h p DS 3 2 i e e a u e m a u i g a e o di g i t u e nd r c r n ns r m nt
W a g Ch n u n n e g a g,S n Yu q a g u n in
( p r n o De a t t f C mmu i t n U ies yo n omaina dC mmu iainEn iern me o nc i, nvri f If r t n o ao t o nct gn eig, o
Not nvri fC ia ay a 3 0 1 C ia rhU ies yo hn,T iu n00 5, hn ) t
Ab ta t Th e l i lc su ie s lya p id i a u ig is r m e t h u cin a d sr c: er a— meco k wa nv r al p l me s rn n tu n,t ef n to n t e n man f au e o h e ilco k h p DS 0 wa n r d c d Th i p ra t efc f t e i e t r f t e s ra lc c i 1 2 3 s i to u e . e m o tn fe t o h DS 3 2wa ic s e c o dn o is p a t a p l ain i h e s rn n tu n . Th 1 0 sds u s d a c r ig t t r ci la pi to n t em a u ig isr me t c c e s fwa ea d h r wa e d sg ft ei tra eb t e h 1 0 n TC8 C5 i ge c i o t r n a d r e in o h n e fc ewe n t eDS 2 a d S 3 9 sn l h p 1 mir c mp trw a rs n e co o u e sp e e td,t r u h t ed b g i g s fwa er u i e n a d r,h e h o g h e u gn o t r o tn sa d h r wa e t ek y tc n q e a dm at r e da tn in o h 1 0 ss m ma ie .Th c u a ya d rl bl e h iu n te sn e te t ft eDS 2wa u o 3 rz d ea c r c n ei i a— i ft e ra—i eco k r n ig wa e i e . Th ad r e in wa i pe a d r l b e t o h e lt lc u n n s v rf d y m i e h r wa ed sg s sm l n ei l, a s fwa ep o r mm ig wa a ya d c n b r n p a t d t t e o to y tm . o t r r g a n se s n a eta s ln e o o h rc n r I se sKe wo d: 1 0 y r s DS 2;r a— i l c 3 e l me c o k;r c r i g i s r m e t t e o d n n t u n;M CU
其出现的时间 .记录分析这些数据,对测控系统的性
0引
目
能分析及正常运行具有重要的意义l.传统的数据记 _ 1]录方式是定时采样 l, _主要采用单片机内部定时器, 2]通过软件编程和 C U内部的中断实现定时记录及实时
P
在测量记录仪表中,特别是应用在长时间无人职守的工业控制现场时,经常需要记录某些测量数据及
时钟的功能.这种方法简单易行成本低廉,但时钟的计时精度受 C U主晶振以及与其相连电容的影响较 P
EL CTRONI S E C TE T
串行时钟芯片DS1302在温度测量记录仪表中的应用
2 0 .2 o 81
大,无法做到很高的精度,累积误差较大.主电源掉电时为了维持时钟不停摆,必须由备份电源(通常外接电
其中 X1 X, 2为 3. 6k 2 78 Hz晶振端, ND为 G地;S R T为复位端,电平时允许 IO端进行数据高/
池)给整个 C U供电, P导致仪表功耗增大.采用专用实时时钟芯片则能很好地解决上述问题 .现阶段常用的时钟芯片有并行接口,串行接口两种 .并行接口方
传输,低电平则禁止数据传送且使 I/ O端呈高阻状态;/ IO为串行数据输入,出端,有输入,出输所输数据的传送顺序均以最低位 L B打头,高位 S最
式数据传送速度较快,但接口扩展电路较复杂,需要考虑接口扩展时的驱动能力,片引脚多,且芯占用地址,
MS结束;C K为同步时钟脉冲端, B SL其上升沿将 IO端数据按位写入 D 10,/ S 32下降沿使 D 10按 S 32位输出数据至 IO端; C 2V C为主电源和备/ V C,C 1份电源端,主电源 VC 2大于备份电源 VC 1当 C C+ 0 2时, VC 2对芯片供电, .V由 C否则, VC 1对由 C芯片供电 .工作电压范围为 2 5 .工作电 .~5 5V,源和备份电源双引脚输入,功耗很低,当工作电压
数据总线较多,体积大;而串行时钟芯片体积小,与MC U的接线少,可大大减少线路板的面积和仪器的体积,特别适用于结构紧凑的系统中.
基于以上原因,笔者在设计温度测量记录仪表的过程中选用了美国 DAL AS公司推出的串行时 L
钟芯片 D 10 .使用该芯片简化了硬件电路, S 32通过三条线就可以和单片机进行通讯,电较小;耗而且芯片内部含有 R AM,电后还可保存数据,掉方便
为 2 5V时正常工作, .所需电流不超过 30n 0 A.另外,如果选择了涓流充电功能,正常情况下,在主电源还可对备份电源进行慢速充电,有效延长了备
了用户存储一些重要时间信息;同时,它们的时钟校准也较为容易,用专用的晶振器,乎无需调使几整即可达到国家要求的时钟误差标准 .因此采用 DS 32串行时钟芯片, 10既可以产生准确的实时时钟又可以提供数据保护,大简化了硬件电路设大计,高了 C U使用效率,用更方便,于推广 .提 P使适
份电源的使用寿命,保证了系统时间的连续可靠运行.
2应用实例基于 DS 32
实时时钟芯片的强大功能,者 10笔
在研制温度测量记录仪表时使用该芯片进行实时
1 D 3 2功能 S1 0D 10 S 32是美国 D ls al公司生产的一种高性能, a 低功耗, R M的实时时钟芯片 .该芯片采用 3带 A线串行接口方式,提供年,,星期,,,可月日,时分秒等
时钟显示及记录.此记录仪可以接收多种热电偶,热电阻,电压,电流信号,可对被测信号进行趋势并记录和数字记录 .在对被测信号进行趋势记录时, 能在记录纸上热印当前测量时间及测量值,以备用户分析操作 .同时可通过键盘设定系统工作时间, 运行日期等参数,并采用 6共阴极数码管显示当个
时间信息,并可根据月份和闰年的情况自动调整月份的结束日期,时可以根据用户需要决定是采用同 2小时或 1小时格式 .D 32内部带有 3 4 2 S10 1个字节 R M,于存放临时性数据, A用同时具有可编程涓细电流充电能力,而使外围硬件电路设计得到了从大大简化 .该芯片引脚分配如图 1所示 .Vc 2 c Xl X2
前系统时间,各通道信号的测量结果等.该芯片在该记录仪中主要完成以下功能: ()样定时中断到来时, 1采提供该采样时刻对应的日历信息——年,,时,,,月日,分秒星期,将并
采样的温度数据与该信息等组合成一个记录存入系统 E P M; E RO
() 2仪表正常工作的情况下,提供系统显示时问的信息;当系统出现故障时,记录故障发生的时间及故障排除时间,这些重要的数据,对于分析故障原因及故障处理有着重要的作用 .
GN D
图 1 DS 3 2的引脚分配图 10
() 3保证时钟精度满足要求,为定时打印及与
屯迦 iEE L CTRONI T T C ES
串行时钟芯片DS1302在温度测量记录仪表中的应用
2 o .2 0 81
上位机通信提供可靠的保障; () 4可通过键盘修改系统工作时间,运行日期来校准设定时间,保证掉电仍能正常计时.由此可见,时时钟的可靠性,确度对该记实精录仪系统影响之大 .2 1接口电路设计 .在温度测量记录仪表中, 1 0 DS 3 2与微处理器
P .制 DS 32的复位输入端, 1 4与数据输 17控 10 P.入/出引脚相连, 13用来作为 D 10输 P. S 3 2的输入时钟 S L C K控制端 .由于单片机复位时,所有单片
机的端口均为高电平,如果直接用单片机的某一口线同 DS 3 2的 R T相连,影响了系统加电时对 10 S则
D 10 S 3 2的初始化,而造成 DS 32计时的不稳从 10定 .因此,电路在设计时采用反相器来完成单片本机的 IO线同 D 10/ S 3 2的 RS T相连 . 供电时,仪表主电源 (接 VC
2备份电池 5V) C,采用可充电镉镍电池 (.接 VC 1可启用内 3 6V) C,部涓流充电器在主电压正常时向电池充电,以延长
的接口电路如图 2所示 .该微处理器采用宏晶科技推出的 S C 9 5 6 D+单片机作为主控芯片, T 8C 1R
该产品具有片内资源丰富,超强抗干扰,高抗静电,超低功耗,电压,宽不怕电源抖动,系统可编程,在
加密性强,无法解密,可降低单片机时钟对外部电磁辐射等特点[,良好的性能保证了各个器件的 7其]协调可靠工作及控制要求 .在电路中单片机的:
电池使用时间.备份电池也可用 1微法以上的超容量电容代替,需要注意的是备份电池电压应略但低于主电源工作电压 .
一
OP 34Ⅸ2RT Y I R
JT .一 一
—
L C 7
卜———
Ih I
Ul
4"』一 2 5一 m眦m 一一Ⅲ砣 PP
'粪 S C V R I L c S/ T O K 1.
[ I _1 F 0 Rl1 O
VC C
争
1
盆
图 2 D 10 S 3 2与 S C 9 5单片机的接口电路 T 8C 1
2 2软件设计 . D 10 S 3 2所进行的一切工作必须先由 C U向 P
所谓日历型数据即数据格式为压缩型 B D码, C且
数值必须在它的定义域内;如,月份"例"的定义域为 1 2""~1,秒的定义域为 0 5~ 9等等 .所谓 RAM
D 10发送命令字节, S 32命令字节格式如图 3所示[ .各位定义如下: 3]命令字节的最高位 7必须为""否则禁止对 D 10进行操作 .第 6 1, S32位是时钟/日历或 R M选择位,它为",对内部 A如 1,可 R M读写, A如它为"" 0可对时钟/历操作 .此处日
型数据即指一般 1 6进制数据 .位 5至位 1为 D 10内部寄存器地址.D 10有单字节和多 S32 S 32字节两种读,写方式.所谓单字节读,写方式即每次只能从 D 10 S 3 2中读, 1节数据 .所谓多字写字
屯 塑!E E L CTR ONI TES C T
串行时钟芯片DS1302在温度测量记录仪表中的应用
2 0 .2 0 81
T st e TOOl& Sol t n S ui o
节读,写方式则每次可从 D 10 S 32中连续读,写若干字节数据 .当位 5至位 1各位均为"", S 32 1时 D I0为多字节读,写方式 .最低位 0为"" 0表示写操作,
寄存器操作,因此必须以"单字节"方式进行发送;而第 3部分属于对 D 10般寄存器操作, S 32一故可以采用"多字节"方式发送,以便提高效率 .同时,
否则为读操作.命令字节的传输都是从最低位开始.7 6 5 4 3 2 1 0
在仪表工作过程中需要读取时间日历信息时,可根据具体需要采用"字节"式或"字节"式 .多方单方
这里,无论采用"单字节"还是"多字节"方式,能否可靠,准确地读
出这些信息,其技术关键是和硬件密切相联的 D 10 S 32读写驱动程序的设计 .该驱动
图 3命令字节格式
D 10采用串行方式与微控制器通讯 .在片 S32
程序的功能是产生正确的同步时钟脉冲,并在同步时钟脉冲上升沿将数据按位写人 D 10或在同步 S 32时钟脉冲的下降沿按位从 D 10 S 32中读出日历型数据,而完成 1字节数据的发送或接收 .对于"从多
选信号 R T变为高电平后,向芯片发送指令及 S可读取数据 .D 10 S 32的命令字的传输从最低位开始 .当对 D 10进行写数据时,先发写控制指 S32首令,控制指令字输入后的下一个 S L时钟的上在 CK升沿,数据被写入 D 10,据输入从低位即位 0 S 3 2数 开始 .当对 D 10行读数据时, S 32进首先发读控制指令,紧跟 8的控制指令字后的下一个 S L 在位 C K脉冲的下降沿读出 D 10 S 3 2的数据,出数据时从读
字节"方式,只需改变命令控制字和增加循环次数即可完成多字节的连续读写 . 结合硬件电路及上述分析,者使用 C语言编笔写了 DS 32的读写程序 .编写 D 10动程序 10 S 32驱
时,首先应对硬件电路使用的端口进行定义声明, 并初始化芯片引脚及工作状态,系统一切就绪后执行读写操作 .同时, 10 DS 32在执行相应操作时,应
低位 0位至高位 7 .注意在 S L C K为高电平期问,不能读 I0线,期间 lO端为高阻状态 .因此,/此/ 在程序设计时应保证在 S L上升沿之前读 IO CK/线,即可正确读出时钟数据L[ . .]在本记录仪表系统中,时时钟软件首先应将实 E历信息初值——秒,,,月, t分时日,星期,等按年序写入到 D 10 S 32相关寄存器中,后,此时钟便以此
初值为基准进行计时,只要主电源 V C和备份电 C2源V C C 1尚有一个工作正常,则计时就不会终止 .初始化 E历信息程序分为三部分: l ()送"除写保护"令字 8 H和内容 1发解命 E ( H, )以开放 DS 32写操作 . O 10 () 2发送"流充电"涓命令字 9H和内容 A7 0 H,以开放 DS3 2内部充电电路 .本系统选择 10
D I0 S 3 2内部充电电路为一只串联二极管和 8 n k限流电阻,因此常规情况下,电源 VC 2对备份主 C电源 VC 1之最大充电电流为 I x ( D一二 C ma: VD
极管压降)限流电阻一( -0 7 -8 .3 m / 5 . )=05 8 A.() 3发送"字节写日历型数据""字节写多或单
日历型数据"命令字写入 E l历信息初值 .上述第 1第 2部分属于对 DS 32内部功能, 10
(写操作流程图 a )
() b读操作流程图
图 4程序流程图
屯迦 iEE L CTRONI TE T C
S
串行时钟芯片DS1302在温度测量记录仪表中的应用
2 o .2 0 81
保证延时时间的选择需满足芯片的时序要求,注并意 RT S引脚的及时打开与关闭,以确保数据的正常读写和避免 C U的长时问占用,少干扰,高 P减提程序的执行效率 .这里由于篇幅的原因仅给出程序设计流程,动程序有需要可向笔者索取 .具体驱程序流程如图 4所示 .
写后 R T应置低电平,防外部干扰对 D 32 S以 S 10
的内部时钟有影响,同时避免对其它电路的干扰; () 2用多字节 ( us) b r模式对时钟/ t日历寄存器进行写操作时须写满 8个数据,否则无效;3读取数据 ()
时, S L在 C K出现第 8个正脉冲时,上升沿写入命令字的 D位, 7而正是在此脉冲的下降沿就输出的是数据的 D位.程序编写时, O一定要在命令字 D 7位写入后紧跟的 S L C K脉冲的下降沿取数,否则, 会造成 S L C K第 8个脉冲的下降沿所输出数据的O D位丢失,导致读出的 D而 O位实为数据的 D1
3实验调试与总结硬件电路设计完成后,行了制版调试 .在时并进钟部分调试中,首先应检查元件的焊接及使用是否正确,电源供电是否正常;然后检查外接晶振是否起振,
位_;4 D 10 3 () S 32秒寄存器存在暂停标志位,]必须将秒寄存器的第七位设置为""时钟电路才开始 0,计时工作;5根据芯片资料,电时, S必须为 ()上 RT 0直到 VC C> 2 0V;外, C K在 R T为 1时 .另 SL S
外围电路是否与芯片技术资料中介绍的工作状态一
致,信号接人是否正确等,以确保时钟正常工作.经过反复调试,时钟可以正常工作 .由于时钟的精度取决于晶振的精度及振荡电路的容性负载
必须为 0 .编写程序时必须考虑延时时间及状[] 3 4态的设计;6每次修改时问日历信息时, ()应解除写保护寄存器的"禁止"状态,使之内容为" O才能正 O"常写入新信息 . ( )序编写时要注意各时钟/ 7程日历寄存器的数据范围 (压缩 B D码存储 )保证数 C,据读写正确 . 此外,软件设计还有考虑实时时钟的运行稳定性及可靠性 .当系统受外界干扰时,钟/时日历信
和平衡晶振的电路中的容性负载之间的匹配程度; 取决于温度变化而引起的晶振频率的漂移造成额外的误差;取决于外部电路噪声对到振荡器电路的影响[[笔者在硬件设计 P B时, 3,] C电源和地间加入了 0 1 f耦电容,C .u去 P B采用了二层板注意大面积铺地,虑到数字电路和模拟电路的干扰,考采用了光电隔离技术等措施,以最大限度地降低硬件干扰对
时钟精度的影响 .
息有可能出现错误 .我们在使用仿真器调试时发现, D 10受干扰, S 32当 S 32 D 10的时间/历寄存器日内容出现超出正常数值范围时,便不能正常工作,此时的时钟/日历信息已被修改 .经分析得知:在
基于上述硬件电路,笔者在借助伟福仿真器单独调试 D 10 S 32中发现, 10 DS 3 2的命令字的送人, 时钟的改写和读出均正确无误 .但进行仪表整体联调(接上键盘,示,显 AD),钟的改写和读出,时时 出现错误 .起初怀疑 DS 32读写驱动程序编制有 10问题,经反复检查,确保程序编制正确的前提后在下,经过示波器对 S L IO引脚波形观察,现 C K,/发 IO引脚始终为低电平,波形幅度已发生了畸/其变 .对此,在相连处加入 5Q的上拉电阻, k问题很快得以解决 .总结原因是单片机的 I0驱动能力/有限,入过多负载时将不能正常控制运行,加因此在设计系统时需考虑系统的驱动能力 .
正常情况下,系统校时程序之后,写保护寄存器的 最高位置 1为禁止用户修改;,而当系统受到干扰时程序跑飞,在看门狗复位前, P正好执行写程序 CU将写保护寄存器的最高位置 .为允许写 .修改了时钟/ t E历信息,以致发生如上错误 . 为避免此类错误的产生,可采用的方法是:时在
钟写程序中增加了一检测条件,此条件为系统中某一
口线上的电平,电平有效 (低可采用跳线的方法) .
只有在需要校时过程中,才通过手动使此口线为低电平,校时过程完成后,又通过手动使此口线为高电平.这样只有实时校时过程中,才允许修改时钟/ 日
程序设计时,要完全按照 D 10 S 32的时序要求进行编写,试总结以下几点经验: 1在向调 () D 10写数据时, T必须置高电平 .完成读 S 32读 RS
历信息,起到了时钟/ t E历信息的写保护作用.(下转第 7 5页)
屯迦EL ECT RON TE J C ST
串行时钟芯片DS1302在温度测量记录仪表中的应用
多个水工模型的流速测量中得到了应用,过了长经
1 u rn tr r m amo r g O e n ' 1c re t me sf o i, c a s 2 MTS e o n 0/I EEEVou ,2— 1Oc. 2 0 g ( ) 7 0 7 5 lme2 9 3 t 0 2Pa e s: 3— 3 .
期连续运行实验,工作正常,达到了设计的要求.参考文献[1 吕霞付等,]便携式智能流速仪的研制 E]压电与声 J.光,0 8 3 ( )4 54 9 2 0,0 4:3—3 .o ,Z n h n F n l i y p o e s a i[ Sha huiCui he s e g e g,Rei b lt r c s— 2] ig o h ic is i PL d s n,Pr c e i g f n f t e cr u t n C D e i g o edn so
[ 李胜广, 7]张其善.于 C基 F卡的嵌入式 Ln x系统的 iu裁剪口]微计算机应用
,0 6 2 ( ) 687 1 . 2O,7 6:9—0 . 王云莉,河工模型中旋桨式流速仪及特殊传[]汪拥赤, 8感器的应用[]仪器仪表学报,0 3 2 ( ) 12 J. 2 0, 4 4: 4—1 3. 5 . 4 1 1
5h I tr ain l n ee c nAS C,2 0,Vo ., t n en t a o Co frn eo I 03 12p 1 4— 3 2 p 3 91 5 .
作者简介
[文华,玉琛, 3]朱付广,速仪在国内外的研究现状流I]舰船防化,0 7 3 4—5 -. J 2 0,:34.
[ 李刚,德明, 4]项韩逢庆等,用 C L应 P D芯片的便携式流速仪[]自动化仪表,0 4 2 ( ) 3一4 J. 2 0,5 4:O3 . [ 卢延云, 5]孙玉芳.入式 Ln x库裁剪技术分析与改嵌 iu进[]计算机科学,0 4 3 ( ) 121 9 J. 2 0,1 1:6—6 .W i ims久 J la, l ., II,I tro aio fM AVS I ne c mp r n o swi t VACM,VM CM,F 一,a d Aa d r a RCM h SI D 2 n n ea
_要8究嵌研仪1生地6. E2能 -学 m式仪表)器址主研一, ao茹n研男究r双,:动 i能 l重,纯学究硕方仪正化 s器庆士 z院所 w表向智文仪亮邮 k为, j 4@电 ( 0 1大 9 0入 5 . c自智,
( 9 1)男,士研究生, 18一,硕主
要研究方向为智能仪器仪表 . 吕霞付, 1 6一,, (9 6)男教授,博士,导,硕主要研究方向
为智能仪器仪表 .
(上接第 6 9页)
在系统硬件调试成功后,者专门设计了笔 D 10测试程序,用仪表的 L D显示屏每隔 S32利 E
计[]国外电子元器件 2 0,:3 J. 0 8 3 1. []于复生, 2宋现春等.时钟芯片 D 3 2其在数据记录 S1 0中的应用[]电子技术应用 2 0,:9 J. 0035.
3ms 0实时显示时间/历信息,日以检验实时时钟的可靠性与准确性 .该测试月累积误差小于 1 0秒,
[]朱路,清慧. 3朱连续补充充电实时时钟芯片 DS 3 2 10及其应用现代电子技术口] 2 0,9 1618 . 0 6 1:1—1 . []姚德法, 4张洪林.串行时钟芯片 D 10 S 3 2的原理与使用信息技术与信息化 2 0 . . 29 . 0 61 9~4
精度满足设计要求.
4结束语串行时钟芯片 D 10连线简单, S 32体积小,价格低,微控制器系统中应用有着突出的优点,用在采D 1 0作为系统实时时钟已经在某温度测试记录 S32
x m- c o 3 ik e Ch r me[]Ⅵn w.ma i i.c m.DS1 02 Trc l a ge Ti— 5 v
k e ig Chp DALLAs 2 0 . e pn i. .01
[]何立民.片机应用系统设计 E .京: 6单 M]北北京航空航天大学出版社,90 131 9 19:3—8 .MC Me r. o S C 8 5 R/ D+系[] ww . U- moy cm T 9 C 1 C R 7
仪设计中收到了良好的效果.该记录仪投入运行一
列单片机器件手册宏晶科技. 0 64 2 0,.
年多来,可靠,稳定,准确,特别是在主电源断电
[]樊贵卿, 8李庆武.串行实时时钟芯片 D 1 0 S 3 2序设计中
的问题与对策电子技术应用[]2 0,:85. J. 0 0 7 5—9
数月之后,仍计时准确,不需要进行人工校正.该设计硬件电路结构简单,能稳定可靠,件编程性软容易,可方便的移植到其它控制系统中 . 参考文献[1赵秋,]柴锁柱.可与计算机通信的温度记录仪电路设
作者简介王晨光,, 1 8一,士研究生,究方向:信技男 ( 9 1)硕研通术,试计量技术.测E mal n c eg a g u. d .n - i wag h n un@n ceu c :
屯迦 基E E L CTR0NI E C T ST