《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 解決方案 > 基于DS1302的時(shí)間鎖應(yīng)用研究

基于DS1302的時(shí)間鎖應(yīng)用研究

2015-10-15
關(guān)鍵詞: DS1302 RAM

       時(shí)間鎖是在電子產(chǎn)品中設(shè)置一個(gè)預(yù)定工作時(shí)間,當(dāng)實(shí)際工作時(shí)間超過(guò)預(yù)定工作時(shí)間時(shí),讓產(chǎn)品進(jìn)入一種特殊的待機(jī)狀態(tài),同時(shí)聲光警示、數(shù)碼管顯示或液晶顯示相關(guān)提示信息。

  1、時(shí)間鎖設(shè)計(jì)

  1.1 時(shí)間鎖的硬件設(shè)計(jì)

  實(shí)現(xiàn)時(shí)間鎖的一個(gè)關(guān)鍵是產(chǎn)品使用時(shí)間的實(shí)時(shí)保存,且斷電時(shí)信息不能丟失。常見方法有:

  ①利用單片機(jī)內(nèi)部的E2PROM實(shí)時(shí)保存產(chǎn)品的使用時(shí)間。采用該方法保存不需要后備電源,實(shí)現(xiàn)成本較低,但有些型號(hào)的單片機(jī)沒(méi)有內(nèi)部 E2PROM,且該方式存在寫入壽命短、寫入時(shí)間較長(zhǎng)(10 ms數(shù)量級(jí))的問(wèn)題。若在向E2PROM寫入數(shù)據(jù)時(shí)突然掉電,則寫入數(shù)據(jù)會(huì)出錯(cuò),導(dǎo)致時(shí)間鎖定功能失效。

 ?、诶脤iT的E2PROM芯片(如24C02等)保存使用時(shí)間。該方法的優(yōu)缺點(diǎn)同方法①。

 ?、劾脤iT的RAM芯片保存數(shù)據(jù)。當(dāng)?shù)綦姍z測(cè)電路檢測(cè)到系統(tǒng)掉電時(shí),向單片機(jī)申請(qǐng)中斷;在中斷處理程序中向RAM寫入數(shù)據(jù),完成數(shù)據(jù)備份保存。該方式占用硬件資源多、實(shí)現(xiàn)成本較高。

  DSl302是美國(guó)Dallas公司推出的一款實(shí)時(shí)時(shí)鐘芯片。

  其內(nèi)部RAM是一種可反復(fù)擦寫的靜態(tài)RAM,保存數(shù)據(jù)所需的功耗非常低,可與時(shí)鐘電路共用后備電池。用它做數(shù)據(jù)備份非常合適,可快速、方便、可靠地完成產(chǎn)品使用時(shí)間的備份保存。采用該方法保存數(shù)據(jù)可彌補(bǔ)上述3種方法的諸多缺陷。

  時(shí)間鎖的硬件電路如圖l所示??刂茊纹瑱C(jī)采用Microchip公司的PICl6F74,DSl302通過(guò)SPI總線與PICl6F74的RDO、RDl、RD2口相連。DSl302的工作原理在很多文獻(xiàn)中均有介紹,本文不再說(shuō)明。

  1.2 時(shí)間鎖的軟件設(shè)計(jì)

  產(chǎn)品在出廠時(shí),在單片機(jī)程序中預(yù)先設(shè)定好使用時(shí)間,產(chǎn)品主程序定時(shí)調(diào)用圖2所示的時(shí)間鎖子程序。主程序根據(jù)工作標(biāo)志進(jìn)入正常工作狀態(tài)或特殊 工作狀態(tài)。在正常工作狀態(tài),實(shí)時(shí)將累計(jì)工作時(shí)間保存于DSl302的靜態(tài)RAM中;在特殊工作狀態(tài),產(chǎn)品停止工作,同時(shí)聲光警示、數(shù)碼管顯示或液晶顯示相 關(guān)提示信息。

  參考文獻(xiàn)所述的時(shí)間鎖是讀取DS1302的當(dāng)前日期時(shí)間,再與預(yù)設(shè)的日期時(shí)間比較,若超期則產(chǎn)品停止工作。但用戶可將當(dāng)前日期時(shí)間重新設(shè)置在預(yù)設(shè)的日期時(shí)間之前以避開時(shí)間鎖,而本時(shí)間鎖則是計(jì)算產(chǎn)品實(shí)際累計(jì)工作時(shí)間,從而解決了上述問(wèn)題。

  2、遠(yuǎn)程解密

  當(dāng)用戶付清貨款(余款)后,廠家或商家可通過(guò)電話線路對(duì)產(chǎn)品遠(yuǎn)程解密。采用遠(yuǎn)程解密方法方便靈活,既可使產(chǎn)品及時(shí)進(jìn)入正常工作狀態(tài),保證用戶付完貨款(余款)后能馬上使用產(chǎn)品,又可避免廠家派人上門解密的麻煩,以及密碼外泄。

  2.1 硬件設(shè)計(jì)

  遠(yuǎn)程解密的硬件電路如圖3所示。電路包括鈴流檢測(cè)電路、模擬摘機(jī)電路、DTMF(雙音多頻)解碼電路3部分。將電話外線接入到遠(yuǎn)程解密電路的電話線輸入端,同時(shí)將ANl開關(guān)撥通。當(dāng)PICl6F74判斷到RC7為低電平時(shí),系統(tǒng)主程序進(jìn)入電話密碼接收狀態(tài)。

  電話線路沒(méi)有振鈴信號(hào)時(shí),電話外線上的電壓約為48 V,D1和D2的總穩(wěn)壓值為54 V,不足以讓D3導(dǎo)通,光耦PC111的內(nèi)部發(fā)光二極管不發(fā)光,輸入到PICl6F74的RD3口為高電平;當(dāng)該電話用戶被呼叫時(shí),電話交換機(jī)發(fā)送的振鈴 信號(hào)疊加在直流電壓上,振鈴為25%26#177;3 V的正弦波,諧波失真不大于10%,D3導(dǎo)通,PC111的內(nèi)部發(fā)光二極管發(fā)光,輸入到PICl6F74的RD3口為低電平。故而,該電路可檢測(cè)振鈴信 號(hào)。振鈴以5 s為周期,即1 s送,4 s斷,故可檢測(cè)到若干次振鈴后再模擬摘機(jī)。

  PICl6F74檢測(cè)到預(yù)定次數(shù)振鈴信號(hào)后,設(shè)置RD4口輸出高電平,T1導(dǎo)通,則T2也導(dǎo)通。電話回路電流流經(jīng)穩(wěn)壓二極管D4,交換機(jī)識(shí) 別到電話線路回路電流大于30mA時(shí),停止發(fā)送振鈴信號(hào),接通電話線路,實(shí)現(xiàn)模擬摘機(jī)功能。電話信號(hào)經(jīng)T2、C1、R1送到MT8870雙音頻解碼。

  DTMF主要用于電話交換系統(tǒng)。它是由兩個(gè)不同頻率的音頻信號(hào)疊加而成的復(fù)合信號(hào),這些音頻信號(hào)不存在任何諧波關(guān)系,分為高音組和低音組, 電話機(jī)每個(gè)按鍵對(duì)應(yīng)一組DTMF信號(hào)。遠(yuǎn)程解密電路采用MT8870作為DTMF信號(hào)的解碼芯片,解調(diào)電話線路傳來(lái)的數(shù)據(jù)信號(hào)。MT8870是加拿 大.Mitel公司生產(chǎn)的一種集成度高、應(yīng)用普遍的通信類集成電路芯片,可以方便地與單片機(jī)連接。其主要功能是完成DTMF信號(hào)的接收和識(shí)別,可用于有線 電話網(wǎng)、無(wú)線移動(dòng)通信網(wǎng)和計(jì)算機(jī)通信網(wǎng)的終端設(shè)備。DTMF信號(hào)通過(guò)IN一端輸入MT8870,GS引腳接反饋電阻對(duì)輸入的DTMF信號(hào)進(jìn)行放 大,OSCl和OSC2引腳之間接一個(gè)3.58 MHz的晶振。從電話線路送來(lái)的雙音多頻信號(hào)在MT8870內(nèi)經(jīng)過(guò)濾波、放大、高低頻分離,再經(jīng)過(guò)數(shù)字處理轉(zhuǎn)化為與DTMF信號(hào)相對(duì)應(yīng)的二進(jìn)制碼,由 D0~D3引腳直接輸出。例如按下電話“1”號(hào)鍵,則電話線上就有高頻1209 Hz和低頻697 Hz的DTMF信號(hào)。該信號(hào)進(jìn)入MT8870進(jìn)行解碼,解碼的結(jié)果由DO、D1、D2、D3輸出,MT8870輸出結(jié)果、頻率組合、電話按鍵的對(duì)應(yīng)關(guān)系如 表1所列。MT8870的SID引腳提供DTMF信號(hào)檢測(cè)輸出。當(dāng)MT8870接收到DTMF信號(hào)并解碼完成后,該引腳為高電平。平時(shí)該引腳為低電平,該 信號(hào)可向單片機(jī)申請(qǐng)中斷。0E引腳為輸出使能端,當(dāng)OE為高電平時(shí)解碼結(jié)果可以從DO~D3輸出。0E為低電平時(shí)DO~D3引腳為高阻態(tài)。

  2.2 軟件設(shè)計(jì)

  遠(yuǎn)程解密軟件模塊編成一個(gè)子程序,每次系統(tǒng)上電時(shí)調(diào)用。其程序流程如圖4所示。通過(guò)判斷RC7端口是否為低電平?jīng)Q定是否遠(yuǎn)程解密。當(dāng)RD3 口檢測(cè)到3次鈴流信號(hào)后,使RD4口輸出高電平實(shí)現(xiàn)模擬摘機(jī),進(jìn)入數(shù)據(jù)接收狀態(tài)。在數(shù)據(jù)接收狀態(tài),當(dāng)RD5收到高電平脈沖時(shí),即可通過(guò)讀取RCo~RC3 口接收保存1位數(shù)據(jù),隨后等待下一個(gè)高電平。當(dāng)收到預(yù)定位數(shù)密碼后,結(jié)束遠(yuǎn)程解密子程序。用戶接收密碼完畢時(shí),只需將ANl斷開,重新開機(jī)上電,產(chǎ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;郵箱:aet@chinaaet.com。