上海贝岭-半导体 广告 7届电机产业链交流会 广告 2024中国华东智能家居技术创新峰会2 广告 产品库2024A3 广告

高精度 RTC SD2403AP 在智能路灯控制器上的运用

2010-12-20 11:03:45 来源:《半导体器件应用》2008年12月刊 点击:1222

 

 

1 引言
电子世界错综复杂的信息让时间成为电子产品的一个重要依据,在各个电子领域,其有效的而及时准确地传达信息,方便了人们的计算操作。如:以准确地时间来区分事件的先后,以便查找或排除故障,并可以通过时间段的不同来计算某事物的使用量。
2 SD2403AP介绍
2.1 SD2403AP特性
●1.0μA 功耗(VBAT =3.0V,Ta=25℃)。
●工作电压:1.8~5.5V,工作温度:-40℃~ +85℃。
●标准IIC总线接口方式,最高速度400kHz(4.5V ~ 5.5V)。
●年、月、日、星期、时、分、秒的BCD码输入/输出,并可通过独立的地址访问各时间寄存器。
●闰年自动调整功能(从 2000 年~2099 年)。
●内置12字节通用SRAM寄存器。
●内置报警中断,频率中断,倒计时中断。
●可设定并自动重置的单路报警中断功能(时间范围最长设至100年),年、月、日、星期、时、分、秒报警共有96种组合方式,并有单事件报警和周期性报警两种中断输出模式。
●周期性频率中断输出:从 64Hz ~ 1/16Hz ~ 1秒共十二种方波脉冲。
●自动重置的 8 位倒计时定时器,可选的 3 种时钟源(64Hz、1Hz、1/60Hz)。
●内置时钟精度数字调整功能。
●具有一个后备电池输入脚 VBAT,芯片依据不同的电压自动从 VDD切换到 VBAT或从VBAT切换到 VDD。
●在 VBAT 模式下,芯片具有中断输出允许或禁止的功能,IIC 总线 0.5 秒自动复位功能(从 START 命令开始计时)。
●内置三个时钟数据写保护位,VBAT模式 IIC 总线通信禁止,上电复位电路及指示位。
●内置电源稳压,内部计时电压可低至 1.5V。
●芯片管脚抗静电(ESD)>4KV。
●内置晶振,时钟精度为±5PPM(在 25℃±1℃下),即年误差小于 2.5 分钟。
2.2 SD2403AP原理框图(见图1)   
2.3 SD2403AP引脚定义(见表1)
2.4 中断(08H~13H地址)
本文用到了时钟的定时功能,具体如下:
SD2403AP有3种不同的中断,它们由控制寄存器2(10H)中的位INTAE、 INTFE、INTDE位来使能(见表2):             
当报警中断产生时,置中断标志位INTAF为1;当倒计时中断产生时, 置中断标志位INTDF为1;频率中断没有标志位。标志位被置1后,需要手动清除。
三种中断都是以INT脚为输出脚, 通过控制寄存器2中的INTS1、INTS0位来选择确定INT脚输出何种中断:
INT脚中断输出选通表
序号 INTS1 INTS0 描述
0 0 0 禁止输出,高阻态
1 0 1 报警中断输出
2 1 0 频率中断输出
3 1 1 倒计时中断输出

报警中断
当INTAE=1时报警中断被允许,报警中断何时发生由时间报警寄存器(07H~0EH)来确定。这其中07H~0DH依次用于存放报警时间的秒、分钟、小时、星期、日、月、年数据,除小时报警数据寄存器的最高位始终为“0”、星期位的定义不同以外,其它的格式与实时时钟寄存器相同。
0EH为时间报警允许寄存器,如下:
BIT D7 D6 D5 D4 D3 D2 D1 D0
位名(值) 0 EAY EAMO EAD EAW EAH EAMN EAS
报警允许 - 年 月 日 星期 小时 分钟 秒

