DS1302包括時鐘/日歷寄存器和31字節(8位)的數據暫存寄存器,數據通信僅通過一條串行輸入輸出口。實時時鐘/日歷提供包括秒、分、時、日期、月份和年份信息。閏年可自行調整,可選擇12小時制和24小時制,可以設置AM、PM。只通過三根線進行數據的控制和傳遞:RST(Reset)、I/O(Data line)、SCLK(Serial clock)。通過備用電源可以讓芯片在小于1MW的功率下運作。本文將介紹其的工作原理以及過程:
1.工作過程
主要工作原理圖如1所示:移位寄存器,控制邏輯,晶振,時鐘和RAM。在進行任何數據傳輸時,必須被制高電平(注意雖然將它置為高電平,內部時鐘還是在晶振作用下走時的,此時,允許外部讀寫數據),在每個SCLK上升沿時數據被輸入,下降沿時數據被輸出,一次只能讀寫一位,適度還是寫需要通過串行輸入控制指令來實現(也是一個字節),通過8個脈沖便可讀取一個字節從而實現串行輸入與輸出。最初通過8個時鐘周期載入控制字節到移位寄存器。如果控制指令選擇的是單字節模式,連續的8個時鐘脈沖可以進行8位數據的寫和8位數據的讀操作,SCLK 時鐘的上升沿時,數據被寫入 DS1302,SCLK脈沖的下降沿讀出DS1302 的數據。8個脈沖便可讀寫一個字節。在突發模式,通過連續的脈沖一次性讀寫完7個字節的時鐘/日歷寄存器(注意時鐘/日歷寄存器要讀寫完),也可以一次性讀寫 8~328 位RAM數據(可按實際情況讀寫一定數量的位,不必全部讀寫,兩者的區別)。
圖1 DS1302工作原理
1.1控制指令
控制指令(8位)如2 所示:
控制指令
每個字節的傳輸是有控制字節指定的,控制字節的最高位 Bit7 必須是‘1’,如果是‘0’,寫入將被禁止,因此我們如果將這位置一,可以禁止寫入。bit6 為‘0’則指定對時鐘/日歷寄存器控制讀寫操作,為‘1’則為RAM區數據的控制讀寫操作,bir1~bit5 指定相關寄存器待進行輸入輸出操作,最低位 bit0 指定是輸入還是輸出,為‘0’則為輸入,相反則輸入有效,輸入輸出根據脈沖的上升沿和下降沿串行進行(前面已經提到)。
1.2復位以及時鐘控制
所有的數據傳輸在RST置一時進行(反復強調),RST輸入信號有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,RST提供終止單字節或多字節數據的傳送手段。當RST為高電平時,所有的數據傳送被初始化,允許對DS1302進行操作。如果在傳送過程中RST置為低電平,則會終止此次數據傳送,I/O引腳變為高阻態。上電運行時,在Vcc≥2.5V之前,RST必須保持低電平。只有在SCLK為低電平時,才能將RST置為高電平。I/O為串行數據輸入輸出端(雙向),后面有詳細說明。SCLK始終是輸入端。數據的傳輸如圖3所示:(注意兩種模式)
數據的傳輸模式
1.3數據輸出
經過8個時鐘周期的控制讀指令的輸入,控制指令串行輸入后,一個字節的數據將在下個8個時鐘周期的下降沿被輸出,注意第一位輸出是在最后一位控制指令所在脈沖的下降沿被輸出,要求RST保持位高電平。
同理8個時鐘周期的控制讀指令如果指定的是突發模式,將會在脈沖的上升沿讀入數據,下降沿讀出數據,突發模式一次可進行多字節數據的一次性讀寫,只要控制好脈沖就行了。
1.4突發模式
上面已經提到過的突發模式可以指定為任何時鐘/日歷或RAM的寄存器,與以前一樣,位6指定時鐘或RAM,位0指定讀或寫。讀取或寫入的突發模式開始在位0地址0。
對于DS1302來說,在突發模式下寫時鐘寄存器,起始的8個寄存器用來寫入相關數據,必須寫完。然而,在突發模式下寫RAM數據時,沒有必要全部寫完。每個字節都將被寫入而不論31字節是否寫完。
1.5時鐘/日歷
時鐘/日歷包含在7個寄存器中,如4所示。數據在時鐘/日歷寄存器是二進制編碼的十進制格式(BCD碼)。
時鐘日歷7個寄存器
1.6時鐘停止標志
秒寄存器的bit7是時鐘停止標志位,如果這位是‘1’,時鐘晶振停止起振,DS1302進入低功耗待命模式,耗用電流小于100nanoamps,如果這是‘0’,晶振開始起振。
2.結論
DS1302 存在時鐘精度不高,易受環境影響,出現時鐘混亂等缺點。DS1302可以用于數據記錄,特別是對某些具有特殊意義的數據點的記錄,能實現數據與出現該數據的時間同時記錄。這種記錄對長時間的連續測控系統結果的分析及對異常數據出現的原因的查找具有重要意義。
電話:18923864027(同微信)
QQ:709211280
〈烜芯微/XXW〉專業制造二極管,三極管,MOS管,橋堆等,20年,工廠直銷省20%,上萬家電路電器生產企業選用,專業的工程師幫您穩定好每一批產品,如果您有遇到什么需要幫助解決的,可以直接聯系下方的聯系號碼或加QQ/微信,由我們的銷售經理給您精準的報價以及產品介紹