實(shí)時(shí)時(shí)鐘器件M41T94在配網(wǎng)監(jiān)測(cè)終端中的應(yīng)用
M41T94使用SPI串行通信接口,易于實(shí)現(xiàn)與具有SPI接口單片機(jī)C8051F340的數(shù)據(jù)通信。SPI接口通信是通過(guò)SDI、SDO、SCK和E等引腳實(shí)現(xiàn)。圖2中R54-2,R54-3和R54-4為SPI總線的上拉電阻,M41T94片選信號(hào)E引腳與C8051F340的P4.4引腳連接;M41T94的復(fù)位輸出RST引腳與C8051F340的RST連接,將C8051F340的RSTSRC.1(PORSF位)清零,禁止C8051F340內(nèi)部VDD監(jiān)視器作為MCU的復(fù)位源,這樣當(dāng)?shù)綦姇r(shí),M41T94輸出復(fù)位信號(hào)使MCU復(fù)位,防止MCU對(duì)M41T94讀取數(shù)據(jù)錯(cuò)誤。
4.2 軟件設(shè)計(jì)
C8051F340通過(guò)串行通信接口SPI控制M41T94。通信時(shí),C8051F340選用主模式作為主機(jī),M41T94作為從機(jī)。為了與M41T94相對(duì)應(yīng),C8051F340采用3線連接模式,不使用NSS??刂莆籆PHA(SPI0CN.5)=1,SCK時(shí)鐘第2個(gè)邊沿采樣數(shù)據(jù),CPOL(SPI0CN.4)=1,空閑狀態(tài)時(shí),SCK引腳為高電平。只有片選信號(hào)E置為低電平,C8051F340才能控制M41T94,當(dāng)E變高時(shí),通信結(jié)束。首先時(shí)鐘器件E引腳置為低電平,緊接著單片機(jī)通過(guò)SPI接口發(fā)送命令字,然后對(duì)M41T94讀取或?qū)懭霐?shù)據(jù)。對(duì)內(nèi)部RAM的讀寫各有兩種方式,單字節(jié)讀寫和多字節(jié)連續(xù)讀寫。前者發(fā)送一次操作命令只讀/寫1個(gè)字節(jié)數(shù)據(jù),后者發(fā)送1次命令可連續(xù)讀寫多個(gè)字節(jié)數(shù)據(jù)。SPI的數(shù)據(jù)傳輸是從每一個(gè)字節(jié)的最高位(MSB)開始。C8051F340對(duì)M41T94的連續(xù)讀取模式中命令字包括一個(gè)8位字節(jié),該字節(jié)的最高位(D7)為讀/寫選擇位,D7=1時(shí),表示對(duì)M41T94寫操作,D7=0時(shí),表示讀M41T94數(shù)據(jù);該字節(jié)低7位為M41T94的地址選擇位,在連續(xù)讀寫模式下,該地址為連續(xù)讀/寫的起始地址,在讀/寫過(guò)程中,地址指針自動(dòng)遞增,當(dāng)遞增到3Fh后,指針自動(dòng)返回到首地址(00h)。當(dāng)對(duì)時(shí)鐘、日歷寄存器(00~07h)讀寫,或掉電時(shí),M41T94停止對(duì)這些寄存器(00~07h)的刷新,以保證讀寫數(shù)據(jù)的準(zhǔn)確性。
4.2.1 初始化
C8051F340對(duì)M41T94的控制就是讀寫M41T94的寄存器和NVRAM。在M41T94讀寫前,C8051F340首先要對(duì)其初始化,即對(duì)M41T94寄存器初始化,其程序代碼如下:
4.2.2 實(shí)時(shí)時(shí)鐘掉電、上電時(shí)間
當(dāng)系統(tǒng)掉電時(shí),M41T94自動(dòng)鎖存掉電時(shí)間,上電后讀取掉電時(shí)間和當(dāng)前實(shí)時(shí)時(shí)間。其相應(yīng)程序代碼如下:
5 結(jié)束語(yǔ)
M41T94的時(shí)鐘精度高,功耗低,掉電時(shí)可自動(dòng)切換供電電源,并具有掉電時(shí)間自動(dòng)鎖存、時(shí)間標(biāo)定、時(shí)鐘校準(zhǔn)等功能,因此該器件可廣泛應(yīng)用于電力系統(tǒng)、工業(yè)控制、智能儀器儀表、消費(fèi)類電子產(chǎn)品。
評(píng)論