1 引 言
隨著RF遙控器件的成本在逐年下降,電子式遙控開(kāi)鎖系統(tǒng)比機(jī)械式開(kāi)鎖系統(tǒng)更有成本優(yōu)勢(shì),從而導(dǎo)致該市場(chǎng)的進(jìn)一步擴(kuò)張,新的應(yīng)用也在不斷涌現(xiàn),車庫(kù)門禁系統(tǒng)是其中之一。傳統(tǒng)的安防產(chǎn)品主要采用固定編碼集成電路,如PT2262、PT2272等編解碼芯片。但由于此類編解碼芯片的編碼長(zhǎng)度有限,格式固定不變,十分易于在空中以捕捉電波碼字和掃描跟蹤等方法破解,只能用于一些對(duì)保密安全要求不高的場(chǎng)所。美國(guó)MICROCHIP公司的基于KEELOQ算法的系列滾動(dòng)碼編碼芯片則克服了以上系統(tǒng)的缺點(diǎn),已成功的應(yīng)用于各種安防產(chǎn)品中,如閘門、車庫(kù)、銀行、自動(dòng)防盜報(bào)警系統(tǒng)、身份識(shí)別、智能IC卡等領(lǐng)域。由于在傳輸代碼之前采用了先進(jìn)的非線性位加密技術(shù),產(chǎn)生具有極高保密性的滾動(dòng)編碼。每一次發(fā)送的代碼都是惟一的、不規(guī)則的、且不重復(fù),使得任何通過(guò)非法捕捉和掃描跟蹤等破譯手段都化為泡影。本文介紹了基于KEELOQ技術(shù)的HCS300芯片的編碼過(guò)程及基于PIC16C54的MCU解碼程序在車庫(kù)門禁系統(tǒng)中的應(yīng)用。
2 系統(tǒng)工作原理
車庫(kù)門禁系統(tǒng)的目的是實(shí)現(xiàn)遙控?zé)o匙門禁技術(shù)(RKE),使駕駛員可以通過(guò)遙控器的按鈕來(lái)開(kāi)關(guān)庫(kù)門,圖1為其原理結(jié)構(gòu)圖。系統(tǒng)由遙控編碼器及接收解碼器組成。其中遙控器由編碼芯片、發(fā)射電路組成,附加按鍵及電池,是袖珍發(fā)射裝置,可隨身攜帶;接收器由接收電路、解碼芯片、控制電路及執(zhí)行機(jī)構(gòu)組成,執(zhí)行機(jī)構(gòu)又包括門控電機(jī)、聲光報(bào)警等。下面分析系統(tǒng)各部分的設(shè)計(jì)及應(yīng)用。
3 HCS300工作原理
3.1 KEELOQ技術(shù)介紹
KEELOQ實(shí)際上是一個(gè)“ASIC”的特別設(shè)計(jì),內(nèi)含加密及解密技術(shù)。其核心在于KEELOQ演算法,即一種非線性的推算公式,當(dāng)輸入數(shù)據(jù)進(jìn)入這個(gè)算法時(shí),其輸出對(duì)輸入而言是惟一的(不重復(fù))結(jié)果。KEELOQ核心元件由三部分組成:制造商代碼(Manfacture's Code),長(zhǎng)度為64 b,由制造商自行決定此代碼,這是不可泄露的原始密碼,遙控器的制造商代碼必須與接收解碼器相同;序號(hào)(Serial Number),長(zhǎng)度為28 b,每一編碼IC或遙控器其序號(hào)均不相同,用來(lái)識(shí)別遙控器與接收器之間的關(guān)系,即使使用者同時(shí)有兩支遙控器來(lái)控制同一接收器,其序號(hào)也不相同;編碼密碼(Encryption Key),長(zhǎng)度為64 b,這是利用制造商代碼及序號(hào)產(chǎn)生64 b的編碼密碼,這64 b的編碼密碼會(huì)被燒錄在HCS300內(nèi)部的E2PROM,這64 b的編碼密碼是用來(lái)產(chǎn)生跳碼的密碼。
3.2 KEELOQ密碼編碼過(guò)程
根據(jù)上述編碼材料,用MICROCHIP提供的編碼工具KEELOQ TOOL V2.00即可生成編碼密碼,如圖2所示,然后寫入HCS300的E2PROM中。而每當(dāng)遙控器按鍵按下時(shí),就會(huì)讀取按鍵輸入并更新同步計(jì)數(shù)器,同步碼及密碼編碼等經(jīng)KEELOQ算法加密后,產(chǎn)生32 b高度保密的滾動(dòng)代碼。由于KEELOQ算法的復(fù)雜性和16 b同步碼每次傳輸時(shí)都要更新,故每次傳輸代碼都和上一次的代碼完全不同,因此這部分被稱為跳碼(HOPPING CODE)。這32 b的跳碼再結(jié)合序列號(hào)及按鍵信息構(gòu)成的34 b固定碼組成66 b發(fā)射信息,如圖3所示。
3.3 編碼器應(yīng)用電路
本設(shè)計(jì)采用MICROCHIP公司的HCS300做編碼芯片,HCS300內(nèi)部集成了KEEl,0Q算法,帶4個(gè)按鍵接口,有15種功能可供使用,使用很簡(jiǎn)單,只需添加發(fā)射電路即可。典型應(yīng)用電路如圖4所示。當(dāng)檢測(cè)有按鍵被按下時(shí),HCS300被喚醒。延時(shí)去抖后進(jìn)行加密運(yùn)算形成跳碼,而完整的編碼信息由PWM端輸出(TX)到射頻電路發(fā)射。
4 基于PIC16C54的解碼原理
對(duì)于跳碼編碼可用由MICROCHIP公司提供的專用解碼芯片(如HCS5XX)進(jìn)行硬件解碼,考慮到成本等因素,本系統(tǒng)采用單片機(jī)16C54進(jìn)行軟件解碼。系統(tǒng)電路如圖5所示。圖中RF接收器來(lái)接收遙控器發(fā)射的信號(hào),以PIC16C54進(jìn)行軟件解碼,產(chǎn)生S0~S3的控制信號(hào),以便對(duì)車庫(kù)門馬達(dá),照明燈具及報(bào)警系統(tǒng)進(jìn)行控制。
為了使發(fā)送器,接收器一起工作,發(fā)送器首先要被“學(xué)習(xí)”確認(rèn),“學(xué)習(xí)”確認(rèn)完成后,解碼器將所學(xué)的序列號(hào)和同步值經(jīng)加密后存儲(chǔ)到E2PROM中,解碼器需要工廠代碼(只有相同工廠代碼的發(fā)射器才能進(jìn)行學(xué)習(xí)),工廠代碼通常存儲(chǔ)到ROM中,以提高安全性。解碼器取得系列號(hào)之后先與工廠代碼結(jié)合產(chǎn)生與發(fā)射器相同的密鑰,并用這一密鑰進(jìn)行解密滾動(dòng)數(shù)據(jù)。解碼器接收到一次發(fā)送后,立即檢查序列號(hào)是否已被學(xué)習(xí),如果是,則進(jìn)行解碼過(guò)程,由生成的密鑰對(duì)滾動(dòng)碼部分進(jìn)行解密,用鑒別位來(lái)判斷解密否有效,如果以上通過(guò),則檢查同步計(jì)數(shù)器是否匹配,在確認(rèn)其匹配后,再去處理接收到的按鍵信號(hào)指令。解碼器的基本操作如圖6所示。圖中數(shù)字表示信息處理次序。
5 結(jié)語(yǔ)
該系統(tǒng)綜合運(yùn)用了微機(jī)控制技術(shù),無(wú)線傳輸技術(shù),數(shù)據(jù)加密技術(shù),設(shè)計(jì)了一種成本低廉,性能可靠,安全性高的車庫(kù)門禁系統(tǒng),得到了廣大車主的認(rèn)可。實(shí)際使用時(shí)還可通過(guò)增加硬件及軟件,提升系統(tǒng)功能,使其可以滿足更廣泛的要求。