<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于DS1302的時(shí)11鎖定及遠程解密

基于DS1302的時(shí)11鎖定及遠程解密

作者: 時(shí)間:2008-11-20 來(lái)源:網(wǎng)絡(luò ) 收藏
目前,廠(chǎng)家或商家為了推銷(xiāo)產(chǎn)品,往往采用先發(fā)貨后付款,或者預付部分貨款即發(fā)貨的銷(xiāo)售方式。部分信用度較低的客戶(hù),會(huì )以種種借口拒絕付貨款(余款),廠(chǎng)家或商家若按正常途徑索要貨款(余款),往往索要貨款(余款)付出的代價(jià)比貨款(余款)還要大。故而可在電子產(chǎn)品中設置時(shí)間鎖定,待用戶(hù)使用產(chǎn)品到達預定時(shí)間尚未付清款項時(shí),使產(chǎn)品停止工作;等用戶(hù)付清款項后,再由廠(chǎng)家(商家)進(jìn)行遠程解密,令產(chǎn)品重新正常工作,從而在保證用戶(hù)利益的同時(shí)保證廠(chǎng)家(商家)的利益。


1 時(shí)間鎖
時(shí)間鎖是在電子產(chǎn)品中設置一個(gè)預定工作時(shí)間,當實(shí)際工作時(shí)間超過(guò)預定工作時(shí)間時(shí),讓產(chǎn)品進(jìn)入一種特殊的待機狀態(tài),同時(shí)聲光警示、數碼管顯示或液晶顯示相關(guān)提示信息。
1.1 時(shí)間鎖的硬件設計
實(shí)現時(shí)間鎖的一個(gè)關(guān)鍵是產(chǎn)品使用時(shí)間的實(shí)時(shí)保存,且斷電時(shí)信息不能丟失。常見(jiàn)方法有:
①利用單片機內部的E2PROM實(shí)時(shí)保存產(chǎn)品的使用時(shí)間。采用該方法保存不需要后備電源,實(shí)現成本較低,但有些型號的單片機沒(méi)有內部E2PROM,且該方式存在寫(xiě)入壽命短、寫(xiě)入時(shí)間較長(cháng)(10 ms數量級)的問(wèn)題。若在向E2PROM寫(xiě)入數據時(shí)突然掉電,則寫(xiě)入數據會(huì )出錯,導致時(shí)間鎖定功能失效。
②利用專(zhuān)門(mén)的E2PROM芯片(如24C02等)保存使用時(shí)間。該方法的優(yōu)缺點(diǎn)同方法①。
③利用專(zhuān)門(mén)的RAM芯片保存數據。當掉電檢測電路檢測到系統掉電時(shí),向單片機申請中斷;在中斷處理程序中向RAM寫(xiě)入數據,完成數據備份保存。該方式占用硬件資源多、實(shí)現成本較高。
DSl302是美國Dallas公司推出的一款實(shí)時(shí)時(shí)鐘芯片。
其內部RAM是一種可反復擦寫(xiě)的靜態(tài)RAM,保存數據所需的功耗非常低,可與時(shí)鐘電路共用后備電池。用它做數據備份非常合適,可快速、方便、可靠地完成產(chǎn)品使用時(shí)間的備份保存。采用該方法保存數據可彌補上述3種方法的諸多缺陷。
時(shí)間鎖的硬件電路如圖l所示??刂茊纹瑱C采用Microchip公司的PICl6F74,DSl302通過(guò)SPI總線(xiàn)與PICl6F74的RDO、RDl、RD2口相連。DSl302的工作原理在很多文獻中均有介紹,本文不再說(shuō)明。

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

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


2 遠程解密
當用戶(hù)付清貨款(余款)后,廠(chǎng)家或商家可通過(guò)電話(huà)線(xiàn)路對產(chǎn)品遠程解密。采用遠程解密方法方便靈活,既可使產(chǎn)品及時(shí)進(jìn)入正常工作狀態(tài),保證用戶(hù)付完貨款(余款)后能馬上使用產(chǎn)品,又可避免廠(chǎng)家派人上門(mén)解密的麻煩,以及密碼外泄。
2.1 硬件設計
遠程解密的硬件電路如圖3所示。電路包括鈴流檢測電路、模擬摘機電路、DTMF(雙音多頻)解碼電路3部分。將電話(huà)外線(xiàn)接入到遠程解密電路的電話(huà)線(xiàn)輸入端,同時(shí)將ANl開(kāi)關(guān)撥通。當PICl6F74判斷到RC7為低電平時(shí),系統主程序進(jìn)入電話(huà)密碼接收狀態(tài)。