注:1=允许,0=禁止。
时间报警允许寄存器的使能位是用于确定哪些时间报警寄存器(秒、分钟等)需要与实时时钟寄存器之间作比较。当实时时钟运行时,一旦被允许的报警寄存器均与对应的实时时钟寄存器相匹配,就会触发一次报警中断,同时报警中断标志位INTAF位被置“1”
当设置 INTS1=0、INTS0=1时,即允许报警中断从INT脚输出。该报警中断有两种模式,即单事件报警和周期性报警, 模式的选定由控制寄存器2中的报警中断模式位IM的值来定:
IM=0 ,单事件报警,输出低电平直至INTAF位清零
IM=1 ,周期性报警,输出低电平有效、宽度为250MS的周期性脉冲直至INTAF位清零
为清除报警中断,可通过写操作将控制寄存器1的INTAF位置“0”。但当ARST位置为”1”,则在控制寄存器1被读取时,INTAF位会自动清零。
3 智能路灯控制器设计
本文采用大家使用普遍ATMEL89C51单片机做主控芯片。通过对时间的调用配合光感信号达到对路灯的开关智能控制,该系统可广泛应用于道路灯、霓虹灯、航标灯、夜景灯、高速公路照明灯、庭院灯及所有室外照明灯具的控制,其系统框图如下。 
3.1硬件设计
图中,主要给出SD2403AP的具体接线电路,OUT为各位的控制信号。可接三极管后放大给继电器输出,从而控制路灯的开关。
在此设计中MCU通过P3.4,P3.5模拟IIC总线与SD2403AP进行通信,并通过INT读出中断信号,本设计设置的每天早上6:30(此时间可以由用户通过KEY键进行修改)定时关掉OUT1路的输出。OUT2,OUT3等由光线控制。现以OUT1的关断做例子分析
3.2 软件设计
安排SD2403AP在06:30输出一个低电平的信号,MCU通过轮循的方式查到此电平并设置OUT1为0,从而关断继电器并关段路灯等。
这里将写入SD2403AP的寄存器列出来,如表4:
读时间的时候用到的是00H——06H里面的数值,为BCD码。
控制寄存器和中断在07——13H。
本设计设置的中断涉及的寄存器有08H,09H,EH,FH,10H
部分软件如下:
1)打开“软锁”,即设置WRTC1,WRTC2,WRTC3为1,才能写数据。写完数据关闭软锁
TIMEWRITE_ON:
    SETB SDA
 SETB SCL
 LCALL DELAY
        CLR SDA
     LCALL   DELAY
 CLR  SCL
    LCALL   DELAY  ;I2C START
             MOV     R6,#64H
 LCALL    SEND
             MOV R6,#10H  ;设置时钟数据的内     部起始地址为10H
 LCALL SEND  
             MOV    R6,#80H ;置10H的WRTC1     为1
             LCALL    SEND
             CLR SDA
 SETB SCL
 LCALL  DELAY
 SETB SDA
 LCALL  DELAY  ;I2C STOP
 LCALL    IICSTART ;具体程序同上I2C      START,此处略
             MOV  R6,#64H ;发送时钟SD2400的     器件地址(写)
    LCALL  SEND
 MOV  R6,#0FH ;设置时钟数据的内     部起始地址为0FH
 LCALL SEND  
             MOV R6,#84H ;置0FH的WRTC2。     WRTC3为1
             LCALL SEND
             LCALL IICSTOP            ;同上,I2CSTOP      
SEND: MOV A, R6  ;发送一个字节
 MOV R2,#08H
SEND1:  MOV C,ACC。7
 MOV SDA,C
 LCALL DELAY
 SETB SCL
 LCALL DELAY
 CLR SCL
              LCALL    DELAY ;SEND A BIT
 RL A
 DJNZ R2,SEND1
              SETB SDA ;置输入状态
              SETB     SCL
              LCALL DELAY
              MOV C,SDA
             JC           ERROR
                 CLR SCL
          LCALL    DELAY
 RET  ;READ A BIT
ERROR: LJMP  0000H
2) 写2403的中断控制寄存器以实现6:30输出一个低电平
LCALL   TIMEWRITE_ON
LCALL     IICSTART
MOV R6,#64H           ;发送时钟SD2400的器件地址(写)
LCALL SEND
MOV R6,#10H    ;设置时钟数据的内部起始地    址为10H
LCALL SEND 
MOV      R6,#92H           ;ALARM
LCALL     SEND
LCALL IICSTOP
LCALL    IICSTART
MOV R6,#64H            ;发送时钟SD2400的器件地址(写)
LCALL SEND
MOV R6,#0EH      ;设置时钟数据的内部起始地    址为0E
LCALL SEND  
MOV      R6,#06H           ;报警允许小时,分钟
LCALL   SEND
LCALL  IICSTOP           
LCALL  IICSTART
MOV R6,#64H ;发送时钟SD2400的器件地址(写)
LCALL SEND
MOV R6,#08H ;设置分钟报警地址
LCALL SEND  
MOV   R6,#30H ;MINUTE
LCALL    SEND
MOV      R6,#06H ;HOUR
LCALL    SEND   
LCALL  IICSTOP  
LCALL   TIMEWRITE_OFF
结语
SD2403AP是一款高精度实时时钟芯片,在此智能路灯控制器中发挥着重要的作用。其芯片可以广泛用于消费和工业领域的诸多平台,如电子式电力测量仪(数字式电力表)、数码相机、数码摄像机、游戏机、DVD录像机、便携电话等产品

参考文献
[1] 沙占友,王彦朋,孟志永,单片机外围电路设计,电子工业出版社,2003.1
[2] SD2403APIDATASHEET,深圳兴威帆电子技术有限公司,2008

本文为哔哥哔特资讯原创文章,未经允许和授权,不得转载,否则将严格追究法律责任;
Big-Bit 商务网

请使用微信扫码登陆

x
凌鸥学园天地 广告