關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 用實時時鐘芯片DS1305啟動數據采集系統

        用實時時鐘芯片DS1305啟動數據采集系統

        作者: 時間:2004-12-07 來源:網絡 收藏
        摘要:介紹串行的功能、結構及其利用設計的電源開關電路,可使平時處于關閉狀態。定時開啟時上電,進行;一次工作結束時關閉開關,斷電。

        關鍵詞: 低功耗

        引言

        對于許多便攜式數據采集系統,需要長時間無人看管地工作,如在石油鉆井下、輸油管道等場所。一般需要間隔數小時進行一個采集,這樣系統大部分時間處空閑狀態。雖然現在低功耗單片機的睡眠狀態提供了降低功耗的一種方法,但低功耗不等于沒有功耗,系統長時間工作時不得不考慮功耗的問題。

        為進一步節省功耗,我們在研制一數據采集系統時,利用DS1305設計一電源開關電路。利用該開關電路,可使系統在空頭時處于關閉狀態,每當采集時間到,由報警信號開啟單片機系統以進行數據采集,在數據采集結束時,單片機關閉開關電路,系統斷電。這樣系統處于關閉狀態,一直到下一次開關電路報警。

        1 DS1305簡介

        DS1305是美國Dallas公司推出的串行接口帶報警。它有20腳的TSSOP、16腳的DIP兩種封裝方式[1],工作電壓范圍從2.0~5.5V。

        1.1 主要特性

        DS1305用二一十進制(BCD)碼表示時鐘的秒、分、小時、星期、日、月和年的時間信息,并且自動對小月(少于31天的月份)和閏年的日期進行調整,兼有帶AM/PM指示12小時和24小時兩種時間指示格式。圖1為DS1305兩種引腳的排列。

        DS1305提供了主電源和后備電源的雙電源引腳和一個電池輸入引腳;Vcc1為主電源,Vcc2為后備電源,可充電電源接此引腳,VBAT接3V的鋰紐扣電池或其它電源。VCCIF引腳用來驅動SDO和PF(電源失效輸出)引腳的電平和接口的電相兼容。DS1305只支持三種電源連接方式,如圖2所示。VCC1和VBAT供電時,VCC1大于VBAT0.2V時,正常對DS1305進行訪問。當VCC1小于CBAT時,DS1305進入寫保護。VCC1、VCC2供電時,當Vcc1比Vcc2大0.2V,Vcc1輸入作為電源;當Vcc1小于Vcc2,Vcc2對DS1305供電。這種模式下,DS1305不能寫保護自己。當Vcc1以+5V供電時,DS1305正常工作電流為1.28mA,時鐘保持電流最大為81μA,當+2V供電時,正常工作電流為0.425mA,時鐘保持電流最大為25.3μA

        DS1305支持通過SPI串行數據端口或者標準的三線接口進行時間的校正和數據的讀取,可進行單字節的或連讀字節束發方式的訪問。SERMODE接地,串口訪問模式設定為標準3線模式:SD1(串口數據輸入)與SDO(串口數據輸出)連接在一起作為單一的I/O引腳,它與CE、SCLK組成3線模式。SERMODE接VCC,選擇SPI通信模式,具體操作可查閱有關資料。

        INT0、INT1提供兩個可編程的中斷報警信號,可通過串行總線訪問和設定秒、分、時、星期的報警時間。

        X1、X2引腳直接連接標準的32.768kHz晶振,無需外接其它元件。如實時時鐘有誤差,可以在振蕩器兩端并接6pF電容進行調整。

        1.2 操作方式

        DS1305共有148個用戶RAM,其讀操作地址與寫操作地址空頭分開,當其高位為1時,為寫操作地址空間,0為讀操作地址。除實時時鐘、日歷寄存器和通用寄存器之外,還有作一般數據存儲器用的96字節的NVRAM。對DS1305操作之前,必須對控制寄存器、狀態寄存器、涓流充電寄存器進行初始化。

        以下為控制寄存器(0F讀,8F字):

        76543210
        EOSCWP000INTCNAIE1AIE0

        EOSC:設置為0使振蕩器開始工作,設置為1,DS1305處于低功耗閑置狀態。WP:寫保護位,上電初始化后,WP位處于三態,在任何寫操作之前,該位必須清零。INTCN:中斷控制位,控制兩個中斷之間的聯系,置位后兩個中斷引腳INT0、INT1分別響應各自的中斷(需中斷使能),清零后,中斷1、2報警時間匹配都只能引發INT0輸入低電平,INT1無效。ALE0、ALE1置1時中斷0、1使能。

        狀態寄存器(讀10H)只有兩位IRQF0、INQF1,置位時分別表示中斷時間匹配。涓流充電寄存器(讀11H,寫91H)控制涓流充電的特性。

        DS1305標準三線模式的讀寫操作過程,每個字節需要16個SCLK時鐘。通過CE引腳輸入高電平來所有數據傳送,前8個SCLK周期為輸入寫命令,后8個SCLK周期為輸入或輸出的數據。輸入時,SCLK的上升沿數據有效;輸出時,SCLK的下降沿輸出數據有效。

        2 用DS1305開啟數據采集系統

        圖3所示的電路是利用DS1305組成的數據采集系統。89C51與DS1305使用標準三線形式進行通信,74HC73為JK觸發器,輸入端J、K、CD接高電平,時鐘CLK接DS1305的中斷引腳INT0,輸出引腳Q與三極管組成數據采集系統的開關。此外,DS1305在主電源斷電時,可自動轉換使用備用電池繼續供電,不會造成時鐘的丟失。

        在采集系統上電初始化時鐘后,通過I/O口給JK觸發器CLK引腳一個負脈沖,Q引腳輸出為低,三極管截止,采集系統斷電,功耗降到零。但時鐘電路部分保持供電,在DS1305實時時鐘到設定采集時間,由INT0引腳發出中斷信號給觸發器CLK一個低電平。由于CD維持高電平,造成JK觸發器翻轉,三極管導通,VCC給單片機上電復位。這樣就將數據采集系統喚醒。可由單片機控制,導通模擬電路,傳感器、AD轉換器等進行數據采集。采集結束后,單片機保存采集結果后,通過輸出引腳發送低脈沖到CLK引腳,使JK觸發器翻轉,三極管截止,再次使得采集系統斷電,進入瞬眠狀態直至下一個采集時間,如此循環。

        下面例程是圖3電路所示系統的DS1305的初始化和讀寫程序,其中CE接P1.3,I/O引腳接P1.1,SCLK引腳接P1.2。

        (1)DS1305初始化程序

        RESETDS:CLR P1.2:置時鐘信號P1.2=0

        CLR P1.3;置片選信號P1.3=0

        SETB P1.3;置片選信號P1.3=1,DS1305使能

        RET

        (2)對DS1305進行寫操作程序

        DSW: MOV R7,#08H ;該子程序為通過單片機寫入地址或數據

        WLOOP:RRC A ;A中為要寫入的數據或地址

        MOV P1.1,C

        SETB P1.2 ;時鐘信號

        NOP

        CLR P1.2 ;產生時鐘脈沖

        DJNZ R7,WLOOP

        RET

        (3)對DS1305進行讀操作程序

        DSR:SETB P1.1 ;為讀數據做準備。

        CLR A

        MOV R7,#08H

        RLOOP:CLR R1.2 ;寫入地址后的第一個時鐘脈沖下降沿開始讀出數據

        MOV C,P1.1

        RRC A ;A中為讀出的8位數據

        SETB P1.2

        DJNZ R7,RLOOP

        RET

        結語

        用DS1305控制的電源管理系統,可使數據采集系統長時間在無人看管的環境中定時進行數據采集。根據這一思想所設計的電路,經筆者應用在遠程輸油管道上的壓力測量,經過一個月的檢驗,采集時間準確,系統工作可靠。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 沛县| 嘉义县| 麻江县| 郯城县| 青阳县| 安龙县| 日土县| 赤城县| 津南区| 天津市| 大厂| 塘沽区| 天门市| 金山区| 焉耆| 米易县| 乐清市| 白河县| 册亨县| 宝坻区| 桐柏县| 峨眉山市| 当涂县| 涪陵区| 台北市| 繁峙县| 信丰县| 鄯善县| 盖州市| 乌兰察布市| 石泉县| 临泽县| 思茅市| 龙州县| 林芝县| 金阳县| 钦州市| 漯河市| 张北县| 达孜县| 余干县|