0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

利用DS1305时钟芯片实现电源开关电路的数据采集系统设计

牵手一起梦 来源:单片机与嵌入式系统应用 作者:黄志勇,邹久朋, 2020-04-19 10:48 次阅读

引言

对于许多便携式数据采集系统,需要长时间无人看管地工作,如在石油钻井下、输油管道等场所。一般需要间隔数小时进行一个采集,这样系统大部分时间处空闲状态。虽然现在低功耗单片机的睡眠状态提供了降低功耗的一种方法,但低功耗不等于没有功耗,系统长时间工作时不得不考虑功耗的问题。

为进一步节省功耗,我们在研制一数据采集系统时,利用实时时钟芯片DS1305设计一电源开关电路。利用该开关电路,可使系统在空头时处于关闭状态,每当采集时间到,由报警信号开启单片机系统以进行数据采集,在数据采集结束时,单片机关闭开关电路,系统断电。这样系统处于关闭状态,一直到下一次开关电路报警。

利用DS1305时钟芯片实现电源开关电路的数据采集系统设计

1、 DS1305简介

DS1305是美国Dallas公司推出的串行接口带报警实时时钟。它有20脚的TSSOP、16脚的DIP两种封装方式,工作电压范围从2.0~5.5V。

1.1 主要特性

DS1305用二一十进制(BCD)码表示实时时钟的秒、分、小时、星期、日、月和年的时间信息,并且自动对小月(少于31天的月份)和闰年的日期进行调整,兼有带AM/PM指示12小时和24小时两种时间指示格式。图1为DS1305两种引脚的排列。

DS1305提供了主电源和后备电源的双电源引脚和一个电池输入引脚;Vcc1为主电源,Vcc2为后备电源,可充电电源接此引脚,VBAT接3V的锂纽扣电池或其它电源。VCCIF引脚用来驱动SDO和PF(电源失效输出)引脚的电平和接口的电相兼容。DS1305只支持三种电源连接方式,如图2所示。VCC1和VBAT供电时,VCC1大于VBAT0.2V时,正常对DS1305进行访问。当VCC1小于CBAT时,DS1305进入写保护。VCC1、VCC2供电时,当Vcc1比Vcc2大0.2V,Vcc1输入作为电源;当Vcc1小于Vcc2,Vcc2对DS1305供电。这种模式下,DS1305不能写保护自己。当Vcc1以+5V供电时,DS1305正常工作电流为1.28mA,时钟保持电流最大为81μA,当+2V供电时,正常工作电流为0.425mA,时钟保持电流最大为25.3μA。

DS1305支持通过SPI串行数据端口或者标准的三线接口进行时间的校正和数据的读取,可进行单字节的或连读字节束发方式的访问。SERMODE接地,串口访问模式设定为标准3线模式:SD1(串口数据输入)与SDO(串口数据输出)连接在一起作为单一的I/O引脚,它与CE、SCLK组成3线模式。SERMODE接VCC,选择SPI通信模式,具体操作可查阅有关资料

INT0、INT1提供两个可编程的中断报警信号,可通过串行总线访问和设定秒、分、时、星期的报警时间。

X1、X2引脚直接连接标准的32.768kHz晶振,无需外接其它元件。如实时时钟有误差,可以在振荡器两端并接6pF电容进行调整。

1.2 操作方式

DS1305共有148个用户RAM,其读操作地址与写操作地址空头分开,当其高位为1时,为写操作地址空间,0为读操作地址。除实时时钟、日历寄存器和通用寄存器之外,还有作一般数据存储器用的96字节的NVRAM。对DS1305操作之前,必须对控制寄存器、状态寄存器、涓流充电寄存器进行初始化。

以下为控制寄存器(0F读,8F字):

EOSC:设置为0使振荡器开始工作,设置为1,DS1305处于低功耗闲置状态。WP:写保护位,上电初始化后,WP位处于三态,在任何写操作之前,该位必须清零。INTCN:中断控制位,控制两个中断之间的联系,置位后两个中断引脚INT0、INT1分别响应各自的中断(需中断使能),清零后,中断1、2报警时间匹配都只能引发INT0输入低电平,INT1无效。ALE0、ALE1置1时中断0、1使能。

