基于PIC16C57的滾動(dòng)碼遙控安防系統(tǒng)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:本文介紹滾動(dòng)碼技術(shù)和一種基于PIC16C57的滾動(dòng)碼解碼的安防系統(tǒng)設(shè)計(jì)。與傳統(tǒng)的用于單向傳輸?shù)陌卜喇a(chǎn)品主要采用固定編碼集成電路相比,該系統(tǒng)具有極高的保密性, 可廣泛應(yīng)用于各種安全保密系統(tǒng)。
關(guān)鍵詞:滾動(dòng)碼;遙控發(fā)射;遙控接收;單片機(jī)
傳統(tǒng)上,用于單向傳輸?shù)陌卜喇a(chǎn)品主要采用固定編碼集成電路,如PT2262 、PT2272 、AX5326 、AX5327等編解碼芯片。但由于此類(lèi)編解碼芯片的編碼長(zhǎng)度有限,碼形格式固定不變,容易通過(guò)空中捕捉電波碼字和掃描跟蹤等方法破解。因此,此類(lèi)編解碼芯片只能用于一些對(duì)保密安全要求不高的場(chǎng)所。相比之下,Microchip公司推出的KEELOQ編碼系統(tǒng)編碼方式安全性大大提高。
KEELOQ 技術(shù)是一種復(fù)雜的非線性加密算法,經(jīng)它加密后的碼稱(chēng)為滾動(dòng)碼,KEELOQ也是滾動(dòng)碼技術(shù)的專(zhuān)利代碼。KEELOQ編碼系統(tǒng)的編碼方式不是固定的,使數(shù)據(jù)傳輸具有極高的保密性,每次傳輸?shù)拇a都是唯一、不規(guī)則且不重復(fù)的。解碼系統(tǒng)由PIC系列單片機(jī)構(gòu)成,編解碼系統(tǒng)經(jīng)“學(xué)習(xí)”后,便構(gòu)成一系統(tǒng),編碼與解碼同步滾動(dòng),使得任何非法捕捉和掃描跟蹤等破譯手段都難以奏效?;谶@一原理,本文提出了一種基于PIC16C57的滾動(dòng)碼解碼安防系統(tǒng)的設(shè)計(jì),主要包括遙控發(fā)射系統(tǒng)、遙控接收譯碼控制系統(tǒng)兩大部分。硬件系統(tǒng)結(jié)構(gòu)圖見(jiàn)圖1。
圖1 系統(tǒng)結(jié)構(gòu)框圖
系統(tǒng)主要由按鍵加密發(fā)送器和接收控制器組成。用戶(hù)可以按下按鍵開(kāi)關(guān)發(fā)起與接收機(jī)的通信,通過(guò)一串長(zhǎng)度為64~128位的數(shù)據(jù)流進(jìn)行發(fā)送器和接收器的會(huì)話,該數(shù)據(jù)流包括前引導(dǎo)碼、命令碼和一串加密滾動(dòng)碼。
遙控發(fā)射系統(tǒng)
遙控發(fā)射器主要由滾碼發(fā)生電路和載波發(fā)射電路兩部分組成,如圖2所示。S0-S3是四路控制按鍵,LED為發(fā)射指示,滾動(dòng)編碼以串行方式通過(guò)PWM接口,再由發(fā)射電路發(fā)射出去。發(fā)射電路采用MAX1472射頻模塊,如圖3所示。
圖2 遙控發(fā)射系統(tǒng)
圖3 發(fā)送部分射頻前端電路
遙控接收解碼控制系統(tǒng)
在接收解碼控制系統(tǒng)中,需要有射頻接收電路(見(jiàn)圖4)和解碼控制系統(tǒng)(見(jiàn)圖5)兩部分。
圖4 接收部分射頻前端電路
圖5 遙控接收解碼控制系統(tǒng)
在解碼控制系統(tǒng)中,單片機(jī)采用PIC16C57,片內(nèi)有72單元的RAM,2K程序存貯器ROM,20個(gè)I/O接口,以及片內(nèi)定時(shí)計(jì)數(shù)器和看門(mén)狗電路。在本設(shè)計(jì)中,由于使用的輸入輸出接口較多,需要進(jìn)行擴(kuò)展。輸入擴(kuò)展可采用單向驅(qū)動(dòng)器74LS244, 輸出擴(kuò)展可采用8D觸發(fā)器74LS273。在遙控接收電路中,采用與發(fā)射器配套的MAX1473。E2PROM可以選用任何容量的采用I2C總線協(xié)議的產(chǎn)品,以用作存貯滾動(dòng)編碼的“參考碼”。
為了使編碼器、解碼器一起工作,編碼器首先要被“學(xué)習(xí)”確認(rèn)。“學(xué)習(xí)”時(shí), 先按下PIC單片機(jī)解碼器下的“LAN”按鍵,并在規(guī)定時(shí)間內(nèi)按下編碼器的任意按鍵2 次。若在規(guī)定的時(shí)間內(nèi)沒(méi)有接收到2 次數(shù)據(jù), 或者有接收到2 次數(shù)據(jù), 但數(shù)據(jù)經(jīng)校驗(yàn)不正確, 則認(rèn)為學(xué)習(xí)失敗, 應(yīng)重新學(xué)習(xí)。 若長(zhǎng)按“LAN”鍵超過(guò)8.2s,則解碼器將擦除全部的編碼器存儲(chǔ)值?!皩W(xué)習(xí)”成功后, 解碼器將所學(xué)的序列號(hào)和同步值經(jīng)加密后存儲(chǔ)到E2PROM中。解碼器接收到一次發(fā)送后,立即檢查序列號(hào)是否已被學(xué)習(xí),如果是,則進(jìn)行解碼過(guò)程。然后,由生成的密鑰對(duì)滾動(dòng)碼部分進(jìn)行解密,用鑒別位來(lái)判斷解密是否有效,如果以上通過(guò),則對(duì)同步值進(jìn)行判斷。同步值判斷通過(guò)后,接收到的按鍵值才輸出。
本系統(tǒng)中單片機(jī)控制部分可以檢測(cè)門(mén)的狀態(tài)并驅(qū)動(dòng)微功耗的電子鎖電磁繼電器,實(shí)現(xiàn)開(kāi)/關(guān)功能。結(jié)合盜警檢測(cè)、火警檢測(cè)等,就可以構(gòu)成一個(gè)完善的家用/辦公場(chǎng)所報(bào)警系統(tǒng)。
結(jié)語(yǔ)
通過(guò)結(jié)合多家外圍器件和微處理器件,整合利用KEELOQ芯片的安全性、Maxim射頻芯片的可靠性和PIC16C57單片機(jī)的性?xún)r(jià)比,通過(guò)實(shí)際運(yùn)行,系統(tǒng)達(dá)到了預(yù)先設(shè)計(jì)的要求。應(yīng)用KEELOQ 加密算法及非易失性的同步值, 使得所設(shè)計(jì)的系統(tǒng)具有極高的保密性, 可廣泛應(yīng)用于各種安全保密系統(tǒng),比如各種報(bào)警系統(tǒng)、防盜系統(tǒng)、住宅、辦公樓、汽車(chē)及車(chē)庫(kù)等門(mén)衛(wèi)管理系統(tǒng)。
參考文獻(xiàn):
1.李東星. PIC16C5X系列單片機(jī)應(yīng)用設(shè)計(jì)[M]. 北京: 電子工業(yè)出版社, 1996.
2.吳兆崇. 電腦滾碼遙控系統(tǒng)及在汽車(chē)上的應(yīng)用[J]. 汽車(chē)電器.1998(3):1-3.
3.www.maxim-ic.com;www.microchip.com.