摘要
本文介紹了高精度實(shí)時(shí)時(shí)鐘SD2403AP在路燈控制器上的應(yīng)用,通過讀取標(biāo)準(zhǔn)時(shí)間而確定開關(guān)燈的時(shí)間,并顯示實(shí)時(shí)時(shí)間
關(guān)鍵詞:RTC 高精度 實(shí)時(shí)時(shí)鐘 智能路燈控制器
●引言
電子世界錯(cuò)綜復(fù)雜的信息讓時(shí)間成為電子產(chǎn)品的一個(gè)重要依據(jù),在各個(gè)電子領(lǐng)域,其有效的而及時(shí)準(zhǔn)確地傳達(dá)信息,方便了人們的計(jì)算操作。如:以準(zhǔn)確地時(shí)間來區(qū)分事件的先后,以便查找或排除故障,并可以通過時(shí)間段的不同來計(jì)算某事物的使用量。
下面就來介紹下深圳市興威帆電子技術(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)。
※ 年、月、日、星期、時(shí)、分、秒的 BCD 碼輸入/輸出,并可通過獨(dú)立的地址訪問各時(shí)間寄存器。
※ 閏年自動(dòng)調(diào)整功能(從 2000 年~2099 年)。
※ 內(nèi)置 12 字節(jié)通用 SRAM 寄存器。
※ 內(nèi)置報(bào)警中斷,頻率中斷,倒計(jì)時(shí)中斷。
※ 可設(shè)定并自動(dòng)重置的單路報(bào)警中斷功能(時(shí)間范圍最長設(shè)至 100 年),年、月、日、星期、時(shí)、分、秒報(bào)警共有 96 種組合方式,并有單事件報(bào)警和周期性報(bào)警兩種中斷輸出模式。
※ 周期性頻率中斷輸出:從 64HZ~1/16HZ~1 秒共十二種方波脈沖。
※ 自動(dòng)重置的 8 位倒計(jì)時(shí)定時(shí)器,可選的 3 種時(shí)鐘源(64HZ、1HZ、1/60HZ)。
※ 內(nèi)置時(shí)鐘精度數(shù)字調(diào)整功能。
※ 具有一個(gè)后備電池輸入腳 VBAT,芯片依據(jù)不同的電壓自動(dòng)從 VDD切換到 VBAT或從VBAT切換到 VDD。
※ 在 VBAT 模式下,芯片具有中斷輸出允許或禁止的功能,IIC 總線 0.5 秒自動(dòng)復(fù)位功能(從 START 命令開始計(jì)時(shí))。
※ 內(nèi)置三個(gè)時(shí)鐘數(shù)據(jù)寫保護(hù)位,VBAT模式 IIC 總線通信禁止,上電復(fù)位電路及指示位。
※ 內(nèi)置電源穩(wěn)壓,內(nèi)部計(jì)時(shí)電壓可低至 1.5V。
※ 芯片管腳抗靜電(ESD)>4KV。
※ 內(nèi)置晶振,時(shí)鐘精度為±5PPM(在 25℃±1℃下),即年誤差小于 2.5 分鐘。
2. SD2403AP原理框圖
3. SD2403AP引腳定義
4. 中斷(08H~13H地址)
本文用到了時(shí)鐘的定時(shí)功能,具體如下:
SD2403AP有3種不同的中斷,它們由控制寄存器2(10H)中的位INTAE、 INTFE、INTDE位來使能:
當(dāng)報(bào)警中斷產(chǎn)生時(shí),置中斷標(biāo)志位INTAF為1;當(dāng)?shù)褂?jì)時(shí)中斷產(chǎn)生時(shí), 置中斷標(biāo)志位INTDF為1;頻率中斷沒有標(biāo)志位。標(biāo)志位被置1后,需要手動(dòng)清除。
三種中斷都是以INT腳為輸出腳, 通過控制寄存器2中的INTS1、INTS0位來選擇確定INT腳輸出何種中斷:
INT腳中斷輸出選通表
報(bào)警中斷
當(dāng)INTAE=1時(shí)報(bào)警中斷被允許,報(bào)警中斷何時(shí)發(fā)生由時(shí)間報(bào)警寄存器(07H~0EH)來確定。這其中07H~0DH依次用于存放報(bào)警時(shí)間的秒、分鐘、小時(shí)、星期、日、月、年數(shù)據(jù),除小時(shí)報(bào)警數(shù)據(jù)寄存器的最高位始終為”0” 、星期位的定義不同以外,其它的格式與實(shí)時(shí)時(shí)鐘寄存器相同。
0EH為時(shí)間報(bào)警允許寄存器,如下:
時(shí)間報(bào)警允許寄存器的使能位是用于確定哪些時(shí)間報(bào)警寄存器(秒、分鐘等)需要與實(shí)時(shí)時(shí)鐘寄存器之間作比較。當(dāng)實(shí)時(shí)時(shí)鐘運(yùn)行時(shí),一旦被允許的報(bào)警寄存器均與對(duì)應(yīng)的實(shí)時(shí)時(shí)鐘寄存器相匹配,就會(huì)觸發(fā)一次報(bào)警中斷,同時(shí)報(bào)警中斷標(biāo)志位INTAF位被置”1”
當(dāng)設(shè)置 INTS1=0、INTS0=1時(shí),即允許報(bào)警中斷從INT腳輸出。該報(bào)警中斷有兩種模式,即單事件報(bào)警和周期性報(bào)警, 模式的選定由控制寄存器2中的報(bào)警中斷模式位IM的值來定:
IM=0 ,單事件報(bào)警,輸出低電平直至INTAF位清零
IM=1 ,周期性報(bào)警,輸出低電平有效、寬度為250MS的周期性脈沖直至INTAF位清零
為清除報(bào)警中斷,可通過寫操作將控制寄存器1的INTAF位置”0”。但當(dāng)ARST位置為”1”,則在控制寄存器1被讀取時(shí),INTAF位會(huì)自動(dòng)清零。
●智能路燈控制器設(shè)計(jì)
本文采用大家使用普遍ATMEL89C51單片機(jī)做主控芯片。通過對(duì)時(shí)間的調(diào)用配合光感信號(hào)達(dá)到對(duì)路燈的開關(guān)智能控制,該系統(tǒng)可廣泛應(yīng)用于道路燈、霓虹燈、航標(biāo)燈、夜景燈、高速公路照明燈、庭院燈及所有室外照明燈具的控制,其系統(tǒng)框圖如下
硬件設(shè)計(jì)
圖中,主要給出SD2403AP的具體接線電路,OUT為各位的控制信號(hào)??山尤龢O管后放大給繼電器輸出,從而控制路燈的開關(guān)。
在此設(shè)計(jì)中MCU通過P3.4,P3.5模擬IIC總線與SD2403AP進(jìn)行通信,并通過INT讀出中斷信號(hào),本設(shè)計(jì)設(shè)置的每天早上6:30(此時(shí)間可
以由用戶通過KEY鍵進(jìn)行修改)定時(shí)關(guān)掉OUT1路的輸出。OUT2,OUT3等由光線控制?,F(xiàn)以O(shè)UT1的關(guān)斷做例子分析
軟件設(shè)計(jì)
安排SD2403AP在06:30輸出一個(gè)低電平的信號(hào),MCU通過輪循的方式查到此電平并設(shè)置OUT1為0,從而關(guān)斷繼電器并關(guān)段路燈等。
這里將寫入SD2403AP的寄存器列出來,如表:
讀時(shí)間的時(shí)候用到的是00H——06H里面的數(shù)值,為BCD碼。
控制寄存器和中斷在07——13H。
本設(shè)計(jì)設(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í)鐘數(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ā)送時(shí)鐘SD2400的器件地址(寫)
LCALL SEND
MOV R6,#0FH ;設(shè)置時(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ā)送一個(gè)字節(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的中斷控制寄存器以實(shí)現(xiàn)6:30輸出一個(gè)低電平
LCALL TIMEWRITE_ON
LCALL IICSTART
MOV R6,#64H ;發(fā)送時(shí)鐘SD2400的器件地址(寫)
LCALL SEND
MOV R6,#10H ;設(shè)置時(shí)鐘數(shù)據(jù)的內(nèi)部起始地址為10H
LCALL SEND
MOV R6,#92H ;ALARM
LCALL SEND
LCALL IICSTOP
LCALL IICSTART
MOV R6,#64H ;發(fā)送時(shí)鐘SD2400的器件地址(寫)
LCALL SEND
MOV R6,#0EH ;設(shè)置時(shí)鐘數(shù)據(jù)的內(nèi)部起始地址為0E
LCALL SEND
MOV R6,#06H ;報(bào)警允許小時(shí),分鐘
LCALL SEND
LCALL IICSTOP
LCALL IICSTART
MOV R6,#64H ;發(fā)送時(shí)鐘SD2400的器件地址(寫)
LCALL SEND
MOV R6,#08H ;設(shè)置分鐘報(bào)警地址
LCALL SEND
MOV R6,#30H ;MINUTE
LCALL SEND
MOV R6,#06H ;HOUR
LCALL SEND
LCALL IICSTOP
LCALL TIMEWRITE_OFF
●結(jié)語
SD2403AP是一款高精度實(shí)時(shí)時(shí)鐘芯片,在此智能路燈控制器中發(fā)揮著重要的作用。其芯片可以廣泛用于消費(fèi)和工業(yè)領(lǐng)域的諸多平臺(tái),如電子式電力測(cè)量儀(數(shù)字式電力表)、數(shù)碼相機(jī)、數(shù)碼攝像機(jī)、游戲機(jī)、DVD錄像機(jī)、便攜電話等產(chǎn)品
參 考 文 獻(xiàn)
[1] 沙占友,王彥朋,孟志永,單片機(jī)外圍電路設(shè)計(jì),電子工業(yè)出版社,2003.1
[2] SD2403APIDATASHEET,深圳興威帆電子技術(shù)有限公司,2008