当前位置:首页 > 单片机 > 单片机
[导读]一、DS1337介绍  DS1337串行实时时钟芯片是一种低功耗、全部采用BCD码的时钟日历芯片,它带有两个可编程的定时闹钟和一个可编程的方波输出。其地址和数据可通过I2C总线串行传输,能提供秒、分、时、日、星期、月和

一、DS1337介绍

  DS1337串行实时时钟芯片是一种低功耗、全部采用BCD码的时钟日历芯片,它带有两个可编程的定时闹钟和一个可编程的方波输出。其地址和数据可通过I2C总线串行传输,能提供秒、分、时、日、星期、月和年等信息。

1.1DS1337的引脚说明

  DS1337的引脚排列示意图如图1所示。各引脚的功能如下:

        

        图1DS1337引脚示意图

VCC,GND:直流电源和接地端,VCC的输入范围在1.8~5.5V之间。X1,X2:标准的32.768kHz的石英晶振接入端,内部晶振电路设计要求晶振特定电容负载为6pF。另外,这两个引脚还可以有其它接法,即:X1脚连接外部振荡信号源,而将X2脚悬空。

SCL:串行时钟输入,用来在总线上同步数据传输。

SDA:串行数据输入输出,SDA是I2C总线接口的数据输入输出引脚,开漏输出,使用时要求接一个上拉电阻。

SQW/INTB:方波/中断输出,可通过对DS1337的内部控制寄存器进行编程来控制这个引脚是输出方波还是输出中断信号。该引脚是开漏输出,使用时要接一个外部的上拉电阻。

INTA:中断输出端,使能时,如果闹钟寄存器的设定值与当前时间匹配,该脚会输出一个低电平。该引脚也是开漏输出,要接上拉电阻。

1.2 时间寄存器

  常用的时间寄存器地址为00H~06H。设置和初始化时间和日历可通过写相应的寄存器字段来实现,寄存器的数据格式以BCD码表示。DS1337既可以工作在12小时模式下,也可以工作在24小时模式下。小时寄存器的位6被定义为12小时模式或24小时模式选择位,该位为1时,选择12小时模式。在12小时模式时,位5是AM/PM标志位,该位为1时表示PM。当在24小时模式时,位5是第二个十位(表示20到23小时)。月寄存器的第7位是世纪位,当年寄存器从0到99溢出时,该位发生变化。

1.3 控制寄存器和状态寄存器

  DS1337中有一个控制寄存器和一个状态寄存器,可用于控制实时时钟、闹钟和方波的输出。

  控制寄存器地址为0EH。其中:

EOSC:振荡器使能位。该位为0,振荡器起振;为1,振荡器停振。刚上电时,该位为0;RS1,RS2:方波输出频率选择位。RS1和RS2共有四种组合,分别对应的方波输出频率为1Hz,4.096kHz,8.192kHz,32.768kHz。在刚加电时,方波输出频率设置是32.768kHz。

INTCN:中断控制位。用于控制两个闹钟与中断输出脚之间的关系。为1时,两个闹钟在满足定时条件时,各自有独立的中断输出。为0时,两个闹钟共用一个中断输出脚INTA,而脚SQW/INTB为方波输出端。开始上电时,该位为0。

A1IE:闹钟1中断使能位。为1时,允许状态寄存器的A1F位输出到脚INTA。上电时该位为0,此时不能用A1F位初始化INTA信号。

A2IE:闹钟2中断使能位,该位的作用与A1IE位相同。

  DS1337的状态寄存器地址为0FH,各位的作用如下:

OSF:振荡器停止标志。该位为1,表示振荡器已停止。有四种情况能产生这样的结果:一是芯片刚上电,二是Vcc引脚电压不足,三是EOSC位为1,四是晶振受到外部影响(如噪声等)。

A1F、A2F:闹钟标志位。为1时,表示闹钟设定时间与当前时间匹配,并产生中断输出。

图2 DS1337寄存器

1.4 对DS1337的读与写

图3 DS1337 写寄存器

  从上图中,可以看出,主器件发起开始条件,发送从器件的地址和写命令(0xD0|0x00),等待从器件的应答,然后再发送要写的寄存器地址,等待从器件的应答,然后再发送要写的数据,等待从器件的应答,如果写操作完成,主器件发送结束。完成一次写数据过程。

图4 DS1337 读寄存器

  从上图中,可以看出,主器件发起开始条件,发送从器件的地址和写命令(0xD0|0x00),等待从器件的应答,然后再发送要读的寄存器地址,等待从器件的应答,然后主器件再重新发送开始条件,发送从器件的地址和读命令(0xD0|0x01),等待从器件的应答,接收从器件发来的数据,主器件应答。当收到最后一个数据后,主器件发送非应答和结束。完成一次读数据过程。


二、SMBus总线介绍

  SMBus串行I/O接口是一个双线的双向串行总线,与I2C串行总线兼容。图 5给出了一个典型的SMBus 配置。SMBus 接口的工作电压可以在3.0V和5.0V 之间,总线上不同器件的工作电压可以不同。SCL(串行时钟)和 SDA(串行数据)线是双向的。 必须通过上拉电阻或类似电路将它们连到电源电压。当总线空闲时,这两条线都被拉到高电平。连接在总线上的每个器件的 SCL 和 SDA 都必须是漏极开路或集电极开路的。

