嵌入式設(shè)備多工作于實(shí)時環(huán)境,所以需要時鐘系統(tǒng)用以記錄事件發(fā)生的時刻,并及時將采集的數(shù)據(jù)和事件發(fā)生時問通知上位機(jī),以便于及時采取相應(yīng)應(yīng)急措施,所以時鐘芯片對嵌入式設(shè)備是必不可少的。本文分析了串行時鐘芯片DS1302與數(shù)字信號處理器的硬件接口,并介紹了TMS320F2812通過模擬時序的方法實(shí)現(xiàn)對DS1302的讀寫,該方法可應(yīng)用于其它串行器件與DSP的接口程序設(shè)計中。
1.DS1302介紹
DS1302是一種高性能低功耗,帶RAM的串行實(shí)時鐘芯片。具有接El線數(shù)少、體積小、有掉電保護(hù)功能、結(jié)果緊湊等優(yōu)點(diǎn)。由于接口簡單操作方便所以容易與微控制、DSP接El,還可以存儲一些重要參數(shù)。
1.1主要功能介紹
1)實(shí)時時鐘,可對秒、分、時、日、月一級帶潤年補(bǔ)償?shù)哪赀M(jìn)行計數(shù);2)內(nèi)部有高速數(shù)據(jù)RAM3lx8;3)最少引腳數(shù)的串行I/O(3線接口):4)寬電壓工作范圍2.5—5.5V;5)可用于時鐘或RAM數(shù)據(jù)讀寫的單字節(jié)或多字節(jié)數(shù)據(jù)傳送;6)TIL兼容;7)可選的慢速充電能力,具有主電源和箭份電源的雙電源引腳,備份電源引腳可用作電池或超容量的電容的輸入端,附加有高速暫存存儲器。
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串行時鐘輸入引腳;Vccl,vCC2電源引腳。
圖2 DS1302引腳排列
對DS1302的每次操作必須以命令字節(jié)開始,命令字節(jié)結(jié)果如表1所示。位7必須是邏輯1,若該位是0,則禁止操作DSI302,位6為0時選擇實(shí)時時鐘/日歷數(shù)據(jù),位6為1時選擇RAM數(shù)據(jù),位5—1選擇操作的寄存器,位0為1時進(jìn)行讀操作,為0時進(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ī)時可對電池進(jìn)行充電。
2.2軟件讀寫是序
寫保護(hù)寄存器的位7是寫保護(hù)位。開始7位(位0—6)置為零。在對時鐘或RAM進(jìn)行寫操作之前,位7必須為零。當(dāng)它為高電平時,寫保護(hù)位防止對任何其它寄存器進(jìn)行寫操作。
通過把RESET引腳驅(qū)動至高電平來啟動的數(shù)據(jù)傳送。數(shù)據(jù)輸入時,在時鐘的上升沿數(shù)據(jù)必須有效,而數(shù)據(jù)位在時鐘的下降沿輸出。如果RST輸入為低電平,那么所有的數(shù)據(jù)傳送中止且I/O引腳變?yōu)楦咦杩範(fàn)顟B(tài)。上電時,在VCC≥2.5伏之前,RST必須為邏輯0。此外,當(dāng)把RST驅(qū)動至邏輯1的狀態(tài)時,SCLK必須為邏輯0。輸入讀命令字節(jié)8個時鐘周期之后,在后面8個時鐘周期的下降沿數(shù)據(jù)被送出,第一個數(shù)據(jù)位被送出發(fā)生在寫命令字節(jié)最后一位的第一個下降沿;輸入寫命令字節(jié)8個時鐘周期之后,在后面8個時鐘周期的上升沿輸入數(shù)據(jù),若有額外的周期DS1302不予理睬。時序圖如圖4所示。
圖4 DS1302的時序圖
3.TMS320F2812引腳的設(shè)置
由于使用的是模擬時序的方法讀寫DSI302,所以TMS320F2812的相應(yīng)引腳要設(shè)置成通用數(shù)字I/O方式,在這種方式下TMS320F2812提供了寄存器GPxSET(x代表某個I/O口)來設(shè)置每個I/O引腳信號,用GPxCLEAR寄存器來清除每個I/O信號。通過GPxDAT寄存器讀寫每個I/O引腳信號。GPxMUX寄存器為外設(shè)和I/O引腳設(shè)置寄存器。當(dāng)把相應(yīng)位設(shè)置為1時為外設(shè)引腳。設(shè)置為0時為I/O引腳。在下面的讀寫示例中引腳設(shè)置如下:
結(jié)束語
本文總結(jié)了串行時鐘芯片DS1302與DSP的接口設(shè)計,總而言之串行時鐘片DS1302價格低,體積小,采用3線接口,在嵌入式系統(tǒng)巾使用靈活方便,是一種比較好的實(shí)時鐘解決方案。
責(zé)任編輯人:CC
-
dsp
+關(guān)注
關(guān)注
552文章
7962瀏覽量
348264 -
DS1302
+關(guān)注
關(guān)注
8文章
449瀏覽量
50617
發(fā)布評論請先 登錄
相關(guān)推薦
評論