摘 要: 介紹了一種基于微芯公司PIC16F639和PIC18F4680單片機的汽車無鑰匙門禁系統(tǒng)的設計方案,。設計了應答器模塊的高頻發(fā)射與低頻接收電路,,基站模塊的高頻接收與低頻發(fā)射電路,并給出了應答器模塊的工作流程圖,。詳盡分析了Keeloq加密解密過程以及系統(tǒng)間的通信協(xié)議,。結果顯示,此設計方案能夠滿足實際應用中的各種通信要求,。
關鍵詞: 智能鑰匙,;被動無鑰匙門禁;Keeloq加密,;低頻喚醒
隨著汽車電子技術的不斷發(fā)展,,傳統(tǒng)的無線門禁系統(tǒng)已無法滿足廣大用戶的需求,。免持式被動無鑰匙門禁系統(tǒng)PKE(Passive Keyless Entry)正迅速成為汽車遠程無鑰匙門禁應用的主流,并成為新型汽車的普遍選擇,。在汽車裝配有PKE智能鑰匙系統(tǒng)的情況下,,車主只要靠近車輛或者碰一下車門,車門就能自動打開[1],。PKE智能鑰匙系統(tǒng)是汽車智能化,、信息化、電子化的體現(xiàn),,提高了整車的安全性,、可靠性、舒適性,,具有極佳的市場前景和巨大的潛在效益,。
1 系統(tǒng)硬件設計
1.1 PKE系統(tǒng)的工作原理
PKE智能鑰匙系統(tǒng)分為基站(車身)和應答器(鑰匙)兩部分,系統(tǒng)框圖如圖1所示,。這兩部分之間采取雙向通信,。該系統(tǒng)有兩種工作方式:第一種是車輛中的基站單元不停地發(fā)送一條編碼為125 kHz的低頻報文以搜尋并喚醒一定范圍內(nèi)的應答器。該信號范圍內(nèi)的所有應答器都能夠接收到該報文,,并對編碼的數(shù)據(jù)字段進行驗證,。一旦車主身上的應答器識別成功,它就會自動發(fā)送一條頻率為433.92 MHz的射頻Keeloq編碼報文,,基站單元在收到該報文后對其進行解碼,,如果識別成功,將控制指令執(zhí)行機構打開車門,。第二種工作方式中基站單元為了降低電流消耗并不會輪詢應答器,。基站單元一般處于休眠狀態(tài)或掉電狀態(tài),,只有當觸發(fā)事件發(fā)生時才能將其喚醒,,該觸發(fā)事件一般是汽車門把手上的紅外信號或者是由汽車門把手裝置激活的微動開關。在第二種工作方式下車主必須碰一下車門才能觸發(fā)系統(tǒng),,從而打開車門,。
1.2 應答器(鑰匙)模塊設計
應答器模塊由微控制器、高頻發(fā)射電路,、低頻接收電路和開關按鈕組成,,其電路圖如圖2所示。由于應答器模塊是車主隨身攜帶的,,所以該模塊必須以體積小,、功耗低為設計原則,同時必須具備一定的安全性,。根據(jù)以上特性,,微控制器選擇微芯公司的PIC16F639,。該芯片采用SSOP封裝,體積小,,內(nèi)置一個Keeloq加密模塊和一個3通道模擬前端,,可用于多種低頻檢測和雙向智能通信。
應答器模塊采用3 V紐扣電池供電,,采用內(nèi)部4 MHz時鐘,。在沒有低頻激勵的情況下,應答器模塊以標準RKE(Remote Key Entry)模式工作,,當接收到有效的低頻激勵報文時,,微控制器將如同按下一個虛擬按鍵一樣做出響應。4個按鍵(S1~S4)分別接到微控制器的PORT A口,,通過電平的變化喚醒休眠中的PIC16F639,,并觸發(fā)中斷,完成相應的上鎖,、解鎖,、報警等功能。當中斷程序完成以后,,PIC16F639將重新進入休眠模式,。二極管D1用來指示高頻信號的發(fā)射,高頻信號由引腳RC5發(fā)出的PWM經(jīng)過聲表面波諧振器產(chǎn)生[2],。
應答器對基站發(fā)送過來的低頻喚醒信號通過PIC16F639的3通道模擬前端實現(xiàn),。PIC16F639具有高達3 mVpp的模擬輸入靈敏度的3個天線連接引腳(LCX、LCY,、LCZ),。通過連接3個分別指向x軸、y軸,、z軸的天線,,應答器可以隨時接收來自任何方向的信號,從而降低由天線的方向性而造成信號丟失的可能性,。在此系統(tǒng)中,,3個方向天線采用PREMO公司專門為PIC16F639設計的集成天線模塊,該天線模塊體積小,、精度高,,電感值在出廠時已經(jīng)配置好,,只需要配合對應通道的電容便可使用,。對于免持式操作,由于應答器持續(xù)等待并檢測輸入信號,,產(chǎn)生電池預期壽命的問題,。為了減小工作電流,,可以對模擬前端內(nèi)置的輸出使能濾波器進行配置,設定報頭匹配序列,。當模擬前端搜尋信號時,,數(shù)字MCU部分可以進入休眠模式,只有在低頻輸入信號的報頭序列波形與濾波器所設定的吻合時,,才能喚醒數(shù)字MCU,。即當有效低頻信號通過內(nèi)部電路解調(diào)并在PORT C口RC3引腳上輸出LFDATA數(shù)字信號時,利用與RC3相連的PORT A口RA2引腳觸發(fā)中斷,,才能喚醒休眠中的數(shù)字MCU,。PIC16F639通過內(nèi)部SPI配置模擬前端。
應答器模塊的高頻發(fā)射電路如圖3所示,。聲表面波諧振器SAW與功率放大器Q1構成了一個開關鍵控高頻發(fā)射器,。L1作為高頻發(fā)射器的天線,一般通過PCB上的金屬走線形成,。系統(tǒng)需要發(fā)送的各種信息經(jīng)過Keeloq加密并PWM編碼后由RC5引腳輸出,,當輸出為高電平時驅動發(fā)射電路工作;當輸出為低電平時,,發(fā)射電路截止,。
1.3 基站(車身)模塊設計
基站模塊由微控制器、高頻接收電路,、低頻發(fā)射電路,、液晶顯示電路及總線傳輸電路組成?;灸K的微控制器采用微芯公司的PIC18F4680,,工作頻率為40 MHz。該芯片擁有64 KB的Flash存儲器,,1 KB的EEPROM存儲器及3.3 KB的SRAM存儲器,;還擁有1個SPI接口、1個I2C接口,、1個LIN接口及1個ECAN接口,,完全可以滿足與汽車控制器進行信息交換的要求,同時該芯片具有豐富的I/O資源,,為配置液晶屏提供了可能,,讓車主能夠及時了解基站模塊的工作情況。本文著重介紹高頻接收電路和低頻發(fā)射電路的設計,,其電路如圖4,、圖5所示。
高頻接收電路采用安陽市新世紀電子研究所的一款超再生接收模塊J04V。J04V是一款低功耗,、小體積接收模塊,,采用SMT工藝,性能穩(wěn)定,,具有較好的靈敏度及性價比,,可以廣泛應用于需要長期處于接收狀態(tài)的遙控報警及單片機數(shù)據(jù)傳輸系統(tǒng)。J04V的接收頻率為433.92 MHz,;工作電壓為3 V,,工作電流只有0.2 mA,功率極低,;外形尺寸為10 mm×23 mm,,并且不需要外接天線,能夠滿足本系統(tǒng)的設計要求,。超再生模塊J04V集成度高,,接線簡單,接收到的高頻數(shù)字信號通過OUT引腳直接傳送到PIC18F4680的RB4引腳,觸發(fā)中斷,,中斷程序進行解碼操作,,將編碼信號還原成原始數(shù)據(jù),從而通過總線控制相關指令執(zhí)行機構動作,。
低頻發(fā)射電路由一個TC4422功率放大器和一個LC串聯(lián)諧振電路組成,。在PKE系統(tǒng)中,低頻信號的發(fā)射和接收通過電磁感應進行通信,,當?shù)皖l功放驅動器的電流為500 mA左右時可以獲得較好的傳送距離,,而為了提高輸出回路品質因數(shù)Q,低頻功放驅動器的輸出阻抗必須在10 Ω以下,,因此選用TC4422功率放大器,。該電路可以產(chǎn)生一個基于PWM輸出的載波信號。TC4422放大來自微控制器的125 kHz低頻信號的功率,,通過由天線L1,、電容C2、C3,、C4組成的LC串聯(lián)諧振電路后,,低頻方波脈沖將變成正弦波[3]。當LC串聯(lián)諧振電路的諧振頻率與PWM信號的頻率一致時,,通過L1的負載電流最大,,從而產(chǎn)生很強的磁場,此時發(fā)送信號強度最大,。
2 系統(tǒng)軟件設計
2.1 Keeloq編碼的實現(xiàn)
Keeloq實際上是一個“ASIC”的特別設計,,內(nèi)含加密及解密技術,,適用于遙控或命令辨別的應用場合,如安全鎖,、車庫門遙控、秘密通信,、軟件保護等,。Keeloq加密算法其實是一種非線性的數(shù)學推算公式,當輸入數(shù)據(jù)經(jīng)過該算法加密后,,輸出數(shù)據(jù)對輸入數(shù)據(jù)而言就是唯一的,。Keeloq核心組成元件分別為制造商代碼、序號,、編碼密碼,。制造商代碼為由制造商決定的不可泄露的原始密碼,用來辨別不同制造商之間的產(chǎn)品,,并且應答器與基站的制造商代碼必須相同才能互相識別,。序號的作用是區(qū)別不同的應答器,每個應答器都有自己的一個序號,。在標準加密模式下,,編碼密碼是由制造商代碼與序號利用解碼算法共同產(chǎn)生的,用于產(chǎn)生跳碼,,儲存于微控制器的EEPROM中,。Keeloq編碼過程如圖6所示。
每當應答器的按鍵按下時,,PIC16F639便將一組66 bit的加密資料以PWM編碼的方式通過高頻發(fā)射器傳送出去,。這66 bit的加密資料包含34 bit的固定碼與32 bit的跳碼。其中34 bit的固定碼包括28 bit的序號,、4 bit的功能鍵以及2 bit的狀態(tài)位,。4 bit功能鍵表明了應答器中哪一個按鍵已被車主按下,而基站必須根據(jù)不同的功能鍵數(shù)值執(zhí)行相應的命令,。另外,,Keeloq編碼加密算法利用64 bit編碼密碼、16 bit同步計數(shù)值,、10 bit識別碼,、4 bit功能鍵、2 bit溢位指示通過非線性數(shù)學推算公式生成32 bit的跳碼[4],,而同步計數(shù)值在每一次按鍵按下以后將自動加1并存入EEPROM中,,這將使下次編碼加密時形成一組新的跳碼,大大提高了安全性,。
基站接收到66 bit的加密資料后,,首先檢查固定碼中的序號是否與存儲在EEROM中的序號是否一致,然后運行解密算法,得到識別碼,、同步計數(shù)值,、功能鍵、溢位,。PIC18F4680先將解碼后的識別碼與固定碼中序號的低10位進行比較,,看是否相等;然后比較解碼后的功能鍵數(shù)值與固定碼中的功能鍵數(shù)值,;最后判斷解碼后的同步計數(shù)值與EEPROM中的舊的同步計數(shù)值是否合理增加,。如果有一個步驟發(fā)生錯誤,微控制器則判定接收到的是一組不合法的資料,,不會進行下一步動作,。
2.2 通信協(xié)議
基站與應答器之間的通信采用PWM編碼方式進行半雙工通信。1個數(shù)據(jù)由3個位元組成,,位元周期Te一般取100 μs~400μs,,其格式如圖7所示。微控制器在接收PWM時通過前導資料的指引,,做好了接收數(shù)據(jù)的準備,。當同步導引過后,微控制器檢測到第一個上升沿時,,等待1/2Te時間后立即取樣并檢測是否為高電平1,,如果為0則接收資料失敗,然后延時一個Te時間后立即取樣作為資料位元,,再延時一個Te時間取樣并判斷,,如果為高電平1則接收資料失敗,最后等待下一個上升沿的到來,,如等待時間超過一個Te則接收資料失敗,。依此循環(huán),直到資料全部接受完畢,。高頻與低頻數(shù)據(jù)發(fā)送格式如圖8,、圖9所示。
2.3 流程圖
應答器工作流程圖如圖10所示,。
本文介紹了PKE智能鑰匙系統(tǒng)的總體設計方案,,給出了詳盡的硬件電路及軟件設計。實踐證明該系統(tǒng)體積小,、功耗低,、通信良好、安全性強,、應用市場廣闊,,有著很大的實用價值,。
參考文獻
[1] MUHAMMAD A M,ROLIN D M,,DANNY C.PIC技術寶典[M].北京:人民郵電出版社,,2008.
[2] Microchip Technology Inc.AN1024.PKE system design using the PIC16F639[Z].2006.
[3] Microchip Technology Inc.Passive keyless entry(PKE) reference design user’s manual[Z].2006.
[4] 石云.基于KEELOQ技術的車庫門禁系統(tǒng)[J].現(xiàn)代電子技術,2008(15):144-145.