《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 解決方案 > 高精度RTC SD2403AP在智能路燈控制器上的運用

高精度RTC SD2403AP在智能路燈控制器上的運用

2015-11-04
關(guān)鍵詞: RTC SD2403

摘要
  本文介紹了高精度實時時鐘SD2403AP在路燈控制器上的應(yīng)用,,通過讀取標(biāo)準(zhǔn)時間而確定開關(guān)燈的時間,并顯示實時時間

  關(guān)鍵詞:RTC  高精度  實時時鐘  智能路燈控制器

  ●引言

  電子世界錯綜復(fù)雜的信息讓時間成為電子產(chǎn)品的一個重要依據(jù),,在各個電子領(lǐng)域,,其有效的而及時準(zhǔn)確地傳達(dá)信息,,方便了人們的計算操作。如:以準(zhǔn)確地時間來區(qū)分事件的先后,,以便查找或排除故障,,并可以通過時間段的不同來計算某事物的使用量。
  下面就來介紹下深圳市興威帆電子技術(shù)有限公司的SD2403AP的具體應(yīng)用

  ●SD2403AP介紹

  1.   SD2403AP特性
  ※  1.0uA 功耗(VBAT =3.0V,,Ta=25℃),。
  ※  工作電壓:1.8~5.5V,工作溫度:-40℃~+85℃,。
  ※  標(biāo)準(zhǔn) IIC 總線接口方式,,最高速度 400KHZ(4.5V~5.5V)。
  ※  年,、月,、日,、星期、時,、分,、秒的 BCD 碼輸入/輸出,并可通過獨立的地址訪問各時間寄存器,。
  ※  閏年自動調(diào)整功能(從 2000 年~2099 年),。
  ※  內(nèi)置 12 字節(jié)通用 SRAM 寄存器。
  ※  內(nèi)置報警中斷,,頻率中斷,,倒計時中斷。
  ※  可設(shè)定并自動重置的單路報警中斷功能(時間范圍最長設(shè)至 100 年),,年,、月、日,、星期,、時、分,、秒報警共有 96 種組合方式,,并有單事件報警和周期性報警兩種中斷輸出模式。
  ※  周期性頻率中斷輸出:從 64HZ~1/16HZ~1 秒共十二種方波脈沖,。
  ※  自動重置的 8 位倒計時定時器,,可選的 3 種時鐘源(64HZ、1HZ,、1/60HZ),。
  ※  內(nèi)置時鐘精度數(shù)字調(diào)整功能。
  ※  具有一個后備電池輸入腳 VBAT,,芯片依據(jù)不同的電壓自動從 VDD切換到 VBAT或從VBAT切換到 VDD,。
  ※  在 VBAT 模式下,芯片具有中斷輸出允許或禁止的功能,,IIC 總線 0.5 秒自動復(fù)位功能(從 START 命令開始計時),。
  ※  內(nèi)置三個時鐘數(shù)據(jù)寫保護(hù)位,VBAT模式 IIC 總線通信禁止,,上電復(fù)位電路及指示位,。
  ※  內(nèi)置電源穩(wěn)壓,內(nèi)部計時電壓可低至 1.5V,。
  ※  芯片管腳抗靜電(ESD)>4KV,。
  ※  內(nèi)置晶振,時鐘精度為±5PPM(在 25℃±1℃下),即年誤差小于 2.5 分鐘,。

  2.   SD2403AP原理框圖

aad7c4d8ae4ee4f91ac2f1b1f659b4de.jpg

3.   SD2403AP引腳定義

捕獲00.JPG

4.   中斷(08H~13H地址)

  本文用到了時鐘的定時功能,,具體如下:
  SD2403AP有3種不同的中斷,它們由控制寄存器2(10H)中的位INTAE,、 INTFE,、INTDE位來使能:

捕獲000.JPG

       當(dāng)報警中斷產(chǎn)生時,置中斷標(biāo)志位INTAF為1;當(dāng)?shù)褂嫊r中斷產(chǎn)生時,, 置中斷標(biāo)志位INTDF為1;頻率中斷沒有標(biāo)志位,。標(biāo)志位被置1后,需要手動清除,。
三種中斷都是以INT腳為輸出腳,, 通過控制寄存器2中的INTS1、INTS0位來選擇確定INT腳輸出何種中斷:
  INT腳中斷輸出選通表

捕獲121.JPG

報警中斷
  當(dāng)INTAE=1時報警中斷被允許,,報警中斷何時發(fā)生由時間報警寄存器(07H~0EH)來確定,。這其中07H~0DH依次用于存放報警時間的秒、分鐘,、小時,、星期、日,、月,、年數(shù)據(jù),除小時報警數(shù)據(jù)寄存器的最高位始終為”0” ,、星期位的定義不同以外,其它的格式與實時時鐘寄存器相同,。
0EH為時間報警允許寄存器,,如下:

捕獲212.JPG

       時間報警允許寄存器的使能位是用于確定哪些時間報警寄存器(秒、分鐘等)需要與實時時鐘寄存器之間作比較,。當(dāng)實時時鐘運行時,,一旦被允許的報警寄存器均與對應(yīng)的實時時鐘寄存器相匹配,就會觸發(fā)一次報警中斷,,同時報警中斷標(biāo)志位INTAF位被置”1”

  當(dāng)設(shè)置 INTS1=0,、INTS0=1時,即允許報警中斷從INT腳輸出,。該報警中斷有兩種模式,,即單事件報警和周期性報警, 模式的選定由控制寄存器2中的報警中斷模式位IM的值來定:
  IM=0 ,,單事件報警,,輸出低電平直至INTAF位清零
  IM=1 ,周期性報警,輸出低電平有效,、寬度為250MS的周期性脈沖直至INTAF位清零