状态寄存器(读10H)只有两位IRQF0、INQF1,置位时分别表示中断时间匹配。涓流充电寄存器(读11H,写91H)控制涓流充电的特性。

DS1305标准三线模式的读写操作过程,每个字节需要16个SCLK时钟。通过CE引脚输入高电平来启动所有数据传送,前8个SCLK周期为输入写命令,后8个SCLK周期为输入或输出的数据。输入时,SCLK的上升沿数据有效;输出时,SCLK的下降沿输出数据有效。

2、 用DS1305开启数据采集系统

图3所示的电路是利用DS1305组成的数据采集系统。89C51与DS1305使用标准三线形式进行通信,74HC73为JK触发器,输入端J、K、CD接高电平,时钟CLK接DS1305的中断引脚INT0,输出引脚Q与三极管组成数据采集系统的开关。此外,DS1305在主电源断电时,可自动转换使用备用电池继续供电,不会造成时钟的丢失。

在采集系统上电初始化时钟芯片后,通过I/O口给JK触发器CLK引脚一个负脉冲,Q引脚输出为低,三极管截止,采集系统断电,功耗降到零。但时钟电路部分保持供电,在DS1305实时时钟到设定采集时间,由INT0引脚发出中断信号给触发器CLK一个低电平。由于CD维持高电平,造成JK触发器翻转,三极管导通,VCC给单片机上电复位。这样就将数据采集系统唤醒。可由单片机控制,导通模拟电路,启动传感器AD转换器等进行数据采集。采集结束后,单片机保存采集结果后,通过输出引脚发送低脉冲到CLK引脚,使JK触发器翻转,三极管截止,再次使得采集系统断电,进入瞬眠状态直至下一个采集时间,如此循环。

下面例程是图3电路所示系统的DS1305的初始化和读写程序,其中CE接P1.3,I/O引脚接P1.1,SCLK引脚接P1.2。

(1)DS1305初始化程序

RESETDS:CLR P1.2:置时钟信号P1.2=0

CLR P1.3;置片选信号P1.3=0

SETB P1.3;置片选信号P1.3=1,DS1305使能

RET

(2)对DS1305进行写操作程序

DSW: MOV R7,#08H ;该子程序为通过单片机写入地址或数据

WLOOP:RRC A ;A中为要写入的数据或地址

MOV P1.1,C

SETB P1.2 ;时钟信号

NOP

CLR P1.2 ;产生时钟脉冲

DJNZ R7,WLOOP

RET

(3)对DS1305进行读操作程序

DSR:SETB P1.1 ;为读数据做准备。

CLR A

MOV R7,#08H

RLOOP:CLR R1.2 ;写入地址后的第一个时钟脉冲下降沿开始读出数据

MOV C,P1.1

RRC A ;A中为读出的8位数据

SETB P1.2

DJNZ R7,RLOOP

RET

3、结语

用DS1305控制的电源管理系统,可使数据采集系统长时间在无人看管的环境中定时进行数据采集。根据这一思想所设计的电路,经笔者应用在远程输油管道上的压力测量,经过一个月的检验,采集时间准确,系统工作可靠。

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 电源
    +关注

    关注

    182

    文章

    16553

    浏览量

    244695
  • 芯片
    +关注

    关注

    447

    文章

    47787

    浏览量

    409090
  • 数据采集
    +关注

    关注

    38

    文章

    4523

    浏览量

    112313
