嵌入式設(shè)備多工作于實(shí)時(shí)環(huán)境,所以需要時(shí)鐘系統(tǒng)用以記錄事件發(fā)生的時(shí)刻,并及時(shí)將采集的數(shù)據(jù)和事件發(fā)生時(shí)問通知上位機(jī),以便于及時(shí)采取相應(yīng)應(yīng)急措施,所以時(shí)鐘芯片對(duì)嵌入式設(shè)備是必不可少的。本文分析了串行時(shí)鐘芯片DS1302與數(shù)字信號(hào)處理器的硬件接口,并介紹了TMS320F2812通過模擬時(shí)序的方法實(shí)現(xiàn)對(duì)DS1302的讀寫,該方法可應(yīng)用于其它串行器件與DSP的接口程序設(shè)計(jì)中。
1.DS1302介紹
DS1302是一種高性能低功耗,帶RAM的串行實(shí)時(shí)鐘芯片。具有接El線數(shù)少、體積小、有掉電保護(hù)功能、結(jié)果緊湊等優(yōu)點(diǎn)。由于接口簡(jiǎn)單操作方便所以容易與微控制、DSP接El,還可以存儲(chǔ)一些重要參數(shù)。
1.1主要功能介紹
1)實(shí)時(shí)時(shí)鐘,可對(duì)秒、分、時(shí)、日、月一級(jí)帶潤(rùn)年補(bǔ)償?shù)哪赀M(jìn)行計(jì)數(shù);2)內(nèi)部有高速數(shù)據(jù)RAM3lx8;3)最少引腳數(shù)的串行I/O(3線接口):4)寬電壓工作范圍2.5—5.5V;5)可用于時(shí)鐘或RAM數(shù)據(jù)讀寫的單字節(jié)或多字節(jié)數(shù)據(jù)傳送;6)TIL兼容;7)可選的慢速充電能力,具有主電源和箭份電源的雙電源引腳,備份電源引腳可用作電池或超容量的電容的輸入端,附加有高速暫存存儲(chǔ)器。
1.2內(nèi)部功能框圖
DS1302的內(nèi)部功能框圖如圖1所示:
圖1 DS1302內(nèi)部功能框圖
1.3引腳功能
DSI302的SO1C封裝引腳排列如圖2所示。引腳功能如下:Xl,X2引腳接32.768KHz晶振;GEN地;I/O數(shù)據(jù)輸入輸出;RST復(fù)位;SCLK串行時(shí)鐘輸入引腳;Vccl,vCC2電源引腳。
圖2 DS1302引腳排列
對(duì)DS1302的每次操作必須以命令字節(jié)開始,命令字節(jié)結(jié)果如表1所示。位7必須是邏輯1,若該位是0,則禁止操作DSI302,位6為0時(shí)選擇實(shí)時(shí)時(shí)鐘/日歷數(shù)據(jù),位6為1時(shí)選擇RAM數(shù)據(jù),位5—1選擇操作的寄存器,位0為1時(shí)進(jìn)行讀操作,為0時(shí)進(jìn)行寫操作。
2.DSI302與F2812的接線
2.1硬件連線
DS1302與F2812的硬件連線如圖3所示。
圖3 F2812與DS1302的接線圖
由于F2812為3.3V器件,為了接口電平的匹配DS1302的供電電壓也必須為3.3V。所以DS1302的VCC2接3.3V,VCC1接3V電池。這樣需要開啟DS1302的慢速充電功能在開機(jī)時(shí)可對(duì)電池進(jìn)行充電。
2.2軟件讀寫是序
寫保護(hù)寄存器的位7是寫保護(hù)位。開始7位(位0—6)置為零。在對(duì)時(shí)鐘或RAM進(jìn)行寫操作之前,位7必須為零。當(dāng)它為高電平時(shí),寫保護(hù)位防止對(duì)任何其它寄存器進(jìn)行寫操作。
通過把RESET引腳驅(qū)動(dòng)至高電平來(lái)啟動(dòng)的數(shù)據(jù)傳送。數(shù)據(jù)輸入時(shí),在時(shí)鐘的上升沿?cái)?shù)據(jù)必須有效,而數(shù)據(jù)位在時(shí)鐘的下降沿輸出。如果RST輸入為低電平,那么所有的數(shù)據(jù)傳送中止且I/O引腳變?yōu)楦咦杩範(fàn)顟B(tài)。上電時(shí),在VCC≥2.5伏之前,RST必須為邏輯0。此外,當(dāng)把RST驅(qū)動(dòng)至邏輯1的狀態(tài)時(shí),SCLK必須為邏輯0。輸入讀命令字節(jié)8個(gè)時(shí)鐘周期之后,在后面8個(gè)時(shí)鐘周期的下降沿?cái)?shù)據(jù)被送出,第一個(gè)數(shù)據(jù)位被送出發(fā)生在寫命令字節(jié)最后一位的第一個(gè)下降沿;輸入寫命令字節(jié)8個(gè)時(shí)鐘周期之后,在后面8個(gè)時(shí)鐘周期的上升沿輸入數(shù)據(jù),若有額外的周期DS1302不予理睬。時(shí)序圖如圖4所示。
圖4 DS1302的時(shí)序圖
3.TMS320F2812引腳的設(shè)置
由于使用的是模擬時(shí)序的方法讀寫DSI302,所以TMS320F2812的相應(yīng)引腳要設(shè)置成通用數(shù)字I/O方式,在這種方式下TMS320F2812提供了寄存器GPxSET(x代表某個(gè)I/O口)來(lái)設(shè)置每個(gè)I/O引腳信號(hào),用GPxCLEAR寄存器來(lái)清除每個(gè)I/O信號(hào)。通過GPxDAT寄存器讀寫每個(gè)I/O引腳信號(hào)。GPxMUX寄存器為外設(shè)和I/O引腳設(shè)置寄存器。當(dāng)把相應(yīng)位設(shè)置為1時(shí)為外設(shè)引腳。設(shè)置為0時(shí)為I/O引腳。在下面的讀寫示例中引腳設(shè)置如下:
結(jié)束語(yǔ)
本文總結(jié)了串行時(shí)鐘芯片DS1302與DSP的接口設(shè)計(jì),總而言之串行時(shí)鐘片DS1302價(jià)格低,體積小,采用3線接口,在嵌入式系統(tǒng)巾使用靈活方便,是一種比較好的實(shí)時(shí)鐘解決方案。
電話:18923864027(同微信)
QQ:709211280
〈烜芯微/XXW〉專業(yè)制造二極管,三極管,MOS管,橋堆等,20年,工廠直銷省20%,上萬(wàn)家電路電器生產(chǎn)企業(yè)選用,專業(yè)的工程師幫您穩(wěn)定好每一批產(chǎn)品,如果您有遇到什么需要幫助解決的,可以直接聯(lián)系下方的聯(lián)系號(hào)碼或加QQ/微信,由我們的銷售經(jīng)理給您精準(zhǔn)的報(bào)價(jià)以及產(chǎn)品介紹