電話(huà)線(xiàn)路沒(méi)有振鈴信號時(shí),電話(huà)外線(xiàn)上的電壓約為48 V,D1和D2的總穩壓值為54 V,不足以讓D3導通,光耦PC111的內部發(fā)光二極管不發(fā)光,輸入到PICl6F74的RD3口為高電平;當該電話(huà)用戶(hù)被呼叫時(shí),電話(huà)交換機發(fā)送的振鈴信號疊加在直流電壓上,振鈴為253 V的正弦波,諧波失真不大于10%,D3導通,PC111的內部發(fā)光二極管發(fā)光,輸入到PICl6F74的RD3口為低電平。故而,該電路可檢測振鈴信號。振鈴以5 s為周期,即1 s送,4 s斷,故可檢測到若干次振鈴后再模擬摘機。
PICl6F74檢測到預定次數振鈴信號后,設置RD4口輸出高電平,T1導通,則T2也導通。電話(huà)回路電流流經(jīng)穩壓二極管D4,交換機識別到電話(huà)線(xiàn)路回路電流大于30mA時(shí),停止發(fā)送振鈴信號,接通電話(huà)線(xiàn)路,實(shí)現模擬摘機功能。電話(huà)信號經(jīng)T2、C1、R1送到MT8870雙音頻解碼。
DTMF主要用于電話(huà)交換系統。它是由兩個(gè)不同頻率的音頻信號疊加而成的復合信號,這些音頻信號不存在任何諧波關(guān)系,分為高音組和低音組,電話(huà)機每個(gè)按鍵對應一組DTMF信號。遠程解密電路采用MT8870作為DTMF信號的解碼芯片,解調電話(huà)線(xiàn)路傳來(lái)的數據信號。MT8870是加拿大.Mitel公司生產(chǎn)的一種集成度高、應用普遍的通信類(lèi)集成電路芯片,可以方便地與單片機連接。其主要功能是完成DTMF信號的接收和識別,可用于有線(xiàn)電話(huà)網(wǎng)、無(wú)線(xiàn)移動(dòng)通信網(wǎng)和計算機通信網(wǎng)的終端設備。DTMF信號通過(guò)IN一端輸入MT8870,GS引腳接反饋電阻對輸入的DTMF信號進(jìn)行放大,OSCl和OSC2引腳之間接一個(gè)3.58 MHz的晶振。從電話(huà)線(xiàn)路送來(lái)的雙音多頻信號在MT8870內經(jīng)過(guò)濾波、放大、高低頻分離,再經(jīng)過(guò)數字處理轉化為與DTMF信號相對應的二進(jìn)制碼,由D0~D3引腳直接輸出。例如按下電話(huà)“1”號鍵,則電話(huà)線(xiàn)上就有高頻1209 Hz和低頻697 Hz的DTMF信號。該信號進(jìn)入MT8870進(jìn)行解碼,解碼的結果由DO、D1、D2、D3輸出,MT8870輸出結果、頻率組合、電話(huà)按鍵的對應關(guān)系如表1所列。MT8870的SID引腳提供DTMF信號檢測輸出。當MT8870接收到DTMF信號并解碼完成后,該引腳為高電平。平時(shí)該引腳為低電平,該信號可向單片機申請中斷。0E引腳為輸出使能端,當OE為高電平時(shí)解碼結果可以從DO~D3輸出。0E為低電平時(shí)DO~D3引腳為高阻態(tài)。

2.2 軟件設計
遠程解密軟件模塊編成一個(gè)子程序,每次系統上電時(shí)調用。其程序流程如圖4所示。通過(guò)判斷RC7端口是否為低電平?jīng)Q定是否遠程解密。當RD3口檢測到3次鈴流信號后,使RD4口輸出高電平實(shí)現模擬摘機,進(jìn)入數據接收狀態(tài)。在數據接收狀態(tài),當RD5收到高電平脈沖時(shí),即可通過(guò)讀取RCo~RC3口接收保存1位數據,隨后等待下一個(gè)高電平。當收到預定位數密碼后,結束遠程解密子程序。用戶(hù)接收密碼完畢時(shí),只需將ANl斷開(kāi),重新開(kāi)機上電,產(chǎn)品即可正常工作。

結 語(yǔ)
基于DSl302的時(shí)間鎖和遠程解密電路已成功應用于某公司的脈動(dòng)真空滅菌器。實(shí)際使用證明,該時(shí)間鎖及遠程解密電路性能可靠,故障率低。脈動(dòng)真空滅菌器加上該電路后,該公司的貨款回收順暢,公司業(yè)務(wù)發(fā)展順利。該時(shí)間鎖和遠程解密電路亦可為其他產(chǎn)品所借鑒,具有一定的實(shí)用價(jià)值。



關(guān)鍵詞: 設計 遠程解密 DS1302 SPI

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>