收藏 人收藏

    评论

    相关推荐

    请问DS1305闹钟为什么不可以按某个时间来设置?

    前一阵调试了DS1305,测试时用它的闹钟,发现在只能按每分钟或每秒钟或每小时或每周天设置闹钟(前面三个已经测试,后一个没测)。以前用过DS1302记不太清了,那个好像只能出时间,不能用闹钟,现在用的1305
    发表于 04-22 03:07

    如何利用DS1305设计电源开关电路

    对于许多便携式数据采集系统,需要长时间无人看管地工作,如在石油钻井下、输油管道等场所。一般需要间隔数小时进行一个采集,这样系统大部分时间处空闲状态。虽然现在低功耗单片机的睡眠状态提供了
    发表于 03-11 07:06

    电源开关电路相关资料推荐

    电源开关电路,经常用在各“功能模块”电路电源通断控制,是常用电路之一。...
    发表于 10-28 09:58

    用MOS管实现电源开关电路

    转自:电路电源开关电路,经常用在各“功能模块”电路电源通断控制,是常用电路之一。本文要讲解的电源开
    发表于 10-28 07:05

    DS1305时钟芯片越走越快怎么解决?

    弄了一个DS1305时钟,驱动成功后很高兴 ,很快就发现问题,有半天的时间,这个芯片的时间就可以快出20S左右的时间,几天前烧的程序,现在已经快到2分钟左右了。感觉是不是有点太离谱了。各位前辈有没有这样的问题,有没有解决方法
    发表于 10-30 06:19

    用实时时钟芯片DS1305启动数据采集系统

    介绍串行时钟芯片DS1305 的功能、结构及其利用DS1305 设计的电源开关电路,可使
    发表于 05-15 13:51 28次下载

    DS1305,pdf datasheet (Serial A

    DS1305串行、带闹钟的实时时钟是全二进制编码的十进制(BCD)日历钟,可以通过简单的串行接口访问。该时钟/日历可以提供秒、分、时、日、月、年信息。对于少于31天的月份,到每月
    发表于 12-10 13:04 44次下载

    快速电源开关电路

    快速电源开关电路图:有些设备,如电视机等要求电源开关迅速,以保护设备安全。普通的开关由于机械的惰性,开关时间较长,达到数十M秒以上。
    发表于 12-16 01:18 835次阅读
    快速<b class='flag-5'>电源开关电路</b>图

    电子式电源开关电路

    电子式电源开关电路
    发表于 03-01 11:05 1727次阅读
    电子式<b class='flag-5'>电源开关电路</b>

    DS1305 RTC与8051微控制器的接口

    摘要:本文介绍DS1305实时时钟与8051微控制器DS2250的连接,所提供的基本接口程序用C语言编写。 DS1305引脚配置 概述
    发表于 04-21 11:16 1512次阅读
    <b class='flag-5'>DS1305</b> RTC与8051微控制器的接口

    单按钮控制的电源开关电路

    单按钮控制的电源开关电路
    发表于 05-20 13:14 2794次阅读
    单按钮控制的<b class='flag-5'>电源开关电路</b>图

    DS1305 带有闹钟的串行实时时钟(含应用电路)

    DS1305 带有闹钟的串行实时时钟 概述 DS1305串行、带闹钟的实时时钟是全二进制编码的十进制(BCD)日历钟,可以通过简单的串行接口访问。
    发表于 12-10 13:07 2509次阅读
    <b class='flag-5'>DS1305</b> 带有闹钟的串行实时<b class='flag-5'>时钟</b>(含应用<b class='flag-5'>电路</b>)

    带软开启功能的MOS管电源开关电路

    电源开关电路,经常用在各“功能模块”电路电源通断控制,是常用电路之一。本文要讲解的电源开关电路,是用MOS管
    的头像 发表于 09-02 10:06 1.1w次阅读
    带软开启功能的MOS管<b class='flag-5'>电源开关电路</b>

    带软开启功能的MOS管电源开关电路

    转自:电路啊       电源开关电路,经常用在各“功能模块”电路电源通断控制,是常用电路之一。本
    发表于 10-21 14:06 41次下载
    带软开启功能的MOS管<b class='flag-5'>电源开关电路</b>

    DS1305 时钟/定时 - 实时时钟

    电子发烧友网为你提供Maxim(Maxim)DS1305相关产品参数、数据手册,更有DS1305的引脚图、接线图、封装手册、中文资料、英文资料,DS1305真值表,
    发表于 11-21 21:28
    <b class='flag-5'>DS1305</b> <b class='flag-5'>时钟</b>/定时 - 实时<b class='flag-5'>时钟</b>