為清除報警中斷,,可通過寫操作將控制寄存器1的INTAF位置”0”。但當(dāng)ARST位置為”1”,,則在控制寄存器1被讀取時,,INTAF位會自動清零。

●智能路燈控制器設(shè)計
  本文采用大家使用普遍ATMEL89C51單片機做主控芯片,。通過對時間的調(diào)用配合光感信號達(dá)到對路燈的開關(guān)智能控制,,該系統(tǒng)可廣泛應(yīng)用于道路燈、霓虹燈,、航標(biāo)燈,、夜景燈、高速公路照明燈,、庭院燈及所有室外照明燈具的控制,,其系統(tǒng)框圖如下

捕獲.JPG

硬件設(shè)計

8dbd1e8f102d66875e4b025eaac521aa.jpg


       圖中,主要給出SD2403AP的具體接線電路,,OUT為各位的控制信號,。可接三極管后放大給繼電器輸出,,從而控制路燈的開關(guān),。
   在此設(shè)計中MCU通過P3.4,P3.5模擬IIC總線與SD2403AP進(jìn)行通信,,并通過INT讀出中斷信號,,本設(shè)計設(shè)置的每天早上6:30(此時間可 以由用戶通過KEY鍵進(jìn)行修改)定時關(guān)掉OUT1路的輸出。OUT2,,OUT3等由光線控制?,F(xiàn)以O(shè)UT1的關(guān)斷做例子分析

軟件設(shè)計
  安排SD2403AP在06:30輸出一個低電平的信號,MCU通過輪循的方式查到此電平并設(shè)置OUT1為0,,從而關(guān)斷繼電器并關(guān)段路燈等,。
這里將寫入SD2403AP的寄存器列出來,如表:

捕獲.JPG

捕獲.JPG

讀時間的時候用到的是00H——06H里面的數(shù)值,,為BCD碼,。 

  控制寄存器和中斷在07——13H。 

  本設(shè)計設(shè)置的中斷涉及的寄存器有08H,,09H,,EH,F(xiàn)H,,10H

  部分軟件如下:

  1. 打開“軟鎖”,,即設(shè)置WRTC1,,WRTC2,WRTC3為1,,才能寫數(shù)據(jù),。寫完數(shù)據(jù)關(guān)閉軟鎖

   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          ;設(shè)置時鐘數(shù)據(jù)的內(nèi)部起始地址為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            ;發(fā)送時鐘SD2400的器件地址(寫)
LCALL   SEND
MOV     R6,,#0FH            ;設(shè)置時鐘數(shù)據(jù)的內(nèi)部起始地址為0FH
LCALL       SEND           
MOV     R6,#84H           ;置0FH的WRTC2,。WRTC3為1
LCALL     SEND
LCALL     IICSTOP           ;同上,,I2CSTOP      
SEND:      MOV      A, R6               ;發(fā)送一個字節(jié)
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               ;置輸入狀態(tài)
SETB        SCL
LCALL     DELAY
MOV        C,SDA
JC          ERROR
CLR              SCL
LCALL       DELAY
RET                        ;READ A BIT
ERROR:      LJMP  0000H

 

2,,寫2403的中斷控制寄存器以實現(xiàn)6:30輸出一個低電平
LCALL         TIMEWRITE_ON
LCALL     IICSTART
MOV             R6,,#64H                ;發(fā)送時鐘SD2400的器件地址(寫)
LCALL          SEND
MOV             R6,#10H                ;設(shè)置時鐘數(shù)據(jù)的內(nèi)部起始地址為10H
LCALL          SEND    
MOV     R6,,#92H                  ;ALARM
LCALL     SEND
LCALL     IICSTOP
LCALL     IICSTART
MOV             R6,,#64H                ;發(fā)送時鐘SD2400的器件地址(寫)
LCALL          SEND
MOV             R6,#0EH                ;設(shè)置時鐘數(shù)據(jù)的內(nèi)部起始地址為0E
LCALL          SEND           
MOV     R6,,#06H                   ;報警允許小時,,分鐘
LCALL         SEND
LCALL   IICSTOP              
LCALL   IICSTART
MOV             R6,#64H                 ;發(fā)送時鐘SD2400的器件地址(寫)
LCALL          SEND
MOV             R6,,#08H                 ;設(shè)置分鐘報警地址
LCALL          SEND           
MOV    R6,#30H                     ;MINUTE
LCALL        SEND
MOV     R6,,#06H                   ;HOUR
LCALL        SEND   
LCALL   IICSTOP  
LCALL         TIMEWRITE_OFF

結(jié)語
  SD2403AP是一款實時時鐘芯片,,在此智能路燈控制器中發(fā)揮著重要的作用。其芯片可以廣泛用于消費和工業(yè)領(lǐng)域的諸多平臺,,如電子式電力測量儀(數(shù)字式電力表),、數(shù)碼相機、數(shù)碼攝像機,、游戲機,、DVD錄像機,、便攜電話等產(chǎn)品

      獻(xiàn)
[1]  沙占友,王彥朋,,孟志永,,單片機外圍電路設(shè)計,電子工業(yè)出版社,,2003.1
[2]  SD2403APIDATASHEET,,深圳興威帆電子技術(shù)有限公司,2008


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章,、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容,、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118,;郵箱:aet@chinaaet.com,。