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