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