基于PIC16C57的滾動(dòng)碼遙控安防系統
——
傳統上,用于單向傳輸的安防產(chǎn)品主要采用固定編碼集成電路,如PT2262、PT2272、AX5326、AX5327等編解碼芯片。但由于此類(lèi)編解碼芯片的編碼長(cháng)度有限,碼形格式固定不變,容易通過(guò)空中捕捉電波碼字和掃描跟蹤等方法破解。因此,此類(lèi)編解碼芯片只能用于一些對保密安全要求不高的場(chǎng)所。相比之下,Microchip公司推出的KEELOQ編碼系統編碼方式安全性大大提高。
KEELOQ技術(shù)是一種復雜的非線(xiàn)性加密算法,經(jīng)它加密后的碼稱(chēng)為滾動(dòng)碼,KEELOQ也是滾動(dòng)碼技術(shù)的專(zhuān)利代碼。KEELOQ編碼系統的編碼方式不是固定的,使數據傳輸具有極高的保密性,每次傳輸的代碼都是唯一、不規則且不重復的。解碼系統由PIC系列單片機構成,編解碼系統經(jīng)“學(xué)習”后,便構成一系統,編碼與解碼同步滾動(dòng),使得任何非法捕捉和掃描跟蹤等破譯手段都難以奏效?;谶@一原理,本文提出了一種基于PIC16C57的滾動(dòng)碼解碼安防系統的設計,主要包括遙控發(fā)射系統、遙控接收譯碼控制系統兩大部分。硬件系統結構圖見(jiàn)圖1。

系統主要由按鍵加密發(fā)送器和接收控制器組成。用戶(hù)可以按下按鍵開(kāi)關(guān)發(fā)起與接收機的通信,通過(guò)一串長(cháng)度為64~128位的數據流進(jìn)行發(fā)送器和接收器的會(huì )話(huà),該數據流包括前引導碼、命令碼和一串加密滾動(dòng)碼。
遙控發(fā)射系統
遙控發(fā)射器主要由滾碼發(fā)生電路和載波發(fā)射電路兩部分組成,如圖2所示。SO-S3是四路控制按鍵,LED為發(fā)射指示,滾動(dòng)編碼以串行方式通過(guò)PWM接口,再由發(fā)射電路發(fā)射出去。發(fā)射電路采用MAX1472射頻模塊,如圖3所示。
遙控接收解碼控制系統
在接收解碼控制系統中,需要有射頻接收電路(見(jiàn)圖4)和解碼控制系統(見(jiàn)圖5)兩部分。


在解碼控制系統中,單片機采用PIC16C57,片內有72單元的RAM,2K程序存貯器ROM,20個(gè)I/O接口,以及片內定時(shí)計數器和看門(mén)狗電路。在本設計中,由于使用的輸入輸出接口較多,需要進(jìn)行擴展。輸入擴展可采用單向驅動(dòng)器74LS244,輸出擴展可采用8D觸發(fā)器74LS273。在遙控接收電路中,采用與發(fā)射器配套的MAX1473。E2PROM可以選用任何容量的采用I2C總線(xiàn)協(xié)議的產(chǎn)品,以用作存貯滾動(dòng)編碼的“參考碼”。
為了使編碼器、解碼器一起工作,編碼器首先要被“學(xué)習”確認?!皩W(xué)習”時(shí),先按下PIC單片機解碼器下的“LAN”按鍵,并在規定時(shí)間內按下編碼器的任意按鍵2次。若在規定的時(shí)間內沒(méi)有接收到2次數據,或者有接收到2次數據,但數據經(jīng)校驗不正確,則認為學(xué)習失敗,應重新學(xué)習。若長(cháng)按“LAN”鍵超過(guò)8.2s,則解碼器將擦除全部的編碼器存儲值?!皩W(xué)習”成功后,解碼器將所學(xué)的序列號和同步值經(jīng)加密后存儲到E2PROM中。解碼器接收到一次發(fā)送后,立即檢查序列號是否已被學(xué)習,如果是,則進(jìn)行解碼過(guò)程。然后,由生成的密鑰對滾動(dòng)碼部分進(jìn)行解密,用鑒別位來(lái)判斷解密是否有效,如果以上通過(guò),則對同步值進(jìn)行判斷。同步值判斷通過(guò)后,接收到的按鍵值才輸出。
本系統中單片機控制部分可以檢測門(mén)的狀態(tài)并驅動(dòng)微功耗的電子鎖電磁繼電器,實(shí)現開(kāi)/關(guān)功能。結合盜警檢測、火警檢測等,就可以構成一個(gè)完善的家用/辦公場(chǎng)所報警系統。
結語(yǔ)
通過(guò)結合多家外圍器件和微處理器件,整合利用KEELOQ芯片的安全性、Maxim射頻芯片的可靠性和PIC16C57單片機的性?xún)r(jià)比,通過(guò)實(shí)際運行,系統達到了預先設計的要求。應用KEELOQ加密算法及非易失性的同步值,使得所沒(méi)計的系統具有極高的保密性,可廣泛應用于各種安全保密系統,比如各種報警系統、防盜系統、住宅、辦公樓、汽車(chē)及車(chē)庫等門(mén)衛管理系統。
評論