時間鎖是在電子產(chǎn)品中設置一個預定工作時間,當實際工作時間超過預定工作時間時,,讓產(chǎn)品進入一種特殊的待機狀態(tài),,同時聲光警示、數(shù)碼管顯示或液晶顯示相關提示信息。
1,、時間鎖設計
1.1 時間鎖的硬件設計
實現(xiàn)時間鎖的一個關鍵是產(chǎn)品使用時間的實時保存,,且斷電時信息不能丟失。常見方法有:
?、倮脝纹瑱C內部的E2PROM實時保存產(chǎn)品的使用時間,。采用該方法保存不需要后備電源,實現(xiàn)成本較低,,但有些型號的單片機沒有內部 E2PROM,,且該方式存在寫入壽命短、寫入時間較長(10 ms數(shù)量級)的問題,。若在向E2PROM寫入數(shù)據(jù)時突然掉電,,則寫入數(shù)據(jù)會出錯,導致時間鎖定功能失效,。
?、诶脤iT的E2PROM芯片(如24C02等)保存使用時間。該方法的優(yōu)缺點同方法①,。
③利用專門的RAM芯片保存數(shù)據(jù),。當?shù)綦姍z測電路檢測到系統(tǒng)掉電時,,向單片機申請中斷;在中斷處理程序中向RAM寫入數(shù)據(jù),,完成數(shù)據(jù)備份保存,。該方式占用硬件資源多、實現(xiàn)成本較高,。
DSl302是美國Dallas公司推出的一款實時時鐘芯片,。
其內部RAM是一種可反復擦寫的靜態(tài)RAM,保存數(shù)據(jù)所需的功耗非常低,,可與時鐘電路共用后備電池,。用它做數(shù)據(jù)備份非常合適,可快速,、方便,、可靠地完成產(chǎn)品使用時間的備份保存。采用該方法保存數(shù)據(jù)可彌補上述3種方法的諸多缺陷,。
時間鎖的硬件電路如圖l所示,。控制單片機采用Microchip公司的PICl6F74,,DSl302通過SPI總線與PICl6F74的RDO,、RDl、RD2口相連。DSl302的工作原理在很多文獻中均有介紹,,本文不再說明,。
1.2 時間鎖的軟件設計
產(chǎn)品在出廠時,在單片機程序中預先設定好使用時間,,產(chǎn)品主程序定時調用圖2所示的時間鎖子程序,。主程序根據(jù)工作標志進入正常工作狀態(tài)或特殊 工作狀態(tài)。在正常工作狀態(tài),,實時將累計工作時間保存于DSl302的靜態(tài)RAM中,;在特殊工作狀態(tài),產(chǎn)品停止工作,,同時聲光警示,、數(shù)碼管顯示或液晶顯示相 關提示信息。
參考文獻所述的時間鎖是讀取DS1302的當前日期時間,,再與預設的日期時間比較,,若超期則產(chǎn)品停止工作。但用戶可將當前日期時間重新設置在預設的日期時間之前以避開時間鎖,,而本時間鎖則是計算產(chǎn)品實際累計工作時間,,從而解決了上述問題。
2,、遠程解密
當用戶付清貨款(余款)后,,廠家或商家可通過電話線路對產(chǎn)品遠程解密。采用遠程解密方法方便靈活,,既可使產(chǎn)品及時進入正常工作狀態(tài),,保證用戶付完貨款(余款)后能馬上使用產(chǎn)品,又可避免廠家派人上門解密的麻煩,,以及密碼外泄,。
2.1 硬件設計
遠程解密的硬件電路如圖3所示。電路包括鈴流檢測電路,、模擬摘機電路,、DTMF(雙音多頻)解碼電路3部分。將電話外線接入到遠程解密電路的電話線輸入端,,同時將ANl開關撥通,。當PICl6F74判斷到RC7為低電平時,系統(tǒng)主程序進入電話密碼接收狀態(tài),。
電話線路沒有振鈴信號時,,電話外線上的電壓約為48 V,D1和D2的總穩(wěn)壓值為54 V,,不足以讓D3導通,,光耦PC111的內部發(fā)光二極管不發(fā)光,,輸入到PICl6F74的RD3口為高電平;當該電話用戶被呼叫時,,電話交換機發(fā)送的振鈴 信號疊加在直流電壓上,,振鈴為25%26#177;3 V的正弦波,諧波失真不大于10%,,D3導通,,PC111的內部發(fā)光二極管發(fā)光,輸入到PICl6F74的RD3口為低電平,。故而,,該電路可檢測振鈴信 號。振鈴以5 s為周期,,即1 s送,,4 s斷,故可檢測到若干次振鈴后再模擬摘機,。
PICl6F74檢測到預定次數(shù)振鈴信號后,,設置RD4口輸出高電平,T1導通,,則T2也導通,。電話回路電流流經(jīng)穩(wěn)壓二極管D4,交換機識 別到電話線路回路電流大于30mA時,,停止發(fā)送振鈴信號,,接通電話線路,實現(xiàn)模擬摘機功能,。電話信號經(jīng)T2、C1,、R1送到MT8870雙音頻解碼,。
DTMF主要用于電話交換系統(tǒng)。它是由兩個不同頻率的音頻信號疊加而成的復合信號,,這些音頻信號不存在任何諧波關系,,分為高音組和低音組, 電話機每個按鍵對應一組DTMF信號,。遠程解密電路采用MT8870作為DTMF信號的解碼芯片,,解調電話線路傳來的數(shù)據(jù)信號。MT8870是加拿 大.Mitel公司生產(chǎn)的一種集成度高,、應用普遍的通信類集成電路芯片,,可以方便地與單片機連接。其主要功能是完成DTMF信號的接收和識別,,可用于有線 電話網(wǎng),、無線移動通信網(wǎng)和計算機通信網(wǎng)的終端設備,。DTMF信號通過IN一端輸入MT8870,GS引腳接反饋電阻對輸入的DTMF信號進行放 大,,OSCl和OSC2引腳之間接一個3.58 MHz的晶振,。從電話線路送來的雙音多頻信號在MT8870內經(jīng)過濾波、放大,、高低頻分離,,再經(jīng)過數(shù)字處理轉化為與DTMF信號相對應的二進制碼,由 D0~D3引腳直接輸出,。例如按下電話“1”號鍵,,則電話線上就有高頻1209 Hz和低頻697 Hz的DTMF信號。該信號進入MT8870進行解碼,,解碼的結果由DO,、D1、D2,、D3輸出,,MT8870輸出結果、頻率組合,、電話按鍵的對應關系如 表1所列,。MT8870的SID引腳提供DTMF信號檢測輸出。當MT8870接收到DTMF信號并解碼完成后,,該引腳為高電平,。平時該引腳為低電平,該 信號可向單片機申請中斷,。0E引腳為輸出使能端,,當OE為高電平時解碼結果可以從DO~D3輸出。0E為低電平時DO~D3引腳為高阻態(tài),。
2.2 軟件設計
遠程解密軟件模塊編成一個子程序,,每次系統(tǒng)上電時調用。其程序流程如圖4所示,。通過判斷RC7端口是否為低電平?jīng)Q定是否遠程解密,。當RD3 口檢測到3次鈴流信號后,使RD4口輸出高電平實現(xiàn)模擬摘機,,進入數(shù)據(jù)接收狀態(tài),。在數(shù)據(jù)接收狀態(tài),當RD5收到高電平脈沖時,,即可通過讀取RCo~RC3 口接收保存1位數(shù)據(jù),,隨后等待下一個高電平。當收到預定位數(shù)密碼后,,結束遠程解密子程序,。用戶接收密碼完畢時,,只需將ANl斷開,重新開機上電,,產(chǎn)品即可 正常工作,。