位置:51电子网 » 技术资料 » 接口电路

AVR单片机与串行时钟器件DS3231的接口设计

发布时间:2008/5/27 0:00:00 访问次数:803

        

    

    

    高美珍,毛欲民,刘进军1 引言

    

    由单片机构成的测控系统或智能显示屏经常需要用到实时日历或时钟信号。为节省cpu资源,本文介绍了串行时钟器件ds3231的应用及其与avr单片机atmega8的接口,该系统具有抗干扰能力强,计时准确且不随季节变化产生误差的特点。

    

    2 ds3231的结构及工作原理

    

    ds3231是低成本、高精度i2c实时时钟(rtc)器件,具有集成的温度补偿晶体振荡器(tcxo)。该器件包含电池输入端,断开主电源时仍可保持精确计时。集成的晶体振荡器可提高器件的长期精确度。ds3231的寄存器能保存秒、分、时、星期、日期、月、年和闹钟设置等信息。少于31天的月份,可自动调整月末日期,包括闰年补偿。时钟的工作格式为24小时或带am/pm指示的12小时格式。ds3231提供两个可编程日历闹钟和一路可编程方波输出。地址与数据通过i2c双向串行总线传输。

    

    2.1 ds3231的组成及工作原理

    

    如图1所示,ds3231的主要组成部分有8个模块,划分为4个功能组:tcxo、电源控制、按钮复位和rtc。

    

    

    

    

    2.1.1 32 khz的tcxo

    

    tcxo包括温度传感器、振荡器和控制逻辑。控制器读取片上温度传感器输出,使用查表法确定所需的电容,加上age寄存器的老化修正。然后设置电容选择寄存器。仅在温度变化或者用户启动的温度转换完成时,才加载包括age寄存器变化的新值。vcc初次上电时就会读取温度值,然后每隔64 s读取一次。

    

    2.1.2 电源控制

    

    电源控制功能由温度补偿电压基准(vpf)和监视vcc电平的比较器电路提供。当vcc高于vpf时,ds3231由vcc供电,当vcc低于vpf但高于vbat时,ds3231由vcc供电;当vcc低于vpf并低于vbat时,ds3231由vbat供电。为保护电池,vbat首次加到器件时振荡器并不启动,除非加载vcc,或者向器件写入一个有效的i2c地址。典型的振荡器启动时间在1 s以内。在vcc加电后或者有效的i2c地址写入后大约2 s,器件会测量一次温度,并使用计算的修正值校准振荡器。一旦振荡器运行,只要电源(vcc或者vbat)有效就会一直保持工作状态。器件每隔64 s进行一次温度测量并校准振荡器频率。

    

    2.1.3 按钮复位

    

    ds3231具有连接至rst输出引脚的按钮开关功能。若ds3231不在复位周期,会持续监视rst信号的下降沿。如果检测到一个边沿转换,ds3231通过拉低rst完成开关去抖。内部定时器定时结束后,ds3231继续监视rst信号。如果信号依旧保持低电平,ds3231持续监视信号线以检测上升沿。一旦检测到按钮释放,ds3231强制rst为低电平并保持trst。rst还可用于指示电源故障报警情况。当vcc低于vpf时,产生内部电源故障报警信号,并强制拉低rst引脚。当vcc返回至超过vpf电平时。rst保持低电平大约250 ms(trec),使供电电源达到稳定。如果在vcc加载时,振荡器不工作,将跳过trec,rst立刻变为高电平。

    

    2.1.4 时钟和日历rtc

    

    可以通过读取适当的寄存器字节获得时钟和日历信息。通过写入适当的寄存器字节设定或者初始化时钟和日历数据。时钟和日历寄存器的内容采用二-十进制编码(bcd)格式。ds3231运行于12小时或者24小时模式。小时寄存器的第6位定义为12或24小时模式选择位。该位为高时,选择12小时模式。在12小时模式下,第5位为am/pm指示位,逻辑高时为pm。

    

    2.1.5 闹钟

    

    ds3231包含2个定时/日期闹钟。闹钟1可通过写入寄存器07h~0ah设定。闹钟2可通过写入寄存器0bh~0dh设定。可对闹钟进行编程(通过控制寄存器的闹钟使能位和intcn位),从而在闹钟匹配条件下触发int/sqw输出。每个定时/日期闹钟寄存器的第7位是屏蔽位。当每个闹钟的屏蔽位均为逻辑0时,只有当计时寄存器中的值与存储于定时/日期闹钟寄存器中的对应值相匹配时才会

        

    

    

    高美珍,毛欲民,刘进军1 引言

    

    由单片机构成的测控系统或智能显示屏经常需要用到实时日历或时钟信号。为节省cpu资源,本文介绍了串行时钟器件ds3231的应用及其与avr单片机atmega8的接口,该系统具有抗干扰能力强,计时准确且不随季节变化产生误差的特点。

    

    2 ds3231的结构及工作原理

    

    ds3231是低成本、高精度i2c实时时钟(rtc)器件,具有集成的温度补偿晶体振荡器(tcxo)。该器件包含电池输入端,断开主电源时仍可保持精确计时。集成的晶体振荡器可提高器件的长期精确度。ds3231的寄存器能保存秒、分、时、星期、日期、月、年和闹钟设置等信息。少于31天的月份,可自动调整月末日期,包括闰年补偿。时钟的工作格式为24小时或带am/pm指示的12小时格式。ds3231提供两个可编程日历闹钟和一路可编程方波输出。地址与数据通过i2c双向串行总线传输。

    

    2.1 ds3231的组成及工作原理

    

    如图1所示,ds3231的主要组成部分有8个模块,划分为4个功能组:tcxo、电源控制、按钮复位和rtc。

    

    

    

    

    2.1.1 32 khz的tcxo

    

    tcxo包括温度传感器、振荡器和控制逻辑。控制器读取片上温度传感器输出,使用查表法确定所需的电容,加上age寄存器的老化修正。然后设置电容选择寄存器。仅在温度变化或者用户启动的温度转换完成时,才加载包括age寄存器变化的新值。vcc初次上电时就会读取温度值,然后每隔64 s读取一次。

    

    2.1.2 电源控制

    

    电源控制功能由温度补偿电压基准(vpf)和监视vcc电平的比较器电路提供。当vcc高于vpf时,ds3231由vcc供电,当vcc低于vpf但高于vbat时,ds3231由vcc供电;当vcc低于vpf并低于vbat时,ds3231由vbat供电。为保护电池,vbat首次加到器件时振荡器并不启动,除非加载vcc,或者向器件写入一个有效的i2c地址。典型的振荡器启动时间在1 s以内。在vcc加电后或者有效的i2c地址写入后大约2 s,器件会测量一次温度,并使用计算的修正值校准振荡器。一旦振荡器运行,只要电源(vcc或者vbat)有效就会一直保持工作状态。器件每隔64 s进行一次温度测量并校准振荡器频率。

    

    2.1.3 按钮复位

    

    ds3231具有连接至rst输出引脚的按钮开关功能。若ds3231不在复位周期,会持续监视rst信号的下降沿。如果检测到一个边沿转换,ds3231通过拉低rst完成开关去抖。内部定时器定时结束后,ds3231继续监视rst信号。如果信号依旧保持低电平,ds3231持续监视信号线以检测上升沿。一旦检测到按钮释放,ds3231强制rst为低电平并保持trst。rst还可用于指示电源故障报警情况。当vcc低于vpf时,产生内部电源故障报警信号,并强制拉低rst引脚。当vcc返回至超过vpf电平时。rst保持低电平大约250 ms(trec),使供电电源达到稳定。如果在vcc加载时,振荡器不工作,将跳过trec,rst立刻变为高电平。

    

    2.1.4 时钟和日历rtc

    

    可以通过读取适当的寄存器字节获得时钟和日历信息。通过写入适当的寄存器字节设定或者初始化时钟和日历数据。时钟和日历寄存器的内容采用二-十进制编码(bcd)格式。ds3231运行于12小时或者24小时模式。小时寄存器的第6位定义为12或24小时模式选择位。该位为高时,选择12小时模式。在12小时模式下,第5位为am/pm指示位,逻辑高时为pm。

    

    2.1.5 闹钟

    

    ds3231包含2个定时/日期闹钟。闹钟1可通过写入寄存器07h~0ah设定。闹钟2可通过写入寄存器0bh~0dh设定。可对闹钟进行编程(通过控制寄存器的闹钟使能位和intcn位),从而在闹钟匹配条件下触发int/sqw输出。每个定时/日期闹钟寄存器的第7位是屏蔽位。当每个闹钟的屏蔽位均为逻辑0时,只有当计时寄存器中的值与存储于定时/日期闹钟寄存器中的对应值相匹配时才会

相关IC型号

热门点击

 

推荐技术资料

耳机放大器
    为了在听音乐时不影响家人,我萌生了做一台耳机放大器的想... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!