網(wǎng)站怎么做網(wǎng)盤2022年最新十條新聞
目錄
一、基于三線通信的RTC-DS1302
(1)簡介
(2)特性
(3)引腳介紹
(4)控制字的格式
(5.0)日歷時鐘寄存器介紹
(5.1)日歷時鐘寄存器編寫介紹
(5.2)什么是BCD碼
(6)小時寄存器(85H和84H)的位7是12/24小時制切換控制位
二、三線通信協(xié)議概述
(1)引腳介紹
(2)接口時序的實現(xiàn)
(3)單字節(jié)寫的時序
(4)單字節(jié)讀的時序
一、基于三線通信的RTC-DS1302
(1)簡介
DS1302是美國DALLAS公司推出的高性能、低功耗的實時時鐘,附加31字節(jié)的靜態(tài)RAM,采用三線接口與MCU進行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘參數(shù)和RAM數(shù)據(jù)。實時時鐘可提供秒、分、時、日、星期、月和年,一個月小于31天時可以自動調(diào)整,并具有閏年補償功能。
(2)特性
- 實時時鐘計算秒、分、小時,日期,月,日、周,年與閏年補償有效期至2100年
- 31x8支持電池的通用RAM
- 2.0V至5.5V都可運行
- 在2.0V時使用小于300nA電流
- 單字節(jié)或多字節(jié)(突發(fā)模式)用于時鐘或計算機讀-寫的數(shù)據(jù)傳輸內(nèi)存數(shù)據(jù)
- 簡單的3線接口
-
(3)引腳介紹
-
-
引腳
名字
功能
1
Vcc2
主電源引腳雙電源配置。Vcc連接到備用電源,以在沒有主電源的情況下保持時間和日期。
2
X1
晶振引腳
3
X2
晶振引腳
4
GND
地
5
CE
輸入。在讀或?qū)戇^程中必須將CE信號變?yōu)闉楦唠娖?。這個引腳有一個內(nèi)部的40k2(typ)下拉電阻到地。
6
1/0
輸入/推挽式輸出。10引腳是3線接口的雙向數(shù)據(jù)引腳。這個引腳有一個內(nèi)部的40k2(typ)下拉電阻到地。
7
SCLK
輸入。SCLK用于同步串行接口上的數(shù)據(jù)移動。這個引腳有一個內(nèi)部的40k2(typ)下拉電阻到地。
8
Vcc1
單電源和電池供電系統(tǒng)的低功耗操作和低功耗電池備份。
(4)控制字的格式
DS1302將地址和讀寫控制放到一個字節(jié)里面,形成一個控制字,格式如下:
B7:必須為1,若為0,則不能把數(shù)據(jù)寫入到DS1302中
B6:0為表示存取日歷時鐘數(shù)據(jù),1表示存取RAM數(shù)據(jù)。
B5~B1:表示操作單元地址。
B0:0表示寫操作,1表示讀操作。
(5.0)日歷時鐘寄存器介紹
- 時間和日歷信息是通過讀取適當(dāng)?shù)募拇嫫髯止?jié)獲得的?!巴ㄟ^寫入適當(dāng)?shù)募拇嫫髯止?jié)來設(shè)置或初始化時間和日歷。
- 時間和日歷寄存器的內(nèi)容采用二進制編碼的十進制(BCD)格式與星期對應(yīng)的值是用戶定義的,必須是連續(xù)的(例如,如果1等于星期天,那么2等于星期一,以此類推)。不合邏輯的時間和日期條目會導(dǎo)致未定義的操作。
- 當(dāng)讀取或?qū)懭霑r間和日期寄存器時,用戶緩沖區(qū)用于防止內(nèi)部寄存器更新時發(fā)生錯誤。當(dāng)讀取時間和日期寄存器時,用戶緩沖區(qū)被同步到內(nèi)部寄存器(CE的上升邊緣)每當(dāng)寫入秒寄存器時,就會重置倒計時鏈
- 第5位是第二個10小時(20-23 小時)位。小時數(shù)據(jù)必須在 12/24位改變時重新初始化
(5.1)日歷時鐘寄存器編寫介紹
秒寄存器(80H和81H)的位7是時鐘暫停標(biāo)志
? ? ? ? ··CH為1時,時鐘振蕩停止;CH為0時,時鐘開始運行
控制寄存器(8EH和8FH)的位7(WP)是寫保護位
? ? ? ? ··WP為0時,可以對任何的時鐘和RAM寄存器進行寫操作
? ? ? ? ··WP為1時,禁止對任意寄存器進行寫操作
(5.2)什么是BCD碼
用一位十六進制數(shù)表示十進制的0-9數(shù)字。例如,十六進制數(shù)0x13的值為19,但BCD碼表示的是整數(shù)13。
舉例:秒如何表示。
秒鐘的個位放在81h的低四位,秒鐘的十位放在4、5、6位。即假設(shè)我們要表示10秒,1就需要存在4、5、6位中,而0需要存在低四位中。
同理,日期的個位放在低四位,日期的十位放在4、5位表示。
同理,星期只用了0、1、2三位來表示。
同理,年份信息的低四位是個位,高四位是十位。
(6)小時寄存器(85H和84H)的位7是12/24小時制切換控制位
? ? ? ? ··該位為1時,代表12小時制,位5是上下午標(biāo)識位:1為下午,0為上午。
? ? ? ? ··該位為0時,代表24小時制。比賽時一般為24小時制度,如果考到12小時制,可以進行投機取巧(bushi),將給的時間減去12。
? ? ? ? ··小時數(shù)據(jù)必須在12/24小時制進行切換時必須重新進行初始化
(7)時鐘\日期突發(fā)模式
二、三線通信協(xié)議概述
(1)引腳介紹
|
CE管腳:
驅(qū)動CE為高,則啟動所有數(shù)據(jù)傳輸。如果CE輸入低,所有的數(shù)據(jù)傳輸終止,I/O引腳進入高阻抗?fàn)顟B(tài)。CE輸入有兩個功能:CE打開控制邏輯,允許訪問地址/命令序列的移位寄存器。E信號可以終止單字節(jié)或多字節(jié)數(shù)據(jù)傳輸。
I/O管腳:也稱SDA引腳,數(shù)據(jù)傳輸管腳
SCLK管腳:時鐘管腳;時鐘周期是由上升沿和下降沿組成的序列。
(2)接口時序的實現(xiàn)
DS1302的基本操作實際上只有兩個:其一是設(shè)定時間參數(shù),其二是讀取實時時間。不管是那個操作,MCU都要通過三線接口進行數(shù)據(jù)交互。無論是寫入還是讀出,控制字總是從最低位開始輸出。
(3)單字節(jié)寫的時序
- 在CE引腳被設(shè)置為高電平的第一個時鐘周期的上升沿開始,控制字節(jié)/數(shù)據(jù)被寫入DS1302。
- 在控制字指令輸入后的下一個SCLK時鐘信號的上升沿,數(shù)據(jù)被寫入DS1302,數(shù)據(jù)的輸入從最低位開始。
(4)單字節(jié)讀的時序
- 在CE引腳被設(shè)置為高電平的第一個時鐘周期的上升沿開始,控制字節(jié)開始被寫入DS1302。
- 在控制字指令輸入后的下一個SCLK時鐘信號的下降沿,數(shù)據(jù)從DS1302讀出,數(shù)據(jù)的讀出也是從最低位到最高位。