文獻標識碼: B
文章編號: 0258-7998(2013)12-0052-03
隨著人們生活水平的提高和汽車工業(yè)的快速發(fā)展,汽車已經(jīng)走進千家萬戶。停車難、亂停車成了一個普遍且急需解決的社會問題。為保護好自己的車位不被他人占用,車位鎖非常必要。已有的車位鎖主要存在以下幾個問題:
(1)傳統(tǒng)的車位鎖大多是人工操作實現(xiàn)翻轉臂的起落,使用起來極不便利;
(2)利用紅外方式遙控,其對方向性要求高,不具有穿透性,使遙控距離和角度方面受到限制[1];
(3)在一些遙控車位鎖中,更多的是采用PT2262/2272、MC145026/145027等固定編解碼芯片進行加密和解密。但此類編解碼芯片的編碼長度有限,系統(tǒng)每次發(fā)送的數(shù)據(jù)格式固定不變,容易通過空中捕獲和掃描跟蹤的方法識別代碼,安全性得不到保障[2]。
基于上述考慮,本文設計了一個基于KEELOQ技術[3-4]的無線遙控車位鎖系統(tǒng)。無線遙控采用美國Microchip公司基于KEELOQ算法的系統(tǒng)滾動碼技術,使數(shù)據(jù)傳輸具有極高的保密性,每次傳輸?shù)拇a都是唯一的、不規(guī)則的,且不重復,以此來防止密碼破譯。同時,與無線射頻技術相結合,使用戶在一定范圍內(nèi)的任何位置都能對車位鎖進行控制,有效克服了上述系統(tǒng)的缺點。
1 系統(tǒng)總體結構
遙控車位鎖系統(tǒng)結構圖如圖1所示。用戶利用遙控器輸入功能按鍵,將信號經(jīng)編碼后通過無線射頻方式發(fā)送給無線接收模塊;MCU通過無線接收模塊監(jiān)測遠程用戶遙控器的按鍵操作,根據(jù)用戶的按鍵邏輯驅動電機對車位鎖進行上鎖或解鎖的操作,限位開關限制鎖上升或下降的高度。系統(tǒng)同時提供聲光報警電路,用于提示車位鎖的動作情況以及低電量等異常情況。
2 無線發(fā)射與接收模塊
無線發(fā)射模塊通過無線射頻技術在頻率為315 MHz的條件下實現(xiàn)點對點傳輸,具有發(fā)射功率低、穿透性強、信號傳輸抗干擾性好、成本低等優(yōu)點。無線接收電路主要由超外差接收模塊J05U來完成,相比超再生接收模塊,它在穩(wěn)定性方面具有優(yōu)勢。J05U是一款特小體積、超低功耗、高靈敏度的OOK/ASK超外差接收模塊,工作在315.0 MHz/433.92 MHz固定頻點,能有效地將射頻電路發(fā)射過來的信息進行解調后傳送給解碼器。
為降低車位編碼的重復率,提高遙控功能安全性,無線遙控過程采用KEELOQ滾動加密技術。KEELOQ滾動加密算法對功能信息、識別碼和同步計數(shù)值進行加密后,產(chǎn)生32 bit高度保密的滾動碼,并與34 bit固定碼一起形成66 bit的編碼信息。由于KEELOQ算法的復雜性以及同步計數(shù)值每次都要加1,使編碼信息每次都要發(fā)生變化,有效解決了編碼重碼的難題。若以每天傳輸10次代碼計算,可保證在KEELOQ技術下同一遙控器發(fā)送重復碼的概率18年不重復,以此來防止密碼破譯。解碼器需要“學習”編碼器的序列號、識別碼和同步計數(shù)值后,解碼器才能有效地解碼編碼信息[3-4]。
遙控器的KEELOQ編碼由HCS301發(fā)出,電路如圖2所示。它是一塊8引腳的編碼IC芯片,帶有4個按鍵接口,實現(xiàn)15 bit的功能/命令碼,內(nèi)置192 bit EEPROM。HCS301在使用之前,需利用芯片燒寫軟件KEELOQ Evaluation Kit設置好制造商代碼、序列號、識別碼以及波特率等參數(shù)信息,并燒寫到HCS301的EEPROM中。同時,解碼器的EEPROM中也需要存儲相同的制造商代碼、序列號和識別碼,使得編碼器與解碼器之間配對唯一。每當有按鍵按下時,HCS301會發(fā)送一組66 bit的編碼數(shù)據(jù),這時HCS301的LED端口會以5次/s的頻率輸出低電平,使指示燈閃爍,提示編碼信息發(fā)送。完整的編碼信息由PWM端(TX)輸出到射頻電路進行無線發(fā)射[3-4]。
3 主控制模塊
主控制模塊用于KEELOQ數(shù)據(jù)解碼和實現(xiàn)車位鎖動作的邏輯控制,系統(tǒng)控制電路圖如圖3所示。該模塊選用PIC16F630作為主控制器,外圍配備車位鎖驅動電機、限位開關和聲光報警電路。當超外差無線接收模塊接收到遠程用戶的按鍵后,由MCU解碼后獲取用戶的按鍵信息,根據(jù)按鍵功能,I/O口經(jīng)L298N H橋驅動電機工作,控制車位鎖撐桿的上升與下降。在電機工作過程中,PIC16F630通過限位開關實時判斷撐桿是否到達上限位或者下限位,并以蜂鳴器發(fā)單一長聲來提示動作到位。
本設計的供電系統(tǒng)由12 V、7 AH的蓄電池提供,采用高效率的開關電源芯片LM2596,將12 V電源轉換為5 V電壓給控制系統(tǒng)供電。為降低系統(tǒng)功耗, PIC16F630單片機定時處于SLEEP睡眠狀態(tài),每隔500 ms喚醒,喚醒后使能J05U的CE端口,啟動超外差無線接收模塊工作,檢查有無無線編碼進入,若無則單片機繼續(xù)進入SLEEP睡眠狀態(tài),CE置低電平,關閉無線接收模塊,從而有效減少了系統(tǒng)功耗。
電池電量主要通過CAT809T進行實時檢測,若電量不足則使CAT809T產(chǎn)生低電平信號,單片機檢測到該低電平信號時,控制蜂鳴器定時發(fā)兩次短促報警聲通知用戶。為實現(xiàn)電機過流保護,在L298N輸出與電機控制接口之間串聯(lián)0.5 Ω電阻,以實時檢測電機的工作電流。當過電流超過4 A,即在采樣電阻兩端產(chǎn)生壓降超過TTL高電平最低電壓2 V時,單片機通過I/O口檢測到該變化電平信息,馬上停止電機運轉,并進行聲光提示告知用戶。
4 系統(tǒng)工作流程
系統(tǒng)工作流程主要實現(xiàn)KEELOQ軟件解碼[4-5]、電路檢測和外圍電路控制功能。系統(tǒng)主程序流程圖如圖4所示。當單片機上電時,系統(tǒng)不斷執(zhí)行循環(huán)主程序,對電源電量以及電機電流進行檢測,并實時判斷是否有本地學習按鍵和遠程用戶遙控輸入。若接收到遠程用戶的按鍵輸入,則進行用戶信息的解碼過程,并對解碼后的按鍵值進行判斷,控制電機的正轉或反轉;若電機運轉超時則進行報警;若有學習按鍵按下,則執(zhí)行學習子程序。
在PIC16F630進行正確解碼之前,用戶需通過觸發(fā)接收電路的學習按鍵,使接收模塊獲取識別碼、序列號和同步計數(shù)值,并存儲在解碼器的EEPROM中供以后解密使用[6]。當接收端解密密匙(即制造商代碼)與發(fā)送方的一致時,即可對遙控器的發(fā)送命令進行正確解碼。其學習程序流程圖如圖5所示。
5 系統(tǒng)測試
經(jīng)測試,系統(tǒng)遙控距離可以達到30 m,系統(tǒng)從睡眠到喚醒的時間在0.5 s以內(nèi)。系統(tǒng)靜態(tài)電流(無機械動作)為0.022 A,動態(tài)電流(有機械動作)約為0.35 A,則一天的靜態(tài)損耗為0.022×12×24=6.336 W。動態(tài)損耗主要在控制電機正反轉時消耗,每次運轉時間約3 s,若每天升
參考文獻
[1] 胥萌,何廣軍,劉彬,等.基于單片機的智能遙控車位鎖研究[J].電腦知識與技術,2012,8(19):4712-4714.
[2] 趙春紅,楊勇.基于單片機和無線電遙控技術的密碼鎖設計[J].測控技術,2005,24(9):9-11,31.
[3] Microchip Technology Inc.HCS301 KEELOQ code hopping encoder(DS21143C)[EB/OL].(2011)[2013-08-06].http://www.microchip.com.
[4] Microchip Technology Inc.使用KEELOQ產(chǎn)生跳碼密碼(DS00665A_CN)[EB/OL].(2007)[2013-08-06].http://www.mirochip.com.
[5] 李榮正,王成杰,戴國銀.PIC單片機原理及應用(第四版)[M].北京:北京航空航天大學出版社,2010.
[6] 薛巨峰,喬鵬.基于KEELOQ技術的遙控門禁系統(tǒng)的實現(xiàn)[J].電子技術應用,2013,39(2):45-47.