《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 解決方案 > ds1302芯片的使用

ds1302芯片的使用

2015-10-15
關(guān)鍵詞: DS1302 時(shí)鐘芯片

引腳功能及結(jié)構(gòu)
  DS1302的引腳排列,其中Vcc1為后備電源,,VCC2為主電源。在主電源關(guān)閉的情況下,,也能保持時(shí)鐘的連續(xù)運(yùn)行,。DS1302由Vcc1或 Vcc2兩者中的較大者供電。當(dāng)Vcc2大于Vcc1+0.2V時(shí),,Vcc2給DS1302供電,。當(dāng)Vcc2小于Vcc1時(shí),DS1302由Vcc1供 電,。X1和X2是振蕩源,,外接32.768kHz晶振。RST是復(fù)位/片選線,,通過(guò)把RST輸入驅(qū)動(dòng)置高電平來(lái)啟動(dòng)所有的數(shù)據(jù)傳送,。RST輸入有兩種功 能:首先,RST接通控制邏輯,,允許地址/命令序列送入移位寄存器,;其次,RST提供終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段,。當(dāng)RST為高電平時(shí),,所有的數(shù)據(jù) 傳送被初始化,,允許對(duì)DS1302進(jìn)行操作,。如果在傳送過(guò)程中RST置為低電平,則會(huì)終止此次數(shù)據(jù)傳送,,I/O引腳變?yōu)楦咦钁B(tài),。上電運(yùn)行時(shí),在 Vcc>2.0V之前,,RST必須保持低電平,。只有在SCLK為低電平時(shí),才能將RST置為高電平,。I/O為串行數(shù)據(jù)輸入輸出端(雙向),,后面有詳 細(xì)說(shuō)明。SCLK為時(shí)鐘輸入端,。

DS1302的控制字節(jié)
  DS1302 的控制字如圖2所示,??刂谱止?jié)的最高有效位(位7)必須是邏輯1,如果它為0,,則不能把數(shù)據(jù)寫(xiě)入DS1302中,,位6如果為0,則表示存取日歷時(shí)鐘數(shù)據(jù),, 為1表示存取RAM數(shù)據(jù);位5至位1指示操作單元的地址;最低有效位(位0)如為0表示要進(jìn)行寫(xiě)操作,,為1表示進(jìn)行讀操作,控制字節(jié)總是從最低位開(kāi)始輸 出,?! ?br/>數(shù)據(jù)輸入輸出(I/O)
  在控制指令字輸入后的下一個(gè)SCLK時(shí)鐘的上升沿時(shí),數(shù)據(jù)被寫(xiě)入DS1302,,數(shù)據(jù)輸入從低位即位0開(kāi)始,。同樣,在緊跟8位的控制指令字后的下一個(gè)SCLK脈沖的下降沿讀出DS1302的數(shù)據(jù),,讀出數(shù)據(jù)時(shí)從低位0位到高位7,。 
調(diào)試中問(wèn)題說(shuō)明
  DS1302 與微處理器進(jìn)行數(shù)據(jù)交換時(shí),,首先由微處理器向電路發(fā)送命令字節(jié),,命令字節(jié)最高位Write Protect(D7)必須為邏輯1,如果D7=0,,則禁止寫(xiě)DS1302,,即寫(xiě)保護(hù);D6=0,,指定時(shí)鐘數(shù)據(jù),,D6=1,指定RAM數(shù)據(jù),;D5~D1指 定輸入或輸出的特定寄存器,;最低位LSB(D0)為邏輯0,指定寫(xiě)操作(輸入),, D0=1,,指定讀操作(輸出)。
  在DS1302的時(shí)鐘日歷或RAM進(jìn)行數(shù)據(jù)傳送時(shí),,DS1302必須首先發(fā)送命令字節(jié),。若進(jìn)行單字節(jié)傳送,8位命令字節(jié)傳送結(jié)束之后,,在下2個(gè)SCLK周期的上升沿輸入數(shù)據(jù)字節(jié),,或在下8個(gè)SCLK周期的下降沿輸出數(shù)據(jù)字節(jié)。
  DS1302與RAM相關(guān)的寄存器分為兩類:一類是單個(gè)RAM單元,共31個(gè),,每個(gè)單元組態(tài)為一個(gè)8位的字節(jié),,其命令控制字為C0H~FDH,其中奇數(shù)為讀操作,,偶數(shù)為寫(xiě)操作,;再一類為突發(fā)方式下的RAM寄存器,在此方式下可一次性讀,、寫(xiě)所有的RAM的31個(gè)字節(jié),。
  要特別說(shuō)明的是備用電源B1,可以用電池或者超級(jí)電容器(0.1F以上),。雖然DS1302在主電源掉電后的耗電很小,,但是,如果要長(zhǎng)時(shí)間保證時(shí)鐘正 常,,最好選用小型充電電池,。可以用老式電腦主板上的3.6V充電電池,。如果斷電時(shí)間較短(幾小時(shí)或幾天)時(shí),,就可以用漏電較小的普通電解電容器代替。 100 μF就可以保證1小時(shí)的正常走時(shí),。DS1302在第一次加電后,,必須進(jìn)行初始化操作。初始化后就可以按正常方法調(diào)整時(shí)間,?!?br/>常見(jiàn)問(wèn)題描述:
1.時(shí)間能夠?qū)戇M(jìn)ds1302芯片,但時(shí)間保持不便
1)遇到時(shí)間不走的問(wèn)題,,首先查看 妙寄存器(81h)的最高位CH是否為1,,該位用于控制晶振是否停止起振,為0晶振才能正常起振,;
2)如果CH位為0,,晶振不起振,就得檢查晶振是否悍反,,電路是否正確,,晶振是否損壞,。

2.數(shù)據(jù)無(wú)法寫(xiě)入
檢測(cè)WP寫(xiě)保護(hù)寄存器(8fh)的最高位是否為1,,為一則會(huì)處于寫(xiě)保護(hù)狀態(tài)

3.無(wú)法充電
ds1302上電充電功能是禁用的,檢測(cè)充電控制寄存器(91h)寄存器,,能夠充電的條件是:
1)TCS為1010h,,其他的值則禁用充電功能;
2)DS為01,選擇1個(gè)二極管,DS為10,,選擇2個(gè)二極管,,00,11則禁用充電功能,;

3)RS為01,選擇2kΩ的電阻,,RS為10,選擇4kΩ的電阻,,RS為11,,選擇8kΩ的電阻,RS為00,,則禁用充電功能,。

4.通過(guò)示波器抓的波形分析沒(méi)有問(wèn)題,但就是無(wú)法正常讀寫(xiě)RTC

       如果通過(guò)示波器抓波形分析,,讀寫(xiě)時(shí)序沒(méi)有問(wèn)題,,但寫(xiě)入RAM后的數(shù)據(jù)讀出后不正確,沒(méi)法設(shè)置時(shí)間,,那就得懷疑芯片問(wèn)題了,,市場(chǎng)上存在很多國(guó)產(chǎn)假芯片,其時(shí)序可能和ds1302官方提供的datasheet時(shí)序不一致所致,,可以買(mǎi)個(gè)進(jìn)口芯片替換試試,。


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點(diǎn),。轉(zhuǎn)載的所有的文章、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容,、版權(quán)和其它問(wèn)題,,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失,。聯(lián)系電話:010-82306118;郵箱:[email protected],。