图5SMBus 配置

  2.1握手

  SMBus采用多种线路条件作为器件间的握手信号。在一次数据传输中,SDA只能在SCL为低时改变电平。在SCL为高电平时SDA发生改变则是代表如下的开始和停止信号:

开始:该条件启动一次传输过程。当SCL为高电平时SDA上出现一个下降沿。

结束:该条件结束一次传输过程。当SCL为高电平时SDA上出现一个上升沿。

应答:也称为ACK,接收器件发送该信号表示确认。例如,在器件X收到一个字节后,它将发送一个ACK确认传输成功。ACK条件是在SCL为高时采样到SDA为低电平。

非应答:也称为NACK,这是在SCL为高电平时采样到SDA为高电平。当接收器件不能产生ACK时,发送器件看到的是NACK。在典型的数据传输中,收到NACK信号表示所寻址的从器件没有准备好或不在总线上。一个处于接收状态的主器件发送NACK表示这是传输的最后一个字节。图2给出了握手信号时序。

图6 SMBus 时序

  2.2 传输方式

  有两种可能的传输方式:写(从主器件到从器件)和读(从从器件到主器件)。在一次传输中,任何一个器件都可以是四种角色之一。这四种角色将在下面说明。注意,从地址+R/W’是指一个8位传输(7位地址,1位R/W)。

  1)主发送器:在该方式下,器件在SDA上发送串行数据,在SCL上输出时钟。器件用一个起始条件启动传输过程,发送从地址+W,然后等待从器件的ACK。收到ACK后,器件发送一个或多个字节数据,每个字节都要由从器件确认。在发送完最后一个字节后,器件发送一个停止条件。

  2)主接收器:在该方式下,器件在SDA上接收串行数据,在SCL上输出时钟。器件用一个起始条件启动传输过程,之后发送从地址+R。在收到从器件对地址的ACK后,在SCL上输出时钟并在SDA上接收数据。在接收完最后一个字节后,器件将发送一个NACK和一个停止条件。

  3)从发送器:在该方式下,器件在SDA上输出串行数据,在SCL上接受时钟。器件接收一个起始条件和它自己的从地址+R,然后发出ACK并进入从发送方式。器件在SDA上发送数据,在发送完每个字节后都要收到一个ACK。在传输完最后一个字节后,主器件发送一个NACK和一个停止条件。

  4)从接收器:在该方式下,器件收到来自主器件的起始条件和和它自己的从地址+W。然后发出ACK并进入从接收方式。现在器件在SDA上接收串行数据,在SCL上接收时钟。在接收完每个字节后都要发送一个ACK,在接收到主器件的停止条件后退出从接收方式。

  图7为典型的写操作情况。图8为典型的读操作情况。

图7 写操作

  (1)为一个成功的传送过程。在(3)中,主器件在收到一个ACK后重新发出起始条件。这一过程允许主器件在不放弃总线的情况下启动一个新的传输过程(例如,从写操作切换到读操作)。重复起始条件通常在访问EEPROM时使用,因为一个读操作前面必须有一个写存储器地址的操作。

图8 读操作

  2.3 SMBus特殊功能寄存器

  对 SMBus 串行接口的访问和控制是通过 5 个特殊功能寄存器来实现的:控制寄存器 SMB0CN、时钟速率寄存器 SMB0CR、地址寄存器 SMB0ADR、数据寄存器 SMB0DAT 和状态寄存器 SMB0STA。系统器件可以有一个或多个 SMBus 串行接口。

  2.3.1 控制寄存器SMB0CN

  SMBus 控制寄存器 SMB0CN 用于配置和控制 SMBus 接口。该寄存器中的所有位都可以 用软件读写。有两个控制位还受 SMBus 硬件的影响。当发生一个有效的串行中断条件时,串 行中断标志(SI,SMB0CN.3)被硬件设置为逻辑 1,该标志只能用软件清 0。当总线上出现 一个停止条件时,停止标志(STO,SMB0CN.4)被硬件清 0。

  2.3.2 时钟速率寄存器SMB0CR

  在器件工作于主方式时SMBus时钟寄存器用于控制SCL时钟速率。SMB0CR中的8位数决定了时钟速率,公式如下:

                  

  其中,SMB0CR是一个负数的补码。因此,对于100kHz的SCL频率和16MHz的SYSCLK,应向SMB0CL装入-80,即0xB0。

  2.3.3 地址寄存器 SMB0ADR

  SMBus地址寄存器保存器件在从方式时将要应答的从地址。位(7:1)保存从地址;位0是通用呼叫允许。如果位0被置位,器件将应答通用呼叫地址(0x00)。

  2.3.4 数据寄存器 SMB0DAT

  SMBus数据寄存器用于保存将要发送或刚刚接收的数据。只有在SI=1时,从该寄存器读出的数据才是有效的。当SI不为1时,SMBus可能处在向SMB0DAT移入数据或从SMB0DAT移出数据的过程中。注意:在传输过程中,从SMB0DAT移出的最高位又移回到最低位,因此在一次传输完成后SMB0DAT中仍然保存着原始数据。

  1.3.5 状态寄存器 SMB0STA

共有28个可能的SMBus状态,每个状态对应一个唯一的状态码。状态码的高5位是可变的,而一个有效状态码的

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