摘要
本文介紹了高精度實時時鐘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原理框圖
3. SD2403AP引腳定義
4. 中斷(08H~13H地址)
本文用到了時鐘的定時功能,,具體如下:
SD2403AP有3種不同的中斷,它們由控制寄存器2(10H)中的位INTAE,、 INTFE,、INTDE位來使能:
當(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腳中斷輸出選通表
報警中斷
當(dāng)INTAE=1時報警中斷被允許,,報警中斷何時發(fā)生由時間報警寄存器(07H~0EH)來確定,。這其中07H~0DH依次用于存放報警時間的秒、分鐘,、小時,、星期、日,、月,、年數(shù)據(jù),除小時報警數(shù)據(jù)寄存器的最高位始終為”0” ,、星期位的定義不同以外,其它的格式與實時時鐘寄存器相同,。
0EH為時間報警允許寄存器,,如下:
時間報警允許寄存器的使能位是用于確定哪些時間報警寄存器(秒、分鐘等)需要與實時時鐘寄存器之間作比較,。當(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)框圖如下
硬件設(shè)計
圖中,主要給出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的寄存器列出來,如表:
讀時間的時候用到的是00H——06H里面的數(shù)值,,為BCD碼,。
控制寄存器和中斷在07——13H。
本設(shè)計設(shè)置的中斷涉及的寄存器有08H,,09H,,EH,F(xiàn)H,,10H
部分軟件如下:
打開“軟鎖”,,即設(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